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.10.3.ebuild62
-rw-r--r--dev-python/Babel/Babel-2.14.0.ebuild56
-rw-r--r--dev-python/Babel/Babel-2.15.0.ebuild55
-rw-r--r--dev-python/Babel/Manifest6
-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/DBUtils-3.0.2.ebuild28
-rw-r--r--dev-python/DBUtils/Manifest1
-rw-r--r--dev-python/DBUtils/metadata.xml26
-rw-r--r--dev-python/Faker/Faker-13.13.0.ebuild34
-rw-r--r--dev-python/Faker/Faker-13.14.0.ebuild34
-rw-r--r--dev-python/Faker/Faker-13.15.0.ebuild34
-rw-r--r--dev-python/Faker/Faker-13.15.1.ebuild34
-rw-r--r--dev-python/Faker/Faker-24.11.0.ebuild40
-rw-r--r--dev-python/Faker/Faker-24.14.1.ebuild43
-rw-r--r--dev-python/Faker/Faker-25.0.1.ebuild43
-rw-r--r--dev-python/Faker/Faker-25.1.0.ebuild43
-rw-r--r--dev-python/Faker/Manifest8
-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.27.ebuild79
-rw-r--r--dev-python/GitPython/GitPython-3.1.43.ebuild79
-rw-r--r--dev-python/GitPython/Manifest8
-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.25.1.ebuild48
-rw-r--r--dev-python/Levenshtein/Manifest1
-rw-r--r--dev-python/Levenshtein/metadata.xml12
-rw-r--r--dev-python/MechanicalSoup/Manifest2
-rw-r--r--dev-python/MechanicalSoup/MechanicalSoup-1.1.0-r1.ebuild48
-rw-r--r--dev-python/MechanicalSoup/MechanicalSoup-1.1.0.ebuild47
-rw-r--r--dev-python/MechanicalSoup/MechanicalSoup-1.3.0.ebuild49
-rw-r--r--dev-python/Nuitka/Manifest2
-rw-r--r--dev-python/Nuitka/Nuitka-2.2.1.ebuild52
-rw-r--r--dev-python/Nuitka/Nuitka-2.2.ebuild52
-rw-r--r--dev-python/Nuitka/metadata.xml (renamed from dev-python/nuitka/metadata.xml)0
-rw-r--r--dev-python/Opcodes/Manifest2
-rw-r--r--dev-python/Opcodes/Opcodes-0.3.14-r1.ebuild30
-rw-r--r--dev-python/Opcodes/Opcodes-0.3.14.ebuild27
-rw-r--r--dev-python/OutputCheck/Manifest1
-rw-r--r--dev-python/OutputCheck/OutputCheck-0.4.2-r2.ebuild38
-rw-r--r--dev-python/OutputCheck/files/OutputCheck-0.4.2-Driver.patch11
-rw-r--r--dev-python/OutputCheck/metadata.xml24
-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/PeachPy/metadata.xml1
-rw-r--r--dev-python/PyContracts/Manifest1
-rw-r--r--dev-python/PyContracts/PyContracts-1.8.14-r1.ebuild39
-rw-r--r--dev-python/PyContracts/files/PyContracts-1.8.14-fix-py3.10.patch150
-rw-r--r--dev-python/PyContracts/metadata.xml13
-rw-r--r--dev-python/PyGithub/Manifest2
-rw-r--r--dev-python/PyGithub/PyGithub-1.55-r1.ebuild33
-rw-r--r--dev-python/PyGithub/PyGithub-2.3.0.ebuild39
-rw-r--r--dev-python/PyPDF2/Manifest12
-rw-r--r--dev-python/PyPDF2/PyPDF2-2.10.0.ebuild131
-rw-r--r--dev-python/PyPDF2/PyPDF2-2.4.1.ebuild102
-rw-r--r--dev-python/PyPDF2/PyPDF2-2.4.2.ebuild112
-rw-r--r--dev-python/PyPDF2/PyPDF2-2.5.0.ebuild115
-rw-r--r--dev-python/PyPDF2/PyPDF2-2.6.0.ebuild117
-rw-r--r--dev-python/PyPDF2/PyPDF2-2.7.0.ebuild117
-rw-r--r--dev-python/PyPDF2/PyPDF2-2.8.0.ebuild123
-rw-r--r--dev-python/PyPDF2/PyPDF2-2.8.1.ebuild125
-rw-r--r--dev-python/PyPDF2/PyPDF2-2.9.0.ebuild130
-rw-r--r--dev-python/PyPDF2/metadata.xml12
-rw-r--r--dev-python/PyQt-builder/Manifest4
-rw-r--r--dev-python/PyQt-builder/PyQt-builder-1.12.2.ebuild37
-rw-r--r--dev-python/PyQt-builder/PyQt-builder-1.16.0.ebuild31
-rw-r--r--dev-python/PyQt-builder/PyQt-builder-1.16.1.ebuild30
-rw-r--r--dev-python/PyQt-builder/PyQt-builder-1.16.2.ebuild30
-rw-r--r--dev-python/PyQt-builder/metadata.xml9
-rw-r--r--dev-python/PyQt5-sip/Manifest2
-rw-r--r--dev-python/PyQt5-sip/PyQt5-sip-12.10.1.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/Manifest3
-rw-r--r--dev-python/PyQt5/PyQt5-5.15.10-r1.ebuild158
-rw-r--r--dev-python/PyQt5/PyQt5-5.15.4-r1.ebuild185
-rw-r--r--dev-python/PyQt5/PyQt5-5.15.6.ebuild183
-rw-r--r--dev-python/PyQt6-WebEngine/Manifest3
-rw-r--r--dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.3.1.ebuild63
-rw-r--r--dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.6.0.ebuild68
-rw-r--r--dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.7.0.ebuild69
-rw-r--r--dev-python/PyQt6-WebEngine/metadata.xml6
-rw-r--r--dev-python/PyQt6-sip/Manifest2
-rw-r--r--dev-python/PyQt6-sip/PyQt6-sip-13.4.0.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.3.1.ebuild148
-rw-r--r--dev-python/PyQt6/PyQt6-6.6.1.ebuild182
-rw-r--r--dev-python/PyQt6/PyQt6-6.7.0.ebuild178
-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/Manifest3
-rw-r--r--dev-python/PyQtWebEngine/PyQtWebEngine-5.15.4.ebuild74
-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/PyRSS2Gen/PyRSS2Gen-1.1-r2.ebuild4
-rw-r--r--dev-python/PySDL2/Manifest4
-rw-r--r--dev-python/PySDL2/PySDL2-0.9.11.ebuild60
-rw-r--r--dev-python/PySDL2/PySDL2-0.9.12.ebuild66
-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.ebuild19
-rw-r--r--dev-python/PySensors/PySensors-0.0.4.ebuild20
-rw-r--r--dev-python/PySocks/PySocks-1.7.1-r2.ebuild10
-rw-r--r--dev-python/PyUtilib/Manifest1
-rw-r--r--dev-python/PyUtilib/PyUtilib-6.0.0.ebuild49
-rw-r--r--dev-python/PyUtilib/files/PyUtilib-6.0.0-tests.patch12
-rw-r--r--dev-python/PyUtilib/metadata.xml15
-rw-r--r--dev-python/Pyro4/Manifest1
-rw-r--r--dev-python/Pyro4/Pyro4-4.82.ebuild55
-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.1.0-r3.ebuild141
-rw-r--r--dev-python/QtPy/QtPy-2.4.1-r1.ebuild240
-rw-r--r--dev-python/QtPy/metadata.xml10
-rw-r--r--dev-python/Rx/Manifest1
-rw-r--r--dev-python/Rx/Rx-3.2.0.ebuild32
-rw-r--r--dev-python/Rx/metadata.xml14
-rw-r--r--dev-python/SaltTesting/Manifest1
-rw-r--r--dev-python/SaltTesting/SaltTesting-2018.9.21.ebuild33
-rw-r--r--dev-python/SaltTesting/files/SaltTesting-2018.9.21-python37.patch21
-rw-r--r--dev-python/SaltTesting/metadata.xml11
-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.1.0.ebuild79
-rw-r--r--dev-python/absl-py/absl-py-1.2.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-r1.ebuild44
-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.ebuild170
-rw-r--r--dev-python/adblock/files/adblock-0.6.0-maturin-0.14.13.patch16
-rw-r--r--dev-python/aesara/Manifest7
-rw-r--r--dev-python/aesara/aesara-2.7.3.ebuild92
-rw-r--r--dev-python/aesara/aesara-2.7.5.ebuild92
-rw-r--r--dev-python/aesara/aesara-2.7.6.ebuild92
-rw-r--r--dev-python/aesara/aesara-2.7.7.ebuild95
-rw-r--r--dev-python/aesara/aesara-2.7.8.ebuild96
-rw-r--r--dev-python/aesara/aesara-2.7.9.ebuild96
-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-r1.ebuild27
-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-r1.ebuild27
-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-r1.ebuild33
-rw-r--r--dev-python/agate-sql/agate-sql-0.7.2.ebuild32
-rw-r--r--dev-python/agate/Manifest3
-rw-r--r--dev-python/agate/agate-1.10.1.ebuild45
-rw-r--r--dev-python/agate/agate-1.10.2.ebuild45
-rw-r--r--dev-python/agate/agate-1.6.3-r2.ebuild42
-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/Manifest2
-rw-r--r--dev-python/aiodns/aiodns-3.0.0-r1.ebuild31
-rw-r--r--dev-python/aiodns/aiodns-3.0.0.ebuild31
-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-0.8.0-r1.ebuild25
-rw-r--r--dev-python/aiofiles/aiofiles-23.2.1.ebuild27
-rw-r--r--dev-python/aiofiles/metadata.xml8
-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-cors/metadata.xml9
-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.1-r1.ebuild126
-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.ebuild23
-rw-r--r--dev-python/aiopylgtv/files/aiopylgtv-0.4.1-ssl.patch124
-rw-r--r--dev-python/aioredis/Manifest1
-rw-r--r--dev-python/aioredis/aioredis-2.0.1.ebuild56
-rw-r--r--dev-python/aioredis/metadata.xml17
-rw-r--r--dev-python/aioresponses/Manifest2
-rw-r--r--dev-python/aioresponses/aioresponses-0.7.3-r1.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/Manifest2
-rw-r--r--dev-python/aiosignal/aiosignal-1.2.0-r1.ebuild34
-rw-r--r--dev-python/aiosignal/aiosignal-1.3.1.ebuild39
-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/Manifest1
-rw-r--r--dev-python/aiostream/aiostream-0.5.2.ebuild40
-rw-r--r--dev-python/aiostream/metadata.xml13
-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.ebuild9
-rw-r--r--dev-python/alabaster/Manifest2
-rw-r--r--dev-python/alabaster/alabaster-0.7.12-r1.ebuild17
-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/Manifest3
-rw-r--r--dev-python/alembic/alembic-1.13.1.ebuild52
-rw-r--r--dev-python/alembic/alembic-1.8.0.ebuild36
-rw-r--r--dev-python/alembic/alembic-1.8.1.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.0.ebuild19
-rw-r--r--dev-python/allpairspy/allpairspy-2.5.1.ebuild21
-rw-r--r--dev-python/ament_package/Manifest1
-rw-r--r--dev-python/ament_package/ament_package-0.14.0-r1.ebuild21
-rw-r--r--dev-python/ament_package/ament_package-0.14.0.ebuild20
-rw-r--r--dev-python/ament_package/metadata.xml11
-rw-r--r--dev-python/amodem/Manifest2
-rw-r--r--dev-python/amodem/amodem-1.15.3-r1.ebuild28
-rw-r--r--dev-python/amodem/amodem-1.15.3.ebuild27
-rw-r--r--dev-python/amodem/amodem-1.15.4.ebuild30
-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.ebuild12
-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/Manifest3
-rw-r--r--dev-python/ansi2html/ansi2html-1.7.0.ebuild51
-rw-r--r--dev-python/ansi2html/ansi2html-1.8.0-r1.ebuild32
-rw-r--r--dev-python/ansi2html/ansi2html-1.8.0.ebuild41
-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.1.0.ebuild62
-rw-r--r--dev-python/ansible-compat/ansible-compat-2.2.0.ebuild63
-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-1.4.9.ebuild38
-rw-r--r--dev-python/ansible-runner/metadata.xml24
-rw-r--r--dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild6
-rw-r--r--dev-python/ansicolor/ansicolor-9999.ebuild4
-rw-r--r--dev-python/antlr4-python3-runtime/Manifest2
-rw-r--r--dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.10.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-r1.ebuild62
-rw-r--r--dev-python/anyio/anyio-4.3.0.ebuild61
-rw-r--r--dev-python/anyqt/Manifest2
-rw-r--r--dev-python/anyqt/anyqt-0.1.1.ebuild58
-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/Manifest5
-rw-r--r--dev-python/apispec/apispec-5.2.2.ebuild45
-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/apispec/apispec-6.6.1.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/Manifest1
-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/Manifest3
-rw-r--r--dev-python/apsw/apsw-3.38.5_p1-r1.ebuild54
-rw-r--r--dev-python/apsw/apsw-3.39.2.0.ebuild50
-rw-r--r--dev-python/apsw/apsw-3.45.3.0.ebuild51
-rw-r--r--dev-python/apsw/files/apsw-3.6.20.1-fix_tests.patch11
-rw-r--r--dev-python/argcomplete/Manifest2
-rw-r--r--dev-python/argcomplete/argcomplete-2.0.0-r1.ebuild48
-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.ebuild13
-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-3.ebuild28
-rw-r--r--dev-python/argparse-manpage/argparse-manpage-4.5.ebuild41
-rw-r--r--dev-python/arrow/Manifest2
-rw-r--r--dev-python/arrow/arrow-1.2.2.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/Manifest2
-rw-r--r--dev-python/asgiref/asgiref-3.5.2.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.27.ebuild31
-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.ebuild18
-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.11.6.ebuild59
-rw-r--r--dev-python/astroid/astroid-2.12.0.ebuild59
-rw-r--r--dev-python/astroid/astroid-2.12.1.ebuild59
-rw-r--r--dev-python/astroid/astroid-2.12.2.ebuild59
-rw-r--r--dev-python/astroid/astroid-3.1.0.ebuild73
-rw-r--r--dev-python/astroid/astroid-3.2.0.ebuild74
-rw-r--r--dev-python/astroid/metadata.xml2
-rw-r--r--dev-python/asttokens/Manifest2
-rw-r--r--dev-python/asttokens/asttokens-2.0.5.ebuild36
-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.0.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/Manifest3
-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-23.2.0.ebuild44
-rw-r--r--dev-python/attrs/files/attrs-23.2.0-py313.patch93
-rw-r--r--dev-python/attrs/files/attrs-23.2.0-pytest-8.patch44
-rw-r--r--dev-python/attrs/metadata.xml1
-rw-r--r--dev-python/audioread/Manifest2
-rw-r--r--dev-python/audioread/audioread-2.1.9-r1.ebuild41
-rw-r--r--dev-python/audioread/audioread-3.0.1.ebuild41
-rw-r--r--dev-python/audioread/metadata.xml2
-rw-r--r--dev-python/authres/authres-1.2.0-r1.ebuild7
-rw-r--r--dev-python/autobahn/Manifest4
-rw-r--r--dev-python/autobahn/autobahn-22.5.1-r1.ebuild117
-rw-r--r--dev-python/autobahn/autobahn-22.6.1.ebuild117
-rw-r--r--dev-python/autobahn/autobahn-22.7.1.ebuild117
-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/Manifest2
-rw-r--r--dev-python/autocommand/autocommand-2.2.1_p20211118.ebuild26
-rw-r--r--dev-python/autocommand/autocommand-2.2.2.ebuild29
-rw-r--r--dev-python/autocommand/files/autocommand-2.2.2-setuptools-license.patch26
-rw-r--r--dev-python/automat/Manifest2
-rw-r--r--dev-python/automat/automat-20.2.0-r1.ebuild61
-rw-r--r--dev-python/automat/automat-22.10.0.ebuild51
-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/Manifest2
-rw-r--r--dev-python/autopep8/autopep8-1.6.0.ebuild28
-rw-r--r--dev-python/autopep8/autopep8-2.1.0.ebuild29
-rw-r--r--dev-python/autopep8/autopep8-9999.ebuild22
-rw-r--r--dev-python/autoprop/autoprop-4.1.0.ebuild11
-rw-r--r--dev-python/aws-sam-translator/Manifest6
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.46.0.ebuild60
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.47.0.ebuild60
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.48.0.ebuild60
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.49.0.ebuild59
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.87.0.ebuild62
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.88.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.10.0.ebuild79
-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/Manifest4
-rw-r--r--dev-python/awxkit/awxkit-21.1.0.ebuild40
-rw-r--r--dev-python/awxkit/awxkit-21.2.0.ebuild40
-rw-r--r--dev-python/awxkit/awxkit-21.3.0.ebuild40
-rw-r--r--dev-python/awxkit/awxkit-21.4.0.ebuild41
-rw-r--r--dev-python/awxkit/metadata.xml17
-rw-r--r--dev-python/babelfish/Manifest1
-rw-r--r--dev-python/babelfish/babelfish-0.6.0-r2.ebuild6
-rw-r--r--dev-python/babelfish/babelfish-0.6.1.ebuild25
-rw-r--r--dev-python/babelfish/babelfish-9999.ebuild4
-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/Manifest2
-rw-r--r--dev-python/backoff/backoff-2.1.2.ebuild35
-rw-r--r--dev-python/backoff/backoff-2.2.1.ebuild35
-rw-r--r--dev-python/backports-tarfile/Manifest1
-rw-r--r--dev-python/backports-tarfile/backports-tarfile-1.1.1.ebuild47
-rw-r--r--dev-python/backports-tarfile/metadata.xml12
-rw-r--r--dev-python/backports-tempfile/Manifest1
-rw-r--r--dev-python/backports-tempfile/backports-tempfile-1.0-r1.ebuild43
-rw-r--r--dev-python/backports-tempfile/metadata.xml13
-rw-r--r--dev-python/backports-weakref/Manifest1
-rw-r--r--dev-python/backports-weakref/backports-weakref-1.0_p1-r1.ebuild39
-rw-r--r--dev-python/backports-weakref/metadata.xml13
-rw-r--r--dev-python/backports-zoneinfo/Manifest1
-rw-r--r--dev-python/backports-zoneinfo/backports-zoneinfo-0.2.1-r2.ebuild56
-rw-r--r--dev-python/backports-zoneinfo/files/backports-zoneinfo-0.2.1-py38.patch22
-rw-r--r--dev-python/backports-zoneinfo/metadata.xml10
-rw-r--r--dev-python/backrefs/Manifest2
-rw-r--r--dev-python/backrefs/backrefs-5.3.ebuild55
-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.ebuild37
-rw-r--r--dev-python/bandit/bandit-1.7.8.ebuild44
-rw-r--r--dev-python/bandit/metadata.xml4
-rw-r--r--dev-python/bareos/Manifest4
-rw-r--r--dev-python/bareos/bareos-21.1.2.ebuild17
-rw-r--r--dev-python/bareos/bareos-22.1.2.ebuild18
-rw-r--r--dev-python/bareos/bareos-22.1.4.ebuild18
-rw-r--r--dev-python/bareos/bareos-23.0.2.ebuild18
-rw-r--r--dev-python/bashate/Manifest2
-rw-r--r--dev-python/bashate/bashate-2.1.0-r1.ebuild26
-rw-r--r--dev-python/bashate/bashate-2.1.1.ebuild25
-rw-r--r--dev-python/bashate/metadata.xml1
-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/Manifest93
-rw-r--r--dev-python/bcrypt/bcrypt-3.2.2.ebuild28
-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/bcrypt/bcrypt-4.1.3.ebuild97
-rw-r--r--dev-python/beagle/beagle-0.3.0-r1.ebuild25
-rw-r--r--dev-python/beagle/beagle-0.3.0.ebuild25
-rw-r--r--dev-python/beartype/Manifest1
-rw-r--r--dev-python/beartype/beartype-0.18.5.ebuild40
-rw-r--r--dev-python/beartype/metadata.xml13
-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.ebuild23
-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/bert/Manifest1
-rw-r--r--dev-python/bert/bert-2.2.0-r1.ebuild21
-rw-r--r--dev-python/bert/files/bert-2.0.0-remove-basestring-fix.patch11
-rw-r--r--dev-python/bert/metadata.xml12
-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/Manifest3
-rw-r--r--dev-python/bibtexparser/bibtexparser-1.2.0-r2.ebuild39
-rw-r--r--dev-python/bibtexparser/bibtexparser-1.3.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/Manifest3
-rw-r--r--dev-python/bitarray/bitarray-2.5.1.ebuild24
-rw-r--r--dev-python/bitarray/bitarray-2.6.0.ebuild24
-rw-r--r--dev-python/bitarray/bitarray-2.9.2.ebuild24
-rw-r--r--dev-python/bitarray/metadata.xml20
-rw-r--r--dev-python/bitstring/Manifest3
-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/bitstring/bitstring-4.2.1-r1.ebuild32
-rw-r--r--dev-python/black/Manifest7
-rw-r--r--dev-python/black/black-22.1.0.ebuild49
-rw-r--r--dev-python/black/black-22.3.0.ebuild49
-rw-r--r--dev-python/black/black-22.6.0.ebuild53
-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/black/black-24.4.1.ebuild48
-rw-r--r--dev-python/black/black-24.4.2.ebuild48
-rw-r--r--dev-python/black/metadata.xml1
-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/Manifest2
-rw-r--r--dev-python/bleach/bleach-5.0.1.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/bleach/files/bleach-6.0.0-py39.patch48
-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/blessings/Manifest1
-rw-r--r--dev-python/blessings/blessings-1.7-r1.ebuild29
-rw-r--r--dev-python/blessings/metadata.xml13
-rw-r--r--dev-python/blinker/Manifest6
-rw-r--r--dev-python/blinker/blinker-1.4-r3.ebuild34
-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/blinker-1.8.0.ebuild32
-rw-r--r--dev-python/blinker/blinker-1.8.1.ebuild32
-rw-r--r--dev-python/blinker/blinker-1.8.2.ebuild32
-rw-r--r--dev-python/blinker/files/blinker-1.4-pytest.patch31
-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.1.ebuild55
-rw-r--r--dev-python/bluelet/bluelet-0.2.0-r1.ebuild4
-rw-r--r--dev-python/blurb/blurb-1.1.0.ebuild14
-rw-r--r--dev-python/blurb/metadata.xml1
-rw-r--r--dev-python/boltons/Manifest2
-rw-r--r--dev-python/boltons/boltons-21.0.0-r1.ebuild37
-rw-r--r--dev-python/boltons/boltons-24.0.0.ebuild27
-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.ebuild6
-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-r4.ebuild61
-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/Manifest9
-rw-r--r--dev-python/boto3/boto3-1.24.36.ebuild68
-rw-r--r--dev-python/boto3/boto3-1.24.41.ebuild68
-rw-r--r--dev-python/boto3/boto3-1.24.46.ebuild68
-rw-r--r--dev-python/boto3/boto3-1.34.100.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.34.101.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.34.88.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.34.93.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.34.98.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.34.99.ebuild53
-rw-r--r--dev-python/boto3/boto3-9999.ebuild68
-rw-r--r--dev-python/botocore/Manifest9
-rw-r--r--dev-python/botocore/botocore-1.27.36.ebuild69
-rw-r--r--dev-python/botocore/botocore-1.27.41.ebuild69
-rw-r--r--dev-python/botocore/botocore-1.27.46.ebuild69
-rw-r--r--dev-python/botocore/botocore-1.34.100.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.34.101.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.34.88.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.34.93.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.34.98.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.34.99.ebuild67
-rw-r--r--dev-python/botocore/botocore-9999.ebuild69
-rw-r--r--dev-python/bottle/Manifest3
-rw-r--r--dev-python/bottle/bottle-0.12.21.ebuild55
-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.19-py311.patch45
-rw-r--r--dev-python/bottle/files/bottle-0.12.25-py312.patch35
-rw-r--r--dev-python/bottle/files/bottle-0.12.8-py3.5-backport.patch36
-rw-r--r--dev-python/bottle/metadata.xml17
-rw-r--r--dev-python/bottleneck/Manifest2
-rw-r--r--dev-python/bottleneck/bottleneck-1.3.5.ebuild37
-rw-r--r--dev-python/bottleneck/bottleneck-1.3.8.ebuild43
-rw-r--r--dev-python/bpython/Manifest2
-rw-r--r--dev-python/bpython/bpython-0.22.1.ebuild39
-rw-r--r--dev-python/bpython/bpython-0.24.ebuild43
-rw-r--r--dev-python/bpython/metadata.xml2
-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/Manifest5
-rw-r--r--dev-python/braintree/braintree-4.15.2.ebuild35
-rw-r--r--dev-python/braintree/braintree-4.16.0.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.ebuild36
-rw-r--r--dev-python/breathe/breathe-4.35.0-r1.ebuild42
-rw-r--r--dev-python/breathe/files/breathe-4.35.0-sphinx-7.2.patch40
-rw-r--r--dev-python/breathe/metadata.xml2
-rw-r--r--dev-python/brotlicffi/Manifest5
-rw-r--r--dev-python/brotlicffi/brotlicffi-1.0.9.2-r1.ebuild61
-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/Manifest3
-rw-r--r--dev-python/brython/brython-3.10.5.ebuild4
-rw-r--r--dev-python/brython/brython-3.11.2.ebuild41
-rw-r--r--dev-python/brython/brython-3.11.ebuild41
-rw-r--r--dev-python/brython/brython-3.9.0.ebuild38
-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/Manifest2
-rw-r--r--dev-python/btrfs/btrfs-13.ebuild39
-rw-r--r--dev-python/btrfs/btrfs-14.1.ebuild30
-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/Manifest3
-rw-r--r--dev-python/build/build-0.8.0.ebuild68
-rw-r--r--dev-python/build/build-1.1.1.ebuild60
-rw-r--r--dev-python/build/build-1.2.1.ebuild85
-rw-r--r--dev-python/cachecontrol/Manifest2
-rw-r--r--dev-python/cachecontrol/cachecontrol-0.12.11.ebuild37
-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.ebuild8
-rw-r--r--dev-python/cachelib/Manifest2
-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/Manifest2
-rw-r--r--dev-python/cachetools/cachetools-5.2.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.6.1.ebuild51
-rw-r--r--dev-python/cairocffi/cairocffi-1.7.0.ebuild51
-rw-r--r--dev-python/caldav/Manifest2
-rw-r--r--dev-python/caldav/caldav-0.9.1.ebuild42
-rw-r--r--dev-python/caldav/caldav-1.3.9.ebuild34
-rw-r--r--dev-python/calver/Manifest1
-rw-r--r--dev-python/calver/calver-2021.7.30.ebuild42
-rw-r--r--dev-python/calver/calver-2022.06.26.ebuild6
-rw-r--r--dev-python/cangjie/cangjie-1.3-r1.ebuild4
-rw-r--r--dev-python/canonicaljson/Manifest2
-rw-r--r--dev-python/canonicaljson/canonicaljson-1.6.2.ebuild26
-rw-r--r--dev-python/canonicaljson/canonicaljson-2.0.0.ebuild21
-rw-r--r--dev-python/canonicaljson/metadata.xml9
-rw-r--r--dev-python/capturer/capturer-3.0-r1.ebuild26
-rw-r--r--dev-python/capturer/capturer-3.0.ebuild27
-rw-r--r--dev-python/carbon/carbon-1.1.10.ebuild7
-rw-r--r--dev-python/case/Manifest1
-rw-r--r--dev-python/case/case-1.5.3.ebuild21
-rw-r--r--dev-python/case/metadata.xml11
-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/catkin_pkg/Manifest2
-rw-r--r--dev-python/catkin_pkg/catkin_pkg-0.4.24.ebuild46
-rw-r--r--dev-python/catkin_pkg/catkin_pkg-0.5.2.ebuild45
-rw-r--r--dev-python/catkin_pkg/catkin_pkg-9999.ebuild45
-rw-r--r--dev-python/catkin_pkg/files/catkin_prefix2.patch30
-rw-r--r--dev-python/catkin_pkg/files/infinite_loop4.patch27
-rw-r--r--dev-python/catkin_pkg/files/infinite_loop5.patch27
-rw-r--r--dev-python/catkin_pkg/files/ros_packages.patch13
-rw-r--r--dev-python/catkin_pkg/files/summary_single_line.patch19
-rw-r--r--dev-python/catkin_pkg/metadata.xml12
-rw-r--r--dev-python/cattrs/Manifest2
-rw-r--r--dev-python/cattrs/cattrs-22.1.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/Manifest2
-rw-r--r--dev-python/cbor2/cbor2-5.4.3.ebuild33
-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.ebuild28
-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/Manifest2
-rw-r--r--dev-python/certifi/certifi-3021.3.16-r2.ebuild51
-rw-r--r--dev-python/certifi/certifi-3021.3.16-r4.ebuild54
-rw-r--r--dev-python/certifi/files/certifi-3021.3.16-use-importlib.patch164
-rw-r--r--dev-python/cffi/Manifest3
-rw-r--r--dev-python/cffi/cffi-1.15.0-r1.ebuild72
-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/Manifest7
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.61.1.ebuild54
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.61.2.ebuild54
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.61.3.ebuild54
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.61.4.ebuild54
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.86.4.ebuild64
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.87.1.ebuild64
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.87.2.ebuild64
-rw-r--r--dev-python/cftime/Manifest3
-rw-r--r--dev-python/cftime/cftime-1.6.0.ebuild29
-rw-r--r--dev-python/cftime/cftime-1.6.1.ebuild29
-rw-r--r--dev-python/cftime/cftime-1.6.3.ebuild39
-rw-r--r--dev-python/cgroup-utils/cgroup-utils-0.8-r1.ebuild4
-rw-r--r--dev-python/cgroup-utils/metadata.xml4
-rw-r--r--dev-python/chainstream/Manifest1
-rw-r--r--dev-python/chainstream/chainstream-1.0.1.ebuild25
-rw-r--r--dev-python/chainstream/metadata.xml11
-rw-r--r--dev-python/chameleon/Manifest2
-rw-r--r--dev-python/chameleon/chameleon-3.10.1.ebuild30
-rw-r--r--dev-python/chameleon/chameleon-4.5.4.ebuild23
-rw-r--r--dev-python/characteristic/characteristic-14.3.0-r4.ebuild7
-rw-r--r--dev-python/chardet/Manifest2
-rw-r--r--dev-python/chardet/chardet-5.0.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-2.1.0.ebuild36
-rw-r--r--dev-python/chart-studio/Manifest2
-rw-r--r--dev-python/chart-studio/chart-studio-1.1.0-r2.ebuild55
-rw-r--r--dev-python/chart-studio/chart-studio-1.1.0.ebuild23
-rw-r--r--dev-python/check-manifest/Manifest1
-rw-r--r--dev-python/check-manifest/check-manifest-0.48.ebuild37
-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.1.ebuild90
-rw-r--r--dev-python/cheroot/cheroot-8.6.0-r1.ebuild77
-rw-r--r--dev-python/cheroot/files/cheroot-8.6.0-remove-pypytools-dep.patch74
-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.ebuild7
-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.ebuild4
-rw-r--r--dev-python/clang-python/Manifest15
-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-15.0.0.9999.ebuild47
-rw-r--r--dev-python/clang-python/clang-python-15.0.7.ebuild54
-rw-r--r--dev-python/clang-python/clang-python-16.0.0.9999.ebuild47
-rw-r--r--dev-python/clang-python/clang-python-16.0.6.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.4.ebuild54
-rw-r--r--dev-python/clang-python/clang-python-18.1.5.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_pre20240427.ebuild53
-rw-r--r--dev-python/clang-python/clang-python-19.0.0_pre20240504.ebuild53
-rw-r--r--dev-python/cleo/Manifest2
-rw-r--r--dev-python/cleo/cleo-0.8.1.ebuild25
-rw-r--r--dev-python/cleo/cleo-2.1.0.ebuild57
-rw-r--r--dev-python/cleo/metadata.xml8
-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.2.1.ebuild25
-rw-r--r--dev-python/cli_helpers/cli_helpers-9999.ebuild25
-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/Manifest2
-rw-r--r--dev-python/click-didyoumean/click-didyoumean-0.3.0.ebuild29
-rw-r--r--dev-python/click-didyoumean/click-didyoumean-0.3.1.ebuild29
-rw-r--r--dev-python/click-didyoumean/metadata.xml13
-rw-r--r--dev-python/click-help-colors/Manifest2
-rw-r--r--dev-python/click-help-colors/click-help-colors-0.9.1.ebuild27
-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.ebuild8
-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.ebuild4
-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-3.10.1.ebuild41
-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/Manifest2
-rw-r--r--dev-python/clikit/clikit-0.6.2-r1.ebuild43
-rw-r--r--dev-python/clikit/clikit-0.6.2.ebuild35
-rw-r--r--dev-python/clikit/metadata.xml6
-rw-r--r--dev-python/clint/Manifest2
-rw-r--r--dev-python/clint/clint-0.5.1-r3.ebuild33
-rw-r--r--dev-python/clint/clint-0.5.1-r4.ebuild37
-rw-r--r--dev-python/clint/metadata.xml1
-rw-r--r--dev-python/cloudpickle/Manifest2
-rw-r--r--dev-python/cloudpickle/cloudpickle-2.1.0.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.60.ebuild40
-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/Manifest3
-rw-r--r--dev-python/cmd2/cmd2-2.4.1.ebuild64
-rw-r--r--dev-python/cmd2/cmd2-2.4.2.ebuild60
-rw-r--r--dev-python/cmd2/cmd2-2.4.3.ebuild59
-rw-r--r--dev-python/cmd2/files/cmd2-2.4.1-py311.patch26
-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/Manifest2
-rw-r--r--dev-python/colorama/colorama-0.4.5.ebuild50
-rw-r--r--dev-python/colorama/colorama-0.4.6.ebuild44
-rw-r--r--dev-python/colorclass/colorclass-2.2.2-r1.ebuild6
-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.ebuild44
-rw-r--r--dev-python/coloredlogs/coloredlogs-15.0.1.ebuild43
-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.6.0-r1.ebuild18
-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/Manifest1
-rw-r--r--dev-python/colour/colour-0.1.5-r1.ebuild41
-rw-r--r--dev-python/colour/metadata.xml28
-rw-r--r--dev-python/comm/Manifest1
-rw-r--r--dev-python/comm/comm-0.2.2.ebuild30
-rw-r--r--dev-python/comm/metadata.xml13
-rw-r--r--dev-python/commentjson/commentjson-0.9.0-r1.ebuild39
-rw-r--r--dev-python/commentjson/commentjson-0.9.0-r2.ebuild6
-rw-r--r--dev-python/commentjson/metadata.xml1
-rw-r--r--dev-python/commonmark/commonmark-0.9.1-r1.ebuild7
-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/Manifest2
-rw-r--r--dev-python/configobj/configobj-5.0.6-r2.ebuild23
-rw-r--r--dev-python/configobj/configobj-5.0.8.ebuild29
-rw-r--r--dev-python/configobj/files/configobj-5.0.6-fix-py2-tests.patch40
-rw-r--r--dev-python/configobj/metadata.xml2
-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/Manifest3
-rw-r--r--dev-python/configupdater/configupdater-3.1.1.ebuild32
-rw-r--r--dev-python/configupdater/configupdater-3.1.ebuild32
-rw-r--r--dev-python/configupdater/configupdater-3.2.ebuild36
-rw-r--r--dev-python/configupdater/metadata.xml1
-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/Manifest3
-rw-r--r--dev-python/confuse/confuse-1.7.0-r1.ebuild25
-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/Manifest2
-rw-r--r--dev-python/consonance/consonance-0.1.5-r1.ebuild8
-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/Manifest2
-rw-r--r--dev-python/contourpy/contourpy-1.2.0.ebuild57
-rw-r--r--dev-python/contourpy/contourpy-1.2.1.ebuild52
-rw-r--r--dev-python/contourpy/files/contourpy-1.2.0-unicore.patch83
-rw-r--r--dev-python/contourpy/metadata.xml12
-rw-r--r--dev-python/conway-polynomials/Manifest2
-rw-r--r--dev-python/conway-polynomials/conway-polynomials-0.10.ebuild21
-rw-r--r--dev-python/conway-polynomials/conway-polynomials-0.9.ebuild22
-rw-r--r--dev-python/conway-polynomials/metadata.xml27
-rw-r--r--dev-python/cookies/cookies-2.2.1-r2.ebuild7
-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.xml11
-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/Manifest6
-rw-r--r--dev-python/coverage/coverage-6.4.1.ebuild68
-rw-r--r--dev-python/coverage/coverage-6.4.2.ebuild68
-rw-r--r--dev-python/coverage/coverage-6.4.3.ebuild68
-rw-r--r--dev-python/coverage/coverage-7.4.4.ebuild98
-rw-r--r--dev-python/coverage/coverage-7.5.0.ebuild98
-rw-r--r--dev-python/coverage/coverage-7.5.1.ebuild98
-rw-r--r--dev-python/coverage/metadata.xml1
-rw-r--r--dev-python/cppy/cppy-1.2.1-r1.ebuild14
-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/Manifest3
-rw-r--r--dev-python/crashtest/crashtest-0.3.1-r1.ebuild18
-rw-r--r--dev-python/crashtest/crashtest-0.4.0.ebuild21
-rw-r--r--dev-python/crashtest/crashtest-0.4.1.ebuild25
-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.ebuild5
-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.5.ebuild31
-rw-r--r--dev-python/croniter/croniter-2.0.5.ebuild31
-rw-r--r--dev-python/cryptography/Manifest133
-rw-r--r--dev-python/cryptography/cryptography-37.0.4.ebuild133
-rw-r--r--dev-python/cryptography/cryptography-41.0.7.ebuild153
-rw-r--r--dev-python/cryptography/cryptography-42.0.5.ebuild147
-rw-r--r--dev-python/cryptography/cryptography-42.0.6.ebuild147
-rw-r--r--dev-python/cryptography/cryptography-42.0.7.ebuild147
-rw-r--r--dev-python/cryptography/metadata.xml1
-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.7-r1.ebuild23
-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/Manifest2
-rw-r--r--dev-python/cssselect/cssselect-1.1.0-r2.ebuild33
-rw-r--r--dev-python/cssselect/cssselect-1.2.0.ebuild33
-rw-r--r--dev-python/cssselect2/Manifest2
-rw-r--r--dev-python/cssselect2/cssselect2-0.6.0.ebuild33
-rw-r--r--dev-python/cssselect2/cssselect2-0.7.0.ebuild32
-rw-r--r--dev-python/cssutils/Manifest4
-rw-r--r--dev-python/cssutils/cssutils-2.10.2.ebuild46
-rw-r--r--dev-python/cssutils/cssutils-2.4.2.ebuild42
-rw-r--r--dev-python/cssutils/cssutils-2.5.0.ebuild42
-rw-r--r--dev-python/cssutils/cssutils-2.5.1.ebuild42
-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.0.7.ebuild31
-rw-r--r--dev-python/csvkit/csvkit-1.5.0.ebuild45
-rw-r--r--dev-python/csvkit/csvkit-2.0.0.ebuild45
-rw-r--r--dev-python/curtsies/Manifest2
-rw-r--r--dev-python/curtsies/curtsies-0.3.10.ebuild27
-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.6-r1.ebuild29
-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.11.1.ebuild53
-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.ebuild15
-rw-r--r--dev-python/cython/Manifest5
-rw-r--r--dev-python/cython/cython-0.29.30.ebuild90
-rw-r--r--dev-python/cython/cython-0.29.32.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.ebuild6
-rw-r--r--dev-python/daemonize/metadata.xml5
-rw-r--r--dev-python/dask-expr/Manifest5
-rw-r--r--dev-python/dask-expr/dask-expr-1.0.11.ebuild63
-rw-r--r--dev-python/dask-expr/dask-expr-1.0.12.ebuild63
-rw-r--r--dev-python/dask-expr/dask-expr-1.0.13.ebuild65
-rw-r--r--dev-python/dask-expr/dask-expr-1.0.14.ebuild65
-rw-r--r--dev-python/dask-expr/dask-expr-1.0.5.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.6.1.ebuild58
-rw-r--r--dev-python/dask/dask-2022.7.0.ebuild58
-rw-r--r--dev-python/dask/dask-2022.7.1.ebuild58
-rw-r--r--dev-python/dask/dask-2022.8.0.ebuild59
-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.1.ebuild98
-rw-r--r--dev-python/dask/dask-2024.4.1.ebuild99
-rw-r--r--dev-python/dask/dask-2024.4.2.ebuild99
-rw-r--r--dev-python/dask/metadata.xml2
-rw-r--r--dev-python/dbfread/Manifest2
-rw-r--r--dev-python/dbfread/dbfread-2.0.7-r1.ebuild21
-rw-r--r--dev-python/dbfread/dbfread-2.0.7.ebuild40
-rw-r--r--dev-python/dbus-next/dbus-next-0.2.3-r1.ebuild11
-rw-r--r--dev-python/dbus-python/Manifest2
-rw-r--r--dev-python/dbus-python/dbus-python-1.2.18.ebuild85
-rw-r--r--dev-python/dbus-python/dbus-python-1.3.2.ebuild90
-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.5.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/Manifest2
-rw-r--r--dev-python/debugpy/debugpy-1.6.0.ebuild43
-rw-r--r--dev-python/debugpy/debugpy-1.6.2.ebuild43
-rw-r--r--dev-python/debugpy/files/debugpy-1.6.0-unbundle-pydevd.patch102
-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.ebuild9
-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.0.1.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.1.ebuild31
-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.ebuild6
-rw-r--r--dev-python/denonavr/Manifest3
-rw-r--r--dev-python/denonavr/denonavr-0.10.11.ebuild38
-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/Manifest1
-rw-r--r--dev-python/dict2xml/dict2xml-1.7.5-r1.ebuild25
-rw-r--r--dev-python/dict2xml/metadata.xml16
-rw-r--r--dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild14
-rw-r--r--dev-python/dictpath/dictpath-0.1.3.ebuild6
-rw-r--r--dev-python/diff-match-patch/Manifest3
-rw-r--r--dev-python/diff-match-patch/diff-match-patch-20181111.ebuild18
-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.5.1.ebuild35
-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.4-r1.ebuild45
-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.3.15.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/Manifest2
-rw-r--r--dev-python/dissononce/dissononce-0.34.3-r2.ebuild35
-rw-r--r--dev-python/dissononce/dissononce-0.34.3-r3.ebuild35
-rw-r--r--dev-python/distlib/Manifest3
-rw-r--r--dev-python/distlib/distlib-0.3.4-r2.ebuild67
-rw-r--r--dev-python/distlib/distlib-0.3.5.ebuild66
-rw-r--r--dev-python/distlib/distlib-0.3.8.ebuild58
-rw-r--r--dev-python/distlib/files/distlib-0.3.8-py313.patch22
-rw-r--r--dev-python/distro/Manifest2
-rw-r--r--dev-python/distro/distro-1.7.0.ebuild20
-rw-r--r--dev-python/distro/distro-1.9.0.ebuild22
-rw-r--r--dev-python/dj-database-url/Manifest3
-rw-r--r--dev-python/dj-database-url/dj-database-url-0.5.0-r1.ebuild25
-rw-r--r--dev-python/dj-database-url/dj-database-url-1.0.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/Manifest2
-rw-r--r--dev-python/dj-email-url/dj-email-url-1.0.5.ebuild27
-rw-r--r--dev-python/dj-email-url/dj-email-url-1.0.6.ebuild27
-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.2.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.3.2.ebuild51
-rw-r--r--dev-python/django-configurations/django-configurations-2.5.1.ebuild44
-rw-r--r--dev-python/django-configurations/files/django-configurations-2.3.2-test.patch45
-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/Manifest5
-rw-r--r--dev-python/django-filter/django-filter-21.1-r2.ebuild35
-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-21.1-test-skipIf.patch27
-rw-r--r--dev-python/django-filter/files/django-filter-22.1-test-skipIf.patch22
-rw-r--r--dev-python/django-filter/metadata.xml1
-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.3-r1.ebuild41
-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/Manifest3
-rw-r--r--dev-python/django-tables2/django-tables2-2.3.4.ebuild19
-rw-r--r--dev-python/django-tables2/django-tables2-2.4.1.ebuild52
-rw-r--r--dev-python/django-tables2/django-tables2-2.7.0.ebuild55
-rw-r--r--dev-python/django-tables2/metadata.xml1
-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/Manifest3
-rw-r--r--dev-python/django-taggit/django-taggit-3.0.0.ebuild28
-rw-r--r--dev-python/django-taggit/django-taggit-3.1.0.ebuild29
-rw-r--r--dev-python/django-taggit/django-taggit-5.0.1.ebuild37
-rw-r--r--dev-python/django-taggit/metadata.xml1
-rw-r--r--dev-python/django-timezone-field/Manifest2
-rw-r--r--dev-python/django-timezone-field/django-timezone-field-5.0.ebuild41
-rw-r--r--dev-python/django-timezone-field/django-timezone-field-6.1.0.ebuild42
-rw-r--r--dev-python/django-timezone-field/metadata.xml2
-rw-r--r--dev-python/django/Manifest18
-rw-r--r--dev-python/django/django-3.2.15.ebuild109
-rw-r--r--dev-python/django/django-3.2.25.ebuild110
-rw-r--r--dev-python/django/django-4.0.7.ebuild110
-rw-r--r--dev-python/django/django-4.1.ebuild106
-rw-r--r--dev-python/django/django-4.2.11.ebuild101
-rw-r--r--dev-python/django/django-4.2.13.ebuild101
-rw-r--r--dev-python/django/django-5.0.4.ebuild101
-rw-r--r--dev-python/django/django-5.0.6.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/files/django-4.1-test.patch33
-rw-r--r--dev-python/django_polymorphic/Manifest1
-rw-r--r--dev-python/django_polymorphic/django_polymorphic-3.1.ebuild36
-rw-r--r--dev-python/django_polymorphic/metadata.xml12
-rw-r--r--dev-python/djangorestframework/Manifest3
-rw-r--r--dev-python/djangorestframework/djangorestframework-3.13.1-r1.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/djangorestframework/metadata.xml2
-rw-r--r--dev-python/dkimpy/Manifest2
-rw-r--r--dev-python/dkimpy/dkimpy-1.0.5-r1.ebuild38
-rw-r--r--dev-python/dkimpy/dkimpy-1.1.6.ebuild37
-rw-r--r--dev-python/dkimpy/metadata.xml2
-rw-r--r--dev-python/dns-lexicon/Manifest3
-rw-r--r--dev-python/dns-lexicon/dns-lexicon-3.11.2.ebuild67
-rw-r--r--dev-python/dns-lexicon/dns-lexicon-3.11.3.ebuild67
-rw-r--r--dev-python/dns-lexicon/dns-lexicon-3.17.0.ebuild72
-rw-r--r--dev-python/dnspython/Manifest2
-rw-r--r--dev-python/dnspython/dnspython-2.2.1-r1.ebuild52
-rw-r--r--dev-python/dnspython/dnspython-2.6.1.ebuild47
-rw-r--r--dev-python/dnspython/metadata.xml1
-rw-r--r--dev-python/doc8/Manifest3
-rw-r--r--dev-python/doc8/doc8-0.11.2.ebuild34
-rw-r--r--dev-python/doc8/doc8-1.0.0.ebuild34
-rw-r--r--dev-python/doc8/doc8-1.1.1.ebuild33
-rw-r--r--dev-python/doc8/metadata.xml1
-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.ebuild6
-rw-r--r--dev-python/docstring-to-markdown/Manifest1
-rw-r--r--dev-python/docstring-to-markdown/docstring-to-markdown-0.15.ebuild32
-rw-r--r--dev-python/docstring-to-markdown/metadata.xml13
-rw-r--r--dev-python/doctest-ignore-unicode/Manifest1
-rw-r--r--dev-python/doctest-ignore-unicode/doctest-ignore-unicode-0.1.2-r1.ebuild18
-rw-r--r--dev-python/doctest-ignore-unicode/metadata.xml13
-rw-r--r--dev-python/docutils-glep/Manifest4
-rw-r--r--dev-python/docutils-glep/docutils-glep-1.2.ebuild20
-rw-r--r--dev-python/docutils-glep/docutils-glep-1.3.ebuild28
-rw-r--r--dev-python/docutils-glep/docutils-glep-1.4.ebuild28
-rw-r--r--dev-python/docutils-glep/docutils-glep-1.5.ebuild28
-rw-r--r--dev-python/docutils-glep/metadata.xml2
-rw-r--r--dev-python/docutils/Manifest5
-rw-r--r--dev-python/docutils/docutils-0.17.1-r1.ebuild77
-rw-r--r--dev-python/docutils/docutils-0.18.1-r1.ebuild77
-rw-r--r--dev-python/docutils/docutils-0.19.ebuild13
-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/docutils-0.21.2.ebuild80
-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/Manifest4
-rw-r--r--dev-python/dogpile-cache/dogpile-cache-1.1.6.ebuild30
-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/dogpile-cache/dogpile-cache-1.3.3.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/Manifest3
-rw-r--r--dev-python/dominate/dominate-2.6.0-r1.ebuild19
-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/Manifest3
-rw-r--r--dev-python/dulwich/dulwich-0.20.44.ebuild59
-rw-r--r--dev-python/dulwich/dulwich-0.20.45.ebuild59
-rw-r--r--dev-python/dulwich/dulwich-0.21.7-r1.ebuild64
-rw-r--r--dev-python/easy-thumbnails/Manifest4
-rw-r--r--dev-python/easy-thumbnails/easy-thumbnails-2.8.1.ebuild37
-rw-r--r--dev-python/easy-thumbnails/easy-thumbnails-2.8.2.ebuild46
-rw-r--r--dev-python/easy-thumbnails/easy-thumbnails-2.8.3.ebuild46
-rw-r--r--dev-python/easy-thumbnails/easy-thumbnails-2.8.5.ebuild46
-rw-r--r--dev-python/easy-thumbnails/metadata.xml1
-rw-r--r--dev-python/easyprocess/Manifest2
-rw-r--r--dev-python/easyprocess/easyprocess-1.1-r1.ebuild20
-rw-r--r--dev-python/easyprocess/metadata.xml4
-rw-r--r--dev-python/ecdsa/Manifest3
-rw-r--r--dev-python/ecdsa/ecdsa-0.17.0.ebuild30
-rw-r--r--dev-python/ecdsa/ecdsa-0.18.0.ebuild34
-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.14.1.ebuild186
-rw-r--r--dev-python/elasticsearch-py/metadata.xml19
-rw-r--r--dev-python/elasticsearch/Manifest2
-rw-r--r--dev-python/elasticsearch/elasticsearch-8.13.0.ebuild75
-rw-r--r--dev-python/elasticsearch/elasticsearch-8.13.1.ebuild83
-rw-r--r--dev-python/elasticsearch/metadata.xml18
-rw-r--r--dev-python/elementpath/Manifest4
-rw-r--r--dev-python/elementpath/elementpath-2.5.3.ebuild38
-rw-r--r--dev-python/elementpath/elementpath-3.0.0.ebuild38
-rw-r--r--dev-python/elementpath/elementpath-3.0.1.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/Manifest4
-rw-r--r--dev-python/emcee/emcee-3.1.2.ebuild45
-rw-r--r--dev-python/emcee/emcee-3.1.4.ebuild50
-rw-r--r--dev-python/emcee/emcee-3.1.5.ebuild50
-rw-r--r--dev-python/emcee/emcee-3.1.6.ebuild50
-rw-r--r--dev-python/emcee/metadata.xml3
-rw-r--r--dev-python/emoji/Manifest4
-rw-r--r--dev-python/emoji/emoji-1.7.0.ebuild21
-rw-r--r--dev-python/emoji/emoji-2.0.0.ebuild25
-rw-r--r--dev-python/emoji/emoji-2.11.0.ebuild25
-rw-r--r--dev-python/emoji/emoji-2.11.1.ebuild25
-rw-r--r--dev-python/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.ebuild32
-rw-r--r--dev-python/ensurepip-pip/Manifest1
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-24.0.ebuild24
-rw-r--r--dev-python/ensurepip-pip/metadata.xml11
-rw-r--r--dev-python/ensurepip-setuptools/Manifest2
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.3.ebuild24
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-69.5.1.ebuild24
-rw-r--r--dev-python/ensurepip-setuptools/metadata.xml11
-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/Manifest5
-rw-r--r--dev-python/ensurepip-wheels/ensurepip-wheels-100.ebuild16
-rw-r--r--dev-python/ensurepip-wheels/ensurepip-wheels-63.3.0.22.2.1.ebuild28
-rw-r--r--dev-python/ensurepip-wheels/ensurepip-wheels-63.4.1.22.2.2.ebuild28
-rw-r--r--dev-python/ensurepip-wheels/ensurepip-wheels-63.4.2.22.2.2.ebuild28
-rw-r--r--dev-python/ensurepip-wheels/metadata.xml5
-rw-r--r--dev-python/entrypoint2/entrypoint2-1.1.ebuild14
-rw-r--r--dev-python/entrypoint2/metadata.xml4
-rw-r--r--dev-python/entrypoints/entrypoints-0.4.ebuild7
-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.ebuild20
-rw-r--r--dev-python/ephemeral-port-reserve/ephemeral-port-reserve-1.1.4.ebuild6
-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/errorhandler/Manifest1
-rw-r--r--dev-python/errorhandler/errorhandler-2.0.1.ebuild23
-rw-r--r--dev-python/errorhandler/metadata.xml11
-rw-r--r--dev-python/et_xmlfile/et_xmlfile-1.1.0-r1.ebuild6
-rw-r--r--dev-python/et_xmlfile/metadata.xml1
-rw-r--r--dev-python/etuples/Manifest2
-rw-r--r--dev-python/etuples/etuples-0.3.5.ebuild30
-rw-r--r--dev-python/etuples/etuples-0.3.9.ebuild31
-rw-r--r--dev-python/evdev/Manifest2
-rw-r--r--dev-python/evdev/evdev-1.7.0.ebuild44
-rw-r--r--dev-python/evdev/evdev-1.7.1.ebuild44
-rw-r--r--dev-python/evdev/metadata.xml12
-rw-r--r--dev-python/eventlet/Manifest1
-rw-r--r--dev-python/eventlet/eventlet-0.33.1.ebuild63
-rw-r--r--dev-python/eventlet/files/eventlet-0.25.1-tests.patch40
-rw-r--r--dev-python/eventlet/files/eventlet-0.30.0-tests-socket.patch13
-rw-r--r--dev-python/eventlet/files/eventlet-0.30.2-test-timeout.patch39
-rw-r--r--dev-python/eventlet/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/Manifest2
-rw-r--r--dev-python/exceptiongroup/exceptiongroup-1.0.0_rc8.ebuild34
-rw-r--r--dev-python/exceptiongroup/exceptiongroup-1.2.1.ebuild36
-rw-r--r--dev-python/exceptiongroup/metadata.xml1
-rw-r--r--dev-python/execnet/Manifest2
-rw-r--r--dev-python/execnet/execnet-1.9.0-r1.ebuild46
-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/Manifest4
-rw-r--r--dev-python/executing/executing-0.8.3.ebuild42
-rw-r--r--dev-python/executing/executing-0.9.0.ebuild42
-rw-r--r--dev-python/executing/executing-0.9.1.ebuild42
-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.ebuild9
-rw-r--r--dev-python/eyeD3/Manifest4
-rw-r--r--dev-python/eyeD3/eyeD3-0.9.6-r1.ebuild48
-rw-r--r--dev-python/eyeD3/eyeD3-0.9.7-r1.ebuild70
-rw-r--r--dev-python/fakeredis/Manifest5
-rw-r--r--dev-python/fakeredis/fakeredis-1.8.1.ebuild92
-rw-r--r--dev-python/fakeredis/fakeredis-1.8.2.ebuild88
-rw-r--r--dev-python/fakeredis/fakeredis-1.9.0.ebuild88
-rw-r--r--dev-python/fakeredis/fakeredis-2.22.0.ebuild84
-rw-r--r--dev-python/fakeredis/fakeredis-2.23.0.ebuild89
-rw-r--r--dev-python/fakeredis/metadata.xml2
-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.17.3.ebuild27
-rw-r--r--dev-python/fasteners/fasteners-0.19.ebuild36
-rw-r--r--dev-python/fastimport/fastimport-0.9.14.ebuild9
-rw-r--r--dev-python/fastjsonschema/Manifest3
-rw-r--r--dev-python/fastjsonschema/fastjsonschema-2.15.3-r1.ebuild29
-rw-r--r--dev-python/fastjsonschema/fastjsonschema-2.16.1.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/ffmpeg-python/metadata.xml4
-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.0.0.ebuild37
-rw-r--r--dev-python/fido2/fido2-1.1.3.ebuild44
-rw-r--r--dev-python/fields/fields-5.0.0-r3.ebuild7
-rw-r--r--dev-python/filebytes/Manifest2
-rw-r--r--dev-python/filebytes/filebytes-0.10.2.ebuild8
-rw-r--r--dev-python/filebytes/filebytes-9999.ebuild6
-rw-r--r--dev-python/filelock/Manifest3
-rw-r--r--dev-python/filelock/filelock-3.13.4.ebuild29
-rw-r--r--dev-python/filelock/filelock-3.14.0.ebuild29
-rw-r--r--dev-python/filelock/filelock-3.7.1.ebuild35
-rw-r--r--dev-python/filelock/metadata.xml2
-rw-r--r--dev-python/filetype/Manifest2
-rw-r--r--dev-python/filetype/filetype-1.0.10.ebuild18
-rw-r--r--dev-python/filetype/filetype-1.2.0.ebuild21
-rw-r--r--dev-python/findimports/Manifest2
-rw-r--r--dev-python/findimports/findimports-2.2.0-r1.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.7.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.ebuild42
-rw-r--r--dev-python/flake8-polyfill/flake8-polyfill-1.0.2.ebuild31
-rw-r--r--dev-python/flake8-polyfill/metadata.xml1
-rw-r--r--dev-python/flake8/Manifest6
-rw-r--r--dev-python/flake8/files/flake8-4.0.1-upgrade-mccabe.patch13
-rw-r--r--dev-python/flake8/flake8-4.0.1-r2.ebuild47
-rw-r--r--dev-python/flake8/flake8-5.0.1.ebuild49
-rw-r--r--dev-python/flake8/flake8-5.0.2.ebuild49
-rw-r--r--dev-python/flake8/flake8-5.0.3.ebuild49
-rw-r--r--dev-python/flake8/flake8-5.0.4.ebuild49
-rw-r--r--dev-python/flake8/flake8-7.0.0.ebuild63
-rw-r--r--dev-python/flake8/metadata.xml2
-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.8.1.ebuild37
-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-assets/Manifest1
-rw-r--r--dev-python/flask-assets/flask-assets-0.12.ebuild21
-rw-r--r--dev-python/flask-assets/metadata.xml13
-rw-r--r--dev-python/flask-babel/Manifest2
-rw-r--r--dev-python/flask-babel/flask-babel-2.0.0.ebuild37
-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-babelex/Manifest1
-rw-r--r--dev-python/flask-babelex/files/flask-babelex-0.9.3-tests-fix.patch41
-rw-r--r--dev-python/flask-babelex/flask-babelex-0.9.4-r1.ebuild49
-rw-r--r--dev-python/flask-babelex/metadata.xml13
-rw-r--r--dev-python/flask-compress/Manifest3
-rw-r--r--dev-python/flask-compress/flask-compress-1.12.ebuild31
-rw-r--r--dev-python/flask-compress/flask-compress-1.14.ebuild29
-rw-r--r--dev-python/flask-compress/flask-compress-1.15.ebuild29
-rw-r--r--dev-python/flask-cors/Manifest2
-rw-r--r--dev-python/flask-cors/flask-cors-3.0.10-r1.ebuild34
-rw-r--r--dev-python/flask-cors/flask-cors-4.0.1.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/Manifest2
-rw-r--r--dev-python/flask-htmlmin/flask-htmlmin-2.2.0.ebuild33
-rw-r--r--dev-python/flask-htmlmin/flask-htmlmin-2.2.1-r1.ebuild33
-rw-r--r--dev-python/flask-login/Manifest3
-rw-r--r--dev-python/flask-login/flask-login-0.6.1.ebuild42
-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-mail/Manifest1
-rw-r--r--dev-python/flask-mail/flask-mail-0.9.1-r2.ebuild38
-rw-r--r--dev-python/flask-mail/metadata.xml13
-rw-r--r--dev-python/flask-migrate/Manifest2
-rw-r--r--dev-python/flask-migrate/flask-migrate-3.1.0.ebuild29
-rw-r--r--dev-python/flask-migrate/flask-migrate-4.0.7.ebuild46
-rw-r--r--dev-python/flask-migrate/metadata.xml1
-rw-r--r--dev-python/flask-nav/Manifest2
-rw-r--r--dev-python/flask-nav/flask-nav-0.6-r4.ebuild33
-rw-r--r--dev-python/flask-nav/flask-nav-0.6-r5.ebuild41
-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.ebuild15
-rw-r--r--dev-python/flask-principal/Manifest1
-rw-r--r--dev-python/flask-principal/flask-principal-0.4.0-r2.ebuild26
-rw-r--r--dev-python/flask-principal/metadata.xml13
-rw-r--r--dev-python/flask-restful/Manifest1
-rw-r--r--dev-python/flask-restful/flask-restful-0.3.9.ebuild43
-rw-r--r--dev-python/flask-restful/metadata.xml13
-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-security/Manifest2
-rw-r--r--dev-python/flask-security/flask-security-4.1.4.ebuild66
-rw-r--r--dev-python/flask-security/flask-security-4.1.5.ebuild67
-rw-r--r--dev-python/flask-security/metadata.xml13
-rw-r--r--dev-python/flask-sphinx-themes/flask-sphinx-themes-1.0.2-r1.ebuild14
-rw-r--r--dev-python/flask-sqlalchemy/Manifest2
-rw-r--r--dev-python/flask-sqlalchemy/flask-sqlalchemy-2.5.1.ebuild32
-rw-r--r--dev-python/flask-sqlalchemy/flask-sqlalchemy-3.1.1.ebuild37
-rw-r--r--dev-python/flask-sqlalchemy/metadata.xml4
-rw-r--r--dev-python/flask-wtf/Manifest1
-rw-r--r--dev-python/flask-wtf/flask-wtf-1.0.1.ebuild43
-rw-r--r--dev-python/flask-wtf/metadata.xml14
-rw-r--r--dev-python/flask/Manifest4
-rw-r--r--dev-python/flask/flask-2.1.2.ebuild63
-rw-r--r--dev-python/flask/flask-2.1.3.ebuild63
-rw-r--r--dev-python/flask/flask-2.2.1.ebuild63
-rw-r--r--dev-python/flask/flask-3.0.3.ebuild58
-rw-r--r--dev-python/flatbuffers/Manifest2
-rw-r--r--dev-python/flatbuffers/flatbuffers-2.0.6.ebuild22
-rw-r--r--dev-python/flatbuffers/flatbuffers-24.3.25.ebuild39
-rw-r--r--dev-python/flatbuffers/metadata.xml6
-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.ebuild6
-rw-r--r--dev-python/fleep/fleep-9999.ebuild4
-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.xml17
-rw-r--r--dev-python/flit/Manifest3
-rw-r--r--dev-python/flit/flit-3.7.1.ebuild54
-rw-r--r--dev-python/flit/flit-3.8.0.ebuild54
-rw-r--r--dev-python/flit/flit-3.9.0.ebuild54
-rw-r--r--dev-python/flit_core/Manifest1
-rw-r--r--dev-python/flit_core/flit_core-3.7.1.ebuild35
-rw-r--r--dev-python/flit_core/metadata.xml17
-rw-r--r--dev-python/flit_scm/Manifest1
-rw-r--r--dev-python/flit_scm/flit_scm-1.6.2.ebuild37
-rw-r--r--dev-python/flit_scm/flit_scm-1.7.0.ebuild11
-rw-r--r--dev-python/flit_scm/metadata.xml2
-rw-r--r--dev-python/flufl-lock/Manifest3
-rw-r--r--dev-python/flufl-lock/flufl-lock-7.0-r1.ebuild31
-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/Manifest4
-rw-r--r--dev-python/fonttools/files/fonttools-4.33.3-py3.11-tests.patch40
-rw-r--r--dev-python/fonttools/fonttools-4.33.3.ebuild62
-rw-r--r--dev-python/fonttools/fonttools-4.34.4.ebuild58
-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.ebuild6
-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.1.ebuild32
-rw-r--r--dev-python/freezegun/freezegun-1.5.0.ebuild47
-rw-r--r--dev-python/fritzconnection/Manifest2
-rw-r--r--dev-python/fritzconnection/fritzconnection-1.13.2-r1.ebuild64
-rw-r--r--dev-python/fritzconnection/fritzconnection-1.9.1.ebuild32
-rw-r--r--dev-python/fritzconnection/metadata.xml6
-rw-r--r--dev-python/frozendict/Manifest1
-rw-r--r--dev-python/frozendict/frozendict-2.3.2.ebuild27
-rw-r--r--dev-python/frozendict/metadata.xml16
-rw-r--r--dev-python/frozenlist/Manifest3
-rw-r--r--dev-python/frozenlist/frozenlist-1.3.0.ebuild44
-rw-r--r--dev-python/frozenlist/frozenlist-1.3.1.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.ebuild33
-rw-r--r--dev-python/fsspec/Manifest3
-rw-r--r--dev-python/fsspec/fsspec-2022.5.0-r1.ebuild58
-rw-r--r--dev-python/fsspec/fsspec-2022.7.1.ebuild58
-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/Manifest2
-rw-r--r--dev-python/funcparserlib/funcparserlib-1.0.0.ebuild28
-rw-r--r--dev-python/funcparserlib/funcparserlib-1.0.1.ebuild31
-rw-r--r--dev-python/funcy/Manifest2
-rw-r--r--dev-python/funcy/funcy-1.17.ebuild19
-rw-r--r--dev-python/funcy/funcy-2.0.ebuild27
-rw-r--r--dev-python/furo/Manifest4
-rw-r--r--dev-python/furo/furo-2022.6.21.ebuild38
-rw-r--r--dev-python/furo/furo-2024.1.29.ebuild42
-rw-r--r--dev-python/furo/furo-2024.4.27.ebuild42
-rw-r--r--dev-python/furo/furo-2024.5.6.ebuild42
-rw-r--r--dev-python/furo/metadata.xml1
-rw-r--r--dev-python/fuse-python/Manifest2
-rw-r--r--dev-python/fuse-python/fuse-python-1.0.5.ebuild7
-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-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-r1.ebuild39
-rw-r--r--dev-python/future/future-0.18.2-r2.ebuild40
-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/Manifest2
-rw-r--r--dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-2.7.ebuild43
-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.ebuild18
-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.ebuild7
-rw-r--r--dev-python/genty/genty-1.3.2-r3.ebuild30
-rw-r--r--dev-python/geographiclib/Manifest1
-rw-r--r--dev-python/geographiclib/geographiclib-2.0.ebuild18
-rw-r--r--dev-python/geographiclib/metadata.xml13
-rw-r--r--dev-python/gevent/Manifest1
-rw-r--r--dev-python/gevent/gevent-21.12.0.ebuild100
-rw-r--r--dev-python/gevent/metadata.xml12
-rw-r--r--dev-python/geventhttpclient/Manifest2
-rw-r--r--dev-python/geventhttpclient/geventhttpclient-1.5.5.ebuild52
-rw-r--r--dev-python/geventhttpclient/geventhttpclient-2.0.ebuild52
-rw-r--r--dev-python/geventhttpclient/metadata.xml17
-rw-r--r--dev-python/gfloat/Manifest2
-rw-r--r--dev-python/gfloat/gfloat-0.0.5.ebuild30
-rw-r--r--dev-python/gfloat/gfloat-0.1.ebuild30
-rw-r--r--dev-python/gfloat/metadata.xml11
-rw-r--r--dev-python/ghp-import/ghp-import-2.1.0-r1.ebuild10
-rw-r--r--dev-python/git-review/Manifest2
-rw-r--r--dev-python/git-review/git-review-2.3.1.ebuild34
-rw-r--r--dev-python/git-review/git-review-2.4.0.ebuild41
-rw-r--r--dev-python/git-review/git-review-9999.ebuild15
-rw-r--r--dev-python/git-review/metadata.xml1
-rw-r--r--dev-python/gitdb/Manifest2
-rw-r--r--dev-python/gitdb/files/gitdb-4.0.9-nose-to-pytest.patch75
-rw-r--r--dev-python/gitdb/gitdb-4.0.11.ebuild65
-rw-r--r--dev-python/gitdb/gitdb-4.0.9-r1.ebuild63
-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/glob2/Manifest1
-rw-r--r--dev-python/glob2/glob2-0.7-r1.ebuild22
-rw-r--r--dev-python/glob2/metadata.xml13
-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/Manifest4
-rw-r--r--dev-python/gmpy/files/gmpy-2.1.0_beta5-test-input.patch12
-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.2-r1.ebuild45
-rw-r--r--dev-python/gmpy/gmpy-2.1.5-r2.ebuild51
-rw-r--r--dev-python/google-api-core/Manifest3
-rw-r--r--dev-python/google-api-core/google-api-core-2.18.0.ebuild65
-rw-r--r--dev-python/google-api-core/google-api-core-2.19.0.ebuild65
-rw-r--r--dev-python/google-api-core/google-api-core-2.8.2.ebuild73
-rw-r--r--dev-python/google-api-core/metadata.xml1
-rw-r--r--dev-python/google-api-python-client/Manifest6
-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.127.0.ebuild51
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.128.0.ebuild51
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.53.0.ebuild53
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.54.0.ebuild53
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.55.0.ebuild53
-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/Manifest2
-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.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.5.2.ebuild39
-rw-r--r--dev-python/google-auth-oauthlib/google-auth-oauthlib-1.2.0-r1.ebuild44
-rw-r--r--dev-python/google-auth/Manifest4
-rw-r--r--dev-python/google-auth/google-auth-2.10.0.ebuild58
-rw-r--r--dev-python/google-auth/google-auth-2.29.0.ebuild59
-rw-r--r--dev-python/google-auth/google-auth-2.9.0.ebuild58
-rw-r--r--dev-python/google-auth/google-auth-2.9.1.ebuild58
-rw-r--r--dev-python/google-i18n-address/Manifest1
-rw-r--r--dev-python/google-i18n-address/google-i18n-address-3.1.0-r1.ebuild30
-rw-r--r--dev-python/google-i18n-address/metadata.xml16
-rw-r--r--dev-python/google-pasta/google-pasta-0.2.0-r1.ebuild19
-rw-r--r--dev-python/google-pasta/google-pasta-0.2.0-r2.ebuild26
-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/Manifest2
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.56.4.ebuild33
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.63.0.ebuild33
-rw-r--r--dev-python/gpep517/Manifest3
-rw-r--r--dev-python/gpep517/gpep517-15.ebuild48
-rw-r--r--dev-python/gpep517/gpep517-8.ebuild41
-rw-r--r--dev-python/gpep517/gpep517-9.ebuild41
-rw-r--r--dev-python/gpep517/metadata.xml2
-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.ebuild8
-rw-r--r--dev-python/graph-tool/metadata.xml4
-rw-r--r--dev-python/graphviz/Manifest3
-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/graphviz-0.20.ebuild42
-rw-r--r--dev-python/graphviz/metadata.xml1
-rw-r--r--dev-python/greenlet/Manifest4
-rw-r--r--dev-python/greenlet/files/greenlet-1.1.2-fix-py3.11.patch223
-rw-r--r--dev-python/greenlet/greenlet-1.1.2-r1.ebuild33
-rw-r--r--dev-python/greenlet/greenlet-2.0.2.ebuild42
-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/greenlet/metadata.xml1
-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.43.0.ebuild45
-rw-r--r--dev-python/griffe/griffe-0.44.0.ebuild45
-rw-r--r--dev-python/griffe/metadata.xml13
-rw-r--r--dev-python/grpcio-testing/Manifest2
-rw-r--r--dev-python/grpcio-testing/grpcio-testing-1.43.0.ebuild22
-rw-r--r--dev-python/grpcio-testing/grpcio-testing-1.51.0.ebuild24
-rw-r--r--dev-python/grpcio-testing/metadata.xml5
-rw-r--r--dev-python/grpcio-tools/Manifest2
-rw-r--r--dev-python/grpcio-tools/grpcio-tools-1.43.0.ebuild35
-rw-r--r--dev-python/grpcio-tools/grpcio-tools-1.51.0.ebuild36
-rw-r--r--dev-python/grpcio-tools/metadata.xml5
-rw-r--r--dev-python/grpcio/Manifest2
-rw-r--r--dev-python/grpcio/files/1.37.1-cc-flag-test-fix.patch26
-rw-r--r--dev-python/grpcio/files/1.51.0-cython3.patch150
-rw-r--r--dev-python/grpcio/files/1.51.0-respect-cc.patch28
-rw-r--r--dev-python/grpcio/grpcio-1.43.0.ebuild47
-rw-r--r--dev-python/grpcio/grpcio-1.51.0-r1.ebuild55
-rw-r--r--dev-python/grpcio/metadata.xml5
-rw-r--r--dev-python/gsd/Manifest3
-rw-r--r--dev-python/gsd/gsd-2.5.2.ebuild29
-rw-r--r--dev-python/gsd/gsd-2.5.3.ebuild41
-rw-r--r--dev-python/gsd/gsd-3.2.1.ebuild40
-rw-r--r--dev-python/gsd/metadata.xml1
-rw-r--r--dev-python/gssapi/Manifest2
-rw-r--r--dev-python/gssapi/gssapi-1.7.3-r1.ebuild41
-rw-r--r--dev-python/gssapi/gssapi-1.8.3-r1.ebuild49
-rw-r--r--dev-python/gssapi/metadata.xml1
-rw-r--r--dev-python/gst-python/Manifest2
-rw-r--r--dev-python/gst-python/gst-python-1.20.2.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.4.3.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.ebuild18
-rw-r--r--dev-python/h11/Manifest2
-rw-r--r--dev-python/h11/h11-0.13.0-r1.ebuild23
-rw-r--r--dev-python/h11/h11-0.14.0.ebuild22
-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.ebuild8
-rw-r--r--dev-python/h2/metadata.xml1
-rw-r--r--dev-python/h5py/Manifest3
-rw-r--r--dev-python/h5py/h5py-3.11.0.ebuild62
-rw-r--r--dev-python/h5py/h5py-3.7.0.ebuild70
-rw-r--r--dev-python/h5py/metadata.xml3
-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/Manifest1
-rw-r--r--dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-24.1.0.ebuild37
-rw-r--r--dev-python/hatch-fancy-pypi-readme/metadata.xml13
-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.2.0.ebuild29
-rw-r--r--dev-python/hatch-vcs/hatch-vcs-0.4.0.ebuild34
-rw-r--r--dev-python/hatch-vcs/metadata.xml1
-rw-r--r--dev-python/hatchling/Manifest6
-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.2.ebuild105
-rw-r--r--dev-python/hatchling/hatchling-1.4.1.ebuild74
-rw-r--r--dev-python/hatchling/hatchling-1.5.0.ebuild74
-rw-r--r--dev-python/hatchling/hatchling-1.6.0.ebuild74
-rw-r--r--dev-python/hcloud-python/Manifest1
-rw-r--r--dev-python/hcloud-python/hcloud-python-1.17.0.ebuild45
-rw-r--r--dev-python/hcloud/Manifest1
-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.ebuild32
-rw-r--r--dev-python/helpdev/helpdev-0.7.1.ebuild26
-rw-r--r--dev-python/helpdev/metadata.xml6
-rw-r--r--dev-python/hidapi/Manifest1
-rw-r--r--dev-python/hidapi/files/hidapi-0.14.0-cython3.patch134
-rw-r--r--dev-python/hidapi/hidapi-0.14.0.ebuild34
-rw-r--r--dev-python/hidapi/metadata.xml9
-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/Manifest2
-rw-r--r--dev-python/hishel/hishel-0.0.25-r1.ebuild61
-rw-r--r--dev-python/hishel/hishel-0.0.26.ebuild74
-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.ebuild4
-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-r1.ebuild25
-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/html2text/metadata.xml1
-rw-r--r--dev-python/html5-parser/Manifest2
-rw-r--r--dev-python/html5-parser/html5-parser-0.4.10.ebuild37
-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/html5lib/html5lib-1.1-r2.ebuild49
-rw-r--r--dev-python/html5lib/metadata.xml2
-rw-r--r--dev-python/httmock/httmock-1.4.0-r1.ebuild20
-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/files/httpauth-0.3-remove-nose-dependency.patch40
-rw-r--r--dev-python/httpauth/httpauth-0.3-r1.ebuild22
-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/Manifest2
-rw-r--r--dev-python/httpcore/httpcore-0.15.0.ebuild53
-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.20.4.ebuild70
-rw-r--r--dev-python/httplib2/httplib2-0.22.0.ebuild70
-rw-r--r--dev-python/httpretty/httpretty-1.1.4-r1.ebuild20
-rw-r--r--dev-python/httpx-socks/Manifest1
-rw-r--r--dev-python/httpx-socks/httpx-socks-0.9.1.ebuild52
-rw-r--r--dev-python/httpx-socks/metadata.xml13
-rw-r--r--dev-python/httpx/Manifest2
-rw-r--r--dev-python/httpx/httpx-0.23.0.ebuild87
-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.1.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.ebuild38
-rw-r--r--dev-python/humanfriendly/humanfriendly-10.0.ebuild35
-rw-r--r--dev-python/humanize/Manifest3
-rw-r--r--dev-python/humanize/humanize-4.2.3.ebuild29
-rw-r--r--dev-python/humanize/humanize-4.3.0.ebuild29
-rw-r--r--dev-python/humanize/humanize-4.9.0.ebuild28
-rw-r--r--dev-python/hvac/Manifest3
-rw-r--r--dev-python/hvac/hvac-0.11.2.ebuild48
-rw-r--r--dev-python/hvac/hvac-2.1.0.ebuild43
-rw-r--r--dev-python/hvac/hvac-2.2.0.ebuild43
-rw-r--r--dev-python/hypercorn/Manifest1
-rw-r--r--dev-python/hypercorn/hypercorn-0.16.0.ebuild49
-rw-r--r--dev-python/hypercorn/metadata.xml13
-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.ebuild7
-rw-r--r--dev-python/hyperlink/hyperlink-21.0.0-r1.ebuild7
-rw-r--r--dev-python/hypothesis/Manifest11
-rw-r--r--dev-python/hypothesis/hypothesis-6.100.1.ebuild91
-rw-r--r--dev-python/hypothesis/hypothesis-6.100.2.ebuild91
-rw-r--r--dev-python/hypothesis/hypothesis-6.100.4.ebuild91
-rw-r--r--dev-python/hypothesis/hypothesis-6.100.5.ebuild91
-rw-r--r--dev-python/hypothesis/hypothesis-6.49.1.ebuild76
-rw-r--r--dev-python/hypothesis/hypothesis-6.52.1.ebuild76
-rw-r--r--dev-python/hypothesis/hypothesis-6.52.2.ebuild76
-rw-r--r--dev-python/hypothesis/hypothesis-6.52.3.ebuild76
-rw-r--r--dev-python/hypothesis/hypothesis-6.52.4.ebuild76
-rw-r--r--dev-python/hypothesis/hypothesis-6.53.0.ebuild76
-rw-r--r--dev-python/hypothesis/hypothesis-6.54.1.ebuild76
-rw-r--r--dev-python/hypothesis/metadata.xml9
-rw-r--r--dev-python/icalendar/Manifest3
-rw-r--r--dev-python/icalendar/icalendar-4.0.9.ebuild29
-rw-r--r--dev-python/icalendar/icalendar-4.1.0.ebuild32
-rw-r--r--dev-python/icalendar/icalendar-5.0.12.ebuild39
-rw-r--r--dev-python/identify/Manifest4
-rw-r--r--dev-python/identify/identify-2.5.1.ebuild29
-rw-r--r--dev-python/identify/identify-2.5.2.ebuild29
-rw-r--r--dev-python/identify/identify-2.5.3.ebuild29
-rw-r--r--dev-python/identify/identify-2.5.36.ebuild29
-rw-r--r--dev-python/idna/Manifest2
-rw-r--r--dev-python/idna/idna-3.3-r1.ebuild23
-rw-r--r--dev-python/idna/idna-3.7.ebuild22
-rw-r--r--dev-python/ifaddr/ifaddr-0.2.0.ebuild9
-rw-r--r--dev-python/ifaddr/metadata.xml1
-rw-r--r--dev-python/ijson/Manifest2
-rw-r--r--dev-python/ijson/ijson-3.1.4.ebuild25
-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.7.ebuild38
-rw-r--r--dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.9-r1.ebuild37
-rw-r--r--dev-python/imageio/Manifest10
-rw-r--r--dev-python/imageio/files/imageio-2.22.0-block-download.patch32
-rw-r--r--dev-python/imageio/imageio-2.19.3.ebuild52
-rw-r--r--dev-python/imageio/imageio-2.19.5.ebuild52
-rw-r--r--dev-python/imageio/imageio-2.20.0.ebuild52
-rw-r--r--dev-python/imageio/imageio-2.21.0.ebuild52
-rw-r--r--dev-python/imageio/imageio-2.21.1.ebuild52
-rw-r--r--dev-python/imageio/imageio-2.34.0.ebuild85
-rw-r--r--dev-python/imageio/imageio-2.34.1.ebuild103
-rw-r--r--dev-python/imageio/metadata.xml10
-rw-r--r--dev-python/imagesize/imagesize-1.4.1.ebuild7
-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/Manifest10
-rw-r--r--dev-python/iminuit/files/iminuit-2.21.3-gcc-13.patch21
-rw-r--r--dev-python/iminuit/iminuit-2.11.2.ebuild41
-rw-r--r--dev-python/iminuit/iminuit-2.12.0.ebuild41
-rw-r--r--dev-python/iminuit/iminuit-2.12.1.ebuild41
-rw-r--r--dev-python/iminuit/iminuit-2.12.2.ebuild41
-rw-r--r--dev-python/iminuit/iminuit-2.13.0.ebuild41
-rw-r--r--dev-python/iminuit/iminuit-2.14.0.ebuild42
-rw-r--r--dev-python/iminuit/iminuit-2.15.1.ebuild42
-rw-r--r--dev-python/iminuit/iminuit-2.15.2.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.18.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-resources/Manifest1
-rw-r--r--dev-python/importlib-resources/importlib-resources-6.4.0.ebuild30
-rw-r--r--dev-python/importlib-resources/metadata.xml15
-rw-r--r--dev-python/importlib_metadata/Manifest1
-rw-r--r--dev-python/importlib_metadata/importlib_metadata-4.12.0.ebuild51
-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.8.0.ebuild46
-rw-r--r--dev-python/importlib_resources/importlib_resources-5.9.0.ebuild49
-rw-r--r--dev-python/importlib_resources/metadata.xml25
-rw-r--r--dev-python/imread/Manifest1
-rw-r--r--dev-python/imread/imread-0.7.3-r1.ebuild28
-rw-r--r--dev-python/imread/metadata.xml15
-rw-r--r--dev-python/incremental/Manifest2
-rw-r--r--dev-python/incremental/incremental-21.3.0-r1.ebuild30
-rw-r--r--dev-python/incremental/incremental-22.10.0-r1.ebuild29
-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.xml19
-rw-r--r--dev-python/indexed_gzip/Manifest1
-rw-r--r--dev-python/indexed_gzip/indexed_gzip-1.6.13.ebuild58
-rw-r--r--dev-python/indexed_gzip/metadata.xml27
-rw-r--r--dev-python/inflect/Manifest5
-rw-r--r--dev-python/inflect/inflect-5.6.0.ebuild26
-rw-r--r--dev-python/inflect/inflect-5.6.1.ebuild26
-rw-r--r--dev-python/inflect/inflect-5.6.2.ebuild26
-rw-r--r--dev-python/inflect/inflect-6.0.0.ebuild29
-rw-r--r--dev-python/inflect/inflect-7.2.1.ebuild30
-rw-r--r--dev-python/inflection/inflection-0.5.1-r1.ebuild15
-rw-r--r--dev-python/influxdb/Manifest1
-rw-r--r--dev-python/influxdb/files/influxdb-5.3.0-pandas-future-warning.patch15
-rw-r--r--dev-python/influxdb/files/influxdb.conf.template29
-rw-r--r--dev-python/influxdb/influxdb-5.3.0-r1.ebuild41
-rw-r--r--dev-python/influxdb/metadata.xml16
-rw-r--r--dev-python/ini2toml/Manifest2
-rw-r--r--dev-python/ini2toml/ini2toml-0.11-r1.ebuild51
-rw-r--r--dev-python/ini2toml/ini2toml-0.11.ebuild64
-rw-r--r--dev-python/ini2toml/ini2toml-0.14.ebuild46
-rw-r--r--dev-python/iniconfig/Manifest2
-rw-r--r--dev-python/iniconfig/iniconfig-1.1.1-r1.ebuild26
-rw-r--r--dev-python/iniconfig/iniconfig-2.0.0.ebuild31
-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.5.1-r1.ebuild42
-rw-r--r--dev-python/installer/installer-0.7.0.ebuild39
-rw-r--r--dev-python/intelhex/intelhex-2.3.0-r1.ebuild9
-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.ebuild4
-rw-r--r--dev-python/ioflo/Manifest2
-rw-r--r--dev-python/ioflo/ioflo-2.0.2-r2.ebuild40
-rw-r--r--dev-python/ioflo/ioflo-2.0.2-r4.ebuild37
-rw-r--r--dev-python/ipaddr/ipaddr-2.2.0-r2.ebuild7
-rw-r--r--dev-python/ipdb/Manifest2
-rw-r--r--dev-python/ipdb/ipdb-0.13.13.ebuild38
-rw-r--r--dev-python/ipdb/ipdb-0.13.9-r2.ebuild27
-rw-r--r--dev-python/ipdb/metadata.xml1
-rw-r--r--dev-python/ipykernel/Manifest3
-rw-r--r--dev-python/ipykernel/ipykernel-6.15.0.ebuild66
-rw-r--r--dev-python/ipykernel/ipykernel-6.15.1.ebuild66
-rw-r--r--dev-python/ipykernel/ipykernel-6.29.4.ebuild80
-rw-r--r--dev-python/ipyparallel/Manifest2
-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.8.0.ebuild86
-rw-r--r--dev-python/ipython/Manifest3
-rw-r--r--dev-python/ipython/ipython-8.23.0.ebuild179
-rw-r--r--dev-python/ipython/ipython-8.24.0.ebuild179
-rw-r--r--dev-python/ipython/ipython-8.4.0.ebuild170
-rw-r--r--dev-python/ipython/metadata.xml7
-rw-r--r--dev-python/ipython_genutils/ipython_genutils-0.2.0-r3.ebuild22
-rw-r--r--dev-python/ipython_genutils/ipython_genutils-0.2.0-r4.ebuild18
-rw-r--r--dev-python/ipywidgets/Manifest2
-rw-r--r--dev-python/ipywidgets/ipywidgets-7.7.1.ebuild38
-rw-r--r--dev-python/ipywidgets/ipywidgets-8.1.2.ebuild61
-rw-r--r--dev-python/irc/Manifest3
-rw-r--r--dev-python/irc/irc-20.0.0-r1.ebuild46
-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.0.2-r1.ebuild29
-rw-r--r--dev-python/iso8601/iso8601-2.1.0.ebuild28
-rw-r--r--dev-python/isodate/isodate-0.6.1-r1.ebuild9
-rw-r--r--dev-python/isoduration/isoduration-20.11.0-r1.ebuild6
-rw-r--r--dev-python/isort/Manifest2
-rw-r--r--dev-python/isort/isort-5.10.1-r1.ebuild65
-rw-r--r--dev-python/isort/isort-5.13.2.ebuild82
-rw-r--r--dev-python/itsdangerous/Manifest2
-rw-r--r--dev-python/itsdangerous/itsdangerous-2.1.2.ebuild29
-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/itunespy/metadata.xml4
-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/Manifest1
-rw-r--r--dev-python/jack-client/jack-client-0.5.4.ebuild40
-rw-r--r--dev-python/jack-client/metadata.xml12
-rw-r--r--dev-python/jaraco-classes/Manifest3
-rw-r--r--dev-python/jaraco-classes/jaraco-classes-3.2.1-r1.ebuild31
-rw-r--r--dev-python/jaraco-classes/jaraco-classes-3.2.2.ebuild31
-rw-r--r--dev-python/jaraco-classes/jaraco-classes-3.4.0.ebuild27
-rw-r--r--dev-python/jaraco-classes/metadata.xml4
-rw-r--r--dev-python/jaraco-collections/Manifest3
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-3.5.1-r1.ebuild31
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-3.5.2.ebuild31
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-5.0.1.ebuild35
-rw-r--r--dev-python/jaraco-collections/metadata.xml5
-rw-r--r--dev-python/jaraco-context/Manifest4
-rw-r--r--dev-python/jaraco-context/jaraco-context-4.1.1-r2.ebuild45
-rw-r--r--dev-python/jaraco-context/jaraco-context-4.1.2.ebuild45
-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-context/metadata.xml1
-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.0-r2.ebuild57
-rw-r--r--dev-python/jaraco-functools/jaraco-functools-3.5.1.ebuild57
-rw-r--r--dev-python/jaraco-functools/jaraco-functools-4.0.1.ebuild55
-rw-r--r--dev-python/jaraco-functools/metadata.xml5
-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.xml5
-rw-r--r--dev-python/jaraco-logging/Manifest2
-rw-r--r--dev-python/jaraco-logging/jaraco-logging-3.1.0-r1.ebuild36
-rw-r--r--dev-python/jaraco-logging/jaraco-logging-3.3.0.ebuild39
-rw-r--r--dev-python/jaraco-logging/metadata.xml4
-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.ebuild24
-rw-r--r--dev-python/jaraco-stream/metadata.xml4
-rw-r--r--dev-python/jaraco-test/Manifest2
-rw-r--r--dev-python/jaraco-test/jaraco-test-5.1.0.ebuild32
-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.12.0.ebuild57
-rw-r--r--dev-python/jaraco-text/jaraco-text-3.8.0.ebuild59
-rw-r--r--dev-python/jaraco-text/jaraco-text-3.8.1.ebuild59
-rw-r--r--dev-python/jaraco-text/metadata.xml5
-rw-r--r--dev-python/jaraco-vcs/Manifest2
-rw-r--r--dev-python/jaraco-vcs/jaraco-vcs-2.1.0.ebuild44
-rw-r--r--dev-python/jaraco-vcs/jaraco-vcs-2.2.0.ebuild44
-rw-r--r--dev-python/jaraco-vcs/metadata.xml12
-rw-r--r--dev-python/jaraco-versioning/Manifest1
-rw-r--r--dev-python/jaraco-versioning/jaraco-versioning-1.1.0.ebuild27
-rw-r--r--dev-python/jaraco-versioning/metadata.xml12
-rw-r--r--dev-python/jc/Manifest5
-rw-r--r--dev-python/jc/jc-1.20.1.ebuild31
-rw-r--r--dev-python/jc/jc-1.20.2.ebuild31
-rw-r--r--dev-python/jc/jc-1.20.4.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.ebuild9
-rw-r--r--dev-python/jedi/Manifest2
-rw-r--r--dev-python/jedi/jedi-0.18.1.ebuild79
-rw-r--r--dev-python/jedi/jedi-0.19.1.ebuild83
-rw-r--r--dev-python/jeepney/jeepney-0.8.0.ebuild21
-rw-r--r--dev-python/jeepney/metadata.xml2
-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/Manifest4
-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/jinja/jinja-3.1.4.ebuild46
-rw-r--r--dev-python/jinja2-time/jinja2-time-0.2.0-r1.ebuild10
-rw-r--r--dev-python/jinja2_pluralize/jinja2_pluralize-0.3.0-r1.ebuild8
-rw-r--r--dev-python/jmespath/jmespath-1.0.1.ebuild4
-rw-r--r--dev-python/jmespath/metadata.xml1
-rw-r--r--dev-python/joblib/Manifest3
-rw-r--r--dev-python/joblib/joblib-1.1.0-r1.ebuild47
-rw-r--r--dev-python/joblib/joblib-1.4.0.ebuild55
-rw-r--r--dev-python/joblib/joblib-1.4.2.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/Manifest5
-rw-r--r--dev-python/jq/jq-1.2.1.ebuild38
-rw-r--r--dev-python/jq/jq-1.2.2.ebuild39
-rw-r--r--dev-python/jq/jq-1.7.0.ebuild49
-rw-r--r--dev-python/js2py/Manifest2
-rw-r--r--dev-python/js2py/js2py-0.71_p20210918.ebuild44
-rw-r--r--dev-python/js2py/js2py-0.74.ebuild40
-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.ebuild26
-rw-r--r--dev-python/jsmin/jsmin-3.0.1.ebuild14
-rw-r--r--dev-python/json-rpc/Manifest2
-rw-r--r--dev-python/json-rpc/json-rpc-1.13.0-r1.ebuild25
-rw-r--r--dev-python/json-rpc/json-rpc-1.15.0.ebuild39
-rw-r--r--dev-python/json-rpc/metadata.xml6
-rw-r--r--dev-python/json5/Manifest3
-rw-r--r--dev-python/json5/json5-0.9.25.ebuild21
-rw-r--r--dev-python/json5/json5-0.9.8.ebuild27
-rw-r--r--dev-python/json5/json5-0.9.9.ebuild27
-rw-r--r--dev-python/jsondiff/Manifest1
-rw-r--r--dev-python/jsondiff/jsondiff-2.0.0-r1.ebuild37
-rw-r--r--dev-python/jsondiff/jsondiff-2.0.0.ebuild37
-rw-r--r--dev-python/jsonext/jsonext-0.4.2-r1.ebuild9
-rw-r--r--dev-python/jsonmerge/Manifest2
-rw-r--r--dev-python/jsonmerge/jsonmerge-1.8.0-r1.ebuild20
-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/Manifest2
-rw-r--r--dev-python/jsonpickle/jsonpickle-2.2.0.ebuild61
-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/Manifest2
-rw-r--r--dev-python/jsonref/jsonref-0.2.ebuild26
-rw-r--r--dev-python/jsonref/jsonref-1.1.0.ebuild29
-rw-r--r--dev-python/jsonrpclib/jsonrpclib-0.4.3.2.ebuild4
-rw-r--r--dev-python/jsonrpclib/jsonrpclib-9999.ebuild40
-rw-r--r--dev-python/jsonrpclib/metadata.xml4
-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/Manifest1
-rw-r--r--dev-python/jsonschema-spec/jsonschema-spec-0.2.4-r1.ebuild47
-rw-r--r--dev-python/jsonschema-spec/metadata.xml13
-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/Manifest7
-rw-r--r--dev-python/jsonschema/jsonschema-4.21.1.ebuild57
-rw-r--r--dev-python/jsonschema/jsonschema-4.22.0.ebuild57
-rw-r--r--dev-python/jsonschema/jsonschema-4.6.2.ebuild53
-rw-r--r--dev-python/jsonschema/jsonschema-4.7.2.ebuild53
-rw-r--r--dev-python/jsonschema/jsonschema-4.8.0.ebuild53
-rw-r--r--dev-python/jsonschema/jsonschema-4.9.0.ebuild54
-rw-r--r--dev-python/jsonschema/jsonschema-4.9.1.ebuild54
-rw-r--r--dev-python/jsonschema/metadata.xml2
-rw-r--r--dev-python/jsonxs/jsonxs-0.6-r1.ebuild9
-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.xml17
-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/Manifest2
-rw-r--r--dev-python/jupyter-lsp/jupyter-lsp-1.5.1.ebuild46
-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/Manifest1
-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/Manifest1
-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/Manifest3
-rw-r--r--dev-python/jupyter-server-proxy/jupyter-server-proxy-3.2.1.ebuild29
-rw-r--r--dev-python/jupyter-server-proxy/jupyter-server-proxy-3.2.2.ebuild29
-rw-r--r--dev-python/jupyter-server-proxy/jupyter-server-proxy-4.1.2.ebuild50
-rw-r--r--dev-python/jupyter-server-terminals/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/Manifest1
-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/Manifest1
-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.3.4.ebuild46
-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/Manifest3
-rw-r--r--dev-python/jupyter_core/jupyter_core-4.10.0.ebuild31
-rw-r--r--dev-python/jupyter_core/jupyter_core-4.11.0.ebuild30
-rw-r--r--dev-python/jupyter_core/jupyter_core-4.11.1.ebuild30
-rw-r--r--dev-python/jupyter_kernel_test/Manifest1
-rw-r--r--dev-python/jupyter_kernel_test/jupyter_kernel_test-0.4.3.ebuild28
-rw-r--r--dev-python/jupyter_packaging/Manifest1
-rw-r--r--dev-python/jupyter_packaging/jupyter_packaging-0.12.2.ebuild43
-rw-r--r--dev-python/jupyter_server/Manifest2
-rw-r--r--dev-python/jupyter_server/jupyter_server-1.18.0.ebuild76
-rw-r--r--dev-python/jupyter_server/jupyter_server-1.18.1.ebuild76
-rw-r--r--dev-python/jupyter_server_mathjax/Manifest2
-rw-r--r--dev-python/jupyter_server_mathjax/jupyter_server_mathjax-0.2.5.ebuild39
-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.1.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/Manifest1
-rw-r--r--dev-python/jupyterlab-server/jupyterlab-server-2.27.1.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/Manifest5
-rw-r--r--dev-python/jupyterlab/jupyterlab-3.4.3.ebuild68
-rw-r--r--dev-python/jupyterlab/jupyterlab-4.1.6.ebuild80
-rw-r--r--dev-python/jupyterlab/jupyterlab-4.1.7.ebuild80
-rw-r--r--dev-python/jupyterlab/jupyterlab-4.1.8.ebuild80
-rw-r--r--dev-python/jupyterlab/jupyterlab-4.2.0.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/Manifest2
-rw-r--r--dev-python/jupyterlab_server/jupyterlab_server-2.14.0.ebuild54
-rw-r--r--dev-python/jupyterlab_server/jupyterlab_server-2.15.0.ebuild61
-rw-r--r--dev-python/jwcrypto/Manifest2
-rw-r--r--dev-python/jwcrypto/jwcrypto-1.3.1.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.1-r1.ebuild16
-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/Manifest1
-rw-r--r--dev-python/kaitaistruct/kaitaistruct-0.10.ebuild9
-rw-r--r--dev-python/kaitaistruct/kaitaistruct-0.9-r1.ebuild16
-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/kazoo/Manifest1
-rw-r--r--dev-python/kazoo/kazoo-2.8.0.ebuild52
-rw-r--r--dev-python/kazoo/metadata.xml16
-rw-r--r--dev-python/kconfiglib/Manifest2
-rw-r--r--dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild15
-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.patch33
-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/Manifest7
-rw-r--r--dev-python/keyring/keyring-23.6.0.ebuild51
-rw-r--r--dev-python/keyring/keyring-23.7.0.ebuild51
-rw-r--r--dev-python/keyring/keyring-23.8.0.ebuild51
-rw-r--r--dev-python/keyring/keyring-23.8.2.ebuild51
-rw-r--r--dev-python/keyring/keyring-24.3.1.ebuild46
-rw-r--r--dev-python/keyring/keyring-25.1.0.ebuild52
-rw-r--r--dev-python/keyring/keyring-25.2.0.ebuild52
-rw-r--r--dev-python/keyrings-alt/Manifest2
-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/keyrings-alt/metadata.xml13
-rw-r--r--dev-python/keystoneauth/Manifest2
-rw-r--r--dev-python/keystoneauth/keystoneauth-4.6.0.ebuild62
-rw-r--r--dev-python/keystoneauth/keystoneauth-5.0.0.ebuild62
-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.ebuild10
-rw-r--r--dev-python/kiwisolver/Manifest3
-rw-r--r--dev-python/kiwisolver/kiwisolver-1.4.3.ebuild37
-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/klein-21.8.0.ebuild43
-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.2.4.ebuild79
-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.3.0-r1.ebuild34
-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.2.ebuild44
-rw-r--r--dev-python/lark/lark-1.1.9.ebuild40
-rw-r--r--dev-python/lark/metadata.xml1
-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/Manifest2
-rw-r--r--dev-python/lazy-object-proxy/files/lazy-object-proxy-1.10.0-pure-tests.patch29
-rw-r--r--dev-python/lazy-object-proxy/lazy-object-proxy-1.10.0.ebuild50
-rw-r--r--dev-python/lazy-object-proxy/lazy-object-proxy-1.7.1-r1.ebuild34
-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.3.4.ebuild26
-rw-r--r--dev-python/leather/leather-0.4.0.ebuild34
-rw-r--r--dev-python/leechcorepyc/Manifest4
-rw-r--r--dev-python/leechcorepyc/files/leechcorepyc-2.10.2-respect-CC.patch49
-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.10.2.ebuild35
-rw-r--r--dev-python/leechcorepyc/leechcorepyc-2.12.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/Manifest2
-rw-r--r--dev-python/lesscpy/lesscpy-0.15.0.ebuild21
-rw-r--r--dev-python/lesscpy/lesscpy-0.15.1.ebuild26
-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/Manifest1
-rw-r--r--dev-python/libcloud/libcloud-3.6.0.ebuild60
-rw-r--r--dev-python/libcst/Manifest114
-rw-r--r--dev-python/libcst/libcst-1.3.1.ebuild182
-rw-r--r--dev-python/libcst/metadata.xml11
-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.xml17
-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/libpillowfight/metadata.xml1
-rw-r--r--dev-python/libpy_simdjson/Manifest1
-rw-r--r--dev-python/libpy_simdjson/libpy_simdjson-0.4.0.ebuild35
-rw-r--r--dev-python/libpy_simdjson/metadata.xml12
-rw-r--r--dev-python/libsass/Manifest2
-rw-r--r--dev-python/libsass/files/libsass-0.20.0_rename_sassc.patch64
-rw-r--r--dev-python/libsass/libsass-0.21.0-r1.ebuild58
-rw-r--r--dev-python/libsass/libsass-0.23.0.ebuild62
-rw-r--r--dev-python/libsass/metadata.xml1
-rw-r--r--dev-python/libtmux/Manifest16
-rw-r--r--dev-python/libtmux/libtmux-0.10.3.ebuild37
-rw-r--r--dev-python/libtmux/libtmux-0.11.0.ebuild37
-rw-r--r--dev-python/libtmux/libtmux-0.12.0.ebuild41
-rw-r--r--dev-python/libtmux/libtmux-0.13.0.ebuild44
-rw-r--r--dev-python/libtmux/libtmux-0.14.0.ebuild48
-rw-r--r--dev-python/libtmux/libtmux-0.21.0.ebuild56
-rw-r--r--dev-python/libtmux/libtmux-0.27.0.ebuild59
-rw-r--r--dev-python/libtmux/libtmux-0.28.0.ebuild59
-rw-r--r--dev-python/libtmux/libtmux-0.30.1.ebuild57
-rw-r--r--dev-python/libtmux/libtmux-0.30.2.ebuild60
-rw-r--r--dev-python/libtmux/libtmux-0.32.0.ebuild62
-rw-r--r--dev-python/libtmux/libtmux-0.33.0.ebuild55
-rw-r--r--dev-python/libtmux/libtmux-0.35.0.ebuild62
-rw-r--r--dev-python/libtmux/libtmux-0.35.1.ebuild62
-rw-r--r--dev-python/libtmux/libtmux-0.36.0.ebuild62
-rw-r--r--dev-python/libtmux/libtmux-0.37.0.ebuild62
-rw-r--r--dev-python/libvirt-python/Manifest28
-rw-r--r--dev-python/libvirt-python/libvirt-python-10.0.0.ebuild63
-rw-r--r--dev-python/libvirt-python/libvirt-python-10.1.0.ebuild63
-rw-r--r--dev-python/libvirt-python/libvirt-python-10.2.0.ebuild63
-rw-r--r--dev-python/libvirt-python/libvirt-python-10.3.0.ebuild63
-rw-r--r--dev-python/libvirt-python/libvirt-python-7.10.0.ebuild51
-rw-r--r--dev-python/libvirt-python/libvirt-python-7.7.0.ebuild51
-rw-r--r--dev-python/libvirt-python/libvirt-python-8.0.0.ebuild51
-rw-r--r--dev-python/libvirt-python/libvirt-python-8.1.0.ebuild53
-rw-r--r--dev-python/libvirt-python/libvirt-python-8.2.0.ebuild52
-rw-r--r--dev-python/libvirt-python/libvirt-python-8.3.0.ebuild56
-rw-r--r--dev-python/libvirt-python/libvirt-python-8.4.0.ebuild56
-rw-r--r--dev-python/libvirt-python/libvirt-python-8.5.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.ebuild19
-rw-r--r--dev-python/license-expression/Manifest2
-rw-r--r--dev-python/license-expression/license-expression-30.0.0.ebuild34
-rw-r--r--dev-python/license-expression/license-expression-30.3.0.ebuild34
-rw-r--r--dev-python/line-profiler/Manifest2
-rw-r--r--dev-python/line-profiler/line-profiler-4.1.2.ebuild46
-rw-r--r--dev-python/line-profiler/line-profiler-4.1.3.ebuild46
-rw-r--r--dev-python/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-3.5.1.ebuild51
-rw-r--r--dev-python/linkify-it-py/Manifest1
-rw-r--r--dev-python/linkify-it-py/linkify-it-py-2.0.3.ebuild30
-rw-r--r--dev-python/linkify-it-py/metadata.xml13
-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/Manifest15
-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.0.9999.ebuild42
-rw-r--r--dev-python/lit/lit-15.0.7.ebuild42
-rw-r--r--dev-python/lit/lit-16.0.0.9999.ebuild42
-rw-r--r--dev-python/lit/lit-16.0.6.ebuild42
-rw-r--r--dev-python/lit/lit-17.0.6.ebuild46
-rw-r--r--dev-python/lit/lit-18.1.4.ebuild46
-rw-r--r--dev-python/lit/lit-18.1.5.ebuild46
-rw-r--r--dev-python/lit/lit-19.0.0.9999.ebuild45
-rw-r--r--dev-python/lit/lit-19.0.0_pre20240427.ebuild45
-rw-r--r--dev-python/lit/lit-19.0.0_pre20240504.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.3.0.ebuild39
-rw-r--r--dev-python/lmdb/lmdb-1.4.1.ebuild41
-rw-r--r--dev-python/lmfit/Manifest4
-rw-r--r--dev-python/lmfit/lmfit-1.0.3.ebuild29
-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/lmfit/lmfit-1.3.1.ebuild37
-rw-r--r--dev-python/lmfit/metadata.xml1
-rw-r--r--dev-python/locket/locket-1.0.0.ebuild6
-rw-r--r--dev-python/lockfile/lockfile-0.12.2-r3.ebuild9
-rw-r--r--dev-python/logbook/Manifest2
-rw-r--r--dev-python/logbook/logbook-1.5.3.ebuild45
-rw-r--r--dev-python/logbook/logbook-1.7.0.ebuild58
-rw-r--r--dev-python/logfury/logfury-1.0.1-r1.ebuild39
-rw-r--r--dev-python/logfury/logfury-1.0.1.ebuild33
-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.1.0.ebuild41
-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/lunr/Manifest1
-rw-r--r--dev-python/lunr/lunr-0.6.2.ebuild31
-rw-r--r--dev-python/lunr/metadata.xml12
-rw-r--r--dev-python/lxml-html-clean/Manifest1
-rw-r--r--dev-python/lxml-html-clean/lxml-html-clean-0.1.1.ebuild24
-rw-r--r--dev-python/lxml-html-clean/metadata.xml16
-rw-r--r--dev-python/lxml/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.1.ebuild108
-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.ebuild126
-rw-r--r--dev-python/lxml/metadata.xml1
-rw-r--r--dev-python/lz4/Manifest3
-rw-r--r--dev-python/lz4/lz4-4.0.1.ebuild39
-rw-r--r--dev-python/lz4/lz4-4.0.2.ebuild39
-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.14.0.ebuild31
-rw-r--r--dev-python/makefun/makefun-1.15.2.ebuild30
-rw-r--r--dev-python/mako/Manifest2
-rw-r--r--dev-python/mako/mako-1.2.1.ebuild58
-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.ebuild6
-rw-r--r--dev-python/manuel/Manifest2
-rw-r--r--dev-python/manuel/manuel-1.12.4.ebuild37
-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/Manifest2
-rw-r--r--dev-python/mapbox_earcut/mapbox_earcut-1.0.0.ebuild30
-rw-r--r--dev-python/mapbox_earcut/mapbox_earcut-1.0.1-r1.ebuild37
-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.ebuild46
-rw-r--r--dev-python/markdown-it-py/markdown-it-py-3.0.0.ebuild40
-rw-r--r--dev-python/markdown/Manifest5
-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.4.ebuild40
-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/Manifest2
-rw-r--r--dev-python/markdown2/markdown2-2.4.13.ebuild31
-rw-r--r--dev-python/markdown2/markdown2-2.4.3.ebuild32
-rw-r--r--dev-python/markups/Manifest2
-rw-r--r--dev-python/markups/markups-3.1.3.ebuild38
-rw-r--r--dev-python/markups/markups-4.0.0.ebuild39
-rw-r--r--dev-python/markupsafe/Manifest3
-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.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.16.0.ebuild30
-rw-r--r--dev-python/marshmallow/marshmallow-3.17.0.ebuild36
-rw-r--r--dev-python/marshmallow/marshmallow-3.21.1.ebuild36
-rw-r--r--dev-python/marshmallow/marshmallow-3.21.2.ebuild36
-rw-r--r--dev-python/matplotlib-inline/Manifest2
-rw-r--r--dev-python/matplotlib-inline/matplotlib-inline-0.1.3-r1.ebuild25
-rw-r--r--dev-python/matplotlib-inline/matplotlib-inline-0.1.7.ebuild35
-rw-r--r--dev-python/matplotlib/Manifest4
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.5.0-test.patch248
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.5.2-test.patch261
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.8.0-test.patch263
-rw-r--r--dev-python/matplotlib/matplotlib-3.5.1-r2.ebuild289
-rw-r--r--dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild282
-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/matplotlib/metadata.xml2
-rw-r--r--dev-python/matrix-common/Manifest2
-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/metadata.xml9
-rw-r--r--dev-python/matterhook/matterhook-0.2-r2.ebuild7
-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/Manifest1
-rw-r--r--dev-python/mccabe/mccabe-0.6.1-r2.ebuild25
-rw-r--r--dev-python/mccabe/mccabe-0.7.0.ebuild9
-rw-r--r--dev-python/mdit-py-plugins/Manifest2
-rw-r--r--dev-python/mdit-py-plugins/mdit-py-plugins-0.3.0.ebuild34
-rw-r--r--dev-python/mdit-py-plugins/mdit-py-plugins-0.4.0.ebuild34
-rw-r--r--dev-python/mdurl/Manifest2
-rw-r--r--dev-python/mdurl/mdurl-0.1.1.ebuild25
-rw-r--r--dev-python/mdurl/mdurl-0.1.2.ebuild25
-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/Manifest2
-rw-r--r--dev-python/mdx_gh_links/mdx_gh_links-0.2-r1.ebuild20
-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.ebuild11
-rw-r--r--dev-python/mechanize/Manifest3
-rw-r--r--dev-python/mechanize/files/mechanize-0.4.8-python3.11-test-order.patch79
-rw-r--r--dev-python/mechanize/files/mechanize-0.4.9-test.patch23
-rw-r--r--dev-python/mechanize/mechanize-0.4.10.ebuild34
-rw-r--r--dev-python/mechanize/mechanize-0.4.8.ebuild33
-rw-r--r--dev-python/mechanize/mechanize-0.4.9.ebuild39
-rw-r--r--dev-python/mechanize/metadata.xml1
-rw-r--r--dev-python/mediafile/Manifest2
-rw-r--r--dev-python/mediafile/mediafile-0.12.0.ebuild31
-rw-r--r--dev-python/mediafile/mediafile-0.9.0-r1.ebuild24
-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.60.ebuild55
-rw-r--r--dev-python/memory_profiler/metadata.xml17
-rw-r--r--dev-python/merge3/Manifest2
-rw-r--r--dev-python/merge3/merge3-0.0.14.ebuild25
-rw-r--r--dev-python/merge3/merge3-0.0.15.ebuild25
-rw-r--r--dev-python/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.ebuild14
-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/Manifest6
-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/files/meson-python-0.5.0-defaults.patch23
-rw-r--r--dev-python/meson-python/files/meson-python-0.7.0-defaults.patch14
-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/meson-python/meson-python-0.6.0-r1.ebuild50
-rw-r--r--dev-python/meson-python/meson-python-0.7.0.ebuild45
-rw-r--r--dev-python/meson-python/meson-python-0.8.0.ebuild45
-rw-r--r--dev-python/meson-python/meson-python-0.8.1.ebuild45
-rw-r--r--dev-python/meson-python/metadata.xml2
-rw-r--r--dev-python/metakernel/Manifest5
-rw-r--r--dev-python/metakernel/files/metakernel-0.25.0-disable-brittle-tests.patch23
-rw-r--r--dev-python/metakernel/metakernel-0.29.0.ebuild34
-rw-r--r--dev-python/metakernel/metakernel-0.29.1.ebuild38
-rw-r--r--dev-python/metakernel/metakernel-0.29.2.ebuild38
-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/Manifest1
-rw-r--r--dev-python/mido/metadata.xml16
-rw-r--r--dev-python/mido/mido-1.3.2.ebuild40
-rw-r--r--dev-python/mimerender/mimerender-0.6.0-r1.ebuild6
-rw-r--r--dev-python/minidb/Manifest3
-rw-r--r--dev-python/minidb/minidb-2.0.6.ebuild20
-rw-r--r--dev-python/minidb/minidb-2.0.7.ebuild22
-rw-r--r--dev-python/minidb/minidb-2.0.8.ebuild22
-rw-r--r--dev-python/minify-html/Manifest2
-rw-r--r--dev-python/minify-html/metadata.xml11
-rw-r--r--dev-python/minify-html/minify-html-0.15.0.ebuild45
-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.ebuild6
-rw-r--r--dev-python/miniupnpc/Manifest4
-rw-r--r--dev-python/miniupnpc/files/miniupnpc-2.2.3-shared-lib.patch5
-rw-r--r--dev-python/miniupnpc/miniupnpc-2.2.3.ebuild34
-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/Manifest195
-rw-r--r--dev-python/mitmproxy_wireguard/metadata.xml9
-rw-r--r--dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild232
-rw-r--r--dev-python/mkautodoc/Manifest1
-rw-r--r--dev-python/mkautodoc/mkautodoc-0.1.0-r1.ebuild32
-rw-r--r--dev-python/mkautodoc/mkautodoc-0.2.0.ebuild6
-rw-r--r--dev-python/mkdocs-ansible/Manifest1
-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-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.ebuild4
-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-get-deps/Manifest1
-rw-r--r--dev-python/mkdocs-get-deps/metadata.xml13
-rw-r--r--dev-python/mkdocs-get-deps/mkdocs-get-deps-0.2.0.ebuild27
-rw-r--r--dev-python/mkdocs-git-authors-plugin/Manifest2
-rw-r--r--dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.6.4.ebuild52
-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/Manifest3
-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-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.5.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/Manifest2
-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-macros-plugin/mkdocs-macros-plugin-1.0.5.ebuild34
-rw-r--r--dev-python/mkdocs-material-extensions/Manifest2
-rw-r--r--dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.0.3-r1.ebuild31
-rw-r--r--dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.3.1.ebuild34
-rw-r--r--dev-python/mkdocs-material/Manifest5
-rw-r--r--dev-python/mkdocs-material/files/mkdocs-material-8.5.7-simplify-build.patch19
-rw-r--r--dev-python/mkdocs-material/metadata.xml5
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-8.3.9.ebuild41
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.5.18.ebuild67
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.5.19.ebuild67
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.5.20.ebuild67
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.5.21.ebuild67
-rw-r--r--dev-python/mkdocs-minify-plugin/Manifest2
-rw-r--r--dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.5.0-r2.ebuild26
-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/Manifest3
-rw-r--r--dev-python/mkdocs-redirects/metadata.xml2
-rw-r--r--dev-python/mkdocs-redirects/mkdocs-redirects-1.0.4-r1.ebuild28
-rw-r--r--dev-python/mkdocs-redirects/mkdocs-redirects-1.0.5.ebuild31
-rw-r--r--dev-python/mkdocs-redirects/mkdocs-redirects-1.2.1.ebuild31
-rw-r--r--dev-python/mkdocs-static-i18n/Manifest2
-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-static-i18n/mkdocs-static-i18n-1.2.3.ebuild32
-rw-r--r--dev-python/mkdocs/Manifest3
-rw-r--r--dev-python/mkdocs/mkdocs-1.3.0-r1.ebuild82
-rw-r--r--dev-python/mkdocs/mkdocs-1.3.1.ebuild83
-rw-r--r--dev-python/mkdocs/mkdocs-1.6.0.ebuild86
-rw-r--r--dev-python/mkdocs_pymdownx_material_extras/Manifest5
-rw-r--r--dev-python/mkdocs_pymdownx_material_extras/metadata.xml27
-rw-r--r--dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-1.0.7.ebuild22
-rw-r--r--dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-1.1.3.ebuild22
-rw-r--r--dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.1.ebuild23
-rw-r--r--dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.2.1.ebuild23
-rw-r--r--dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.2.ebuild23
-rw-r--r--dev-python/mkdocstrings-python/Manifest2
-rw-r--r--dev-python/mkdocstrings-python/metadata.xml13
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.10.0.ebuild40
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.9.2.ebuild40
-rw-r--r--dev-python/mkdocstrings/Manifest3
-rw-r--r--dev-python/mkdocstrings/metadata.xml13
-rw-r--r--dev-python/mkdocstrings/mkdocstrings-0.24.3.ebuild61
-rw-r--r--dev-python/mkdocstrings/mkdocstrings-0.25.0.ebuild61
-rw-r--r--dev-python/mkdocstrings/mkdocstrings-0.25.1.ebuild61
-rw-r--r--dev-python/ml-dtypes/Manifest3
-rw-r--r--dev-python/ml-dtypes/metadata.xml16
-rw-r--r--dev-python/ml-dtypes/ml-dtypes-0.3.2-r1.ebuild37
-rw-r--r--dev-python/ml-dtypes/ml-dtypes-0.4.0.ebuild62
-rw-r--r--dev-python/mmtf-python/Manifest1
-rw-r--r--dev-python/mmtf-python/mmtf-python-1.1.2-r1.ebuild28
-rw-r--r--dev-python/mmtf-python/mmtf-python-1.1.3.ebuild15
-rw-r--r--dev-python/mock/Manifest2
-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.1.0.ebuild23
-rw-r--r--dev-python/moddb/Manifest2
-rw-r--r--dev-python/moddb/metadata.xml13
-rw-r--r--dev-python/moddb/moddb-0.10.0.ebuild54
-rw-r--r--dev-python/moddb/moddb-0.11.0.ebuild52
-rw-r--r--dev-python/mongomock/Manifest2
-rw-r--r--dev-python/mongomock/metadata.xml13
-rw-r--r--dev-python/mongomock/mongomock-4.0.0.ebuild33
-rw-r--r--dev-python/mongomock/mongomock-4.1.2.ebuild34
-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-8.13.0.ebuild25
-rw-r--r--dev-python/moto/Manifest5
-rw-r--r--dev-python/moto/metadata.xml2
-rw-r--r--dev-python/moto/moto-3.1.16.ebuild90
-rw-r--r--dev-python/moto/moto-3.1.17.ebuild90
-rw-r--r--dev-python/moto/moto-4.2.14.ebuild139
-rw-r--r--dev-python/moto/moto-5.0.5.ebuild153
-rw-r--r--dev-python/moto/moto-5.0.6.ebuild153
-rw-r--r--dev-python/mpdlcd/Manifest2
-rw-r--r--dev-python/mpdlcd/mpdlcd-0.5.2-r1.ebuild33
-rw-r--r--dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild41
-rw-r--r--dev-python/mpi4py/Manifest2
-rw-r--r--dev-python/mpi4py/files/mpi4py-3.1.5-test_memory.testReadOnly.patch33
-rw-r--r--dev-python/mpi4py/mpi4py-3.1.3.ebuild63
-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/Manifest5
-rw-r--r--dev-python/mrcfile/mrcfile-1.3.0.ebuild29
-rw-r--r--dev-python/mrcfile/mrcfile-1.4.0.ebuild29
-rw-r--r--dev-python/mrcfile/mrcfile-1.4.1.ebuild29
-rw-r--r--dev-python/mrcfile/mrcfile-1.4.2.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.ebuild47
-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.xml7
-rw-r--r--dev-python/mss/mss-6.1.0.ebuild31
-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.2.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.ebuild18
-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.ebuild6
-rw-r--r--dev-python/mypy/Manifest4
-rw-r--r--dev-python/mypy/metadata.xml7
-rw-r--r--dev-python/mypy/mypy-0.961.ebuild62
-rw-r--r--dev-python/mypy/mypy-0.971.ebuild63
-rw-r--r--dev-python/mypy/mypy-1.10.0.ebuild112
-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-r1.ebuild25
-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/Manifest4
-rw-r--r--dev-python/myst-parser/files/myst-parser-2.0.0-sphinx-7.3.patch81
-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-r1.ebuild71
-rw-r--r--dev-python/myst-parser/myst-parser-3.0.0.ebuild58
-rw-r--r--dev-python/myst-parser/myst-parser-3.0.1.ebuild58
-rw-r--r--dev-python/myst_parser/Manifest1
-rw-r--r--dev-python/myst_parser/myst_parser-0.18.0.ebuild61
-rw-r--r--dev-python/nagiosplugin/nagiosplugin-1.3.3.ebuild17
-rw-r--r--dev-python/natsort/Manifest2
-rw-r--r--dev-python/natsort/natsort-8.1.0.ebuild29
-rw-r--r--dev-python/natsort/natsort-8.4.0.ebuild32
-rw-r--r--dev-python/nautilus-python/Manifest3
-rw-r--r--dev-python/nautilus-python/files/nautilus-python-1.2.3-gcc10-fnocommon.patch147
-rw-r--r--dev-python/nautilus-python/metadata.xml11
-rw-r--r--dev-python/nautilus-python/nautilus-python-1.2.3-r1.ebuild41
-rw-r--r--dev-python/nautilus-python/nautilus-python-4.0.1.ebuild52
-rw-r--r--dev-python/nautilus-python/nautilus-python-4.0.ebuild51
-rw-r--r--dev-python/nbclassic/Manifest2
-rw-r--r--dev-python/nbclassic/metadata.xml2
-rw-r--r--dev-python/nbclassic/nbclassic-0.3.7.ebuild37
-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.6.6.ebuild46
-rw-r--r--dev-python/nbconvert/Manifest3
-rw-r--r--dev-python/nbconvert/files/nbconvert-6.5.0-mistune-2.patch339
-rw-r--r--dev-python/nbconvert/nbconvert-6.5.0-r1.ebuild82
-rw-r--r--dev-python/nbconvert/nbconvert-6.5.0-r2.ebuild83
-rw-r--r--dev-python/nbconvert/nbconvert-7.16.3.ebuild74
-rw-r--r--dev-python/nbconvert/nbconvert-7.16.4.ebuild74
-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/Manifest3
-rw-r--r--dev-python/nbformat/files/nbformat-5.7.1-no-node.patch27
-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/nbsphinx/Manifest3
-rw-r--r--dev-python/nbsphinx/nbsphinx-0.8.9.ebuild29
-rw-r--r--dev-python/nbsphinx/nbsphinx-0.9.3.ebuild28
-rw-r--r--dev-python/nbsphinx/nbsphinx-0.9.4.ebuild28
-rw-r--r--dev-python/nbval/Manifest2
-rw-r--r--dev-python/nbval/nbval-0.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/ndg-httpsclient/Manifest1
-rw-r--r--dev-python/ndg-httpsclient/files/ndg-httpsclient-0.5.1-expiration-test-fix.patch282
-rw-r--r--dev-python/ndg-httpsclient/metadata.xml13
-rw-r--r--dev-python/ndg-httpsclient/ndg-httpsclient-0.5.1.ebuild46
-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.ebuild8
-rw-r--r--dev-python/neovim-remote/neovim-remote-9999.ebuild4
-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.5.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/netifaces/netifaces-0.11.0.ebuild22
-rw-r--r--dev-python/networkx/Manifest3
-rw-r--r--dev-python/networkx/metadata.xml2
-rw-r--r--dev-python/networkx/networkx-2.8.4.ebuild58
-rw-r--r--dev-python/networkx/networkx-2.8.5.ebuild59
-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/nltk-data/Manifest111
-rw-r--r--dev-python/nltk-data/metadata.xml14
-rw-r--r--dev-python/nltk-data/nltk-data-20220704.ebuild223
-rw-r--r--dev-python/nltk/Manifest1
-rw-r--r--dev-python/nltk/metadata.xml14
-rw-r--r--dev-python/nltk/nltk-3.7.ebuild62
-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-random/Manifest1
-rw-r--r--dev-python/nose-random/metadata.xml11
-rw-r--r--dev-python/nose-random/nose-random-1.0.0.ebuild20
-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_p20211111_p1-r1.ebuild58
-rw-r--r--dev-python/nose2/Manifest4
-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/nose2/nose2-0.14.2.ebuild31
-rw-r--r--dev-python/nose_warnings_filters/Manifest1
-rw-r--r--dev-python/nose_warnings_filters/files/nose_warnings_filters-0.1.5-setuptools-newline-desc.patch13
-rw-r--r--dev-python/nose_warnings_filters/metadata.xml12
-rw-r--r--dev-python/nose_warnings_filters/nose_warnings_filters-0.1.5-r3.ebuild23
-rw-r--r--dev-python/noseofyeti/Manifest2
-rw-r--r--dev-python/noseofyeti/metadata.xml12
-rw-r--r--dev-python/noseofyeti/noseofyeti-2.4.8.ebuild33
-rw-r--r--dev-python/noseofyeti/noseofyeti-2.4.9.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/Manifest2
-rw-r--r--dev-python/notebook/files/notebook-6.4.11-no-mathjax.patch42
-rw-r--r--dev-python/notebook/notebook-6.4.12.ebuild97
-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.1.0.ebuild43
-rw-r--r--dev-python/notify2/notify2-0.3.1-r3.ebuild32
-rw-r--r--dev-python/nototools/Manifest1
-rw-r--r--dev-python/nototools/metadata.xml9
-rw-r--r--dev-python/nototools/nototools-0.2.16.ebuild35
-rw-r--r--dev-python/nox/Manifest3
-rw-r--r--dev-python/nox/metadata.xml13
-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.2.0.ebuild50
-rw-r--r--dev-python/nspektr/Manifest1
-rw-r--r--dev-python/nspektr/metadata.xml12
-rw-r--r--dev-python/nspektr/nspektr-0.4.0.ebuild61
-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.ebuild22
-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/nuitka/Manifest2
-rw-r--r--dev-python/nuitka/nuitka-1.0.1.ebuild49
-rw-r--r--dev-python/nuitka/nuitka-1.0.2.ebuild49
-rw-r--r--dev-python/numexpr/Manifest3
-rw-r--r--dev-python/numexpr/metadata.xml2
-rw-r--r--dev-python/numexpr/numexpr-2.10.0.ebuild49
-rw-r--r--dev-python/numexpr/numexpr-2.8.3.ebuild34
-rw-r--r--dev-python/numexpr/numexpr-2.9.0.ebuild40
-rw-r--r--dev-python/numpy/Manifest37
-rw-r--r--dev-python/numpy/files/numpy-1.21.0-no-hardcode-blasv2.patch53
-rw-r--r--dev-python/numpy/files/numpy-1.21.4-build-compiler-args-ceph.patch49
-rw-r--r--dev-python/numpy/files/numpy-1.22.0-no-hardcode-blasv2.patch50
-rw-r--r--dev-python/numpy/files/numpy-1.22.1-revert-setuptools-upper-bound.patch22
-rw-r--r--dev-python/numpy/files/numpy-1.22.4-py311.patch31
-rw-r--r--dev-python/numpy/files/numpy-1.26.1-more-arches.patch16
-rw-r--r--dev-python/numpy/metadata.xml2
-rw-r--r--dev-python/numpy/numpy-1.21.5.ebuild161
-rw-r--r--dev-python/numpy/numpy-1.22.0-r1.ebuild162
-rw-r--r--dev-python/numpy/numpy-1.22.1.ebuild167
-rw-r--r--dev-python/numpy/numpy-1.22.2.ebuild170
-rw-r--r--dev-python/numpy/numpy-1.22.3.ebuild178
-rw-r--r--dev-python/numpy/numpy-1.22.4.ebuild184
-rw-r--r--dev-python/numpy/numpy-1.23.0.ebuild192
-rw-r--r--dev-python/numpy/numpy-1.23.1.ebuild192
-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.ebuild167
-rw-r--r--dev-python/numpydoc/Manifest2
-rw-r--r--dev-python/numpydoc/numpydoc-1.4.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/Manifest2
-rw-r--r--dev-python/oauthlib/metadata.xml1
-rw-r--r--dev-python/oauthlib/oauthlib-3.2.0.ebuild30
-rw-r--r--dev-python/oauthlib/oauthlib-3.2.2.ebuild28
-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.2.0-r1.ebuild53
-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.1.ebuild37
-rw-r--r--dev-python/odfpy/odfpy-1.4.2.ebuild6
-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/Manifest3
-rw-r--r--dev-python/openapi-core/metadata.xml2
-rw-r--r--dev-python/openapi-core/openapi-core-0.14.2.ebuild63
-rw-r--r--dev-python/openapi-core/openapi-core-0.18.2.ebuild69
-rw-r--r--dev-python/openapi-core/openapi-core-0.19.1.ebuild71
-rw-r--r--dev-python/openapi-schema-validator/Manifest3
-rw-r--r--dev-python/openapi-schema-validator/metadata.xml3
-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.0.ebuild38
-rw-r--r--dev-python/openapi-schema-validator/openapi-schema-validator-0.6.2.ebuild33
-rw-r--r--dev-python/openapi-spec-validator/Manifest2
-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.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.ebuild35
-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/Manifest3
-rw-r--r--dev-python/openstackdocstheme/metadata.xml2
-rw-r--r--dev-python/openstackdocstheme/openstackdocstheme-2.4.0.ebuild25
-rw-r--r--dev-python/openstackdocstheme/openstackdocstheme-3.0.0.ebuild25
-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.100.0.ebuild86
-rw-r--r--dev-python/openstacksdk/openstacksdk-0.99.0.ebuild85
-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.ebuild34
-rw-r--r--dev-python/opt-einsum/opt-einsum-3.3.0.ebuild20
-rw-r--r--dev-python/ordered-set/metadata.xml2
-rw-r--r--dev-python/ordered-set/ordered-set-4.1.0.ebuild10
-rw-r--r--dev-python/orjson/Manifest56
-rw-r--r--dev-python/orjson/metadata.xml12
-rw-r--r--dev-python/orjson/orjson-3.10.1.ebuild95
-rw-r--r--dev-python/orjson/orjson-3.10.2.ebuild105
-rw-r--r--dev-python/orjson/orjson-3.10.3.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.ebuild11
-rw-r--r--dev-python/osc-lib/Manifest3
-rw-r--r--dev-python/osc-lib/osc-lib-2.6.0.ebuild47
-rw-r--r--dev-python/osc-lib/osc-lib-2.6.1.ebuild51
-rw-r--r--dev-python/osc-lib/osc-lib-3.0.1.ebuild51
-rw-r--r--dev-python/oslo-concurrency/Manifest3
-rw-r--r--dev-python/oslo-concurrency/metadata.xml4
-rw-r--r--dev-python/oslo-concurrency/oslo-concurrency-4.5.1.ebuild51
-rw-r--r--dev-python/oslo-concurrency/oslo-concurrency-5.0.0-r1.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/metadata.xml1
-rw-r--r--dev-python/oslo-config/oslo-config-8.8.0.ebuild48
-rw-r--r--dev-python/oslo-config/oslo-config-9.0.0.ebuild60
-rw-r--r--dev-python/oslo-config/oslo-config-9.4.0.ebuild58
-rw-r--r--dev-python/oslo-context/Manifest3
-rw-r--r--dev-python/oslo-context/oslo-context-4.1.0.ebuild32
-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/Manifest2
-rw-r--r--dev-python/oslo-log/metadata.xml6
-rw-r--r--dev-python/oslo-log/oslo-log-5.0.0.ebuild47
-rw-r--r--dev-python/oslo-log/oslo-log-5.5.1.ebuild69
-rw-r--r--dev-python/oslo-serialization/Manifest3
-rw-r--r--dev-python/oslo-serialization/metadata.xml1
-rw-r--r--dev-python/oslo-serialization/oslo-serialization-4.3.0.ebuild43
-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/metadata.xml1
-rw-r--r--dev-python/oslo-utils/oslo-utils-6.0.0-r1.ebuild58
-rw-r--r--dev-python/oslo-utils/oslo-utils-7.1.0-r1.ebuild54
-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/osrf_pycommon/Manifest1
-rw-r--r--dev-python/osrf_pycommon/metadata.xml16
-rw-r--r--dev-python/osrf_pycommon/osrf_pycommon-2.0.2.ebuild25
-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/Manifest2
-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/ovs/ovs-2.17.9.ebuild17
-rw-r--r--dev-python/owslib/Manifest2
-rw-r--r--dev-python/owslib/owslib-0.26.0.ebuild42
-rw-r--r--dev-python/owslib/owslib-0.30.0.ebuild65
-rw-r--r--dev-python/packaging/Manifest3
-rw-r--r--dev-python/packaging/packaging-21.3-r2.ebuild50
-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/Manifest4
-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/paho-mqtt/paho-mqtt-2.1.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.1.2.ebuild26
-rw-r--r--dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.3.ebuild26
-rw-r--r--dev-python/pandas-datareader/Manifest1
-rw-r--r--dev-python/pandas-datareader/metadata.xml25
-rw-r--r--dev-python/pandas-datareader/pandas-datareader-0.10.0.ebuild41
-rw-r--r--dev-python/pandas/Manifest3
-rw-r--r--dev-python/pandas/metadata.xml2
-rw-r--r--dev-python/pandas/pandas-1.4.3.ebuild197
-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/Manifest2
-rw-r--r--dev-python/parallax/metadata.xml4
-rw-r--r--dev-python/parallax/parallax-1.0.6.ebuild15
-rw-r--r--dev-python/parallax/parallax-1.0.8.ebuild18
-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.ebuild33
-rw-r--r--dev-python/parameterized/parameterized-0.9.0.ebuild31
-rw-r--r--dev-python/paramiko/Manifest2
-rw-r--r--dev-python/paramiko/files/paramiko-2.11.0-invoke-tests.patch40
-rw-r--r--dev-python/paramiko/files/paramiko-2.11.0-pytest-relaxed.patch94
-rw-r--r--dev-python/paramiko/files/paramiko-2.4.2-disable-server.patch46
-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/metadata.xml4
-rw-r--r--dev-python/paramiko/paramiko-2.11.0.ebuild62
-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.ebuild31
-rw-r--r--dev-python/parsedatetime/Manifest2
-rw-r--r--dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild22
-rw-r--r--dev-python/parsedatetime/parsedatetime-2.6.ebuild20
-rw-r--r--dev-python/parso/Manifest2
-rw-r--r--dev-python/parso/parso-0.8.3-r1.ebuild34
-rw-r--r--dev-python/parso/parso-0.8.4.ebuild34
-rw-r--r--dev-python/partd/Manifest3
-rw-r--r--dev-python/partd/partd-1.2.0.ebuild27
-rw-r--r--dev-python/partd/partd-1.4.1.ebuild42
-rw-r--r--dev-python/partd/partd-1.4.2.ebuild35
-rw-r--r--dev-python/parver/Manifest2
-rw-r--r--dev-python/parver/parver-0.3.1-r1.ebuild39
-rw-r--r--dev-python/parver/parver-0.5.ebuild37
-rw-r--r--dev-python/passlib/passlib-1.7.4-r2.ebuild54
-rw-r--r--dev-python/passlib/passlib-1.7.4-r3.ebuild61
-rw-r--r--dev-python/paste/Manifest4
-rw-r--r--dev-python/paste/metadata.xml1
-rw-r--r--dev-python/paste/paste-3.10.0.ebuild40
-rw-r--r--dev-python/paste/paste-3.10.1.ebuild39
-rw-r--r--dev-python/paste/paste-3.5.1.ebuild50
-rw-r--r--dev-python/paste/paste-3.9.0.ebuild40
-rw-r--r--dev-python/pastedeploy/Manifest2
-rw-r--r--dev-python/pastedeploy/files/pastedeploy-2.1.1-change-sphinx-theme.patch30
-rw-r--r--dev-python/pastedeploy/pastedeploy-2.1.1-r3.ebuild43
-rw-r--r--dev-python/pastedeploy/pastedeploy-3.1.ebuild41
-rw-r--r--dev-python/pastel/Manifest2
-rw-r--r--dev-python/pastel/metadata.xml6
-rw-r--r--dev-python/pastel/pastel-0.2.1-r1.ebuild25
-rw-r--r--dev-python/pastel/pastel-0.2.1.ebuild18
-rw-r--r--dev-python/patatt/Manifest2
-rw-r--r--dev-python/patatt/patatt-0.4.9-r1.ebuild19
-rw-r--r--dev-python/patatt/patatt-0.6.2.ebuild18
-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-py/Manifest1
-rw-r--r--dev-python/path-py/path-py-16.4.0.ebuild38
-rw-r--r--dev-python/path/Manifest1
-rw-r--r--dev-python/path/metadata.xml (renamed from dev-python/path-py/metadata.xml)0
-rw-r--r--dev-python/path/path-16.14.0.ebuild37
-rw-r--r--dev-python/pathable/Manifest1
-rw-r--r--dev-python/pathable/metadata.xml13
-rw-r--r--dev-python/pathable/pathable-0.4.3.ebuild28
-rw-r--r--dev-python/pathlib2/Manifest1
-rw-r--r--dev-python/pathlib2/metadata.xml13
-rw-r--r--dev-python/pathlib2/pathlib2-2.3.7_p1-r1.ebuild32
-rw-r--r--dev-python/pathspec/Manifest2
-rw-r--r--dev-python/pathspec/metadata.xml2
-rw-r--r--dev-python/pathspec/pathspec-0.12.1.ebuild21
-rw-r--r--dev-python/pathspec/pathspec-0.9.0-r1.ebuild22
-rw-r--r--dev-python/pathtools/Manifest1
-rw-r--r--dev-python/pathtools/metadata.xml12
-rw-r--r--dev-python/pathtools/pathtools-0.1.2-r3.ebuild16
-rw-r--r--dev-python/pathvalidate/Manifest3
-rw-r--r--dev-python/pathvalidate/pathvalidate-2.5.0.ebuild25
-rw-r--r--dev-python/pathvalidate/pathvalidate-2.5.1.ebuild27
-rw-r--r--dev-python/pathvalidate/pathvalidate-3.2.0.ebuild31
-rw-r--r--dev-python/patiencediff/Manifest3
-rw-r--r--dev-python/patiencediff/metadata.xml6
-rw-r--r--dev-python/patiencediff/patiencediff-0.2.14.ebuild27
-rw-r--r--dev-python/patiencediff/patiencediff-0.2.15.ebuild27
-rw-r--r--dev-python/patiencediff/patiencediff-0.2.2-r1.ebuild27
-rw-r--r--dev-python/patiencediff/patiencediff-0.2.2.ebuild17
-rw-r--r--dev-python/patsy/Manifest2
-rw-r--r--dev-python/patsy/metadata.xml3
-rw-r--r--dev-python/patsy/patsy-0.5.2.ebuild23
-rw-r--r--dev-python/patsy/patsy-0.5.6.ebuild30
-rw-r--r--dev-python/pbkdf2/pbkdf2-1.3-r2.ebuild14
-rw-r--r--dev-python/pbr/Manifest2
-rw-r--r--dev-python/pbr/pbr-5.9.0.ebuild71
-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/Manifest4
-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-backend/pdm-backend-2.3.0.ebuild82
-rw-r--r--dev-python/pdm-pep517/Manifest5
-rw-r--r--dev-python/pdm-pep517/metadata.xml2
-rw-r--r--dev-python/pdm-pep517/pdm-pep517-1.0.1.ebuild58
-rw-r--r--dev-python/pdm-pep517/pdm-pep517-1.0.2.ebuild58
-rw-r--r--dev-python/pdm-pep517/pdm-pep517-1.0.3.ebuild58
-rw-r--r--dev-python/pdm-pep517/pdm-pep517-1.0.4.ebuild58
-rw-r--r--dev-python/pdm-pep517/pdm-pep517-1.1.4.ebuild63
-rw-r--r--dev-python/pdm/Manifest2
-rw-r--r--dev-python/pdm/metadata.xml16
-rw-r--r--dev-python/pdm/pdm-2.15.1.ebuild117
-rw-r--r--dev-python/pdm/pdm-2.15.2.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-4.6.3.ebuild22
-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/Manifest2
-rw-r--r--dev-python/peewee/metadata.xml6
-rw-r--r--dev-python/peewee/peewee-3.15.1.ebuild41
-rw-r--r--dev-python/peewee/peewee-3.17.3.ebuild72
-rw-r--r--dev-python/pefile/Manifest2
-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.ebuild11
-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.xml13
-rw-r--r--dev-python/pendulum/pendulum-2.1.2-r1.ebuild30
-rw-r--r--dev-python/pep517/Manifest2
-rw-r--r--dev-python/pep517/metadata.xml12
-rw-r--r--dev-python/pep517/pep517-0.12.0-r1.ebuild45
-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.ebuild70
-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/Manifest2
-rw-r--r--dev-python/pgzero/pgzero-1.2.1-r1.ebuild39
-rw-r--r--dev-python/pgzero/pgzero-1.2.1-r2.ebuild39
-rw-r--r--dev-python/phonenumbers/Manifest4
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.12.52.ebuild39
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.12.53.ebuild39
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.13.35.ebuild39
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.13.36.ebuild39
-rw-r--r--dev-python/phply/Manifest2
-rw-r--r--dev-python/phply/phply-1.2.5.ebuild32
-rw-r--r--dev-python/phply/phply-1.2.6.ebuild34
-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.ebuild9
-rw-r--r--dev-python/piexif/piexif-1.1.3-r1.ebuild38
-rw-r--r--dev-python/piexif/piexif-1.1.3-r2.ebuild41
-rw-r--r--dev-python/pika/Manifest3
-rw-r--r--dev-python/pika/pika-1.2.0.ebuild20
-rw-r--r--dev-python/pika/pika-1.3.0.ebuild59
-rw-r--r--dev-python/pika/pika-1.3.2.ebuild63
-rw-r--r--dev-python/pikepdf/Manifest9
-rw-r--r--dev-python/pikepdf/pikepdf-5.2.0-r1.ebuild60
-rw-r--r--dev-python/pikepdf/pikepdf-5.3.1.ebuild61
-rw-r--r--dev-python/pikepdf/pikepdf-5.3.2.ebuild59
-rw-r--r--dev-python/pikepdf/pikepdf-5.4.0.ebuild61
-rw-r--r--dev-python/pikepdf/pikepdf-5.4.2.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/pilkit/Manifest1
-rw-r--r--dev-python/pilkit/metadata.xml19
-rw-r--r--dev-python/pilkit/pilkit-2.0.ebuild25
-rw-r--r--dev-python/pillow/Manifest6
-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.1.1.ebuild118
-rw-r--r--dev-python/pillow/pillow-9.2.0.ebuild125
-rw-r--r--dev-python/pip-run/Manifest3
-rw-r--r--dev-python/pip-run/pip-run-12.6.1.ebuild51
-rw-r--r--dev-python/pip-run/pip-run-8.8.0.ebuild44
-rw-r--r--dev-python/pip-run/pip-run-8.8.1.ebuild44
-rw-r--r--dev-python/pip/Manifest8
-rw-r--r--dev-python/pip/files/pip-20.0.2-disable-system-install.patch29
-rw-r--r--dev-python/pip/files/pip-21.3-no-coverage.patch52
-rw-r--r--dev-python/pip/files/pip-22.2-no-coverage.patch52
-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.1.2-r1.ebuild130
-rw-r--r--dev-python/pip/pip-22.2-r1.ebuild134
-rw-r--r--dev-python/pip/pip-22.2.1-r1.ebuild136
-rw-r--r--dev-python/pip/pip-22.2.2.ebuild136
-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-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.6.7-r1.ebuild93
-rw-r--r--dev-python/pipenv/pipenv-2022.6.7.ebuild89
-rw-r--r--dev-python/pipenv/pipenv-2023.12.1-r1.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/Manifest3
-rw-r--r--dev-python/pivy/files/pivy-0.6.8-python312.patch23
-rw-r--r--dev-python/pivy/pivy-0.6.7.ebuild59
-rw-r--r--dev-python/pivy/pivy-0.6.8.ebuild67
-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/Manifest1
-rw-r--r--dev-python/pkgcraft/metadata.xml15
-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/Manifest2
-rw-r--r--dev-python/pkginfo/metadata.xml17
-rw-r--r--dev-python/pkginfo/pkginfo-1.10.0.ebuild28
-rw-r--r--dev-python/pkginfo/pkginfo-1.8.3.ebuild29
-rw-r--r--dev-python/pkgutil_resolve_name/Manifest1
-rw-r--r--dev-python/pkgutil_resolve_name/metadata.xml12
-rw-r--r--dev-python/pkgutil_resolve_name/pkgutil_resolve_name-1.3.10.ebuild21
-rw-r--r--dev-python/platformdirs/Manifest3
-rw-r--r--dev-python/platformdirs/platformdirs-2.5.2.ebuild35
-rw-r--r--dev-python/platformdirs/platformdirs-4.2.0.ebuild49
-rw-r--r--dev-python/platformdirs/platformdirs-4.2.1.ebuild49
-rw-r--r--dev-python/plette/Manifest3
-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/plette/plette-2.0.2.ebuild26
-rw-r--r--dev-python/plotly-geo/Manifest2
-rw-r--r--dev-python/plotly-geo/plotly-geo-1.0.0-r2.ebuild31
-rw-r--r--dev-python/plotly-geo/plotly-geo-1.0.0.ebuild20
-rw-r--r--dev-python/plotly/Manifest4
-rw-r--r--dev-python/plotly/plotly-5.2.2.ebuild31
-rw-r--r--dev-python/plotly/plotly-5.21.0.ebuild116
-rw-r--r--dev-python/plotly/plotly-5.22.0.ebuild116
-rw-r--r--dev-python/plotly/plotly-5.8.2.ebuild63
-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.5.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.7.2-r1.ebuild53
-rw-r--r--dev-python/plumbum/plumbum-1.8.2.ebuild57
-rw-r--r--dev-python/plumbum/plumbum-1.8.3.ebuild57
-rw-r--r--dev-python/ply/Manifest1
-rw-r--r--dev-python/ply/metadata.xml1
-rw-r--r--dev-python/ply/ply-3.11-r2.ebuild11
-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.ebuild35
-rw-r--r--dev-python/plyvel/Manifest2
-rw-r--r--dev-python/plyvel/plyvel-1.4.0.ebuild30
-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.ebuild44
-rw-r--r--dev-python/podcastparser/Manifest2
-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/podman-py/Manifest1
-rw-r--r--dev-python/podman-py/podman-py-4.0.0.ebuild43
-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/Manifest2
-rw-r--r--dev-python/poetry-core/poetry-core-1.0.8.ebuild59
-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/Manifest2
-rw-r--r--dev-python/poetry/metadata.xml16
-rw-r--r--dev-python/poetry/poetry-1.8.2.ebuild96
-rw-r--r--dev-python/poetry/poetry-1.8.3.ebuild94
-rw-r--r--dev-python/polib/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/pony/Manifest1
-rw-r--r--dev-python/pony/metadata.xml11
-rw-r--r--dev-python/pony/pony-0.7.16.ebuild25
-rw-r--r--dev-python/pooch/Manifest2
-rw-r--r--dev-python/pooch/pooch-1.6.0.ebuild38
-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/Manifest2
-rw-r--r--dev-python/precis-i18n/precis-i18n-1.0.4.ebuild26
-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.ebuild8
-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/Manifest3
-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.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/metadata.xml1
-rw-r--r--dev-python/priority/priority-1.3.0-r1.ebuild26
-rw-r--r--dev-python/priority/priority-1.3.0.ebuild28
-rw-r--r--dev-python/priority/priority-2.0.0-r1.ebuild23
-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.ebuild16
-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.0.0.ebuild33
-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/Manifest1
-rw-r--r--dev-python/prometheus_client/prometheus_client-0.14.1.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.30.ebuild26
-rw-r--r--dev-python/proto-plus/Manifest2
-rw-r--r--dev-python/proto-plus/proto-plus-1.20.6.ebuild40
-rw-r--r--dev-python/proto-plus/proto-plus-1.23.0.ebuild40
-rw-r--r--dev-python/protobuf-python/Manifest5
-rw-r--r--dev-python/protobuf-python/files/protobuf-python-3.19.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch42
-rw-r--r--dev-python/protobuf-python/files/protobuf-python-3.20.3-python311.patch132
-rw-r--r--dev-python/protobuf-python/files/protobuf-python-4.22.5-c++-17.patch13
-rw-r--r--dev-python/protobuf-python/metadata.xml1
-rw-r--r--dev-python/protobuf-python/protobuf-python-3.19.3-r2.ebuild70
-rw-r--r--dev-python/protobuf-python/protobuf-python-3.19.3-r3.ebuild72
-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.ebuild84
-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.ebuild58
-rw-r--r--dev-python/prov/Manifest1
-rw-r--r--dev-python/prov/metadata.xml21
-rw-r--r--dev-python/prov/prov-2.0.0.ebuild30
-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.1.ebuild44
-rw-r--r--dev-python/psutil/psutil-5.9.8.ebuild47
-rw-r--r--dev-python/psycopg/Manifest6
-rw-r--r--dev-python/psycopg/metadata.xml1
-rw-r--r--dev-python/psycopg/psycopg-2.9.3.ebuild54
-rw-r--r--dev-python/psycopg/psycopg-2.9.4.ebuild54
-rw-r--r--dev-python/psycopg/psycopg-2.9.9.ebuild58
-rw-r--r--dev-python/psycopg/psycopg-3.0.15.ebuild73
-rw-r--r--dev-python/psycopg/psycopg-3.0.16.ebuild73
-rw-r--r--dev-python/psycopg/psycopg-3.1.18.ebuild109
-rw-r--r--dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild23
-rw-r--r--dev-python/publicsuffix/publicsuffix-2.20191221-r2.ebuild6
-rw-r--r--dev-python/pudb/Manifest3
-rw-r--r--dev-python/pudb/metadata.xml1
-rw-r--r--dev-python/pudb/pudb-2022.1.1.ebuild30
-rw-r--r--dev-python/pudb/pudb-2022.1.2.ebuild30
-rw-r--r--dev-python/pudb/pudb-2024.1.ebuild36
-rw-r--r--dev-python/pulsectl-asyncio/Manifest1
-rw-r--r--dev-python/pulsectl-asyncio/metadata.xml12
-rw-r--r--dev-python/pulsectl-asyncio/pulsectl-asyncio-1.2.0.ebuild41
-rw-r--r--dev-python/pulsectl/Manifest2
-rw-r--r--dev-python/pulsectl/pulsectl-22.3.2.ebuild21
-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/Manifest4
-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/puremagic/puremagic-1.22.ebuild32
-rw-r--r--dev-python/puremagic/puremagic-1.23.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/pweave/Manifest1
-rw-r--r--dev-python/pweave/files/pweave-0.30.3-docs.patch12
-rw-r--r--dev-python/pweave/files/pweave-0.30.3-rm-online-tests.patch115
-rw-r--r--dev-python/pweave/metadata.xml12
-rw-r--r--dev-python/pweave/pweave-0.30.3-r1.ebuild57
-rw-r--r--dev-python/py-amqp/Manifest2
-rw-r--r--dev-python/py-amqp/py-amqp-5.1.0.ebuild51
-rw-r--r--dev-python/py-amqp/py-amqp-5.1.1.ebuild51
-rw-r--r--dev-python/py-cpuinfo/Manifest2
-rw-r--r--dev-python/py-cpuinfo/py-cpuinfo-8.0.0.ebuild19
-rw-r--r--dev-python/py-cpuinfo/py-cpuinfo-9.0.0.ebuild22
-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.ebuild16
-rw-r--r--dev-python/py-zabbix/py-zabbix-1.1.7.ebuild10
-rw-r--r--dev-python/py/py-1.11.0-r1.ebuild11
-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/metadata.xml4
-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.0.ebuild42
-rw-r--r--dev-python/pyFFTW/pyFFTW-9999.ebuild42
-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/metadata.xml4
-rw-r--r--dev-python/pyaes/pyaes-1.6.1-r3.ebuild7
-rw-r--r--dev-python/pyalsa/pyalsa-1.2.7-r1.ebuild55
-rw-r--r--dev-python/pyalsa/pyalsa-1.2.7.ebuild29
-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/Manifest1
-rw-r--r--dev-python/pyaml/metadata.xml (renamed from dev-python/pretty-yaml/metadata.xml)0
-rw-r--r--dev-python/pyaml/pyaml-24.4.0.ebuild30
-rw-r--r--dev-python/pyannotate/Manifest1
-rw-r--r--dev-python/pyannotate/metadata.xml21
-rw-r--r--dev-python/pyannotate/pyannotate-1.2.0-r1.ebuild23
-rw-r--r--dev-python/pyarrow/Manifest1
-rw-r--r--dev-python/pyarrow/metadata.xml19
-rw-r--r--dev-python/pyarrow/pyarrow-16.0.0.ebuild97
-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/metadata.xml11
-rw-r--r--dev-python/pyatspi/pyatspi-2.38.2.ebuild60
-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/metadata.xml2
-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/Manifest4
-rw-r--r--dev-python/pybind11/metadata.xml1
-rw-r--r--dev-python/pybind11/pybind11-2.10.0.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/metadata.xml1
-rw-r--r--dev-python/pycairo/pycairo-1.21.0.ebuild46
-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.2.1.ebuild51
-rw-r--r--dev-python/pycares/pycares-4.4.0.ebuild55
-rw-r--r--dev-python/pycdio/metadata.xml1
-rw-r--r--dev-python/pycdio/pycdio-2.1.1-r1.ebuild58
-rw-r--r--dev-python/pycdio/pycdio-2.1.1.ebuild40
-rw-r--r--dev-python/pychm/metadata.xml5
-rw-r--r--dev-python/pychm/pychm-0.8.6-r1.ebuild41
-rw-r--r--dev-python/pychm/pychm-0.8.6.ebuild29
-rw-r--r--dev-python/pychromecast/Manifest3
-rw-r--r--dev-python/pychromecast/metadata.xml1
-rw-r--r--dev-python/pychromecast/pychromecast-12.1.4.ebuild21
-rw-r--r--dev-python/pychromecast/pychromecast-13.0.7.ebuild27
-rw-r--r--dev-python/pychromecast/pychromecast-9.3.1.ebuild21
-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/metadata.xml1
-rw-r--r--dev-python/pyclipper/pyclipper-1.3.0_p2-r1.ebuild30
-rw-r--r--dev-python/pyclipper/pyclipper-1.3.0_p5.ebuild35
-rw-r--r--dev-python/pycodestyle/Manifest4
-rw-r--r--dev-python/pycodestyle/metadata.xml1
-rw-r--r--dev-python/pycodestyle/pycodestyle-2.11.1.ebuild29
-rw-r--r--dev-python/pycodestyle/pycodestyle-2.8.0-r1.ebuild29
-rw-r--r--dev-python/pycodestyle/pycodestyle-2.9.0.ebuild31
-rw-r--r--dev-python/pycodestyle/pycodestyle-2.9.1.ebuild31
-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/Manifest2
-rw-r--r--dev-python/pycparser/pycparser-2.21-r1.ebuild65
-rw-r--r--dev-python/pycparser/pycparser-2.22.ebuild69
-rw-r--r--dev-python/pycryptodome/Manifest2
-rw-r--r--dev-python/pycryptodome/pycryptodome-3.15.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-r1.ebuild19
-rw-r--r--dev-python/pycson/pycson-0.8-r2.ebuild19
-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.ebuild16
-rw-r--r--dev-python/pycurl-requests/Manifest2
-rw-r--r--dev-python/pycurl-requests/metadata.xml4
-rw-r--r--dev-python/pycurl-requests/pycurl-requests-0.2.1.ebuild32
-rw-r--r--dev-python/pycurl-requests/pycurl-requests-0.5.0-r1.ebuild38
-rw-r--r--dev-python/pycurl/Manifest3
-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.3.ebuild93
-rw-r--r--dev-python/pycxx/Manifest3
-rw-r--r--dev-python/pycxx/metadata.xml3
-rw-r--r--dev-python/pycxx/pycxx-7.1.5-r1.ebuild35
-rw-r--r--dev-python/pycxx/pycxx-7.1.7-r1.ebuild37
-rw-r--r--dev-python/pycxx/pycxx-7.1.7.ebuild37
-rw-r--r--dev-python/pycxx/pycxx-7.1.8.ebuild37
-rw-r--r--dev-python/pydantic-core/Manifest103
-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.18.1.ebuild149
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.18.2.ebuild149
-rw-r--r--dev-python/pydantic/Manifest5
-rw-r--r--dev-python/pydantic/metadata.xml7
-rw-r--r--dev-python/pydantic/pydantic-1.9.1.ebuild77
-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/pydantic/pydantic-2.7.1.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.ebuild31
-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.8.0-r1.ebuild89
-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/Manifest2
-rw-r--r--dev-python/pydiffx/files/pydiffx-1.1-fix-py3.12.patch14
-rw-r--r--dev-python/pydiffx/pydiffx-1.0.1-r1.ebuild43
-rw-r--r--dev-python/pydiffx/pydiffx-1.1.ebuild47
-rw-r--r--dev-python/pydispatcher/Manifest1
-rw-r--r--dev-python/pydispatcher/metadata.xml16
-rw-r--r--dev-python/pydispatcher/pydispatcher-2.1.2-r1.ebuild20
-rw-r--r--dev-python/pydocstyle/Manifest1
-rw-r--r--dev-python/pydocstyle/files/pydocstyle-6.1.1-disarm-pip-install.patch31
-rw-r--r--dev-python/pydocstyle/metadata.xml21
-rw-r--r--dev-python/pydocstyle/pydocstyle-6.1.1-r1.ebuild40
-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.xml19
-rw-r--r--dev-python/pydotplus/pydotplus-2.0.2-r1.ebuild33
-rw-r--r--dev-python/pydyf/Manifest3
-rw-r--r--dev-python/pydyf/pydyf-0.10.0.ebuild28
-rw-r--r--dev-python/pydyf/pydyf-0.2.0.ebuild37
-rw-r--r--dev-python/pydyf/pydyf-0.9.0.ebuild28
-rw-r--r--dev-python/pyeclib/pyeclib-1.6.1.ebuild8
-rw-r--r--dev-python/pyelftools/Manifest2
-rw-r--r--dev-python/pyelftools/pyelftools-0.28.ebuild34
-rw-r--r--dev-python/pyelftools/pyelftools-0.31.ebuild30
-rw-r--r--dev-python/pyenchant/pyenchant-3.2.2-r1.ebuild10
-rw-r--r--dev-python/pyfakefs/Manifest6
-rw-r--r--dev-python/pyfakefs/metadata.xml2
-rw-r--r--dev-python/pyfakefs/pyfakefs-4.5.6.ebuild43
-rw-r--r--dev-python/pyfakefs/pyfakefs-4.6.0.ebuild43
-rw-r--r--dev-python/pyfakefs/pyfakefs-4.6.1.ebuild30
-rw-r--r--dev-python/pyfakefs/pyfakefs-4.6.2.ebuild30
-rw-r--r--dev-python/pyfakefs/pyfakefs-4.6.3.ebuild30
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.4.1.ebuild44
-rw-r--r--dev-python/pyflakes/Manifest3
-rw-r--r--dev-python/pyflakes/pyflakes-2.4.0-r1.ebuild22
-rw-r--r--dev-python/pyflakes/pyflakes-2.5.0.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.6-r1.ebuild83
-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.1-r2.ebuild42
-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.5.2-error.patch121
-rw-r--r--dev-python/pygame/metadata.xml3
-rw-r--r--dev-python/pygame/pygame-2.1.2-r1.ebuild82
-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/Manifest7
-rw-r--r--dev-python/pyghmi/pyghmi-1.5.48.ebuild39
-rw-r--r--dev-python/pyghmi/pyghmi-1.5.49.ebuild39
-rw-r--r--dev-python/pyghmi/pyghmi-1.5.50.ebuild39
-rw-r--r--dev-python/pyghmi/pyghmi-1.5.51.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/Manifest3
-rw-r--r--dev-python/pygit2/pygit2-1.10.0.ebuild48
-rw-r--r--dev-python/pygit2/pygit2-1.14.1.ebuild45
-rw-r--r--dev-python/pygit2/pygit2-1.9.2.ebuild48
-rw-r--r--dev-python/pyglet/Manifest3
-rw-r--r--dev-python/pyglet/pyglet-1.5.26.ebuild73
-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/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/files/pygments-github-lexers-0.0.5-escape-sequences.patch22
-rw-r--r--dev-python/pygments-github-lexers/metadata.xml2
-rw-r--r--dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r2.ebuild29
-rw-r--r--dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5.ebuild21
-rw-r--r--dev-python/pygments/Manifest3
-rw-r--r--dev-python/pygments/metadata.xml1
-rw-r--r--dev-python/pygments/pygments-2.12.0-r1.ebuild39
-rw-r--r--dev-python/pygments/pygments-2.17.2.ebuild46
-rw-r--r--dev-python/pygments/pygments-2.18.0.ebuild46
-rw-r--r--dev-python/pygobject/Manifest4
-rw-r--r--dev-python/pygobject/files/pygobject-3.44.1-py312.patch48
-rw-r--r--dev-python/pygobject/metadata.xml51
-rw-r--r--dev-python/pygobject/pygobject-3.42.1.ebuild74
-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/Manifest3
-rw-r--r--dev-python/pygraphviz/files/pygraphviz-1.12-swig-4.2.0.patch290
-rw-r--r--dev-python/pygraphviz/metadata.xml2
-rw-r--r--dev-python/pygraphviz/pygraphviz-1.12-r1.ebuild54
-rw-r--r--dev-python/pygraphviz/pygraphviz-1.13.ebuild50
-rw-r--r--dev-python/pygraphviz/pygraphviz-1.9.ebuild43
-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.1.ebuild68
-rw-r--r--dev-python/pyh2o/Manifest2
-rw-r--r--dev-python/pyh2o/metadata.xml4
-rw-r--r--dev-python/pyh2o/pyh2o-1-r1.ebuild10
-rw-r--r--dev-python/pyhamcrest/Manifest2
-rw-r--r--dev-python/pyhamcrest/pyhamcrest-2.0.3-r1.ebuild35
-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.ebuild31
-rw-r--r--dev-python/pyhcl/pyhcl-0.4.5.ebuild36
-rw-r--r--dev-python/pyicu/Manifest4
-rw-r--r--dev-python/pyicu/pyicu-2.12.ebuild45
-rw-r--r--dev-python/pyicu/pyicu-2.13.1.ebuild45
-rw-r--r--dev-python/pyicu/pyicu-2.13.ebuild45
-rw-r--r--dev-python/pyicu/pyicu-2.9.ebuild40
-rw-r--r--dev-python/pyinotify/files/pyinotify-0.9.6-py312.patch84
-rw-r--r--dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild17
-rw-r--r--dev-python/pyinotify/pyinotify-0.9.6.ebuild29
-rw-r--r--dev-python/pyjsparser/metadata.xml4
-rw-r--r--dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r1.ebuild32
-rw-r--r--dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r2.ebuild35
-rw-r--r--dev-python/pyjwt/Manifest2
-rw-r--r--dev-python/pyjwt/pyjwt-2.4.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.ebuild44
-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-r1.ebuild33
-rw-r--r--dev-python/pykwalify/pykwalify-1.8.0-r2.ebuild34
-rw-r--r--dev-python/pykwalify/pykwalify-1.8.0-r3.ebuild36
-rw-r--r--dev-python/pylama/Manifest2
-rw-r--r--dev-python/pylama/metadata.xml17
-rw-r--r--dev-python/pylama/pylama-8.3.8.ebuild41
-rw-r--r--dev-python/pylama/pylama-8.4.1.ebuild41
-rw-r--r--dev-python/pylast/Manifest2
-rw-r--r--dev-python/pylast/pylast-5.0.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/metadata.xml2
-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.ebuild14
-rw-r--r--dev-python/pylev/Manifest2
-rw-r--r--dev-python/pylev/metadata.xml4
-rw-r--r--dev-python/pylev/pylev-1.4.0-r1.ebuild25
-rw-r--r--dev-python/pylev/pylev-1.4.0.ebuild17
-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/Manifest4
-rw-r--r--dev-python/pylibmc/files/pylibmc-1.6.1-py311.patch29
-rw-r--r--dev-python/pylibmc/pylibmc-1.6.1-r2.ebuild68
-rw-r--r--dev-python/pylibmc/pylibmc-1.6.2.ebuild61
-rw-r--r--dev-python/pylibmc/pylibmc-1.6.3.ebuild62
-rw-r--r--dev-python/pylint-venv/Manifest1
-rw-r--r--dev-python/pylint-venv/metadata.xml13
-rw-r--r--dev-python/pylint-venv/pylint-venv-3.0.3.ebuild41
-rw-r--r--dev-python/pylint/Manifest3
-rw-r--r--dev-python/pylint/metadata.xml2
-rw-r--r--dev-python/pylint/pylint-2.14.4.ebuild82
-rw-r--r--dev-python/pylint/pylint-2.14.5.ebuild82
-rw-r--r--dev-python/pylint/pylint-3.1.0.ebuild92
-rw-r--r--dev-python/pylru/pylru-1.2.1.ebuild7
-rw-r--r--dev-python/pyls-spyder/Manifest2
-rw-r--r--dev-python/pyls-spyder/pyls-spyder-0.4.0-r1.ebuild22
-rw-r--r--dev-python/pyls-spyder/pyls-spyder-0.4.0-r2.ebuild24
-rw-r--r--dev-python/pymacaroons/Manifest1
-rw-r--r--dev-python/pymacaroons/metadata.xml9
-rw-r--r--dev-python/pymacaroons/pymacaroons-0.13.0-r1.ebuild49
-rw-r--r--dev-python/pymacaroons/pymacaroons-0.13.0.ebuild39
-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/Manifest4
-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.1.ebuild47
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-10.8.ebuild47
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-9.5.ebuild59
-rw-r--r--dev-python/pymdown-lexers/metadata.xml8
-rw-r--r--dev-python/pymdown-lexers/pymdown-lexers-0_pre20210902.ebuild6
-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-5.1.0-r1.ebuild32
-rw-r--r--dev-python/pymediainfo/pymediainfo-6.1.0.ebuild34
-rw-r--r--dev-python/pymetar/metadata.xml4
-rw-r--r--dev-python/pymetar/pymetar-1.4-r1.ebuild27
-rw-r--r--dev-python/pymetar/pymetar-1.4-r2.ebuild41
-rw-r--r--dev-python/pymilter/Manifest1
-rw-r--r--dev-python/pymilter/metadata.xml22
-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/Manifest8
-rw-r--r--dev-python/pymongo/metadata.xml15
-rw-r--r--dev-python/pymongo/pymongo-4.0.2.ebuild117
-rw-r--r--dev-python/pymongo/pymongo-4.1.0.ebuild117
-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.6.3.ebuild154
-rw-r--r--dev-python/pymongo/pymongo-4.7.0.ebuild156
-rw-r--r--dev-python/pymongo/pymongo-4.7.1.ebuild156
-rw-r--r--dev-python/pymongo/pymongo-4.7.2.ebuild159
-rw-r--r--dev-python/pymountboot/metadata.xml4
-rw-r--r--dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild25
-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.ebuild150
-rw-r--r--dev-python/pymysql/pymysql-1.1.0.ebuild118
-rw-r--r--dev-python/pynacl/pynacl-1.5.0-r1.ebuild42
-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/Manifest3
-rw-r--r--dev-python/pyocr/metadata.xml1
-rw-r--r--dev-python/pyocr/pyocr-0.8.2.ebuild31
-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/Manifest3
-rw-r--r--dev-python/pyopencl/metadata.xml1
-rw-r--r--dev-python/pyopencl/pyopencl-2022.1.5.ebuild58
-rw-r--r--dev-python/pyopencl/pyopencl-2022.1.6.ebuild59
-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.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/Manifest2
-rw-r--r--dev-python/pyopenssl/pyopenssl-22.0.0.ebuild67
-rw-r--r--dev-python/pyopenssl/pyopenssl-24.1.0.ebuild71
-rw-r--r--dev-python/pyotherside/Manifest2
-rw-r--r--dev-python/pyotherside/files/pyotherside-1.6.0-qt6.5.patch34
-rw-r--r--dev-python/pyotherside/pyotherside-1.5.9.ebuild42
-rw-r--r--dev-python/pyotherside/pyotherside-1.6.0-r1.ebuild106
-rw-r--r--dev-python/pyotherside/pyotherside-1.6.0.ebuild66
-rw-r--r--dev-python/pyotp/Manifest2
-rw-r--r--dev-python/pyotp/pyotp-2.6.0-r1.ebuild20
-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/metadata.xml8
-rw-r--r--dev-python/pypax/pypax-0.9.5-r1.ebuild7
-rw-r--r--dev-python/pypax/pypax-9999.ebuild4
-rw-r--r--dev-python/pypdf/Manifest2
-rw-r--r--dev-python/pypdf/metadata.xml12
-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.ebuild7
-rw-r--r--dev-python/pyphen/Manifest3
-rw-r--r--dev-python/pyphen/pyphen-0.12.0-r1.ebuild26
-rw-r--r--dev-python/pyphen/pyphen-0.14.0.ebuild25
-rw-r--r--dev-python/pyphen/pyphen-0.15.0.ebuild25
-rw-r--r--dev-python/pypiserver/Manifest3
-rw-r--r--dev-python/pypiserver/files/pypiserver-2.1.1-test-offline.patch33
-rw-r--r--dev-python/pypiserver/pypiserver-1.5.0-r2.ebuild76
-rw-r--r--dev-python/pypiserver/pypiserver-2.0.1.ebuild76
-rw-r--r--dev-python/pypiserver/pypiserver-2.1.1.ebuild79
-rw-r--r--dev-python/pypng/Manifest1
-rw-r--r--dev-python/pypng/metadata.xml1
-rw-r--r--dev-python/pypng/pypng-0.0.21-r1.ebuild25
-rw-r--r--dev-python/pypng/pypng-0.20220715.0.ebuild6
-rw-r--r--dev-python/pypresence/Manifest1
-rw-r--r--dev-python/pypresence/metadata.xml13
-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.ebuild17
-rw-r--r--dev-python/pyproj/Manifest2
-rw-r--r--dev-python/pyproj/pyproj-3.3.1.ebuild47
-rw-r--r--dev-python/pyproj/pyproj-3.6.1.ebuild55
-rw-r--r--dev-python/pyproject-api/Manifest1
-rw-r--r--dev-python/pyproject-api/metadata.xml13
-rw-r--r--dev-python/pyproject-api/pyproject-api-1.6.1.ebuild42
-rw-r--r--dev-python/pyproject-fmt/Manifest3
-rw-r--r--dev-python/pyproject-fmt/metadata.xml1
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-0.3.3.ebuild38
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-0.3.4.ebuild38
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-1.8.0.ebuild42
-rw-r--r--dev-python/pyproject-hooks/Manifest2
-rw-r--r--dev-python/pyproject-hooks/metadata.xml12
-rw-r--r--dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild37
-rw-r--r--dev-python/pyproject-hooks/pyproject-hooks-1.1.0.ebuild35
-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/pyproject2setuppy/Manifest1
-rw-r--r--dev-python/pyproject2setuppy/metadata.xml15
-rw-r--r--dev-python/pyproject2setuppy/pyproject2setuppy-22-r1.ebuild29
-rw-r--r--dev-python/pypugjs/Manifest2
-rw-r--r--dev-python/pypugjs/metadata.xml4
-rw-r--r--dev-python/pypugjs/pypugjs-5.9.11.ebuild45
-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/Manifest10
-rw-r--r--dev-python/pypy-exe-bin/metadata.xml3
-rw-r--r--dev-python/pypy-exe-bin/pypy-exe-bin-7.3.16.ebuild82
-rw-r--r--dev-python/pypy-exe-bin/pypy-exe-bin-7.3.9.ebuild55
-rw-r--r--dev-python/pypy-exe/Manifest4
-rw-r--r--dev-python/pypy-exe/metadata.xml3
-rw-r--r--dev-python/pypy-exe/pypy-exe-7.3.16.ebuild181
-rw-r--r--dev-python/pypy-exe/pypy-exe-7.3.9.ebuild185
-rw-r--r--dev-python/pypy/Manifest4
-rw-r--r--dev-python/pypy/metadata.xml11
-rw-r--r--dev-python/pypy/pypy-7.3.16.ebuild306
-rw-r--r--dev-python/pypy/pypy-7.3.9.ebuild183
-rw-r--r--dev-python/pypy3-exe-bin/Manifest4
-rw-r--r--dev-python/pypy3-exe-bin/metadata.xml8
-rw-r--r--dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.9.ebuild56
-rw-r--r--dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.9_p3.ebuild56
-rw-r--r--dev-python/pypy3-exe/Manifest3
-rw-r--r--dev-python/pypy3-exe/metadata.xml13
-rw-r--r--dev-python/pypy3-exe/pypy3-exe-7.3.9.ebuild172
-rw-r--r--dev-python/pypy3-exe/pypy3-exe-7.3.9_p3.ebuild172
-rw-r--r--dev-python/pypy3/Manifest5
-rw-r--r--dev-python/pypy3/metadata.xml10
-rw-r--r--dev-python/pypy3/pypy3-7.3.16.ebuild26
-rw-r--r--dev-python/pypy3/pypy3-7.3.9_p1.ebuild200
-rw-r--r--dev-python/pypy3/pypy3-7.3.9_p2.ebuild200
-rw-r--r--dev-python/pypy3/pypy3-7.3.9_p3.ebuild203
-rw-r--r--dev-python/pypy3/pypy3-7.3.9_p4.ebuild210
-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.16.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.16.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.16.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.16.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.16.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.16.ebuild211
-rw-r--r--dev-python/pyqrcode/Manifest1
-rw-r--r--dev-python/pyqrcode/metadata.xml21
-rw-r--r--dev-python/pyqrcode/pyqrcode-1.2.1-r2.ebuild45
-rw-r--r--dev-python/pyqt-distutils/Manifest1
-rw-r--r--dev-python/pyqt-distutils/metadata.xml12
-rw-r--r--dev-python/pyqt-distutils/pyqt-distutils-0.7.3.ebuild22
-rw-r--r--dev-python/pyqtgraph/Manifest4
-rw-r--r--dev-python/pyqtgraph/pyqtgraph-0.12.4.ebuild88
-rw-r--r--dev-python/pyqtgraph/pyqtgraph-0.13.6.ebuild74
-rw-r--r--dev-python/pyqtgraph/pyqtgraph-0.13.7.ebuild74
-rw-r--r--dev-python/pyquery/Manifest2
-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.ebuild59
-rw-r--r--dev-python/pyrate-limiter/Manifest3
-rw-r--r--dev-python/pyrate-limiter/metadata.xml17
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-2.10.0.ebuild62
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-3.6.0.ebuild75
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-3.6.1.ebuild75
-rw-r--r--dev-python/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/Manifest2
-rw-r--r--dev-python/pyrfc3339/files/pyrfc3339-1.1-pytest.patch193
-rw-r--r--dev-python/pyrfc3339/metadata.xml1
-rw-r--r--dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild33
-rw-r--r--dev-python/pyrfc3339/pyrfc3339-1.1.ebuild23
-rw-r--r--dev-python/pyroute2/Manifest3
-rw-r--r--dev-python/pyroute2/files/pyroute2-0.5.19-exclude-tests.patch13
-rw-r--r--dev-python/pyroute2/pyroute2-0.5.19.ebuild26
-rw-r--r--dev-python/pyroute2/pyroute2-0.7.12-r1.ebuild26
-rw-r--r--dev-python/pyroute2/pyroute2-0.7.2.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/Manifest2
-rw-r--r--dev-python/pyrsistent/metadata.xml6
-rw-r--r--dev-python/pyrsistent/pyrsistent-0.18.1-r1.ebuild28
-rw-r--r--dev-python/pyrsistent/pyrsistent-0.20.0.ebuild35
-rw-r--r--dev-python/pyscard/Manifest2
-rw-r--r--dev-python/pyscard/pyscard-2.0.3.ebuild35
-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/Manifest2
-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.xml10
-rw-r--r--dev-python/pyside2-tools/pyside2-tools-5.15.13.ebuild80
-rw-r--r--dev-python/pyside2-tools/pyside2-tools-5.15.2.ebuild77
-rw-r--r--dev-python/pyside2/Manifest2
-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.xml11
-rw-r--r--dev-python/pyside2/pyside2-5.15.13.ebuild228
-rw-r--r--dev-python/pyside2/pyside2-5.15.2-r2.ebuild216
-rw-r--r--dev-python/pyside6-tools/Manifest1
-rw-r--r--dev-python/pyside6-tools/metadata.xml12
-rw-r--r--dev-python/pyside6-tools/pyside6-tools-6.7.0.ebuild76
-rw-r--r--dev-python/pyside6/Manifest1
-rw-r--r--dev-python/pyside6/files/pyside6-6.3.1-no-strip.patch26
-rw-r--r--dev-python/pyside6/files/pyside6-6.6.0-no-qtexampleicons.patch10
-rw-r--r--dev-python/pyside6/metadata.xml49
-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/metadata.xml1
-rw-r--r--dev-python/pysimdjson/pysimdjson-5.0.1.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.ebuild8
-rw-r--r--dev-python/pysnmp/metadata.xml4
-rw-r--r--dev-python/pysnmp/pysnmp-4.4.12-r2.ebuild9
-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.12.0.ebuild25
-rw-r--r--dev-python/pysol_cards/pysol_cards-0.14.2.ebuild23
-rw-r--r--dev-python/pyspectrum2/Manifest2
-rw-r--r--dev-python/pyspectrum2/pyspectrum2-0.2.0-r1.ebuild26
-rw-r--r--dev-python/pyspectrum2/pyspectrum2-0.2.0-r2.ebuild26
-rw-r--r--dev-python/pyspelling/Manifest3
-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.7.3.ebuild53
-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.ebuild14
-rw-r--r--dev-python/pyspnego/Manifest3
-rw-r--r--dev-python/pyspnego/metadata.xml2
-rw-r--r--dev-python/pyspnego/pyspnego-0.10.2.ebuild38
-rw-r--r--dev-python/pyspnego/pyspnego-0.5.2.ebuild39
-rw-r--r--dev-python/pyspnego/pyspnego-0.5.3.ebuild40
-rw-r--r--dev-python/pysrt/pysrt-1.1.2-r1.ebuild24
-rw-r--r--dev-python/pysrt/pysrt-9999.ebuild16
-rw-r--r--dev-python/pystache/Manifest2
-rw-r--r--dev-python/pystache/metadata.xml21
-rw-r--r--dev-python/pystache/pystache-0.6.0.ebuild38
-rw-r--r--dev-python/pystache/pystache-0.6.5.ebuild52
-rw-r--r--dev-python/pysvg/pysvg-0.2.2_p3-r1.ebuild13
-rw-r--r--dev-python/pysvn/Manifest3
-rw-r--r--dev-python/pysvn/files/pysvn-1.9.18-tests-3.11.patch33
-rw-r--r--dev-python/pysvn/metadata.xml3
-rw-r--r--dev-python/pysvn/pysvn-1.9.15-r1.ebuild62
-rw-r--r--dev-python/pysvn/pysvn-1.9.18.ebuild66
-rw-r--r--dev-python/pysvn/pysvn-1.9.22.ebuild62
-rw-r--r--dev-python/pytables/Manifest1
-rw-r--r--dev-python/pytables/metadata.xml23
-rw-r--r--dev-python/pytables/pytables-3.7.0.ebuild73
-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/Manifest3
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-0.18.3.ebuild44
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-0.19.0.ebuild50
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-0.23.6.ebuild52
-rw-r--r--dev-python/pytest-bdd/Manifest3
-rw-r--r--dev-python/pytest-bdd/pytest-bdd-5.0.0-r1.ebuild39
-rw-r--r--dev-python/pytest-bdd/pytest-bdd-6.0.1.ebuild40
-rw-r--r--dev-python/pytest-bdd/pytest-bdd-7.1.2.ebuild43
-rw-r--r--dev-python/pytest-check/Manifest2
-rw-r--r--dev-python/pytest-check/metadata.xml2
-rw-r--r--dev-python/pytest-check/pytest-check-1.0.5.ebuild38
-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/files/pytest-cov-3.0.0-coverage-6.2.patch30
-rw-r--r--dev-python/pytest-cov/files/pytest-cov-4.0.0-pytest-xdist-2.5.0.patch21
-rw-r--r--dev-python/pytest-cov/pytest-cov-3.0.0-r1.ebuild60
-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.xml7
-rw-r--r--dev-python/pytest-datadir/pytest-datadir-1.3.1-r1.ebuild33
-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.ebuild27
-rw-r--r--dev-python/pytest-describe/pytest-describe-2.2.0.ebuild33
-rw-r--r--dev-python/pytest-django/Manifest2
-rw-r--r--dev-python/pytest-django/pytest-django-4.5.2.ebuild51
-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/metadata.xml6
-rw-r--r--dev-python/pytest-env/pytest-env-0.6.2-r1.ebuild18
-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.ebuild8
-rw-r--r--dev-python/pytest-faulthandler/metadata.xml6
-rw-r--r--dev-python/pytest-faulthandler/pytest-faulthandler-2.0.1-r1.ebuild4
-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.ebuild4
-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.ebuild43
-rw-r--r--dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29.ebuild44
-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-html/Manifest1
-rw-r--r--dev-python/pytest-html/metadata.xml11
-rw-r--r--dev-python/pytest-html/pytest-html-3.1.1.ebuild29
-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/Manifest3
-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.4-r2.ebuild36
-rw-r--r--dev-python/pytest-httpserver/pytest-httpserver-1.0.5.ebuild39
-rw-r--r--dev-python/pytest-httpx/Manifest2
-rw-r--r--dev-python/pytest-httpx/pytest-httpx-0.21.0.ebuild38
-rw-r--r--dev-python/pytest-httpx/pytest-httpx-0.30.0.ebuild34
-rw-r--r--dev-python/pytest-jupyter/Manifest1
-rw-r--r--dev-python/pytest-jupyter/metadata.xml17
-rw-r--r--dev-python/pytest-jupyter/pytest-jupyter-0.10.1.ebuild36
-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.3.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/metadata.xml1
-rw-r--r--dev-python/pytest-localserver/pytest-localserver-0.6.0-r1.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.ebuild22
-rw-r--r--dev-python/pytest-markdown/pytest-markdown-1.0.2.ebuild25
-rw-r--r--dev-python/pytest-metadata/Manifest3
-rw-r--r--dev-python/pytest-metadata/pytest-metadata-2.0.1.ebuild32
-rw-r--r--dev-python/pytest-metadata/pytest-metadata-2.0.2.ebuild32
-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.14.0.ebuild54
-rw-r--r--dev-python/pytest-mock/pytest-mock-3.8.2.ebuild46
-rw-r--r--dev-python/pytest-mpl/Manifest2
-rw-r--r--dev-python/pytest-mpl/metadata.xml13
-rw-r--r--dev-python/pytest-mpl/pytest-mpl-0.16.1.ebuild35
-rw-r--r--dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild39
-rw-r--r--dev-python/pytest-order/Manifest2
-rw-r--r--dev-python/pytest-order/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/Manifest2
-rw-r--r--dev-python/pytest-plus/pytest-plus-0.2-r1.ebuild28
-rw-r--r--dev-python/pytest-plus/pytest-plus-0.7.0.ebuild29
-rw-r--r--dev-python/pytest-pylint/Manifest1
-rw-r--r--dev-python/pytest-pylint/metadata.xml14
-rw-r--r--dev-python/pytest-pylint/pytest-pylint-0.18.0.ebuild32
-rw-r--r--dev-python/pytest-qt/Manifest2
-rw-r--r--dev-python/pytest-qt/pytest-qt-4.1.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/Manifest2
-rw-r--r--dev-python/pytest-regressions/metadata.xml5
-rw-r--r--dev-python/pytest-regressions/pytest-regressions-2.3.1.ebuild59
-rw-r--r--dev-python/pytest-regressions/pytest-regressions-2.5.0.ebuild62
-rw-r--r--dev-python/pytest-repeat/Manifest1
-rw-r--r--dev-python/pytest-repeat/metadata.xml12
-rw-r--r--dev-python/pytest-repeat/pytest-repeat-0.9.3.ebuild34
-rw-r--r--dev-python/pytest-rerunfailures/Manifest2
-rw-r--r--dev-python/pytest-rerunfailures/pytest-rerunfailures-10.2-r1.ebuild35
-rw-r--r--dev-python/pytest-rerunfailures/pytest-rerunfailures-14.0.ebuild44
-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/Manifest7
-rw-r--r--dev-python/pytest-salt-factories/files/pytest-salt-factories-0.121.1-tests.patch294
-rw-r--r--dev-python/pytest-salt-factories/files/pytest-salt-factories-1.0.0_rc13-tests.patch415
-rw-r--r--dev-python/pytest-salt-factories/files/pytest-salt-factories-1.0.0_rc20-tests.patch423
-rw-r--r--dev-python/pytest-salt-factories/metadata.xml1
-rw-r--r--dev-python/pytest-salt-factories/pytest-salt-factories-0.121.1-r1.ebuild63
-rw-r--r--dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc13.ebuild72
-rw-r--r--dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc20-r1.ebuild77
-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-salt/Manifest1
-rw-r--r--dev-python/pytest-salt/files/pytest-salt-2020.1.27-r2.patch14
-rw-r--r--dev-python/pytest-salt/metadata.xml11
-rw-r--r--dev-python/pytest-salt/pytest-salt-2020.1.27-r3.ebuild48
-rw-r--r--dev-python/pytest-services/Manifest2
-rw-r--r--dev-python/pytest-services/pytest-services-2.2.1-r1.ebuild14
-rw-r--r--dev-python/pytest-shell-utilities/Manifest3
-rw-r--r--dev-python/pytest-shell-utilities/metadata.xml2
-rw-r--r--dev-python/pytest-shell-utilities/pytest-shell-utilities-1.5.0.ebuild42
-rw-r--r--dev-python/pytest-shell-utilities/pytest-shell-utilities-1.6.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/Manifest2
-rw-r--r--dev-python/pytest-skip-markers/metadata.xml1
-rw-r--r--dev-python/pytest-skip-markers/pytest-skip-markers-1.3.0-r1.ebuild42
-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/Manifest2
-rw-r--r--dev-python/pytest-subtesthack/metadata.xml13
-rw-r--r--dev-python/pytest-subtesthack/pytest-subtesthack-0.1.2-r2.ebuild34
-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.8.0.ebuild51
-rw-r--r--dev-python/pytest-sugar/Manifest3
-rw-r--r--dev-python/pytest-sugar/pytest-sugar-0.9.4-r1.ebuild29
-rw-r--r--dev-python/pytest-sugar/pytest-sugar-0.9.5.ebuild33
-rw-r--r--dev-python/pytest-sugar/pytest-sugar-1.0.0.ebuild34
-rw-r--r--dev-python/pytest-system-statistics/Manifest2
-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-r2.ebuild53
-rw-r--r--dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2.ebuild49
-rw-r--r--dev-python/pytest-tempdir/Manifest2
-rw-r--r--dev-python/pytest-tempdir/metadata.xml2
-rw-r--r--dev-python/pytest-tempdir/pytest-tempdir-2019.10.12-r1.ebuild18
-rw-r--r--dev-python/pytest-tempdir/pytest-tempdir-2019.10.12.ebuild17
-rw-r--r--dev-python/pytest-testinfra/Manifest3
-rw-r--r--dev-python/pytest-testinfra/pytest-testinfra-10.1.0.ebuild54
-rw-r--r--dev-python/pytest-testinfra/pytest-testinfra-6.7.0.ebuild40
-rw-r--r--dev-python/pytest-testinfra/pytest-testinfra-6.8.0.ebuild41
-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.ebuild51
-rw-r--r--dev-python/pytest-toolbox/Manifest1
-rw-r--r--dev-python/pytest-toolbox/metadata.xml13
-rw-r--r--dev-python/pytest-toolbox/pytest-toolbox-0.4-r1.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/Manifest2
-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.7.0-r1.ebuild52
-rw-r--r--dev-python/pytest-trio/pytest-trio-0.8.0-r1.ebuild56
-rw-r--r--dev-python/pytest-twisted/Manifest1
-rw-r--r--dev-python/pytest-twisted/metadata.xml17
-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/Manifest4
-rw-r--r--dev-python/pytest-xdist/pytest-xdist-2.5.0-r1.ebuild45
-rw-r--r--dev-python/pytest-xdist/pytest-xdist-3.5.0.ebuild44
-rw-r--r--dev-python/pytest-xdist/pytest-xdist-3.6.0.ebuild43
-rw-r--r--dev-python/pytest-xdist/pytest-xdist-3.6.1.ebuild43
-rw-r--r--dev-python/pytest-xprocess/Manifest3
-rw-r--r--dev-python/pytest-xprocess/pytest-xprocess-0.19.0.ebuild27
-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.ebuild25
-rw-r--r--dev-python/pytest-xvfb/pytest-xvfb-3.0.0.ebuild35
-rw-r--r--dev-python/pytest/Manifest6
-rw-r--r--dev-python/pytest/files/pytest-7.1.2-py311.patch28
-rw-r--r--dev-python/pytest/files/pytest-7.4.3-no-color.patch37
-rw-r--r--dev-python/pytest/pytest-7.1.2.ebuild99
-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/pytest-8.1.2.ebuild113
-rw-r--r--dev-python/pytest/pytest-8.2.0.ebuild113
-rw-r--r--dev-python/python-augeas/python-augeas-1.1.0-r1.ebuild8
-rw-r--r--dev-python/python-axolotl-curve25519/Manifest2
-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/files/python-axolotl-curve25519-fix-type.patch15
-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-r2.ebuild20
-rw-r--r--dev-python/python-axolotl-curve25519/python-axolotl-curve25519-0.4.1_p2-r4.ebuild24
-rw-r--r--dev-python/python-axolotl/Manifest2
-rw-r--r--dev-python/python-axolotl/metadata.xml3
-rw-r--r--dev-python/python-axolotl/python-axolotl-0.2.3-r2.ebuild26
-rw-r--r--dev-python/python-axolotl/python-axolotl-0.2.3-r3.ebuild31
-rw-r--r--dev-python/python-box/Manifest1
-rw-r--r--dev-python/python-box/metadata.xml15
-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.ebuild8
-rw-r--r--dev-python/python-caja/Manifest3
-rw-r--r--dev-python/python-caja/metadata.xml5
-rw-r--r--dev-python/python-caja/python-caja-1.24.0-r2.ebuild57
-rw-r--r--dev-python/python-caja/python-caja-1.26.0.ebuild57
-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/python-cinderclient-8.3.0.ebuild45
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-9.0.0.ebuild45
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-9.5.0.ebuild48
-rw-r--r--dev-python/python-constraint/python-constraint-1.4.0.ebuild4
-rw-r--r--dev-python/python-cstruct/Manifest1
-rw-r--r--dev-python/python-cstruct/python-cstruct-2.1-r1.ebuild20
-rw-r--r--dev-python/python-ctags/Manifest1
-rw-r--r--dev-python/python-ctags/python-ctags-1.5.0.ebuild22
-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/Manifest3
-rw-r--r--dev-python/python-daemon/files/python-daemon-2.3.0-fix-py3.10.patch28
-rw-r--r--dev-python/python-daemon/python-daemon-2.3.0-r2.ebuild43
-rw-r--r--dev-python/python-daemon/python-daemon-2.3.1.ebuild33
-rw-r--r--dev-python/python-daemon/python-daemon-2.3.2.ebuild35
-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.27.5.ebuild41
-rw-r--r--dev-python/python-dbusmock/python-dbusmock-0.28.4.ebuild40
-rw-r--r--dev-python/python-dbusmock/python-dbusmock-0.31.1-r1.ebuild54
-rw-r--r--dev-python/python-dbusmock/python-dbusmock-0.31.1.ebuild46
-rw-r--r--dev-python/python-debian/Manifest2
-rw-r--r--dev-python/python-debian/python-debian-0.1.44.ebuild48
-rw-r--r--dev-python/python-debian/python-debian-0.1.49.ebuild48
-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/Manifest7
-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.3.ebuild23
-rw-r--r--dev-python/python-docs/python-docs-3.10.4.ebuild23
-rw-r--r--dev-python/python-docs/python-docs-3.7.13.ebuild23
-rw-r--r--dev-python/python-docs/python-docs-3.8.13.ebuild23
-rw-r--r--dev-python/python-docs/python-docs-3.9.11.ebuild23
-rw-r--r--dev-python/python-docs/python-docs-3.9.12.ebuild23
-rw-r--r--dev-python/python-dotenv/Manifest2
-rw-r--r--dev-python/python-dotenv/metadata.xml1
-rw-r--r--dev-python/python-dotenv/python-dotenv-0.20.0.ebuild54
-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-r1.ebuild15
-rw-r--r--dev-python/python-editor/python-editor-1.0.4-r2.ebuild10
-rw-r--r--dev-python/python-efl/Manifest2
-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.25.0.ebuild75
-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.1.3.ebuild39
-rw-r--r--dev-python/python-email-validator/python-email-validator-1.2.1.ebuild44
-rw-r--r--dev-python/python-engineio/Manifest4
-rw-r--r--dev-python/python-engineio/python-engineio-4.3.2-r2.ebuild67
-rw-r--r--dev-python/python-engineio/python-engineio-4.3.3.ebuild63
-rw-r--r--dev-python/python-engineio/python-engineio-4.3.4.ebuild63
-rw-r--r--dev-python/python-engineio/python-engineio-4.9.0.ebuild59
-rw-r--r--dev-python/python-etcd/Manifest1
-rw-r--r--dev-python/python-etcd/metadata.xml14
-rw-r--r--dev-python/python-etcd/python-etcd-0.4.5-r1.ebuild35
-rw-r--r--dev-python/python-evdev/Manifest2
-rw-r--r--dev-python/python-evdev/metadata.xml11
-rw-r--r--dev-python/python-evdev/python-evdev-1.5.0-r1.ebuild37
-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/Manifest3
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-4.0.0.ebuild48
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-4.0.1.ebuild48
-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.4.9-r1.ebuild32
-rw-r--r--dev-python/python-gnupg/python-gnupg-0.5.2.ebuild48
-rw-r--r--dev-python/python-ironicclient/Manifest4
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-4.11.0.ebuild46
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.0.0.ebuild46
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.5.0.ebuild49
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.6.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/Manifest1
-rw-r--r--dev-python/python-json-logger/metadata.xml14
-rw-r--r--dev-python/python-json-logger/python-json-logger-2.0.7.ebuild38
-rw-r--r--dev-python/python-keystoneclient/Manifest3
-rw-r--r--dev-python/python-keystoneclient/metadata.xml1
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-4.5.0.ebuild52
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-5.0.0.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.ebuild31
-rw-r--r--dev-python/python-ldap/Manifest3
-rw-r--r--dev-python/python-ldap/python-ldap-3.4.0_p20220420.ebuild96
-rw-r--r--dev-python/python-ldap/python-ldap-3.4.2.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-levenshtein/Manifest1
-rw-r--r--dev-python/python-levenshtein/metadata.xml12
-rw-r--r--dev-python/python-levenshtein/python-levenshtein-0.12.2.ebuild21
-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/metadata.xml16
-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/python-lsp-black-1.2.1.ebuild36
-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/Manifest3
-rw-r--r--dev-python/python-lsp-server/files/python-lsp-server-1.4.1-allow-mccabe-0.7.patch22
-rw-r--r--dev-python/python-lsp-server/files/python-lsp-server-1.5.0-allow-mccabe-0.7.patch22
-rw-r--r--dev-python/python-lsp-server/metadata.xml1
-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.4.1-r1.ebuild90
-rw-r--r--dev-python/python-lsp-server/python-lsp-server-1.4.1.ebuild86
-rw-r--r--dev-python/python-lsp-server/python-lsp-server-1.5.0.ebuild94
-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.ebuild21
-rw-r--r--dev-python/python-lzo/Manifest2
-rw-r--r--dev-python/python-lzo/python-lzo-1.14-r1.ebuild29
-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.ebuild11
-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-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/Manifest3
-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-mpv/python-mpv-1.0.6.ebuild46
-rw-r--r--dev-python/python-multipart/Manifest1
-rw-r--r--dev-python/python-multipart/metadata.xml13
-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/Manifest3
-rw-r--r--dev-python/python-nbxmpp/metadata.xml15
-rw-r--r--dev-python/python-nbxmpp/python-nbxmpp-2.0.6.ebuild31
-rw-r--r--dev-python/python-nbxmpp/python-nbxmpp-3.1.0.ebuild32
-rw-r--r--dev-python/python-nbxmpp/python-nbxmpp-3.1.1.ebuild32
-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-7.8.0.ebuild72
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-8.0.0.ebuild72
-rw-r--r--dev-python/python-novaclient/Manifest2
-rw-r--r--dev-python/python-novaclient/python-novaclient-18.0.0.ebuild59
-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-5.8.0.ebuild57
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-6.6.0.ebuild62
-rw-r--r--dev-python/python-pam/Manifest2
-rw-r--r--dev-python/python-pam/python-pam-2.0.2-r1.ebuild21
-rw-r--r--dev-python/python-pam/python-pam-2.0.2-r2.ebuild29
-rw-r--r--dev-python/python-poppler-qt5/Manifest3
-rw-r--r--dev-python/python-poppler-qt5/python-poppler-qt5-0.75.0.ebuild33
-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-redmine/Manifest3
-rw-r--r--dev-python/python-redmine/python-redmine-2.3.0.ebuild20
-rw-r--r--dev-python/python-redmine/python-redmine-2.4.0.ebuild36
-rw-r--r--dev-python/python-redmine/python-redmine-2.5.0.ebuild36
-rw-r--r--dev-python/python-rtmidi/Manifest1
-rw-r--r--dev-python/python-rtmidi/files/python-rtmidi-1.5.1-unbundle_rtmidi.patch55
-rw-r--r--dev-python/python-rtmidi/metadata.xml12
-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.2.0-r3.ebuild25
-rw-r--r--dev-python/python-slugify/Manifest2
-rw-r--r--dev-python/python-slugify/python-slugify-6.1.2.ebuild28
-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/Manifest2
-rw-r--r--dev-python/python-socks/python-socks-2.0.3.ebuild43
-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/metadata.xml1
-rw-r--r--dev-python/python-stdnum/python-stdnum-1.17.ebuild31
-rw-r--r--dev-python/python-stdnum/python-stdnum-1.20.ebuild38
-rw-r--r--dev-python/python-swiftclient/Manifest3
-rw-r--r--dev-python/python-swiftclient/metadata.xml33
-rw-r--r--dev-python/python-swiftclient/python-swiftclient-4.0.0.ebuild40
-rw-r--r--dev-python/python-swiftclient/python-swiftclient-4.0.1.ebuild40
-rw-r--r--dev-python/python-swiftclient/python-swiftclient-4.5.0.ebuild40
-rw-r--r--dev-python/python-systemd/Manifest2
-rw-r--r--dev-python/python-systemd/files/python-systemd-234-fix-py3.10.patch46
-rw-r--r--dev-python/python-systemd/python-systemd-234-r2.ebuild39
-rw-r--r--dev-python/python-systemd/python-systemd-235.ebuild36
-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.3.3.ebuild39
-rw-r--r--dev-python/python-utils/python-utils-3.8.2.ebuild47
-rw-r--r--dev-python/python-varlink/Manifest1
-rw-r--r--dev-python/python-varlink/files/python-varlink-30.3.1-fix.py3.10.patch30
-rw-r--r--dev-python/python-varlink/metadata.xml13
-rw-r--r--dev-python/python-varlink/python-varlink-30.3.1.ebuild34
-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.16120.ebuild21
-rw-r--r--dev-python/python-vlc/python-vlc-3.0.20123.ebuild21
-rw-r--r--dev-python/python-xlib/Manifest2
-rw-r--r--dev-python/python-xlib/python-xlib-0.31-r1.ebuild39
-rw-r--r--dev-python/python-xlib/python-xlib-0.31.ebuild38
-rw-r--r--dev-python/python-xlib/python-xlib-0.33.ebuild48
-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.ebuild26
-rw-r--r--dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.2.ebuild37
-rw-r--r--dev-python/python-zipstream/Manifest1
-rw-r--r--dev-python/python-zipstream/metadata.xml12
-rw-r--r--dev-python/python-zipstream/python-zipstream-1.1.4.ebuild18
-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/metadata.xml2
-rw-r--r--dev-python/python3-saml/python3-saml-1.14.0.ebuild39
-rw-r--r--dev-python/python3-saml/python3-saml-1.16.0.ebuild49
-rw-r--r--dev-python/python3-xapp/Manifest2
-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.1-r1.ebuild25
-rw-r--r--dev-python/python3-xapp/python3-xapp-2.4.1-r2.ebuild58
-rw-r--r--dev-python/python_orocos_kdl/Manifest1
-rw-r--r--dev-python/python_orocos_kdl/metadata.xml11
-rw-r--r--dev-python/python_orocos_kdl/python_orocos_kdl-1.5.1.ebuild57
-rw-r--r--dev-python/python_orocos_kdl/python_orocos_kdl-9999.ebuild57
-rw-r--r--dev-python/pythondialog/metadata.xml2
-rw-r--r--dev-python/pythondialog/pythondialog-3.5.3.ebuild10
-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/Manifest4
-rw-r--r--dev-python/pythran/files/pythran-0.10.0-tests-werror.patch11
-rw-r--r--dev-python/pythran/pythran-0.11.0.ebuild51
-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.ebuild7
-rw-r--r--dev-python/pytimeparse/pytimeparse-1.1.8-r1.ebuild15
-rw-r--r--dev-python/pytoolconfig/Manifest4
-rw-r--r--dev-python/pytoolconfig/metadata.xml2
-rw-r--r--dev-python/pytoolconfig/pytoolconfig-1.1.2.ebuild34
-rw-r--r--dev-python/pytoolconfig/pytoolconfig-1.2.1.ebuild35
-rw-r--r--dev-python/pytoolconfig/pytoolconfig-1.2.2.ebuild35
-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.12.ebuild34
-rw-r--r--dev-python/pytools/pytools-2024.1.1.ebuild33
-rw-r--r--dev-python/pytools/pytools-2024.1.2.ebuild33
-rw-r--r--dev-python/pytrie/Manifest2
-rw-r--r--dev-python/pytrie/pytrie-0.4.0-r1.ebuild14
-rw-r--r--dev-python/pytz/Manifest2
-rw-r--r--dev-python/pytz/files/pytz-2020.5-system-zoneinfo.patch33
-rw-r--r--dev-python/pytz/files/pytz-2023.2-system-tzinfo.patch52
-rw-r--r--dev-python/pytz/metadata.xml3
-rw-r--r--dev-python/pytz/pytz-2022.1.ebuild42
-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/Manifest2
-rw-r--r--dev-python/pytzdata/pytzdata-2020.1-r1.ebuild24
-rw-r--r--dev-python/pytzdata/pytzdata-2020.1-r2.ebuild33
-rw-r--r--dev-python/pyu2f/Manifest2
-rw-r--r--dev-python/pyu2f/pyu2f-0.1.5-r1.ebuild30
-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.23.2.ebuild57
-rw-r--r--dev-python/pyudev/pyudev-0.24.1.ebuild52
-rw-r--r--dev-python/pyupgrade/Manifest2
-rw-r--r--dev-python/pyupgrade/metadata.xml21
-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/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.ebuild31
-rw-r--r--dev-python/pywavelets/Manifest3
-rw-r--r--dev-python/pywavelets/metadata.xml2
-rw-r--r--dev-python/pywavelets/pywavelets-1.3.0.ebuild49
-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/Manifest1
-rw-r--r--dev-python/pywayland/metadata.xml11
-rw-r--r--dev-python/pywayland/pywayland-0.4.17.ebuild55
-rw-r--r--dev-python/pywinrm/pywinrm-0.4.3.ebuild16
-rw-r--r--dev-python/pywlroots/Manifest3
-rw-r--r--dev-python/pywlroots/files/pywlroots-0.15.24-no-import-version-check.patch13
-rw-r--r--dev-python/pywlroots/metadata.xml11
-rw-r--r--dev-python/pywlroots/pywlroots-0.15.24-r2.ebuild48
-rw-r--r--dev-python/pywlroots/pywlroots-0.16.7.ebuild55
-rw-r--r--dev-python/pywlroots/pywlroots-0.16.8.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/Manifest2
-rw-r--r--dev-python/pyxDamerauLevenshtein/metadata.xml4
-rw-r--r--dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.0.ebuild22
-rw-r--r--dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.1.ebuild6
-rw-r--r--dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.8.0.ebuild41
-rw-r--r--dev-python/pyxattr/Manifest2
-rw-r--r--dev-python/pyxattr/metadata.xml3
-rw-r--r--dev-python/pyxattr/pyxattr-0.7.2.ebuild32
-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/metadata.xml2
-rw-r--r--dev-python/pyxdg/pyxdg-0.28-r1.ebuild29
-rw-r--r--dev-python/pyxdg/pyxdg-0.28.ebuild28
-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.ebuild9
-rw-r--r--dev-python/pyzbar/Manifest2
-rw-r--r--dev-python/pyzbar/metadata.xml2
-rw-r--r--dev-python/pyzbar/pyzbar-0.1.9.ebuild16
-rw-r--r--dev-python/pyzmq/Manifest4
-rw-r--r--dev-python/pyzmq/metadata.xml2
-rw-r--r--dev-python/pyzmq/pyzmq-23.2.0-r1.ebuild81
-rw-r--r--dev-python/pyzmq/pyzmq-23.2.0.ebuild77
-rw-r--r--dev-python/pyzmq/pyzmq-25.1.2.ebuild92
-rw-r--r--dev-python/pyzmq/pyzmq-26.0.2.ebuild87
-rw-r--r--dev-python/pyzmq/pyzmq-26.0.3.ebuild87
-rw-r--r--dev-python/pyzotero/Manifest3
-rw-r--r--dev-python/pyzotero/pyzotero-1.5.18.ebuild37
-rw-r--r--dev-python/pyzotero/pyzotero-1.5.4.ebuild38
-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.10.3.ebuild92
-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/Manifest73
-rw-r--r--dev-python/qiskit-terra/files/qiskit-terra-0.19.2-test-corrections.patch36
-rw-r--r--dev-python/qiskit-terra/metadata.xml2
-rw-r--r--dev-python/qiskit-terra/qiskit-terra-0.19.2.ebuild70
-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.ebuild13
-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/Manifest3
-rw-r--r--dev-python/qscintilla-python/metadata.xml9
-rw-r--r--dev-python/qscintilla-python/qscintilla-python-2.11.6.ebuild78
-rw-r--r--dev-python/qscintilla-python/qscintilla-python-2.13.1.ebuild82
-rw-r--r--dev-python/qscintilla-python/qscintilla-python-2.14.1-r2.ebuild112
-rw-r--r--dev-python/qstylizer/Manifest3
-rw-r--r--dev-python/qstylizer/metadata.xml1
-rw-r--r--dev-python/qstylizer/qstylizer-0.2.1-r1.ebuild52
-rw-r--r--dev-python/qstylizer/qstylizer-0.2.2.ebuild54
-rw-r--r--dev-python/qstylizer/qstylizer-0.2.3.ebuild45
-rw-r--r--dev-python/qtawesome/Manifest2
-rw-r--r--dev-python/qtawesome/qtawesome-1.1.1-r1.ebuild38
-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.1.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/qtconsole/qtconsole-5.5.2.ebuild66
-rw-r--r--dev-python/qtsass/Manifest2
-rw-r--r--dev-python/qtsass/files/qtsass-0.3.0-fix-py3.10.patch37
-rw-r--r--dev-python/qtsass/metadata.xml1
-rw-r--r--dev-python/qtsass/qtsass-0.3.0-r1.ebuild29
-rw-r--r--dev-python/qtsass/qtsass-0.4.0.ebuild35
-rw-r--r--dev-python/quantities/Manifest2
-rw-r--r--dev-python/quantities/metadata.xml2
-rw-r--r--dev-python/quantities/quantities-0.13.0-r1.ebuild27
-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/Manifest1
-rw-r--r--dev-python/quart/metadata.xml12
-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/Manifest1
-rw-r--r--dev-python/rapidfuzz-capi/metadata.xml13
-rw-r--r--dev-python/rapidfuzz-capi/rapidfuzz-capi-1.0.5.ebuild25
-rw-r--r--dev-python/rapidfuzz/Manifest2
-rw-r--r--dev-python/rapidfuzz/metadata.xml12
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.8.1.ebuild66
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.9.0.ebuild66
-rw-r--r--dev-python/rarfile/Manifest2
-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.2.ebuild27
-rw-r--r--dev-python/ratelimit/metadata.xml9
-rw-r--r--dev-python/ratelimit/ratelimit-2.2.1-r1.ebuild6
-rw-r--r--dev-python/rdflib/Manifest3
-rw-r--r--dev-python/rdflib/rdflib-6.1.1.ebuild58
-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/Manifest2
-rw-r--r--dev-python/readme_renderer/readme_renderer-35.0.ebuild35
-rw-r--r--dev-python/readme_renderer/readme_renderer-36.0.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.1.8.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.ebuild25
-rw-r--r--dev-python/recurring-ical-events/Manifest3
-rw-r--r--dev-python/recurring-ical-events/metadata.xml13
-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/Manifest1
-rw-r--r--dev-python/redis-py/redis-py-4.3.4.ebuild72
-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.4.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/Manifest1
-rw-r--r--dev-python/reedsolomon/metadata.xml16
-rw-r--r--dev-python/reedsolomon/reedsolomon-1.5.4-r2.ebuild32
-rw-r--r--dev-python/referencing/Manifest3
-rw-r--r--dev-python/referencing/metadata.xml13
-rw-r--r--dev-python/referencing/referencing-0.34.0.ebuild33
-rw-r--r--dev-python/referencing/referencing-0.35.0.ebuild33
-rw-r--r--dev-python/referencing/referencing-0.35.1.ebuild33
-rw-r--r--dev-python/reflink/Manifest2
-rw-r--r--dev-python/reflink/metadata.xml7
-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/Manifest7
-rw-r--r--dev-python/regex/metadata.xml1
-rw-r--r--dev-python/regex/regex-2022.6.2.ebuild35
-rw-r--r--dev-python/regex/regex-2022.7.24.ebuild35
-rw-r--r--dev-python/regex/regex-2022.7.25.ebuild35
-rw-r--r--dev-python/regex/regex-2022.7.9.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/regex/regex-2024.4.28.ebuild37
-rw-r--r--dev-python/rencode/Manifest2
-rw-r--r--dev-python/rencode/metadata.xml12
-rw-r--r--dev-python/rencode/rencode-1.0.6-r3.ebuild28
-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/Manifest7
-rw-r--r--dev-python/reportlab/files/reportlab-3.5.48-usr-lib-LLD.patch34
-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.10.ebuild62
-rw-r--r--dev-python/reportlab/reportlab-3.6.11.ebuild62
-rw-r--r--dev-python/reportlab/reportlab-3.6.6.ebuild58
-rw-r--r--dev-python/reportlab/reportlab-3.6.7.ebuild58
-rw-r--r--dev-python/reportlab/reportlab-3.6.8.ebuild61
-rw-r--r--dev-python/reportlab/reportlab-3.6.9.ebuild62
-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.ebuild6
-rw-r--r--dev-python/requests-cache/Manifest2
-rw-r--r--dev-python/requests-cache/requests-cache-0.9.5.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.ebuild22
-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.ebuild14
-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/files/requests-mock-1.9.3-obj-has-no-attr-url.patch50
-rw-r--r--dev-python/requests-mock/requests-mock-1.12.1.ebuild53
-rw-r--r--dev-python/requests-mock/requests-mock-1.9.3-r1.ebuild49
-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/files/requests-toolbelt-0.8.0-test-tracebacks.patch36
-rw-r--r--dev-python/requests-toolbelt/files/requests-toolbelt-0.9.1-py310.patch37
-rw-r--r--dev-python/requests-toolbelt/files/requests-toolbelt-0.9.1-tests.patch128
-rw-r--r--dev-python/requests-toolbelt/metadata.xml1
-rw-r--r--dev-python/requests-toolbelt/requests-toolbelt-0.9.1-r1.ebuild55
-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/Manifest2
-rw-r--r--dev-python/requests/metadata.xml1
-rw-r--r--dev-python/requests/requests-2.28.1.ebuild72
-rw-r--r--dev-python/requests/requests-2.31.0.ebuild81
-rw-r--r--dev-python/requests_download/requests_download-0.1.2-r1.ebuild4
-rw-r--r--dev-python/requests_download/requests_download-0.1.2-r2.ebuild32
-rw-r--r--dev-python/requests_pkcs12/Manifest1
-rw-r--r--dev-python/requests_pkcs12/metadata.xml15
-rw-r--r--dev-python/requests_pkcs12/requests_pkcs12-1.14.ebuild24
-rw-r--r--dev-python/requestsexceptions/metadata.xml2
-rw-r--r--dev-python/requestsexceptions/requestsexceptions-1.4.0-r1.ebuild27
-rw-r--r--dev-python/requestsexceptions/requestsexceptions-1.4.0.ebuild18
-rw-r--r--dev-python/resolvelib/Manifest3
-rw-r--r--dev-python/resolvelib/metadata.xml10
-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-1.0.1.ebuild33
-rw-r--r--dev-python/responses/Manifest2
-rw-r--r--dev-python/responses/responses-0.21.0.ebuild36
-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.ebuild14
-rw-r--r--dev-python/retry-decorator/retry-decorator-1.1.1-r1.ebuild6
-rw-r--r--dev-python/retrying/Manifest2
-rw-r--r--dev-python/retrying/metadata.xml9
-rw-r--r--dev-python/retrying/retrying-1.3.3-r1.ebuild21
-rw-r--r--dev-python/retrying/retrying-1.3.4.ebuild29
-rw-r--r--dev-python/retworkx/Manifest65
-rw-r--r--dev-python/retworkx/metadata.xml23
-rw-r--r--dev-python/retworkx/retworkx-0.11.0.ebuild112
-rw-r--r--dev-python/rfc3339-validator/rfc3339-validator-0.1.4-r1.ebuild6
-rw-r--r--dev-python/rfc3986-validator/rfc3986-validator-0.1.1-r1.ebuild13
-rw-r--r--dev-python/rfc3986/rfc3986-2.0.0-r1.ebuild7
-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/Manifest4
-rw-r--r--dev-python/rich/rich-12.4.4.ebuild55
-rw-r--r--dev-python/rich/rich-12.5.1.ebuild55
-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/Manifest3
-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/roman/roman-4.2.ebuild26
-rw-r--r--dev-python/rope/Manifest4
-rw-r--r--dev-python/rope/rope-1.1.1.ebuild29
-rw-r--r--dev-python/rope/rope-1.13.0.ebuild43
-rw-r--r--dev-python/rope/rope-1.2.0.ebuild40
-rw-r--r--dev-python/rope/rope-1.3.0.ebuild40
-rw-r--r--dev-python/ropemode/Manifest1
-rw-r--r--dev-python/ropemode/ropemode-0.5.ebuild25
-rw-r--r--dev-python/ropemode/ropemode-0.6.1.ebuild6
-rw-r--r--dev-python/rosdistro/Manifest1
-rw-r--r--dev-python/rosdistro/files/yaml.patch252
-rw-r--r--dev-python/rosdistro/metadata.xml11
-rw-r--r--dev-python/rosdistro/rosdistro-0.8.3.ebuild46
-rw-r--r--dev-python/rosdistro/rosdistro-9999.ebuild46
-rw-r--r--dev-python/rospkg/Manifest1
-rw-r--r--dev-python/rospkg/files/gentoo.patch15
-rw-r--r--dev-python/rospkg/metadata.xml11
-rw-r--r--dev-python/rospkg/rospkg-1.4.0.ebuild41
-rw-r--r--dev-python/rospkg/rospkg-9999.ebuild41
-rw-r--r--dev-python/routes/metadata.xml1
-rw-r--r--dev-python/routes/routes-2.5.1-r2.ebuild6
-rw-r--r--dev-python/rpds-py/Manifest58
-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/rpds-py/rpds-py-0.18.1.ebuild70
-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.4.5.ebuild40
-rw-r--r--dev-python/rpy/rpy-3.5.14.ebuild48
-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.1.0.ebuild60
-rw-r--r--dev-python/rpyc/rpyc-5.3.1-r1.ebuild69
-rw-r--r--dev-python/rq/Manifest4
-rw-r--r--dev-python/rq/rq-1.10.1-r2.ebuild58
-rw-r--r--dev-python/rq/rq-1.11.ebuild57
-rw-r--r--dev-python/rq/rq-1.16.1.ebuild57
-rw-r--r--dev-python/rq/rq-1.16.2.ebuild57
-rw-r--r--dev-python/rsa/Manifest1
-rw-r--r--dev-python/rsa/files/rsa-4.8-includes.patch28
-rw-r--r--dev-python/rsa/metadata.xml1
-rw-r--r--dev-python/rsa/rsa-4.8-r2.ebuild39
-rw-r--r--dev-python/rsa/rsa-4.9.ebuild6
-rw-r--r--dev-python/rst-linker/Manifest3
-rw-r--r--dev-python/rst-linker/rst-linker-2.3.0.ebuild34
-rw-r--r--dev-python/rst-linker/rst-linker-2.5.0.ebuild31
-rw-r--r--dev-python/rst-linker/rst-linker-2.6.0.ebuild33
-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_cython_pointer_types.patch75
-rw-r--r--dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.6-r2.ebuild43
-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/Manifest89
-rw-r--r--dev-python/rustworkx/metadata.xml23
-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.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/Manifest2
-rw-r--r--dev-python/sabyenc/files/sabyenc-4.0.2-fix-segfault.patch28
-rw-r--r--dev-python/sabyenc/metadata.xml8
-rw-r--r--dev-python/sabyenc/sabyenc-4.0.2.ebuild28
-rw-r--r--dev-python/sabyenc/sabyenc-5.4.2.ebuild29
-rw-r--r--dev-python/sarge/sarge-0.1.7_p1.ebuild4
-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.ebuild24
-rw-r--r--dev-python/scandir/Manifest1
-rw-r--r--dev-python/scandir/metadata.xml16
-rw-r--r--dev-python/scandir/scandir-1.10.0-r2.ebuild20
-rw-r--r--dev-python/schema/Manifest2
-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/schema/schema-0.7.7.ebuild21
-rw-r--r--dev-python/scikit-build-core/Manifest2
-rw-r--r--dev-python/scikit-build-core/metadata.xml12
-rw-r--r--dev-python/scikit-build-core/scikit-build-core-0.9.2-r1.ebuild63
-rw-r--r--dev-python/scikit-build-core/scikit-build-core-0.9.3.ebuild63
-rw-r--r--dev-python/scikit-build/Manifest2
-rw-r--r--dev-python/scikit-build/metadata.xml1
-rw-r--r--dev-python/scikit-build/scikit-build-0.15.0.ebuild70
-rw-r--r--dev-python/scikit-build/scikit-build-0.17.6.ebuild68
-rw-r--r--dev-python/scikit-image/Manifest3
-rw-r--r--dev-python/scikit-image/metadata.xml18
-rw-r--r--dev-python/scikit-image/scikit-image-0.23.1.ebuild97
-rw-r--r--dev-python/scikit-image/scikit-image-0.23.2.ebuild97
-rw-r--r--dev-python/scikit-learn/Manifest1
-rw-r--r--dev-python/scikit-learn/metadata.xml17
-rw-r--r--dev-python/scikit-learn/scikit-learn-1.4.2.ebuild70
-rw-r--r--dev-python/scipy/Manifest12
-rw-r--r--dev-python/scipy/files/scipy-1.9.9999-meson-options-lapack.patch28
-rw-r--r--dev-python/scipy/metadata.xml4
-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.8.1.ebuild189
-rw-r--r--dev-python/scipy/scipy-1.9.0-r1.ebuild104
-rw-r--r--dev-python/scipy/scipy-1.9.9999.ebuild104
-rw-r--r--dev-python/scripttest/Manifest2
-rw-r--r--dev-python/scripttest/scripttest-1.3.0-r2.ebuild6
-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/files/seaborn-Update-tests-for-compatability-with-matplotlib-3.5.0.patch280
-rw-r--r--dev-python/seaborn/metadata.xml8
-rw-r--r--dev-python/seaborn/seaborn-0.11.2.ebuild54
-rw-r--r--dev-python/seaborn/seaborn-0.13.2.ebuild39
-rw-r--r--dev-python/secretstorage/Manifest2
-rw-r--r--dev-python/secretstorage/secretstorage-3.3.2.ebuild56
-rw-r--r--dev-python/secretstorage/secretstorage-3.3.3.ebuild53
-rw-r--r--dev-python/seedir/Manifest1
-rw-r--r--dev-python/seedir/metadata.xml13
-rw-r--r--dev-python/seedir/seedir-0.4.2.ebuild29
-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/Manifest6
-rw-r--r--dev-python/selenium/selenium-3.141.0-r1.ebuild47
-rw-r--r--dev-python/selenium/selenium-4.19.0.ebuild65
-rw-r--r--dev-python/selenium/selenium-4.20.0.ebuild65
-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.ebuild28
-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/Manifest2
-rw-r--r--dev-python/send2trash/send2trash-1.8.0-r1.ebuild25
-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/sentinels/Manifest1
-rw-r--r--dev-python/sentinels/metadata.xml14
-rw-r--r--dev-python/sentinels/sentinels-1.0.0.ebuild18
-rw-r--r--dev-python/sentry-sdk/Manifest9
-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.45.0.ebuild155
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.6.0.ebuild91
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.7.2.ebuild91
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.8.0.ebuild95
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.9.0.ebuild96
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.9.1.ebuild96
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.9.2.ebuild96
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-2.0.1.ebuild115
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-2.1.1.ebuild119
-rw-r--r--dev-python/serpent/serpent-1.41.ebuild16
-rw-r--r--dev-python/serverfiles/metadata.xml1
-rw-r--r--dev-python/serverfiles/serverfiles-0.3.1-r1.ebuild28
-rw-r--r--dev-python/serverfiles/serverfiles-0.3.1.ebuild20
-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/Manifest4
-rw-r--r--dev-python/setproctitle/setproctitle-1.2.3.ebuild22
-rw-r--r--dev-python/setproctitle/setproctitle-1.3.0.ebuild22
-rw-r--r--dev-python/setproctitle/setproctitle-1.3.1.ebuild22
-rw-r--r--dev-python/setproctitle/setproctitle-1.3.3.ebuild22
-rw-r--r--dev-python/setuptools-declarative-requirements/Manifest2
-rw-r--r--dev-python/setuptools-declarative-requirements/metadata.xml15
-rw-r--r--dev-python/setuptools-declarative-requirements/setuptools-declarative-requirements-1.2.0-r2.ebuild51
-rw-r--r--dev-python/setuptools-declarative-requirements/setuptools-declarative-requirements-1.3.0.ebuild52
-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.ebuild8
-rw-r--r--dev-python/setuptools-rust/Manifest61
-rw-r--r--dev-python/setuptools-rust/setuptools-rust-1.3.0.ebuild155
-rw-r--r--dev-python/setuptools-rust/setuptools-rust-1.4.1.ebuild157
-rw-r--r--dev-python/setuptools-rust/setuptools-rust-1.9.0.ebuild192
-rw-r--r--dev-python/setuptools-scm/Manifest3
-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-scm/setuptools-scm-8.1.0.ebuild63
-rw-r--r--dev-python/setuptools/Manifest8
-rw-r--r--dev-python/setuptools/setuptools-62.6.0.ebuild123
-rw-r--r--dev-python/setuptools/setuptools-63.1.0.ebuild123
-rw-r--r--dev-python/setuptools/setuptools-63.2.0.ebuild123
-rw-r--r--dev-python/setuptools/setuptools-63.3.0.ebuild125
-rw-r--r--dev-python/setuptools/setuptools-63.4.1.ebuild125
-rw-r--r--dev-python/setuptools/setuptools-63.4.2.ebuild125
-rw-r--r--dev-python/setuptools/setuptools-69.0.3-r1.ebuild112
-rw-r--r--dev-python/setuptools/setuptools-69.5.1-r1.ebuild134
-rw-r--r--dev-python/setuptools_scm/Manifest1
-rw-r--r--dev-python/setuptools_scm/setuptools_scm-7.0.5.ebuild52
-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.ebuild11
-rw-r--r--dev-python/sh/Manifest3
-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/metadata.xml2
-rw-r--r--dev-python/sh/sh-1.14.2-r1.ebuild29
-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/metadata.xml2
-rw-r--r--dev-python/shapely/shapely-1.8.2.ebuild50
-rw-r--r--dev-python/shapely/shapely-2.0.3.ebuild50
-rw-r--r--dev-python/shapely/shapely-2.0.4-r1.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/Manifest2
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.2-numpy-1.23.patch28
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.2-python310.patch104
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.2-python311-fixups.patch47
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.2-python311.patch125
-rw-r--r--dev-python/shiboken2/metadata.xml9
-rw-r--r--dev-python/shiboken2/shiboken2-5.15.13.ebuild172
-rw-r--r--dev-python/shiboken2/shiboken2-5.15.2-r2.ebuild172
-rw-r--r--dev-python/shiboken6/Manifest1
-rw-r--r--dev-python/shiboken6/files/shiboken6-6.3.1-no-strip.patch26
-rw-r--r--dev-python/shiboken6/metadata.xml20
-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.xml9
-rw-r--r--dev-python/signedjson/signedjson-1.1.4.ebuild16
-rw-r--r--dev-python/simber/Manifest2
-rw-r--r--dev-python/simber/metadata.xml4
-rw-r--r--dev-python/simber/simber-0.2.4.ebuild21
-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.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.ebuild19
-rw-r--r--dev-python/simpleeval/simpleeval-0.9.13.ebuild21
-rw-r--r--dev-python/simplegeneric/Manifest1
-rw-r--r--dev-python/simplegeneric/metadata.xml19
-rw-r--r--dev-python/simplegeneric/simplegeneric-0.8.1-r1.ebuild20
-rw-r--r--dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild21
-rw-r--r--dev-python/simplejson/Manifest2
-rw-r--r--dev-python/simplejson/metadata.xml6
-rw-r--r--dev-python/simplejson/simplejson-3.17.6.ebuild24
-rw-r--r--dev-python/simplejson/simplejson-3.19.2.ebuild37
-rw-r--r--dev-python/simplekml/simplekml-1.3.6.ebuild7
-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.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/simsimd/Manifest1
-rw-r--r--dev-python/simsimd/metadata.xml11
-rw-r--r--dev-python/simsimd/simsimd-4.3.1.ebuild64
-rw-r--r--dev-python/sip/Manifest5
-rw-r--r--dev-python/sip/files/sip-4.18-darwin.patch30
-rw-r--r--dev-python/sip/files/sip-6.5.0-pep517-args.patch190
-rw-r--r--dev-python/sip/files/sip-6.6.1-python311-invalid-regex.patch21
-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.6.1.ebuild39
-rw-r--r--dev-python/sip/sip-6.6.2.ebuild34
-rw-r--r--dev-python/sip/sip-6.8.3.ebuild31
-rw-r--r--dev-python/six/six-1.16.0-r1.ebuild27
-rw-r--r--dev-python/slackclient/Manifest1
-rw-r--r--dev-python/slackclient/metadata.xml13
-rw-r--r--dev-python/slackclient/slackclient-2.5.0.ebuild29
-rw-r--r--dev-python/slimit/Manifest1
-rw-r--r--dev-python/slimit/files/slimit-0.8.1-fix-python3.patch277
-rw-r--r--dev-python/slimit/metadata.xml15
-rw-r--r--dev-python/slimit/slimit-0.8.1-r1.ebuild36
-rw-r--r--dev-python/slixmpp/Manifest2
-rw-r--r--dev-python/slixmpp/metadata.xml1
-rw-r--r--dev-python/slixmpp/slixmpp-1.8.2.ebuild37
-rw-r--r--dev-python/slixmpp/slixmpp-1.8.5.ebuild52
-rw-r--r--dev-python/slixmpp/slixmpp-9999.ebuild26
-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.ebuild13
-rw-r--r--dev-python/smbus2/Manifest1
-rw-r--r--dev-python/smbus2/metadata.xml13
-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/Manifest6
-rw-r--r--dev-python/snakeoil/metadata.xml13
-rw-r--r--dev-python/snakeoil/snakeoil-0.10.8.ebuild33
-rw-r--r--dev-python/snakeoil/snakeoil-0.9.10.ebuild31
-rw-r--r--dev-python/snakeoil/snakeoil-0.9.11.ebuild31
-rw-r--r--dev-python/snakeoil/snakeoil-0.9.5.ebuild28
-rw-r--r--dev-python/snakeoil/snakeoil-0.9.7.ebuild31
-rw-r--r--dev-python/snakeoil/snakeoil-0.9.9.ebuild31
-rw-r--r--dev-python/snakeoil/snakeoil-9999.ebuild16
-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.ebuild7
-rw-r--r--dev-python/sniffio/Manifest2
-rw-r--r--dev-python/sniffio/sniffio-1.2.0-r1.ebuild30
-rw-r--r--dev-python/sniffio/sniffio-1.3.1.ebuild34
-rw-r--r--dev-python/snowballstemmer/snowballstemmer-2.2.0-r1.ebuild13
-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/socketio-client/Manifest1
-rw-r--r--dev-python/socketio-client/metadata.xml15
-rw-r--r--dev-python/socketio-client/socketio-client-0.7.2.ebuild50
-rw-r--r--dev-python/socksio/socksio-1.0.0.ebuild9
-rw-r--r--dev-python/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild4
-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/speaklater/Manifest1
-rw-r--r--dev-python/speaklater/metadata.xml13
-rw-r--r--dev-python/speaklater/speaklater-1.4.ebuild24
-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.ebuild15
-rw-r--r--dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6.ebuild22
-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/Manifest3
-rw-r--r--dev-python/sphinx-autoapi/sphinx-autoapi-1.8.4.ebuild32
-rw-r--r--dev-python/sphinx-autoapi/sphinx-autoapi-1.9.0.ebuild41
-rw-r--r--dev-python/sphinx-autoapi/sphinx-autoapi-3.0.0.ebuild50
-rw-r--r--dev-python/sphinx-autodoc-typehints/Manifest5
-rw-r--r--dev-python/sphinx-autodoc-typehints/metadata.xml4
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.18.3.ebuild44
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.19.0.ebuild44
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.19.1.ebuild44
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.19.2.ebuild44
-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_alpha11.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/Manifest4
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.10.1.ebuild44
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.11.0.ebuild44
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.15.0.ebuild51
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.16.0.ebuild51
-rw-r--r--dev-python/sphinx-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/Manifest2
-rw-r--r--dev-python/sphinx-issues/sphinx-issues-3.0.1-r1.ebuild25
-rw-r--r--dev-python/sphinx-issues/sphinx-issues-3.0.1.ebuild19
-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/Manifest3
-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-0.8.ebuild23
-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/Manifest3
-rw-r--r--dev-python/sphinx-pytest/metadata.xml2
-rw-r--r--dev-python/sphinx-pytest/sphinx-pytest-0.0.3.ebuild30
-rw-r--r--dev-python/sphinx-pytest/sphinx-pytest-0.0.4.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/Manifest6
-rw-r--r--dev-python/sphinx/sphinx-4.5.0-r1.ebuild125
-rw-r--r--dev-python/sphinx/sphinx-5.0.2.ebuild122
-rw-r--r--dev-python/sphinx/sphinx-5.1.0.ebuild124
-rw-r--r--dev-python/sphinx/sphinx-5.1.1.ebuild124
-rw-r--r--dev-python/sphinx/sphinx-7.2.6.ebuild132
-rw-r--r--dev-python/sphinx/sphinx-7.3.7-r1.ebuild133
-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.8.0.ebuild28
-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/Manifest2
-rw-r--r--dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.0.0-r1.ebuild16
-rw-r--r--dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.2.0.ebuild21
-rw-r--r--dev-python/sphinx_rtd_theme/Manifest1
-rw-r--r--dev-python/sphinx_rtd_theme/sphinx_rtd_theme-1.0.0-r1.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/metadata.xml6
-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/Manifest2
-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.8.ebuild29
-rw-r--r--dev-python/sphinxcontrib-asyncio/Manifest1
-rw-r--r--dev-python/sphinxcontrib-asyncio/metadata.xml12
-rw-r--r--dev-python/sphinxcontrib-asyncio/sphinxcontrib-asyncio-0.3.0.ebuild39
-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.4.2.ebuild42
-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/Manifest4
-rw-r--r--dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.0.ebuild47
-rw-r--r--dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.1.ebuild48
-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/Manifest2
-rw-r--r--dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r1.ebuild26
-rw-r--r--dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r2.ebuild33
-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/Manifest2
-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.ebuild49
-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.ebuild8
-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.ebuild10
-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.6.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/Manifest2
-rw-r--r--dev-python/sphobjinv/metadata.xml4
-rw-r--r--dev-python/sphobjinv/sphobjinv-2.2.2.ebuild57
-rw-r--r--dev-python/sphobjinv/sphobjinv-2.3.1.ebuild59
-rw-r--r--dev-python/spotipy/Manifest3
-rw-r--r--dev-python/spotipy/metadata.xml8
-rw-r--r--dev-python/spotipy/spotipy-2.19.0.ebuild48
-rw-r--r--dev-python/spotipy/spotipy-2.20.0.ebuild49
-rw-r--r--dev-python/spotipy/spotipy-2.23.0.ebuild51
-rw-r--r--dev-python/spur/Manifest2
-rw-r--r--dev-python/spur/metadata.xml1
-rw-r--r--dev-python/spur/spur-0.3.22.ebuild39
-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.3.1-r2.ebuild73
-rw-r--r--dev-python/spyder-kernels/spyder-kernels-2.3.2.ebuild73
-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_beta5.ebuild87
-rw-r--r--dev-python/spyder-line-profiler/Manifest1
-rw-r--r--dev-python/spyder-line-profiler/metadata.xml13
-rw-r--r--dev-python/spyder-line-profiler/spyder-line-profiler-0.3.2.ebuild42
-rw-r--r--dev-python/spyder-notebook/Manifest1
-rw-r--r--dev-python/spyder-notebook/metadata.xml13
-rw-r--r--dev-python/spyder-notebook/spyder-notebook-0.5.1.ebuild59
-rw-r--r--dev-python/spyder-terminal/metadata.xml1
-rw-r--r--dev-python/spyder-terminal/spyder-terminal-1.2.2.ebuild10
-rw-r--r--dev-python/spyder-unittest/Manifest2
-rw-r--r--dev-python/spyder-unittest/metadata.xml1
-rw-r--r--dev-python/spyder-unittest/spyder-unittest-0.5.0.ebuild42
-rw-r--r--dev-python/spyder-unittest/spyder-unittest-0.6.0.ebuild82
-rw-r--r--dev-python/spyder-vim/Manifest1
-rw-r--r--dev-python/spyder-vim/metadata.xml13
-rw-r--r--dev-python/spyder-vim/spyder-vim-0.1.0.ebuild37
-rw-r--r--dev-python/spyder/Manifest7
-rw-r--r--dev-python/spyder/metadata.xml1
-rw-r--r--dev-python/spyder/spyder-5.3.1-r1.ebuild202
-rw-r--r--dev-python/spyder/spyder-5.3.2.ebuild193
-rw-r--r--dev-python/spyder/spyder-5.5.4.ebuild193
-rw-r--r--dev-python/spyder/spyder-6.0.0_alpha5.ebuild190
-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/Manifest5
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.39.ebuild93
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.40.ebuild93
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.52.ebuild107
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.29.ebuild111
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.30.ebuild111
-rw-r--r--dev-python/sqlglot/Manifest36
-rw-r--r--dev-python/sqlglot/metadata.xml20
-rw-r--r--dev-python/sqlglot/sqlglot-23.13.7.ebuild121
-rw-r--r--dev-python/sqlglot/sqlglot-23.14.0.ebuild121
-rw-r--r--dev-python/sqlglot/sqlglot-23.15.0.ebuild121
-rw-r--r--dev-python/sqlitedict/Manifest2
-rw-r--r--dev-python/sqlitedict/sqlitedict-2.0.0.ebuild30
-rw-r--r--dev-python/sqlitedict/sqlitedict-2.1.0.ebuild29
-rw-r--r--dev-python/sqlparse/Manifest2
-rw-r--r--dev-python/sqlparse/sqlparse-0.4.2.ebuild21
-rw-r--r--dev-python/sqlparse/sqlparse-0.5.0.ebuild22
-rw-r--r--dev-python/ssh2-python/Manifest1
-rw-r--r--dev-python/ssh2-python/metadata.xml12
-rw-r--r--dev-python/ssh2-python/ssh2-python-0.27.0.ebuild24
-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.ebuild7
-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.xml13
-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/metadata.xml12
-rw-r--r--dev-python/stack_data/stack_data-0.3.0.ebuild32
-rw-r--r--dev-python/stapler/Manifest2
-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-fix-tests-for-PyPDF2-2.x.patch13
-rw-r--r--dev-python/stapler/files/stapler-1.0.0_p20220330-port-to-PyPDF2-3.0.0.patch302
-rw-r--r--dev-python/stapler/files/stapler-1.0.0_p20220330-use-poetry-core-backend-for-PEP517.patch32
-rw-r--r--dev-python/stapler/stapler-1.0.0_p20220330-r4.ebuild39
-rw-r--r--dev-python/stapler/stapler-1.0.0_p20220330.ebuild30
-rw-r--r--dev-python/starlette/Manifest4
-rw-r--r--dev-python/starlette/metadata.xml1
-rw-r--r--dev-python/starlette/starlette-0.18.0.ebuild50
-rw-r--r--dev-python/starlette/starlette-0.20.3.ebuild65
-rw-r--r--dev-python/starlette/starlette-0.20.4.ebuild65
-rw-r--r--dev-python/starlette/starlette-0.37.2.ebuild54
-rw-r--r--dev-python/statsd/Manifest2
-rw-r--r--dev-python/statsd/statsd-3.3.0.ebuild22
-rw-r--r--dev-python/statsd/statsd-4.0.1.ebuild25
-rw-r--r--dev-python/statsmodels/Manifest3
-rw-r--r--dev-python/statsmodels/metadata.xml8
-rw-r--r--dev-python/statsmodels/statsmodels-0.13.2.ebuild85
-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-3.2.1.ebuild37
-rw-r--r--dev-python/stestr/stestr-4.1.0.ebuild46
-rw-r--r--dev-python/stevedore/Manifest3
-rw-r--r--dev-python/stevedore/stevedore-3.5.0.ebuild53
-rw-r--r--dev-python/stevedore/stevedore-4.0.0.ebuild53
-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.ebuild6
-rw-r--r--dev-python/stripe/Manifest6
-rw-r--r--dev-python/stripe/metadata.xml8
-rw-r--r--dev-python/stripe/stripe-3.5.0.ebuild71
-rw-r--r--dev-python/stripe/stripe-4.0.2.ebuild71
-rw-r--r--dev-python/stripe/stripe-9.3.0.ebuild88
-rw-r--r--dev-python/stripe/stripe-9.4.0.ebuild88
-rw-r--r--dev-python/stripe/stripe-9.5.0.ebuild88
-rw-r--r--dev-python/stripe/stripe-9.6.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/Manifest2
-rw-r--r--dev-python/subprocess-tee/subprocess-tee-0.3.5.ebuild34
-rw-r--r--dev-python/subprocess-tee/subprocess-tee-0.4.1.ebuild45
-rw-r--r--dev-python/subunit/Manifest2
-rw-r--r--dev-python/subunit/subunit-1.4.0_p20210729.ebuild99
-rw-r--r--dev-python/subunit/subunit-1.4.4.ebuild91
-rw-r--r--dev-python/suds-community/suds-community-1.1.2.ebuild10
-rw-r--r--dev-python/superqt/Manifest1
-rw-r--r--dev-python/superqt/metadata.xml17
-rw-r--r--dev-python/superqt/superqt-0.6.4.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/metadata.xml8
-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/Manifest3
-rw-r--r--dev-python/svglib/svglib-1.3.0.ebuild38
-rw-r--r--dev-python/svglib/svglib-1.4.1.ebuild38
-rw-r--r--dev-python/svglib/svglib-1.5.1.ebuild38
-rw-r--r--dev-python/svgwrite/Manifest1
-rw-r--r--dev-python/svgwrite/metadata.xml1
-rw-r--r--dev-python/svgwrite/svgwrite-1.4.2.ebuild32
-rw-r--r--dev-python/svgwrite/svgwrite-1.4.3.ebuild6
-rw-r--r--dev-python/swagger-spec-validator/Manifest2
-rw-r--r--dev-python/swagger-spec-validator/metadata.xml5
-rw-r--r--dev-python/swagger-spec-validator/swagger-spec-validator-2.7.4.ebuild29
-rw-r--r--dev-python/swagger-spec-validator/swagger-spec-validator-3.0.3.ebuild42
-rw-r--r--dev-python/sybil/Manifest3
-rw-r--r--dev-python/sybil/sybil-3.0.1.ebuild19
-rw-r--r--dev-python/sybil/sybil-6.1.0.ebuild39
-rw-r--r--dev-python/sybil/sybil-6.1.1.ebuild39
-rw-r--r--dev-python/symengine/Manifest4
-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.8.1-r1.ebuild55
-rw-r--r--dev-python/symengine/symengine-0.9.1.ebuild54
-rw-r--r--dev-python/symengine/symengine-0.9.2-r1.ebuild56
-rw-r--r--dev-python/symengine/symengine-0.9.2.ebuild51
-rw-r--r--dev-python/sympy/Manifest3
-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/metadata.xml12
-rw-r--r--dev-python/sympy/sympy-1.10.1.ebuild66
-rw-r--r--dev-python/sympy/sympy-1.12-r1.ebuild116
-rw-r--r--dev-python/sympy/sympy-1.12.1_rc1.ebuild104
-rw-r--r--dev-python/tables/Manifest4
-rw-r--r--dev-python/tables/files/tables-3.8.0-blosc2.patch30
-rw-r--r--dev-python/tables/files/tables-3.8.0-cython3.patch40
-rw-r--r--dev-python/tables/files/tables-3.8.0-optional-cpuinfo.patch69
-rw-r--r--dev-python/tables/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/Manifest2
-rw-r--r--dev-python/tabulate/tabulate-0.8.10.ebuild56
-rw-r--r--dev-python/tabulate/tabulate-0.9.0-r1.ebuild59
-rw-r--r--dev-python/tagpy/Manifest2
-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/metadata.xml1
-rw-r--r--dev-python/tagpy/tagpy-2018.1-r3.ebuild50
-rw-r--r--dev-python/tagpy/tagpy-2022.1.ebuild34
-rw-r--r--dev-python/tappy/tappy-3.1-r1.ebuild22
-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/Manifest1
-rw-r--r--dev-python/tavalidate/metadata.xml12
-rw-r--r--dev-python/tavalidate/tavalidate-0.0.6-r1.ebuild26
-rw-r--r--dev-python/tavern/Manifest1
-rw-r--r--dev-python/tavern/files/tavern-2.10.1-pytest-8.patch36
-rw-r--r--dev-python/tavern/metadata.xml16
-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/Manifest3
-rw-r--r--dev-python/tcolorpy/tcolorpy-0.1.2-r1.ebuild19
-rw-r--r--dev-python/tcolorpy/tcolorpy-0.1.2.ebuild18
-rw-r--r--dev-python/tcolorpy/tcolorpy-0.1.4.ebuild21
-rw-r--r--dev-python/tcolorpy/tcolorpy-0.1.6.ebuild25
-rw-r--r--dev-python/tekore/Manifest3
-rw-r--r--dev-python/tekore/tekore-4.4.0.ebuild48
-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/metadata.xml5
-rw-r--r--dev-python/tempest/tempest-31.1.0.ebuild73
-rw-r--r--dev-python/tempest/tempest-38.0.0.ebuild74
-rw-r--r--dev-python/tempita/Manifest1
-rw-r--r--dev-python/tempita/files/tempita-0.5.3-2to3.patch233
-rw-r--r--dev-python/tempita/files/tempita-0.5.3-cgi-escape.patch31
-rw-r--r--dev-python/tempita/metadata.xml12
-rw-r--r--dev-python/tempita/tempita-0.5.3-r3.ebuild46
-rw-r--r--dev-python/tempora/Manifest3
-rw-r--r--dev-python/tempora/metadata.xml1
-rw-r--r--dev-python/tempora/tempora-5.0.1.ebuild32
-rw-r--r--dev-python/tempora/tempora-5.0.2.ebuild33
-rw-r--r--dev-python/tempora/tempora-5.5.1.ebuild46
-rw-r--r--dev-python/tenacity/Manifest3
-rw-r--r--dev-python/tenacity/tenacity-8.0.1-r1.ebuild41
-rw-r--r--dev-python/tenacity/tenacity-8.2.3.ebuild40
-rw-r--r--dev-python/tenacity/tenacity-8.3.0.ebuild30
-rw-r--r--dev-python/termcolor/Manifest2
-rw-r--r--dev-python/termcolor/metadata.xml1
-rw-r--r--dev-python/termcolor/termcolor-1.1.0-r3.ebuild20
-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.15.0.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.ebuild22
-rw-r--r--dev-python/terminaltables/terminaltables-9999.ebuild12
-rw-r--r--dev-python/test_server/Manifest1
-rw-r--r--dev-python/test_server/metadata.xml13
-rw-r--r--dev-python/test_server/test_server-0.0.40.ebuild25
-rw-r--r--dev-python/testfixtures/Manifest4
-rw-r--r--dev-python/testfixtures/testfixtures-6.18.5.ebuild51
-rw-r--r--dev-python/testfixtures/testfixtures-7.0.0.ebuild52
-rw-r--r--dev-python/testfixtures/testfixtures-8.1.0.ebuild47
-rw-r--r--dev-python/testfixtures/testfixtures-8.2.0.ebuild47
-rw-r--r--dev-python/testpath/Manifest2
-rw-r--r--dev-python/testpath/testpath-0.6.0.ebuild17
-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.ebuild9
-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.ebuild10
-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/Manifest3
-rw-r--r--dev-python/textdistance/textdistance-4.3.0.ebuild34
-rw-r--r--dev-python/textdistance/textdistance-4.6.1.ebuild36
-rw-r--r--dev-python/textdistance/textdistance-4.6.2.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.4-r1.ebuild29
-rw-r--r--dev-python/texttable/texttable-1.7.0.ebuild32
-rw-r--r--dev-python/threadpoolctl/Manifest3
-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/threadpoolctl/threadpoolctl-3.5.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/thrift/thrift-0.16.0.ebuild4
-rw-r--r--dev-python/thriftpy2/Manifest3
-rw-r--r--dev-python/thriftpy2/thriftpy2-0.4.14-r1.ebuild40
-rw-r--r--dev-python/thriftpy2/thriftpy2-0.4.20-r1.ebuild57
-rw-r--r--dev-python/thriftpy2/thriftpy2-0.4.20.ebuild56
-rw-r--r--dev-python/thriftpy2/thriftpy2-0.5.0.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/Manifest6
-rw-r--r--dev-python/tifffile/tifffile-2022.5.4.ebuild53
-rw-r--r--dev-python/tifffile/tifffile-2022.7.28.ebuild53
-rw-r--r--dev-python/tifffile/tifffile-2022.7.31.ebuild53
-rw-r--r--dev-python/tifffile/tifffile-2022.8.3.ebuild53
-rw-r--r--dev-python/tifffile/tifffile-2024.4.24.ebuild56
-rw-r--r--dev-python/tifffile/tifffile-2024.5.3.ebuild47
-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/Manifest1
-rw-r--r--dev-python/time-machine/metadata.xml12
-rw-r--r--dev-python/time-machine/time-machine-2.14.1.ebuild30
-rw-r--r--dev-python/timeout-decorator/timeout-decorator-0.5.0-r1.ebuild6
-rw-r--r--dev-python/tiny-proxy/Manifest1
-rw-r--r--dev-python/tiny-proxy/metadata.xml13
-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.ebuild15
-rw-r--r--dev-python/tinycss2/Manifest4
-rw-r--r--dev-python/tinycss2/tinycss2-1.1.1-r1.ebuild45
-rw-r--r--dev-python/tinycss2/tinycss2-1.3.0.ebuild42
-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/Manifest3
-rw-r--r--dev-python/tldextract/metadata.xml1
-rw-r--r--dev-python/tldextract/tldextract-3.3.0.ebuild33
-rw-r--r--dev-python/tldextract/tldextract-3.3.1.ebuild33
-rw-r--r--dev-python/tldextract/tldextract-5.1.2.ebuild40
-rw-r--r--dev-python/tlsh/tlsh-4.8.2.ebuild7
-rw-r--r--dev-python/tokenize-rt/Manifest1
-rw-r--r--dev-python/tokenize-rt/metadata.xml21
-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.ebuild4
-rw-r--r--dev-python/tomli/tomli-2.0.1-r1.ebuild11
-rw-r--r--dev-python/tomlkit/Manifest5
-rw-r--r--dev-python/tomlkit/tomlkit-0.11.0.ebuild37
-rw-r--r--dev-python/tomlkit/tomlkit-0.11.1.ebuild37
-rw-r--r--dev-python/tomlkit/tomlkit-0.11.2.ebuild37
-rw-r--r--dev-python/tomlkit/tomlkit-0.12.4.ebuild43
-rw-r--r--dev-python/tomlkit/tomlkit-0.12.5.ebuild43
-rw-r--r--dev-python/toolz/Manifest3
-rw-r--r--dev-python/toolz/metadata.xml1
-rw-r--r--dev-python/toolz/toolz-0.11.2-r1.ebuild18
-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.7-r1.ebuild21
-rw-r--r--dev-python/tornado/Manifest1
-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/metadata.xml12
-rw-r--r--dev-python/tornado/tornado-6.4.ebuild61
-rw-r--r--dev-python/towncrier/Manifest2
-rw-r--r--dev-python/towncrier/towncrier-21.9.0.ebuild38
-rw-r--r--dev-python/towncrier/towncrier-23.11.0.ebuild55
-rw-r--r--dev-python/tox/Manifest3
-rw-r--r--dev-python/tox/tox-3.25.1.ebuild69
-rw-r--r--dev-python/tox/tox-4.14.2.ebuild87
-rw-r--r--dev-python/tox/tox-4.15.0.ebuild87
-rw-r--r--dev-python/tpm2-pytss/Manifest2
-rw-r--r--dev-python/tpm2-pytss/files/tpm2-pytss-1.1.0-src-move-package-under-src-directory.patch239
-rw-r--r--dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-Revert-test-skip-some-FAPI-tests-if-testing-agains-t.patch83
-rw-r--r--dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-cryptography-fixes-for-newer-version-of-cryptography.patch53
-rw-r--r--dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-scripts-update-regex-for-defines.patch28
-rw-r--r--dev-python/tpm2-pytss/metadata.xml4
-rw-r--r--dev-python/tpm2-pytss/tpm2-pytss-1.1.0.ebuild41
-rw-r--r--dev-python/tpm2-pytss/tpm2-pytss-2.2.1.ebuild50
-rw-r--r--dev-python/tqdm/Manifest3
-rw-r--r--dev-python/tqdm/tqdm-4.64.0.ebuild46
-rw-r--r--dev-python/tqdm/tqdm-4.66.2.ebuild45
-rw-r--r--dev-python/tqdm/tqdm-4.66.4.ebuild45
-rw-r--r--dev-python/traitlets/Manifest2
-rw-r--r--dev-python/traitlets/traitlets-5.14.3.ebuild40
-rw-r--r--dev-python/traitlets/traitlets-5.3.0.ebuild29
-rw-r--r--dev-python/transitions/Manifest2
-rw-r--r--dev-python/transitions/transitions-0.8.11.ebuild41
-rw-r--r--dev-python/transitions/transitions-0.9.0.ebuild43
-rw-r--r--dev-python/translate-toolkit/Manifest3
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.12.2.ebuild118
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.13.0.ebuild118
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.7.2.ebuild99
-rw-r--r--dev-python/tree-sitter/Manifest10
-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.0-r1.ebuild65
-rw-r--r--dev-python/tree-sitter/tree-sitter-0.20.1-r1.ebuild64
-rw-r--r--dev-python/tree-sitter/tree-sitter-0.21.0-r1.ebuild75
-rw-r--r--dev-python/tree-sitter/tree-sitter-0.21.3.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.12.7.ebuild65
-rw-r--r--dev-python/trimesh/trimesh-3.12.8.ebuild65
-rw-r--r--dev-python/trimesh/trimesh-3.12.9.ebuild65
-rw-r--r--dev-python/trimesh/trimesh-3.13.0.ebuild65
-rw-r--r--dev-python/trimesh/trimesh-4.2.4.ebuild69
-rw-r--r--dev-python/trimesh/trimesh-4.3.1.ebuild74
-rw-r--r--dev-python/trimesh/trimesh-4.3.2.ebuild75
-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.ebuild34
-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/Manifest2
-rw-r--r--dev-python/trio/trio-0.21.0.ebuild66
-rw-r--r--dev-python/trio/trio-0.25.0.ebuild67
-rw-r--r--dev-python/trove-classifiers/Manifest4
-rw-r--r--dev-python/trove-classifiers/metadata.xml1
-rw-r--r--dev-python/trove-classifiers/trove-classifiers-2022.6.23.ebuild34
-rw-r--r--dev-python/trove-classifiers/trove-classifiers-2022.6.26.ebuild34
-rw-r--r--dev-python/trove-classifiers/trove-classifiers-2022.7.22.ebuild34
-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/Manifest2
-rw-r--r--dev-python/truststore/metadata.xml12
-rw-r--r--dev-python/truststore/truststore-0.9.0.ebuild47
-rw-r--r--dev-python/truststore/truststore-0.9.1.ebuild47
-rw-r--r--dev-python/tubes/metadata.xml4
-rw-r--r--dev-python/tubes/tubes-0.2.1.ebuild14
-rw-r--r--dev-python/tvdb_api/Manifest1
-rw-r--r--dev-python/tvdb_api/metadata.xml10
-rw-r--r--dev-python/tvdb_api/tvdb_api-3.0.2.ebuild20
-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.1.ebuild78
-rw-r--r--dev-python/twine/twine-5.0.0.ebuild78
-rw-r--r--dev-python/twisted/Manifest2
-rw-r--r--dev-python/twisted/files/twisted-22.1.0-force-gtk3.patch67
-rw-r--r--dev-python/twisted/files/twisted-22.4.0-py311.patch55
-rw-r--r--dev-python/twisted/metadata.xml6
-rw-r--r--dev-python/twisted/twisted-22.4.0-r2.ebuild168
-rw-r--r--dev-python/twisted/twisted-24.3.0.ebuild152
-rw-r--r--dev-python/twython/twython-3.9.1-r1.ebuild14
-rw-r--r--dev-python/txAMQP/Manifest2
-rw-r--r--dev-python/txAMQP/txAMQP-0.8.2-r1.ebuild77
-rw-r--r--dev-python/txAMQP/txAMQP-0.8.2.ebuild75
-rw-r--r--dev-python/txaio/Manifest2
-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.ebuild33
-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.ebuild37
-rw-r--r--dev-python/txrequests/txrequests-0.9.6.ebuild28
-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/metadata.xml12
-rw-r--r--dev-python/typed-ast/typed-ast-1.4.3.ebuild23
-rw-r--r--dev-python/typed-ast/typed-ast-1.5.4.ebuild28
-rw-r--r--dev-python/typeguard/Manifest2
-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.2.1.ebuild42
-rw-r--r--dev-python/types-docutils/Manifest2
-rw-r--r--dev-python/types-docutils/metadata.xml11
-rw-r--r--dev-python/types-docutils/types-docutils-0.20.0.20240406.ebuild17
-rw-r--r--dev-python/types-docutils/types-docutils-0.21.0.20240423.ebuild17
-rw-r--r--dev-python/types-gdb/Manifest2
-rw-r--r--dev-python/types-gdb/metadata.xml11
-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-psutil/Manifest1
-rw-r--r--dev-python/types-psutil/metadata.xml13
-rw-r--r--dev-python/types-psutil/types-psutil-5.9.5.20240423.ebuild17
-rw-r--r--dev-python/types-setuptools/Manifest1
-rw-r--r--dev-python/types-setuptools/metadata.xml13
-rw-r--r--dev-python/types-setuptools/types-setuptools-69.5.0.20240423.ebuild17
-rw-r--r--dev-python/typing-extensions/Manifest2
-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/typogrify/typogrify-2.0.7-r1.ebuild9
-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.1-r1.ebuild22
-rw-r--r--dev-python/u-msgpack-python/u-msgpack-python-2.8.0.ebuild22
-rw-r--r--dev-python/ubelt/Manifest6
-rw-r--r--dev-python/ubelt/metadata.xml1
-rw-r--r--dev-python/ubelt/ubelt-1.1.1.ebuild40
-rw-r--r--dev-python/ubelt/ubelt-1.1.2.ebuild40
-rw-r--r--dev-python/ubelt/ubelt-1.2.0.ebuild41
-rw-r--r--dev-python/ubelt/ubelt-1.2.1.ebuild41
-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/Manifest1
-rw-r--r--dev-python/uc-micro-py/metadata.xml13
-rw-r--r--dev-python/uc-micro-py/uc-micro-py-1.0.3.ebuild22
-rw-r--r--dev-python/ujson/Manifest2
-rw-r--r--dev-python/ujson/ujson-5.4.0.ebuild41
-rw-r--r--dev-python/ujson/ujson-5.9.0.ebuild41
-rw-r--r--dev-python/ukkonen/ukkonen-1.0.1-r1.ebuild21
-rw-r--r--dev-python/unasync/Manifest3
-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/unasync/unasync-0.6.0-r1.ebuild34
-rw-r--r--dev-python/uncertainties/Manifest1
-rw-r--r--dev-python/uncertainties/metadata.xml1
-rw-r--r--dev-python/uncertainties/uncertainties-3.1.6.ebuild27
-rw-r--r--dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild39
-rw-r--r--dev-python/uncertainties/uncertainties-3.1.7.ebuild28
-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.4.ebuild21
-rw-r--r--dev-python/unidecode/unidecode-1.3.8.ebuild20
-rw-r--r--dev-python/unidiff/Manifest3
-rw-r--r--dev-python/unidiff/metadata.xml4
-rw-r--r--dev-python/unidiff/unidiff-0.7.3.ebuild20
-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.ebuild13
-rw-r--r--dev-python/unittest-or-fail/metadata.xml2
-rw-r--r--dev-python/unittest-or-fail/unittest-or-fail-2.ebuild17
-rw-r--r--dev-python/unpaddedbase64/metadata.xml9
-rw-r--r--dev-python/unpaddedbase64/unpaddedbase64-2.1.0.ebuild10
-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.ebuild6
-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/urdf_parser_py/Manifest1
-rw-r--r--dev-python/urdf_parser_py/metadata.xml12
-rw-r--r--dev-python/urdf_parser_py/urdf_parser_py-0.4.5.ebuild28
-rw-r--r--dev-python/uri-template/Manifest1
-rw-r--r--dev-python/uri-template/metadata.xml12
-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/metadata.xml20
-rw-r--r--dev-python/uri_template/uri_template-1.2.0-r1.ebuild34
-rw-r--r--dev-python/uritemplate/uritemplate-4.1.1.ebuild7
-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.ebuild17
-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.10.ebuild78
-rw-r--r--dev-python/urllib3/urllib3-1.26.11.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/Manifest2
-rw-r--r--dev-python/urwid/urwid-2.1.2-r1.ebuild48
-rw-r--r--dev-python/urwid/urwid-2.6.11.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/Manifest2
-rw-r--r--dev-python/urwidtrees/urwidtrees-1.0.3-r2.ebuild40
-rw-r--r--dev-python/urwidtrees/urwidtrees-1.0.3.ebuild36
-rw-r--r--dev-python/userpath/Manifest2
-rw-r--r--dev-python/userpath/metadata.xml13
-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.8.ebuild36
-rw-r--r--dev-python/uv/Manifest14
-rw-r--r--dev-python/uv/files/tokio-tar-0.3.1-ppc.patch35
-rw-r--r--dev-python/uv/files/uv-0.1.24-skip-tests.patch192
-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.38.ebuild121
-rw-r--r--dev-python/uv/uv-0.1.39.ebuild121
-rw-r--r--dev-python/uv/uv-0.1.41.ebuild121
-rw-r--r--dev-python/uv/uv-0.1.42.ebuild121
-rw-r--r--dev-python/uvicorn/Manifest3
-rw-r--r--dev-python/uvicorn/uvicorn-0.17.6.ebuild47
-rw-r--r--dev-python/uvicorn/uvicorn-0.18.2.ebuild62
-rw-r--r--dev-python/uvicorn/uvicorn-0.29.0.ebuild75
-rw-r--r--dev-python/uvloop/Manifest4
-rw-r--r--dev-python/uvloop/files/uvloop-0.15.3-uint64-thread-id.patch43
-rw-r--r--dev-python/uvloop/uvloop-0.15.3-r1.ebuild63
-rw-r--r--dev-python/uvloop/uvloop-0.15.3.ebuild54
-rw-r--r--dev-python/uvloop/uvloop-0.16.0.ebuild63
-rw-r--r--dev-python/uvloop/uvloop-0.19.0-r1.ebuild85
-rw-r--r--dev-python/validators/Manifest2
-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.28.1.ebuild21
-rw-r--r--dev-python/varlink/Manifest1
-rw-r--r--dev-python/varlink/metadata.xml17
-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.0.ebuild58
-rw-r--r--dev-python/vcrpy/vcrpy-6.0.1.ebuild67
-rw-r--r--dev-python/vcstools/Manifest1
-rw-r--r--dev-python/vcstools/files/yaml.patch25
-rw-r--r--dev-python/vcstools/metadata.xml13
-rw-r--r--dev-python/vcstools/vcstools-0.1.42.ebuild57
-rw-r--r--dev-python/vdf/Manifest2
-rw-r--r--dev-python/vdf/vdf-3.4-r1.ebuild16
-rw-r--r--dev-python/vdirsyncer/Manifest2
-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.2-r2.ebuild73
-rw-r--r--dev-python/vecrec/vecrec-0.3.1-r1.ebuild35
-rw-r--r--dev-python/vecrec/vecrec-0.3.1.ebuild31
-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.22.ebuild36
-rw-r--r--dev-python/versioneer/versioneer-0.29-r1.ebuild52
-rw-r--r--dev-python/versioningit/Manifest4
-rw-r--r--dev-python/versioningit/versioningit-2.0.0.ebuild46
-rw-r--r--dev-python/versioningit/versioningit-2.0.1.ebuild50
-rw-r--r--dev-python/versioningit/versioningit-3.1.0.ebuild43
-rw-r--r--dev-python/versioningit/versioningit-3.1.1.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.ebuild23
-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/Manifest6
-rw-r--r--dev-python/virtualenv/virtualenv-20.15.1.ebuild103
-rw-r--r--dev-python/virtualenv/virtualenv-20.16.0.ebuild106
-rw-r--r--dev-python/virtualenv/virtualenv-20.16.2.ebuild106
-rw-r--r--dev-python/virtualenv/virtualenv-20.16.3.ebuild106
-rw-r--r--dev-python/virtualenv/virtualenv-20.25.3.ebuild123
-rw-r--r--dev-python/virtualenv/virtualenv-20.26.1.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.xml10
-rw-r--r--dev-python/virtualenvwrapper/virtualenvwrapper-4.8.4-r1.ebuild32
-rw-r--r--dev-python/virtualenvwrapper/virtualenvwrapper-6.1.0.ebuild71
-rw-r--r--dev-python/visitor/visitor-0.1.3-r2.ebuild6
-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/Manifest3
-rw-r--r--dev-python/vpython/vpython-7.6.3.ebuild32
-rw-r--r--dev-python/vpython/vpython-7.6.4-r1.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/Manifest4
-rw-r--r--dev-python/wand/wand-0.6.13.ebuild39
-rw-r--r--dev-python/wand/wand-0.6.7-r1.ebuild33
-rw-r--r--dev-python/wand/wand-0.6.7.ebuild32
-rw-r--r--dev-python/wand/wand-0.6.8.ebuild40
-rw-r--r--dev-python/wand/wand-0.6.9.ebuild40
-rw-r--r--dev-python/warlock/warlock-1.3.3-r3.ebuild4
-rw-r--r--dev-python/warlock/warlock-2.0.1.ebuild4
-rw-r--r--dev-python/watchdog/Manifest2
-rw-r--r--dev-python/watchdog/watchdog-2.1.9.ebuild52
-rw-r--r--dev-python/watchdog/watchdog-4.0.0.ebuild50
-rw-r--r--dev-python/watchfiles/Manifest90
-rw-r--r--dev-python/watchfiles/watchfiles-0.15.0-r1.ebuild109
-rw-r--r--dev-python/watchfiles/watchfiles-0.16.0.ebuild109
-rw-r--r--dev-python/watchfiles/watchfiles-0.16.1.ebuild109
-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/watchgod/Manifest1
-rw-r--r--dev-python/watchgod/metadata.xml11
-rw-r--r--dev-python/watchgod/watchgod-0.8.2-r1.ebuild59
-rw-r--r--dev-python/wcag-contrast-ratio/wcag-contrast-ratio-0.9-r1.ebuild4
-rw-r--r--dev-python/wcmatch/Manifest2
-rw-r--r--dev-python/wcmatch/metadata.xml12
-rw-r--r--dev-python/wcmatch/wcmatch-8.4.ebuild61
-rw-r--r--dev-python/wcmatch/wcmatch-8.5.1.ebuild61
-rw-r--r--dev-python/wcwidth/Manifest2
-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/weasyprint/Manifest6
-rw-r--r--dev-python/weasyprint/weasyprint-55.0.ebuild44
-rw-r--r--dev-python/weasyprint/weasyprint-56.0.ebuild44
-rw-r--r--dev-python/weasyprint/weasyprint-56.1.ebuild44
-rw-r--r--dev-python/weasyprint/weasyprint-61.2.ebuild47
-rw-r--r--dev-python/weasyprint/weasyprint-62.0.ebuild47
-rw-r--r--dev-python/weasyprint/weasyprint-62.1.ebuild47
-rw-r--r--dev-python/webassets/Manifest1
-rw-r--r--dev-python/webassets/files/webassets-2.0-python39.patch23
-rw-r--r--dev-python/webassets/metadata.xml12
-rw-r--r--dev-python/webassets/webassets-2.0.ebuild46
-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.ebuild16
-rw-r--r--dev-python/webob/webob-1.8.7-r1.ebuild13
-rw-r--r--dev-python/websocket-client/Manifest3
-rw-r--r--dev-python/websocket-client/websocket-client-1.3.2.ebuild34
-rw-r--r--dev-python/websocket-client/websocket-client-1.3.3.ebuild34
-rw-r--r--dev-python/websocket-client/websocket-client-1.8.0.ebuild36
-rw-r--r--dev-python/websockets/Manifest3
-rw-r--r--dev-python/websockets/files/websockets-10.3-py311.patch24
-rw-r--r--dev-python/websockets/metadata.xml5
-rw-r--r--dev-python/websockets/websockets-10.3.ebuild39
-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.ebuild13
-rw-r--r--dev-python/werkzeug/Manifest5
-rw-r--r--dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch21
-rw-r--r--dev-python/werkzeug/metadata.xml1
-rw-r--r--dev-python/werkzeug/werkzeug-2.1.2.ebuild63
-rw-r--r--dev-python/werkzeug/werkzeug-2.2.0.ebuild66
-rw-r--r--dev-python/werkzeug/werkzeug-2.2.1.ebuild66
-rw-r--r--dev-python/werkzeug/werkzeug-3.0.2-r1.ebuild74
-rw-r--r--dev-python/werkzeug/werkzeug-3.0.3.ebuild71
-rw-r--r--dev-python/whatever/Manifest2
-rw-r--r--dev-python/whatever/metadata.xml1
-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.2.ebuild19
-rw-r--r--dev-python/whatthepatch/whatthepatch-1.0.5.ebuild21
-rw-r--r--dev-python/wheel/Manifest2
-rw-r--r--dev-python/wheel/metadata.xml1
-rw-r--r--dev-python/wheel/wheel-0.37.1-r1.ebuild67
-rw-r--r--dev-python/wheel/wheel-0.43.0.ebuild40
-rw-r--r--dev-python/whichcraft/whichcraft-0.6.1-r1.ebuild4
-rw-r--r--dev-python/whisper/whisper-1.1.10.ebuild6
-rw-r--r--dev-python/whoosh/metadata.xml5
-rw-r--r--dev-python/whoosh/whoosh-2.7.4-r2.ebuild15
-rw-r--r--dev-python/widgetsnbextension/Manifest2
-rw-r--r--dev-python/widgetsnbextension/widgetsnbextension-3.6.1.ebuild26
-rw-r--r--dev-python/widgetsnbextension/widgetsnbextension-4.0.10.ebuild30
-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/ws4py/Manifest1
-rw-r--r--dev-python/ws4py/files/ws4py-0.5.1-python3.7+-compatibility.patch93
-rw-r--r--dev-python/ws4py/metadata.xml13
-rw-r--r--dev-python/ws4py/ws4py-0.5.1-r1.ebuild59
-rw-r--r--dev-python/ws4py/ws4py-9999.ebuild59
-rw-r--r--dev-python/wsaccel/Manifest2
-rw-r--r--dev-python/wsaccel/wsaccel-0.6.3-r1.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.ebuild11
-rw-r--r--dev-python/wsproto/Manifest2
-rw-r--r--dev-python/wsproto/wsproto-1.1.0.ebuild26
-rw-r--r--dev-python/wsproto/wsproto-1.2.0.ebuild25
-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/Manifest3
-rw-r--r--dev-python/wurlitzer/wurlitzer-3.0.2.ebuild23
-rw-r--r--dev-python/wurlitzer/wurlitzer-3.0.3.ebuild25
-rw-r--r--dev-python/wurlitzer/wurlitzer-3.1.0.ebuild25
-rw-r--r--dev-python/www-authenticate/Manifest1
-rw-r--r--dev-python/www-authenticate/metadata.xml12
-rw-r--r--dev-python/www-authenticate/www-authenticate-0.9.2.ebuild18
-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-r2.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/Manifest2
-rw-r--r--dev-python/x-wr-timezone/metadata.xml13
-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/Manifest5
-rw-r--r--dev-python/xarray/files/xarray-0.19.0-riscv_tests_datetime.patch73
-rw-r--r--dev-python/xarray/files/xarray-2024.1.1-pytest-8.patch77
-rw-r--r--dev-python/xarray/xarray-2022.3.0.ebuild42
-rw-r--r--dev-python/xarray/xarray-2022.6.0.ebuild40
-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-r1.ebuild77
-rw-r--r--dev-python/xarray/xarray-2024.3.0.ebuild79
-rw-r--r--dev-python/xcffib/Manifest2
-rw-r--r--dev-python/xcffib/xcffib-0.11.1-r1.ebuild31
-rw-r--r--dev-python/xcffib/xcffib-1.5.0.ebuild42
-rw-r--r--dev-python/xdoctest/Manifest3
-rw-r--r--dev-python/xdoctest/metadata.xml1
-rw-r--r--dev-python/xdoctest/xdoctest-1.0.0.ebuild35
-rw-r--r--dev-python/xdoctest/xdoctest-1.0.1.ebuild39
-rw-r--r--dev-python/xdoctest/xdoctest-1.1.3.ebuild49
-rw-r--r--dev-python/xkbcommon/Manifest1
-rw-r--r--dev-python/xkbcommon/metadata.xml11
-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/Manifest2
-rw-r--r--dev-python/xlsxwriter/xlsxwriter-3.0.3.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.ebuild9
-rw-r--r--dev-python/xmlschema/Manifest4
-rw-r--r--dev-python/xmlschema/xmlschema-1.11.3.ebuild38
-rw-r--r--dev-python/xmlschema/xmlschema-2.0.1.ebuild39
-rw-r--r--dev-python/xmlschema/xmlschema-3.3.0.ebuild37
-rw-r--r--dev-python/xmlschema/xmlschema-3.3.1.ebuild37
-rw-r--r--dev-python/xmlsec/Manifest2
-rw-r--r--dev-python/xmlsec/files/xmlsec-1.3.11-fix-xml-testfail.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.ebuild9
-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/Manifest2
-rw-r--r--dev-python/xxhash/xxhash-3.0.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.6.4.ebuild50
-rw-r--r--dev-python/yapf/Manifest2
-rw-r--r--dev-python/yapf/metadata.xml9
-rw-r--r--dev-python/yapf/yapf-0.32.0.ebuild25
-rw-r--r--dev-python/yapf/yapf-0.40.2.ebuild36
-rw-r--r--dev-python/yappi/Manifest3
-rw-r--r--dev-python/yappi/yappi-1.3.5.ebuild40
-rw-r--r--dev-python/yappi/yappi-1.3.6.ebuild40
-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/Manifest3
-rw-r--r--dev-python/yara-python/metadata.xml4
-rw-r--r--dev-python/yara-python/yara-python-4.2.0-r2.ebuild33
-rw-r--r--dev-python/yara-python/yara-python-4.4.0.ebuild41
-rw-r--r--dev-python/yara-python/yara-python-4.5.0.ebuild41
-rw-r--r--dev-python/yara-python/yara-python-9999.ebuild41
-rw-r--r--dev-python/yarl/Manifest3
-rw-r--r--dev-python/yarl/yarl-1.7.2-r3.ebuild45
-rw-r--r--dev-python/yarl/yarl-1.8.1.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.ebuild6
-rw-r--r--dev-python/youtube-search-python/Manifest2
-rw-r--r--dev-python/youtube-search-python/metadata.xml4
-rw-r--r--dev-python/youtube-search-python/youtube-search-python-1.6.5.ebuild22
-rw-r--r--dev-python/youtube-search-python/youtube-search-python-1.6.6-r1.ebuild22
-rw-r--r--dev-python/ytmusicapi/Manifest3
-rw-r--r--dev-python/ytmusicapi/metadata.xml5
-rw-r--r--dev-python/ytmusicapi/ytmusicapi-0.22.0.ebuild21
-rw-r--r--dev-python/ytmusicapi/ytmusicapi-1.6.0.ebuild23
-rw-r--r--dev-python/ytmusicapi/ytmusicapi-1.7.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/Manifest3
-rw-r--r--dev-python/zconfig/files/zconfig-4.0-py312.patch37
-rw-r--r--dev-python/zconfig/zconfig-3.6.0-r1.ebuild33
-rw-r--r--dev-python/zconfig/zconfig-4.0.ebuild45
-rw-r--r--dev-python/zconfig/zconfig-4.1.ebuild39
-rw-r--r--dev-python/zeep/Manifest2
-rw-r--r--dev-python/zeep/files/zeep-4.1.0-cached-prop.patch100
-rw-r--r--dev-python/zeep/zeep-4.1.0-r2.ebuild57
-rw-r--r--dev-python/zeep/zeep-4.2.1.ebuild48
-rw-r--r--dev-python/zeroconf/Manifest4
-rw-r--r--dev-python/zeroconf/metadata.xml3
-rw-r--r--dev-python/zeroconf/zeroconf-0.132.2.ebuild56
-rw-r--r--dev-python/zeroconf/zeroconf-0.38.6.ebuild50
-rw-r--r--dev-python/zeroconf/zeroconf-0.38.7.ebuild50
-rw-r--r--dev-python/zeroconf/zeroconf-0.39.0.ebuild51
-rw-r--r--dev-python/zipp/Manifest3
-rw-r--r--dev-python/zipp/metadata.xml4
-rw-r--r--dev-python/zipp/zipp-3.18.1.ebuild52
-rw-r--r--dev-python/zipp/zipp-3.8.0.ebuild53
-rw-r--r--dev-python/zipp/zipp-3.8.1.ebuild53
-rw-r--r--dev-python/zope-component/Manifest3
-rw-r--r--dev-python/zope-component/zope-component-4.4.1-r2.ebuild55
-rw-r--r--dev-python/zope-component/zope-component-5.0.1.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/Manifest2
-rw-r--r--dev-python/zope-event/zope-event-4.5.0-r3.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.5-r1.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.1.0.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.0.1-r2.ebuild47
-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.4.0-r2.ebuild54
-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.0-r2.ebuild54
-rw-r--r--dev-python/zope-schema/zope-schema-7.0.1.ebuild52
-rw-r--r--dev-python/zope-testing/Manifest2
-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.ebuild53
-rw-r--r--dev-python/zstandard/Manifest2
-rw-r--r--dev-python/zstandard/files/zstandard-0.22.0-build.patch53
-rw-r--r--dev-python/zstandard/zstandard-0.18.0.ebuild67
-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.5.ebuild34
-rw-r--r--dev-python/zstd/zstd-1.5.5.1.ebuild33
-rw-r--r--dev-python/zxcvbn/Manifest1
-rw-r--r--dev-python/zxcvbn/metadata.xml10
-rw-r--r--dev-python/zxcvbn/zxcvbn-4.4.28-r1.ebuild26
7014 files changed, 118798 insertions, 104013 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 03e50a1598da..000000000000
--- a/dev-python/APScheduler/APScheduler-3.9.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_SETUPTOOLS=rdepend
-PYTHON_COMPAT=( python3_{8..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}]
- www-servers/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 70c1ca40200a..000000000000
--- a/dev-python/Arpeggio/Arpeggio-2.0.0.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_{8..10} )
-
-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.10.3.ebuild b/dev-python/Babel/Babel-2.10.3.ebuild
deleted file mode 100644
index e2e44b4ca402..000000000000
--- a/dev-python/Babel/Babel-2.10.3.ebuild
+++ /dev/null
@@ -1,62 +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_{8..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}]
- )
-"
-
-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/Babel-2.15.0.ebuild b/dev-python/Babel/Babel-2.15.0.ebuild
new file mode 100644
index 000000000000..0d513f613517
--- /dev/null
+++ b/dev-python/Babel/Babel-2.15.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+# see scripts/download_import_cldr.py
+CLDR_PV=44.0
+DESCRIPTION="Collection of tools for internationalizing Python applications"
+HOMEPAGE="
+ https://babel.pocoo.org/
+ https://pypi.org/project/Babel/
+ https://github.com/python-babel/babel/
+"
+SRC_URI+="
+ https://unicode.org/Public/cldr/${CLDR_PV%.*}/cldr-common-${CLDR_PV}.zip
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+# RDEPEND in BDEPEND for import_cldr.py usage, bug #852158
+BDEPEND="
+ app-arch/unzip
+ ${RDEPEND}
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+src_prepare() {
+ rm babel/locale-data/*.dat || die
+ rm babel/global.dat || die
+ distutils-r1_src_prepare
+}
+
+python_configure() {
+ if [[ ! -f babel/global.dat ]]; then
+ "${EPYTHON}" scripts/import_cldr.py "${WORKDIR}"/common || die
+ fi
+}
+
+python_test() {
+ local -x TZ=UTC
+ epytest
+}
diff --git a/dev-python/Babel/Manifest b/dev-python/Babel/Manifest
index ca0439ebbaa5..c5f61bf09a2e 100644
--- a/dev-python/Babel/Manifest
+++ b/dev-python/Babel/Manifest
@@ -1,2 +1,4 @@
-DIST Babel-2.10.3.tar.gz 9344140 BLAKE2B c21d1e33160de2c98ac26b6ac83102a6249cbaf4b4860cd86e19b461ee66fd815a2972fc3652b411e2030b201bf32db77144fde91efc4e9e6ba51a580cad93b7 SHA512 72a5759d2cfa239df56f3d2809b23367b9691e21de92535b30f9b3455d253682f6c18ca919f3fb039deed2663db9276307f6343cbbab56fca96ff1ac9c214fa7
-DIST cldr-common-41.0.zip 29364494 BLAKE2B 1960e860017c3e5f31d935d66a1ff551720975dca0af459adc72b8dc54100938fbd2d2ef00eb457f3fd04d4f1e90a4783229c350b125029dcda5c1e6903f9a54 SHA512 c64f3338e292962817b043dd11e9c47f533c9b70d432f83e80654e20f4937c72b37e66a60485df43f734b1ff94ebf0452547a063076917889303c9653b4d6ce5
+DIST Babel-2.14.0.tar.gz 10795622 BLAKE2B 7beb79d34e5fc44a7520b7ca8541dbe41676b466c418a4fcf994fc556ca86d9cbc9ddeecad886b49a61ea4f62502413472a96df0fd65606f447e423c7ece4723 SHA512 cfcd93bc5e57e3d23b8fb67f77fdeeb08183cc5ef9a6e044085a090cec3d722cf658e740c639f5a834df11a4cff0dacafdbba435184d77a78d56fc0bb6b62fd2
+DIST babel-2.15.0.tar.gz 9390000 BLAKE2B 9cd99524dbb191b5b8835452118b57b23abc89123e358a29de2375263a0264a1ea4c71324632eff8711cab7dbb40a20e97acd8e0faa448872353852b064ca524 SHA512 8cff4dbbe84047f7e8b625772036d2a23b6f7dfc36aa15332e581d4331fdac1d0308341294741afc43f3180368a7cc7675f68f28bbf94a621c693a822d4a2028
+DIST cldr-common-43.0.zip 31934452 BLAKE2B 8390db2fb58ede0f55ebe369e5598c6a47b6ed01c95162d85365a699ceeb15d4d912a1ea26062c8f37a467c58fdaca27e99a9a133fec4afe15bf6ac6ba29b4f6 SHA512 930c64208d6f680d115bfa74a69445fb614910bb54233227b0b9ae85ddbce4db19e4ec863bf04ae9d4a11b2306aa7394e553384d7537487de8011f0e34877cef
+DIST cldr-common-44.0.zip 31750682 BLAKE2B a6f708d6c5bd02efc1e0672250b181542fb0f91d48bbaabddfc3b6b9e21201e3c9e6d09222cbc929b4ae654d2a0804a90f77f384df93577af188a907ce20bd61 SHA512 f2cd8733948caf308d6e39eae21724da7f29f528f8969d456514e1e84ecd5f1e6936d0460414a968888bb1b597bc1ee723950ea47df5cba21a02bb14f96d18b6
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 15e2e2f9a775..000000000000
--- a/dev-python/BitVector/BitVector-3.5.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 a65040b42d52..000000000000
--- a/dev-python/ConfigArgParse/ConfigArgParse-1.5.3.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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 3b724023f8ae..000000000000
--- a/dev-python/CppHeaderParser/CppHeaderParser-2.7.4.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_{8..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 20fcb08c9bda..000000000000
--- a/dev-python/DBUtils/DBUtils-3.0.2-r1.ebuild
+++ /dev/null
@@ -1,30 +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_{8..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/DBUtils-3.0.2.ebuild b/dev-python/DBUtils/DBUtils-3.0.2.ebuild
deleted file mode 100644
index a4bba141fed4..000000000000
--- a/dev-python/DBUtils/DBUtils-3.0.2.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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-13.13.0.ebuild b/dev-python/Faker/Faker-13.13.0.ebuild
deleted file mode 100644
index d8e24e8d32e7..000000000000
--- a/dev-python/Faker/Faker-13.13.0.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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/random2[${PYTHON_USEDEP}]
- dev-python/validators[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/Faker/Faker-13.14.0.ebuild b/dev-python/Faker/Faker-13.14.0.ebuild
deleted file mode 100644
index d8e24e8d32e7..000000000000
--- a/dev-python/Faker/Faker-13.14.0.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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/random2[${PYTHON_USEDEP}]
- dev-python/validators[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/Faker/Faker-13.15.0.ebuild b/dev-python/Faker/Faker-13.15.0.ebuild
deleted file mode 100644
index d8e24e8d32e7..000000000000
--- a/dev-python/Faker/Faker-13.15.0.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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/random2[${PYTHON_USEDEP}]
- dev-python/validators[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/Faker/Faker-13.15.1.ebuild b/dev-python/Faker/Faker-13.15.1.ebuild
deleted file mode 100644
index d8e24e8d32e7..000000000000
--- a/dev-python/Faker/Faker-13.15.1.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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/random2[${PYTHON_USEDEP}]
- 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..95ff3728fb55
--- /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.14.1.ebuild b/dev-python/Faker/Faker-24.14.1.ebuild
new file mode 100644
index 000000000000..6677ad70e7c8
--- /dev/null
+++ b/dev-python/Faker/Faker-24.14.1.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=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
+ local EPYTEST_DESELECT=(
+ tests/providers/test_job.py::TestCsCZ::test_job
+ )
+ epytest
+}
diff --git a/dev-python/Faker/Faker-25.0.1.ebuild b/dev-python/Faker/Faker-25.0.1.ebuild
new file mode 100644
index 000000000000..6677ad70e7c8
--- /dev/null
+++ b/dev-python/Faker/Faker-25.0.1.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=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
+ local EPYTEST_DESELECT=(
+ tests/providers/test_job.py::TestCsCZ::test_job
+ )
+ epytest
+}
diff --git a/dev-python/Faker/Faker-25.1.0.ebuild b/dev-python/Faker/Faker-25.1.0.ebuild
new file mode 100644
index 000000000000..6677ad70e7c8
--- /dev/null
+++ b/dev-python/Faker/Faker-25.1.0.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=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
+ local EPYTEST_DESELECT=(
+ tests/providers/test_job.py::TestCsCZ::test_job
+ )
+ epytest
+}
diff --git a/dev-python/Faker/Manifest b/dev-python/Faker/Manifest
index c3c5750cd66f..6eb7a72c7e5b 100644
--- a/dev-python/Faker/Manifest
+++ b/dev-python/Faker/Manifest
@@ -1,4 +1,4 @@
-DIST Faker-13.13.0.tar.gz 1528907 BLAKE2B be4593ba271330822f10590aa8e15c4658cd8a19333ab769d32178b72c15b504b8a5269443100250a863af25e40c582244e815cf612dbf8a57833f470ddeec09 SHA512 9e794bf95d40040dfa98439d0d9da19a90dd202905d4825c82453e202adad80bbea6da74ce0d36d8e205381d419a19b8b1fb60b32e20e97ee69b315f4f0c8eb9
-DIST Faker-13.14.0.tar.gz 1529502 BLAKE2B 57c5182742f4383bc0590f953dbf8de7075b331da8d9893b84149ce8d3004e545acccf9f113d94eb608b634d9ad42a466d813c5f0311e037d8977fa04eaf36af SHA512 05edbad684a89b0cb4df4965be63b43729047075eed98de9678d98383b28d2ae6d3c645c03ab86d7bc935160c1ab744494d608749213322e318b465c0d47e9c7
-DIST Faker-13.15.0.tar.gz 1531111 BLAKE2B b6e91f7e47f5040894647b53eff92ddc8384fe9edfe19aa4d3706c2d5e54100d171b37609968bba068c89d9c946f92b5966b9e8f502863ab3730d9857a342853 SHA512 6de6de872e19f82a716fdf10f594e3d77b160bde46e7c8d20610621728ee3e555b4090835dba220da96d98db5eaac8c0e4290786441441f220b7458f442b99f3
-DIST Faker-13.15.1.tar.gz 1531442 BLAKE2B 890bcf69ebcb97f8d7441e7b899ed0fec851b5f291a03606e3a3cb6dc8838522fed839b77fd6899122347fa3c8cef14c0a0f6f1039b66331ab2263bc4675d378 SHA512 e405ee0cf1aed0b3c01f60bf10f5e72c6b55977deb9b004875dbb5eb5cd24da1b979cfa9234be30946a640ab21fc1d95393c15e2bf839bef373978959f7eb784
+DIST Faker-24.11.0.tar.gz 1726502 BLAKE2B 52429b5b0db4e1fd55d2a4b30ed007417f37e36fbec8d4fe43dea316920d85877668f4e66107011fef5874b74b25c1465fcfc0990ee3f40810df064622bb5373 SHA512 d5ee8c7c048d113c37b13608406d96966745ab46b095fcb30c9107a27a7af909c9d4d6bf9c7bb478ad7d0604b3cb6b33b93b0ba9e1a321c20870d651f57617a5
+DIST Faker-24.14.1.tar.gz 1759770 BLAKE2B e58feb12255de946b6c10cd9e3098f4423a47554e6aafcabb1094c7aab7e0dbbd2eea2077411094611c64b92307060c5da383390dc4a14545a9fe54b654e20e7 SHA512 d6afa8c25fe223999bdc776a7c2c12c43e9ad5886d6bb4744fe29c8b358def151b251a37a74a8576e5daedae360c19146f870a1438b63763ffb74b1577a5ae2f
+DIST Faker-25.0.1.tar.gz 1759603 BLAKE2B 710c362ec8a077880d9728c75d775b318d2c3d65f1bb5488474b2c26fa48094a64e57f667c6b43d841224ced8c08ff98c87677d678e5fb738a3e17c941fcacf7 SHA512 0f0cfc86f76584320fc6ab0afae40da8c022b65fca07eff639ba9a89744814afc7f9e37c987a73d0ec025fa971c0468f3b8b026b16dc4a5813bacb9562a33384
+DIST Faker-25.1.0.tar.gz 1760306 BLAKE2B eb8a35853f8e70902d8ff59532cc8c5766f6986314b88afb973adfd6c8a0184ebcd9d1eecee1e9dd48bc393ba1270be88a3c3f463df8e0679aff7f00544cfd4d SHA512 6d53c843685d735664d6d986e8af76a520372900ea06cb54f86656ebb322d34543aa7aee8417cabb8c81a0ccc3ee3b212114790ff46aeb60cf29071bbf5c0361
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 26d5ebe36dfb..000000000000
--- a/dev-python/Frozen-Flask/Frozen-Flask-0.18-r1.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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.27.ebuild b/dev-python/GitPython/GitPython-3.1.27.ebuild
deleted file mode 100644
index 8417e2e45d1d..000000000000
--- a/dev-python/GitPython/GitPython-3.1.27.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-TEST_P=GitPython-${PV}
-GITDB_P=gitdb-4.0.9
-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 ~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_prepare() {
- # upstream reverted the changes needing py3.10's typing module
- # but did not update the dep
- sed -i -e '/typing-extensions/d' requirements.txt || die
- distutils-r1_src_prepare
-}
-
-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
- sed -i -e '/addopts/d' pyproject.toml || 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
- # TODO
- test/test_submodule.py::TestSubmodule::test_base_rw
- test/test_submodule.py::TestSubmodule::test_root_module
- )
-
- epytest
-}
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..29051eb6c6da
--- /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 0809505e17a2..7e514497ee52 100644
--- a/dev-python/GitPython/Manifest
+++ b/dev-python/GitPython/Manifest
@@ -1,4 +1,4 @@
-DIST GitPython-3.1.27.gitbundle 9652508 BLAKE2B f81b6d94b302b1d4aec85096bb294df1a6a699eff4dd27a1d32083e73b031daf3ef58ec6aa6f98c7693ef187b21de9ea242fa37a88b1f51c0e17238dda978c5c SHA512 bf1011a765b51eb871f6b6a462c693e4e79bb0ba81103d4f268b780b86ab12112c44f74c1d68e93388d1f86c068f6c2336f33ea12dce2e0b2302c940ebb9c49f
-DIST GitPython-3.1.27.tar.gz 192188 BLAKE2B 3cab995a17d8eca8d4301367b1ee7a2c3c0a46a217f6e6d89e1bb4e62b733d21cd6d9210faac49c3c905343067e819f8c37ac9cc69d9fc33ce948b63fd53714e SHA512 6f855bcfc380c1a83a97807ca8ddcc4dfe8258f3aba0790142ef41f28befff44847aec925e523eaac47fd6c0078eb6296f52bb4b7d2be7d59ad95bbeb930fe28
-DIST gitdb-4.0.9.gitbundle 1461448 BLAKE2B dad9efdc4e9711361c851f4745df2e3fa3b2360ab58cffea971a854429cf3e11862a267efb5afa3d9ff7668dc6d1bb7f11aa033172238bea61a6252d0488b746 SHA512 eb71e6dd380e67a96a9dcd50a3a3c82aab8c7f85b1ca4258a92202a5e4cb5a1535363599c94ab26884b4cd755ce30694c1b193a95e5cd5199b5d4e2cf8e72818
-DIST smmap-5.0.0.gitbundle 338621 BLAKE2B 58c151245a1353d482e06313beb1cfbe7aa23d30733b284b1745b562da1da4e6f9b8acd7d4b967987e8c29a0cfbe6d3b27790f4683f6cbd86fc22a1416bc1c24 SHA512 94b827cdcfaf31b726b48b7b0a9036e852683046b07430b79e59a1339079ca078129d5eb02d9009979ce86892748b700d6cd281e401ddf6b0048252e2181fe1f
+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 985d8f0eef44..000000000000
--- a/dev-python/GridDataFormats/GridDataFormats-0.6.0.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 430e043f76da..000000000000
--- a/dev-python/GridDataFormats/GridDataFormats-1.0.1.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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"
-
-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 3e7455c57296..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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.25.1.ebuild b/dev-python/Levenshtein/Levenshtein-0.25.1.ebuild
new file mode 100644
index 000000000000..065790cb527a
--- /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
new file mode 100644
index 000000000000..b44f1f581efe
--- /dev/null
+++ b/dev-python/Levenshtein/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..f189f8aba322
--- /dev/null
+++ b/dev-python/Levenshtein/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">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 32f0e612a905..57317f12db9f 100644
--- a/dev-python/MechanicalSoup/Manifest
+++ b/dev-python/MechanicalSoup/Manifest
@@ -1 +1 @@
-DIST MechanicalSoup-1.1.0.tar.gz 49270 BLAKE2B 947b35d819dc69508595adcfe5a0c8e6bd34888c995e9c3931613498ee1ca840ce16a14359aacbf9d40aa4f9ae59d45d14da5a150e3ce39ae7e72f587c94820e SHA512 26eaa54bcd1c0aac26504d7c482ed001830a1c79bf48a3055cef92348e9336887bef86cda68281911032159a3404a1f4ee8de9b6516d7d767cfd6b3b380c4ebe
+DIST MechanicalSoup-1.3.0.tar.gz 50826 BLAKE2B c47760a0f8d9c7a6430580c81fb750d3eab37a773a7453fb2850396ea2cff1ae143b1ec9ec5e1d8051a52f39c1527b99126f4ea2c90a73c7730597dd92a42a11 SHA512 a205c9b36b540be8b3eb15803c34e67029cb5b33aaf36d235947cc46c588f2d63e68acd97a9872b20ad3f1c87dcdb6133b4860dc7d90752ac477aaaa9a7c3e82
diff --git a/dev-python/MechanicalSoup/MechanicalSoup-1.1.0-r1.ebuild b/dev-python/MechanicalSoup/MechanicalSoup-1.1.0-r1.ebuild
deleted file mode 100644
index 4c41e80353e7..000000000000
--- a/dev-python/MechanicalSoup/MechanicalSoup-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,48 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A python library for automating interaction with websites"
-HOMEPAGE="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.1.0.ebuild b/dev-python/MechanicalSoup/MechanicalSoup-1.1.0.ebuild
deleted file mode 100644
index 31d7a461a061..000000000000
--- a/dev-python/MechanicalSoup/MechanicalSoup-1.1.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{7..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A python library for automating interaction with websites"
-HOMEPAGE="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 -i -e '/^addopts =/d' 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
new file mode 100644
index 000000000000..ea74104adbce
--- /dev/null
+++ b/dev-python/Nuitka/Manifest
@@ -0,0 +1,2 @@
+DIST Nuitka-2.2.1.tar.gz 3657159 BLAKE2B 46578e2ab4afa7edfb43cf42f968d222ba85717a276b84c25dfffea0f3211dc9ad202718f23b54435525a2b4447b49742259fb636a9cba3bfc1d251232878393 SHA512 08dfc85ada702e41b282ee8291c9b2f389c0b320cdab8ad7b259af9aba1fc3efb26d3deab5391a5d592c206f7dd94d7b99780ba25377bd5f145bd0bfd84e01fb
+DIST Nuitka-2.2.tar.gz 3655576 BLAKE2B a5c88da5c585163cf7efcc238697b2c930426674d89203e12dbf2bc00e579c523a74527269039e2a155a13821c5ae4d7022215db88b2ba201f3b13224c3e8223 SHA512 0e21ccbf2c35176e3f1b704f599ef79e65f19529c2de362ae384e61e6b0e5d7e86a8489fe0cb25e6800e169833d50e54853bd6c4bd860c139162e22e39249aff
diff --git a/dev-python/Nuitka/Nuitka-2.2.1.ebuild b/dev-python/Nuitka/Nuitka-2.2.1.ebuild
new file mode 100644
index 000000000000..123acd66de1f
--- /dev/null
+++ b/dev-python/Nuitka/Nuitka-2.2.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+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.2.ebuild b/dev-python/Nuitka/Nuitka-2.2.ebuild
new file mode 100644
index 000000000000..123acd66de1f
--- /dev/null
+++ b/dev-python/Nuitka/Nuitka-2.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..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/metadata.xml b/dev-python/Nuitka/metadata.xml
index 465fe958dc3b..465fe958dc3b 100644
--- a/dev-python/nuitka/metadata.xml
+++ b/dev-python/Nuitka/metadata.xml
diff --git a/dev-python/Opcodes/Manifest b/dev-python/Opcodes/Manifest
index 4c50b457fdbd..52680bec04bb 100644
--- a/dev-python/Opcodes/Manifest
+++ b/dev-python/Opcodes/Manifest
@@ -1 +1 @@
-DIST Opcodes-0.3.14.tar.gz 236187 BLAKE2B 76e2f92a8860dc0306b5c48de9f64d6cd18e553af3936faac36e412bae129399ce7ff34ee2757b816a361aa29cdd45ac6b11e00bcaefd943e512ada6da0b70bc SHA512 bbdc08a75028c94def56b2afee0742db999acc8fe44aeeb6e8d8ac5e47e969a9daf0477e089ffff4c434be01c48b5e5ec5403bea86ba4e8674063a9f96fbeca8
+DIST Opcodes-0.3.14.gh.tar.gz 236187 BLAKE2B 76e2f92a8860dc0306b5c48de9f64d6cd18e553af3936faac36e412bae129399ce7ff34ee2757b816a361aa29cdd45ac6b11e00bcaefd943e512ada6da0b70bc SHA512 bbdc08a75028c94def56b2afee0742db999acc8fe44aeeb6e8d8ac5e47e969a9daf0477e089ffff4c434be01c48b5e5ec5403bea86ba4e8674063a9f96fbeca8
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 991749a7c042..000000000000
--- a/dev-python/Opcodes/Opcodes-0.3.14.ebuild
+++ /dev/null
@@ -1,27 +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_{8..10} )
-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}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64"
-RESTRICT="test" # depends on an old version of werkzeug
-
-RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-BDEPEND=""
-
-S="${WORKDIR}"/${PN}-${CommitId}
diff --git a/dev-python/OutputCheck/Manifest b/dev-python/OutputCheck/Manifest
new file mode 100644
index 000000000000..fcdf322a8084
--- /dev/null
+++ b/dev-python/OutputCheck/Manifest
@@ -0,0 +1 @@
+DIST OutputCheck-0.4.2.gh.tar.gz 16436 BLAKE2B 8c1678746b9fc11cf7b554da83a2e5a51c7095931894a543340e905ccff1e7240f1bb8ec12d348af9662ce7e515d70d6e8a93d1e6ab15629545aa5019a7fe648 SHA512 0abd1ca69c4ef683cc455c222979b313ed8b4906725cc534b80906cc4fb9a0acad855d4a6c39aa4777bbdc35309857082197a0cacdc191e4afb8a8a9a4bb2bed
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/OutputCheck/files/OutputCheck-0.4.2-Driver.patch b/dev-python/OutputCheck/files/OutputCheck-0.4.2-Driver.patch
new file mode 100644
index 000000000000..9812bd728e0c
--- /dev/null
+++ b/dev-python/OutputCheck/files/OutputCheck-0.4.2-Driver.patch
@@ -0,0 +1,11 @@
+--- a/OutputCheck/Driver.py
++++ b/OutputCheck/Driver.py
+@@ -34,7 +34,7 @@ ExitCode = enum('SUCCESS',
+
+ def main(args):
+ parser = argparse.ArgumentParser(description=__doc__)
+- parser.add_argument('check_file', type=argparse.FileType('rU'), help='File containing check commands')
++ parser.add_argument('check_file', type=argparse.FileType('r'), help='File containing check commands')
+ parser.add_argument('--file-to-check=', type=argparse.FileType('r'), default='-', help='File to check (default %(default)s)')
+ parser.add_argument('--check-prefix=', default='CHECK', help='Prefix to use from check_file')
+ parser.add_argument("-l","--log-level",type=str, default="INFO", choices=['debug','info','warning','error'])
diff --git a/dev-python/OutputCheck/metadata.xml b/dev-python/OutputCheck/metadata.xml
new file mode 100644
index 000000000000..0891dc52ae07
--- /dev/null
+++ b/dev-python/OutputCheck/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription>
+ OutputCheck is a tool for checking the output of console programs that is
+ inspired by the FileCheck tool used by LLVM. It has its own small language
+ (Check Directives) for describing the expected output of a tool that is
+ considerably more convenient and more powerful than GNU grep.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/stp/OutputCheck/issues/</bugs-to>
+ <remote-id type="github">stp/OutputCheck</remote-id>
+ <remote-id type="pypi">OutputCheck</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/PeachPy/Manifest b/dev-python/PeachPy/Manifest
index 29f4dbf6b889..eca2287dc132 100644
--- a/dev-python/PeachPy/Manifest
+++ b/dev-python/PeachPy/Manifest
@@ -1 +1 @@
-DIST PeachPy-2021.10.13.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 5e09b4102df9..000000000000
--- a/dev-python/PeachPy/PeachPy-2021.10.13.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_{8..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}.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/PeachPy/metadata.xml b/dev-python/PeachPy/metadata.xml
index c7def3ba0623..f9ab9ad4cdef 100644
--- a/dev-python/PeachPy/metadata.xml
+++ b/dev-python/PeachPy/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="github">Maratyszcza/PeachPy</remote-id>
+ <remote-id type="pypi">PeachPy</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/PyContracts/Manifest b/dev-python/PyContracts/Manifest
deleted file mode 100644
index 11d91dde1c1b..000000000000
--- a/dev-python/PyContracts/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST PyContracts-1.8.14.tar.gz 92346 BLAKE2B 507fdfb313347d6650f21326b6b70b73f17cd702f25d06d97e5d84f84c9bf7f23cceb48d918727158d02081115344a4194e307caed59510265dacbf267774ab4 SHA512 95f8c76e35cc7549fefa069d9c354fc1d4a55dcab0f3fd322cb86aed92c7bfa75a06eabb7540ff991d590a90cdec781906b856291002a82ee5ab0072cdcf6ccd
diff --git a/dev-python/PyContracts/PyContracts-1.8.14-r1.ebuild b/dev-python/PyContracts/PyContracts-1.8.14-r1.ebuild
deleted file mode 100644
index 92c510898e87..000000000000
--- a/dev-python/PyContracts/PyContracts-1.8.14-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Declare constraints on function parameters and return values"
-HOMEPAGE="https://andreacensi.github.io/contracts/ https://pypi.org/project/PyContracts/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="LGPL-2"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- dev-python/decorator[${PYTHON_USEDEP}]
- dev-python/future[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' 'python*' )
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-py3.10.patch"
-)
-
-distutils_enable_tests nose
-
-pkg_postinst() {
- optfeature "constraints on numpy arrays" dev-python/numpy
-}
diff --git a/dev-python/PyContracts/files/PyContracts-1.8.14-fix-py3.10.patch b/dev-python/PyContracts/files/PyContracts-1.8.14-fix-py3.10.patch
deleted file mode 100644
index 754b40efabd8..000000000000
--- a/dev-python/PyContracts/files/PyContracts-1.8.14-fix-py3.10.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-From d23ee2902e9e9aeffec86cbdb7a392d71be70861 Mon Sep 17 00:00:00 2001
-From: slorg1 <slorg1@gmail.com>
-Date: Tue, 16 Apr 2019 14:13:52 -0400
-Subject: [PATCH] + upgrade to use collections.abc as needed for python 3.6+
-
---- a/src/contracts/library/map.py
-+++ b/src/contracts/library/map.py
-@@ -1,7 +1,11 @@
- from ..interface import Contract, ContractNotRespected
- from ..syntax import (W, contract_expression, O, S, add_contract, add_keyword,
- Keyword)
--import collections
-+
-+try:
-+ import collections.abc as collectionsAbc # python 3.6+
-+except ImportError:
-+ import collections as collectionsAbc
-
-
- class Map(Contract):
-@@ -13,7 +17,7 @@ def __init__(self, length=None, key_c=None, value_c=None, where=None):
- self.value_c = value_c
-
- def check_contract(self, context, value, silent):
-- if not isinstance(value, collections.Mapping):
-+ if not isinstance(value, collectionsAbc.Mapping):
- error = 'Expected a Mapping, got %r.' % value.__class__.__name__
- raise ContractNotRespected(contract=self, error=error,
- value=value, context=context)
---- a/src/contracts/library/miscellaneous_aliases.py
-+++ b/src/contracts/library/miscellaneous_aliases.py
-@@ -1,12 +1,16 @@
--import collections
--
-+try:
-+ import collections.abc as collectionsAbc # python 3.6+
-+except ImportError:
-+ import collections as collectionsAbc
-
-
- def ist(C):
-+
- def f(x):
- f.__name__ = 'isinstance_of_%s' % C.__name__
- if not isinstance(x, C):
- raise ValueError('Value is not an instance of %s.' % C.__name__)
-+
- return f
-
-
-@@ -14,33 +18,32 @@ def m_new_contract(name, f):
- from contracts.library.extensions import CheckCallable
- from contracts.library.extensions import Extension
- Extension.registrar[name] = CheckCallable(f)
--
-
--m_new_contract('Container', ist(collections.Container))
--# todo: Iterable(x)
--m_new_contract('Iterable', ist(collections.Iterable))
--
--m_new_contract('Hashable', ist(collections.Hashable))
-
-+m_new_contract('Container', ist(collectionsAbc.Container))
-+# todo: Iterable(x)
-+m_new_contract('Iterable', ist(collectionsAbc.Iterable))
-
-+m_new_contract('Hashable', ist(collectionsAbc.Hashable))
-
--m_new_contract('Iterator', ist(collections.Iterator))
--m_new_contract('Sized', ist(collections.Sized))
--m_new_contract('Callable', ist(collections.Callable))
--m_new_contract('Sequence', ist(collections.Sequence))
--m_new_contract('Set', ist(collections.Set))
--m_new_contract('MutableSequence', ist(collections.MutableSequence))
--m_new_contract('MutableSet', ist(collections.MutableSet))
--m_new_contract('Mapping', ist(collections.Mapping))
--m_new_contract('MutableMapping', ist(collections.MutableMapping))
--#new_contract('MappingView', ist(collections.MappingView))
--#new_contract('ItemsView', ist(collections.ItemsView))
--#new_contract('ValuesView', ist(collections.ValuesView))
-+m_new_contract('Iterator', ist(collectionsAbc.Iterator))
-+m_new_contract('Sized', ist(collectionsAbc.Sized))
-+m_new_contract('Callable', ist(collectionsAbc.Callable))
-+m_new_contract('Sequence', ist(collectionsAbc.Sequence))
-+m_new_contract('Set', ist(collectionsAbc.Set))
-+m_new_contract('MutableSequence', ist(collectionsAbc.MutableSequence))
-+m_new_contract('MutableSet', ist(collectionsAbc.MutableSet))
-+m_new_contract('Mapping', ist(collectionsAbc.Mapping))
-+m_new_contract('MutableMapping', ist(collectionsAbc.MutableMapping))
-+# new_contract('MappingView', ist(collections.MappingView))
-+# new_contract('ItemsView', ist(collections.ItemsView))
-+# new_contract('ValuesView', ist(collections.ValuesView))
-
-
- # Not a lambda to have better messages
--def is_None(x):
-+def is_None(x):
- return x is None
-
-+
- m_new_contract('None', is_None)
- m_new_contract('NoneType', is_None)
---- a/src/contracts/library/seq.py
-+++ b/src/contracts/library/seq.py
-@@ -1,7 +1,12 @@
- from ..interface import Contract, ContractNotRespected
- from ..syntax import (add_contract, W, contract_expression, O, S, add_keyword,
- Keyword)
--import collections
-+
-+try:
-+ import collections.abc as collectionsAbc # python 3.6+
-+except ImportError:
-+ import collections as collectionsAbc
-+
- from past.builtins import xrange
-
- try:
-@@ -38,7 +43,7 @@ def check_contract(self, context, value, silent):
-
- return
-
-- if not isinstance(value, collections.Sequence):
-+ if not isinstance(value, collectionsAbc.Sequence):
- error = 'Expected a Sequence, got %r.' % value.__class__.__name__
- raise ContractNotRespected(self, error, value, context)
-
---- a/src/contracts/library/sets.py
-+++ b/src/contracts/library/sets.py
-@@ -1,7 +1,10 @@
- from ..interface import Contract, ContractNotRespected, describe_type
- from ..syntax import (Keyword, O, S, W, add_contract, add_keyword,
- contract_expression)
--import collections
-+try:
-+ import collections.abc as collectionsAbc # python 3.6+
-+except ImportError:
-+ import collections as collectionsAbc
-
-
- class ASet(Contract):
-@@ -13,7 +16,7 @@ def __init__(self, length_contract=None,
- self.elements_contract = elements_contract
-
- def check_contract(self, context, value, silent):
-- if not isinstance(value, collections.Set):
-+ if not isinstance(value, collectionsAbc.Set):
- error = 'Expected a set, got %r.' % describe_type(value)
- raise ContractNotRespected(self, error, value, context)
-
diff --git a/dev-python/PyContracts/metadata.xml b/dev-python/PyContracts/metadata.xml
deleted file mode 100644
index ab1d67f3e345..000000000000
--- a/dev-python/PyContracts/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">PyContracts</remote-id>
- <remote-id type="github">AndreaCensi/contracts</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/PyGithub/Manifest b/dev-python/PyGithub/Manifest
index 8a69860df0a5..c597c0851392 100644
--- a/dev-python/PyGithub/Manifest
+++ b/dev-python/PyGithub/Manifest
@@ -1 +1 @@
-DIST PyGithub-1.55.gh.tar.gz 3123996 BLAKE2B 58522db764b44286bb4b65cfa13fcce8fcaac99f1b71d62afe6cfda2bc8b13537de0b0db65e0cbc5c6e4a346cfdbf0084c0c8f4c13ed046d8bea33b10fa51382 SHA512 7ea9e67428e98330f90f1d78e5a003dbe1a6d5cd98b6c729f2030a73d21b4a72a7957382c888fac0b7bae4a409cfb53473a19e7e73df46b251df0327871e173a
+DIST PyGithub-2.3.0.tar.gz 3455482 BLAKE2B 3638d5a101dcc41196a54f1a1e36dbc2dd53ab21fc2edd1945a036527979939da53dbf1cdd462622e851e891eae1264231b42c9f8a561740087d602a966d11b2 SHA512 7964b8ab1ad989e48b7d4cda42e7690cdd99c7f8d199e0eaa5ff5b2986592cef135e252253bef4f425cf04946ea18d8c83bcce4253914113fc9a21e83dc31166
diff --git a/dev-python/PyGithub/PyGithub-1.55-r1.ebuild b/dev-python/PyGithub/PyGithub-1.55-r1.ebuild
deleted file mode 100644
index 26580b302ec9..000000000000
--- a/dev-python/PyGithub/PyGithub-1.55-r1.ebuild
+++ /dev/null
@@ -1,33 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library to access the Github API v3"
-HOMEPAGE="https://github.com/PyGithub/PyGithub/"
-SRC_URI="https://github.com/${PN}/${PN}/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.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 96379f551a46..000000000000
--- a/dev-python/PyPDF2/Manifest
+++ /dev/null
@@ -1,12 +0,0 @@
-DIST PyPDF2-2.10.0.gh.tar.gz 6355180 BLAKE2B 1070e4989609cb1361f966f06a23a972ba0f53d6d02d2f489104a7198111d4e80573e2a54d7446bd85ccc8270ad8cb592c2131f0ba1433b3c1ca246bcd39c466 SHA512 dfc543a9cbc4c4e185abc928a64a8aeb5c69d833d3af0983bc994bb6a62b65732a6ea0a7b260bca4de8854639c0a03e0cc6398a5d9ec4df9125ccf7e4b3b264d
-DIST PyPDF2-2.4.1.gh.tar.gz 5121207 BLAKE2B 387085ea028d7fcbcfd5fa4e5373b655e647548093638db66fa92d44b8771bb5342f8086ebca82e205cf56f1865778bc604f49a49b39af16d8d9e3466a51653d SHA512 430e73ee6965fd6b8dac9ce8b6ee232e8ea829a7dbdfe87aafd29ae24ab182cd3e568b447030a0c199aab9049a79ce2a5518ce7fe59b1d8ce533b1313a568fc2
-DIST PyPDF2-2.4.2.gh.tar.gz 5327738 BLAKE2B 5343d5b7c2efe2ed664f896b030a60ad8570ae8f481376e4ad9c865144b66d912633e4f83294d7f6399230963c02dea262cc247b10ca3c146ab24f823c0d57f3 SHA512 84a13d5b624ca8ca2dc4c474309ffa47d1770e1681ccb527f7fc1df37698037c224939dd062da004cbf7b983744afd3ab9adc9a610bea3f2f297e1ed5b708dd2
-DIST PyPDF2-2.5.0.gh.tar.gz 5597332 BLAKE2B 40d4fa812f1a70c18d3b2907d83185cd79af3d722e762ec8dec9709cb5c70246c21fa124e419d8b12142b0ae22b1f13958835eaaa23e9f4cc9efbd05793db7ce SHA512 ec7560b4bb3737fe4c830f058f5303cb70c9ff660c3f40637b4b86c8c79bf11a246a3fcc425aa54b5ca160548311c7f93248a1001c75a7e1dbf3119245e3262f
-DIST PyPDF2-2.6.0.gh.tar.gz 5600718 BLAKE2B 13c8e485d0cbb1a6621e0769840a9894822aeda85fc63d98cd466628d4af0efe7e29ce400f7c71dfae63a6d8273dbceb14c115e14bbaea7592d8fa4aef552d24 SHA512 63ef0297b5b6151ed91d6cfc0e883e996561d9479e9d6bd0742711ffff12c2be173485b0ada052a038e7759d1d819850e0e1030031fdb0bc1df46fa4fa9f912b
-DIST PyPDF2-2.7.0.gh.tar.gz 5629582 BLAKE2B d6cdf3bdb974c4ffba4bf55a6acc9d8f2a30dd9f460c7ccad71bc836a0deea2ed1b3cc2743eaa0c5a377e7afe034a49412478635454bc6b846186ff3d77298ec SHA512 c04966e1d9175d729bec5f64300bbac41b9eee07ce881bf186faac9774b0a8e6f152c6213e75c81aae8e30ad90e04ed554596c3eba55526f6280e856d9556a4d
-DIST PyPDF2-2.8.0.gh.tar.gz 5872029 BLAKE2B 3bad15238079cf6e9940c9e8a1b2108e5e810ed8c1223b6dcebf2904ab3f655809a56c8d861743100dfc1267ea6a6e5b0605702d95f2b210820e68a93585ad03 SHA512 a6d258a4ac61acd59ba6f4fa683b080a3b4c70bb0405c2b041d0565319648358236c6cfcefacf1bbea5b3107b7f64a98057c82ac1816f359a5c6fb3b1ce76257
-DIST PyPDF2-2.8.1.gh.tar.gz 5872212 BLAKE2B 19224d1b38947ad14adfb9b33201e0223f6da43072c6bffb78fae939872d0a025e6d2fd6f1eed0c0b88754a359a5459a45a36130659d81089caa884025a922d1 SHA512 6414339017c154610dbb5affcbf94fcda7ab6d1ea78f35cc348a2b8e5fc8c60216c4f20ffc114cb3abd8245ad7a8b40b4cca6161e3a98caff896fb823acc7bea
-DIST PyPDF2-2.9.0.gh.tar.gz 5877910 BLAKE2B afea03f9ac21e4b39cd39ce03adf70a8e08b80315f7cdd81440e371396ba48939560a3835de9587be8020e1aab75726409ecec753ef0fb042d69fe7fc6755e80 SHA512 fefbc6e6eb7ac0a0154f662044acb66f1c034efc114e878ced109d54a3e5427bb73088cb88d765c4576c2d67459a2daf64415789f8efe9b66cf8ed2bb78ff297
-DIST PyPDF2-sample-files-200644f7219811c3930ad1732ef70c570ece2d16.gh.tar.gz 5513604 BLAKE2B 1bfccaf3b50431d32341c24ea7aa203060d40d60a4b3656df35274d056918e7fccf99e11ee2539f65e6de15741ce28acaccd0ddc771ca334a8ba18a8953aee05 SHA512 5d2e1aa06e240957e9ec230406208fc653384b45b9e4b6631580c2eb4f08327e192c6ef57c2310ef3ed0604c85015b15f5ade8ef7d9f525e73733e040fe37fe5
-DIST PyPDF2-sample-files-4d24ff93dcddf21d55d028d9675d5b5bf9d7a350.gh.tar.gz 5443819 BLAKE2B 6eb440a2db3b58f7e195b8f24438552b2b414296b887cf44d75b14bda367e37ffef75b870152ac3b38e20e5a6f2c6a4cf374087b70daa9036821dd3ebdce2128 SHA512 de631f650098b6fe15830e5a816158d7f352c7a25d0c743b9e4bdf146e1ef2e3a6ea1751ed5d68f34e9a339a793bfb9dc217934595c7a8dffb854c0a4111b963
-DIST PyPDF2-sample-files-b6f4ff3de00745783d79f25cb8803901d1f20d28.gh.tar.gz 5522867 BLAKE2B 9a6cb3b92032f9ec697b972b1a257b2c2528d36cd4a7e40092ac6dbf0a4955c5b204b8c82d37f9bad4a19fccddf0070b095ee2f3b56de22d738ed3d8a3b555c0 SHA512 74aad38060f441ace87f6650de152a28f4a251e4f47574a8d46066857c8fbbb187cd3cd275caa198dce2c1557e90664b288f071995c2bbb9bf13a341210313e8
diff --git a/dev-python/PyPDF2/PyPDF2-2.10.0.ebuild b/dev-python/PyPDF2/PyPDF2-2.10.0.ebuild
deleted file mode 100644
index db21f89a85ae..000000000000
--- a/dev-python/PyPDF2/PyPDF2-2.10.0.ebuild
+++ /dev/null
@@ -1,131 +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_{8..11} )
-
-inherit distutils-r1
-
-SAMPLE_COMMIT=b6f4ff3de00745783d79f25cb8803901d1f20d28
-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
- )
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-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=(
- # Needs network access
- tests/test_cmap.py
- tests/test_filters.py::test_decompress_zlib_error
- tests/test_filters.py::test_lzw_decode_neg1
- tests/test_filters.py::test_issue_399
- tests/test_generic.py::test_dict_read_from_stream
- tests/test_generic.py::test_parse_content_stream_peek_percentage
- tests/test_generic.py::test_read_inline_image_no_has_q
- tests/test_generic.py::test_read_inline_image_loc_neg_1
- tests/test_generic.py::test_text_string_write_to_stream
- tests/test_generic.py::test_name_object_read_from_stream_unicode_error
- tests/test_generic.py::test_bool_repr
- tests/test_generic.py::test_issue_997
- tests/test_merger.py::test1
- tests/test_merger.py::test_bookmark
- tests/test_merger.py::test_iss1145
- tests/test_merger.py::test_sweep_indirect_list_newobj_is_None
- tests/test_merger.py::test_sweep_recursion1
- tests/test_merger.py::test_sweep_recursion2
- tests/test_merger.py::test_trim_outline
- tests/test_merger.py::test_trim_outline_list
- tests/test_merger.py::test_zoom
- tests/test_merger.py::test_zoom_xyz_no_left
- tests/test_page.py::test_empyt_password_1088
- tests/test_page.py::test_extract_text_operator_t_star
- tests/test_page.py::test_extract_text_page_pdf
- tests/test_page.py::test_extract_text_page_pdf_impossible_decode_xform
- tests/test_page.py::test_extract_text_single_quote_op
- 'tests/test_page.py::test_page_operations[https://arxiv.org/pdf/2201.00029.pdf-None]'
- tests/test_reader.py::test_extract_text_pdf15
- tests/test_reader.py::test_extract_text_xref_issue_2
- tests/test_reader.py::test_extract_text_xref_issue_3
- tests/test_reader.py::test_extract_text_xref_table_21_bytes_clrf
- tests/test_reader.py::test_get_fields
- tests/test_reader.py::test_get_fields_read_else_block
- tests/test_reader.py::test_get_fields_read_else_block2
- tests/test_reader.py::test_get_fields_read_else_block3
- tests/test_reader.py::test_get_fields_read_write_report
- tests/test_reader.py::test_iss925
- tests/test_reader.py::test_metadata_is_none
- tests/test_reader.py::test_outline_color
- tests/test_reader.py::test_outline_font_format
- tests/test_reader.py::test_outline_with_empty_action
- tests/test_reader.py::test_outline_with_missing_named_destination
- tests/test_reader.py::test_read_form_416
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_xfa_non_empty
- tests/test_reader.py::test_PdfReaderMultipleDefinitions
- tests/test_utils.py::test_deprecate_no_replacement
- tests/test_workflows.py::test_compress
- tests/test_workflows.py::test_extract_text
- tests/test_workflows.py::test_extract_textbench
- tests/test_workflows.py::test_get_fields
- tests/test_workflows.py::test_get_fonts
- tests/test_workflows.py::test_get_metadata
- tests/test_workflows.py::test_get_outline
- tests/test_workflows.py::test_image_extraction
- tests/test_workflows.py::test_merge
- tests/test_workflows.py::test_merge_with_warning
- tests/test_workflows.py::test_overlay
- tests/test_workflows.py::test_scale_rectangle_indirect_object
- tests/test_workflows.py::test_get_xfa
- tests/test_writer.py::test_sweep_indirect_references_nullobject_exception
- tests/test_writer.py::test_write_bookmark_on_page_fitv
- tests/test_xmp.py::test_custom_properties
- tests/test_xmp.py::test_dc_creator
- tests/test_xmp.py::test_dc_description
- tests/test_xmp.py::test_dc_subject
- tests/test_xmp.py::test_issue585
- tests/test_xmp.py::test_xmpmm
- tests/test_merger.py::test_outline_item
- tests/test_page.py::test_iss_1142
- tests/test_page.py::test_read_link_annotation
- tests/test_reader.py::test_named_destination
- tests/test_writer.py::test_write_outline_item_on_page_fitv
-
- # TODO
- tests/test_workflows.py::test_orientations
-)
-
-src_unpack() {
- default
- if use test; then
- mv "sample-files-${SAMPLE_COMMIT}"/* "${P}"/sample-files/ || die
- fi
-}
diff --git a/dev-python/PyPDF2/PyPDF2-2.4.1.ebuild b/dev-python/PyPDF2/PyPDF2-2.4.1.ebuild
deleted file mode 100644
index b7318a31ebcc..000000000000
--- a/dev-python/PyPDF2/PyPDF2-2.4.1.ebuild
+++ /dev/null
@@ -1,102 +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_{8..11} )
-
-inherit distutils-r1
-
-SAMPLE_COMMIT=4d24ff93dcddf21d55d028d9675d5b5bf9d7a350
-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
- )
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-
-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=(
- # Needs network access
- tests/test_cmap.py
- tests/test_filters.py::test_decompress_zlib_error
- tests/test_filters.py::test_lzw_decode_neg1
- tests/test_generic.py::test_dict_read_from_stream
- tests/test_generic.py::test_parse_content_stream_peek_percentage
- tests/test_generic.py::test_read_inline_image_no_has_q
- tests/test_generic.py::test_read_inline_image_loc_neg_1
- tests/test_generic.py::test_text_string_write_to_stream
- tests/test_generic.py::test_name_object_read_from_stream_unicode_error
- tests/test_generic.py::test_bool_repr
- tests/test_generic.py::test_issue_997
- 'tests/test_page.py::test_page_operations[https://arxiv.org/pdf/2201.00029.pdf-None]'
- tests/test_merger.py::test_trim_outline_list
- tests/test_merger.py::test_zoom
- tests/test_merger.py::test_zoom_xyz_no_left
- tests/test_merger.py::test_bookmark
- tests/test_merger.py::test_trim_outline
- tests/test_merger.py::test1
- tests/test_merger.py::test_sweep_recursion1
- tests/test_merger.py::test_sweep_recursion2
- tests/test_reader.py::test_unexpected_destination
- tests/test_writer.py::test_sweep_indirect_references_nullobject_exception
- tests/test_writer.py::test_write_bookmark_on_page_fitv
- tests/test_page.py::test_extract_text_single_quote_op
- tests/test_page.py::test_extract_text_page_pdf
- tests/test_page.py::test_extract_text_page_pdf_impossible_decode_xform
- tests/test_page.py::test_extract_text_operator_t_star
- tests/test_reader.py::test_iss925
- tests/test_reader.py::test_extract_text_xref_issue_2
- tests/test_reader.py::test_extract_text_xref_issue_3
- tests/test_reader.py::test_extract_text_pdf15
- tests/test_reader.py::test_extract_text_xref_table_21_bytes_clrf
- tests/test_reader.py::test_get_fields
- tests/test_reader.py::test_get_fields_read_else_block
- tests/test_reader.py::test_get_fields_read_else_block2
- tests/test_reader.py::test_get_fields_read_else_block3
- tests/test_reader.py::test_metadata_is_none
- tests/test_reader.py::test_get_fields_read_write_report
- tests/test_reader.py::test_unexpected_destination
- tests/test_utils.py::test_deprecate_no_replacement
- tests/test_workflows.py::test_extract_textbench
- tests/test_xmp.py::test_xmpmm
- tests/test_xmp.py::test_dc_description
- tests/test_xmp.py::test_dc_creator
- tests/test_xmp.py::test_custom_properties
- tests/test_xmp.py::test_dc_subject
-
- # Broken test
- tests/test_utils.py::test_deprecate_no_replacement
-)
-
-src_unpack() {
- default
- if use test; then
- mv "sample-files-${SAMPLE_COMMIT}"/* "${P}"/sample-files/ || die
- fi
-}
diff --git a/dev-python/PyPDF2/PyPDF2-2.4.2.ebuild b/dev-python/PyPDF2/PyPDF2-2.4.2.ebuild
deleted file mode 100644
index 9111334c0c95..000000000000
--- a/dev-python/PyPDF2/PyPDF2-2.4.2.ebuild
+++ /dev/null
@@ -1,112 +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_{8..11} )
-
-inherit distutils-r1
-
-SAMPLE_COMMIT=4d24ff93dcddf21d55d028d9675d5b5bf9d7a350
-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
- )
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-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=(
- # Needs network access
- tests/test_cmap.py
- tests/test_filters.py::test_decompress_zlib_error
- tests/test_filters.py::test_lzw_decode_neg1
- tests/test_generic.py::test_dict_read_from_stream
- tests/test_generic.py::test_parse_content_stream_peek_percentage
- tests/test_generic.py::test_read_inline_image_no_has_q
- tests/test_generic.py::test_read_inline_image_loc_neg_1
- tests/test_generic.py::test_text_string_write_to_stream
- tests/test_generic.py::test_name_object_read_from_stream_unicode_error
- tests/test_generic.py::test_bool_repr
- tests/test_generic.py::test_issue_997
- tests/test_merger.py::test1
- tests/test_merger.py::test_bookmark
- tests/test_merger.py::test_sweep_recursion1
- tests/test_merger.py::test_sweep_recursion2
- tests/test_merger.py::test_trim_outline
- tests/test_merger.py::test_trim_outline_list
- tests/test_merger.py::test_zoom
- tests/test_merger.py::test_zoom_xyz_no_left
- tests/test_page.py::test_extract_text_operator_t_star
- tests/test_page.py::test_extract_text_page_pdf
- tests/test_page.py::test_extract_text_page_pdf_impossible_decode_xform
- tests/test_page.py::test_extract_text_single_quote_op
- 'tests/test_page.py::test_page_operations[https://arxiv.org/pdf/2201.00029.pdf-None]'
- tests/test_reader.py::test_extract_text_pdf15
- tests/test_reader.py::test_extract_text_xref_issue_2
- tests/test_reader.py::test_extract_text_xref_issue_3
- tests/test_reader.py::test_extract_text_xref_table_21_bytes_clrf
- tests/test_reader.py::test_get_fields
- tests/test_reader.py::test_get_fields_read_else_block
- tests/test_reader.py::test_get_fields_read_else_block2
- tests/test_reader.py::test_get_fields_read_else_block3
- tests/test_reader.py::test_get_fields_read_write_report
- tests/test_reader.py::test_iss925
- tests/test_reader.py::test_metadata_is_none
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_xfa_non_empty
- tests/test_utils.py::test_deprecate_no_replacement
- tests/test_workflows.py::test_compress
- tests/test_workflows.py::test_extract_text
- tests/test_workflows.py::test_extract_textbench
- tests/test_workflows.py::test_get_fields
- tests/test_workflows.py::test_get_metadata
- tests/test_workflows.py::test_merge
- tests/test_workflows.py::test_merge_with_warning
- tests/test_workflows.py::test_overlay
- tests/test_workflows.py::test_scale_rectangle_indirect_object
- tests/test_writer.py::test_sweep_indirect_references_nullobject_exception
- tests/test_writer.py::test_write_bookmark_on_page_fitv
- tests/test_xmp.py::test_custom_properties
- tests/test_xmp.py::test_dc_creator
- tests/test_xmp.py::test_dc_description
- tests/test_xmp.py::test_dc_subject
- tests/test_xmp.py::test_issue585
- tests/test_xmp.py::test_xmpmm
-
- # Broken test
- tests/test_utils.py::test_deprecate_no_replacement
-)
-
-src_unpack() {
- default
- if use test; then
- mv "sample-files-${SAMPLE_COMMIT}"/* "${P}"/sample-files/ || die
- fi
-}
diff --git a/dev-python/PyPDF2/PyPDF2-2.5.0.ebuild b/dev-python/PyPDF2/PyPDF2-2.5.0.ebuild
deleted file mode 100644
index 00f40d10f306..000000000000
--- a/dev-python/PyPDF2/PyPDF2-2.5.0.ebuild
+++ /dev/null
@@ -1,115 +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_{8..11} )
-
-inherit distutils-r1
-
-SAMPLE_COMMIT=4d24ff93dcddf21d55d028d9675d5b5bf9d7a350
-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
- )
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-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=(
- # Needs network access
- tests/test_cmap.py
- tests/test_filters.py::test_decompress_zlib_error
- tests/test_filters.py::test_lzw_decode_neg1
- tests/test_generic.py::test_dict_read_from_stream
- tests/test_generic.py::test_parse_content_stream_peek_percentage
- tests/test_generic.py::test_read_inline_image_no_has_q
- tests/test_generic.py::test_read_inline_image_loc_neg_1
- tests/test_generic.py::test_text_string_write_to_stream
- tests/test_generic.py::test_name_object_read_from_stream_unicode_error
- tests/test_generic.py::test_bool_repr
- tests/test_generic.py::test_issue_997
- tests/test_merger.py::test1
- tests/test_merger.py::test_bookmark
- tests/test_merger.py::test_sweep_indirect_list_newobj_is_None
- tests/test_merger.py::test_sweep_recursion1
- tests/test_merger.py::test_sweep_recursion2
- tests/test_merger.py::test_trim_outline
- tests/test_merger.py::test_trim_outline_list
- tests/test_merger.py::test_zoom
- tests/test_merger.py::test_zoom_xyz_no_left
- tests/test_page.py::test_extract_text_operator_t_star
- tests/test_page.py::test_extract_text_page_pdf
- tests/test_page.py::test_extract_text_page_pdf_impossible_decode_xform
- tests/test_page.py::test_extract_text_single_quote_op
- 'tests/test_page.py::test_page_operations[https://arxiv.org/pdf/2201.00029.pdf-None]'
- tests/test_reader.py::test_extract_text_pdf15
- tests/test_reader.py::test_extract_text_xref_issue_2
- tests/test_reader.py::test_extract_text_xref_issue_3
- tests/test_reader.py::test_extract_text_xref_table_21_bytes_clrf
- tests/test_reader.py::test_get_fields
- tests/test_reader.py::test_get_fields_read_else_block
- tests/test_reader.py::test_get_fields_read_else_block2
- tests/test_reader.py::test_get_fields_read_else_block3
- tests/test_reader.py::test_get_fields_read_write_report
- tests/test_reader.py::test_iss925
- tests/test_reader.py::test_metadata_is_none
- tests/test_reader.py::test_read_form_416
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_xfa_non_empty
- tests/test_utils.py::test_deprecate_no_replacement
- tests/test_workflows.py::test_compress
- tests/test_workflows.py::test_extract_text
- tests/test_workflows.py::test_extract_textbench
- tests/test_workflows.py::test_get_fields
- tests/test_workflows.py::test_get_metadata
- tests/test_workflows.py::test_image_extraction
- tests/test_workflows.py::test_merge
- tests/test_workflows.py::test_merge_with_warning
- tests/test_workflows.py::test_overlay
- tests/test_workflows.py::test_scale_rectangle_indirect_object
- tests/test_writer.py::test_sweep_indirect_references_nullobject_exception
- tests/test_writer.py::test_write_bookmark_on_page_fitv
- tests/test_xmp.py::test_custom_properties
- tests/test_xmp.py::test_dc_creator
- tests/test_xmp.py::test_dc_description
- tests/test_xmp.py::test_dc_subject
- tests/test_xmp.py::test_issue585
- tests/test_xmp.py::test_xmpmm
-
- # Broken test
- tests/test_utils.py::test_deprecate_no_replacement
-)
-
-src_unpack() {
- default
- if use test; then
- mv "sample-files-${SAMPLE_COMMIT}"/* "${P}"/sample-files/ || die
- fi
-}
diff --git a/dev-python/PyPDF2/PyPDF2-2.6.0.ebuild b/dev-python/PyPDF2/PyPDF2-2.6.0.ebuild
deleted file mode 100644
index 40f9268b2e36..000000000000
--- a/dev-python/PyPDF2/PyPDF2-2.6.0.ebuild
+++ /dev/null
@@ -1,117 +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_{8..11} )
-
-inherit distutils-r1
-
-SAMPLE_COMMIT=200644f7219811c3930ad1732ef70c570ece2d16
-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
- )
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-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=(
- # Needs network access
- tests/test_cmap.py
- tests/test_filters.py::test_decompress_zlib_error
- tests/test_filters.py::test_lzw_decode_neg1
- tests/test_generic.py::test_dict_read_from_stream
- tests/test_generic.py::test_parse_content_stream_peek_percentage
- tests/test_generic.py::test_read_inline_image_no_has_q
- tests/test_generic.py::test_read_inline_image_loc_neg_1
- tests/test_generic.py::test_text_string_write_to_stream
- tests/test_generic.py::test_name_object_read_from_stream_unicode_error
- tests/test_generic.py::test_bool_repr
- tests/test_generic.py::test_issue_997
- tests/test_merger.py::test1
- tests/test_merger.py::test_bookmark
- tests/test_merger.py::test_sweep_indirect_list_newobj_is_None
- tests/test_merger.py::test_sweep_recursion1
- tests/test_merger.py::test_sweep_recursion2
- tests/test_merger.py::test_trim_outline
- tests/test_merger.py::test_trim_outline_list
- tests/test_merger.py::test_zoom
- tests/test_merger.py::test_zoom_xyz_no_left
- tests/test_page.py::test_extract_text_operator_t_star
- tests/test_page.py::test_extract_text_page_pdf
- tests/test_page.py::test_extract_text_page_pdf_impossible_decode_xform
- tests/test_page.py::test_extract_text_single_quote_op
- 'tests/test_page.py::test_page_operations[https://arxiv.org/pdf/2201.00029.pdf-None]'
- tests/test_reader.py::test_extract_text_pdf15
- tests/test_reader.py::test_extract_text_xref_issue_2
- tests/test_reader.py::test_extract_text_xref_issue_3
- tests/test_reader.py::test_extract_text_xref_table_21_bytes_clrf
- tests/test_reader.py::test_get_fields
- tests/test_reader.py::test_get_fields_read_else_block
- tests/test_reader.py::test_get_fields_read_else_block2
- tests/test_reader.py::test_get_fields_read_else_block3
- tests/test_reader.py::test_get_fields_read_write_report
- tests/test_reader.py::test_iss925
- tests/test_reader.py::test_metadata_is_none
- tests/test_reader.py::test_outline_color
- tests/test_reader.py::test_outline_font_format
- tests/test_reader.py::test_read_form_416
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_xfa_non_empty
- tests/test_utils.py::test_deprecate_no_replacement
- tests/test_workflows.py::test_compress
- tests/test_workflows.py::test_extract_text
- tests/test_workflows.py::test_extract_textbench
- tests/test_workflows.py::test_get_fields
- tests/test_workflows.py::test_get_metadata
- tests/test_workflows.py::test_image_extraction
- tests/test_workflows.py::test_merge
- tests/test_workflows.py::test_merge_with_warning
- tests/test_workflows.py::test_overlay
- tests/test_workflows.py::test_scale_rectangle_indirect_object
- tests/test_writer.py::test_sweep_indirect_references_nullobject_exception
- tests/test_writer.py::test_write_bookmark_on_page_fitv
- tests/test_xmp.py::test_custom_properties
- tests/test_xmp.py::test_dc_creator
- tests/test_xmp.py::test_dc_description
- tests/test_xmp.py::test_dc_subject
- tests/test_xmp.py::test_issue585
- tests/test_xmp.py::test_xmpmm
-
- # Broken test
- tests/test_utils.py::test_deprecate_no_replacement
-)
-
-src_unpack() {
- default
- if use test; then
- mv "sample-files-${SAMPLE_COMMIT}"/* "${P}"/sample-files/ || die
- fi
-}
diff --git a/dev-python/PyPDF2/PyPDF2-2.7.0.ebuild b/dev-python/PyPDF2/PyPDF2-2.7.0.ebuild
deleted file mode 100644
index 40f9268b2e36..000000000000
--- a/dev-python/PyPDF2/PyPDF2-2.7.0.ebuild
+++ /dev/null
@@ -1,117 +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_{8..11} )
-
-inherit distutils-r1
-
-SAMPLE_COMMIT=200644f7219811c3930ad1732ef70c570ece2d16
-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
- )
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-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=(
- # Needs network access
- tests/test_cmap.py
- tests/test_filters.py::test_decompress_zlib_error
- tests/test_filters.py::test_lzw_decode_neg1
- tests/test_generic.py::test_dict_read_from_stream
- tests/test_generic.py::test_parse_content_stream_peek_percentage
- tests/test_generic.py::test_read_inline_image_no_has_q
- tests/test_generic.py::test_read_inline_image_loc_neg_1
- tests/test_generic.py::test_text_string_write_to_stream
- tests/test_generic.py::test_name_object_read_from_stream_unicode_error
- tests/test_generic.py::test_bool_repr
- tests/test_generic.py::test_issue_997
- tests/test_merger.py::test1
- tests/test_merger.py::test_bookmark
- tests/test_merger.py::test_sweep_indirect_list_newobj_is_None
- tests/test_merger.py::test_sweep_recursion1
- tests/test_merger.py::test_sweep_recursion2
- tests/test_merger.py::test_trim_outline
- tests/test_merger.py::test_trim_outline_list
- tests/test_merger.py::test_zoom
- tests/test_merger.py::test_zoom_xyz_no_left
- tests/test_page.py::test_extract_text_operator_t_star
- tests/test_page.py::test_extract_text_page_pdf
- tests/test_page.py::test_extract_text_page_pdf_impossible_decode_xform
- tests/test_page.py::test_extract_text_single_quote_op
- 'tests/test_page.py::test_page_operations[https://arxiv.org/pdf/2201.00029.pdf-None]'
- tests/test_reader.py::test_extract_text_pdf15
- tests/test_reader.py::test_extract_text_xref_issue_2
- tests/test_reader.py::test_extract_text_xref_issue_3
- tests/test_reader.py::test_extract_text_xref_table_21_bytes_clrf
- tests/test_reader.py::test_get_fields
- tests/test_reader.py::test_get_fields_read_else_block
- tests/test_reader.py::test_get_fields_read_else_block2
- tests/test_reader.py::test_get_fields_read_else_block3
- tests/test_reader.py::test_get_fields_read_write_report
- tests/test_reader.py::test_iss925
- tests/test_reader.py::test_metadata_is_none
- tests/test_reader.py::test_outline_color
- tests/test_reader.py::test_outline_font_format
- tests/test_reader.py::test_read_form_416
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_xfa_non_empty
- tests/test_utils.py::test_deprecate_no_replacement
- tests/test_workflows.py::test_compress
- tests/test_workflows.py::test_extract_text
- tests/test_workflows.py::test_extract_textbench
- tests/test_workflows.py::test_get_fields
- tests/test_workflows.py::test_get_metadata
- tests/test_workflows.py::test_image_extraction
- tests/test_workflows.py::test_merge
- tests/test_workflows.py::test_merge_with_warning
- tests/test_workflows.py::test_overlay
- tests/test_workflows.py::test_scale_rectangle_indirect_object
- tests/test_writer.py::test_sweep_indirect_references_nullobject_exception
- tests/test_writer.py::test_write_bookmark_on_page_fitv
- tests/test_xmp.py::test_custom_properties
- tests/test_xmp.py::test_dc_creator
- tests/test_xmp.py::test_dc_description
- tests/test_xmp.py::test_dc_subject
- tests/test_xmp.py::test_issue585
- tests/test_xmp.py::test_xmpmm
-
- # Broken test
- tests/test_utils.py::test_deprecate_no_replacement
-)
-
-src_unpack() {
- default
- if use test; then
- mv "sample-files-${SAMPLE_COMMIT}"/* "${P}"/sample-files/ || die
- fi
-}
diff --git a/dev-python/PyPDF2/PyPDF2-2.8.0.ebuild b/dev-python/PyPDF2/PyPDF2-2.8.0.ebuild
deleted file mode 100644
index a3237a42f1d5..000000000000
--- a/dev-python/PyPDF2/PyPDF2-2.8.0.ebuild
+++ /dev/null
@@ -1,123 +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_{8..11} )
-
-inherit distutils-r1
-
-SAMPLE_COMMIT=200644f7219811c3930ad1732ef70c570ece2d16
-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
- )
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-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=(
- # Needs network access
- tests/test_cmap.py
- tests/test_filters.py::test_decompress_zlib_error
- tests/test_filters.py::test_lzw_decode_neg1
- tests/test_generic.py::test_dict_read_from_stream
- tests/test_generic.py::test_parse_content_stream_peek_percentage
- tests/test_generic.py::test_read_inline_image_no_has_q
- tests/test_generic.py::test_read_inline_image_loc_neg_1
- tests/test_generic.py::test_text_string_write_to_stream
- tests/test_generic.py::test_name_object_read_from_stream_unicode_error
- tests/test_generic.py::test_bool_repr
- tests/test_generic.py::test_issue_997
- tests/test_merger.py::test1
- tests/test_merger.py::test_bookmark
- tests/test_merger.py::test_iss1145
- tests/test_merger.py::test_sweep_indirect_list_newobj_is_None
- tests/test_merger.py::test_sweep_recursion1
- tests/test_merger.py::test_sweep_recursion2
- tests/test_merger.py::test_trim_outline
- tests/test_merger.py::test_trim_outline_list
- tests/test_merger.py::test_zoom
- tests/test_merger.py::test_zoom_xyz_no_left
- tests/test_page.py::test_extract_text_operator_t_star
- tests/test_page.py::test_extract_text_page_pdf
- tests/test_page.py::test_extract_text_page_pdf_impossible_decode_xform
- tests/test_page.py::test_extract_text_single_quote_op
- 'tests/test_page.py::test_page_operations[https://arxiv.org/pdf/2201.00029.pdf-None]'
- tests/test_reader.py::test_extract_text_pdf15
- tests/test_reader.py::test_extract_text_xref_issue_2
- tests/test_reader.py::test_extract_text_xref_issue_3
- tests/test_reader.py::test_extract_text_xref_table_21_bytes_clrf
- tests/test_reader.py::test_get_fields
- tests/test_reader.py::test_get_fields_read_else_block
- tests/test_reader.py::test_get_fields_read_else_block2
- tests/test_reader.py::test_get_fields_read_else_block3
- tests/test_reader.py::test_get_fields_read_write_report
- tests/test_reader.py::test_iss925
- tests/test_reader.py::test_metadata_is_none
- tests/test_reader.py::test_outline_color
- tests/test_reader.py::test_outline_font_format
- tests/test_reader.py::test_outline_with_empty_action
- tests/test_reader.py::test_outline_with_missing_named_destination
- tests/test_reader.py::test_read_form_416
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_xfa_non_empty
- tests/test_utils.py::test_deprecate_no_replacement
- tests/test_workflows.py::test_compress
- tests/test_workflows.py::test_extract_text
- tests/test_workflows.py::test_extract_textbench
- tests/test_workflows.py::test_get_fields
- tests/test_workflows.py::test_get_fonts
- tests/test_workflows.py::test_get_metadata
- tests/test_workflows.py::test_get_outline
- tests/test_workflows.py::test_image_extraction
- tests/test_workflows.py::test_merge
- tests/test_workflows.py::test_merge_with_warning
- tests/test_workflows.py::test_overlay
- tests/test_workflows.py::test_scale_rectangle_indirect_object
- tests/test_workflows.py::test_get_xfa
- tests/test_writer.py::test_sweep_indirect_references_nullobject_exception
- tests/test_writer.py::test_write_bookmark_on_page_fitv
- tests/test_xmp.py::test_custom_properties
- tests/test_xmp.py::test_dc_creator
- tests/test_xmp.py::test_dc_description
- tests/test_xmp.py::test_dc_subject
- tests/test_xmp.py::test_issue585
- tests/test_xmp.py::test_xmpmm
-
- # Broken test
- tests/test_utils.py::test_deprecate_no_replacement
-)
-
-src_unpack() {
- default
- if use test; then
- mv "sample-files-${SAMPLE_COMMIT}"/* "${P}"/sample-files/ || die
- fi
-}
diff --git a/dev-python/PyPDF2/PyPDF2-2.8.1.ebuild b/dev-python/PyPDF2/PyPDF2-2.8.1.ebuild
deleted file mode 100644
index 7e51381424fd..000000000000
--- a/dev-python/PyPDF2/PyPDF2-2.8.1.ebuild
+++ /dev/null
@@ -1,125 +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_{8..11} )
-
-inherit distutils-r1
-
-SAMPLE_COMMIT=200644f7219811c3930ad1732ef70c570ece2d16
-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
- )
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-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=(
- # Needs network access
- tests/test_cmap.py
- tests/test_filters.py::test_decompress_zlib_error
- tests/test_filters.py::test_lzw_decode_neg1
- tests/test_generic.py::test_dict_read_from_stream
- tests/test_generic.py::test_parse_content_stream_peek_percentage
- tests/test_generic.py::test_read_inline_image_no_has_q
- tests/test_generic.py::test_read_inline_image_loc_neg_1
- tests/test_generic.py::test_text_string_write_to_stream
- tests/test_generic.py::test_name_object_read_from_stream_unicode_error
- tests/test_generic.py::test_bool_repr
- tests/test_generic.py::test_issue_997
- tests/test_merger.py::test1
- tests/test_merger.py::test_bookmark
- tests/test_merger.py::test_iss1145
- tests/test_merger.py::test_sweep_indirect_list_newobj_is_None
- tests/test_merger.py::test_sweep_recursion1
- tests/test_merger.py::test_sweep_recursion2
- tests/test_merger.py::test_trim_outline
- tests/test_merger.py::test_trim_outline_list
- tests/test_merger.py::test_zoom
- tests/test_merger.py::test_zoom_xyz_no_left
- tests/test_page.py::test_empyt_password_1088
- tests/test_page.py::test_extract_text_operator_t_star
- tests/test_page.py::test_extract_text_page_pdf
- tests/test_page.py::test_extract_text_page_pdf_impossible_decode_xform
- tests/test_page.py::test_extract_text_single_quote_op
- 'tests/test_page.py::test_page_operations[https://arxiv.org/pdf/2201.00029.pdf-None]'
- tests/test_reader.py::test_extract_text_pdf15
- tests/test_reader.py::test_extract_text_xref_issue_2
- tests/test_reader.py::test_extract_text_xref_issue_3
- tests/test_reader.py::test_extract_text_xref_table_21_bytes_clrf
- tests/test_reader.py::test_get_fields
- tests/test_reader.py::test_get_fields_read_else_block
- tests/test_reader.py::test_get_fields_read_else_block2
- tests/test_reader.py::test_get_fields_read_else_block3
- tests/test_reader.py::test_get_fields_read_write_report
- tests/test_reader.py::test_iss925
- tests/test_reader.py::test_metadata_is_none
- tests/test_reader.py::test_outline_color
- tests/test_reader.py::test_outline_font_format
- tests/test_reader.py::test_outline_with_empty_action
- tests/test_reader.py::test_outline_with_missing_named_destination
- tests/test_reader.py::test_read_form_416
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_xfa_non_empty
- tests/test_reader.py::test_PdfReaderMultipleDefinitions
- tests/test_utils.py::test_deprecate_no_replacement
- tests/test_workflows.py::test_compress
- tests/test_workflows.py::test_extract_text
- tests/test_workflows.py::test_extract_textbench
- tests/test_workflows.py::test_get_fields
- tests/test_workflows.py::test_get_fonts
- tests/test_workflows.py::test_get_metadata
- tests/test_workflows.py::test_get_outline
- tests/test_workflows.py::test_image_extraction
- tests/test_workflows.py::test_merge
- tests/test_workflows.py::test_merge_with_warning
- tests/test_workflows.py::test_overlay
- tests/test_workflows.py::test_scale_rectangle_indirect_object
- tests/test_workflows.py::test_get_xfa
- tests/test_writer.py::test_sweep_indirect_references_nullobject_exception
- tests/test_writer.py::test_write_bookmark_on_page_fitv
- tests/test_xmp.py::test_custom_properties
- tests/test_xmp.py::test_dc_creator
- tests/test_xmp.py::test_dc_description
- tests/test_xmp.py::test_dc_subject
- tests/test_xmp.py::test_issue585
- tests/test_xmp.py::test_xmpmm
-
- # Broken test
- tests/test_utils.py::test_deprecate_no_replacement
-)
-
-src_unpack() {
- default
- if use test; then
- mv "sample-files-${SAMPLE_COMMIT}"/* "${P}"/sample-files/ || die
- fi
-}
diff --git a/dev-python/PyPDF2/PyPDF2-2.9.0.ebuild b/dev-python/PyPDF2/PyPDF2-2.9.0.ebuild
deleted file mode 100644
index 861d1fc880be..000000000000
--- a/dev-python/PyPDF2/PyPDF2-2.9.0.ebuild
+++ /dev/null
@@ -1,130 +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_{8..11} )
-
-inherit distutils-r1
-
-SAMPLE_COMMIT=b6f4ff3de00745783d79f25cb8803901d1f20d28
-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
- )
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-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=(
- # Needs network access
- tests/test_cmap.py
- tests/test_filters.py::test_decompress_zlib_error
- tests/test_filters.py::test_lzw_decode_neg1
- tests/test_generic.py::test_dict_read_from_stream
- tests/test_generic.py::test_parse_content_stream_peek_percentage
- tests/test_generic.py::test_read_inline_image_no_has_q
- tests/test_generic.py::test_read_inline_image_loc_neg_1
- tests/test_generic.py::test_text_string_write_to_stream
- tests/test_generic.py::test_name_object_read_from_stream_unicode_error
- tests/test_generic.py::test_bool_repr
- tests/test_generic.py::test_issue_997
- tests/test_merger.py::test1
- tests/test_merger.py::test_bookmark
- tests/test_merger.py::test_iss1145
- tests/test_merger.py::test_sweep_indirect_list_newobj_is_None
- tests/test_merger.py::test_sweep_recursion1
- tests/test_merger.py::test_sweep_recursion2
- tests/test_merger.py::test_trim_outline
- tests/test_merger.py::test_trim_outline_list
- tests/test_merger.py::test_zoom
- tests/test_merger.py::test_zoom_xyz_no_left
- tests/test_page.py::test_empyt_password_1088
- tests/test_page.py::test_extract_text_operator_t_star
- tests/test_page.py::test_extract_text_page_pdf
- tests/test_page.py::test_extract_text_page_pdf_impossible_decode_xform
- tests/test_page.py::test_extract_text_single_quote_op
- 'tests/test_page.py::test_page_operations[https://arxiv.org/pdf/2201.00029.pdf-None]'
- tests/test_reader.py::test_extract_text_pdf15
- tests/test_reader.py::test_extract_text_xref_issue_2
- tests/test_reader.py::test_extract_text_xref_issue_3
- tests/test_reader.py::test_extract_text_xref_table_21_bytes_clrf
- tests/test_reader.py::test_get_fields
- tests/test_reader.py::test_get_fields_read_else_block
- tests/test_reader.py::test_get_fields_read_else_block2
- tests/test_reader.py::test_get_fields_read_else_block3
- tests/test_reader.py::test_get_fields_read_write_report
- tests/test_reader.py::test_iss925
- tests/test_reader.py::test_metadata_is_none
- tests/test_reader.py::test_outline_color
- tests/test_reader.py::test_outline_font_format
- tests/test_reader.py::test_outline_with_empty_action
- tests/test_reader.py::test_outline_with_missing_named_destination
- tests/test_reader.py::test_read_form_416
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_unexpected_destination
- tests/test_reader.py::test_xfa_non_empty
- tests/test_reader.py::test_PdfReaderMultipleDefinitions
- tests/test_utils.py::test_deprecate_no_replacement
- tests/test_workflows.py::test_compress
- tests/test_workflows.py::test_extract_text
- tests/test_workflows.py::test_extract_textbench
- tests/test_workflows.py::test_get_fields
- tests/test_workflows.py::test_get_fonts
- tests/test_workflows.py::test_get_metadata
- tests/test_workflows.py::test_get_outline
- tests/test_workflows.py::test_image_extraction
- tests/test_workflows.py::test_merge
- tests/test_workflows.py::test_merge_with_warning
- tests/test_workflows.py::test_overlay
- tests/test_workflows.py::test_scale_rectangle_indirect_object
- tests/test_workflows.py::test_get_xfa
- tests/test_writer.py::test_sweep_indirect_references_nullobject_exception
- tests/test_writer.py::test_write_bookmark_on_page_fitv
- tests/test_xmp.py::test_custom_properties
- tests/test_xmp.py::test_dc_creator
- tests/test_xmp.py::test_dc_description
- tests/test_xmp.py::test_dc_subject
- tests/test_xmp.py::test_issue585
- tests/test_xmp.py::test_xmpmm
- tests/test_merger.py::test_outline_item
- tests/test_page.py::test_iss_1142
- tests/test_page.py::test_read_link_annotation
- tests/test_reader.py::test_named_destination
- tests/test_writer.py::test_write_outline_item_on_page_fitv
-
- # TODO
- tests/test_workflows.py::test_orientations
-)
-
-src_unpack() {
- default
- if use test; then
- mv "sample-files-${SAMPLE_COMMIT}"/* "${P}"/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..d2c2887a8827 100644
--- a/dev-python/PyQt-builder/Manifest
+++ b/dev-python/PyQt-builder/Manifest
@@ -1 +1,3 @@
-DIST PyQt-builder-1.12.2.tar.gz 5727071 BLAKE2B ca5d55989fec2a9a6f9d37abc307d4db7305bb06449cbf982aa3a2a3f210113319f7fb303ec0d77b513cce844b529e0e56f62c9d62ab3c51cf85a061ecd00c7a SHA512 022f2cd40c100543c4b442fc5b27bbf2ec853d94b531f8f6dc1d7f92b07bcc20e8f0a4eb64feb96d094ba0d5f01fddcc8aed23ddf67a61417e07983a73918230
+DIST PyQt-builder-1.16.0.tar.gz 3670068 BLAKE2B 909aaead9bd62d3c1ce00f26e13fc81a3293fec212cf8cb1087f59f34d41e9541dbaf12f8a0faffda13434d1340264c2b611ee9061993c4543043ff4539a5bb3 SHA512 1584b41e0c260a45b2b883d035e7611b29501a24172a8d9f36702c4fbde8c3f7953a6897781b59f48b9fa1ceab51eb3767afa83e0e3ff097caf029d87a7114d8
+DIST pyqt_builder-1.16.1.tar.gz 3671113 BLAKE2B 2d975e4158997bed1fbec80933ec821e6623fa3c11f4db4d9c3b49002ba2794945856d8130b7cf1c34a2c9ffab589d5db33245a531d6623112fb343b5333dbe9 SHA512 7497a06d7cd0bc662640575842a53fbae86f88b82a8bd7e36afcf4ea9e642f4dc5b06005811669160627ef6a0021cd6cf27c965c42f2202c8877916006d44232
+DIST pyqt_builder-1.16.2.tar.gz 3671133 BLAKE2B 854a3182488ad8b4fc6ddc5a363580f7555ec01aeecc8c8e6d7f121d7477df1481888450dc25fabfbcd965be5a1b98734d2679013b28b95e8a0cce92f4442a3f SHA512 64fc969799a12a176eb730fdc4581f18293dceb8edff20db0177ce409fe7e712cdfb07449b6c4abdd33f1fd9aabe8bee248fe9aeb5373df533d805f9d2a0c6a5
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 9b6bc50a1942..000000000000
--- a/dev-python/PyQt-builder/PyQt-builder-1.12.2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~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.16.0.ebuild b/dev-python/PyQt-builder/PyQt-builder-1.16.0.ebuild
new file mode 100644
index 000000000000..1f02f2b0308e
--- /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-8[${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/PyQt-builder-1.16.1.ebuild b/dev-python/PyQt-builder/PyQt-builder-1.16.1.ebuild
new file mode 100644
index 000000000000..363aa24ff3ba
--- /dev/null
+++ b/dev-python/PyQt-builder/PyQt-builder-1.16.1.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="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-8[${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/PyQt-builder-1.16.2.ebuild b/dev-python/PyQt-builder/PyQt-builder-1.16.2.ebuild
new file mode 100644
index 000000000000..db970356ea9e
--- /dev/null
+++ b/dev-python/PyQt-builder/PyQt-builder-1.16.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 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-8[${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..097eeda6b6f5 100644
--- a/dev-python/PyQt-builder/metadata.xml
+++ b/dev-python/PyQt-builder/metadata.xml
@@ -5,14 +5,11 @@
<email>qt@gentoo.org</email>
<name>Gentoo Qt Project</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
- <maintainer status="active">
- <email>phil@riverbankcomputing.com</email>
- <name>Phil Thompson</name>
- </maintainer>
- <changelog>https://www.riverbankcomputing.com/hg/PyQt-builder/file/tip/NEWS</changelog>
+ <changelog>https://github.com/Python-PyQt/PyQt-builder/blob/main/docs/releases.md</changelog>
<doc>https://www.riverbankcomputing.com/static/Docs/PyQt-builder/</doc>
- <bugs-to>mailto:pyqt@riverbankcomputing.com</bugs-to>
+ <remote-id type="github">Python-PyQt/PyQt-builder</remote-id>
<remote-id type="pypi">PyQt-builder</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/PyQt5-sip/Manifest b/dev-python/PyQt5-sip/Manifest
index b06c97a551ea..2a010f9ef214 100644
--- a/dev-python/PyQt5-sip/Manifest
+++ b/dev-python/PyQt5-sip/Manifest
@@ -1 +1 @@
-DIST PyQt5_sip-12.10.1.tar.gz 121271 BLAKE2B 5f1720a85b8522f552259be990d1d27c0f40d8c0c3ca0395679da02851e73b45210a6390b66d899fc00cabfeeda57f2bac4c8d108cd05ebc179302343fbe0457 SHA512 a6336195d8d5a1b216a85461c5f7acf3563c6db2255079734e955a9412522cfdb82663dbff5d60574acc7bb29dd5ef11f98f2c0c3c3d3fcbf290b039cda31638
+DIST PyQt5_sip-12.13.0.tar.gz 123225 BLAKE2B e3b7233e5405f7b24de157e1f0ed0f2ff47a9c331a76672892d8a7adc8aba8c7b738354d9f1c2fe9c29501b5bfe8c6302307c6731273b980a04dd327048a3a94 SHA512 ef363b21899f6d089fbc6d5adf700dc6c8838501343070ed1cf0826e05dd860343eba608d5aee5d8bece39b8ddca1f37866bb56aa07db18384ac0a372ca3532f
diff --git a/dev-python/PyQt5-sip/PyQt5-sip-12.10.1.ebuild b/dev-python/PyQt5-sip/PyQt5-sip-12.10.1.ebuild
deleted file mode 100644
index 1ed27f96a758..000000000000
--- a/dev-python/PyQt5-sip/PyQt5-sip-12.10.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~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 46239623771c..75a7e4df030b 100644
--- a/dev-python/PyQt5/Manifest
+++ b/dev-python/PyQt5/Manifest
@@ -1,2 +1 @@
-DIST PyQt5-5.15.4.tar.gz 3258085 BLAKE2B 96bda4da1321e499707d29d9870693815170ccc32e2e0d7bb3c6977ea2933f9684557124deb92abbf92b923e0071cf47ee4822f6cb5d06fdc61b498efc44db4c SHA512 6d19f549a71eb8df8ba8407398ccd6e3d339436f4f2e7c5dca6885849d6ce510c4f4dea3c97257685aa462bb09a2ead33d80234ccb934f9b1a40285dbec631c7
-DIST PyQt5-5.15.6.tar.gz 3239505 BLAKE2B e98d6af85ae4586dbb1b7db1d4cb17ccdac917a36a304a7486d553a681be9a920e8750173e49e58e02d0129890a8a713702977e64efbb386ce831b8aaef2b0fd SHA512 65fd663cb70e8701e49bd4b39dc9384546cf2edd1b3bab259ca64b50908f48bdc02ca143f36cd6b429075f5616dcc7b291607dcb63afa176e828cded3b82f5c7
+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.4-r1.ebuild b/dev-python/PyQt5/PyQt5-5.15.4-r1.ebuild
deleted file mode 100644
index 2b0dd6118a38..000000000000
--- a/dev-python/PyQt5/PyQt5-5.15.4-r1.ebuild
+++ /dev/null
@@ -1,185 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit multibuild python-r1 qmake-utils
-
-DESCRIPTION="Python bindings for the Qt framework"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/intro 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}/${P}.tar.gz"
-fi
-S=${WORKDIR}/${MY_P}
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~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 configure.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"
-
-RDEPEND="${PYTHON_DEPS}
- >=dev-python/PyQt5-sip-4.19.25:=[${PYTHON_USEDEP}]
- >=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} )
-"
-DEPEND="${RDEPEND}
- >=dev-python/sip-4.19.25:0[${PYTHON_USEDEP}]
- dbus? ( virtual/pkgconfig )
-"
-
-pyqt_use_enable() {
- use "$1" || return
-
- if [[ $# -eq 1 ]]; then
- echo --enable=Qt${1^}
- else
- shift
- echo ${@/#/--enable=}
- fi
-}
-
-src_configure() {
- configuration() {
- local myconf=(
- "${EPYTHON}"
- "${S}"/configure.py
- $(usex debug '--debug --qml-debug --trace' '')
- --verbose
- --confirm-license
- --qmake="$(qt5_get_bindir)"/qmake
- --bindir="${EPREFIX}"/usr/bin
- --qsci-api
- --enable=QtCore
- --enable=QtXml
- $(pyqt_use_enable bluetooth)
- $(pyqt_use_enable dbus QtDBus)
- $(usex dbus '' --no-python-dbus)
- $(pyqt_use_enable declarative QtQml QtQuick $(usex widgets QtQuickWidgets ''))
- $(usex declarative '' --no-qml-plugin)
- $(pyqt_use_enable designer)
- $(usex designer '' --no-designer-plugin)
- $(usex gles2-only '--disable-feature=PyQt_Desktop_OpenGL' '')
- $(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 $(usex 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)
- $(usex ssl '' '--disable-feature=PyQt_SSL')
- $(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)
- $(pyqt_use_enable xmlpatterns QtXmlPatterns)
- )
- echo "${myconf[@]}"
- "${myconf[@]}" || die
-
- # Run eqmake to respect toolchain and build flags
- eqmake5 -recursive ${PN}.pro
- }
- python_foreach_impl run_in_build_dir configuration
-}
-
-src_compile() {
- python_foreach_impl run_in_build_dir default
-}
-
-src_install() {
- installation() {
- local tmp_root=${D}/${PN}_tmp_root
- # parallel install fails because mk_distinfo.py runs too early
- emake -j1 INSTALL_ROOT="${tmp_root}" install
-
- local bin_dir=${tmp_root}${EPREFIX}/usr/bin
- local exe
- for exe in pylupdate5 pyrcc5 pyuic5; do
- python_doexe "${bin_dir}/${exe}"
- rm "${bin_dir}/${exe}" || die
- done
-
- local uic_dir=${tmp_root}$(python_get_sitedir)/${PN}/uic
- rm -r "${uic_dir}"/port_v2 || die
-
- multibuild_merge_root "${tmp_root}" "${D}"
- python_optimize
- }
- python_foreach_impl run_in_build_dir installation
-
- einstalldocs
-
- if use examples; then
- dodoc -r examples
- fi
-}
diff --git a/dev-python/PyQt5/PyQt5-5.15.6.ebuild b/dev-python/PyQt5/PyQt5-5.15.6.ebuild
deleted file mode 100644
index f0138e797269..000000000000
--- a/dev-python/PyQt5/PyQt5-5.15.6.ebuild
+++ /dev/null
@@ -1,183 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~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.9:=[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/PyQt-builder-1.10[${PYTHON_USEDEP}]
- >=dev-python/sip-6.4[${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 59d365d91651..9f040294111b 100644
--- a/dev-python/PyQt6-WebEngine/Manifest
+++ b/dev-python/PyQt6-WebEngine/Manifest
@@ -1 +1,2 @@
-DIST PyQt6_WebEngine-6.3.1.tar.gz 30607 BLAKE2B f07454684ce9c55ed8f477e7d7ba260af6d219b079e68d6752292310d1d8799b642acd3dad94b9259edfc9c41ee6249d2c1b69f57f7e5132dd71bc88e1e1d463 SHA512 61e30b6dbbd5d31dd03498b1d14279005bd00b59fe375f89b13cf318d5bdb6cbbf5449cd910303c9794ed14cbd25b0e63824ab952fc050d8c0451292c6f97be0
+DIST PyQt6_WebEngine-6.6.0.tar.gz 31817 BLAKE2B 3e795bda50d1a5874e6caec7f69370840913cbbb33662ddc5624f0437c765e3318a2b4233d8e9963145dbeef8a4edc559112f114b850d9879eecb9e3e6b6fd2e SHA512 30927b7728d68cbeff6346234e131f96dfcd4b2af503d27d2f0a1eee584b5a928ac4fe1f66019c90aaf1ccd66fffe2edaf55de86d9aa0c83518c45669613bc0d
+DIST PyQt6_WebEngine-6.7.0.tar.gz 32593 BLAKE2B 6c14323b440a83f6fed9f1f77f20b350f00255dfedfbc328a5ee638760d20958d8864eb3c590248acd5c69152c537993a95e66d1f76b28349561c8223dfc2a85 SHA512 8298aecc43e420c4fa912802fd66ee95fd71156d9a6d1f1a499ffcc2d0d45a8c3e3c170f911acfc8f094d2e434567b5143b145ce40413ee75c9a9e4420341c0c
diff --git a/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.3.1.ebuild b/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.3.1.ebuild
deleted file mode 100644
index f32b61353e62..000000000000
--- a/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.3.1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=sip
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1 flag-o-matic multiprocessing qmake-utils
-
-QT_PV="6.3:6" # minimum tested qt version
-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 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
-
- # 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
-
- --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/PyQt6-WebEngine-6.7.0.ebuild b/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.7.0.ebuild
new file mode 100644
index 000000000000..c949808645ea
--- /dev/null
+++ b/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.7.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=sip
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/_}
+PYTHON_COMPAT=( python3_{10..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-${QT_PV%:*}[gui,ssl,${PYTHON_USEDEP}]
+ >=dev-qt/qtbase-${QT_PV}[gui,widgets?]
+ >=dev-qt/qtwebengine-${QT_PV}[widgets]
+ quick? (
+ dev-python/PyQt6[qml]
+ >=dev-qt/qtwebengine-${QT_PV}[qml]
+ )
+ widgets? ( dev-python/PyQt6[network,printsupport,webchannel,widgets] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.11[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.8[${PYTHON_USEDEP}]
+ >=dev-qt/qtbase-${QT_PV}
+"
+
+src_prepare() {
+ default
+
+ # hack: PyQt-builder runs qmake without our arguments and calls g++
+ # or clang++ depending on what qtbase was built with, not used for
+ # building but fails with -native-symlinks
+ mkdir "${T}"/cxx || die
+ local cxx
+ ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
+ ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
+ PATH=${T}/cxx:${PATH}
+}
+
+python_configure_all() {
+ append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
+ append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
+
+ DISTUTILS_ARGS=(
+ --jobs="$(makeopts_jobs)"
+ --qmake="$(qt6_get_bindir)"/qmake
+ --qmake-setting="$(qt6_get_qmake_args)"
+ --verbose
+
+ --enable=QtWebEngineCore
+ $(usex quick --{enable,disable}=QtWebEngineQuick)
+ $(usex widgets --{enable,disable}=QtWebEngineWidgets)
+
+ $(usev debug '--debug --qml-debug --tracing')
+ )
+}
diff --git a/dev-python/PyQt6-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 d34878af07fa..b75db9ddef10 100644
--- a/dev-python/PyQt6-sip/Manifest
+++ b/dev-python/PyQt6-sip/Manifest
@@ -1 +1 @@
-DIST PyQt6_sip-13.4.0.tar.gz 111209 BLAKE2B 963d3788d0996565696e82e6a9c197c197322f8b1637cead79a4af8cf8d3ed1b82423ff41e507204aeddc5f16fa0b96b7e7a49c6848ac7438bd98885f3ae4dc6 SHA512 e93a88fedbb965a7ea605a33820798352c340d5656b3ad60c40adc8dbd24fdd18deb67e706595e3cb96e41d1e17d4c837f1224a1c250f0179c6b60b1a5b0e6a2
+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 fca26761e4a1..000000000000
--- a/dev-python/PyQt6-sip/PyQt6-sip-13.4.0.ebuild
+++ /dev/null
@@ -1,19 +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_{8..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 631567942685..de48659232eb 100644
--- a/dev-python/PyQt6/Manifest
+++ b/dev-python/PyQt6/Manifest
@@ -1 +1,2 @@
-DIST PyQt6-6.3.1.tar.gz 1015220 BLAKE2B e225f2da11eec482ab8e00f886a858cec4a2c8add764f5e54bf603959394aad7f12d91b92c1ba6ab98d1b25903d4404e6667232258a87c52c95a2abdae9ccd2d SHA512 94319cd0983eb3f9bb0f1acbc620a1631a37f82e2fcffb9d0e58437fb1c120640be1e2a0a09e98e03f6c7082a2d94e9eabceefa6b07bae354f77bda02ba92d58
+DIST PyQt6-6.6.1.tar.gz 1043203 BLAKE2B dd2b6988ebeabaae47fe57c5c0d17fbe4b62c377262b4bb360adb7fd6724ccb6a67ba5c2bd7498df98db3ce6b00978f936b11a43b464c3c7af169f25b30ee1a6 SHA512 c2ff8c47c9b0e43c009d0c90f565a54344e6f384c67dd30c2d422465d0702c07713acc0095c8b67827d1146675611c07d548ba282a26e41bb60a0a21977a7a64
+DIST PyQt6-6.7.0.tar.gz 1050408 BLAKE2B 30dc8a2762cb5a149c401d497af714bb9209bc46847c0699522ee60080c46f0b1d4da854e70151a508c90820a2aa32da422bfd20c4320bcc9b5d5f92fd9e8677 SHA512 619210d2de3e149b55e2d45cbd8ec2113b3effcaccd25eef6067ea99b82e250f1ce288b38136604536053690071f8c843339b934b5ce5e539a5dfdecc26f44d2
diff --git a/dev-python/PyQt6/PyQt6-6.3.1.ebuild b/dev-python/PyQt6/PyQt6-6.3.1.ebuild
deleted file mode 100644
index bb4189d772dc..000000000000
--- a/dev-python/PyQt6/PyQt6-6.3.1.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=sip
-PYTHON_COMPAT=( python3_{8..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"
-# currently keeping defaults in sync with qtbase (no extra deps), but trying
-# to stay minimal'ish given each builds relatively slowly (subject to change,
-# perhaps more or less depending on consumers and if qtbase is ever split)
-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))
- $(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 # force-disabled in project.py
- $(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..804dd5543081
--- /dev/null
+++ b/dev-python/PyQt6/PyQt6-6.6.1.ebuild
@@ -0,0 +1,182 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=sip
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..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/qtdeclarative-${QT_PV}
+ >=dev-qt/qtspeech-${QT_PV}
+ )
+ svg? ( >=dev-qt/qtsvg-${QT_PV} )
+ webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
+ websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/PyQt6-sip-13.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.15[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.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/PyQt6-6.7.0.ebuild b/dev-python/PyQt6/PyQt6-6.7.0.ebuild
new file mode 100644
index 000000000000..033f550aeafb
--- /dev/null
+++ b/dev-python/PyQt6/PyQt6-6.7.0.ebuild
@@ -0,0 +1,178 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=sip
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..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/qtdeclarative-${QT_PV}
+ >=dev-qt/qtspeech-${QT_PV}
+ )
+ svg? ( >=dev-qt/qtsvg-${QT_PV} )
+ webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
+ websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/PyQt6-sip-13.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.15[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.8[${PYTHON_USEDEP}]
+ >=dev-qt/qtbase-${QT_PV}
+ dbus? ( virtual/pkgconfig )
+"
+
+src_prepare() {
+ default
+
+ # hack: PyQt-builder runs qmake without our arguments and calls g++
+ # or clang++ depending on what qtbase was built with, not used for
+ # building but fails with -native-symlinks
+ mkdir "${T}"/cxx || die
+ local cxx
+ ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
+ ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
+ PATH=${T}/cxx:${PATH}
+}
+
+python_configure_all() {
+ append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
+ append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
+
+ pyqt_use_enable() {
+ local state=$(usex ${1} --enable= --disable=)
+ shift
+ echo ${*/#/${state}}
+ }
+
+ DISTUTILS_ARGS=(
+ --jobs="$(makeopts_jobs)"
+ --qmake="$(qt6_get_bindir)"/qmake
+ --qmake-setting="$(qt6_get_qmake_args)"
+ --verbose
+ --confirm-license
+
+ --enable=QtCore
+
+ $(pyqt_use_enable bluetooth QtBluetooth)
+ $(pyqt_use_enable dbus QtDBus)
+ $(pyqt_use_enable designer QtDesigner)
+ $(pyqt_use_enable help QtHelp)
+ $(pyqt_use_enable gui QtGui)
+ #--disable=QtLocation # force-disabled in project.py
+ $(pyqt_use_enable multimedia QtMultimedia \
+ $(usev widgets QtMultimediaWidgets))
+ $(pyqt_use_enable network QtNetwork)
+ $(pyqt_use_enable nfc QtNfc)
+ $(pyqt_use_enable opengl QtOpenGL \
+ $(usev widgets QtOpenGLWidgets))
+ $(pyqt_use_enable pdfium QtPdf \
+ $(usev widgets QtPdfWidgets))
+ $(pyqt_use_enable positioning QtPositioning)
+ $(pyqt_use_enable printsupport QtPrintSupport)
+ $(pyqt_use_enable qml QtQml)
+ $(pyqt_use_enable quick QtQuick \
+ $(usev widgets QtQuickWidgets))
+ $(pyqt_use_enable quick3d QtQuick3D)
+ --disable=QtRemoteObjects # not packaged
+ $(pyqt_use_enable sensors QtSensors)
+ $(pyqt_use_enable serialport QtSerialPort)
+ $(pyqt_use_enable spatialaudio QtSpatialAudio)
+ $(pyqt_use_enable sql QtSql)
+ $(pyqt_use_enable svg QtSvg \
+ $(usev widgets QtSvgWidgets))
+ $(pyqt_use_enable testlib QtTest)
+ $(pyqt_use_enable speech QtTextToSpeech)
+ $(pyqt_use_enable webchannel QtWebChannel)
+ $(pyqt_use_enable websockets QtWebSockets)
+ $(pyqt_use_enable widgets QtWidgets)
+ $(pyqt_use_enable xml QtXml)
+
+ $(usev debug '--debug --qml-debug --tracing')
+
+ $(usev !dbus --no-dbus-python)
+ # note: upstream currently intentionally skips installing these two
+ # plugins when using wheels w/ pep517 so, *if* something does need
+ # them, it will need to be handled manually
+ $(usev !designer --no-designer-plugin)
+ $(usev !qml --no-qml-plugin)
+
+ $(usev !gles2-only --disabled-feature=PyQt_OpenGL_ES2)
+ $(usev !opengl --disabled-feature=PyQt_OpenGL)
+ $(usev !ssl --disabled-feature=PyQt_SSL)
+
+ # intended for Windows / Android or others
+ --disable=QAxContainer
+ --disabled-feature=PyQt_Permissions
+ )
+}
+
+python_install_all() {
+ einstalldocs
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/PyQt6/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 8ec2d4ebdc60..3cbff134bc2f 100644
--- a/dev-python/PyQtWebEngine/Manifest
+++ b/dev-python/PyQtWebEngine/Manifest
@@ -1,2 +1 @@
-DIST PyQtWebEngine-5.15.4.tar.gz 49022 BLAKE2B 0ac0b3424f22aabbfd733f2a876e502f133c81f639fbd87a4c7509865635b29d4bd3596ccc151b0919a28eff0015913c4fae1a831dbe774fe2d2aeee732e469b SHA512 25cf8578ffae8adbc1dd8d914921b4edf91f19fcf983c9c83c9c8934b4e918ba27bd34a6b9c8252773ec32e6f1f13a06f22cf7d7326a5aceaa91530ea4ee047e
-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.4.ebuild b/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.4.ebuild
deleted file mode 100644
index 91ec0ba948d2..000000000000
--- a/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.4.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-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}/${P}.tar.gz"
-fi
-S=${WORKDIR}/${MY_P}
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-IUSE="debug"
-
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
-"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ~dev-python/PyQt5-5.15.4[gui,network,printsupport,ssl,webchannel,widgets,${PYTHON_USEDEP}]
- >=dev-python/PyQt5-sip-4.19.22:=[${PYTHON_USEDEP}]
- dev-qt/qtcore:5
- dev-qt/qtwebengine:5[widgets]
-"
-DEPEND="${RDEPEND}
- >=dev-python/sip-4.19.22:0[${PYTHON_USEDEP}]
-"
-
-src_configure() {
- configuration() {
- local myconf=(
- "${EPYTHON}"
- "${S}"/configure.py
- --qmake="$(qt5_get_bindir)"/qmake
- $(usex debug '--debug --trace' '')
- --verbose
- )
- echo "${myconf[@]}"
- "${myconf[@]}" || die
-
- # Fix parallel install failure
- sed -i -e '/INSTALLS += distinfo/i distinfo.depends = install_subtargets install_pep484_stubs install_api' \
- ${PN}.pro || die
-
- # Run eqmake to respect toolchain and build flags
- eqmake5 -recursive ${PN}.pro
- }
- python_foreach_impl run_in_build_dir 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.5.ebuild b/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.5.ebuild
deleted file mode 100644
index ce854a608d91..000000000000
--- a/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.5.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 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/PyRSS2Gen/PyRSS2Gen-1.1-r2.ebuild b/dev-python/PyRSS2Gen/PyRSS2Gen-1.1-r2.ebuild
index 1f7b162dbef1..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{9,10,11,12} )
inherit distutils-r1
diff --git a/dev-python/PySDL2/Manifest b/dev-python/PySDL2/Manifest
index 44192d98cba7..aeb9f90c26a4 100644
--- a/dev-python/PySDL2/Manifest
+++ b/dev-python/PySDL2/Manifest
@@ -1,3 +1 @@
-DIST PySDL2-0.9.11.tar.gz 736026 BLAKE2B ebf5a98958681cc61155aeffdb67ca9d1aeef8143ca876b63772ce95b7bf23cc5708a01cfa83d3128d4fe20c2b714bf2f1e7dc64454c7d063590c55cfc236f24 SHA512 4e3383ef64f4f164d60a69a5a2c6ea153269b45661c9bba988d4c44a5cce7195cec0d29384d1855e9c9d507af2608bc808b9885449aea61c5ee51fc2d4f4af6f
-DIST PySDL2-0.9.12.tar.gz 741668 BLAKE2B 82f1f63f0b637981a8e98966f34d721495764630f9f0f95e0f6fd4c428d8adf0a31c540f0dcc36da24f073b3485cdb4987e0deb79d7df484ed05bad93c17a2ed SHA512 e4dd5b11a8e1082751bc45b9a18c1c3f7ff977091a35c35965f93b1946f634ea096ba94088404153c712c42cf3b4a8876c9ae05496def51b296be55c31b3b59b
-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.11.ebuild b/dev-python/PySDL2/PySDL2-0.9.11.ebuild
deleted file mode 100644
index 324c0960f1a4..000000000000
--- a/dev-python/PySDL2/PySDL2-0.9.11.ebuild
+++ /dev/null
@@ -1,60 +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_{8..10} )
-
-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
- )"
-
-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.12.ebuild b/dev-python/PySDL2/PySDL2-0.9.12.ebuild
deleted file mode 100644
index e6dabf07cdbd..000000000000
--- a/dev-python/PySDL2/PySDL2-0.9.12.ebuild
+++ /dev/null
@@ -1,66 +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_{8..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.13.ebuild b/dev-python/PySDL2/PySDL2-0.9.13.ebuild
deleted file mode 100644
index e6dabf07cdbd..000000000000
--- a/dev-python/PySDL2/PySDL2-0.9.13.ebuild
+++ /dev/null
@@ -1,66 +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_{8..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
new file mode 100644
index 000000000000..954d8809546f
--- /dev/null
+++ b/dev-python/PySensors/PySensors-0.0.4-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
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings to libsensors (via ctypes)"
+HOMEPAGE="https://pypi.org/project/PySensors/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND=">=sys-apps/lm-sensors-3"
diff --git a/dev-python/PySensors/PySensors-0.0.4.ebuild b/dev-python/PySensors/PySensors-0.0.4.ebuild
deleted file mode 100644
index 8f3c14c67c17..000000000000
--- a/dev-python/PySensors/PySensors-0.0.4.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit distutils-r1
-
-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"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-RDEPEND=">=sys-apps/lm-sensors-3"
diff --git a/dev-python/PySocks/PySocks-1.7.1-r2.ebuild b/dev-python/PySocks/PySocks-1.7.1-r2.ebuild
index be109528685c..dee394271fcc 100644
--- a/dev-python/PySocks/PySocks-1.7.1-r2.ebuild
+++ b/dev-python/PySocks/PySocks-1.7.1-r2.ebuild
@@ -1,21 +1,21 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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_{8..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/PyUtilib/Manifest b/dev-python/PyUtilib/Manifest
deleted file mode 100644
index f11f0827d683..000000000000
--- a/dev-python/PyUtilib/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST PyUtilib-6.0.0.tar.gz 1569916 BLAKE2B ee4085b597e928c5d6602b647f122c562f2e05dcaf300217cea9c5bc652f6acb5dbe5a075cbbbc1b81497987ab5c658f86cc3e44e16cae02a37d546b2e925a9b SHA512 7841a84ee8d66d2d7af3db810e4d787030acbd8e3e81c3f61251ea160931feddeab6f4d205977a411964359f1cb7e7e59e846593c113093e01c48b81784f7477
diff --git a/dev-python/PyUtilib/PyUtilib-6.0.0.ebuild b/dev-python/PyUtilib/PyUtilib-6.0.0.ebuild
deleted file mode 100644
index fe1c027f23da..000000000000
--- a/dev-python/PyUtilib/PyUtilib-6.0.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_IN_SOURCE_BUILD=1
-
-inherit distutils-r1
-
-DESCRIPTION="A collection of Python utilities"
-HOMEPAGE="https://github.com/PyUtilib/pyutilib"
-SRC_URI="https://github.com/${PN}/${PN,,}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN,,}-${PV}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/PyUtilib-6.0.0-tests.patch"
-)
-
-distutils_enable_tests unittest
-
-python_install_all() {
- distutils-r1_python_install_all
-
- find "${ED}" -name '*.pth' -delete || die
-}
-
-python_test() {
- distutils_install_for_testing --via-root
-
- local -x PYTHONPATH="${PWD}:${TEST_DIR}/lib" \
- COLUMNS=80
-
- if [[ ${EPYTHON} == python3.10 ]]; then
- # Fix for very small output change of expected output in new version
- sed -e 's/optional arguments/options/' -i \
- "${BUILD_DIR}/../doc/workflow/examples/"*.txt \
- pyutilib/misc/tests/test_config.py || die
- fi
-
- eunittest
-}
diff --git a/dev-python/PyUtilib/files/PyUtilib-6.0.0-tests.patch b/dev-python/PyUtilib/files/PyUtilib-6.0.0-tests.patch
deleted file mode 100644
index 33dcd4605818..000000000000
--- a/dev-python/PyUtilib/files/PyUtilib-6.0.0-tests.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/pyutilib/component/loader/tests/test_egg.py b/pyutilib/component/loader/tests/test_egg.py
-index c8674d0..7126e5c 100644
---- a/pyutilib/component/loader/tests/test_egg.py
-+++ b/pyutilib/component/loader/tests/test_egg.py
-@@ -23,6 +23,7 @@ except ImportError:
-
-
- @unittest.skipIf(not pkg_resources_avail, "Cannot import 'pkg_resources'")
-+@unittest.skipIf(sys.hexversion >= 0x03090000, "Example eggs not generated for python >= 3.9")
- class Test(pyutilib.th.TestCase):
-
- def test_egg1(self):
diff --git a/dev-python/PyUtilib/metadata.xml b/dev-python/PyUtilib/metadata.xml
deleted file mode 100644
index b6c9c5fcc9da..000000000000
--- a/dev-python/PyUtilib/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>
- <maintainer type="person">
- <email>chutzpah@gentoo.org</email>
- <name>Patrick McLean</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">PyUtilib</remote-id>
- </upstream>
-</pkgmetadata>
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.ebuild b/dev-python/Pyro4/Pyro4-4.82.ebuild
deleted file mode 100644
index ee8e259935ab..000000000000
--- a/dev-python/Pyro4/Pyro4-4.82.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Distributed object middleware for Python (RPC)"
-HOMEPAGE="https://pypi.org/project/Pyro4/
- https://github.com/irmen/Pyro4"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ppc x86"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/serpent-1.27[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- 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}]
- )"
-
-python_prepare_all() {
- # Disable tests requiring network connection.
- rm tests/PyroTests/test_naming.py || die
- sed \
- -e "s/testStartNSfunc/_&/" \
- -i tests/PyroTests/test_naming2.py || die
-
- sed \
- -e "s/testBroadcast/_&/" \
- -e "s/testGetIP/_&/" \
- -i tests/PyroTests/test_socket.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- esetup.py test
-}
-
-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 310de7019de0..f518af3f339b 100644
--- a/dev-python/QtPy/Manifest
+++ b/dev-python/QtPy/Manifest
@@ -1 +1 @@
-DIST QtPy-2.1.0.tar.gz 46470 BLAKE2B 2e032d141ad134444143cd59b8952957b226d9519925083aecce82adf62eebd3f58803cf548c4142fb1ece6f0e2340043a82a7aef056f6e4a9ac8b9caf72d80d SHA512 052cab4218d23d46162d11bf038dccfe6200b05c1c8647bd1f9dcbdaa7af50c23d4ae85829e065c7bae57630d149d562d76cc78202b4f448cbf6547010c746ff
+DIST QtPy-2.4.1.tar.gz 65492 BLAKE2B 3816e3836c171f75fc1877984b533602c8929a791b09a1f53b14687eae7a1067e47fcae3a198d798417521a1a81829168d3af94178b28d8a3bd2c28e7d9f7865 SHA512 cb7c65cfec5aba9bdc4942b95108ac0300eac5ca8f0c984e8ea789b77fded3a1817f591d43bc45e9aa4feb3cb3da64c0d42ae67f12121a807cf7c247e7612e7d
diff --git a/dev-python/QtPy/QtPy-2.1.0-r3.ebuild b/dev-python/QtPy/QtPy-2.1.0-r3.ebuild
deleted file mode 100644
index 967021dd8836..000000000000
--- a/dev-python/QtPy/QtPy-2.1.0-r3.ebuild
+++ /dev/null
@@ -1,141 +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_{8..11} )
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Abstraction layer on top of PyQt5 and PySide2 and 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 x86"
-
-_IUSE_QT_MODULES="
- declarative designer gui help location multimedia network opengl
- positioning printsupport sensors serialport speech sql svg testlib
- webchannel webengine websockets widgets x11extras xml xmlpatterns
-"
-IUSE="+pyqt5 pyside2 ${_IUSE_QT_MODULES}"
-unset _IUSE_QT_MODULES
-
-REQUIRED_USE="
- || ( pyqt5 pyside2 )
-"
-
-# These flags are currently *not* common to both the PySide2 and PyQt5 ebuild
-# Disable them for now, please check periodically if this is still up to date.
-# bluetooth? ( pyqt5 )
-# dbus? ( pyqt5 )
-#
-# 3d? ( pyside2 )
-# charts? ( pyside2 )
-# concurrent? ( pyside2 )
-# datavis? ( pyside2 )
-# scxml? ( pyside2 )
-# script? ( pyside2 )
-# scripttools? ( pyside2 )
-
-# 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[declarative?,designer?,gui?,help?,location?]
- dev-python/PyQt5[multimedia?,network?,opengl?,positioning?]
- dev-python/PyQt5[printsupport?,sensors?,serialport?,speech(-)?,sql?,svg?]
- dev-python/PyQt5[testlib?,webchannel?,websockets?,widgets?]
- dev-python/PyQt5[x11extras?,xml(+)?,xmlpatterns?]
- webengine? ( dev-python/PyQtWebEngine[${PYTHON_USEDEP}] )
- )
- pyside2? (
- dev-python/pyside2[${PYTHON_USEDEP}]
- dev-python/pyside2[designer?,gui?,help?,location?,multimedia?]
- dev-python/pyside2[network?,opengl(+)?,positioning?,printsupport?]
- dev-python/pyside2[sensors?,serialport(+)?,speech?,sql?,svg?]
- dev-python/pyside2[testlib?,webchannel?,webengine?,websockets?]
- dev-python/pyside2[widgets?,x11extras?,xml?,xmlpatterns?]
- declarative? ( dev-python/pyside2[qml,quick] )
- )
-"
-
-# 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}]
- )
- 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]
- )
- )
-"
-
-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 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
-}
-
-python_test() {
- if use pyqt5; then
- QT_API="pyqt5" virtx epytest
- fi
- if use pyside2; then
- QT_API="pyside2" virtx epytest
- fi
-}
-
-pkg_postinst() {
- if use pyqt5 && use pyside2; then
- ewarn "You have enabled both PyQt5 and PySide2, note that QtPy will default"
- ewarn "to PyQt5 unless the QT_API environment variable overrides this."
- fi
-}
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 7fa9451ae932..e50590762519 100644
--- a/dev-python/QtPy/metadata.xml
+++ b/dev-python/QtPy/metadata.xml
@@ -16,20 +16,22 @@
</longdescription>
<use>
<flag name="pyqt5">Use <pkg>dev-python/PyQt5</pkg> as Qt for Python implementation</flag>
+ <flag name="pyqt6">Use <pkg>dev-python/PyQt6</pkg> as Qt for Python implementation</flag>
<flag name="pyside2">Use <pkg>dev-python/pyside2</pkg> as Qt for Python implementation</flag>
- <flag name="declarative">Build bindings for the QtQml and QtQuick modules and enable the qmlscene plugin</flag>
+ <flag name="pyside6">Use <pkg>dev-python/pyside6</pkg> as Qt for Python implementation</flag>
<flag name="designer">Pull in bindings for the QtDesigner module and enable the designer plugin</flag>
<flag name="gui">Pull in bindings for the QtGui module</flag>
<flag name="help">Pull in bindings for the QtHelp module</flag>
- <flag name="location">Pull in bindings for the QtLocation module</flag>
<flag name="multimedia">Pull in QtMultimedia and QtMultimediaWidgets modules</flag>
<flag name="network">Pull in bindings for the QtNetwork module</flag>
<flag name="opengl">Pull in bindings for the QtOpenGL module</flag>
<flag name="positioning">Pull in bindings for the QtPositioning module</flag>
<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">Build bindings for the QtTextToSpeech 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>
@@ -37,8 +39,6 @@
<flag name="webengine">Pull in QtWebEngine and QtWebEngineWidgets modules</flag>
<flag name="websockets">Pull in bindings for the QtWebSockets module</flag>
<flag name="widgets">Pull in bindings for the QtWidgets module</flag>
- <flag name="x11extras">Pull in bindings for the QtX11Extras module</flag>
- <flag name="xmlpatterns">Pull in bindings for the QtXmlPatterns module</flag>
<flag name="xml">Pull in QtXml module</flag>
</use>
<upstream>
diff --git a/dev-python/Rx/Manifest b/dev-python/Rx/Manifest
deleted file mode 100644
index 6d60b318607a..000000000000
--- a/dev-python/Rx/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST RxPY-3.2.0.tar.gz 891490 BLAKE2B 9d4e72c20544f1c607fa28963193ca88d7d6f63c0e4a3faa4e3aafba6cce5bb0c1b99ca7a8fb62052adc3dc02b7ca71d4c190704f18819fbb2598a38b2ce86da SHA512 08a53344ea374b025e51ebf3a7de5ea4e83c7062d0c9a3370b795a56156c8aa068f2b3415f6e5e9e2424a11bcef53a412fd0667afb0016b58b7d2a741ea1007a
diff --git a/dev-python/Rx/Rx-3.2.0.ebuild b/dev-python/Rx/Rx-3.2.0.ebuild
deleted file mode 100644
index d7dc1233b7a3..000000000000
--- a/dev-python/Rx/Rx-3.2.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit distutils-r1 virtualx
-
-MY_P="RxPY-${PV}"
-DESCRIPTION="Reactive Extensions for Python"
-HOMEPAGE="http://reactivex.io/"
-SRC_URI="
- https://github.com/ReactiveX/RxPY/archive/v${PV}.tar.gz
- -> ${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/Rx/metadata.xml b/dev-python/Rx/metadata.xml
deleted file mode 100644
index 6b756aa65624..000000000000
--- a/dev-python/Rx/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="person">
- <email>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="pypi">Rx</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/SaltTesting/Manifest b/dev-python/SaltTesting/Manifest
deleted file mode 100644
index 7a2a295f735b..000000000000
--- a/dev-python/SaltTesting/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST SaltTesting-2018.9.21.tar.gz 459708 BLAKE2B c0c6d853ab335432464140b6db8939ae87b58f50c0ea63a547a09ab3e1899b52053e3f9ea90b183268b807db5d7f323f09f9b6d4186e1b4214d6984486f37139 SHA512 9ce79aaa0fd90fd75fa2a64112563751837d441518426cbdb5df93721fd186e9fe33609341a75bc173781cd9a97b477809a4c2e2d4fdd29a5331f0d096983db8
diff --git a/dev-python/SaltTesting/SaltTesting-2018.9.21.ebuild b/dev-python/SaltTesting/SaltTesting-2018.9.21.ebuild
deleted file mode 100644
index 78e0db8dbe62..000000000000
--- a/dev-python/SaltTesting/SaltTesting-2018.9.21.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8} )
-
-inherit distutils-r1
-
-DESCRIPTION="Required testing tools needed in the several Salt Stack projects"
-HOMEPAGE="https://saltstack.com/community/"
-
-if [[ ${PV} == *9999* ]]; then
- EGIT_REPO_URI="https://github.com/saltstack/salt-testing.git"
- EGIT_BRANCH="develop"
- inherit git-r3
-else
- SRC_URI="https://github.com/saltstack/salt-testing/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/salt-testing-${PV}"
- KEYWORDS="amd64 ~arm ~arm64 x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-RDEPEND="
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/requests-2.4.2[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-PATCHES=(
- "${FILESDIR}/SaltTesting-2018.9.21-python37.patch"
-)
diff --git a/dev-python/SaltTesting/files/SaltTesting-2018.9.21-python37.patch b/dev-python/SaltTesting/files/SaltTesting-2018.9.21-python37.patch
deleted file mode 100644
index b12d4231bbd8..000000000000
--- a/dev-python/SaltTesting/files/SaltTesting-2018.9.21-python37.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/salttesting/case.py b/salttesting/case.py
-index 4918915..19e47cc 100644
---- a/salttesting/case.py
-+++ b/salttesting/case.py
-@@ -140,14 +140,14 @@ class ShellTestCase(TestCase, AdaptedConfigurationTestCaseMixIn):
- )
- return self.run_script('salt-ssh', arg_str, with_retcode=with_retcode, catch_stderr=catch_stderr, raw=True)
-
-- def run_run(self, arg_str, with_retcode=False, catch_stderr=False, async=False, timeout=60, config_dir=None):
-+ def run_run(self, arg_str, with_retcode=False, catch_stderr=False, async_flag=False, timeout=60, config_dir=None):
- '''
- Execute salt-run
- '''
- arg_str = '-c {0}{async_flag} -t {timeout} {1}'.format(config_dir or self.get_config_dir(),
- arg_str,
- timeout=timeout,
-- async_flag=' --async' if async else '')
-+ async_flag=' --async' if async_flag else '')
- return self.run_script('salt-run', arg_str, with_retcode=with_retcode, catch_stderr=catch_stderr)
-
- def run_run_plus(self, fun, *arg, **kwargs):
diff --git a/dev-python/SaltTesting/metadata.xml b/dev-python/SaltTesting/metadata.xml
deleted file mode 100644
index 2894eec2d1ff..000000000000
--- a/dev-python/SaltTesting/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>chutzpah@gentoo.org</email>
- <name>Patrick McLean</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">SaltTesting</remote-id>
- </upstream>
-</pkgmetadata>
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 4bcf60d821d5..c1a3d2e808cb 100644
--- a/dev-python/absl-py/Manifest
+++ b/dev-python/absl-py/Manifest
@@ -1,2 +1 @@
-DIST abseil-py-1.1.0.gh.tar.gz 219274 BLAKE2B 96848e3a738c295b3396b2eb45a6a2428f02ca7d325f24629d7ef8b87bdb19c8c2a33c95dcd716e286034f24d669bea27dc5470b92fcb3df437266e98a08ae6c SHA512 75e017399d28e38a5229b95b6372ad05b9d6067c3fef1cf7a64b5123399377025654dafaf6a1debc5664440efa8d26b76610629ad440e472faefd4f99b3bc685
-DIST abseil-py-1.2.0.gh.tar.gz 219456 BLAKE2B ec7d878692dcf0cbe879cd7df51bc1b8ceeae945b053419b4a024a637e726064128af69fe077a26413f8562dd4a35830b340d000a6c9d520c7674b81a7e417ae SHA512 f363814ed65a68ae4bfd833dc095491349349e70327c0a87ad68ddc3b8429dacc78aaa16d2ff0d733487a12a2ab09094d4ccd1c1133981f65c12d3715cee410d
+DIST abseil-py-2.1.0.gh.tar.gz 235261 BLAKE2B 85232156e722cb874e29e1f92513b24836553476d5ff379e8df32d307ca21709b5869edd80a3bb7fe757ae585bb45df21c89ae6f2218147a5812f171d946e094 SHA512 298a876ed850085836cb1ff6fddf98aca6a3283780bece8c0a7d118fd4e16cc258e51f721e4a5fcbe62b23d2da05638475d426bb650b0694ff7c1d0119e3be97
diff --git a/dev-python/absl-py/absl-py-1.1.0.ebuild b/dev-python/absl-py/absl-py-1.1.0.ebuild
deleted file mode 100644
index 815933daf1d7..000000000000
--- a/dev-python/absl-py/absl-py-1.1.0.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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.2.0.ebuild b/dev-python/absl-py/absl-py-1.2.0.ebuild
deleted file mode 100644
index fb3119e6e3ba..000000000000
--- a/dev-python/absl-py/absl-py-1.2.0.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 574f09097b0e..000000000000
--- a/dev-python/abydos/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST abydos-0.5.0.tar.gz 21321759 BLAKE2B 1f14675f42e849e5e1563dd858bfb2bf040e25b0f90cb3da9986492378892bedd0f23eea990cd65d804aececb350b0e90fb27921382a8df8b91e55d7f820c27e SHA512 28aeea4ba16ea88b077e8b9902f5d8b3a650eeced489687daf9af0e4aa437eaee6c8eeb0747dd5a8f95291594064a1221cc1da2dfa989978bcc870045fee3531
diff --git a/dev-python/abydos/abydos-0.5.0-r1.ebuild b/dev-python/abydos/abydos-0.5.0-r1.ebuild
deleted file mode 100644
index dac00c9b4154..000000000000
--- a/dev-python/abydos/abydos-0.5.0-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Abydos NLP/IR library"
-HOMEPAGE="https://github.com/chrislit/abydos"
-SRC_URI="https://github.com/chrislit/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-# Requires access to the internet
-RESTRICT="test"
-PROPERTIES="test_network"
-
-RDEPEND="
- dev-python/deprecation[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-
-BDEPEND="test? (
- dev-python/nltk[${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
-
-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 517d704e4f5e..720f90e60bfc 100644
--- a/dev-python/adblock/adblock-0.6.0.ebuild
+++ b/dev-python/adblock/adblock-0.6.0.ebuild
@@ -1,100 +1,118 @@
-# Copyright 2021-2022 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
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_{8..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"
-BDEPEND="test? ( dev-python/toml[${PYTHON_USEDEP}] )"
-
distutils_enable_tests pytest
QA_FLAGS_IGNORED=".*/adblock.*.so"
DOCS=( CHANGELOG.md README.md )
-src_compile() {
- distutils-r1_src_compile
+PATCHES=(
+ "${FILESDIR}"/${P}-maturin-0.14.13.patch
+)
+
+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
+ )
- # tests try to find Cargo.toml + adblock/adblock.pyi in current
- # directory but will fail if pytest finds init in ./adblock
- 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 56890b3af396..55e6c21a0610 100644
--- a/dev-python/aesara/Manifest
+++ b/dev-python/aesara/Manifest
@@ -1,6 +1 @@
-DIST aesara-rel-2.7.3.gh.tar.gz 7918433 BLAKE2B 5f0eaa5cb241db3fb59bfd5fda0566811cb72e5dc902e15aaa269aa5fea35be1c5c51ef7515a386aa9cb20f769ad793a005e85e9b14d10b8be046788842ee496 SHA512 ffd1a830b69196537c62b21d6307f6d0f0a93f0a23fb0bacbf17934d2e5a454a93d72d33d0e28eec6b49e917770df5fc43134453e0bf1bd8433ee52ce22935be
-DIST aesara-rel-2.7.5.gh.tar.gz 7920343 BLAKE2B 04f7c1cf587799b915a54067a98608cee49de8ab8a50c6d8434aa7ad6bd27b547f9e4a4f71d459d8fca9805f97232a9ba4a1beb5240a8e89dd19f807da2b2957 SHA512 c68dc6e2893d2749d6ec3a74b850979f0766ac65c34bf07af3c0f1a16874e44f5102e1d036a88a7a43f51a44d3fffd65babf67373982362b034a2410124d4aad
-DIST aesara-rel-2.7.6.gh.tar.gz 7917317 BLAKE2B 21f801bebfe207586482b7eddb2fb1a2d812cb7c9bb28f2a7bc96543dabbe7ea7aa16781636d9e52d8abd389c8c148b3ae16696214d2914b702bb9dce114f149 SHA512 719d6ded6a058b739b3f2dcd734ef785b05eb07dec152c523d2ace7c5e9dd05d1550113f10e114b63b72d3a697900763c6f1e753db9c8d01a6c877fc5d3c2732
-DIST aesara-rel-2.7.7.gh.tar.gz 7918070 BLAKE2B 70a48fdeac8be6c070850294101aa379652f26c2ff7c9723232d6aea31b3aa52675299c2f85fb6e1b5a4c5dfc020f12d72bf1e8b5ddc1d487e750c2ad7583d8c SHA512 2a1e4488aab1dbef71537871cc9a2060d4e760a1b4dfc74ed1d4d2b2acf6a030c4ee27c9f464934219630eaffde4431571a4424bf27f6ee53a80b7bfc1fdfa2b
-DIST aesara-rel-2.7.8.gh.tar.gz 7918625 BLAKE2B 89f600e6b053526b8a214246746138066e2937633e132e68eef52e5dffa33509d4eee48f513077128e865f265a4e4b0ebe727dce5ed699c3f445b6850966c3c5 SHA512 33d57a5679480176cd814f6f5a36dc83ab0fe5f704a60ced2beceb10a4684bba7464f0d9473adc65541b755d3a5850af61d5ac8d8303f31d9c6718109ee331e1
-DIST aesara-rel-2.7.9.gh.tar.gz 7919763 BLAKE2B f877edcc824f3d790a56422a0fa660e8e3f653fff7e3d87ef4a95fa76369b1bb5df351a571ea039d66d79c0f564512437672df76c3b82e7d660c865cf908dea3 SHA512 061f7e39343eb081b28dd20b1eb7ffc226b7e4b96695d5beb9e28eb3f5ec9480c02c7889c932290248baa908dc0047c19e4cef3c220eccc4cc617b2050a9614e
+DIST aesara-2.9.3.tar.gz 4424476 BLAKE2B 3b1a1f2644267171a04a73d09a20fa29e0cf1eae3a86f5ee9ab72084185080b94cd1855fe8957b5f08aac4d059b047839524218526df37ea711bc3a8871c7e98 SHA512 28a6aedc7e6095a9a4e96eeac453282a0d6e247bd01248c219a5c161bc52ce4ccfb998238b45120b92581d1d0168c87c472aa0a8bb3314d8eb7ce90868e045b5
diff --git a/dev-python/aesara/aesara-2.7.3.ebuild b/dev-python/aesara/aesara-2.7.3.ebuild
deleted file mode 100644
index 1dfecd243cd1..000000000000
--- a/dev-python/aesara/aesara-2.7.3.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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-1.23[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/scipy[${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
-
-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
- )
- local EPYTEST_IGNORE=(
- # we do not package numba
- tests/link/test_numba.py
- tests/link/test_numba_performance.py
- # ..or jax
- tests/link/test_jax.py
- )
-
- 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
-}
-
-python_compile() {
- distutils-r1_python_compile
- rm "${BUILD_DIR}/install$(python_get_sitedir)/bin/__init__.py" || 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.7.5.ebuild b/dev-python/aesara/aesara-2.7.5.ebuild
deleted file mode 100644
index 5dfa54ec6053..000000000000
--- a/dev-python/aesara/aesara-2.7.5.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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-1.23[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/scipy[${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
-
-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
- )
- local EPYTEST_IGNORE=(
- # we do not package numba
- tests/link/test_numba.py
- tests/link/test_numba_performance.py
- # ..or jax
- tests/link/test_jax.py
- )
-
- 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
-}
-
-python_compile() {
- distutils-r1_python_compile
- rm "${BUILD_DIR}/install$(python_get_sitedir)/bin/__init__.py" || 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.7.6.ebuild b/dev-python/aesara/aesara-2.7.6.ebuild
deleted file mode 100644
index 5dfa54ec6053..000000000000
--- a/dev-python/aesara/aesara-2.7.6.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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-1.23[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/scipy[${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
-
-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
- )
- local EPYTEST_IGNORE=(
- # we do not package numba
- tests/link/test_numba.py
- tests/link/test_numba_performance.py
- # ..or jax
- tests/link/test_jax.py
- )
-
- 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
-}
-
-python_compile() {
- distutils-r1_python_compile
- rm "${BUILD_DIR}/install$(python_get_sitedir)/bin/__init__.py" || 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.7.7.ebuild b/dev-python/aesara/aesara-2.7.7.ebuild
deleted file mode 100644
index 140561cc6d20..000000000000
--- a/dev-python/aesara/aesara-2.7.7.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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-1.23[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/scipy[${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
-
-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[False]'
- )
- local EPYTEST_IGNORE=(
- # we do not package numba
- tests/link/test_numba.py
- tests/link/test_numba_performance.py
- # ..or jax
- tests/link/test_jax.py
- )
-
- 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
-}
-
-python_compile() {
- distutils-r1_python_compile
- rm "${BUILD_DIR}/install$(python_get_sitedir)/bin/__init__.py" || 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.7.8.ebuild b/dev-python/aesara/aesara-2.7.8.ebuild
deleted file mode 100644
index 88ef6a3516d2..000000000000
--- a/dev-python/aesara/aesara-2.7.8.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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-1.23[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- >=dev-python/setuptools-45[${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
-
-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[False]'
- )
- local EPYTEST_IGNORE=(
- # we do not package numba
- tests/link/test_numba.py
- tests/link/test_numba_performance.py
- # ..or jax
- tests/link/test_jax.py
- )
-
- 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
-}
-
-python_compile() {
- distutils-r1_python_compile
- rm "${BUILD_DIR}/install$(python_get_sitedir)/bin/__init__.py" || 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.7.9.ebuild b/dev-python/aesara/aesara-2.7.9.ebuild
deleted file mode 100644
index 88ef6a3516d2..000000000000
--- a/dev-python/aesara/aesara-2.7.9.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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-1.23[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- >=dev-python/setuptools-45[${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
-
-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[False]'
- )
- local EPYTEST_IGNORE=(
- # we do not package numba
- tests/link/test_numba.py
- tests/link/test_numba_performance.py
- # ..or jax
- tests/link/test_jax.py
- )
-
- 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
-}
-
-python_compile() {
- distutils-r1_python_compile
- rm "${BUILD_DIR}/install$(python_get_sitedir)/bin/__init__.py" || 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-r1.ebuild b/dev-python/agate-dbf/agate-dbf-0.2.2-r1.ebuild
deleted file mode 100644
index 2137b4bdde6e..000000000000
--- a/dev-python/agate-dbf/agate-dbf-0.2.2-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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-r1.ebuild b/dev-python/agate-excel/agate-excel-0.2.5-r1.ebuild
deleted file mode 100644
index 0dc130921f33..000000000000
--- a/dev-python/agate-excel/agate-excel-0.2.5-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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-r1.ebuild b/dev-python/agate-sql/agate-sql-0.5.8-r1.ebuild
deleted file mode 100644
index b01f2a4ef9ce..000000000000
--- a/dev-python/agate-sql/agate-sql-0.5.8-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 72ba351ff55a..444e93cf4111 100644
--- a/dev-python/agate/Manifest
+++ b/dev-python/agate/Manifest
@@ -1 +1,2 @@
-DIST agate-1.6.3.tar.gz 202102 BLAKE2B b1a5624b4744b8f3ed266470da580cef2f2e1cf6159e1b33fcd461e4abd235c5e3fe0da35408a42c92fd4abf14a1f841a1ab9eb6cd31545d826a5223e85b4904 SHA512 e83a03c5a3e4b7fa9997030ce0d33e7b59b397e2ae07ee6a723eb7fb708a7fa8b8c4322dd034f42bf664bf2911d89731fd060e4ff33a237f83114a83312ac5ed
+DIST agate-1.10.1.tar.gz 203139 BLAKE2B 656cc5f9abcc38848560bb81a9e7b1a8cf498897ea49a98bd3b44f3d625c69047ef3fa32b4a7191d8807c1bee29bd0c5a8d0ed99e1b91e30ea294b8fb436fb3d SHA512 b039fa587d1fc49277860f9876ad1f885f2530e82888ad8a32066f35e3086b5da0cb7aa9a2ed09ea7992efe649d32df27a372f85e4a06e8aca0d6ec8651567b5
+DIST agate-1.10.2.tar.gz 203542 BLAKE2B 697aa898756ab256ed8e9bb92a29b3ad1f8edeb7a8b9636d753a74373714d84a6d0a5d4abb8600b52eb510e478f16ca707839a01ab3a05fec72d88e443322dae SHA512 87385515e3ffe88afdeaa1202368d69824501dc5816b40e1f475afd027bbd5229c70e7449485e0845f50203e6749f3a736d16f17752d1bdd040dc92cbcc2461a
diff --git a/dev-python/agate/agate-1.10.1.ebuild b/dev-python/agate/agate-1.10.1.ebuild
new file mode 100644
index 000000000000..baca934b9901
--- /dev/null
+++ b/dev-python/agate/agate-1.10.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/agate/agate-1.10.2.ebuild b/dev-python/agate/agate-1.10.2.ebuild
new file mode 100644
index 000000000000..baca934b9901
--- /dev/null
+++ b/dev-python/agate/agate-1.10.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_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/agate/agate-1.6.3-r2.ebuild b/dev-python/agate/agate-1.6.3-r2.ebuild
deleted file mode 100644
index 54050fabfda6..000000000000
--- a/dev-python/agate/agate-1.6.3-r2.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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/six-1.9.0[${PYTHON_USEDEP}]
- >=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
-)
-
-python_prepare_all() {
- sed -i -e "s:\\(parsedatetime>=2.1\\),[^']*:\1:" -i setup.py || die
- distutils-r1_python_prepare_all
-}
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..eb086c8df57a 100644
--- a/dev-python/aiodns/Manifest
+++ b/dev-python/aiodns/Manifest
@@ -1 +1 @@
-DIST aiodns-3.0.0.tar.gz 6743 BLAKE2B 2a3c61156069fa598df58191b35383da3e054396cdeb1bc8916cc0414bb6efc89d45789883a5b4f33e3a08a6ee544356b02d6c697c096deae3398f0ff4d3c316 SHA512 8c1016f3b0cb461e70e9a55034f9ad3b3db705a845bf20bb6503c7a5d592b4c5d2e8ddc60b375c5fafdc559dc4566736f4c93f26710be2dcbd181284ef039825
+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 3b55866582f3..000000000000
--- a/dev-python/aiodns/aiodns-3.0.0-r1.ebuild
+++ /dev/null
@@ -1,31 +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_{8..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.0.0.ebuild b/dev-python/aiodns/aiodns-3.0.0.ebuild
deleted file mode 100644
index c693ea13d3be..000000000000
--- a/dev-python/aiodns/aiodns-3.0.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
-
-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"
-IUSE=""
-# 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}"
-
-PATCHES=(
- # https://github.com/saghul/aiodns/commit/146286601fe80eb4ede8126769e79b5d5e63f64e
- "${FILESDIR}/${P}-py3.10-tests.patch"
-)
-
-python_test() {
- "${EPYTHON}" tests.py -v || die
-}
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..f7bad191f32e
--- /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 e977198d0f0d..d0942ccbe9b5 100644
--- a/dev-python/aiofiles/Manifest
+++ b/dev-python/aiofiles/Manifest
@@ -1 +1 @@
-DIST aiofiles-0.8.0.tar.gz 24139 BLAKE2B 0f113b75832219e63c0894e70ec613138db7e243ad032bc6d7bf715aab505b5246ab7a0add64b46a9b981801cf05885f7affa965cb625941dc57b805280f0ff1 SHA512 4f590baa0369d465a6139c0d4f50beeec60f8f213b607e0e41598f45f507a12edc67b29c77718b03eee7532f10ead8599f55aac3fcb78d0429435c25a58f6d2e
+DIST aiofiles-23.2.1.tar.gz 32072 BLAKE2B 9718fe7f4367b30ca295efb39ffeab0c77ca54ed1c4f556b0b39f5abb540d4f23c6e8a49aa5b6b76c0692e393bbab7c8d252de4b0f6f4f423b74e88c43483e08 SHA512 defc9d1ff5351c1812432db1849233b1f0aa661f6420c79a6eb17d84c0622ee4dd5102d50e9ef920c91adcc48914a39cd62701b340b01806a83773bf05900b6f
diff --git a/dev-python/aiofiles/aiofiles-0.8.0-r1.ebuild b/dev-python/aiofiles/aiofiles-0.8.0-r1.ebuild
deleted file mode 100644
index 47aa92a1c980..000000000000
--- a/dev-python/aiofiles/aiofiles-0.8.0-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="File support for asyncio"
-HOMEPAGE="https://github.com/Tinche/aiofiles"
-SRC_URI="https://github.com/Tinche/${PN}/archive/v${PV}.tar.gz -> ${P}.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/aiofiles/metadata.xml b/dev-python/aiofiles/metadata.xml
index 76c373236700..b7130989dcd5 100644
--- a/dev-python/aiofiles/metadata.xml
+++ b/dev-python/aiofiles/metadata.xml
@@ -1,14 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>onigino@protonmail.com</email>
- <name>Gino McCarty</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/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 b502e01bf456..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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-cors/metadata.xml b/dev-python/aiohttp-cors/metadata.xml
index f9238f3d147b..446ce2d97587 100644
--- a/dev-python/aiohttp-cors/metadata.xml
+++ b/dev-python/aiohttp-cors/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>onigino@protonmail.com</email>
- <name>Gino McCarty</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
+ <!-- maintainer-needed -->
<stabilize-allarches/>
<upstream>
<remote-id type="github">aio-libs/aiohttp-cors</remote-id>
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 81fd748378fe..000000000000
--- a/dev-python/aiohttp-jinja2/aiohttp-jinja2-1.5.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 3f13a071d2c7..000000000000
--- a/dev-python/aiohttp-socks/aiohttp-socks-0.7.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 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 7c1042028406..2921e94e6163 100644
--- a/dev-python/aiohttp/Manifest
+++ b/dev-python/aiohttp/Manifest
@@ -1 +1,3 @@
-DIST aiohttp-3.8.1.tar.gz 7324180 BLAKE2B 99f85b8510782a31de2d2f6c8efa65ef5c5cde600a5c5f49d6362d5833a0443b9adcaed9beb27c5d8502aca37af154b06017f48836b73d4c61d78204b62b7f05 SHA512 3611549393e50c8d30426aee9ddd23794a71ddefe4384eb549049b93e452fafb38de7ad900737213b61fbe717bd85035a780c1622593eae250328f17d484a0a7
+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.1-r1.ebuild b/dev-python/aiohttp/aiohttp-3.8.1-r1.ebuild
deleted file mode 100644
index c76eafa65ddc..000000000000
--- a/dev-python/aiohttp/aiohttp-3.8.1-r1.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1 multiprocessing
-
-LLHTTP_COMMIT=69d6db2008508489d19267a0dcab30602b16fc5b
-
-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"
-
-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}]
- !hppa? ( !ia64? (
- 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
-
- 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=(
- # runtime warnings
- 'tests/test_client_functional.py::test_aiohttp_request_coroutine[pyloop]'
- # 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
- )
- ;;
- python3.11)
- EPYTEST_DESELECT+=(
- # known problem with tests, not code itself
- 'tests/test_client_functional.py::test_timeout_on_reading_headers[pyloop]'
- 'tests/test_client_functional.py::test_timeout_on_conn_reading_headers[pyloop]'
- 'tests/test_client_request.py::test_data_stream_exc_chain[pyloop]'
- tests/test_test_utils.py::TestAioHTTPTestCase::test_example_with_loop
- tests/test_test_utils.py::TestAioHTTPTestCase::test_example_without_explicit_loop
- tests/test_test_utils.py::TestAioHTTPTestCase::test_inner_example_without_explicit_loop
- )
- ;;
- 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..66766e3f32bb
--- /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..66766e3f32bb
--- /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 f53d7ca83cbc..000000000000
--- a/dev-python/aiopylgtv/aiopylgtv-0.4.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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"
-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/aioredis/Manifest b/dev-python/aioredis/Manifest
deleted file mode 100644
index 6acec3710225..000000000000
--- a/dev-python/aioredis/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST aioredis-2.0.1.tar.gz 111047 BLAKE2B 56f520110bee1a5ef2c19171b6c4c5d6cd4ac440892d36edc4ebf274e7b4ac184fd9e090ad79922f609de4b1dc403a1caa38b271cb1f938357ab9f01ea3f8bfc SHA512 9c2c3fe3e4e4a91e9ca727f8ad78c7c4e6ce1109e4a3043d9ddb929606b6879b1522f3845a3b18d8586ed557a4ab0f6288f27f2b6b0e307343e113f9b9b5fd76
diff --git a/dev-python/aioredis/aioredis-2.0.1.ebuild b/dev-python/aioredis/aioredis-2.0.1.ebuild
deleted file mode 100644
index 2d3d23161d82..000000000000
--- a/dev-python/aioredis/aioredis-2.0.1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-inherit distutils-r1 optfeature
-
-DESCRIPTION="asyncio Redis client library"
-HOMEPAGE="https://pypi.org/project/aioredis/ https://github.com/aio-libs/aioredis-py"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- dev-python/async-timeout[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/hiredis[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${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
- "
-
- elog "Spawning Redis"
- elog "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
-}
-
-pkg_postinst() {
- optfeature "hiredis parser" dev-python/hiredis
-}
diff --git a/dev-python/aioredis/metadata.xml b/dev-python/aioredis/metadata.xml
deleted file mode 100644
index 093de31d3019..000000000000
--- a/dev-python/aioredis/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>arthurzam@gentoo.org</email>
- <name>Arthur Zamarin</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">aio-libs/aioredis-py</remote-id>
- <remote-id type="pypi">aioredis</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/aioresponses/Manifest b/dev-python/aioresponses/Manifest
index cb0386caee7b..d190a80a4dbf 100644
--- a/dev-python/aioresponses/Manifest
+++ b/dev-python/aioresponses/Manifest
@@ -1 +1 @@
-DIST aioresponses-0.7.3.tar.gz 28895 BLAKE2B e948e25daef231b7984609ca475cde9ce026880953b395ebf1d5619fc951338614d1f56332c54467706f66275bc8aa1be9f04d3503295388f9dd4a213316d7c8 SHA512 9e2bdbf4fe5089928de9a7ddd54931d70ea137fbaba2bd22b32d248c9282f70d551a3aa2de270342bdf0c1acd0973b377f503d1194156aa545109ef3458278b5
+DIST aioresponses-0.7.6.tar.gz 35846 BLAKE2B f5cb820ee410e1203526ac6731c73f02993684679d788c8e3db830189d9874991b6fabf2e0738d14d3e54e2fa2b44af788f054137590ffea78df49056389673b SHA512 d02fa848a5d6588e32c203591f842cb212aae60d5e060a3fa13993bbb575922e516f04d47f9428c5f4b8103bc9990aa45cdde3c17bd2c47d8eff714f93976450
diff --git a/dev-python/aioresponses/aioresponses-0.7.3-r1.ebuild b/dev-python/aioresponses/aioresponses-0.7.3-r1.ebuild
deleted file mode 100644
index 5f993f60c834..000000000000
--- a/dev-python/aioresponses/aioresponses-0.7.3-r1.ebuild
+++ /dev/null
@@ -1,39 +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_{8..10} )
-
-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 dbb7421a8def..000000000000
--- a/dev-python/aiorpcX/aiorpcX-0.19.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 169614b83863..000000000000
--- a/dev-python/aiorpcX/aiorpcX-0.22.1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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"
-
-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/Manifest b/dev-python/aiosignal/Manifest
index 8dfe78cab11f..d9ab33d5c797 100644
--- a/dev-python/aiosignal/Manifest
+++ b/dev-python/aiosignal/Manifest
@@ -1 +1 @@
-DIST aiosignal-1.2.0.gh.tar.gz 26171 BLAKE2B 02657c11f5ee96173c94ab889993f835904a79e3fee58121fb332583f8d81cb680087e667dc0f8e89cd9704bc338362f2878bef7080907a5a3f86bef7a30cac1 SHA512 e75df2fcaeeea7ff7688c20838600f6315bec25b82c48ed7a23b7853edd3d53d72f76a686ad9b0d856f43b0d476398196a8ce4eb98c8859234710ff008f8ba42
+DIST aiosignal-1.3.1.gh.tar.gz 26119 BLAKE2B 16112f674f20b97406eff16a6a9baca1ef414132ec53a67789e08347f06a462ff653c7a00d6865855f5fe0fd70ba4a2bebe286020fdf1942da41d43f72e67837 SHA512 c03454d1b855bb3e84d3ce07fb32d08855b42d1ca7723fd67d3b2ef1bc66038a31974fabda7561c90e2beaf4cdd2c28cc0463e43eb5d5c127df0cd187ae3c2e2
diff --git a/dev-python/aiosignal/aiosignal-1.2.0-r1.ebuild b/dev-python/aiosignal/aiosignal-1.2.0-r1.ebuild
deleted file mode 100644
index 2961fee18787..000000000000
--- a/dev-python/aiosignal/aiosignal-1.2.0-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A list of registered asynchronous callbacks"
-HOMEPAGE="
- https://pypi.org/project/aiosignal/
- https://github.com/aio-libs/aiosignal/
-"
-SRC_URI="
- https://github.com/aio-libs/aiosignal/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/frozenlist-1.1.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/addopts/d' pytest.ini || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/aiosignal/aiosignal-1.3.1.ebuild b/dev-python/aiosignal/aiosignal-1.3.1.ebuild
new file mode 100644
index 000000000000..f580fbd017b2
--- /dev/null
+++ b/dev-python/aiosignal/aiosignal-1.3.1.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} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A list of registered asynchronous callbacks"
+HOMEPAGE="
+ https://pypi.org/project/aiosignal/
+ https://github.com/aio-libs/aiosignal/
+"
+SRC_URI="
+ https://github.com/aio-libs/aiosignal/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/frozenlist-1.1.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ 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/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..9ba4752f000d
--- /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="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/atpublic-4.0[${PYTHON_USEDEP}]
+ >=dev-python/attrs-23.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? ( >=dev-python/pytest-mock-3.12.0[${PYTHON_USEDEP}] )
+"
+
+EPYTEST_DESELECT=(
+ # Needs dev-vcs/git
+ aiosmtpd/qa/test_0packaging.py::TestVersion
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -i -e '/--cov=/d' pytest.ini || die
+
+ distutils-r1_python_prepare_all
+}
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
new file mode 100644
index 000000000000..25aa9658bef7
--- /dev/null
+++ b/dev-python/aiostream/Manifest
@@ -0,0 +1 @@
+DIST aiostream-0.5.2.gh.tar.gz 42945 BLAKE2B 36e4f3c7834df589da3e7ec8bafb6a5b6fe40a1e868fbe0b9b81233f6721852b0e31b12144775db8785835cd5a3a0ca0a88784f7955388efd55b6ce97311b10e SHA512 282139cda0f7d08dd11af88bc3a568054906c2e0e2708f72e0ce3a67d13a44822612e3989c398ab346f8c043f17ad2e5cd2f958b1461325ad9768affec8f63fc
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/aiostream/metadata.xml b/dev-python/aiostream/metadata.xml
new file mode 100644
index 000000000000..b33e8982719d
--- /dev/null
+++ b/dev-python/aiostream/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">vxgmichel/aiostream</remote-id>
+ <remote-id type="pypi">aiostream</remote-id>
+ </upstream>
+</pkgmetadata>
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 f2e894750fbd..6f2a5c6a0ac4 100644
--- a/dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild
+++ b/dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild
@@ -1,19 +1,18 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..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 2e738ad55d46..c045e92a186a 100644
--- a/dev-python/alabaster/Manifest
+++ b/dev-python/alabaster/Manifest
@@ -1 +1 @@
-DIST alabaster-0.7.12.tar.gz 11242 BLAKE2B 5690d9c0b8aabfc2c95c4279183d174d6a5768f89732028f7ec6eb790531499a2017b9f3b9896442e298f3189f79070178b3e281b6d0bcfad3741625caa99c48 SHA512 e3bfd0c92ce01f08d5e6d9dc1ef0967ca1f54827e08756f4a0ba7be8d3b8bec7f2e53a169b831ff5ce2d2548f7f52c6e518bcc513e49bb3e4c38274293aebbac
+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 473cfbe0ffde..000000000000
--- a/dev-python/alabaster/alabaster-0.7.12-r1.ebuild
+++ /dev/null
@@ -1,17 +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_{8..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.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 ae376488c171..000000000000
--- a/dev-python/alagitpull/alagitpull-0.0.23-r2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{7..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 8a37f7d89600..6134cdfa83d2 100644
--- a/dev-python/alembic/Manifest
+++ b/dev-python/alembic/Manifest
@@ -1,2 +1 @@
-DIST alembic-1.8.0.tar.gz 1252636 BLAKE2B dfe6130a08a8bfcdeb10e02187a9f597bb55de8194c91909ab06d72f5daaaaf4c7154570a141a82be8568195d8f5f76db661f1dd192b92a5991434ade1a389ed SHA512 601366f21bcadaef1a5b7f7d4a1edfd9c146340f8a5d07b41e3b381e1e00866e79520d8393330e4a80369664b36b549c9d5ab3ea13ad7aa8010b165e73038bcd
-DIST alembic-1.8.1.tar.gz 1255927 BLAKE2B dbf40f9ca12171d99ad46bec6bf1841799226887a55a815db5c7a69cbcb7d861ede774aa35e1018e1a57bec26a8ddf7ee311e0b4396ebddd5477c67a4ad11876 SHA512 51f210447172d08eb94c41a962ddecc593a665790aa6f5badb771dccc882e0d653dcf153ebb04b9824dabcaeb1ac08e3747c2e3c74d8584a24b35662778de8dd
+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.0.ebuild b/dev-python/alembic/alembic-1.8.0.ebuild
deleted file mode 100644
index dbad78231a74..000000000000
--- a/dev-python/alembic/alembic-1.8.0.ebuild
+++ /dev/null
@@ -1,36 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="database migrations tool, written by the author of SQLAlchemy"
-HOMEPAGE="https://github.com/sqlalchemy/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.8.1.ebuild b/dev-python/alembic/alembic-1.8.1.ebuild
deleted file mode 100644
index be24ef80d028..000000000000
--- a/dev-python/alembic/alembic-1.8.1.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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 96a8efe53f09..000000000000
--- a/dev-python/allpairspy/allpairspy-2.5.0-r1.ebuild
+++ /dev/null
@@ -1,21 +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_{8..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.0.ebuild b/dev-python/allpairspy/allpairspy-2.5.0.ebuild
deleted file mode 100644
index ec2a06f185e8..000000000000
--- a/dev-python/allpairspy/allpairspy-2.5.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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/ament_package/Manifest b/dev-python/ament_package/Manifest
deleted file mode 100644
index 566470b36111..000000000000
--- a/dev-python/ament_package/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ament_package-0.14.0.tar.gz 20636 BLAKE2B 5bd83bfacdb2a1ea8ed9649471ca4145a251035ba9a6420ce5474401de83766c8add17be741ea784eb33924b6f186f463361908588451f01b165f23c47ef4a09 SHA512 b3b451e30e22327495cb3e8b022a4f307af154f8943adf38f28e439c0b3df47e8dfc0f1cee89009147ae52d31a47f238a2850380fa2e0b17e41e276c194d6bfd
diff --git a/dev-python/ament_package/ament_package-0.14.0-r1.ebuild b/dev-python/ament_package/ament_package-0.14.0-r1.ebuild
deleted file mode 100644
index ba2a9aff6953..000000000000
--- a/dev-python/ament_package/ament_package-0.14.0-r1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Parser for the manifest files in the ament buildsystem"
-HOMEPAGE="https://github.com/ament/ament_package"
-SRC_URI="https://github.com/ament/ament_package/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="test? ( dev-python/flake8[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
diff --git a/dev-python/ament_package/ament_package-0.14.0.ebuild b/dev-python/ament_package/ament_package-0.14.0.ebuild
deleted file mode 100644
index 72e132cc0818..000000000000
--- a/dev-python/ament_package/ament_package-0.14.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Parser for the manifest files in the ament buildsystem"
-HOMEPAGE="https://github.com/ament/ament_package"
-SRC_URI="https://github.com/ament/ament_package/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="test? ( dev-python/flake8[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
diff --git a/dev-python/ament_package/metadata.xml b/dev-python/ament_package/metadata.xml
deleted file mode 100644
index 47ec79c51ce2..000000000000
--- a/dev-python/ament_package/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>ros@gentoo.org</email>
- <name>Gentoo ROS Project</name>
- </maintainer>
- <upstream>
- <remote-id type="github">ament/ament_package</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/amodem/Manifest b/dev-python/amodem/Manifest
index 7d8633d17572..5347db28cc92 100644
--- a/dev-python/amodem/Manifest
+++ b/dev-python/amodem/Manifest
@@ -1 +1 @@
-DIST amodem-1.15.3.tar.gz 30297 BLAKE2B 7ab9bce50eee0fbd788fc42ca668a187ac14e5c8e9c6d2a8c4fcddf24ec77a5e40c37edf21222d49f984d343adf46ad710973dc689e18e9065b470b4d1e3a5b6 SHA512 72e574bc4ddfbe949763427587ed2afe8baf153188cb2c6abda1c9f0e9e8f483bdda1edff9278519130b1b5d5487527d83cc9307e6f47a7a86404757199e0712
+DIST amodem-1.15.4.tar.gz 30661 BLAKE2B eea709db3be5a04c569de85457500d390432d78d6cdfab44780a7be9c885538715157cf5cd94c27a5d4e706d6f23f41dc6f863a72ccf8366de08956c2e50cbff SHA512 19eb8ed24ee93652b911a3a8b10fc89b7d567d8302328d93255d65d82c29c50d06855ba6e4228b2f12d50e7dcaadd4539305a34321a7e96ba87b2da9e25a3391
diff --git a/dev-python/amodem/amodem-1.15.3-r1.ebuild b/dev-python/amodem/amodem-1.15.3-r1.ebuild
deleted file mode 100644
index ab43784b0f65..000000000000
--- a/dev-python/amodem/amodem-1.15.3-r1.ebuild
+++ /dev/null
@@ -1,28 +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_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="Transmit data between two computers using audio"
-HOMEPAGE="https://github.com/romanz/amodem"
-SRC_URI="https://github.com/romanz/amodem/archive/v${PV}.tar.gz -> ${P}.tar.gz
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/amodem/amodem-1.15.3.ebuild b/dev-python/amodem/amodem-1.15.3.ebuild
deleted file mode 100644
index f69e8b501e11..000000000000
--- a/dev-python/amodem/amodem-1.15.3.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Transmit data between two computers using audio"
-HOMEPAGE="https://github.com/romanz/amodem"
-SRC_URI="https://github.com/romanz/amodem/archive/v${PV}.tar.gz -> ${P}.tar.gz
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/amodem/amodem-1.15.4.ebuild b/dev-python/amodem/amodem-1.15.4.ebuild
new file mode 100644
index 000000000000..88e638efa378
--- /dev/null
+++ b/dev-python/amodem/amodem-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
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Transmit data between two computers using audio"
+HOMEPAGE="
+ https://github.com/romanz/amodem/
+ https://pypi.org/project/amodem/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
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 722562bcdce1..09ebcff4138d 100644
--- a/dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild
+++ b/dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild
@@ -1,16 +1,18 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..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 0c20a07e3ff5..000000000000
--- a/dev-python/ansi/ansi-0.3.6.ebuild
+++ /dev/null
@@ -1,20 +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_{8..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 005196d5adea..851f59158144 100644
--- a/dev-python/ansi2html/Manifest
+++ b/dev-python/ansi2html/Manifest
@@ -1,2 +1 @@
-DIST ansi2html-1.7.0.tar.gz 42189 BLAKE2B 91c7409b4f8b7503e719489b18e9d7267d80c5259b7481f127cb8d1e6429649249b0832746285efc3e8a4f90ca8f21b872b002634d47a4a54ddfdcc74df0f576 SHA512 bcae0de9874899bd8440853b8279f3b2c4ed46e24bf807221ddc9d1bfa39647e2efd178aefc2fd39bad27b53890270b6ff7c150a0b8e74581b8323ef7a16c977
-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.7.0.ebuild b/dev-python/ansi2html/ansi2html-1.7.0.ebuild
deleted file mode 100644
index a9e347c708c9..000000000000
--- a/dev-python/ansi2html/ansi2html-1.7.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_SETUPTOOLS=pyproject.toml
-
-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="doc"
-
-RDEPEND=">=dev-python/six-1.7.3[${PYTHON_USEDEP}]"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
- doc? (
- app-text/asciidoc
- )
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests --install pytest
-
-src_prepare() {
- # Workaround man page compilation issue with removed setup.py file
- # https://bugs.gentoo.org/841134
- echo '.PHONY: setup.py' >> Makefile
- eapply_user
-}
-
-python_install_all() {
- use doc && doman man/${PN}.1
- distutils-r1_python_install_all
-}
-
-src_compile() {
- # Upstream https://github.com/pycontribs/ansi2html/issues/124
- use doc && emake _MANUAL_VERSION="${PV}" man/ansi2html.1
- distutils-r1_src_compile
-}
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 2d740d2b891d..000000000000
--- a/dev-python/ansi2html/ansi2html-1.8.0-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_{8..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.8.0.ebuild b/dev-python/ansi2html/ansi2html-1.8.0.ebuild
deleted file mode 100644
index 5ec4a4804d68..000000000000
--- a/dev-python/ansi2html/ansi2html-1.8.0.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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="doc"
-
-RDEPEND=">=dev-python/six-1.7.3[${PYTHON_USEDEP}]"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
- doc? (
- app-text/asciidoc
- )
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- use doc && doman man/${PN}.1
- distutils-r1_python_install_all
-}
-
-src_compile() {
- # Upstream https://github.com/pycontribs/ansi2html/issues/124
- use doc && emake _MANUAL_VERSION="${PV}" man/ansi2html.1
- distutils-r1_src_compile
-}
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 b17ac388a8c1..f9da22d4cff0 100644
--- a/dev-python/ansible-compat/Manifest
+++ b/dev-python/ansible-compat/Manifest
@@ -1,2 +1 @@
-DIST ansible-compat-2.1.0.tar.gz 37840 BLAKE2B 5ac74cdaef1c932094996f331ed94418836b3351cbd376ae35ef22046b68dad0a8ab68fd293015db9954e0a5e1df4b5c529b3845cee5778daed2bb207733ca4f SHA512 a85681aff3d34ef4a4cdad8f419017a174bf315034495bc032a7e33d586cbcf72de74d163b6faf3cd21988704e5dbb922872b83a23981891311dbb18e53797a3
-DIST ansible-compat-2.2.0.tar.gz 38772 BLAKE2B dbe74d23d2f2e4275bd9df2303417ea83517e780e65c6a34bd6ae1022be265ac816b50b309fc45f88e0c7fac7d7a22c83a826cc15be050698a6f35b267a36ac3 SHA512 3bd199431659ecba52743c6c985d2cdc6ee55396444241ba2456bc5430bbc87e26087dffbfff62ac341fa854e19baa0d7052cf79f20511222fd9e001dd020136
+DIST ansible-compat-4.1.12.gh.tar.gz 67966 BLAKE2B 3c665eb2cb87e184042da78ed1c41e7ca2b437c5151ba21bdd609104b44fa28c5f03247d275c58cfdf04a8e9ed328947cb0c2670603218798e3a484861274af2 SHA512 c9b2c340dc2b1ffb6f6db76017f7537e20307a7519a4df2dfb31811180cd647e39812bc433db51bd94d42f4c52a6c2f729d81edadcd615a5e0d23566969d8911
diff --git a/dev-python/ansible-compat/ansible-compat-2.1.0.ebuild b/dev-python/ansible-compat/ansible-compat-2.1.0.ebuild
deleted file mode 100644
index 7f566730059f..000000000000
--- a/dev-python/ansible-compat/ansible-compat-2.1.0.ebuild
+++ /dev/null
@@ -1,62 +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_{8..10} )
-
-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-base-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4.5.1[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/subprocess-tee-0.3.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools_scm-6.3.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools_scm_git_archive-1.0[${PYTHON_USEDEP}]
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pytest-markdown[${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
-
-python_test() {
- epytest -p pytest_markdown.plugin
-}
diff --git a/dev-python/ansible-compat/ansible-compat-2.2.0.ebuild b/dev-python/ansible-compat/ansible-compat-2.2.0.ebuild
deleted file mode 100644
index 36ec1e075135..000000000000
--- a/dev-python/ansible-compat/ansible-compat-2.2.0.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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-base-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-6.3.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools_scm_git_archive-1.0[${PYTHON_USEDEP}]
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pytest-markdown[${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
-
-python_test() {
- epytest -p pytest_markdown.plugin
-}
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..6c992bf59229
--- /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 5883dcff29a8..000000000000
--- a/dev-python/ansible-pygments/ansible-pygments-0.1.1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 1db19f3ab0e0..000000000000
--- a/dev-python/ansible-runner/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ansible-runner-1.4.9.tar.gz 48022 BLAKE2B 9d413a3502450ad964301fb22c280e6474794604a4d8a2d3bbbc92a1d2e7568351feabce3e9e6790916032ffb72881812c0ef9456a589e7af7cab1dea3d3182c SHA512 198091472c74ab2641dd3a72afa90fcdb4b120c0a10518b55055933f3ae9934bfe229a6a006e84646ce491ce3eec828f9ffa692e6b215398e64aa55afbcb3bae
diff --git a/dev-python/ansible-runner/ansible-runner-1.4.9.ebuild b/dev-python/ansible-runner/ansible-runner-1.4.9.ebuild
deleted file mode 100644
index 9822d37cf9c5..000000000000
--- a/dev-python/ansible-runner/ansible-runner-1.4.9.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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"
-
-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 's|find_packages()|find_packages(exclude=["test", "test.*"])|' -i setup.py || 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 efd13944e8ac..5dd87fb09a73 100644
--- a/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild
+++ b/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..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 ceb39bf7b7df..4d55e8a5e08c 100644
--- a/dev-python/ansicolor/ansicolor-9999.ebuild
+++ b/dev-python/ansicolor/ansicolor-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..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 aa437ca8d82e..74e6a52641c1 100644
--- a/dev-python/antlr4-python3-runtime/Manifest
+++ b/dev-python/antlr4-python3-runtime/Manifest
@@ -1 +1 @@
-DIST antlr-4.10.1.tar.gz 4599964 BLAKE2B 72688b3835350da11c015558a2840428fe69332a7b48992e118cb410005efce6ca5e02e8e5b1cf5edbf2cea506ec30fe516cce5061c52febbdb71f735c1c2cd1 SHA512 d950171d279b57b0fa977c77dd33e56848ca0aaf7f6ba40e5d49d69d5963e4c2e36fde5ee89e98c594064a909396d6fed9cc20129c3a1895d864eb889581e982
+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.10.1.ebuild b/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.10.1.ebuild
deleted file mode 100644
index 9240a6802564..000000000000
--- a/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.10.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_{8..10} )
-
-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}.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 1b5b39a19de0..000000000000
--- a/dev-python/anyio/anyio-3.6.1.ebuild
+++ /dev/null
@@ -1,50 +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_{8..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-r1.ebuild b/dev-python/anyio/anyio-4.3.0-r1.ebuild
new file mode 100644
index 000000000000..5636aa635281
--- /dev/null
+++ b/dev-python/anyio/anyio-4.3.0-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_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/idna-2.8[${PYTHON_USEDEP}]
+ >=dev-python/sniffio-1.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# On amd64, let's get more test coverage by dragging in uvloop, but let's
+# not bother on other arches where uvloop may not be supported.
+BDEPEND="
+ >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/exceptiongroup-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-4.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.23[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ amd64? (
+ $(python_gen_cond_dep '
+ >=dev-python/uvloop-0.17[${PYTHON_USEDEP}]
+ ' python3_{10..12})
+ )
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ '>=dev-python/sphinx-rtd-theme-1.2.2' \
+ dev-python/sphinxcontrib-jquery \
+ dev-python/sphinx-autodoc-typehints
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires link-local IPv6 interface
+ tests/test_sockets.py::TestTCPListener::test_bind_link_local
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m 'not network'
+}
diff --git a/dev-python/anyio/anyio-4.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 4268b4163880..000000000000
--- a/dev-python/anyqt/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST anyqt-0.1.1.gh.tar.gz 54461 BLAKE2B ec78ecf5d326412b953f95379203bc81c92f13ad7b11e44630cf43062a08b9cfa8436b7c18ef6762d43968c87cebc0eadb33b1cecd159c3278e65538cfb80967 SHA512 5e3f6784fe3826b3017365945bc7053a58c4d7db5745c664fa845780212bf89db2b136459afe90df00d63d1507b56fa5b4a579526d9a9f4169943e5d52e230c4
-DIST anyqt-0.2.0.gh.tar.gz 57920 BLAKE2B b8fcf98706a2f1e8a0553044223fb5b46f471ca4a91436e828507d031c39d20cb4f3f9d556785d0614cc43b02b3134990606f51e002e238674144d9b94ca8528 SHA512 78162ca2758c1fee83b357c1dfe316499e74f9aa918f0bde40b94eb33f9f2b113b38c2883a21612a5455949fe9bb79f2f6c5a70fd4a0b64147eb4a88a94d9d1c
diff --git a/dev-python/anyqt/anyqt-0.1.1.ebuild b/dev-python/anyqt/anyqt-0.1.1.ebuild
deleted file mode 100644
index 66988862ec73..000000000000
--- a/dev-python/anyqt/anyqt-0.1.1.ebuild
+++ /dev/null
@@ -1,58 +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_{8..10} )
-
-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[${PYTHON_USEDEP}]
- dev-python/PyQt5[${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/anyqt-0.2.0.ebuild b/dev-python/anyqt/anyqt-0.2.0.ebuild
deleted file mode 100644
index 12bf925bf559..000000000000
--- a/dev-python/anyqt/anyqt-0.2.0.ebuild
+++ /dev/null
@@ -1,58 +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_{8..10} )
-
-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 4925035ab7c6..000000000000
--- a/dev-python/apipkg/apipkg-3.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=hatchling
-PYTHON_COMPAT=( python3_{8..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 240313387eaa..6deb9cf8a8ae 100644
--- a/dev-python/apispec/Manifest
+++ b/dev-python/apispec/Manifest
@@ -1 +1,4 @@
-DIST apispec-5.2.2.gh.tar.gz 71563 BLAKE2B 205c796ccee03000626538147d6cb26a72242ba8ffd6df47b6a7bdb82f0e2ee1d5421cb7da045fc177297acb838e7351ae996225a43c3c7a57a0a0d72e098bb1 SHA512 16c6229619853671403e81edaa50ce87c2575cdb6c606502e08c086aa33b25db0cef0cd455c2c74a55138eaf95667f7ffe9ac8045cbeb415df4b623878a8831c
+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
+DIST apispec-6.6.1.tar.gz 76537 BLAKE2B e08f1545441be7f1dd266205a6a7dc1317385961325e47c25fde0aecbd68712410601249bced9b0c3491d3e6f772c94c14f638d77e3dbfac37bba5bb0dd1e284 SHA512 a6820444b017f9551d21cf5ba5a14f8f4eaa6bccd1848c540e41bd37140df06dc897bf5d29bc77a2e55b670d58dc84eeb6588769efb3fe400eba243c0a1b5425
diff --git a/dev-python/apispec/apispec-5.2.2.ebuild b/dev-python/apispec/apispec-5.2.2.ebuild
deleted file mode 100644
index e56c46d972d1..000000000000
--- a/dev-python/apispec/apispec-5.2.2.ebuild
+++ /dev/null
@@ -1,45 +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_{8..10} )
-
-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/pyyaml-3.10[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/bottle[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- >=dev-python/marshmallow-3.13.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx-issues \
- dev-python/sphinx_rtd_theme
-
-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
-)
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/apispec/apispec-6.6.1.ebuild b/dev-python/apispec/apispec-6.6.1.ebuild
new file mode 100644
index 000000000000..7d9e2538b1f3
--- /dev/null
+++ b/dev-python/apispec/apispec-6.6.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..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 94cd682f2d29..000000000000
--- a/dev-python/appdirs/appdirs-1.4.4-r2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 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_{8..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..c526c49b17d7
--- /dev/null
+++ b/dev-python/appdirs/appdirs-1.4.4-r3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+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..a4f7dfc1e0cf
--- /dev/null
+++ b/dev-python/apprise/Manifest
@@ -0,0 +1 @@
+DIST apprise-1.7.6.tar.gz 1656123 BLAKE2B 49720f6ba6522f3496ad5cbf5bf72340c6b21f207d11f3c3fcdd113db2e01730b64209fad1d0c7f1ed357251e567a0fe8c875b2ab8f1befdeeab9af59f5678e3 SHA512 39fdfd129d9e8bc16070a015bc9e2b4f4bf6e61e1b87ee45ec11e99e7e87dcc3896312c7ff71d0dac9532cee36709de40d6397d98b8affda069cb3a436ab8683
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..4f6bb4ff272e
--- /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 bd40c32c6402..6cbc5354ccb5 100644
--- a/dev-python/apsw/Manifest
+++ b/dev-python/apsw/Manifest
@@ -1,2 +1 @@
-DIST apsw-3.38.5-r1.gh.tar.gz 338186 BLAKE2B 145e38d4057be498f85a655ad7a437ec19a895769f58505b4b99093be30e67498faf9572494009db8e20e6700fa5e514605af131d045a4e8bb41587b828f5a88 SHA512 58331ca2db993f87316a55075ee9c440d4bd6e985e8ca11079391bd9cc2a907271ffe5c21d66840e336cd9e6568f6134c8b8fa5d28bbc7c77a1dddd48e8b99b7
-DIST apsw-3.39.2.0.gh.tar.gz 345634 BLAKE2B 433455fdb0dbc6192bbb3ef47cc1d54faa310715b81312b999a84f90de61e5362e4af8d3a705816100381ae920283d84a50fb2e51308227eecf9de5b7166c4ac SHA512 4d3eb68d47cf8114e7823969277d0f42c4091632d4aeab61f66e91e99601b6a5286875515e860e27a2f736c943dad1657f5c47cbdd23a3d1479d3019bfd1c05b
+DIST apsw-3.45.3.0.gh.tar.gz 904570 BLAKE2B 644c884b6f5624c2d8b48f204a43bbb6dd8761979099e1ebad96a30acc7d79f80549e50300279b8d1061f86f8852735fa92c99df4a6c81a364391a3635464ff1 SHA512 73c09aba4ff211e98dfb3365e5f0202f85fa0a05e78f6a35fe08515e84b74ed1576e7bb5c46c77c309ba3e6acacc5681d31e5a4d3d66835d347d82af8feced74
diff --git a/dev-python/apsw/apsw-3.38.5_p1-r1.ebuild b/dev-python/apsw/apsw-3.38.5_p1-r1.ebuild
deleted file mode 100644
index 6534ee96cbd7..000000000000
--- a/dev-python/apsw/apsw-3.38.5_p1-r1.ebuild
+++ /dev/null
@@ -1,54 +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_{8..11} )
-
-inherit distutils-r1
-
-MY_PV=${PV/_p/-r}
-MY_P=${PN}-${MY_PV}
-
-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/${MY_PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~ppc64 x86"
-IUSE="doc"
-
-DEPEND="
- >=dev-db/sqlite-${PV%_p*}:3
-"
-RDEPEND="
- ${DEPEND}
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.6.20.1-fix_tests.patch"
-)
-
-python_compile() {
- # Needed for e.g. bug #851741
- distutils-r1_python_compile --enable=load_extension
-}
-
-python_test() {
- esetup.py build_test_extension
- "${EPYTHON}" tests.py -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.39.2.0.ebuild b/dev-python/apsw/apsw-3.39.2.0.ebuild
deleted file mode 100644
index 68db175bfcfb..000000000000
--- a/dev-python/apsw/apsw-3.39.2.0.ebuild
+++ /dev/null
@@ -1,50 +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_{8..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}
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.6.20.1-fix_tests.patch"
-)
-
-python_compile() {
- # Needed for e.g. bug #851741
- distutils-r1_python_compile --enable=load_extension
-}
-
-python_test() {
- esetup.py build_test_extension
- "${EPYTHON}" tests.py -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..617cadf72867
--- /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/apsw/files/apsw-3.6.20.1-fix_tests.patch b/dev-python/apsw/files/apsw-3.6.20.1-fix_tests.patch
deleted file mode 100644
index e252bf3f26a6..000000000000
--- a/dev-python/apsw/files/apsw-3.6.20.1-fix_tests.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/tests.py
-+++ b/tests.py
-@@ -5480,7 +5480,7 @@
- testnasty()
-
- # What happens if db cannot be opened?
-- s.process_args(args=["/"])
-+ s.process_args(args=["src"])
- reset()
- cmd("select * from sqlite_master;\n.bail on\nselect 3;\n")
- self.assertRaises(apsw.CantOpenError, s.cmdloop)
diff --git a/dev-python/argcomplete/Manifest b/dev-python/argcomplete/Manifest
index 2a9e16e75e01..24a4bccc2f52 100644
--- a/dev-python/argcomplete/Manifest
+++ b/dev-python/argcomplete/Manifest
@@ -1 +1 @@
-DIST argcomplete-2.0.0.tar.gz 54164 BLAKE2B 77da149b07d4019f8d6f3dda8fd9bbe9953c25b8461ab0746e1c2eb4d1bb51a9007c1f046ad9dc41dc5f8f248fbdf18ad7d921cf644fbc7580661084fd1427a1 SHA512 ef2a551e1372ecf3739006fe2c020e9f7ec53c5809680dcd3d9d552290565d8d09ba22bcc989f40644120a129b101f8e2e8ed34723e947a7d8d7884e9b502c31
+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 2305dae7cb52..000000000000
--- a/dev-python/argcomplete/argcomplete-2.0.0-r1.ebuild
+++ /dev/null
@@ -1,48 +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_{8..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.3.0.ebuild b/dev-python/argcomplete/argcomplete-3.3.0.ebuild
new file mode 100644
index 000000000000..cdda946da90b
--- /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 c0c23d0c5c7f..000000000000
--- a/dev-python/argh/argh-0.26.2-r3.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 26a326d0d3ba..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
@@ -1,30 +1,31 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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_{8..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"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="cpu_flags_x86_sse2"
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 dfdf08ce4462..000000000000
--- a/dev-python/argon2-cffi/argon2-cffi-21.3.0-r2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..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 ~m68k 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 818ad4b33ecb..218c9ba44374 100644
--- a/dev-python/argparse-manpage/Manifest
+++ b/dev-python/argparse-manpage/Manifest
@@ -1 +1 @@
-DIST argparse-manpage-3.tar.gz 45091 BLAKE2B b2ab9d4863227eacaf566865cd47763b9a52f4fd445ae78cf8212b3762a14c1ceb7f9008d25b8828f5e5da23e120a7be6d48239bb300670e559000de1e75fd68 SHA512 96225cf71dc60c638bd312331622e5b60589d7e6baf59fdfca0d90d24cff2bb232696c754c440c4e239949ea1a6280699c4f0f7816c50ec62bf77474d0c48cf4
+DIST argparse-manpage-4.5.gh.tar.gz 54783 BLAKE2B a348ad06990126965b48c64db209f13c91d68329fba57e4287b1a2ac7c246a25aedc25b70bfc01fd19b72c5700a67193da4ef47106a5b8ea863edf859ea07ecd SHA512 b9b166d2469d0fc6c9f6d1112bef553c1de32d1f558be4ef4f9b739b94d83acba2712eb9d324d9f3437bf421b833336c0eab34061ccd7b3cf810591705078bf2
diff --git a/dev-python/argparse-manpage/argparse-manpage-3.ebuild b/dev-python/argparse-manpage/argparse-manpage-3.ebuild
deleted file mode 100644
index 3ba1a55f79b1..000000000000
--- a/dev-python/argparse-manpage/argparse-manpage-3.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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}.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/argparse-manpage/argparse-manpage-4.5.ebuild b/dev-python/argparse-manpage/argparse-manpage-4.5.ebuild
new file mode 100644
index 000000000000..12fdb4f81be7
--- /dev/null
+++ b/dev-python/argparse-manpage/argparse-manpage-4.5.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} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Automatically build man-pages for your Python project"
+HOMEPAGE="
+ https://github.com/praiskup/argparse-manpage/
+ https://pypi.org/project/argparse-manpage/
+"
+SRC_URI="
+ https://github.com/praiskup/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/pip[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x COLUMNS=80
+ epytest
+}
diff --git a/dev-python/arrow/Manifest b/dev-python/arrow/Manifest
index 00b1f1828774..5c8e2401fd82 100644
--- a/dev-python/arrow/Manifest
+++ b/dev-python/arrow/Manifest
@@ -1 +1 @@
-DIST arrow-1.2.2.tar.gz 123174 BLAKE2B b8b8d83ede0c61840ffcc75272a0275b6120cc142197c5f95f0fdb7d53981879b431f074db9606caa8d9817761cc4847a525bbc6449c05155410808960a1541e SHA512 f88afa9a0bc967e8731a7bf1712ecf3810f12ade9cc53a94a74efd3ece750f37bea7541a054eb9acd12b99b4a6d32687eab4eae20a6f49b2c2d6f1b499221542
+DIST arrow-1.3.0.tar.gz 131960 BLAKE2B 892ed898ea09a00ca100eada18956994d3567836c30feec50e1d2d1bca6a603c3f9254def16cd55b46e68c1530f8bf7c0f55401b458cc5aadf0883ade0899e90 SHA512 f0725e75d1005e0177bb234b3d2523aaf9e882ec08b020f6b3737a3af27af3c8c031aee9dcba0332595845a09a0286d56662b77ddad8a6da928ba37201725239
diff --git a/dev-python/arrow/arrow-1.2.2.ebuild b/dev-python/arrow/arrow-1.2.2.ebuild
deleted file mode 100644
index b71d302be4b1..000000000000
--- a/dev-python/arrow/arrow-1.2.2.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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 5b00352c2573..e1b75b3f0bf8 100644
--- a/dev-python/asgiref/Manifest
+++ b/dev-python/asgiref/Manifest
@@ -1 +1 @@
-DIST asgiref-3.5.2.tar.gz 32352 BLAKE2B 08d148948828cb2bf1f216c827d8fd35f66c88c6eec5ff77af85495fbd40144931d4dc2bf09db32d34be92d8ea9d923c87904d3554422d24f6e23cfcc428bdd8 SHA512 d5ed0275dc748674018b14d58941113c19e1e30c1fed63c40d3069a4a09d81a6cceb186e7a0ef26912a040df082ae71b2ca9198d67f0b786b53d3d4089530fbb
+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 068f138b8ea3..000000000000
--- a/dev-python/asgiref/asgiref-3.5.2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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 c8557a4efc04..000000000000
--- a/dev-python/asn1crypto/asn1crypto-1.5.1.ebuild
+++ /dev/null
@@ -1,26 +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_{8..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 0df41c9175cd..b161e448f2d4 100644
--- a/dev-python/asteval/Manifest
+++ b/dev-python/asteval/Manifest
@@ -1 +1,2 @@
-DIST asteval-0.9.27.tar.gz 41789 BLAKE2B 6db628dfc90479b605370e6cd4c3eb27a6fdabd2422016aab200ddb217fc5459df77ae99397145511600ae4a79e259c9e7c75c3be50bf5201e08915a76ca5571 SHA512 b56fb81f1055ab66868084edb89775ec87f40ee45563531bf4661ee65656e777b388856e691740af60b4a3891e872683768ac590a78fda2fed9173e613aa7263
+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.27.ebuild b/dev-python/asteval/asteval-0.9.27.ebuild
deleted file mode 100644
index d0a6c8b9f423..000000000000
--- a/dev-python/asteval/asteval-0.9.27.ebuild
+++ /dev/null
@@ -1,31 +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_{8..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="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-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 fb4f699a4cdf..c3ee069fdfc4 100644
--- a/dev-python/astor/astor-0.8.1-r1.ebuild
+++ b/dev-python/astor/astor-0.8.1-r1.ebuild
@@ -1,20 +1,26 @@
-# 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=( pypy3 python3_{8..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 6115006b23ce..171555504810 100644
--- a/dev-python/astroid/Manifest
+++ b/dev-python/astroid/Manifest
@@ -1,4 +1,2 @@
-DIST astroid-2.11.6.gh.tar.gz 414842 BLAKE2B 3300037aad912be25d99cc20576f472b907c064c2cb434d9a40a9014df44749760cd8921411f3abdf8e08bd08e612cf6aec13d73ca38ec8ac31cd1ed007282bb SHA512 2276385d74d9bbfd0d99c786d2598105161b2c71c96ca73183b6e2672f8b61c31667c337a1d3967956ef5fdbb54392d604a84da5ac456354d04fb4ad37b11f61
-DIST astroid-2.12.0.gh.tar.gz 429498 BLAKE2B 4daf36a96c1f47446558ef223210becd78db1ee8dc76247f9e8d4c16622f777cd9f5d70ed863de9f893b9427b479057f72f24c4c8c7b1468c566eda85ee829b0 SHA512 3a5a104a98268f61bf852f7565ef7a4f3d6ded4e8cfa0a6d5dea08e045d3fc0067633618311d82fc2f330e56ffd11d02a81c2493222eeffadf2d333b24b5aa58
-DIST astroid-2.12.1.gh.tar.gz 429733 BLAKE2B fe55fb38ed5bdaa70371425f8e7bf11d52d0cbb70cc94d568614f507bf716b66d7c54e98ddca6b2508384234b330ef880c4847826d9e0907bf724e1a06aaeefd SHA512 586c094b577f1d06c5cfe90b54a220ca331657a2c5f9daf3fadc26795a631b8edfdafbd4ac7988aa3fbdc4527ca0ea3392cd38fe15c9444f5471d9bee4bf90d4
-DIST astroid-2.12.2.gh.tar.gz 430857 BLAKE2B 8b34366368718cd4329298bdff3b761cab59b6bf8b856660912ef44bf1766136573145630b5193481454a4bf897ae950c5b6f7bb3611d3d343dc4f3adb2e5906 SHA512 3ba484bbd98b196b4241fb8bb9405b48a1e6aafaf318a67fc9264c8c1679f9d6b6788b8139077b60c751b0a26732b905196b3bb48671da2aa15e1c323bf396d6
+DIST astroid-3.1.0.gh.tar.gz 463675 BLAKE2B 363ca82814c170c89beb39118109e8a8488f5b5a43bb4a0fdb6d88a24842789ebfb3bb9ed6ebd00f1cd90dfc2d1c7d9730c8c2fe17eadb8f52f53add47cd5089 SHA512 7b2cd6270d1a9219d32e69e1a9c9eeffd2c5fcf575bc53df4a8c2d8df97b019e3e4e60768286a757a7390effcb454c7997f1f0f677c2b6370a2c3a9d46519057
+DIST astroid-3.2.0.gh.tar.gz 464812 BLAKE2B b8cb241d4c711ebf7737c6fb83081ea6abc2bcacb4eef6c83450b963ff8fe2fa47da5b615cc0c0749a935f1df15df45086066d6bc5372f118c049ffa18f57f9b SHA512 551ad666ed8ffb22fccf44647eee5193cae17fa69837234b26adb91b85f5781e5cd729c55b351ff814a6c7f3fafc86ebed2ecb0b86b0a619933c77c3750b7e39
diff --git a/dev-python/astroid/astroid-2.11.6.ebuild b/dev-python/astroid/astroid-2.11.6.ebuild
deleted file mode 100644
index 1ce72c9a2fcb..000000000000
--- a/dev-python/astroid/astroid-2.11.6.ebuild
+++ /dev/null
@@ -1,59 +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_{8..10} )
-
-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 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-# Version specified in __pkginfo__.py.
-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/nose[${PYTHON_USEDEP}]
- 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_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.0.ebuild b/dev-python/astroid/astroid-2.12.0.ebuild
deleted file mode 100644
index 632eae5577f4..000000000000
--- a/dev-python/astroid/astroid-2.12.0.ebuild
+++ /dev/null
@@ -1,59 +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_{8..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 ~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.1.ebuild b/dev-python/astroid/astroid-2.12.1.ebuild
deleted file mode 100644
index de2148b20e43..000000000000
--- a/dev-python/astroid/astroid-2.12.1.ebuild
+++ /dev/null
@@ -1,59 +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_{8..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 ~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.2.ebuild b/dev-python/astroid/astroid-2.12.2.ebuild
deleted file mode 100644
index de2148b20e43..000000000000
--- a/dev-python/astroid/astroid-2.12.2.ebuild
+++ /dev/null
@@ -1,59 +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_{8..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 ~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-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/astroid-3.2.0.ebuild b/dev-python/astroid/astroid-3.2.0.ebuild
new file mode 100644
index 000000000000..867c6a6ee54e
--- /dev/null
+++ b/dev-python/astroid/astroid-3.2.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=( 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-2[${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 09dd9550f1c5..006d111b9da9 100644
--- a/dev-python/asttokens/Manifest
+++ b/dev-python/asttokens/Manifest
@@ -1 +1 @@
-DIST asttokens-2.0.5.gh.tar.gz 46876 BLAKE2B 8a8da138888de0a4096b10eccc483c9540710acde0da188ed3fb3845f96b862fe2eec393c69ca62e7b313bfa0e2f0d673d828e9d1ff6dbbf5b641fe8122a548d SHA512 3e710ca9703e67643bb9c0a4db4e5c1656e6d5c904a1262a9ddb962beff06e4e8bd9815bcd2509b48974a97a565d8479a4369583c166a65b6d16c19fd926e93f
+DIST asttokens-2.4.1.gh.tar.gz 57358 BLAKE2B dff2bdbbb62ed0c99f620284e4ad4abe418c315356caee26988ed7722a9aec77be4fe79b877e350cf632e076cd7c421f6ec824e7ffdda1d6684b03fffb15e7b2 SHA512 62263e50e14953e98236cdcbd75121ff5f6a3dc949170412a97f17af9b2572415373971d2286c4821b03249404b5a4c53ef5c7f1ec37aa9e2bf4a743d16de1da
diff --git a/dev-python/asttokens/asttokens-2.0.5.ebuild b/dev-python/asttokens/asttokens-2.0.5.ebuild
deleted file mode 100644
index aa55f7986dd8..000000000000
--- a/dev-python/asttokens/asttokens-2.0.5.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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/v${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 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 62de148afa6a..000000000000
--- a/dev-python/astunparse/astunparse-1.6.3.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 712d7dbfc1a1..000000000000
--- a/dev-python/async-lru/async-lru-1.0.3.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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 6276c3ea3c17..000000000000
--- a/dev-python/async-timeout/async-timeout-4.0.2-r1.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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 ab13ae244470..000000000000
--- a/dev-python/async_generator/async_generator-1.10-r2.ebuild
+++ /dev/null
@@ -1,25 +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_{8..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 c1603924e233..000000000000
--- a/dev-python/asyncstdlib/asyncstdlib-3.10.5.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..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 e8171b1cb486..000000000000
--- a/dev-python/atomicwrites/atomicwrites-1.4.0-r2.ebuild
+++ /dev/null
@@ -1,24 +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_{8..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..f13d8f9b0e0a
--- /dev/null
+++ b/dev-python/atomicwrites/atomicwrites-1.4.1.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=( pypy3 python3_{10..13} )
+
+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 0b40a3da9911..0d74e1c5d070 100644
--- a/dev-python/atpublic/Manifest
+++ b/dev-python/atpublic/Manifest
@@ -1 +1,2 @@
-DIST atpublic-3.0.1.tar.gz 14131 BLAKE2B 3912c23c5ee575d7bdec1b598f1f360c54296211600115a413d97c73751b5301b2f3d22152aa62d4d7ac6da9a6cf4202a2deba1de374407ede4358620ee97391 SHA512 02c4af8aa02040bba2f09b852e17a0a90c0a6dce8fdabc8362a67c2f326b68369bf5f12f91291f9ff3395685530592561b132f09f9869867516592bd092e0e38
+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.0.1.ebuild b/dev-python/atpublic/atpublic-3.0.1.ebuild
deleted file mode 100644
index 3985ada854dc..000000000000
--- a/dev-python/atpublic/atpublic-3.0.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm
-PYTHON_COMPAT=( python3_{8..10} )
-
-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..b7f2b485c337
--- /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="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/sybil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/addopts/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/attrs/Manifest b/dev-python/attrs/Manifest
index c5fe304d927e..70c2501690a0 100644
--- a/dev-python/attrs/Manifest
+++ b/dev-python/attrs/Manifest
@@ -1,2 +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-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 e52886d51ba6..000000000000
--- a/dev-python/attrs/attrs-21.4.0-r1.ebuild
+++ /dev/null
@@ -1,56 +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_{8..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 5b4849b65fb5..000000000000
--- a/dev-python/attrs/attrs-22.1.0.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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..6e858669ffbc
--- /dev/null
+++ b/dev-python/attrs/attrs-23.2.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=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Attributes without boilerplate"
+HOMEPAGE="
+ https://github.com/python-attrs/attrs/
+ https://attrs.readthedocs.io/
+ https://pypi.org/project/attrs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-23.2.0[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ $(python_gen_cond_dep '
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ ' python3_{10..12})
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ ' python3_{10..12} pypy3)
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/python-attrs/attrs/pull/1249
+ "${FILESDIR}/${P}-pytest-8.patch"
+ # https://github.com/python-attrs/attrs/pull/1255
+ "${FILESDIR}/${P}-py313.patch"
+)
diff --git a/dev-python/attrs/files/attrs-23.2.0-py313.patch b/dev-python/attrs/files/attrs-23.2.0-py313.patch
new file mode 100644
index 000000000000..f7ea8f5e659f
--- /dev/null
+++ b/dev-python/attrs/files/attrs-23.2.0-py313.patch
@@ -0,0 +1,93 @@
+From f9ff9135b472c78a7333d6272c62b92217897464 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Lum=C3=ADr=20=27Frenzy=27=20Balhar?=
+ <frenzy.madness@gmail.com>
+Date: Thu, 7 Mar 2024 10:23:46 +0100
+Subject: [PATCH] Fix test_ne in test_cmp.py for Python 3.13 (#1255)
+
+* Fix test_ne in test_cmp.py for Python 3.13
+
+Compiler in Python 3.13+ strips indents from docstrings
+so they need to be compared without it for new Pythons.
+
+Fixes: https://github.com/python-attrs/attrs/issues/1228
+
+* [pre-commit.ci] auto fixes from pre-commit.com hooks
+
+for more information, see https://pre-commit.ci
+
+---------
+
+Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
+---
+ src/attr/_compat.py | 1 +
+ tests/test_cmp.py | 11 +++++++----
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/src/attr/_compat.py b/src/attr/_compat.py
+index 46b05ca..9010047 100644
+--- a/src/attr/_compat.py
++++ b/src/attr/_compat.py
+@@ -14,6 +14,7 @@ PY_3_8_PLUS = sys.version_info[:2] >= (3, 8)
+ PY_3_9_PLUS = sys.version_info[:2] >= (3, 9)
+ PY310 = sys.version_info[:2] >= (3, 10)
+ PY_3_12_PLUS = sys.version_info[:2] >= (3, 12)
++PY_3_13_PLUS = sys.version_info[:2] >= (3, 13)
+
+
+ if sys.version_info < (3, 8):
+diff --git a/tests/test_cmp.py b/tests/test_cmp.py
+index 07bfc52..b84b66f 100644
+--- a/tests/test_cmp.py
++++ b/tests/test_cmp.py
+@@ -4,10 +4,10 @@
+ Tests for methods from `attrib._cmp`.
+ """
+
+-
+ import pytest
+
+ from attr._cmp import cmp_using
++from attr._compat import PY_3_13_PLUS
+
+
+ # Test parameters.
+@@ -54,6 +54,9 @@ order_ids = [c[0].__name__ for c in order_data]
+ cmp_data = eq_data + order_data
+ cmp_ids = eq_ids + order_ids
+
++# Compiler strips indents from docstrings in Python 3.13+
++indent = "" if PY_3_13_PLUS else " " * 8
++
+
+ class TestEqOrder:
+ """
+@@ -325,7 +328,7 @@ class TestDundersUnnamedClass:
+ method = self.cls.__ne__
+ assert method.__doc__.strip() == (
+ "Check equality and either forward a NotImplemented or\n"
+- " return the result negated."
++ f"{indent}return the result negated."
+ )
+ assert method.__name__ == "__ne__"
+
+@@ -393,7 +396,7 @@ class TestDundersPartialOrdering:
+ method = self.cls.__ne__
+ assert method.__doc__.strip() == (
+ "Check equality and either forward a NotImplemented or\n"
+- " return the result negated."
++ f"{indent}return the result negated."
+ )
+ assert method.__name__ == "__ne__"
+
+@@ -465,7 +468,7 @@ class TestDundersFullOrdering:
+ method = self.cls.__ne__
+ assert method.__doc__.strip() == (
+ "Check equality and either forward a NotImplemented or\n"
+- " return the result negated."
++ f"{indent}return the result negated."
+ )
+ assert method.__name__ == "__ne__"
+
+--
+2.45.0
+
diff --git a/dev-python/attrs/files/attrs-23.2.0-pytest-8.patch b/dev-python/attrs/files/attrs-23.2.0-pytest-8.patch
new file mode 100644
index 000000000000..68e4c86c1315
--- /dev/null
+++ b/dev-python/attrs/files/attrs-23.2.0-pytest-8.patch
@@ -0,0 +1,44 @@
+From b9084fab02c009a593b604562a69f36a5915c8e5 Mon Sep 17 00:00:00 2001
+From: Denis Laxalde <denis@laxalde.org>
+Date: Sat, 2 Mar 2024 07:40:36 +0100
+Subject: [PATCH] Remove pytest.deprecated_call() in TestAssoc::test_unknown
+ (#1249)
+
+assoc() no longer raises a deprecation warning since commit
+22ae8473fb88d6e585b05c709e81e1a46398a649 but the 'with
+pytest.deprecated_call():' in that test was not removed then (in
+contrast with other test cases).
+
+Maybe this got unnoticed due to a pytest bug?
+In any case, using pytest 8+ (and keeping deprecated_call()) shows that
+no warning is raised and the test fails.
+
+Removing the upper bound on pytest in dev dependencies as tests now
+pass with pytest 8.0.
+
+Fix #1233.
+
+Co-authored-by: Hynek Schlawack <hs@ox.cx>
+---
+ pyproject.toml | 3 +--
+ tests/test_funcs.py | 4 +---
+ 2 files changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/tests/test_funcs.py b/tests/test_funcs.py
+index 044aaab..398ba35 100644
+--- a/tests/test_funcs.py
++++ b/tests/test_funcs.py
+@@ -600,9 +600,7 @@ class TestAssoc:
+ AttrsAttributeNotFoundError.
+ """
+ # No generated class will have a four letter attribute.
+- with pytest.raises(
+- AttrsAttributeNotFoundError
+- ) as e, pytest.deprecated_call():
++ with pytest.raises(AttrsAttributeNotFoundError) as e:
+ assoc(C(), aaaa=2)
+
+ assert (f"aaaa is not an attrs attribute on {C!r}.",) == e.value.args
+--
+2.44.0
+
diff --git a/dev-python/attrs/metadata.xml b/dev-python/attrs/metadata.xml
index 69235fceeae0..0c65494d24bd 100644
--- a/dev-python/attrs/metadata.xml
+++ b/dev-python/attrs/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="cpe">cpe:/a:attrs_project:attrs</remote-id>
<remote-id type="pypi">attrs</remote-id>
<maintainer status="unknown">
<email>hs@ox.cx</email>
diff --git a/dev-python/audioread/Manifest b/dev-python/audioread/Manifest
index 23cbe4994c59..85eb92f4144e 100644
--- a/dev-python/audioread/Manifest
+++ b/dev-python/audioread/Manifest
@@ -1 +1 @@
-DIST audioread-2.1.9.tar.gz 377500 BLAKE2B a90d1d7531c265a8c2b7933ac0bfc00fbdf298546620fef3ccae0204fc1eedcc584bf2fdb79b1bbda81b29d03346abc236cd0234684ba3cc70642f837033ab99 SHA512 ad2260b6931cfeebb815d48221366a2a5d8095965ff18e94c5eb0809d9a1b02e650a62ad5e895b7f1e003771fa3babf56f59ce4538aca78b678566fd28327290
+DIST audioread-3.0.1.tar.gz 116513 BLAKE2B a16fad6d56fe5b48b635ae3a20bf74f20848d0489b2b3ea0b6e99c7f2b4bf61adc14509ec1c9d153819265fb057ad3676cb178cfe26622fa0f6fec782e1bc1cf SHA512 b362bf85372fa64a3ed54258e344787db4f15d19a9d959522339fc441eb7ae0d1394707e8c3aa6bc77a42cc790650670d84800f1f3885efe932f718ed0a35bc1
diff --git a/dev-python/audioread/audioread-2.1.9-r1.ebuild b/dev-python/audioread/audioread-2.1.9-r1.ebuild
deleted file mode 100644
index dc3fcdfea8ba..000000000000
--- a/dev-python/audioread/audioread-2.1.9-r1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Wrapper for audio file decoding using FFmpeg or GStreamer"
-HOMEPAGE="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"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-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
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- sed -e "/'pytest-runner'/d" -i setup.py || die
-}
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/audioread/metadata.xml b/dev-python/audioread/metadata.xml
index f3656deb86fe..24815496d8ca 100644
--- a/dev-python/audioread/metadata.xml
+++ b/dev-python/audioread/metadata.xml
@@ -11,7 +11,7 @@
* The standard library wave and aifc modules (for WAV and AIFF files).
</longdescription>
<upstream>
- <remote-id type="github">sampsyo/audioread</remote-id>
+ <remote-id type="github">beetbox/audioread</remote-id>
<remote-id type="pypi">audioread</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/authres/authres-1.2.0-r1.ebuild b/dev-python/authres/authres-1.2.0-r1.ebuild
index c9278ab80d4c..bdc0dc54432a 100644
--- a/dev-python/authres/authres-1.2.0-r1.ebuild
+++ b/dev-python/authres/authres-1.2.0-r1.ebuild
@@ -1,19 +1,18 @@
-# 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_{8..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 7ae103ebedae..825092d6e43e 100644
--- a/dev-python/autobahn/Manifest
+++ b/dev-python/autobahn/Manifest
@@ -1,3 +1 @@
-DIST autobahn-22.5.1.tar.gz 435571 BLAKE2B 5e596102b639228d95cea027a0e7187adc4f0910afbd3c5753c0408e070a37b911362eba64c79ce6201000e59381de0941619bef152ca2d784a2c19f1a67a36f SHA512 c27c0f1a782c53df7c152c8043a8e5502f19944e9d5a6ab4a95d02016dfbba70a770f1f4969b75995beed852191bde288d80d1336d56fba1eea190d6590ca642
-DIST autobahn-22.6.1.tar.gz 467355 BLAKE2B 54015ee50fa45f23fa589927da232b3ea523efae291b56b44704b66d171075d9459f1c3cf6b96b34fec119deddd2731ebd0695d49345a724bc84b57d7494f332 SHA512 b99f9e4508650fe9484e680b0cd9a0023935445b26ea42fce7565152a5692fc0d1c80f9854b4b3b3004ea17f60d13663477a8710e977211509a14dfad973c635
-DIST autobahn-22.7.1.tar.gz 476789 BLAKE2B 4860a6ec1a2631986dd5d8e94069134e75650eedb67dce18dd4c1e8ad45bd76ca183b4dcbca6ef4474c25f6feb4a1407c9fed4c74f0751e9c0c7fbca2b013406 SHA512 ea2c4d61d3f0f8ef35a31b599bc432781536dccaa316cda474a61003b10df0ef6346615d16228848cc5acb24a4e5f4c50be1fe759daf35b629f636da55688137
+DIST autobahn-23.6.2.tar.gz 480814 BLAKE2B fb4a2e8510a51e2e70289d98eb54b3b06aba6e011eb8ad4ac2fb6e706d7be313f60a785a8366ff47500a6ad58f5645eedbeb4c831087ab531d8650129ec08c45 SHA512 5935203277d17aab3f80e6edf700ff173fe7e23622b9d2617f91e080f56b078f947f907289f008b5eb21b1346142274616baad4a36629f49dafe409d6fdb931a
diff --git a/dev-python/autobahn/autobahn-22.5.1-r1.ebuild b/dev-python/autobahn/autobahn-22.5.1-r1.ebuild
deleted file mode 100644
index 80a959033ccd..000000000000
--- a/dev-python/autobahn/autobahn-22.5.1-r1.ebuild
+++ /dev/null
@@ -1,117 +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_{8..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? (
- >=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-22.6.1.ebuild b/dev-python/autobahn/autobahn-22.6.1.ebuild
deleted file mode 100644
index 71e1aa99c055..000000000000
--- a/dev-python/autobahn/autobahn-22.6.1.ebuild
+++ /dev/null
@@ -1,117 +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_{8..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? (
- >=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-22.7.1.ebuild b/dev-python/autobahn/autobahn-22.7.1.ebuild
deleted file mode 100644
index 0746e269c44b..000000000000
--- a/dev-python/autobahn/autobahn-22.7.1.ebuild
+++ /dev/null
@@ -1,117 +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_{8..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.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/Manifest b/dev-python/autocommand/Manifest
index 40298bf7338c..df6173d5be67 100644
--- a/dev-python/autocommand/Manifest
+++ b/dev-python/autocommand/Manifest
@@ -1 +1 @@
-DIST autocommand-2.2.1_p20211118.gh.tar.gz 22093 BLAKE2B 186062c0234fc0cc553c5d2a474a5fef46e0de25de8220228715265630fc95ed5f9b64321131322af71fadcc70ef79690652cd555a908b4e8628603a8ee494b2 SHA512 488228c7536f00ff9fbed99677440bfd7228aa64189bbcfb6aad7a92dc698d8283dfbd619ffeaeef883b0e600a90e2a0f56fa79958f144ce673dff53f8d59f89
+DIST autocommand-2.2.2.gh.tar.gz 22188 BLAKE2B 757fd96d0505466e7d3e371e13e931d0dd20d9b02da3e88c2bf85b1b946ef6c67fb14366856fe66c23adab5d635c4bd08d51acc7e55830636cce5aa0a0c265bc SHA512 5ed109db16a0e309ed5107b26db0b70ed8669d73817e82eb5a219650d29f53785aa1f9471b2ac71d21dbffc9f0a13ea0fdf69e63ab534fd84407a1d6741cf5b5
diff --git a/dev-python/autocommand/autocommand-2.2.1_p20211118.ebuild b/dev-python/autocommand/autocommand-2.2.1_p20211118.ebuild
deleted file mode 100644
index f13639375617..000000000000
--- a/dev-python/autocommand/autocommand-2.2.1_p20211118.ebuild
+++ /dev/null
@@ -1,26 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-COMMIT="031c9750c74e3313b954b09e3027aaa6595649bb"
-
-DESCRIPTION="Library to create a command-line program from a function"
-HOMEPAGE="https://pypi.org/project/autocommand/
- https://github.com/Lucretiel/autocommand"
-SRC_URI="
- https://github.com/Lucretiel/autocommand/archive/${COMMIT}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${PN}-${COMMIT}"
-
-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/autocommand/autocommand-2.2.2.ebuild b/dev-python/autocommand/autocommand-2.2.2.ebuild
new file mode 100644
index 000000000000..5c2c6ee2ac68
--- /dev/null
+++ b/dev-python/autocommand/autocommand-2.2.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Library to create a command-line program from a function"
+HOMEPAGE="
+ https://github.com/Lucretiel/autocommand/
+ https://pypi.org/project/autocommand/
+"
+SRC_URI="
+ https://github.com/Lucretiel/autocommand/archive/${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 ~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 ea4495e7655a..a4cba4eb2f17 100644
--- a/dev-python/automat/Manifest
+++ b/dev-python/automat/Manifest
@@ -1 +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 b80987fef5ec..000000000000
--- a/dev-python/automat/automat-20.2.0-r1.ebuild
+++ /dev/null
@@ -1,61 +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_{8..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
new file mode 100644
index 000000000000..418e3705ed2a
--- /dev/null
+++ b/dev-python/automat/automat-22.10.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
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Self-service finite-state machines for the programmer on the go"
+HOMEPAGE="
+ https://github.com/glyph/automat/
+ https://pypi.org/project/Automat/
+"
+
+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="examples"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ benchmark
+)
+
+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/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 586d120bf11c..000000000000
--- a/dev-python/autopage/autopage-0.5.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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 effc4d3fa392..7fe7d3ab4421 100644
--- a/dev-python/autopep8/Manifest
+++ b/dev-python/autopep8/Manifest
@@ -1 +1 @@
-DIST autopep8-1.6.0.tar.gz 122165 BLAKE2B 606ccf7ab51b52db95287384f9b19fd0f72da9e8fb4537bf395651622a95f88d782679550e61816d60dd3faa2fa096c979575d60cbd95476fa1cd7cf2c4f4180 SHA512 f4ffd564ceb48ff1f37d0a051aa8fefc60595a68709045c13561d8ab73de48dce99cc12acf40559e587ba4f6fddd4727dd2b40691ce43c991d60dda2c8b0d617
+DIST autopep8-2.1.0.tar.gz 88891 BLAKE2B 60bd5e9a177d8bdb741b37884bb3ef170fb59664b740beb1b1f38df021dfb7916f2cecdb2e20b6363c2abcc110f9f36902dbccd7f06ddf56f090ccb36149fb19 SHA512 f694a506646b4bc4932fb07cf1c989897e7db3fc9b65dc90886fa657b163dfcbad4c16bb911a2e399a4623b167b313d32213762d3e21e20bff27b6fe2a5abc59
diff --git a/dev-python/autopep8/autopep8-1.6.0.ebuild b/dev-python/autopep8/autopep8-1.6.0.ebuild
deleted file mode 100644
index 2c892ed26d7e..000000000000
--- a/dev-python/autopep8/autopep8-1.6.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} 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.8.0[${PYTHON_USEDEP}]
- dev-python/toml[${PYTHON_USEDEP}]"
-
-distutils_enable_tests unittest
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 91c5dbfceeba..1d564bd34c07 100644
--- a/dev-python/autopep8/autopep8-9999.ebuild
+++ b/dev-python/autopep8/autopep8-9999.ebuild
@@ -1,29 +1,35 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1
DESCRIPTION="Automatically formats Python code to conform to the PEP 8 style guide"
-HOMEPAGE="https://github.com/hhatto/autopep8 https://pypi.org/project/autopep8/"
+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"
+ inherit pypi
+ KEYWORDS="~alpha ~amd64 ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="MIT"
SLOT="0"
RDEPEND="
- >=dev-python/pycodestyle-2.8.0[${PYTHON_USEDEP}]
- dev-python/toml[${PYTHON_USEDEP}]"
+ >=dev-python/pycodestyle-2.10[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
-distutils_enable_tests unittest
+distutils_enable_tests pytest
diff --git a/dev-python/autoprop/autoprop-4.1.0.ebuild b/dev-python/autoprop/autoprop-4.1.0.ebuild
index c852a7266451..f0d23573080b 100644
--- a/dev-python/autoprop/autoprop-4.1.0.ebuild
+++ b/dev-python/autoprop/autoprop-4.1.0.ebuild
@@ -1,26 +1,25 @@
-# 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_{8..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 8359f03f8eca..218ff498e389 100644
--- a/dev-python/aws-sam-translator/Manifest
+++ b/dev-python/aws-sam-translator/Manifest
@@ -1,4 +1,2 @@
-DIST aws-sam-translator-1.46.0.gh.tar.gz 1082378 BLAKE2B 915f09ab6ecdecca7cc149ebd93d7370a3cfd103cf7e222fe5f8aefe084a8f285606a7a18467d996d643c70b132014d7ebeeb6d313498b8879ad13d905f3afbb SHA512 c33edd6209d7051a0d8132cdb675953a691f371e4ce02207d047be03211aff4d4c491c0f8d0fb8776a0693ff702d24ffc338d005bc9c6f166658e8293e478731
-DIST aws-sam-translator-1.47.0.gh.tar.gz 1087660 BLAKE2B 47e13a468f2ac0015683acb187a83f0e8f8b23162d4cd1b70eadfe36d3e10ea19259f2f313beb557175456f3455da3b08594207bb013cc33d30e4964ddec8ba8 SHA512 29af2b6c51384c906328d839f412dddbf0d9fcf07e77484567fd6c63be44d152b003087595530e20c63e504bc2fc27cc041c4cf21aab070240b6211a93a2dd20
-DIST aws-sam-translator-1.48.0.gh.tar.gz 1098247 BLAKE2B 99f3c94f94535e1ccfac5e20a2e403d7be6867bf7a644390a0aeb3444edaecf55d6b9454dd01c09ab12693c9abbf9c2994ea018f636f759f0f2d67e364ef4dd6 SHA512 150447a0068e056f38b246f27e3c5db831fb4a01cbc302d6203713d935a480bcd8d758873819eda02f2a4bf5a07ab397cbe63b6006bd053c5589b3220515eb65
-DIST aws-sam-translator-1.49.0.gh.tar.gz 1100512 BLAKE2B d1c5cbdcf4b4bd53b2d3fb1fa4e945a38294e2c4da0c3d1479c0d43191045a8b4c85edcb008e7e843830c203f795b0620607046d0715a922e8dc4629be781961 SHA512 b614438f6dd7c903f7817a66f26d18026b909011cb48adb19c23f1897e6657bc997a964dd1282d7da37d782aafc0c0fd503524ae0024a682bf06ee2e15020f27
+DIST serverless-application-model-1.87.0.gh.tar.gz 5497979 BLAKE2B 96e62bd2c8b7497524f3fcd2fb805d5904d69b875049783e424859e3a038b704bebe212db4d0325050665104f9cfa9a0c746e65c33f3d7934deab3840479e975 SHA512 5577447575bd58a574f912250062d58a2ad087a4322f178580ca13bed16f60683f120c9d11006c7ebdd25937f229dfd3b308a4cc5fca2d09b7771f19e1739842
+DIST serverless-application-model-1.88.0.gh.tar.gz 5568588 BLAKE2B 82b2d8ed46b170d62017916cfdf007bff84e7d909f054e8d6b9cd735607d702257d6c2d06c4c0a911db6718ed215172e7225c502afbfff924b14cef5f0e19bcb SHA512 2b81a46ec72d7afb115e54263fbdf260e0e66f7ae4d0554aa26369c572b2584d3019d25161a8ecca769aa7140bd933abdc4e5d4a7e5852f4402c5576907b098d
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.46.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.46.0.ebuild
deleted file mode 100644
index e6fa6549e819..000000000000
--- a/dev-python/aws-sam-translator/aws-sam-translator-1.46.0.ebuild
+++ /dev/null
@@ -1,60 +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_{8..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-2.6[${PYTHON_USEDEP}]
- >=dev-python/six-1.11[${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
-}
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.47.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.47.0.ebuild
deleted file mode 100644
index 50524b4a89f5..000000000000
--- a/dev-python/aws-sam-translator/aws-sam-translator-1.47.0.ebuild
+++ /dev/null
@@ -1,60 +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_{8..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-2.6[${PYTHON_USEDEP}]
- >=dev-python/six-1.11[${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
-}
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.48.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.48.0.ebuild
deleted file mode 100644
index 50524b4a89f5..000000000000
--- a/dev-python/aws-sam-translator/aws-sam-translator-1.48.0.ebuild
+++ /dev/null
@@ -1,60 +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_{8..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-2.6[${PYTHON_USEDEP}]
- >=dev-python/six-1.11[${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
-}
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.49.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.49.0.ebuild
deleted file mode 100644
index 4194237c6fc3..000000000000
--- a/dev-python/aws-sam-translator/aws-sam-translator-1.49.0.ebuild
+++ /dev/null
@@ -1,59 +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_{8..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
-}
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..b4675407f163
--- /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-sam-translator/aws-sam-translator-1.88.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.88.0.ebuild
new file mode 100644
index 000000000000..166699d76ae6
--- /dev/null
+++ b/dev-python/aws-sam-translator/aws-sam-translator-1.88.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 4eb05452e07a..000000000000
--- a/dev-python/aws-xray-sdk-python/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST aws-xray-sdk-python-2.10.0.gh.tar.gz 270819 BLAKE2B caed5f5b92bdc25e0006663838549c9e9a85474829cce03f612ef4b9a36fce38460606e000c65bb140f7250225426bece2e8bc624a430bdfdcd4fc8808842aac SHA512 f5b4d08f5876cab2e833a763b1da52b6de1e3ca2c746b234a1b013f674155ec31686a6710225e411458f27ca096f68ee6413c8d1c360d5a326f1be94287d09b7
diff --git a/dev-python/aws-xray-sdk-python/aws-xray-sdk-python-2.10.0.ebuild b/dev-python/aws-xray-sdk-python/aws-xray-sdk-python-2.10.0.ebuild
deleted file mode 100644
index fa39672112ff..000000000000
--- a/dev-python/aws-xray-sdk-python/aws-xray-sdk-python-2.10.0.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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[${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
- )
- 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/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 ee9d9049bf60..000000000000
--- a/dev-python/awxkit/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST awxkit-21.1.0.gh.tar.gz 16516204 BLAKE2B 2891244e7dcb0aef7b2053713c4479b94528a69f1225a77c46243cb293ebfa2e86d59939bc906223e598c34a322a726c9b3f5fb9aa7859191385f9c15bae57a0 SHA512 2e2ff1ae5a1893e3ba464ff0ab3c5e98b7d0711c3ba1512b8a8f89e55385ab85df9623b23d6a81b2a800b0b184de1ef82fd23a655173fcbcebb1160e9eef973c
-DIST awxkit-21.2.0.gh.tar.gz 16531568 BLAKE2B aa6677408415b2abd6a8d0f3286e2147f0e5ad3d7650feb98dfe018c89431bf9b4fdc8c6c1c76aa9a26fe0d7c8a438cfa209fbe16b7480c7295c60352e30e21e SHA512 d2be8ffacc5b82600ecac5d909450f9eef3d205075c9783849bc50030abcc84ca6cae3682baf20de8e0efb9f651aa03374941d59cf52f9d4cb4b7892d5c0353c
-DIST awxkit-21.3.0.gh.tar.gz 15808522 BLAKE2B 0c8f563601e8140af763ef88d9c69232b1c5b5de726962c210883af78d400286f7a415971311a7543b150d165c10cadbfbbd11d58ea8b9336efe9db7a7d29493 SHA512 05f2996a51aedc059041d72a50c21b3dd161c958ac869e4c9d36b45ae483e2e4c6a743e8ba336acde8108fa43d9eec0131d76a8ef3cf0dbeec1416dc8317c698
-DIST awxkit-21.4.0.gh.tar.gz 16058858 BLAKE2B 215b18809bd1050c6e93a03711fd8cb1b96299c2f335d01e7c40ea54ee9aaefab652f86826914e908ff4a19a02e79a61fc13edd5533c6b619366f76aa7fcfa46 SHA512 fc4513e7adcbf75aa801dfedb1f92a08e1dbe804a0a8b18809ec5ef98dd42bdf08856c486a9781cc6d34a932a86d587a90eac28099016e956c7468078d44d3ba
diff --git a/dev-python/awxkit/awxkit-21.1.0.ebuild b/dev-python/awxkit/awxkit-21.1.0.ebuild
deleted file mode 100644
index f63cc6bc217b..000000000000
--- a/dev-python/awxkit/awxkit-21.1.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Command line interface for Ansible AWX"
-HOMEPAGE="https://github.com/ansible/awx"
-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}]
-"
-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/awxkit-21.2.0.ebuild b/dev-python/awxkit/awxkit-21.2.0.ebuild
deleted file mode 100644
index f63cc6bc217b..000000000000
--- a/dev-python/awxkit/awxkit-21.2.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Command line interface for Ansible AWX"
-HOMEPAGE="https://github.com/ansible/awx"
-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}]
-"
-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/awxkit-21.3.0.ebuild b/dev-python/awxkit/awxkit-21.3.0.ebuild
deleted file mode 100644
index f63cc6bc217b..000000000000
--- a/dev-python/awxkit/awxkit-21.3.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Command line interface for Ansible AWX"
-HOMEPAGE="https://github.com/ansible/awx"
-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}]
-"
-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/awxkit-21.4.0.ebuild b/dev-python/awxkit/awxkit-21.4.0.ebuild
deleted file mode 100644
index f68b06f1595c..000000000000
--- a/dev-python/awxkit/awxkit-21.4.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Command line interface for Ansible AWX"
-HOMEPAGE="https://github.com/ansible/awx"
-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/Manifest b/dev-python/babelfish/Manifest
index 73a014db0e1b..cd4c5efb1ad0 100644
--- a/dev-python/babelfish/Manifest
+++ b/dev-python/babelfish/Manifest
@@ -1 +1,2 @@
DIST babelfish-0.6.0.gh.tar.gz 90886 BLAKE2B deee75aef23cbcb7c64f385c303310e5ce1ef0a3180729e47e59b8e85015ff36360a4be74ef32869421c6d90cf185ad427a7d55b9ef3cf20f551233dae3d425f SHA512 9d3309e67815c301578533fdaf8baae946ba87148b458f7b01315203d2d4356dd770c1a0b7a0ffbba14036b77f1463d67e3b5732efa6682cb6afdae1a8fd0a4b
+DIST babelfish-0.6.1.gh.tar.gz 93127 BLAKE2B 6c1f56432671c0ad7b18401e78637acf8488fa2aa924a4df961403e570f1adbff6d868d6e8e3797e4b26a790b65b2aad8600fc7feb665bb3a73a6a5d4664865f SHA512 e5936b08f7ecf38beea3a2da2ee32cfd93f312548459c18370326a72011aed5ed8a1908b13a091979c3fe83a984b99f299ed6c3d39a47784b4d5c48145796d04
diff --git a/dev-python/babelfish/babelfish-0.6.0-r2.ebuild b/dev-python/babelfish/babelfish-0.6.0-r2.ebuild
index a3db144a7230..c469345fd3b5 100644
--- a/dev-python/babelfish/babelfish-0.6.0-r2.ebuild
+++ b/dev-python/babelfish/babelfish-0.6.0-r2.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=poetry
-PYTHON_COMPAT=( python3_{8..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-0.6.1.ebuild b/dev-python/babelfish/babelfish-0.6.1.ebuild
new file mode 100644
index 000000000000..c78efae6c860
--- /dev/null
+++ b/dev-python/babelfish/babelfish-0.6.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to work with countries and languages"
+HOMEPAGE="
+ https://github.com/Diaoul/babelfish/
+ https://pypi.org/project/babelfish/
+"
+SRC_URI="
+ https://github.com/Diaoul/babelfish/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/babelfish/babelfish-9999.ebuild b/dev-python/babelfish/babelfish-9999.ebuild
index eca670f3ee7e..222432e837ce 100644
--- a/dev-python/babelfish/babelfish-9999.ebuild
+++ b/dev-python/babelfish/babelfish-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=poetry
-PYTHON_COMPAT=( python3_{8..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 cdd11a8d5655..000000000000
--- a/dev-python/backcall/backcall-0.2.0-r1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{8..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 ~m68k 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/Manifest b/dev-python/backoff/Manifest
index 5d1ce52e4e45..3ce60acc86ea 100644
--- a/dev-python/backoff/Manifest
+++ b/dev-python/backoff/Manifest
@@ -1 +1 @@
-DIST backoff-2.1.2.gh.tar.gz 19622 BLAKE2B 937dbdcf1bad5d3c68703aa08bfec46176a6021afb70d52b71bb52e744881832d9010e3db70112ec40beaf26155a9140fafb5b726b80f8fe1078d69ca011378e SHA512 e0a81def797007a342ca37af6657e6b8a0861a41cb4c78b325e8cbf58e93df3ff900763833c5d5ff97fb9d2e83521ef4f8652ac49bcc6cfb6c0fd92e44356996
+DIST backoff-2.2.1.gh.tar.gz 20194 BLAKE2B a137ad67574b20535d5c29fad5781d0f7baaeeead23a5c8ccc3f1c48a952bf4436e75753e329861fb20bdc6fbe2b5e6d75b30d0fdca9908edfa540a593b3b353 SHA512 ed98c50d544d4ac3214b03005e5d183b0aeefd568c89769b59115ecc67ba7f7ea29a58e6ebf8488026a95ff2a1155e798782b04bebc9315c6a3682540bb38dff
diff --git a/dev-python/backoff/backoff-2.1.2.ebuild b/dev-python/backoff/backoff-2.1.2.ebuild
deleted file mode 100644
index 009799e13fb7..000000000000
--- a/dev-python/backoff/backoff-2.1.2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Function decoration for backoff and retry"
-HOMEPAGE="
- https://github.com/litl/backoff/
- https://pypi.org/project/backoff/
-"
-SRC_URI="
- https://github.com/litl/backoff/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-DOCS=( README.rst )
-
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/backoff/backoff-2.2.1.ebuild b/dev-python/backoff/backoff-2.2.1.ebuild
new file mode 100644
index 000000000000..170c3fb22e9d
--- /dev/null
+++ b/dev-python/backoff/backoff-2.2.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=poetry
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Function decoration for backoff and retry"
+HOMEPAGE="
+ https://github.com/litl/backoff/
+ https://pypi.org/project/backoff/
+"
+SRC_URI="
+ https://github.com/litl/backoff/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+DOCS=( README.rst )
+
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/backports-tarfile/Manifest b/dev-python/backports-tarfile/Manifest
new file mode 100644
index 000000000000..0f072e067214
--- /dev/null
+++ b/dev-python/backports-tarfile/Manifest
@@ -0,0 +1 @@
+DIST backports_tarfile-1.1.1.tar.gz 84734 BLAKE2B 7691aaf4bd66e6fd6ad32dc9f4c4c51887ab502d302dae4931c72076b97d55b7646a716fd0dcd04dfc955a8dbf195d3804800b79375ecac1631fd633aefe2d12 SHA512 59ff0f6d78a0b4b2d868026a2f82375a7bfa3b1a09a96c0d6eaf0620c99ec379c22e12e6222677ca9c430349d40714f265ad879390789d63b8d322a31a7c1923
diff --git a/dev-python/backports-tarfile/backports-tarfile-1.1.1.ebuild b/dev-python/backports-tarfile/backports-tarfile-1.1.1.ebuild
new file mode 100644
index 000000000000..808ce0928be6
--- /dev/null
+++ b/dev-python/backports-tarfile/backports-tarfile-1.1.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_PN=${PN/-/.}
+# This is a backport from Python 3.12.
+PYTHON_COMPAT=( pypy3 python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Backport of CPython tarfile module (from Python 3.12)"
+HOMEPAGE="
+ https://github.com/jaraco/backports.tarfile/
+ https://pypi.org/project/backports.tarfile/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/jaraco-test[${PYTHON_USEDEP}]
+ =dev-python/pytest-8.0*[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "backports.tarfile"
+ version = "${PV}"
+ description = "Backport of CPython tarfile module"
+ EOF
+}
diff --git a/dev-python/backports-tarfile/metadata.xml b/dev-python/backports-tarfile/metadata.xml
new file mode 100644
index 000000000000..63138bedd14d
--- /dev/null
+++ b/dev-python/backports-tarfile/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">jaraco/backports.tarfile</remote-id>
+ <remote-id type="pypi">backports.tarfile</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/backports-tempfile/Manifest b/dev-python/backports-tempfile/Manifest
deleted file mode 100644
index 2e3778ca3bd6..000000000000
--- a/dev-python/backports-tempfile/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST backports.tempfile-1.0.tar.gz 10262 BLAKE2B 9436c8a3eb7fa6da17dad4466ab030f62b93a19103e519efcbe79e35cf0687ca2960666a9337cdc2929aeeed3790a7ee0441377755b1f1e2a8192b07ed7f049a SHA512 1f3cf634e289704e96bd8483289415aae896d95a16f5ac9b226ba879497675d76148399770966bd2ef14a02d3c8848516a9b39cc400819023b06254b5b0500dc
diff --git a/dev-python/backports-tempfile/backports-tempfile-1.0-r1.ebuild b/dev-python/backports-tempfile/backports-tempfile-1.0-r1.ebuild
deleted file mode 100644
index d43ae960a9d1..000000000000
--- a/dev-python/backports-tempfile/backports-tempfile-1.0-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7,8} )
-
-inherit distutils-r1
-
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Backport of new features in Python's tempfile module"
-HOMEPAGE="https://github.com/PiDelport/backports.tempfile https://pypi.org/project/backports.tempfile/"
-SRC_URI="mirror://pypi/${P:0:1}/${MY_PN}/${MY_P}.tar.gz"
-
-LICENSE="PSF-2.3"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
-IUSE=""
-RDEPEND="
- dev-python/backports-weakref[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]"
-# Tests require backports.test.support
-RESTRICT="test"
-S="${WORKDIR}/${MY_P}"
-
-python_prepare_all() {
- sed -e "s|'setuptools_scm'||" \
- -i setup.py || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- PYTHONPATH="${BUILD_DIR}/lib" \
- "${PYTHON:-python}" tests/test_tempfile.py || die "tests failed with ${EPYTHON}"
-}
-
-python_install() {
- # avoid collisions due to namespaces
- rm "${BUILD_DIR}"/lib/backports/__init__.py || die
- distutils-r1_python_install --skip-build
-}
diff --git a/dev-python/backports-tempfile/metadata.xml b/dev-python/backports-tempfile/metadata.xml
deleted file mode 100644
index 42ebdc39def4..000000000000
--- a/dev-python/backports-tempfile/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>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
- </maintainer>
- <upstream>
- <remote-id type="github">PiDelport/backports.tempfile</remote-id>
- <remote-id type="pypi">backports.tempfile</remote-id>
- <bugs-to>https://github.com/PiDelport/backports.tempfile/issues</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/backports-weakref/Manifest b/dev-python/backports-weakref/Manifest
deleted file mode 100644
index 6b5303d586cd..000000000000
--- a/dev-python/backports-weakref/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST backports.weakref-1.0.post1.tar.gz 10574 BLAKE2B a53a64dc22d8d1ac93a157bef4a858156f620593ae3d9e69b99762298e9aed73a04fd0557d98f53eed8816e746869718bc028aeda619330ce7c031f8b6f346b1 SHA512 27fb7ffd3313e62ca5ac220efe5ce0a9ae2ba8a589c80d3c5cf98741e913da7f713e1ecf2af848510383f574fa3bc3b7b3c21e6696f0a252fb517fe836c07cc7
diff --git a/dev-python/backports-weakref/backports-weakref-1.0_p1-r1.ebuild b/dev-python/backports-weakref/backports-weakref-1.0_p1-r1.ebuild
deleted file mode 100644
index e15a5229be01..000000000000
--- a/dev-python/backports-weakref/backports-weakref-1.0_p1-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7,8} )
-
-inherit distutils-r1
-
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV/_p/.post}
-
-DESCRIPTION="Backport of new features in Python's weakref module"
-HOMEPAGE="https://github.com/PiDelport/backports.weakref https://pypi.org/project/backports.weakref/"
-SRC_URI="mirror://pypi/${P:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="PSF-2.3"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
-IUSE=""
-# Tests require backports.test.support
-RESTRICT="test"
-
-python_prepare_all() {
- sed -e "s|'setuptools_scm'||" \
- -i setup.py || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- PYTHONPATH="${BUILD_DIR}/lib" \
- "${PYTHON:-python}" tests/test_weakref.py || die "tests failed with ${EPYTHON}"
-}
-
-python_install() {
- # avoid collisions due to namespace
- rm "${BUILD_DIR}"/lib/backports/__init__.py || die
- distutils-r1_python_install --skip-build
-}
diff --git a/dev-python/backports-weakref/metadata.xml b/dev-python/backports-weakref/metadata.xml
deleted file mode 100644
index fa47716e80a7..000000000000
--- a/dev-python/backports-weakref/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>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
- </maintainer>
- <upstream>
- <remote-id type="github">PiDelport/backports.weakref</remote-id>
- <remote-id type="pypi">backports.weakref</remote-id>
- <bugs-to>https://github.com/PiDelport/backports.weakref/issues</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/backports-zoneinfo/Manifest b/dev-python/backports-zoneinfo/Manifest
deleted file mode 100644
index 7beb84400245..000000000000
--- a/dev-python/backports-zoneinfo/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST zoneinfo-0.2.1.tar.gz 85385 BLAKE2B a6382560dbe8c4207c5a53971431497126a3bad7374580f4a67ffd1ffe5940701f13a09bc3a5ba4b729ab8d2484516ea2dc71131b7276f5339b1f60fc39c4ab1 SHA512 1f17ce34eef489dcd263665d58780ab54cf8aa83a601d31148bb4316e600f94d0af1d0baa1d6554d069c0801af906e21b9d5535db2bf76de32333820c61e2364
diff --git a/dev-python/backports-zoneinfo/backports-zoneinfo-0.2.1-r2.ebuild b/dev-python/backports-zoneinfo/backports-zoneinfo-0.2.1-r2.ebuild
deleted file mode 100644
index 08847d7315c9..000000000000
--- a/dev-python/backports-zoneinfo/backports-zoneinfo-0.2.1-r2.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..8} pypy3 )
-inherit distutils-r1
-
-MY_P=${P#backports-}
-DESCRIPTION="Backport of the standard library zoneinfo module"
-HOMEPAGE="https://github.com/pganssle/zoneinfo/"
-SRC_URI="
- https://github.com/pganssle/zoneinfo/archive/${PV}.tar.gz
- -> ${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-BDEPEND="
- test? (
- >=dev-python/hypothesis-5.7.0[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )"
-
-# pytest is used only for one skip, and requires unpackaged
-# pytest-subtests
-distutils_enable_tests unittest
-
-PATCHES=(
- # fix segv in py3.8.7rc1+
- # https://github.com/pganssle/zoneinfo/pull/97
- "${FILESDIR}"/${P}-py38.patch
-)
-
-python_test() {
- if [[ ${EPYTHON} == pypy3 ]]; then
- # pypy3.6 does not support dataclasses, and the backport
- # does not work with pypy
- local pypy3_version=$(best_version -b 'dev-python/pypy3')
- if [[ ${pypy3_version} != *_p37* ]]; then
- einfo "Skipping tests on pypy3.6 due to missing deps"
- return
- fi
- fi
-
- "${EPYTHON}" -m unittest discover -v ||
- die "Tests failed with ${EPYTHON}"
-}
-
-python_install() {
- # avoid file collisions
- rm "${BUILD_DIR}"/lib/backports/__init__.py || die
- distutils-r1_python_install
-}
diff --git a/dev-python/backports-zoneinfo/files/backports-zoneinfo-0.2.1-py38.patch b/dev-python/backports-zoneinfo/files/backports-zoneinfo-0.2.1-py38.patch
deleted file mode 100644
index dbe9695a9a53..000000000000
--- a/dev-python/backports-zoneinfo/files/backports-zoneinfo-0.2.1-py38.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 0e42cc3999b4e3833b5f3f41857b8c1e3c9143f3 Mon Sep 17 00:00:00 2001
-From: Pablo Galindo <pablogsal@gmail.com>
-Date: Mon, 21 Dec 2020 02:02:34 +0000
-Subject: [PATCH] Decrement the refcount of _PyLong_One in the correct branch
-
----
- lib/zoneinfo_module.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/zoneinfo_module.c b/lib/zoneinfo_module.c
-index e0c72d3..07ef603 100644
---- a/lib/zoneinfo_module.c
-+++ b/lib/zoneinfo_module.c
-@@ -616,7 +616,7 @@ zoneinfo_fromutc(PyObject *obj_self, PyObject *dt)
- Py_DECREF(args);
- Py_DECREF(kwargs);
- Py_DECREF(replace);
--#ifndef ATLEAST_37
-+#ifdef ATLEAST_37
- Py_DECREF(one);
- #endif
-
diff --git a/dev-python/backports-zoneinfo/metadata.xml b/dev-python/backports-zoneinfo/metadata.xml
deleted file mode 100644
index c8a2de863dfb..000000000000
--- a/dev-python/backports-zoneinfo/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="pypi">backports.zoneinfo</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/backrefs/Manifest b/dev-python/backrefs/Manifest
index e327acf7493b..931cc8fe56b2 100644
--- a/dev-python/backrefs/Manifest
+++ b/dev-python/backrefs/Manifest
@@ -1 +1 @@
-DIST backrefs-5.3.gh.tar.gz 4291850 BLAKE2B d2d21dcb2d6a540ff6d06fbadb08c9a9ae6251c9bf78601b59611e80215f659cb46e8d535563c397ea28d014a67ffbc4d29a8f8632023ab9904b9630ac96602a SHA512 c42985a26605e3ab1f8b30943efdc554829d2a5951f32cff486959be1c7c1c61613adc947379aaebec74d8f574ae2c39e46e4682e2f78bb059beee2d9572f352
+DIST backrefs-5.6.post1.tar.gz 5399113 BLAKE2B d5b359b0b4333baacb53dd4a7267e431cdca3fd844ba1d1120e34961979c39a9f89f8f52db16f1a8aaf1a89f18063c5301c1a46803c9e1f011e0a20bde24b126 SHA512 20ea63bd9d60db7c242faa687e464eecb8c2e1852456126e2961db14e0526f5048581ec7f7de1017c87d718544629f8491391e3be14c55133876bf169a4d71fe
diff --git a/dev-python/backrefs/backrefs-5.3.ebuild b/dev-python/backrefs/backrefs-5.3.ebuild
deleted file mode 100644
index d230b992ae00..000000000000
--- a/dev-python/backrefs/backrefs-5.3.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8..11} )
-
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="
- dev-python/mkdocs-git-revision-date-localized-plugin
- ~dev-python/mkdocs_pymdownx_material_extras-1.0.7
- dev-python/mkdocs-minify-plugin
- dev-python/mkdocs-material
- dev-python/pyspelling
-"
-
-inherit distutils-r1 docs
-
-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
-
-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/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.ebuild b/dev-python/bandit/bandit-1.7.4.ebuild
deleted file mode 100644
index 898f32bd880d..000000000000
--- a/dev-python/bandit/bandit-1.7.4.ebuild
+++ /dev/null
@@ -1,37 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A security linter from OpenStack Security"
-HOMEPAGE="https://github.com/PyCQA/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}]
- dev-python/toml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
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/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 5b6c99245325..9834da74c158 100644
--- a/dev-python/bareos/Manifest
+++ b/dev-python/bareos/Manifest
@@ -1 +1,3 @@
-DIST bareos-21.1.2.tar.gz 11582588 BLAKE2B e7e02b3897d7e377cc79d9d0880da821f1b81d1f54891d89e704e78f51471cdf94b5a02ffe2f4ed54dec38bf37ccc757bf1641c3b678a04e401f48484ed3c941 SHA512 acdc787ff828add93c81b2b7d293dec90f2aa22aa3aee3002662bd30e88dc0dc58b753bb63ca7c111fac6c7eeea888938236c1169f92ed6cec27941036c7b6b1
+DIST bareos-22.1.2.tar.gz 14746158 BLAKE2B 5d8c9c098f61bd35b11f907a3e215a7c08b504c3e529c67a4c8c5cbbf24775158966800e63efca260b4cc513417332cdf43a158d21684f09be3d89dd93258880 SHA512 76d53425b2a28f4f7887b323a70bf9b37df44302e0e25aff7156c1b3ee26ffa60bbfb45ed29a0f2fe763d5c38b8f7135ac2a3e405d8e2b10717f4893baf9c327
+DIST bareos-22.1.4.tar.gz 14747141 BLAKE2B 1b155c35f22120b07151a54ef314c6f8f42ea14c3f194d787a58ece41f8de148f0b34d0cc6a54f578b1bb5c4d3ae2a7736829f6d2cd642d8e001f1797a18052a SHA512 4285f0f524c6f30ae8f7dd67e2a732cf983663f56b053968a7f10d753e38bc2ee1e2673d1fb6a9b516994b51b45215fac153e301b893c9cb31a164ebff0d4c85
+DIST bareos-23.0.2.tar.gz 14724410 BLAKE2B 0fe86c10d62ad322dfbcd5ac972aec27d6f0ad31e156d359398739b2bfd784a02ce89b26b6bdfcf279265114a4e6e13efe21edab8b87cff15f1f9f3ad055c64b SHA512 a8d8270c8060480fe87da9252de86a75eea1cc427db63536f848d19a2c23c499ca294a9656d9a6aac73a756f84c96a2d72f13d1cede7948e18bf93efc2ecfc29
diff --git a/dev-python/bareos/bareos-21.1.2.ebuild b/dev-python/bareos/bareos-21.1.2.ebuild
deleted file mode 100644
index e67df5d90be7..000000000000
--- a/dev-python/bareos/bareos-21.1.2.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-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-22.1.4.ebuild b/dev-python/bareos/bareos-22.1.4.ebuild
new file mode 100644
index 000000000000..59d31548b8d2
--- /dev/null
+++ b/dev-python/bareos/bareos-22.1.4.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="python bindings for bareos network backup suite"
+HOMEPAGE="https://www.bareos.com/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/Release/${PV}.tar.gz -> ${P}.tar.gz"
+S=${WORKDIR}/${PN}-Release-${PV}/python-bareos
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="mirror test"
diff --git a/dev-python/bareos/bareos-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/Manifest b/dev-python/bashate/Manifest
index f86877061c80..f1e70f2a83fb 100644
--- a/dev-python/bashate/Manifest
+++ b/dev-python/bashate/Manifest
@@ -1 +1 @@
-DIST bashate-2.1.0.tar.gz 34717 BLAKE2B 6d25c9fe35f976f5ef24d580cb7ee5a30eb79f68f05de2b6784b79ec93ae090ecbc2a2a09b0cabd4a6a997adef6ccb73f8f258044b0443fa231a403115591202 SHA512 6ef17da86113195d8dae093fddb7c17a365b4cd7816ef0ebb98ac6cda61f52526092f7da6c39c11fba9d709a124970e18e93e267f7d0fb38190e313208f66e98
+DIST bashate-2.1.1.tar.gz 34875 BLAKE2B 9af27813697be12132f58fa13b4f415ce4991795d3e831e651f24a884438775ecaf938f27120ea0fc990f72d8edc5def8ed4bfbc163ca47fabf10a8e350b0b41 SHA512 093ad491b41b73402d316baba894b5f327f07702641f13ece4beb1578d5dfaccbff1e3e0773a799f1acd84443d5a8606288b7c586d5120bb10adcf4427d6f96c
diff --git a/dev-python/bashate/bashate-2.1.0-r1.ebuild b/dev-python/bashate/bashate-2.1.0-r1.ebuild
deleted file mode 100644
index 6684d7303e58..000000000000
--- a/dev-python/bashate/bashate-2.1.0-r1.ebuild
+++ /dev/null
@@ -1,26 +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_{8..11} )
-inherit distutils-r1
-
-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"
-
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/testtools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/bashate/bashate-2.1.1.ebuild b/dev-python/bashate/bashate-2.1.1.ebuild
new file mode 100644
index 000000000000..f5ee7051717c
--- /dev/null
+++ b/dev-python/bashate/bashate-2.1.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="A pep8 equivalent for bash scripts"
+HOMEPAGE="https://pypi.org/project/bashate/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/bashate/metadata.xml b/dev-python/bashate/metadata.xml
index cc4ba3e8c117..7c91ab840b47 100644
--- a/dev-python/bashate/metadata.xml
+++ b/dev-python/bashate/metadata.xml
@@ -16,5 +16,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">bashate</remote-id>
+ <remote-id type="github">openstack/bashate</remote-id>
</upstream>
</pkgmetadata>
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 2a1385ad5f38..000000000000
--- a/dev-python/basho-erlastic/basho-erlastic-2.1.1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..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 9c68b699b24a..8bb88683a9d8 100644
--- a/dev-python/bcrypt/Manifest
+++ b/dev-python/bcrypt/Manifest
@@ -1 +1,92 @@
-DIST bcrypt-3.2.2.tar.gz 42455 BLAKE2B 01cfd126662b16bd9df782effd58cf8fa1bc518af95d814fb5a857ff8d8a4a9bc302241341e656247c49e0f39a7d69feb0d40dec9dd8463bc150b6ebdd165c2b SHA512 2f3b88bffaa9ff820aba6fb3143253b7936a1440ae93caff13cbdff58c1f8427f132cce60299cda523659b7026751a954b476857f2b9841cdd2a1a50c430a626
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
+DIST base64-0.21.5.crate 77134 BLAKE2B 901cf92d7dd8af2bbb789ffbe60972c1fd295b16690ecebbcb500e4613afa057ab2b294bbafdcaa4007f46412825260a0711d89e55664418a503dde02c8afd1a SHA512 40b1d8470a932c8b7f31717e33bf26742c1bf920caae639b8a992f77e64d5e6d287569742c1348daa25b7325f8ca8d8a312754a743dab3932181f37149d91b16
+DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20
+DIST bcrypt-0.15.0.crate 11631 BLAKE2B 47a671e252bc4c14d8323031e34b351e57d8c8d5e0683e994a792b8211cdb72432d9b1dbcdf643804fd7e1d3064beb00b0df1ca83b01991233b290ae7b61a1cf SHA512 550cd503ac96d6b12b6fb7336d78423516905f2b60fafc0fe907adac694d74ab97a25937b562d14aea2260319c97b686496e17578f817a0c18362e1dc9f8ec53
+DIST bcrypt-0.15.1.crate 11628 BLAKE2B 71072e92ac88393d5e7676f5afeb16ef8588232f390f02ad15b5ad31ca3a96daa431f867aa6cd52aff81be0cea43c46dbcf53edbf7db571556ea746a5b1713dc SHA512 40d4bec4a7a52a54b3be16e9fe52b8f2734c0f1e36bfa76059d5edb75339b125d70416919ad1c47df569f4abe6723470731bded3b7335c77b4967ea024cc7217
+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-4.1.3.tar.gz 26456 BLAKE2B 3e88047cc932bfc657f937dcf3af21c9db012cf1cdfe4a714dad6e5ab73f539e5d385759c90face464b2bbe13444ed07107f4f02f6f285d68d66d26fce372e8f SHA512 141c1537c25e15d9fc906e0f59ca8b9758a2e6cc302136521a5f82dc46b61f6977cfa6dea79878a47141cb64ead00c84157918ce0d18165e8bfea1a83462c8fe
+DIST bcrypt-pbkdf-0.10.0.crate 11032 BLAKE2B 9696f024b049c9d0ee4299e2086eea2d3389c47576d803d00eaccc530589c6158a845fc42afb1b59c3147ced8c9695220047fb2a4283723710011b00de511b3c SHA512 857ae23e1996c11e1e7375f18addffd60c6d02972d5856d594f0e03750065481f414addcf0c846e9f65d93c41982ca6fb3a464a4dc13fb56f67ca39e373def34
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST bitflags-2.5.0.crate 43821 BLAKE2B 2d2a78b0a19dcb39580e6f73ed6c468b0626043010b34661084944c83561fe49db24bee1ab57fd692d57617be6506d529e095aea27b753a77e26d0b1ebf7ed78 SHA512 75d7a89e53e5e7582591932bc430e6a1db7ed0f914ded6dbcf957125be52975598df7fee14ef816f66544432ef0505f0a081f3794d17138ec429e283fe14fcf9
+DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb
+DIST blowfish-0.9.1.crate 16734 BLAKE2B edb9ef86b168259d37ae74ca5f961d4a2f79f0bd83c64a157b1605655001a8e82a1b40b0e03a24719dd9cc273fd50d1ad6a406b47b1925a9c2c687c119bcae0c SHA512 e005212e2cd0233321f1e84170829c6e05b4f4e47b81342e0fef7e12ac05f09dc6db288b6b28ea2826e9d19afa49366b74b186f2f20db6da77b57f09e124e3a8
+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.4.crate 19073 BLAKE2B 144c45c1bdc5f7aef7f4fc63b6dd85955c453537567d1f1074e436e50d0d61f8413973cf3da207a48f1560ea92f2280fc5880569c78a1dd66bf97fd1d88ccde7 SHA512 1856d8b08bc3dbd2fa5c8b97e9eae43323c7aa19203ef3e80bb49cf15b5ddc832acb7b97121a52032656353e764f1f722200b638f7c28975fec1b5c9dc908846
+DIST cpufeatures-0.2.11.crate 12727 BLAKE2B 5b91dffb779e437606db9b75d2b05c2de19069575a8272112e9a0389f5bd8de0f753cd90330b5a5bb6a3f84c9e794e96328664557db31c43853ba43097229efc SHA512 af179e269a4d5f48b50134a5e98ac541a9a0d6aa34f13fb8fd9ce8d5092352e1b322437254449ecb1bce608d8558b1cca2c79232ac1327efd887193bd1d36031
+DIST cpufeatures-0.2.12.crate 12837 BLAKE2B 5b518c58c548d9116f94cefc2214fe2faf87c3aaf3fffbb0bf4085f75372cf7fc5144bc3f827101a3a14a51363d06d8075db94ff5ed853ab2ccffaf597728093 SHA512 52742595702fc3371d4126fb355f3d7a6da514a94e43170f1db041cc6c560027f92115eab7846131dba1018ca5c72003ae36f945c1de88d57a0e7f66331623c6
+DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f
+DIST digest-0.10.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 getrandom-0.2.14.crate 37307 BLAKE2B 5904388869335ea904d950ee83ad1867a0d3f6831b7139102b53f4bb4a2c12371c9396f1f1cbcc44e3ce69a4ea316651b1674722071bfa7562385ad4b6a88c33 SHA512 6c334415e09f570e3123e3c6c6eed1727533ac6c9c4142e16ae995c237a16effe146832a891be9fdde4335bd02b454e0fdd9160f20dc02f107ad106756221658
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
+DIST inout-0.1.3.crate 10743 BLAKE2B ac2fa5cadd98088ea3f6eb94ca46b3a9ceb6547ba49f0de311d86474d71024d1a087ce9b8d44ec808008db69146e9c81446bcfeebeb2fd74d2e8d0ad2c4975ed SHA512 1db5bc2bd87aae145b3b0be6669a9a722df2aac8f970fda210aaf945c372e641b941cee822917926dfa1ab8381c6e99cc7df4b18d2f4e2fbef17fdec36ed2beb
+DIST libc-0.2.150.crate 719359 BLAKE2B d08e17fb29992c76337bb5862cbc1cdaf7b9d7749cd65021f145fcf49fa7954d6251c8c2f3c9a796b46283c3bc014bccfd259ea52824459841911ad847fd7f5a SHA512 7ae8fe6a1db38ac6d951c0b4880d25a02f064f5e61d6057c20f7208dec8395d58efd085e41857bcf5f4da2b014d2952dc4ddaf18ac4acd3a23675bb659e70385
+DIST libc-0.2.151.crate 736640 BLAKE2B ba8ea6d22b0eefdc5c1c5ee9fab960b6ea0eb7098a21b032563ec78b5d6e2a8f1d7ca4d5bb721c71de2c5de28e105029f229b9b03cd5168c78a65c7164e6d07d SHA512 2039bdfd704c5a876ff7d609622bb968260d6e0fd264ca457e92b75660503eca10e1ff21864b3c919d2656de521f03ef443895f5c0150271ae2502857742b0ec
+DIST libc-0.2.154.crate 743304 BLAKE2B 25ff132ec29b78dec455f0a1fc9fbfc744ee0d6eb410aba05ec6b1b08af9d83ec61e56f840f86cb833f590e8cdec7f67ce6e7b630ee227a36581650c81298b84 SHA512 891a36cf153a9f4d58793412c104504c57280994e428ce8ba208673a924b2de38cc21eece09b91696eaea3b2359606dbe9f1509f9bf364bdabdb366ef2dd0f61
+DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
+DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7
+DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
+DIST parking_lot-0.12.2.crate 41723 BLAKE2B 7c9a4f483b09f4e4bb25fc758c80e8259cb02960b791695a061fe595cd6ed9b13f62903513cefb595bd633488b23254dee054a98282162fc4664301ce04853c0 SHA512 42794b06d410771d1ffdfdd4a9cab136cfb80cf95385876a580fc45739fa41f0769adfbf16be54a9a931632e02d2464278c5395092a1d6107703875e9ad112b2
+DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389
+DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
+DIST pbkdf2-0.12.2.crate 13906 BLAKE2B 062731ec8623719543e497dbfc23b909c8cc62a521ba927f5cb628290c1b3898a0b6ca7677d733b2eb0c563d7af4018981f4ae533b5b3a23c312ce98119eae6c SHA512 5360a661db8ef11586badfa2623dc409e34f3e2f79254cebcb5fb68bfb20c3be47def7bbb16f7779facb42a92bb789cf0e71947d1c4c6f5b1ecb8d358f6b41ef
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST proc-macro2-1.0.70.crate 44343 BLAKE2B fff0dec06b21e391783cc136790238acb783780eaedcf14875a350e7ceb46fdc100c8b9e3f09fb7f4c2196c25d4c6b61e574c0dad762d94533b628faab68cf5c SHA512 ae9366856853f7d96caf7a7581843d36bfc7843f8683897b19ffc666c03b0b1eff502ddb18ca4c1c1a239a368f03f6cc258b0e2795f64b61c6a31404462eec5f
+DIST proc-macro2-1.0.81.crate 48233 BLAKE2B 94319064772c757b6bf57eb9e759e827454f719d82210271ebab9c6ee4ecfddc9099522cdc8595123efe2efb64fd50eadd7e31419c5842ff1cb8fdd32e8daa0c SHA512 7edec4b786d9fe076ced4fa5c0d369c163fd1c27c895431245a8268ab2e16665b7c0a585552d46ceee6b8103979a4201f92abb381f0e678128abed359f514de7
+DIST pyo3-0.20.0.crate 431766 BLAKE2B 104bc21ce2c6931753ca0c7b2d91693f454c964260ca3c4628a899fc8e7edbe4238db913ed7356f3beff154d88a60a17c0e252b655768e75483e1d9d9b86f40b SHA512 85d9533c75f905752c62f6a4898582ae48daf085e287b44949c47260301205a5f00477927877ce46300d2801d22fbc04a958c058a37eb28374c834fff27feca1
+DIST pyo3-0.21.2.crate 504574 BLAKE2B 1b8bf374d1b61e3e4bedce6344338126051a6d951ea87d258e5ed92d4c0e13b0202f2e7e56500277c54743dd16c9b4587f436cf2058567501c8a9ac7c6b6c17a SHA512 5f88cda423e82b62698a74ceaa31fc27e5c1f1d417928accddb2e00337d163fda622f774ae6e24c1cb73c467d6b01e9a2ba866e4454338b1fbfc892ae14ffc53
+DIST pyo3-build-config-0.20.0.crate 29534 BLAKE2B eb1d5f75276533483c52c6fcae49b294d6d8edf504859dae18811c1ef695dc6d0a055f2a34bea305975e4c1492c312433d2dcb7753484f793376c62cd59c8e40 SHA512 a01d06ebeb4b9cfe6ff6731046101e9437498453ca5aa68ec53df3bfb2f34665a489f8072636c2da16c1e867f536032fd293f05a43561117fd131bde5fe5aac7
+DIST pyo3-build-config-0.21.2.crate 30581 BLAKE2B 993c1f7f15124336b70570ed3949cc0873c2b883e81dd3a350f347cf014fb9a82d487197fdaf475989b727b7ee8d9a5511a72422f76126b8788c4f40831baed8 SHA512 8b6bedb31235de3dd95bca6e19ea4eb7752227ceb9f1c928c4df2b277df5ee443e5c262e448012e4e54e3104213db4d745c9c42f79ab3029dee68f48ec3a2795
+DIST pyo3-ffi-0.20.0.crate 64220 BLAKE2B dfe75b9459b4a564d1dd9f907166b76d00c5b50ba027db65d11540a7b993f3ef4e19e574135b538635ebb9c9eba66115c09198c7b6071b0b82fd94faccb1bb63 SHA512 a68f0b1380f2ac3d3034ac8b3788cd6573850137c6678694cbcc3e814b619510b9b21b11704c2e702d4eb7433d8b1d3a6dac663501b6db5197a409407802b714
+DIST pyo3-ffi-0.21.2.crate 66160 BLAKE2B 759622fa3a41bcdb48170983c4e194898415f8db16a7c57ace89a7945bd47374d9a14e5ecf24e80a178bde597cfa30d41f9e6617b458d365640bdbda048e6f6e SHA512 5cbc9dfb14569210776fd66341e77e61642a9920354251a65b91aa13a0fb1c373258d1a6b4f8feacdc4266d472193d8f20a6dd2cc180ccc3d43fb66237ae6d0d
+DIST pyo3-macros-0.20.0.crate 7678 BLAKE2B 03fdc0cc9c735086ca2d27e0bcd197e69538c3640ba7f87bc3d65907db374ac7283f61bdb67a1d45b66ce972072ddcb3b1daed4aeb9a66100d11bba6515cdc86 SHA512 79b61f55010dad60dda2c5061c9736bef3f6805f28db230726937340a5c40a3fcfb727a0db7779c3eb094ebd45492f7af4f40a3fcaef42f160989a8ef6174e7e
+DIST pyo3-macros-0.21.2.crate 7920 BLAKE2B 60ceb626fd1ffeca7e81ebc721bb4cfebd99bb708d48bbfdd296b250ed41471f82e8657715e1f58840423ac11d8c5a84a6107a7037affdea4e0c2cc561514ed7 SHA512 95335a55d57346107fdc7591d51e36aa0a985d6c44a875475a0ed52df25d33b21a7b922fdab0eed190da9708968e79f7cd50bc683b6d210eb068713a915ac7f4
+DIST pyo3-macros-backend-0.20.0.crate 49383 BLAKE2B a239042abdfcf5ad38505b57bc6b858ba346bf8681e24acf2e433f53e4a40bf0b28928b434b96f596d12acbb602b14b7e1bbf4be1e5789e6d9c754368db00a1e SHA512 c823caba48b4a30aaf84c23f80934f0172f2c76a41b538b69ebc25afcb61611b54b8fbb4ab6cac1c7a78b4e6f9f909f22748a2cd279b508d3897b74b17021d56
+DIST pyo3-macros-backend-0.21.2.crate 58088 BLAKE2B 05dd49983c8aeddc47cd94f6cd58f10e41ad6f4ec57006908cde4fe3edbcf6814058d7843a88c9dbeb0824f840ad3509414c52e47fffe5ad4b730f791c9a3f19 SHA512 f8488ba0a68f1ae20d053e2323d065f03b40c24231a50b05205b100e973ae50bc7bb9c25e4d37df56f4cfa73d2001655ce9685078d1017a4a90bd7945c01b833
+DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
+DIST redox_syscall-0.5.1.crate 22536 BLAKE2B b7766fcf35dd865fc98495f60da54ca9a6b4cff007f4323d1c63de5d1152766aa5517139b5ec50afca39d934360c701a180c4516feccbc2600085d5d72dabd2a SHA512 0952b5f4f79f2cff04b4c21d964df7b56bc0cbff8d8a2a9a7d38ba66fd69cbd0fb004cd3d8ac6feadde8d9590858cd7e1763da7e4a5de840cdef42b1b6f1e460
+DIST 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 smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
+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 syn-2.0.60.crate 255808 BLAKE2B d7a8e415dd72267fd92da48ba8b3e6feb728f0639797db1aa74aeaa2a57935b7565eec37cbd32eec826154e2c54075b121737369eb15af36c322c34b3cfd7930 SHA512 20bfa02b03c193672a9922f9a5e196185341e082a262f7c00d7c2d467d9e2d77f4af3994634923cfaeee34aa9eab510415165f052ffd9b1ed0b1b581e272898d
+DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca
+DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
+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 windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows-targets-0.52.5.crate 6376 BLAKE2B 1d39fd86380ab086c536d88e67b60956410b345790ccea62a25e6a700757b2a9cfa6dfeb7b86934cf47b981ea2e5f42dddf49780ad9829a551dc507fcf108641 SHA512 d00d7bc7eec3c10272e803ee5c9ea0d9b07c43311124dae975b4f5aae7408c5f2ccb2fe6e68228ea3d4e70b6b658382cac6992ea177f43a9cba2ef95c4fda0ee
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_gnullvm-0.52.5.crate 433266 BLAKE2B dee1b69cdf1fbd4143136909e4df3adaa7b80d7630a01ca9a42fc5ad0d5a4d9a9e2873b43c6d8e55de59f237d9199fad0768c4e1cda3b1e5354847bd70d4c79e SHA512 b4cf511025458fe30d5b11368af285610e1654a8986ea9f78fa81b8bb87d38a00c4869441c62692534df66d06baf14c8a4d17f8eb06468eb260b99e2fda6439d
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_aarch64_msvc-0.52.5.crate 827944 BLAKE2B 3bcb16d527be1dfdf18a9105ab259a064f00e949937ca423c8dcd1d2b90090d85aa7e42ca6ccc50c9baeee1aa144123d0a04643f9ff1147e62b2fce28b8a697b SHA512 c8974f81e37a43d92c4a8b142705e36b7acc58d9150d80ffa3997433da878044c467a2d9167ba792d37a183a0082d912500fea8c8fed743f395b63ca62a5758d
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_gnu-0.52.5.crate 875699 BLAKE2B 528ea431d080c5326e4c6ed316d9ea3e38b40c2e1322a12a432506a2c11555a94537661a0941e90c20eff4a9ce42c12539876dae6e77a1df18b522529928b309 SHA512 cc3e0362fb62dd5e8a855bda3be0177708ec8629ee9685f1f9aaac3f71a8cb082387388bdf49b09d3f5ee24a636b0b4f933d2c8bb75db434ee0192c8ce0547d2
+DIST windows_i686_gnullvm-0.52.5.crate 473064 BLAKE2B abe41ee330c05ee1366b3a835d15c6db3964ffd7b340ee69d215056b0d4b65c67f2782b0c04a55db64001098de87c93e2d447e25ef2a27f2cfa6685b8cf20c88 SHA512 da45c882248070911bf55698f62c245cb081a23254cdcf578df053905adb9117454235e52dcf1dd97c0d2248f92ff1d2fd3e18844a7be8d93ba08590c1eca22b
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_i686_msvc-0.52.5.crate 895404 BLAKE2B 02555169f8c5b944231a877de8693fc871ea0d7d33f52f60e164bacb35cec13d463af07c57fec4667948047cc222d8bda7f6a0be01a07e7184b69e4adc2b4577 SHA512 08c96f8e9385ac121549bae8ed228741b32004be20b2955d163a98d4b62af464f1682cb813681fa22823d20646f19335cf0a66203a876b105e119e05a4db0634
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnu-0.52.5.crate 831539 BLAKE2B 54f84c19988addeb7cbbbddb940e430e7345944589419592b99addf9b83bf6d801b18f4e80399b85bbb0b0ccf4608e36d9a50b79d8b1d6ce2b93745856e06eba SHA512 d9bf91765d02d2727344e42081f4bcfa73be97991495126f7e633f27e56a261ada3a8b865a559cfe71f9bc9aed5b14504f89138796766937b3521009726dfab8
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_gnullvm-0.52.5.crate 433246 BLAKE2B f34328a6d100e092ecb34a6305daedf4fecd71840432f104e8707f049b60d784584ce4f02fabdd0281fdb8bc7ebed34b38fdacf3be9c8abd60084e9a4ee9fd56 SHA512 22a978c40df9705cd94e4c52f2b706e477e667b564c608d0adb144b38cb486c279c09d1eb1dd2d6c7bd3401b75a2dc5eafe0f7d642ffe6453f394d1f59483a08
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
+DIST windows_x86_64_msvc-0.52.5.crate 827905 BLAKE2B fd5dac198bfbf29878cb461a7338c289c9af16ea80b3e5fa567980d2a6a5ea6a1cd83729ce6fd67e4da171873083dbeb1d6e16a287620f0245201f9cb29c29b4 SHA512 81176090dc725d7fe3867e6322fdc4a4065168580847b35e6f8da345f685c4f66a81e35cd1880dbaabdd4cdc82446dde9d6a0e583cf0b7fe47dda8bc8002f1c6
+DIST zeroize-1.7.0.crate 19039 BLAKE2B 2f94a5025f409bd2b96a456d2f78a34c6b05b5554abe7ef3fad2a55a8fcff8a6a1b971be660aa4c2954ab7d6e89bebc431036e349edef74711292f9f64b1dbae SHA512 9d31e3e76e8c861309a3579c21f6da5fd6b056c7d7a350427445a1a832e8827204804783f7f9b808acaa2148efef883d9078bf84943b1db55526bba5bf5a2756
diff --git a/dev-python/bcrypt/bcrypt-3.2.2.ebuild b/dev-python/bcrypt/bcrypt-3.2.2.ebuild
deleted file mode 100644
index 56ff17dcc747..000000000000
--- a/dev-python/bcrypt/bcrypt-3.2.2.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit 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"
-
-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 ~ppc-macos ~x64-macos ~sparc-solaris"
-
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.1:=[${PYTHON_USEDEP}]
- ' 'python*')
-"
-
-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/bcrypt/bcrypt-4.1.3.ebuild b/dev-python/bcrypt/bcrypt-4.1.3.ebuild
new file mode 100644
index 000000000000..a26e6135d302
--- /dev/null
+++ b/dev-python/bcrypt/bcrypt-4.1.3.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+CRATES="
+ autocfg@1.3.0
+ base64@0.22.1
+ bcrypt-pbkdf@0.10.0
+ bcrypt@0.15.1
+ bitflags@2.5.0
+ block-buffer@0.10.4
+ blowfish@0.9.1
+ byteorder@1.5.0
+ cfg-if@1.0.0
+ cipher@0.4.4
+ cpufeatures@0.2.12
+ crypto-common@0.1.6
+ digest@0.10.7
+ generic-array@0.14.7
+ getrandom@0.2.14
+ heck@0.4.1
+ indoc@2.0.5
+ inout@0.1.3
+ libc@0.2.154
+ lock_api@0.4.12
+ memoffset@0.9.1
+ once_cell@1.19.0
+ parking_lot@0.12.2
+ parking_lot_core@0.9.10
+ pbkdf2@0.12.2
+ portable-atomic@1.6.0
+ proc-macro2@1.0.81
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ quote@1.0.36
+ redox_syscall@0.5.1
+ scopeguard@1.2.0
+ sha2@0.10.8
+ smallvec@1.13.2
+ subtle@2.5.0
+ syn@2.0.60
+ target-lexicon@0.12.14
+ typenum@1.17.0
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.52.5
+ windows_aarch64_gnullvm@0.52.5
+ windows_aarch64_msvc@0.52.5
+ windows_i686_gnu@0.52.5
+ windows_i686_gnullvm@0.52.5
+ windows_i686_msvc@0.52.5
+ windows_x86_64_gnu@0.52.5
+ windows_x86_64_gnullvm@0.52.5
+ windows_x86_64_msvc@0.52.5
+ zeroize@1.7.0
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Modern password hashing for software and servers"
+HOMEPAGE="
+ https://github.com/pyca/bcrypt/
+ https://pypi.org/project/bcrypt/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~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
new file mode 100644
index 000000000000..be3bc8bb4e7f
--- /dev/null
+++ b/dev-python/beagle/beagle-0.3.0-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=setuptools
+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"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# setuptools is needed as rdepend, https://github.com/beaglecli/beagle/pull/14
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-2.11.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.18.4[${PYTHON_USEDEP}]
+"
+BDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/beagle/beagle-0.3.0.ebuild b/dev-python/beagle/beagle-0.3.0.ebuild
deleted file mode 100644
index 1ec4c1920523..000000000000
--- a/dev-python/beagle/beagle-0.3.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-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"
-KEYWORDS="~amd64 ~x86"
-
-# setuptools is needed as rdepend, https://github.com/beaglecli/beagle/pull/14
-RDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/cliff-2.11.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.18.4[${PYTHON_USEDEP}]
-"
-BDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/beartype/Manifest b/dev-python/beartype/Manifest
new file mode 100644
index 000000000000..ac4e1728b94e
--- /dev/null
+++ b/dev-python/beartype/Manifest
@@ -0,0 +1 @@
+DIST beartype-0.18.5.tar.gz 1193506 BLAKE2B 497de6f326a3b600992748db8b74ba80d4a14003a0cc484b3eeaf48f0f808864fe64462ef3315d421dc4b5fe5d7060b48585ee00eb822c9f124612f394ab93bb SHA512 114b256619c6c7fc48fbe28db00ae5a8ddea4ce11c5394a06fa026f0317a34907ff12ef0c0009cff7a7b83742e6b66bc8b503b4c0e382c0b6cf79d43780bda5b
diff --git a/dev-python/beartype/beartype-0.18.5.ebuild b/dev-python/beartype/beartype-0.18.5.ebuild
new file mode 100644
index 000000000000..cf8363a1d705
--- /dev/null
+++ b/dev-python/beartype/beartype-0.18.5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Unbearably fast runtime type checking in pure Python"
+HOMEPAGE="
+ https://pypi.org/project/beartype/
+ https://github.com/beartype/beartype/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv"
+
+BDEPEND="
+ test? (
+ dev-python/mypy[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fragile performance test
+ beartype_test/a00_unit/a70_decor/test_decorwrapper.py::test_wrapper_fail_obj_large
+ # test for building docs, apparently broken too
+ beartype_test/a90_func/z90_lib/a00_sphinx
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/beartype/metadata.xml b/dev-python/beartype/metadata.xml
new file mode 100644
index 000000000000..496068a9baca
--- /dev/null
+++ b/dev-python/beartype/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">beartype</remote-id>
+ <remote-id type="github">beartype/beartype</remote-id>
+ </upstream>
+</pkgmetadata>
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 6d51a91b9848..000000000000
--- a/dev-python/beautifulsoup4/beautifulsoup4-4.11.1.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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..fa1f017754ba
--- /dev/null
+++ b/dev-python/beautifulsoup4/beautifulsoup4-4.12.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pythonic idioms for iterating, searching, and modifying an HTML/XML parse tree"
+HOMEPAGE="
+ https://www.crummy.com/software/BeautifulSoup/bs4/
+ https://pypi.org/project/beautifulsoup4/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/soupsieve-1.3[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+"
+# bs4 prefers cchardet > chardet > charset-normalizer
+# however, charset-normalizer causes test failures, so force the other two
+# dev-python/chardet[${PYTHON_USEDEP}]
+BDEPEND="
+ test? (
+ || (
+ dev-python/cchardet[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc/source
diff --git a/dev-python/beniget/beniget-0.4.1-r1.ebuild b/dev-python/beniget/beniget-0.4.1-r1.ebuild
index 91647c33dfe8..2724ad10c0f4 100644
--- a/dev-python/beniget/beniget-0.4.1-r1.ebuild
+++ b/dev-python/beniget/beniget-0.4.1-r1.ebuild
@@ -1,24 +1,33 @@
-# Copyright 2021-2022 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..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 ppc ppc64 ~riscv ~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 e9c4a1c6fce3..000000000000
--- a/dev-python/berkeleydb/berkeleydb-18.1.5.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 ~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/bert/Manifest b/dev-python/bert/Manifest
deleted file mode 100644
index d9a59b801119..000000000000
--- a/dev-python/bert/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST bert-2.2.0.tar.gz 3541 BLAKE2B 3f1f87d5205e1098f7d170da5a4e331f9421151af536c106ce2de925082c48bc739df4bbe2294a2dbe8f65d2ccc24a1d5bb944ad90e80e558cb5032e4fd7c639 SHA512 417c9752362c6dc7ade8078f259d1674fcddd09b6af595694a9c31e886dbb523460413d4bf041db29afd4d67a9d639ef8f9254077c31d1593657ad52f8ef45a8
diff --git a/dev-python/bert/bert-2.2.0-r1.ebuild b/dev-python/bert/bert-2.2.0-r1.ebuild
deleted file mode 100644
index c23e0654aa0d..000000000000
--- a/dev-python/bert/bert-2.2.0-r1.ebuild
+++ /dev/null
@@ -1,21 +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_{8..9} )
-
-inherit distutils-r1
-
-DESCRIPTION="BERT Serialization Library"
-HOMEPAGE="https://pypi.org/project/bert/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-
-RDEPEND="dev-python/basho-erlastic[${PYTHON_USEDEP}]"
-
-PATCHES=( "${FILESDIR}/${PN}-2.0.0-remove-basestring-fix.patch" )
diff --git a/dev-python/bert/files/bert-2.0.0-remove-basestring-fix.patch b/dev-python/bert/files/bert-2.0.0-remove-basestring-fix.patch
deleted file mode 100644
index 3854e95cdb3a..000000000000
--- a/dev-python/bert/files/bert-2.0.0-remove-basestring-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/bert/codec.py 2018-03-07 20:11:38.117925147 -0800
-+++ b/bert/codec.py 2018-03-07 20:12:19.681258078 -0800
-@@ -92,7 +92,7 @@
- return (Atom("bert"), Atom("false"))
- elif obj is None:
- return (Atom("bert"), Atom("nil"))
-- elif isinstance(obj, basestring) and not self.__is_ascii(obj):
-+ elif isinstance(obj, str) and not self.__is_ascii(obj):
- return (Atom("bert"), Atom("string"), Atom(self.encoding.upper()), obj.encode(self.encoding))
- elif isinstance(obj, dict):
- return (Atom("bert"), Atom("dict"), [(self.convert(k), self.convert(v)) for k, v in obj.items()])
diff --git a/dev-python/bert/metadata.xml b/dev-python/bert/metadata.xml
deleted file mode 100644
index 780239f4c9ac..000000000000
--- a/dev-python/bert/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>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">bert</remote-id>
- <remote-id type="github">samuel/python-bert</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 979694e6cc4a..000000000000
--- a/dev-python/betamax-matchers/betamax-matchers-0.4.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 e7791ecd78cc..000000000000
--- a/dev-python/betamax/betamax-0.8.1-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 0367f3042790..26ee0e990245 100644
--- a/dev-python/bibtexparser/Manifest
+++ b/dev-python/bibtexparser/Manifest
@@ -1,2 +1 @@
-DIST bibtexparser-1.2.0.gh.tar.gz 88600 BLAKE2B f02fca0330f035b3d9051c04ab5da57232178c637d250839c3939780424d2be9afa619d7a7781cbc92917da12aeb5f35847a54f460823b46a2a717f4b0ca6f8e SHA512 c8775f17d963c6dc5cf3f9dda52c798b70c939cf4c7a90501194561abd7f2386d6681cc236615366a9d8917ad01238fc2e6a4299f98b50b594c74c99bdb3ecee
-DIST bibtexparser-1.3.0.gh.tar.gz 90408 BLAKE2B 64460dfeea6d2ab53faba99bc0dab261e63f63fed8a4bbcf87a6fd2f4e11c35f8f3606f0bbc4d9ab99f70a1e1d6bd1f85440f730fe787a7aadd36f79c004034f SHA512 0a62d3181e2f5c1eb097f1799b871749de4ae73f09d06e40937909f2aa53d1d1e3bc1b1061e14caa048a4fb95e69ae989c94427952d759336686606831c7ca09
+DIST bibtexparser-1.4.1.gh.tar.gz 97146 BLAKE2B 8040532fe2153ff6ec664631a11b4f61548f99198c565bb554d0fe09d1fa54ee368c08be72bf7e86c5b6ca696deb0210496d4772243a05c5c9b28d73f52e6dc5 SHA512 f8e8f911eac38e98362bbbeff5b4af986e426911db9c54e93ec4a4eee1b1ceed630222c1a51454639566a6b5bad60c86a70b882a1c05084927fcbe7315e837ce
diff --git a/dev-python/bibtexparser/bibtexparser-1.2.0-r2.ebuild b/dev-python/bibtexparser/bibtexparser-1.2.0-r2.ebuild
deleted file mode 100644
index 656fb45a6c81..000000000000
--- a/dev-python/bibtexparser/bibtexparser-1.2.0-r2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-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
-
-src_prepare() {
- # fixed in upstream 5f98bac62e8ff3c8ab6b956f288f1c61b99c6a5d
- sed -e 's:unittest2:unittest:' \
- -i bibtexparser/tests/test_crossref_resolving.py || die
- # remove obsolete dep
- sed -i -e "s:'future>=0.16.0'::" setup.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/bibtexparser/bibtexparser-1.3.0.ebuild b/dev-python/bibtexparser/bibtexparser-1.3.0.ebuild
deleted file mode 100644
index 107c6d6df9f2..000000000000
--- a/dev-python/bibtexparser/bibtexparser-1.3.0.ebuild
+++ /dev/null
@@ -1,30 +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_{8..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 621877a55687..000000000000
--- a/dev-python/binaryornot/binaryornot-0.4.4-r2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 cb67a620c3de..09be655b3ee4 100644
--- a/dev-python/bitarray/Manifest
+++ b/dev-python/bitarray/Manifest
@@ -1,2 +1 @@
-DIST bitarray-2.5.1.tar.gz 102533 BLAKE2B 655bf2f01d99a60efb84115190397f24b8a9a907f68270a7b310b2f20685616c69c41995a4090c8f4643b844da71045f3bee4e0d48aab6230b4aff04f045a3a6 SHA512 76efa732bb33d34b5b990958ac03d0038e29677808e64c0c6585661ff1d7f6a9511c9337a7aa3adb119ac68dcc676df49b7765a7e38cdab90d8e68af3b83380d
-DIST bitarray-2.6.0.tar.gz 102780 BLAKE2B aaabaa2e59f54970087224a569e793705d8753901b0fc93e9a40a0ae2466940768e8f547fe25b32c0194893bf5baa77851bcf1608d3f18d9b1d5c11f70579dec SHA512 c4deeee54af884dc9200ffe80a7788db64478383f1210ab7e3aa2adf94809d2e38ae817bf11611f49373b12ebfe23cbe5287786da08475cf9761fd8345c554d7
+DIST bitarray-2.9.2.tar.gz 132825 BLAKE2B dcd574f5273a876e8010513a433fbf657a0cdb37899b470ec4ba07d64af075a6d1660390e6dc040361537d115d4dc2abb9e21aa26601b5d8d9511a40408f7fc4 SHA512 fe7ea6fa35de53a0cbd1042cf7a596080690b94771d160b6659f085c969d29d8f816ffda14d3b3a16fb398573410cfdb53183704cf846e94af942b6dad9708fb
diff --git a/dev-python/bitarray/bitarray-2.5.1.ebuild b/dev-python/bitarray/bitarray-2.5.1.ebuild
deleted file mode 100644
index 7f20ddf0cdf8..000000000000
--- a/dev-python/bitarray/bitarray-2.5.1.ebuild
+++ /dev/null
@@ -1,24 +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_{8..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.0.ebuild b/dev-python/bitarray/bitarray-2.6.0.ebuild
deleted file mode 100644
index aa55ad485325..000000000000
--- a/dev-python/bitarray/bitarray-2.6.0.ebuild
+++ /dev/null
@@ -1,24 +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_{8..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/bitarray/metadata.xml b/dev-python/bitarray/metadata.xml
index fb88a275d37c..89e2ff60e023 100644
--- a/dev-python/bitarray/metadata.xml
+++ b/dev-python/bitarray/metadata.xml
@@ -10,16 +10,16 @@
<name>Python</name>
</maintainer>
<longdescription>
-This module provides an object type which efficiently represents an array of
-booleans. Bitarrays are sequence types and behave very much like usual lists.
-Eight bits are represented by one byte in a contiguous block of memory. The
-user can select between two representations; little-endian and big-endian.
-Most of the functionality is implemented in C. Methods for accessing the
-machine representation are provided. This can be useful when bit level access
-to binary files is required, such as portable bitmap image files (.pbm). Also,
-when dealing with compressed data which uses variable bit length encoding,
-you may find this module useful.
-</longdescription>
+ This module provides an object type which efficiently represents an array of
+ booleans. Bitarrays are sequence types and behave very much like usual lists.
+ Eight bits are represented by one byte in a contiguous block of memory. The
+ user can select between two representations; little-endian and big-endian.
+ Most of the functionality is implemented in C. Methods for accessing the
+ machine representation are provided. This can be useful when bit level access
+ to binary files is required, such as portable bitmap image files (.pbm). Also,
+ when dealing with compressed data which uses variable bit length encoding,
+ you may find this module useful.
+ </longdescription>
<upstream>
<remote-id type="pypi">bitarray</remote-id>
<remote-id type="github">ilanschnell/bitarray</remote-id>
diff --git a/dev-python/bitstring/Manifest b/dev-python/bitstring/Manifest
index da64d2dfa855..c471b470fc53 100644
--- a/dev-python/bitstring/Manifest
+++ b/dev-python/bitstring/Manifest
@@ -1 +1,2 @@
-DIST bitstring-3.1.9.tar.gz 408443 BLAKE2B 747ce06fc33681cbe63d706c2dace5ebce314aea1ba45f8a5a9d65f849bcf253fa9354e39fd80731af4845993e418f27232ede47c940367b8cb425867ffee8c9 SHA512 6dc9c8d683e4415dfd685153b350bd5462117c49c7d8fcd9b2a066f927d82bb2bfae1cc5df543dd38c5e65b93d453ad13d2937f9523b77b007b1234b24ba7be1
+DIST bitstring-4.1.4.tar.gz 232014 BLAKE2B fad74a1a2931504b44c7d95c4e88b058c17ee189ab7b4ec6987d1284c273329b7850cd1aff8e93eb6badf7d52284db006f1f1118ee5f871694f2bd5b4b10e449 SHA512 e05d983ac340565b193c4b4d5f7f5fceea3ba68f04c348ab42cd1d783ac64e1b1adb0ce9bcaac20335137f103d51df198421c7cfee1e5c1ad9f3c9b89b77b679
+DIST bitstring-4.2.1.tar.gz 249982 BLAKE2B f13212c3e4a6a516d045e5c6da3a2a943b05e5fa8f406b74d81972fc553d5032bec285766b7057bbaef5fc66aedcdb3f6efbbe72b89711dad7a451182801f419 SHA512 e54f5941b357d783e2951da8673cf38f6498d4e51949ab3200a05ce590208ca35ab7a300075013b6b2d6dfe6422cd81aa2d29b55c6a8088d9417d8c7a58f4716
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 67df75980669..000000000000
--- a/dev-python/bitstring/bitstring-3.1.9.ebuild
+++ /dev/null
@@ -1,26 +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_{8..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/bitstring/bitstring-4.2.1-r1.ebuild b/dev-python/bitstring/bitstring-4.2.1-r1.ebuild
new file mode 100644
index 000000000000..8d95c3d8d2a0
--- /dev/null
+++ b/dev-python/bitstring/bitstring-4.2.1-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="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"
+
+RDEPEND="
+ <dev-python/bitarray-3[${PYTHON_USEDEP}]
+ >=dev-python/bitarray-2.9.0[${PYTHON_USEDEP}]
+ <dev-python/gfloat-0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/black/Manifest b/dev-python/black/Manifest
index 72e1f49e703b..2fd1391260c6 100644
--- a/dev-python/black/Manifest
+++ b/dev-python/black/Manifest
@@ -1,3 +1,4 @@
-DIST black-22.1.0.tar.gz 1161720 BLAKE2B d74cbdd39dc1576583cee57089cb6d75a338f2d6640697adda79d38d02eeb51664049dca934d5014761d0fd4080ca2f40a3ea10c30e40bde9fe6af6c178b202c SHA512 9b97a3b32ecebebeb61ea581784a9b2215540c20533097fe87d5ef3c046dbe7c2ab8f2f21d1884cbe0ddd458434f17eb9b540764f955385873e6fdef86c3014c
-DIST black-22.3.0.tar.gz 1154456 BLAKE2B c89b43722839748dff0ce60debb684cd8eeae5ef5fb7e080f6b0031412381d7be121ce62ad252a67fa7930726243680a4bf183417611617be5af39722164289d SHA512 fc44576b93a6e158f625ad5444247f6a59a1ebcc7f0c73ed40d557a9a865457b297eabd492f01999e51ee3e5c3fa83f3d6e3c10937ecaa8c1d36f7541736d2e4
-DIST black-22.6.0.gh.tar.gz 1165070 BLAKE2B ce2eef529e230954a13913063dbb9000fa13f4debb2e5ed33605e8efe5c6d62fc1b3c0b7847c26ad931b9becae43fa23b15701a1672c1e056f729810020cc282 SHA512 72e4b4dfc69436e4dbee5a75ea72a1be69a26dc37a5e4d7edfb84d62736f0e0aba8d14420f3069798b568bd8ba916e8850f0c958afc9b6134ee8832e54d3dc4c
+DIST black-24.3.0.tar.gz 634292 BLAKE2B 9a853a0943ba081ecb7a4c22913b060607ac47fb90b70a9645358d681f3eab55707ad6fe9ad9928ba0d39a8adf5dfde0168598a8abcc24b823b407287cefaf82 SHA512 57e3b651009578f1d15b6e9ffb49d24be80885b2cf7ad48a68407862778ac2099d119e7ba6d58ddea4fc7fc21345435a7572a970baf882f763d9347868d5504b
+DIST black-24.4.0.tar.gz 635902 BLAKE2B 2821c0f4674524d3457fb8cbf1f1224d9c7e76abdbb1e47bcd4d488ff560a417b3ad57223318b28951c92c59d13c4a2894a323865a2be2859e7b7e891c54064c SHA512 3f9150faa36413ffff3a65f9f55b33a6b69b3abec5bf649bfc0662a92faa41edc76e90151e27a74f04bc3defc0687c898d54b2f137d16d13ea46e86670aa7a98
+DIST black-24.4.1.tar.gz 641335 BLAKE2B 996528509a71d8e2b8cb8e1ebf1beac5d2460d0759de77805645ca293a648aac8a658a4b9e6b239b591e9e4e43c0af66c7a972ca0b1ecc6d9aef911f559c0cff SHA512 057c2cc2ff47111487a46bfc50b961c719f92caaca49494a6cc57bb5e8aa19d0d47a7f3164421e104ef2815060e7d771a9532e970e07e1c2ce709b4cf7e99656
+DIST black-24.4.2.tar.gz 642299 BLAKE2B aa62394dc4a14fd6dd49502a86e46e7f707d6342127e2fb3b5cb7365ab392f5a0514df548d30219e9b6ed1f9d8ca80241ea206a06011ef8dc3d770191d3328ce SHA512 f3fb63fdbff947a217ad371939a6eaac1e818f58fb924516639f3c9469f0db6fbda8d4b207163d4a6db8a58a048fefe46fbfdb1ddf40f91348bd767208e60f35
diff --git a/dev-python/black/black-22.1.0.ebuild b/dev-python/black/black-22.1.0.ebuild
deleted file mode 100644
index a70984f43bf9..000000000000
--- a/dev-python/black/black-22.1.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1 optfeature
-
-MY_PV="${PV//_beta/b}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="The uncompromising Python code formatter"
-HOMEPAGE="https://black.readthedocs.io/en/stable/ https://github.com/psf/black"
-SRC_URI="https://github.com/psf/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/click-8.0.0[${PYTHON_USEDEP}]
- >=dev-python/mypy_extensions-0.4.3[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-3.10.0.0[${PYTHON_USEDEP}]
- ' python3_{8..9})
-"
-BDEPEND="
- >=dev-python/setuptools_scm-6.3.1[${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=${MY_PV}
-
-pkg_postinst() {
- optfeature "blackd - HTTP API for black" "dev-python/aiohttp dev-python/aiohttp-cors"
-}
diff --git a/dev-python/black/black-22.3.0.ebuild b/dev-python/black/black-22.3.0.ebuild
deleted file mode 100644
index f77d494b3379..000000000000
--- a/dev-python/black/black-22.3.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1 optfeature
-
-MY_PV="${PV//_beta/b}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="The uncompromising Python code formatter"
-HOMEPAGE="https://black.readthedocs.io/en/stable/ https://github.com/psf/black"
-SRC_URI="https://github.com/psf/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.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 ~x64-macos"
-
-RDEPEND="
- >=dev-python/click-8.0.0[${PYTHON_USEDEP}]
- >=dev-python/mypy_extensions-0.4.3[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-3.10.0.0[${PYTHON_USEDEP}]
- ' python3_{8..9})
-"
-BDEPEND="
- >=dev-python/setuptools_scm-6.3.1[${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=${MY_PV}
-
-pkg_postinst() {
- optfeature "blackd - HTTP API for black" "dev-python/aiohttp dev-python/aiohttp-cors"
-}
diff --git a/dev-python/black/black-22.6.0.ebuild b/dev-python/black/black-22.6.0.ebuild
deleted file mode 100644
index 60252504da8e..000000000000
--- a/dev-python/black/black-22.6.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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/platformdirs-2[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.9.0[${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/setuptools_scm-6.3.1[${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/black/black-24.4.1.ebuild b/dev-python/black/black-24.4.1.ebuild
new file mode 100644
index 000000000000..bbf320447679
--- /dev/null
+++ b/dev-python/black/black-24.4.1.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.2.ebuild b/dev-python/black/black-24.4.2.ebuild
new file mode 100644
index 000000000000..bbf320447679
--- /dev/null
+++ b/dev-python/black/black-24.4.2.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/metadata.xml b/dev-python/black/metadata.xml
index 725fca9aeaef..f3e7a2a98408 100644
--- a/dev-python/black/metadata.xml
+++ b/dev-python/black/metadata.xml
@@ -10,5 +10,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">black</remote-id>
+ <remote-id type="github">psf/black</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 cd9a7af8b9dc..d01aa6e4e3a5 100644
--- a/dev-python/bleach/Manifest
+++ b/dev-python/bleach/Manifest
@@ -1 +1 @@
-DIST bleach-5.0.1.tar.gz 199642 BLAKE2B 8d06dd38e89b91bf48f3481b5337b8d9700d8cc88faf3a260898b2b8f15ecf5c5160f96bff2c5ce02f361b773b0ce9a51322d9836dcc99b7878921846e8da182 SHA512 6c8e80eaf6db6f0e6d9066f3443192f44c489e079945b6d11b11e7eb270ea865011019e05d43c7896262dc11ca168e697630d9da8dca9f5bb48f0e2161fda6c8
+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 d7f60c6a72eb..000000000000
--- a/dev-python/bleach/bleach-5.0.1.ebuild
+++ /dev/null
@@ -1,46 +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_{8..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.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/bleach/files/bleach-6.0.0-py39.patch b/dev-python/bleach/files/bleach-6.0.0-py39.patch
new file mode 100644
index 000000000000..02ecb614c8b9
--- /dev/null
+++ b/dev-python/bleach/files/bleach-6.0.0-py39.patch
@@ -0,0 +1,48 @@
+From d6d734f6fbeee2c091212d42e3ea730a1230aad5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 24 Jan 2023 07:35:45 +0100
+Subject: [PATCH] Remove tests broken by py3.9
+
+---
+ tests/test_clean.py | 15 ---------------
+ 1 file changed, 15 deletions(-)
+
+diff --git a/tests/test_clean.py b/tests/test_clean.py
+index 73946a1..f798a15 100644
+--- a/tests/test_clean.py
++++ b/tests/test_clean.py
+@@ -551,31 +551,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>',
+--
+2.39.1
+
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 237141e22f4b..000000000000
--- a/dev-python/blessed/blessed-1.19.1.ebuild
+++ /dev/null
@@ -1,48 +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_{8..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 ~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/blessings/Manifest b/dev-python/blessings/Manifest
deleted file mode 100644
index ce7dba986e3b..000000000000
--- a/dev-python/blessings/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST blessings-1.7.tar.gz 22844 BLAKE2B 3694d3e421416bf876265fd0877240b2e0d61e8c58dfa63a6e74dd2f5efd2307cc4a0eef0e825adc0c0f37f6e78e15640362f9477c0dc5c89846416e16f180a9 SHA512 9b1e3eded3fa588c48898d88ba466836be8f25264ce908a2289504e8f13b01315ae1686ee34c0e3a44cdd2bf73da8c1b65e0aaf49ffc0e5b29c412a497c3d76e
diff --git a/dev-python/blessings/blessings-1.7-r1.ebuild b/dev-python/blessings/blessings-1.7-r1.ebuild
deleted file mode 100644
index 231b7fbf85b0..000000000000
--- a/dev-python/blessings/blessings-1.7-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A thin, practical wrapper around terminal coloring, styling, and positioning"
-HOMEPAGE="https://github.com/erikrose/blessings https://pypi.org/project/blessings/"
-# https://github.com/erikrose/blessings/pull/136
-SRC_URI="https://github.com/erikrose/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="amd64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-
-distutils_enable_sphinx docs
-distutils_enable_tests nose
-
-python_test() {
- # The tests need an interactive terminal
- # https://github.com/erikrose/blessings/issues/117
- script -eqc "nosetests -v -w \"${BUILD_DIR}\"" /dev/null \
- || die "tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/blessings/metadata.xml b/dev-python/blessings/metadata.xml
deleted file mode 100644
index b5accce9787a..000000000000
--- a/dev-python/blessings/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">blessings</remote-id>
- <remote-id type="github">erikrose/blessings</remote-id>
- <bugs-to>https://github.com/erikrose/blessings/issues</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/blinker/Manifest b/dev-python/blinker/Manifest
index 4c44c7dc7da0..3e4dbe9aebe0 100644
--- a/dev-python/blinker/Manifest
+++ b/dev-python/blinker/Manifest
@@ -1,2 +1,4 @@
-DIST blinker-1.4.tar.gz 111476 BLAKE2B a9ebe32bc01f7f08a5f180caa3d3830eaa10b7c0499c11ff4ceb71ed604f94dfbe4c783cc7409a57da28d6d69cc49d7861d05401802f86d054bdd2501f36cf60 SHA512 2f5f71b05c7cc27f5761ba698b05c78c8a491f5285c120e532d24be0c8256daa14e075f3f30e15fb18e7c3f16579af9378a155d058f170e3af9ffdb89e49f56e
-DIST blinker-1.5.tar.gz 27022 BLAKE2B 1e80d73653318ec6e263c66b8d5d3433ff1dc05e08af03442d99d83a9823b728fee86e6e64864932aa4961b11d28bee8ad7d6f56be6dbebd6dac48e610cdb835 SHA512 b1880fdc974be63e16e2b826bdbc8ee161bc0234591b8b41deed937a1e1b9d0bf1fb697c8e94644de9cc1900aedd39d08cfc3e59fef51abec295552f96418722
+DIST blinker-1.7.0.tar.gz 28134 BLAKE2B afff064a79ae7ab9fcee46c7eb3f6557bd9149be0a10cddfd13f969649a7aa57cec727cc6a10c54af2f676b8dc9be69beaf6521b5764555ac3e97fda7b68f5f8 SHA512 b55dc104fd69bf9f682184202f9da7cb6925e7e863f38d5ad5b4b5988b2315aae02da6f4c9f0ec34238b8d5b9b6eec52b06258d93e14416cda3e2b718d9aa60c
+DIST blinker-1.8.0.tar.gz 22598 BLAKE2B 80a08bc860acc049ea4bbc30dd23f74ed7b0507a6f4dd550a0fb946233445b930732300ddc2201f6217b0557c082fbc90774d64a587ed448d839ee1b085b0c09 SHA512 1862589712c8828b2d9b3d434f213017cd81b2de100290de126a0d796920bd34ac00a667cb3bc8811071c275001e4d1a0dd0cc3563d15ef4b2139769ae3d5ef3
+DIST blinker-1.8.1.tar.gz 23191 BLAKE2B 5d1b5016b24669b8f602beb650126a4da8a7aaee6d096200634206ae3ebcdcbb5d7f3bb554269a08e0aacba0dc7dcda1a2977aeb5c8ef5f38c81dc8892d786d5 SHA512 b6adada7f314369863070e830364833aade954e4cedca390643223d632c110a314856fb1c050402cad7e64959500c4d27d149ce7b682ee6bde99a69dc66ea495
+DIST blinker-1.8.2.tar.gz 23161 BLAKE2B 43254180a0486ee6787f7f02c17418524182529505c5a5d01abc1f151ef85bc736fc442d3e88d670e638c866537863476a2efdc1baf8e39017add9a1372749ed SHA512 037822e014974aaa9d6faf76805b09c06d697de9555cf4cd1265e639c52f72c5ed905e4698140b49a5e011806d91541636a7cf58082aabdd927c60dffd7df012
diff --git a/dev-python/blinker/blinker-1.4-r3.ebuild b/dev-python/blinker/blinker-1.4-r3.ebuild
deleted file mode 100644
index a7692210d62f..000000000000
--- a/dev-python/blinker/blinker-1.4-r3.ebuild
+++ /dev/null
@@ -1,34 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Fast, simple object-to-object and broadcast signaling"
-HOMEPAGE="
- https://pythonhosted.org/blinker/
- 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
-
-PATCHES=(
- # https://github.com/pallets-eco/blinker/pull/60
- "${FILESDIR}"/${P}-pytest.patch
-)
-
-python_install_all() {
- use doc && HTML_DOCS=( docs/html/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/blinker/blinker-1.5.ebuild b/dev-python/blinker/blinker-1.5.ebuild
deleted file mode 100644
index d016db3a3c01..000000000000
--- a/dev-python/blinker/blinker-1.5.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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/blinker-1.8.0.ebuild b/dev-python/blinker/blinker-1.8.0.ebuild
new file mode 100644
index 000000000000..9df417e40e36
--- /dev/null
+++ b/dev-python/blinker/blinker-1.8.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/blinker-1.8.1.ebuild b/dev-python/blinker/blinker-1.8.1.ebuild
new file mode 100644
index 000000000000..9df417e40e36
--- /dev/null
+++ b/dev-python/blinker/blinker-1.8.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=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/blinker-1.8.2.ebuild b/dev-python/blinker/blinker-1.8.2.ebuild
new file mode 100644
index 000000000000..9df417e40e36
--- /dev/null
+++ b/dev-python/blinker/blinker-1.8.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..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/files/blinker-1.4-pytest.patch b/dev-python/blinker/files/blinker-1.4-pytest.patch
deleted file mode 100644
index e5c2b04998b5..000000000000
--- a/dev-python/blinker/files/blinker-1.4-pytest.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 8238e16c699ce7f99f5ff3f80d03d332d72015f8 Mon Sep 17 00:00:00 2001
-From: pgajdos <pgajdos@suse.cz>
-Date: Wed, 8 Jul 2020 15:22:19 +0200
-Subject: [PATCH] use pytest instead of deprecated nose
-
----
- tests/test_signals.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/test_signals.py b/tests/test_signals.py
-index 2d6a65a..e74db47 100644
---- a/tests/test_signals.py
-+++ b/tests/test_signals.py
-@@ -4,7 +4,7 @@
-
- import blinker
-
--from nose.tools import assert_raises
-+import pytest
-
-
- jython = sys.platform.startswith('java')
-@@ -227,7 +227,7 @@ def receiver(sender, **kw):
- pass
- sig = blinker.Signal()
-
-- assert_raises(TypeError, sig.connect, receiver)
-+ pytest.raises(TypeError, sig.connect, receiver)
- assert not sig.receivers
- assert not sig._by_receiver
- assert sig._by_sender == {blinker.base.ANY_ID: set()}
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 4d8a506e18b7..000000000000
--- a/dev-python/blockdiag/blockdiag-3.0.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 4766b1342764..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 dev-python/reportlab
- (pdf's), media-gfx/imagemagick 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 3e4bd98e47ad..afe7d36fd126 100644
--- a/dev-python/blosc/Manifest
+++ b/dev-python/blosc/Manifest
@@ -1 +1 @@
-DIST python-blosc-1.10.6.gh.tar.gz 1570504 BLAKE2B 44f444fa5050a6198e83649973fc82d6804eec50bf79c332ed6a974e417f2a58baf09480a9bb5c5b7abcef2a961cd7bc61f962c12db625b1a7c48799ace0b39a SHA512 e283b132ebb91e7ce362ec65a1d6760e3793046371ea545a9e842372084182bcc194c3a0e1cb20914de58554063995a238ea0a129214731689e8cd5f4203d3ed
+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 42cd0539a1e7..000000000000
--- a/dev-python/blosc/blosc-1.10.6.ebuild
+++ /dev/null
@@ -1,52 +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_{8..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="MIT"
-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.1.ebuild b/dev-python/blosc/blosc-1.11.1.ebuild
new file mode 100644
index 000000000000..a6135a6ca9c4
--- /dev/null
+++ b/dev-python/blosc/blosc-1.11.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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+MY_P=python-blosc-${PV}
+DESCRIPTION="High performance compressor optimized for binary data"
+HOMEPAGE="
+ https://www.blosc.org/
+ https://github.com/Blosc/python-blosc/
+ https://pypi.org/project/blosc/
+"
+SRC_URI="
+ https://github.com/Blosc/python-blosc/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/c-blosc-1.19.0:=
+"
+DEPEND="
+ ${RDEPEND}
+"
+# py-cpuinfo dep is irrelevant for us, as it is only used to configure
+# bundled c-blosc build
+BDEPEND="
+ dev-python/scikit-build[${PYTHON_USEDEP}]
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( ANNOUNCE.rst README.rst RELEASE_NOTES.rst )
+
+src_configure() {
+ export USE_SYSTEM_BLOSC=1
+ export BLOSC_DIR="${EPREFIX}/usr"
+}
+
+python_test() {
+ "${EPYTHON}" -m blosc.test -v || die
+}
diff --git a/dev-python/bluelet/bluelet-0.2.0-r1.ebuild b/dev-python/bluelet/bluelet-0.2.0-r1.ebuild
index b4ad976914d4..fc51d182a147 100644
--- a/dev-python/bluelet/bluelet-0.2.0-r1.ebuild
+++ b/dev-python/bluelet/bluelet-0.2.0-r1.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_{8..11} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
diff --git a/dev-python/blurb/blurb-1.1.0.ebuild b/dev-python/blurb/blurb-1.1.0.ebuild
index 87908ccc5df1..1495cb48e340 100644
--- a/dev-python/blurb/blurb-1.1.0.ebuild
+++ b/dev-python/blurb/blurb-1.1.0.ebuild
@@ -1,20 +1,22 @@
-# Copyright 2018-2022 Gentoo Authors
+# Copyright 2018-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..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..087ee8e437c5 100644
--- a/dev-python/boltons/Manifest
+++ b/dev-python/boltons/Manifest
@@ -1 +1 @@
-DIST boltons-21.0.0.gh.tar.gz 241010 BLAKE2B e8c7cba3aadc40fbf40b784c8060d7b4f9d89457a4416c8fe9c733c3a35cf292609b2cc4e43e20a1308add6b854c3e00cb55274328a14699b3c704b73c189318 SHA512 5f5d642ab8ce0bc26133f4bd5059071bc86ca8e6619ebac796d522a0e4c39b958176ccc9de9a56e0448b24bdcf569e73f51011d5a9fc875bdef12a363f106018
+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 e678486c2262..000000000000
--- a/dev-python/boltons/boltons-21.0.0-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="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 ~riscv ~s390 ~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-24.0.0.ebuild b/dev-python/boltons/boltons-24.0.0.ebuild
new file mode 100644
index 000000000000..538ff7245a03
--- /dev/null
+++ b/dev-python/boltons/boltons-24.0.0.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=setuptools
+# py3.13: https://github.com/mahmoud/boltons/issues/365
+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 65646778da9a..caf874666e42 100644
--- a/dev-python/boolean-py/boolean-py-4.0.ebuild
+++ b/dev-python/boolean-py/boolean-py-4.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022 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=( pypy3 python3_{8..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 ~arm64 ~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 856265c3e616..000000000000
--- a/dev-python/booleanOperations/booleanOperations-0.9.0-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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-r4.ebuild b/dev-python/boto/boto-2.49.0-r4.ebuild
deleted file mode 100644
index 5e32f2f4e2b1..000000000000
--- a/dev-python/boto/boto-2.49.0-r4.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_SETUPTOOLS=bdepend
-
-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
-)
-
-RDEPEND=">=dev-python/six-1.12.0[${PYTHON_USEDEP}]"
-
-BDEPEND="
- 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
- : > "${HOME}"/.ssh/known_hosts || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- nosetests -v tests/unit ||
- die "Tests fail with ${EPYTHON}"
-}
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 b463a0e70a0f..8f3b2a34242b 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,3 +1,6 @@
-DIST boto3-1.24.36.gh.tar.gz 522156 BLAKE2B b76cb50f01ff85c960a0984f950e72f02ac6e85131fd344142b886a3c745cb8b9073f865527911b88c462912413fce6df4066752ab5eec8ad1561d349ad22437 SHA512 fe00e78cc522248c449f83f869bb7d76793db9aa436259e74d0aa25984a02876191a7df41b1ad7658b06e418f248ad616743698c87a5c9696f77a196a53c561e
-DIST boto3-1.24.41.gh.tar.gz 523844 BLAKE2B 0cff30d6aba5e8eddb8f545737e22a146ef9a3c33df2ad5b4f6d0ef8fd67cb46183eb7fa21e8a961d2597df8d965478bcb0038f5dda117611bcfe15f0de26eac SHA512 ad3a6035352c54f7ba0197357a5a4e001c8fe7548121a9a3931acb69f9c098feb8da1d1699ac98d3ff00626f39082753434f1c992351a82cf269ce2c6a4eab06
-DIST boto3-1.24.46.gh.tar.gz 524945 BLAKE2B f26235fb6993a9dd09fca562315c8ec7003f122fe63851eb7e9db47519b311557665998ba61dafbebcec825ff0b5ff55d329dfd41523b90a387bf590e6205eda SHA512 922423beac0f7ecefb44c474ba8a928f3faec0adc945fd06958c9ffdad612bbb3d0be9dbb68249bcb6cd12446f858c208346808239f37153e6631defb74189bf
+DIST boto3-1.34.100.gh.tar.gz 806339 BLAKE2B 42c4e98711f0d17ed36bbd15ef00f5c5d8383fa18ad8ac8006644cab0f905dc3694718af7d570e255a1bfdca347c3e8de3375fc3d36d5b9ed7decd46632831fc SHA512 bfd43f323a81782cc7cd251b91786a773f5a3d890d154a9cf4353480e2e68ba64faebf3c83936d9c03b4301c9749076787ef0290b90f20381c4eefe51cae4c3d
+DIST boto3-1.34.101.gh.tar.gz 806852 BLAKE2B 97c75d1d8bcbcf1120e0dce7d968796c1aafc69888fb93b56b0bb3871d1658aa4f887a478edb8ec743d4406c642eff30e28a2cd2a27ce7e68cc6023e3ad73e4a SHA512 0d1818f79672d40378476b8a05ec98a85cb0d4dfbdb504fbe586c4d84be58ee0afc5dd7f1243d06b7a1f1b7c18e4c7742c11312c4caf522b258df9763d9fab1f
+DIST boto3-1.34.88.gh.tar.gz 798806 BLAKE2B 2d3e02f0584e138a75acb68593bd88126641d4617c668062685406d3dc1913556bdf8b821ed3deb6cd9abae40e27a5e03fda35f5824c40a8028346868776de67 SHA512 9bbff2c0589cb2dbc5ca52f224f052c2a924117f16903c2ecad32d486a8b2d31fb9253c827c5819a5203c3ac349d1c990be24a413fab7e0b9c558e1b94ed8e9e
+DIST boto3-1.34.93.gh.tar.gz 802078 BLAKE2B 43f19efd6ae42bdb20e8dd79b1735df229ec2f231b5fe05006b26fcd5ddf4796a53fba6011c298fb919ee7b205b4ae3f4b563ad3b5325bdbbdebaeab7be59608 SHA512 4da1d9d7d8648e895f23763e5055a868d05bbfd8eb28d56e716975b3b8349bd1825d703f6fd11c316174004c39e1fca5ddcd8a4ad27a000e1a52f08a36eb4780
+DIST boto3-1.34.98.gh.tar.gz 805719 BLAKE2B 5cf7f0cc415e25c8b41aa464b636b1683f4e71198569f5eac3e6e43cef7050e20e92c3fd988517fc1463601073b41b0b9c668a58bb866d03b83973c9b9cd976a SHA512 06cab81bbf73a9c37b68e0312a7c587bace700b8032e283b6782c1275804ea7c93065c4282837957b5cf3523d50fe57319a54af494262e2666f65440da9771fd
+DIST boto3-1.34.99.gh.tar.gz 805967 BLAKE2B ca7314cce15772320cdb9f6636b39b3b6483c90f6ac69d499484d307cceb2a5372b291beee13be0280d3ddf91e4e45cfb1b86677604057f1f4eb544a137248fa SHA512 d1769862b8b5e278ee511907cfa710796399ee144cbec6d92c0d8ec546e298d0b58dfacdfdf0388217388a80d7a5dc543b45a7c81a1919685d01eb00890034f7
diff --git a/dev-python/boto3/boto3-1.24.36.ebuild b/dev-python/boto3/boto3-1.24.36.ebuild
deleted file mode 100644
index c93eb5e2d7c0..000000000000
--- a/dev-python/boto3/boto3-1.24.36.ebuild
+++ /dev/null
@@ -1,68 +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_{8..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.24.41.ebuild b/dev-python/boto3/boto3-1.24.41.ebuild
deleted file mode 100644
index 6edcc751d54b..000000000000
--- a/dev-python/boto3/boto3-1.24.41.ebuild
+++ /dev/null
@@ -1,68 +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_{8..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.24.46.ebuild b/dev-python/boto3/boto3-1.24.46.ebuild
deleted file mode 100644
index 6edcc751d54b..000000000000
--- a/dev-python/boto3/boto3-1.24.46.ebuild
+++ /dev/null
@@ -1,68 +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_{8..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.100.ebuild b/dev-python/boto3/boto3-1.34.100.ebuild
new file mode 100644
index 000000000000..2c733040b7a3
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.100.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.101.ebuild b/dev-python/boto3/boto3-1.34.101.ebuild
new file mode 100644
index 000000000000..2c733040b7a3
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.101.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.88.ebuild b/dev-python/boto3/boto3-1.34.88.ebuild
new file mode 100644
index 000000000000..51f4c7f3ec96
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.88.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.93.ebuild b/dev-python/boto3/boto3-1.34.93.ebuild
new file mode 100644
index 000000000000..2c733040b7a3
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.93.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.98.ebuild b/dev-python/boto3/boto3-1.34.98.ebuild
new file mode 100644
index 000000000000..2c733040b7a3
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.98.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.99.ebuild b/dev-python/boto3/boto3-1.34.99.ebuild
new file mode 100644
index 000000000000..2c733040b7a3
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.99.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 6edcc751d54b..000000000000
--- a/dev-python/boto3/boto3-9999.ebuild
+++ /dev/null
@@ -1,68 +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_{8..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 927ee8147d81..91a52e7bf7fc 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,3 +1,6 @@
-DIST botocore-1.27.36.gh.tar.gz 9465835 BLAKE2B c22c341d6e762316f3d8719bd8c1fd52140642739361a7ade326d739005dbd141a6b4e1798287b40bf7ba40cd5e158d36f195893d529f5ba375b06087d2122b9 SHA512 09ef156b3c0457ceef341bf26e3f060d3e91808f1da66d1dbb06ba2826be3c61e047383dc9d8a719bb8e172e91f6475f4613c14d30c57c6a909b51c8ba7334cc
-DIST botocore-1.27.41.gh.tar.gz 9493802 BLAKE2B dff510a658e77fe7185a8d118228cd80d06ea066328d39c56eaa8f01459dd11131ca73dcfe464a5e1403f8aceaa96065d5ea335bb268155c81c9b71299488d45 SHA512 29f419c4338e37bcc7fce38836b1f3b0ed1e552ea94cbe77ea09cd18c3c0b80d3405cd4a3468570c7eb6f1301bfed0d26dcc98feb7a1f62b9e8b1b11c61cdac5
-DIST botocore-1.27.46.gh.tar.gz 9502831 BLAKE2B 75b4ada461e43573c202efdf12201dad8af017ec85c82d0e7cf9ba1823dfd988d4432daef13891a9b8063003a37432a041847cedf46d4665305f486f498edd8c SHA512 1b7719f2216ea170b8739811da2e11acf033919d826c138aa069b19250036b1b2f2cf276d71e464afc6fff63ed99333e6cc321e84139b55e02dea365aa71adc3
+DIST botocore-1.34.100.gh.tar.gz 13011653 BLAKE2B a55c6de97f7223ef3bf425e9be5c8fb174bf6374b71009c05dca34c251ceeade0ff037980275f0a88f5dd853adbfa1a0e9ae3a7522d33386e4357470bf81883d SHA512 56704e4da97cd4d1f634c9b5a75e491999fda950fe79d3f27e8af1973dec50639f57d0d1251c037ef921930e3f81db5b7bbfd50bb54dbae32c7a1660d5f9fcde
+DIST botocore-1.34.101.gh.tar.gz 13012045 BLAKE2B dbcdc92d8b0577e69f841d5127fe2093d47fe1f0a7d147e143be12ee8d1841bbffb900beed2897ff15d5a65e2f4ec0bef03e837edb370a9b91c2652e3730e3fd SHA512 51f048f74af81f035392933332cd62ef9af152a18edfc5989bcd9b71ec7a1fcb482bcc2d8ce5f896ba3beb5e3246fd960452e3cc66e45d93c2518e2156b5a8ab
+DIST botocore-1.34.88.gh.tar.gz 12931548 BLAKE2B b3cc4c44ec0fa93798e842226487f293f0206b27a1fad834ecd3d4b02319da7d6ee67fad3a3a168f6dcdf8a822cd778c742d9c975738ef3bf4d9661963a83624 SHA512 bba25daa8c93ad5454e25089c062363b97a80c1004d670be6694b898b6d7735cbb92ec816b138093c48a89fe2bf5972a6d2dcf3da2a617141a460e265e506806
+DIST botocore-1.34.93.gh.tar.gz 12982900 BLAKE2B 3225279b85101e04da3be11f01ac3f4ca74cf77235fcb8878bc12d7aca61472155c8319329beb54ffe335f9da9023fb3ccce99256f3a31c6588389dfa1746de9 SHA512 505e8c9b3915b1c2da3863b62c85c392a58c12376c3e71493025445b7b672ba320474087b446fda876ffee5d6260909bc1d1442ff6dbfeb49fd6661d3d7840a1
+DIST botocore-1.34.98.gh.tar.gz 13008491 BLAKE2B 0b5c368264cc43c162d158b383535183c0fd0065dc6c5edfd3eaaab842d0607b3cc3b99860fa8dc4ef207b5be1457fce9d143723da29e262f30ecc82c5f9ba66 SHA512 39ccb0082ecd6ed6cc7d3f7cea01d39e8d5e92224e3290a66f86ed00562a1d858f75d006af725d2b857ac891f1b366300b7e4c2d24277d942b5a9b9e2cdba431
+DIST botocore-1.34.99.gh.tar.gz 13009270 BLAKE2B e686ee31b3e35bfad2a599cd316d2a2976553472cd5d92ad2371d9d6fe370e24c0299a577572487bd5132a02d723eb22097103a15e521a7872cdb3a78fd4533c SHA512 838b60198066fa6e49204bf8d765168cdfaa39bfd32449f632e7c89a55f2e3739e4dbdc886cf03cf313d12b06d81944b5dc58aaabdf4f309c63514e2c401f116
diff --git a/dev-python/botocore/botocore-1.27.36.ebuild b/dev-python/botocore/botocore-1.27.36.ebuild
deleted file mode 100644
index 5fd7a3278bbf..000000000000
--- a/dev-python/botocore/botocore-1.27.36.ebuild
+++ /dev/null
@@ -1,69 +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_{8..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
- )
-
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/botocore/botocore-1.27.41.ebuild b/dev-python/botocore/botocore-1.27.41.ebuild
deleted file mode 100644
index 6558cbe56a50..000000000000
--- a/dev-python/botocore/botocore-1.27.41.ebuild
+++ /dev/null
@@ -1,69 +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_{8..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
- )
-
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/botocore/botocore-1.27.46.ebuild b/dev-python/botocore/botocore-1.27.46.ebuild
deleted file mode 100644
index 6558cbe56a50..000000000000
--- a/dev-python/botocore/botocore-1.27.46.ebuild
+++ /dev/null
@@ -1,69 +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_{8..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
- )
-
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/botocore/botocore-1.34.100.ebuild b/dev-python/botocore/botocore-1.34.100.ebuild
new file mode 100644
index 000000000000..ba6cd2a5d2a2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.100.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.101.ebuild b/dev-python/botocore/botocore-1.34.101.ebuild
new file mode 100644
index 000000000000..ba6cd2a5d2a2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.101.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.88.ebuild b/dev-python/botocore/botocore-1.34.88.ebuild
new file mode 100644
index 000000000000..7a44b043295f
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.88.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.93.ebuild b/dev-python/botocore/botocore-1.34.93.ebuild
new file mode 100644
index 000000000000..ba6cd2a5d2a2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.93.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.98.ebuild b/dev-python/botocore/botocore-1.34.98.ebuild
new file mode 100644
index 000000000000..ba6cd2a5d2a2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.98.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.99.ebuild b/dev-python/botocore/botocore-1.34.99.ebuild
new file mode 100644
index 000000000000..ba6cd2a5d2a2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.99.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 6558cbe56a50..000000000000
--- a/dev-python/botocore/botocore-9999.ebuild
+++ /dev/null
@@ -1,69 +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_{8..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
- )
-
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/bottle/Manifest b/dev-python/bottle/Manifest
index 4b1105c6afb0..f3903aaa686c 100644
--- a/dev-python/bottle/Manifest
+++ b/dev-python/bottle/Manifest
@@ -1,2 +1 @@
-DIST bottle-0.12.21.tar.gz 74229 BLAKE2B 88674389d2c087a7416443d031995ee923a98b790eb85d81b625f11b2fb0baee35d90a3ee2dba5b9d4744a343a34396a50edef0f85a2d6f4f0f4da95bae31b5b SHA512 3d621f6684f439a4a5718ad25e8b45eb0d1100cd565ec5b797adf67141e01d835cde671e687f5515cb6eab69bb465e9c7d004131634609266c2e1b69b0adbf43
-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.21.ebuild b/dev-python/bottle/bottle-0.12.21.ebuild
deleted file mode 100644
index 5f1690c5bbf0..000000000000
--- a/dev-python/bottle/bottle-0.12.21.ebuild
+++ /dev/null
@@ -1,55 +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_{8..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"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- dev-python/mako[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/bottle-0.12.8-py3.5-backport.patch
- "${FILESDIR}"/bottle-0.12.19-py311.patch
-)
-
-python_prepare_all() {
- sed -i -e '/scripts/d' setup.py || die
-
- # Remove test file requring connection to network
- rm test/test_server.py || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- "${EPYTHON}" test/testall.py || die "tests failed under ${EPYTHON}"
-}
-
-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.23.ebuild b/dev-python/bottle/bottle-0.12.23.ebuild
deleted file mode 100644
index 41a0b614f742..000000000000
--- a/dev-python/bottle/bottle-0.12.23.ebuild
+++ /dev/null
@@ -1,46 +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_{8..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.19-py311.patch b/dev-python/bottle/files/bottle-0.12.19-py311.patch
deleted file mode 100644
index c7c36c3a37ee..000000000000
--- a/dev-python/bottle/files/bottle-0.12.19-py311.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 232f671fd0a28d435550afc4e2a9fde63c9e0db2 Mon Sep 17 00:00:00 2001
-From: Riley Banks <waultah@gmail.com>
-Date: Sun, 11 Oct 2015 10:21:43 +0100
-Subject: [PATCH] Implement getargspec using inspect.Signature
-
----
- bottle.py | 20 +++++++++++++++++++-
- 1 file changed, 19 insertions(+), 1 deletion(-)
-
-diff --git a/bottle.py b/bottle.py
-index 9806efd..18ed730 100644
---- a/bottle.py
-+++ b/bottle.py
-@@ -41,9 +41,27 @@ import base64, cgi, email.utils, functools, hmac, itertools, mimetypes,\
- from datetime import date as datedate, datetime, timedelta
- from tempfile import TemporaryFile
- from traceback import format_exc, print_exc
--from inspect import getargspec
- from unicodedata import normalize
-
-+# inspect.getargspec was removed in Python 3.6, use
-+# Signature-based version where we can (Python 3.3+)
-+try:
-+ from inspect import signature
-+ def getargspec(func):
-+ params = signature(func).parameters
-+ args, varargs, keywords, defaults = [], None, None, []
-+ for name, param in params.items():
-+ if param.kind == param.VAR_POSITIONAL:
-+ varargs = name
-+ elif param.kind == param.VAR_KEYWORD:
-+ keywords = name
-+ else:
-+ args.append(name)
-+ if param.default is not param.empty:
-+ defaults.append(param.default)
-+ return (args, varargs, keywords, tuple(defaults) or defaults)
-+except ImportError:
-+ from inspect import getargspec
-
- try: from simplejson import dumps as json_dumps, loads as json_lds
- except ImportError: # pragma: no cover
---
-2.35.1
-
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/bottle/files/bottle-0.12.8-py3.5-backport.patch b/dev-python/bottle/files/bottle-0.12.8-py3.5-backport.patch
deleted file mode 100644
index 86e1ac04bc41..000000000000
--- a/dev-python/bottle/files/bottle-0.12.8-py3.5-backport.patch
+++ /dev/null
@@ -1,36 +0,0 @@
- test/test_environ.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/test/test_environ.py b/test/test_environ.py
-old mode 100755
-new mode 100644
-index 2b8079b..2feebe3
---- a/test/test_environ.py
-+++ b/test/test_environ.py
-@@ -592,7 +592,7 @@ class TestResponse(unittest.TestCase):
- r.set_cookie('name2', 'value', max_age=datetime.timedelta(days=1))
- cookies = sorted([value for name, value in r.headerlist
- if name.title() == 'Set-Cookie'])
-- self.assertEqual(cookies[0], 'name1=value; Max-Age=5')
-+ self.assertEqual(cookies[0].lower(), 'name1=value; max-age=5')
- self.assertEqual(cookies[1], 'name2=value; Max-Age=86400')
-
- def test_set_cookie_expires(self):
-@@ -602,7 +602,7 @@ class TestResponse(unittest.TestCase):
- r.set_cookie('name2', 'value', expires=datetime.datetime(1970,1,1,0,0,43))
- cookies = sorted([value for name, value in r.headerlist
- if name.title() == 'Set-Cookie'])
-- self.assertEqual(cookies[0], 'name1=value; expires=Thu, 01 Jan 1970 00:00:42 GMT')
-+ self.assertEqual(cookies[0].lower(), 'name1=value; expires=thu, 01 jan 1970 00:00:42 gmt')
- self.assertEqual(cookies[1], 'name2=value; expires=Thu, 01 Jan 1970 00:00:43 GMT')
-
- def test_delete_cookie(self):
-@@ -611,7 +611,7 @@ class TestResponse(unittest.TestCase):
- response.delete_cookie('name')
- cookies = [value for name, value in response.headerlist
- if name.title() == 'Set-Cookie']
-- self.assertTrue('name=;' in cookies[0])
-+ self.assertTrue('Max-Age=-1' in cookies[0])
-
- def test_set_header(self):
- response = BaseResponse()
diff --git a/dev-python/bottle/metadata.xml b/dev-python/bottle/metadata.xml
index 77a8953e987f..c1750f0a3e4f 100644
--- a/dev-python/bottle/metadata.xml
+++ b/dev-python/bottle/metadata.xml
@@ -1,12 +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">bottle</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">bottle</remote-id>
+ <remote-id type="github">bottlepy/bottle</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/bottleneck/Manifest b/dev-python/bottleneck/Manifest
index 354f8498053b..4626db60907c 100644
--- a/dev-python/bottleneck/Manifest
+++ b/dev-python/bottleneck/Manifest
@@ -1 +1 @@
-DIST bottleneck-1.3.5.gh.tar.gz 118989 BLAKE2B 5b9338a77cb3f0253348f45e641dca9fce11b50fb632e697272203870dd604730c08f1adc94ebf9c6c21f551e3f06b5492bcb036d6f40eaec8853d08ca298873 SHA512 9a0f224337fd9d5c741a1e469197be26923eaffb143eddfe0969128ddc233c799da6a5f2ba4ef22f6267cf93e7f748c140fbb16f57149ad327c47fe87ffc3346
+DIST Bottleneck-1.3.8.tar.gz 103252 BLAKE2B 1e520e33eaa86b7328d469a8de2f0cacedb401f9dab3686cad40132caa23e77055b71e630fadda9305f3d416e8958e9762053e6d46afba4cf15489db77418b67 SHA512 951a927ce368643e2ccb5154c05381ce9ff17bc703c0bcd85eab547e345601ad82eb1dc85fa16d667753bf3dc9d0296025984dae463a0153944a85a085331a8e
diff --git a/dev-python/bottleneck/bottleneck-1.3.5.ebuild b/dev-python/bottleneck/bottleneck-1.3.5.ebuild
deleted file mode 100644
index d1a52a75700d..000000000000
--- a/dev-python/bottleneck/bottleneck-1.3.5.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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
-
-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 82fee5093f84..a92edc89a76d 100644
--- a/dev-python/bpython/Manifest
+++ b/dev-python/bpython/Manifest
@@ -1 +1 @@
-DIST bpython-0.22.1.tar.gz 217294 BLAKE2B 907b51753182add775d3e2ba08c3999d30ba23ab13d59f364d03ce5f22191e1a90031f7c3b5477fd00c94342a5ee204aa2618a7cd1a9470bbc898cfc266ba9bd SHA512 6b29235c41b645c3658812b8c80637d1e76029a6386f8628e5c681b2f3fdea653f89a12f4e28f55381464755e04fa7a33f023f096e75d889d5a588222c0d06c3
+DIST bpython-0.24.tar.gz 222879 BLAKE2B d74276c2da25e4c9f4440af3c26bd69b08baa3f6f8ae04f55ace2a159c5d839711b6f969dcaae831bc680273bc6f4f8e7f9297751534ae14d76fb06e6bc4be48 SHA512 f95e853ad5aaba476cf0bcc197ae1d322af4a458637f8445372b54b75d315d3caae7a3f8b7d8c6d1bd2c4307c36b21cf320b22c367990bd0b9bfbf42a5e02267
diff --git a/dev-python/bpython/bpython-0.22.1.ebuild b/dev-python/bpython/bpython-0.22.1.ebuild
deleted file mode 100644
index 83c4d7432f7a..000000000000
--- a/dev-python/bpython/bpython-0.22.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 urwid watch"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/curtsies-0.3.5[${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}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- clipboard? ( dev-python/pyperclip[${PYTHON_USEDEP}] )
- jedi? ( dev-python/jedi[${PYTHON_USEDEP}] )
- urwid? ( dev-python/urwid[${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
new file mode 100644
index 000000000000..7d9e77da6a36
--- /dev/null
+++ b/dev-python/bpython/bpython-0.24.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..11} )
+
+inherit distutils-r1 pypi
+
+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/
+"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="clipboard +jedi watch"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+# see https://github.com/bpython/bpython/issues/641 wrt greenlet
+RDEPEND="
+ >=dev-python/curtsies-0.4.0[${PYTHON_USEDEP}]
+ dev-python/cwcwidth[${PYTHON_USEDEP}]
+ 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/wheel[${PYTHON_USEDEP}]
+ 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/metadata.xml b/dev-python/bpython/metadata.xml
index 3cf444ad947c..78a1f182aec0 100644
--- a/dev-python/bpython/metadata.xml
+++ b/dev-python/bpython/metadata.xml
@@ -15,8 +15,6 @@
using <pkg>dev-python/pyperclip</pkg></flag>
<flag name="jedi">Enable autocompletion
using <pkg>dev-python/jedi</pkg></flag>
- <flag name="urwid">Ebable
- <pkg>dev-python/urwid</pkg>-based interface</flag>
<flag name="watch">Enable watching paths
using <pkg>dev-python/watchdog</pkg></flag>
</use>
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 8ac52e0eef59..000000000000
--- a/dev-python/bracex/bracex-2.3_p1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~riscv 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 abdeaa07b861..5d623f79cc86 100644
--- a/dev-python/braintree/Manifest
+++ b/dev-python/braintree/Manifest
@@ -1,2 +1,3 @@
-DIST braintree-4.15.2.gh.tar.gz 207089 BLAKE2B 5ed62e341c05e254cf3bec47f91704670bb57873be995352ce1e427e8075aee6193e11cbd863074b1ae39ddbf2c1a77f7c0207ffa9c8b7ca9335e2beeed42f29 SHA512 324823a078bc4068577793b169dd6b3d67e05d77850cebfe09602c0f6c3626ef1098f612c0ddfb7cc72b4b734d7319944c30297658f77edaf906334d27393f13
-DIST braintree_python-4.16.0.gh.tar.gz 211927 BLAKE2B 335215a538f00b04bda607887c582c1f55fcf3918f5c662f435791889cfc4f813a1e4362056bd8c5e4d907a77cf2eab11463bf1b5b839ce615350fa1614adad8 SHA512 6eaed1dec96032f3522e59e66c64ab674324518b7086ed9aefd2cdd5ae70e2d3e114a2e422f3edcae47dd95a5f332182dd65800cacb20bcbdf7e01a1e96498bb
+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.15.2.ebuild b/dev-python/braintree/braintree-4.15.2.ebuild
deleted file mode 100644
index d328d1adc899..000000000000
--- a/dev-python/braintree/braintree-4.15.2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Braintree Python Library"
-HOMEPAGE="
- https://developers.braintreepayments.com/python/sdk/server/overview
- https://github.com/braintree/braintree_python
-"
-SRC_URI="
- https://github.com/braintree/braintree_python/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${PN}_python-${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/requests-0.11.1[${PYTHON_USEDEP}]
-"
-
-DOCS=( README.md )
-
-distutils_enable_tests nose
-
-python_test() {
- distutils-r1_python_test tests/unit
-}
diff --git a/dev-python/braintree/braintree-4.16.0.ebuild b/dev-python/braintree/braintree-4.16.0.ebuild
deleted file mode 100644
index d7355667355f..000000000000
--- a/dev-python/braintree/braintree-4.16.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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 nose
-
-python_test() {
- nosetests -v tests/unit || die
-}
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 653ebdf4f02d..000000000000
--- a/dev-python/breathe/breathe-4.34.0.ebuild
+++ /dev/null
@@ -1,36 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx Doxygen renderer"
-HOMEPAGE="
- https://breathe.readthedocs.io/en/latest/
- https://github.com/michaeljones/breathe/
-"
-SRC_URI="
- https://github.com/michaeljones/breathe/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- app-doc/doxygen
- dev-python/docutils[${PYTHON_USEDEP}]
- >=dev-python/sphinx-4.0.0[${PYTHON_USEDEP}]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/breathe/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.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/breathe/metadata.xml b/dev-python/breathe/metadata.xml
index e3ae2e327501..8348e294cac4 100644
--- a/dev-python/breathe/metadata.xml
+++ b/dev-python/breathe/metadata.xml
@@ -16,6 +16,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">breathe</remote-id>
- <remote-id type="github">michaeljones/breathe</remote-id>
+ <remote-id type="github">breathe-doc/breathe</remote-id>
</upstream>
</pkgmetadata>
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-r1.ebuild b/dev-python/brotlicffi/brotlicffi-1.0.9.2-r1.ebuild
deleted file mode 100644
index 4ea6fd766724..000000000000
--- a/dev-python/brotlicffi/brotlicffi-1.0.9.2-r1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2022 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_{8..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="
- 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 3f4d6ba10270..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.9.0.tar.gz 10232037 BLAKE2B 4dc70efa14174f90cddd72ba9c07afd7be4fc81cde3f9ace7b5f015acd4cc18e9ab222aded496523f7298cb7ecb93c1d691fda818ef9fe15fabbb876143af487 SHA512 fcacc6f5e959afd2c84980eb0a650028ad018f4ebda05c53ef0a73ef5a8e1b4a28b2940c08f6b5e82bb52975b671610ad47e42de0d6d3030a6b9f5af02784c20
+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.10.5.ebuild b/dev-python/brython/brython-3.10.5.ebuild
index 602b1b187069..47a5cff01c53 100644
--- a/dev-python/brython/brython-3.10.5.ebuild
+++ b/dev-python/brython/brython-3.10.5.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_{8..10} )
+PYTHON_COMPAT=( python3_{9..10} )
inherit webapp python-single-r1
DESCRIPTION="Python 3 implementation for client-side web programming"
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/brython-3.11.ebuild b/dev-python/brython/brython-3.11.ebuild
new file mode 100644
index 000000000000..795b8ca9a91d
--- /dev/null
+++ b/dev-python/brython/brython-3.11.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..10} )
+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/brython-3.9.0.ebuild b/dev-python/brython/brython-3.9.0.ebuild
deleted file mode 100644
index 864d481de5dd..000000000000
--- a/dev-python/brython/brython-3.9.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9} )
-
-inherit webapp python-single-r1
-
-DESCRIPTION="A 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}.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 90b29c9b3175..000000000000
--- a/dev-python/bsddb3/bsddb3-6.2.9.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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..e4998b6d3298
--- /dev/null
+++ b/dev-python/btrfs/Manifest
@@ -0,0 +1,2 @@
+DIST btrfs-13.gh.tar.gz 93110 BLAKE2B 286e5d1d9aa66ce5072f2fe144b2da6bbcde65dd90eb21efe1eb69b9aaa3230d76e8b8baffcfd269ce5d53e1004b5fc6c5546125bc1a5c26413ba8abc66f068a SHA512 5117b9c6542fe191eccbed56a15bb5d8eadc2d3c0edd986a3e1a33d0b63f58c3db5e7f6d234c43a83d1cc74eea3e106c5882a92926c3087601edc36e6672721f
+DIST btrfs-14.1.gh.tar.gz 94011 BLAKE2B f1a0e7f2988417acb8f66fe28b95ea90e8c6c5dea7161730c2c4657d052d84425d26d3ef91b40194c24d9725687ca84104e45b33f258006c6ccb83269869fdee SHA512 384bea01cc459894aced5923b3f2e874c896412a2c51e56f14390aa9d882bb6827b2c40a8dd7e083ee421de2b3a2411912581b617644075499da65d16eb4f6b6
diff --git a/dev-python/btrfs/btrfs-13.ebuild b/dev-python/btrfs/btrfs-13.ebuild
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/btrfs-14.1.ebuild b/dev-python/btrfs/btrfs-14.1.ebuild
new file mode 100644
index 000000000000..3a0f90e77422
--- /dev/null
+++ b/dev-python/btrfs/btrfs-14.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=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}"
+
+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 34a325b4b6e6..870963f6d9b7 100644
--- a/dev-python/build/Manifest
+++ b/dev-python/build/Manifest
@@ -1 +1,2 @@
-DIST build-0.8.0.gh.tar.gz 40020 BLAKE2B 17422c8fe23d4103c78bd9d98702646f0863abfea4ff5df425942eb71aa905d8171567976228681afa90f453131ccce4701128b4f73b61acf4158ea2758c5c9e SHA512 62eaabef36fae592b06c41623f8f36750a029263a65c8fa21ad58b24ef30d4fa8eef7588237a68efb9a9784676f35605a8c9a6b2ed1bc6844c32924f9b5ec377
+DIST build-1.1.1.gh.tar.gz 44605 BLAKE2B aa1d554d55007e8cb715981938bb8765230ae5ddc6c5bc29efeb52c0e18b6337a13c27f3389772a83cc0ecc9b7d3e889fbc305e91f1290424d7031a1782f683f SHA512 5fa64b07f2c22faca074d1447f5fcb12b7ad40e5fe897f034901d7932d8a9aa2c1dfa806d373503246255d7d9a2429b336384a980376f4ae7c810ae275b735da
+DIST build-1.2.1.gh.tar.gz 47394 BLAKE2B d38a138dee5065ff0faee453bdc608fc519bc4b4a3cec8b60cf4f745288f8238dd7e9334f75bdd67765037a62b220079ce924c6581f745eb3750e732b2184d48 SHA512 77003e16d3776c3a4be920251bf14650eea112b92d94116cb1893195b8e16aae57321206ae63267119247f2794f220c891b7d913e07a8258b313d34c07d54fe9
diff --git a/dev-python/build/build-0.8.0.ebuild b/dev-python/build/build-0.8.0.ebuild
deleted file mode 100644
index 0aadcca52b3a..000000000000
--- a/dev-python/build/build-0.8.0.ebuild
+++ /dev/null
@@ -1,68 +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_{8..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.1.ebuild b/dev-python/build/build-1.2.1.ebuild
new file mode 100644
index 000000000000..b0a8d0312cff
--- /dev/null
+++ b/dev-python/build/build-1.2.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13 )
+
+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 ppc 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? (
+ $(python_gen_cond_dep '
+ >=dev-python/filelock-3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-rerunfailures-9.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-1.34[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-56.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.36.0[${PYTHON_USEDEP}]
+ test-rust? (
+ !sparc? ( dev-python/uv )
+ )
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # broken by the presence of flit_core
+ tests/test_util.py::test_wheel_metadata_isolation
+ # broken by the presence of virtualenv (it changes the error
+ # messages, sic!)
+ 'tests/test_main.py::test_output[via-sdist-isolation]'
+ 'tests/test_main.py::test_output[wheel-direct-isolation]'
+ # broken when built in not normal tty on coloring
+ tests/test_main.py::test_colors
+ 'tests/test_main.py::test_output_env_subprocess_error[color]'
+ # Internet
+ 'tests/test_main.py::test_verbose_output[False-0]'
+ 'tests/test_main.py::test_verbose_output[False-1]'
+ # broken by uv being installed outside venv
+ tests/test_env.py::test_external_uv_detection_success
+ )
+
+ if ! has_version "dev-python/uv"; then
+ EPYTEST_DESELECT+=(
+ tests/test_env.py::test_uv_impl_install_cmd_well_formed
+ 'tests/test_env.py::test_venv_creation[uv-venv+uv-None]'
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_XDIST=1
+ epytest -m "not network" -p pytest_mock -p rerunfailures
+}
diff --git a/dev-python/cachecontrol/Manifest b/dev-python/cachecontrol/Manifest
index 50764c5390a3..39f6e1b02ccc 100644
--- a/dev-python/cachecontrol/Manifest
+++ b/dev-python/cachecontrol/Manifest
@@ -1 +1 @@
-DIST cachecontrol-0.12.11.gh.tar.gz 41338 BLAKE2B 09ce2336216b69dbe9796d658db9f5b0d378259484cba3a78ecd789843e19683adc2b1b90d579cea8700d07ed55a93ecc3a56e5da2c8ab025e5084d2847d4dbf SHA512 be1c91f58edda36192f1267a8fdfdc50685ff57da5d84f5348b608982327993333f18f5c318a20cf258b16d2bc83272ba58317e8c4c44a84d5d1f93b522dfc8b
+DIST cachecontrol-0.14.0.tar.gz 28899 BLAKE2B 158d70333b8e5cbbee31db788c9737a92592c3c342d17e4e1ff4826759e3fe14eb855556f9363c122fbf3fd68ca43a78b34b3327260fe51a15b30dde01302508 SHA512 4bb43475d43a2b83f9196cf02af7a881ab37da3b481777f1ae6b24df0f7dab54629fcdf9e07b00e1226a7707f5c92b0473481ef7cbbcaa4275665a41487c903f
diff --git a/dev-python/cachecontrol/cachecontrol-0.12.11.ebuild b/dev-python/cachecontrol/cachecontrol-0.12.11.ebuild
deleted file mode 100644
index 415ebf228fa9..000000000000
--- a/dev-python/cachecontrol/cachecontrol-0.12.11.ebuild
+++ /dev/null
@@ -1,37 +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_{8..10} 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="~amd64"
-
-RDEPEND="
- >=dev-python/msgpack-0.5.2[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/lockfile[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild b/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild
new file mode 100644
index 000000000000..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 7fa864416e1c..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
@@ -1,16 +1,16 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..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 8407e64db8b8..d095229779f1 100644
--- a/dev-python/cachelib/Manifest
+++ b/dev-python/cachelib/Manifest
@@ -1 +1 @@
-DIST cachelib-0.9.0.gh.tar.gz 26407 BLAKE2B 8b1b6c725f5869fda4752db64ab4ee9ee9c748f0ed7e73cb5a9967d18d461cc29779a1e3dc18fcf4b9152f9586ed342fb97e75b4a9b7cb6f5efdeee02f8cf13e SHA512 53b214ba95b0e368e48ddc1e9f904497055e4c37deb0d1946419c3b294eb0e999ea690f2b79bd4801ad80201fb823927bc2024cc493006e20f623955850bba71
+DIST cachelib-0.13.0.gh.tar.gz 31116 BLAKE2B fcb5f065778533bbe9200c77f12d374a62111c5dc26e366c07ea0986bba138a97c56de0440dd3b4a5603b8700ec8035b65ebe95d48e4dcf60c03f78a2215f128 SHA512 6b58f3823d1169ca1e25a5accc7a51752e26c8e7f62b58a571b0de4d8792dd6c3eb3d3c60f3843653b7aaa17177a1d6d56e442ceb6b69a486d76511003ff97b2
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..14e98fc303ac
--- /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 17a91a59b9b2..000000000000
--- a/dev-python/cachelib/cachelib-0.9.0.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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 f5b230471913..94f7b1d875a1 100644
--- a/dev-python/cachetools/Manifest
+++ b/dev-python/cachetools/Manifest
@@ -1 +1 @@
-DIST cachetools-5.2.0.tar.gz 27342 BLAKE2B 905986bca98996fbc74c74bc5710b429ae63b4bf6283a3910e83a92cac461ef4a0271b1691a694fe8ecacf38eeeb921d7345c9e015f1400705662081d5e29dbd SHA512 e12766aef1725091edcdd0ef3687b891242f711de069c0d0642680d61dcca79e645e6ecb5f2e22470f189aba59daa2b5a830dc76791256517368f8912a065eef
+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 a6ee88f5bf22..000000000000
--- a/dev-python/cachetools/cachetools-5.2.0.ebuild
+++ /dev/null
@@ -1,22 +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_{8..11} )
-
-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 ~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 b9dae2d62c3c..1dc1807d7404 100644
--- a/dev-python/cairocffi/Manifest
+++ b/dev-python/cairocffi/Manifest
@@ -1 +1,2 @@
-DIST cairocffi-1.3.0.tar.gz 88784 BLAKE2B 022634825febd3d70a0115f0632e9b146719a2ab802583e0f57ebbd36c65c9e73f4547dbc5ea3651b8b38a043d519f000e908c34b77f3bf49e2ed5ded1a0ca02 SHA512 be459a5f4c1986cf339b7b15fdb7d3ac52476c8c31ff663b4708917ce8abd6fc66860d1966744b69aebf7aebca4415b32166df79505ad42f315ffd76d7163d7e
+DIST cairocffi-1.6.1.tar.gz 87436 BLAKE2B 54f7f3db31ab52aac6ebce1c830c4c0ff2f5ffde1f6a803bf8453b0ab3307414732c2e43b5b931ff77c9cbf6fe3229150e49254f13891f5e75e88eeef73970b9 SHA512 5489263b7e7e2aca7291860a90a6339d35e819cc03a9add47cd21b4ec0cb0274445c3e852ee3be127c42d8b5d9fcb98b02ff7eb66e3d9d243bd33527ce6ddf5c
+DIST cairocffi-1.7.0.tar.gz 87840 BLAKE2B f31a07c865e16fb5448451bb2a57c2f33017165d2c374a4ea60222a28dc7a9bfd9839a6014594c5e90cc8880773e85cbb29e5bcc5c32d0150b07274f25f81b94 SHA512 bfc0f388a6ea1885523d99ad0ccfd59fec89848ef053c240ea9e3e8aab3f3aed5dc343b74de5cc72fb8512d460e55c70ef99a4ae4705fb1dd92d654a4197d7a9
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 38112b42afde..000000000000
--- a/dev-python/cairocffi/cairocffi-1.3.0.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
-
-PYTHON_COMPAT=( python3_{8..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 ~m68k 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.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/cairocffi/cairocffi-1.7.0.ebuild b/dev-python/cairocffi/cairocffi-1.7.0.ebuild
new file mode 100644
index 000000000000..0b901aa4578f
--- /dev/null
+++ b/dev-python/cairocffi/cairocffi-1.7.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=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 60290559a8fe..6e0ceb3cb393 100644
--- a/dev-python/caldav/Manifest
+++ b/dev-python/caldav/Manifest
@@ -1 +1 @@
-DIST caldav-0.9.1.gh.tar.gz 105578 BLAKE2B 3581bb0f40daf312b32ff2ef88a31502449e0727f8e6178574c5350fb0312726d62cc9e4be3b9e73b4ee55282a32fcc503da48d49c3e7f0639a96de8197e6f8b SHA512 9171a09aa81bd6ad885aaaa3dac4cb53cb05235b37aa5be72d641b1cd2ee27928213eb95358654e99adfdbf70bea4567977509f972f54b8747162e91c95e1397
+DIST caldav-1.3.9.tar.gz 106392 BLAKE2B 6b7ca6b7be72b604f54663c5d2a79bc0a3b9874c791407fb7161357bad4cc5016249d0dd8278fb394ff3ce9bfa681f8e034710706faf2d1b4eb8345ac3ba110c SHA512 d368511b82d341406801ecca6aa371a2b4f5641eedba784fa869d76ebd1836991fb2d1cdc12d42feb1a55db73dfb5d80da7efebf95759fd7b6e122129a001ae3
diff --git a/dev-python/caldav/caldav-0.9.1.ebuild b/dev-python/caldav/caldav-0.9.1.ebuild
deleted file mode 100644
index a8da6ea96540..000000000000
--- a/dev-python/caldav/caldav-0.9.1.ebuild
+++ /dev/null
@@ -1,42 +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_{8..10} )
-
-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/refs/tags/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="|| ( GPL-3 Apache-2.0 )"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/vobject[${PYTHON_USEDEP}]
-"
-# For now, really does use nose imports: bug #857738
-BDEPEND="
- test? (
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/icalendar[${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/Manifest b/dev-python/calver/Manifest
index d4e67ca26def..e4b3e4e8dfba 100644
--- a/dev-python/calver/Manifest
+++ b/dev-python/calver/Manifest
@@ -1,2 +1 @@
-DIST calver-2021.7.30.gh.tar.gz 7058 BLAKE2B 90cb8568bce2afcf3e086e038dc237440c5d20c05cc19b7d6966d16b55854810a627120dc870d77975676ca166eac0922443d19b85aeffdb51f3cf435848ef5d SHA512 17c10b0f60ec4c8c582de660bd715d054c3478d8fdec88a6830396bad1d6147ce375a34c5ff57d244c8c2e337a6b382b6ee10673182a40bc14ad16a97405f181
DIST calver-2022.06.26.gh.tar.gz 7601 BLAKE2B e4bea1dc8954b4f65003cb06dadebfa6a7ad0554d64c23e5339652955d2e4659ffc093b8d11d284e03bc74267059a10043a45dd1eb7717378fb22327d6409428 SHA512 4d436cead8930cae1a71eddef9f0ecd2881f8cb632c3814dc75390b061a909e7ca969a604a5fded1c66647947856d540e2180bd3ce4bed5087b4dbc9d5edb393
diff --git a/dev-python/calver/calver-2021.7.30.ebuild b/dev-python/calver/calver-2021.7.30.ebuild
deleted file mode 100644
index ee5748e2277a..000000000000
--- a/dev-python/calver/calver-2021.7.30.ebuild
+++ /dev/null
@@ -1,42 +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=( pypy3 python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Setuptools extension for CalVer package versions"
-HOMEPAGE="
- https://github.com/di/calver/
- https://pypi.org/project/calver/
-"
-SRC_URI="
- https://github.com/di/calver/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- test? (
- dev-python/pretend[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # bootstrap workaround, until https://github.com/di/calver/pull/8
- # is merged
- cat > setup.cfg <<-EOF
- [metadata]
- version = ${PV}
- EOF
-}
diff --git a/dev-python/calver/calver-2022.06.26.ebuild b/dev-python/calver/calver-2022.06.26.ebuild
index 4ce266d2fb49..b97f567d3127 100644
--- a/dev-python/calver/calver-2022.06.26.ebuild
+++ b/dev-python/calver/calver-2022.06.26.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022 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=( pypy3 python3_{8..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 5a1f044452d4..26af275effb7 100644
--- a/dev-python/cangjie/cangjie-1.3-r1.ebuild
+++ b/dev-python/cangjie/cangjie-1.3-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{8..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 3dbfee5e72dd..c39d4699a4cd 100644
--- a/dev-python/canonicaljson/Manifest
+++ b/dev-python/canonicaljson/Manifest
@@ -1 +1 @@
-DIST canonicaljson-1.6.2.gh.tar.gz 10311 BLAKE2B 7460b99d8e95b223e4d092ee4158c13b5b101d7001fe111fed021c15128d040ef657ee03dbfba14d2e3df0a61f82a072e171a87312f47f524baad1603c6e47bb SHA512 5dfcf76e80814e65b897e216e18cbe69b3f44e7676fe433cefdcfa15dc18a004dc7586c16bf95b7457cb8e9268dedf2e7b1b92247b7c65afef30888b1c89bde5
+DIST canonicaljson-2.0.0.tar.gz 10716 BLAKE2B e310e9e8e0437f0e5cc69d2e258887582f8ff010a242102a331b5d09686d0785bec35b8c1fd44ed18f4ad381af1710bc5edf186602106ab0196f33f48474a909 SHA512 aa9bed50f8d0c7c32451ec5f701c8a8b7d1139eb41797842eea1a86e7d86a52ddec6b1e0254469aa3c92ed1fc462bec647580d60d96c38be7d8bd8ee641b51b7
diff --git a/dev-python/canonicaljson/canonicaljson-1.6.2.ebuild b/dev-python/canonicaljson/canonicaljson-1.6.2.ebuild
deleted file mode 100644
index 9cf66602eda2..000000000000
--- a/dev-python/canonicaljson/canonicaljson-1.6.2.ebuild
+++ /dev/null
@@ -1,26 +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.python.org/pypi/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 fdc79ac629ce..26f564bd4430 100644
--- a/dev-python/canonicaljson/metadata.xml
+++ b/dev-python/canonicaljson/metadata.xml
@@ -1,14 +1,11 @@
<?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>
<remote-id type="github">matrix-org/python-canonicaljson</remote-id>
diff --git a/dev-python/capturer/capturer-3.0-r1.ebuild b/dev-python/capturer/capturer-3.0-r1.ebuild
new file mode 100644
index 000000000000..94a6c42eec98
--- /dev/null
+++ b/dev-python/capturer/capturer-3.0-r1.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=( pypy3 python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+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"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="dev-python/humanfriendly[${PYTHON_USEDEP}]"
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+python_test() {
+ epytest ${PN}/tests.py
+}
diff --git a/dev-python/capturer/capturer-3.0.ebuild b/dev-python/capturer/capturer-3.0.ebuild
deleted file mode 100644
index cfb2c8736a4c..000000000000
--- a/dev-python/capturer/capturer-3.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{8..10} )
-
-inherit distutils-r1
-
-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"
-
-RDEPEND="dev-python/humanfriendly[${PYTHON_USEDEP}]"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-python_test() {
- epytest ${PN}/tests.py
-}
diff --git a/dev-python/carbon/carbon-1.1.10.ebuild b/dev-python/carbon/carbon-1.1.10.ebuild
index 52f67e9dfa62..72cc0318ec8d 100644
--- a/dev-python/carbon/carbon-1.1.10.ebuild
+++ b/dev-python/carbon/carbon-1.1.10.ebuild
@@ -1,16 +1,15 @@
-# 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_{8..11} )
+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/case/Manifest b/dev-python/case/Manifest
deleted file mode 100644
index 5b1fdc056b00..000000000000
--- a/dev-python/case/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST case-1.5.3.tar.gz 58469 BLAKE2B e535664cc616ac14d1b13e01abe44544fa470030895237711456eefe1aff0b79876b2225344065416149f7de444bf4dc5bef22a184b148e059a8b1f38a394619 SHA512 ae98a571c282f80c685c42ab1dc578847fe88cf8cd07faff505a8df8e3282a602908a8780ab88b36851e3ee6f3c178405e5c50776fd0f49fcc990087575f2958
diff --git a/dev-python/case/case-1.5.3.ebuild b/dev-python/case/case-1.5.3.ebuild
deleted file mode 100644
index 31dff0861876..000000000000
--- a/dev-python/case/case-1.5.3.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} pypy3 )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-inherit distutils-r1
-
-DESCRIPTION="Python unittest Utilities"
-HOMEPAGE="https://pypi.org/project/case https://github.com/celery/case"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-RDEPEND=">=dev-python/nose-1.3.7[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]"
diff --git a/dev-python/case/metadata.xml b/dev-python/case/metadata.xml
deleted file mode 100644
index 0fb331dd8ae3..000000000000
--- a/dev-python/case/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">case</remote-id>
- <remote-id type="github">celery/case</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/casttube/casttube-0.2.1-r1.ebuild b/dev-python/casttube/casttube-0.2.1-r1.ebuild
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 208a4e2f6e6d..000000000000
--- a/dev-python/casttube/casttube-0.2.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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/catkin_pkg/Manifest b/dev-python/catkin_pkg/Manifest
deleted file mode 100644
index ad5ec33456df..000000000000
--- a/dev-python/catkin_pkg/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST catkin_pkg-0.4.24-gh.tar.gz 65113 BLAKE2B 554848e5e34a663b29246ec1109f228361cbb010d76d54e0b27107189382843e90babf24f8660dce4063324f78dff87286e31f5f1bb7db10aaa86e056c23de2d SHA512 7c746917876d5a9d8be6f187fc3d75e322ab158ff9fd1b9c661e0802504b188c59d47ad42320613e3aff26b83a6f239bb3dec5d0ab16dadd2ff1e26f73288e61
-DIST catkin_pkg-0.5.2-gh.tar.gz 67596 BLAKE2B aec34c6f54926dee02034d542741affe9cb662b06b354062088bec1fec25381f036d59af5fa52153ba1ce1c91fdf8bb9d1484475df8a63268ca474a7acd5f285 SHA512 40e7e3839017ad430ee36dccf87a90727e5efd92e6c605cdba3e9f8850b71a6a80da79bd8760d94e356dadebdd842c8a3f8b530782fb75503d3e620add79be4a
diff --git a/dev-python/catkin_pkg/catkin_pkg-0.4.24.ebuild b/dev-python/catkin_pkg/catkin_pkg-0.4.24.ebuild
deleted file mode 100644
index bc0e7090297d..000000000000
--- a/dev-python/catkin_pkg/catkin_pkg-0.4.24.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros-infrastructure/catkin_pkg"
-fi
-
-inherit ${SCM} distutils-r1
-
-DESCRIPTION="Standalone Python library for the catkin package system"
-HOMEPAGE="https://wiki.ros.org/catkin_pkg"
-if [ "${PV#9999}" != "${PV}" ] ; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/ros-infrastructure/catkin_pkg/archive/${PV}.tar.gz -> ${P}-gh.tar.gz"
- KEYWORDS="~amd64 ~arm"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-
-RDEPEND="
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
- !<dev-util/catkin-0.7.14"
-BDEPEND="
- test? (
- dev-python/flake8[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- )"
-
-PATCHES=(
- "${FILESDIR}/catkin_prefix2.patch"
- "${FILESDIR}/ros_packages.patch"
- "${FILESDIR}/infinite_loop4.patch"
- "${FILESDIR}/summary_single_line.patch"
-)
-
-distutils_enable_tests nose
diff --git a/dev-python/catkin_pkg/catkin_pkg-0.5.2.ebuild b/dev-python/catkin_pkg/catkin_pkg-0.5.2.ebuild
deleted file mode 100644
index ae7ac37cda94..000000000000
--- a/dev-python/catkin_pkg/catkin_pkg-0.5.2.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros-infrastructure/catkin_pkg"
-fi
-
-inherit ${SCM} distutils-r1
-
-DESCRIPTION="Standalone Python library for the catkin package system"
-HOMEPAGE="https://wiki.ros.org/catkin_pkg"
-if [ "${PV#9999}" != "${PV}" ] ; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/ros-infrastructure/catkin_pkg/archive/${PV}.tar.gz -> ${P}-gh.tar.gz"
- KEYWORDS="~amd64 ~arm"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-
-RDEPEND="
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
- !<dev-util/catkin-0.7.14"
-BDEPEND="
- test? (
- dev-python/flake8[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- )"
-
-PATCHES=(
- "${FILESDIR}/catkin_prefix2.patch"
- "${FILESDIR}/ros_packages.patch"
- "${FILESDIR}/infinite_loop5.patch"
-)
-
-distutils_enable_tests nose
diff --git a/dev-python/catkin_pkg/catkin_pkg-9999.ebuild b/dev-python/catkin_pkg/catkin_pkg-9999.ebuild
deleted file mode 100644
index ae7ac37cda94..000000000000
--- a/dev-python/catkin_pkg/catkin_pkg-9999.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros-infrastructure/catkin_pkg"
-fi
-
-inherit ${SCM} distutils-r1
-
-DESCRIPTION="Standalone Python library for the catkin package system"
-HOMEPAGE="https://wiki.ros.org/catkin_pkg"
-if [ "${PV#9999}" != "${PV}" ] ; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/ros-infrastructure/catkin_pkg/archive/${PV}.tar.gz -> ${P}-gh.tar.gz"
- KEYWORDS="~amd64 ~arm"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-
-RDEPEND="
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
- !<dev-util/catkin-0.7.14"
-BDEPEND="
- test? (
- dev-python/flake8[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- )"
-
-PATCHES=(
- "${FILESDIR}/catkin_prefix2.patch"
- "${FILESDIR}/ros_packages.patch"
- "${FILESDIR}/infinite_loop5.patch"
-)
-
-distutils_enable_tests nose
diff --git a/dev-python/catkin_pkg/files/catkin_prefix2.patch b/dev-python/catkin_pkg/files/catkin_prefix2.patch
deleted file mode 100644
index 064ad1ca65f2..000000000000
--- a/dev-python/catkin_pkg/files/catkin_prefix2.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Allow CATKIN_PREFIX_PATH to work as CMAKE_PREFIX_PATH:
-When building with SYSROOT!=/, CMAKE_PREFIX_PATH is the same as with SYSROOT=/
-but we need to find packages in SYSROOT.
-
-Index: catkin_pkg-0.4.22/src/catkin_pkg/workspaces.py
-===================================================================
---- catkin_pkg-0.4.22.orig/src/catkin_pkg/workspaces.py
-+++ catkin_pkg-0.4.22/src/catkin_pkg/workspaces.py
-@@ -41,16 +41,17 @@ CATKIN_WORKSPACE_MARKER_FILE = '.catkin_
-
- def get_spaces(paths=None):
- """
-- Return a list of spaces based on the CMAKE_PREFIX_PATH or passed in list of workspaces.
-+ Return a list of spaces based on the CMAKE_PREFIX_PATH/CATKIN_PREFIX_PATH or passed in list of workspaces.
-
- It resolves the source space for each devel space and ignores non-catkin paths.
- :param paths_to_order: list of paths
- :param prefix_paths: list of prefixes, must not end with '/'
- """
- if paths is None:
-- if 'CMAKE_PREFIX_PATH' not in os.environ:
-- raise RuntimeError('Neither the environment variable CMAKE_PREFIX_PATH is set nor was a list of paths passed.')
-- paths = os.environ['CMAKE_PREFIX_PATH'].split(os.pathsep) if os.environ['CMAKE_PREFIX_PATH'] else []
-+ if 'CMAKE_PREFIX_PATH' not in os.environ and 'CATKIN_PREFIX_PATH' not in os.environ:
-+ raise RuntimeError('None of the environment variables CMAKE_PREFIX_PATH or CATKIN_PREFIX_PATH are set nor was a list of paths passed.')
-+ paths = os.environ['CMAKE_PREFIX_PATH'].split(os.pathsep) if os.environ.get('CMAKE_PREFIX_PATH') else []
-+ paths += os.environ['CATKIN_PREFIX_PATH'].split(os.pathsep) if os.environ.get('CATKIN_PREFIX_PATH') else []
-
- spaces = []
- for path in paths:
diff --git a/dev-python/catkin_pkg/files/infinite_loop4.patch b/dev-python/catkin_pkg/files/infinite_loop4.patch
deleted file mode 100644
index affb67bb8367..000000000000
--- a/dev-python/catkin_pkg/files/infinite_loop4.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-https://bugs.gentoo.org/show_bug.cgi?id=612860
-By Tim Rakowski
-We os.walk /usr with followlinks=True, but at least nodejs contains a "recursive" link in /usr/include/node
-
-Index: catkin_pkg-0.4.20/src/catkin_pkg/packages.py
-===================================================================
---- catkin_pkg-0.4.20.orig/src/catkin_pkg/packages.py
-+++ catkin_pkg-0.4.20/src/catkin_pkg/packages.py
-@@ -57,7 +57,9 @@ def find_package_paths(basepath, exclude
- """
- paths = []
- real_exclude_paths = [os.path.realpath(p) for p in exclude_paths] if exclude_paths is not None else []
-+ visited = set()
- for dirpath, dirnames, filenames in os.walk(basepath, followlinks=True):
-+ visited.add(dirpath)
- if set(dirnames + filenames) & {'AMENT_IGNORE', 'CATKIN_IGNORE', 'COLCON_IGNORE'} or \
- os.path.realpath(dirpath) in real_exclude_paths or \
- (exclude_subspaces and '.catkin' in filenames):
-@@ -68,7 +70,7 @@ def find_package_paths(basepath, exclude
- del dirnames[:]
- continue
- # filter out hidden directories in-place
-- dirnames[:] = [d for d in dirnames if not d.startswith('.')]
-+ dirnames[:] = [d for d in dirnames if not d.startswith('.') and not os.path.realpath(os.path.join(dirpath, d)) in visited]
- return paths
-
-
diff --git a/dev-python/catkin_pkg/files/infinite_loop5.patch b/dev-python/catkin_pkg/files/infinite_loop5.patch
deleted file mode 100644
index 7f88da41a27d..000000000000
--- a/dev-python/catkin_pkg/files/infinite_loop5.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-https://bugs.gentoo.org/show_bug.cgi?id=612860
-By Tim Rakowski
-We os.walk /usr with followlinks=True, but at least nodejs contains a "recursive" link in /usr/include/node
-
-Index: catkin_pkg-0.5.2/src/catkin_pkg/packages.py
-===================================================================
---- catkin_pkg-0.5.2.orig/src/catkin_pkg/packages.py
-+++ catkin_pkg-0.5.2/src/catkin_pkg/packages.py
-@@ -61,7 +61,9 @@ def find_package_paths(basepath, exclude
- """
- paths = []
- real_exclude_paths = [os.path.realpath(p) for p in exclude_paths] if exclude_paths is not None else []
-+ visited = set()
- for dirpath, dirnames, filenames in os.walk(basepath, followlinks=True):
-+ visited.add(dirpath)
- if set(dirnames + filenames) & ignore_markers or \
- os.path.realpath(dirpath) in real_exclude_paths or \
- (exclude_subspaces and '.catkin' in filenames):
-@@ -72,7 +74,7 @@ def find_package_paths(basepath, exclude
- del dirnames[:]
- continue
- # filter out hidden directories in-place
-- dirnames[:] = [d for d in dirnames if not d.startswith('.')]
-+ dirnames[:] = [d for d in dirnames if not d.startswith('.') and not os.path.realpath(os.path.join(dirpath, d)) in visited]
- return paths
-
-
diff --git a/dev-python/catkin_pkg/files/ros_packages.patch b/dev-python/catkin_pkg/files/ros_packages.patch
deleted file mode 100644
index 06933d69a9fa..000000000000
--- a/dev-python/catkin_pkg/files/ros_packages.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: catkin_pkg-0.3.1/src/catkin_pkg/packages.py
-===================================================================
---- catkin_pkg-0.3.1.orig/src/catkin_pkg/packages.py
-+++ catkin_pkg-0.3.1/src/catkin_pkg/packages.py
-@@ -59,7 +59,7 @@ def find_package_paths(basepath, exclude
- del dirnames[:]
- continue
- elif PACKAGE_MANIFEST_FILENAME in filenames:
-- paths.append(os.path.relpath(dirpath, basepath))
-+ paths.append(os.path.relpath(dirpath.replace('ros_packages/', ''), basepath))
- del dirnames[:]
- continue
- for dirname in dirnames:
diff --git a/dev-python/catkin_pkg/files/summary_single_line.patch b/dev-python/catkin_pkg/files/summary_single_line.patch
deleted file mode 100644
index d24c284da9ea..000000000000
--- a/dev-python/catkin_pkg/files/summary_single_line.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-setuptools will disallow newlines in descriptions, so do not generate them
-see e.g. https://bugs.gentoo.org/765868
-
-Index: catkin_pkg-0.4.23/src/catkin_pkg/python_setup.py
-===================================================================
---- catkin_pkg-0.4.23.orig/src/catkin_pkg/python_setup.py
-+++ catkin_pkg-0.4.23/src/catkin_pkg/python_setup.py
-@@ -99,9 +99,9 @@ def generate_distutils_setup(package_xml
- data['url'] = package.urls[0].url
-
- if len(package.description) <= 200:
-- data['description'] = package.description
-+ data['description'] = package.description.replace('\n', ' ')
- else:
-- data['description'] = package.description[:197] + '...'
-+ data['description'] = package.description[:197].replace('\n', ' ') + '...'
- data['long_description'] = package.description
-
- data['license'] = ', '.join(package.licenses)
diff --git a/dev-python/catkin_pkg/metadata.xml b/dev-python/catkin_pkg/metadata.xml
deleted file mode 100644
index 5bce740b417b..000000000000
--- a/dev-python/catkin_pkg/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>ros@gentoo.org</email>
- <name>Gentoo ROS Project</name>
- </maintainer>
- <upstream>
- <remote-id type="github">ros-infrastructure/catkin_pkg</remote-id>
- <remote-id type="pypi">catkin-pkg</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/cattrs/Manifest b/dev-python/cattrs/Manifest
index 4c2e996470cf..9ea98d964c55 100644
--- a/dev-python/cattrs/Manifest
+++ b/dev-python/cattrs/Manifest
@@ -1 +1 @@
-DIST cattrs-22.1.0.gh.tar.gz 108033 BLAKE2B 823e3ab466fd73385a4aaefb547b3457ee9cd100f38b6778c26bbe3d93e23ed9a00f071d6a5d7626da91e6660e2a8118e70cfa53a5960d550b9038fffec58eef SHA512 db1effb8d632dc3843d38b18bcd439c35d8bae0e4379b075417eaedbc130f6426186c0d299bc5b5d68a7354d7c5e53927ba5e0e989d498841a73237c588febb8
+DIST cattrs-23.2.3.gh.tar.gz 612120 BLAKE2B a227cc50cb23a76931562f17444fcfb4a5532cac74f80b478a8abb6d113cbb0a06c471c3ca7ee256f74640486464762f4a13387ccfc1cd144cfd1a9bfecddd8e SHA512 76a75ea0893bb1549dd5178436c4823ae5b918c16f0d8195203c48e894438ec792cee77698d783f7e43c07445c46a6041a309c3d3bbcadcff95d9c4079e3d622
diff --git a/dev-python/cattrs/cattrs-22.1.0.ebuild b/dev-python/cattrs/cattrs-22.1.0.ebuild
deleted file mode 100644
index b7aab0ff36c4..000000000000
--- a/dev-python/cattrs/cattrs-22.1.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..10} )
-
-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[${PYTHON_USEDEP}]
- dev-python/immutables[${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 cf4921fd765c..000000000000
--- a/dev-python/cbor/cbor-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..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 18c1d3a9d0dc..3102e4aee93f 100644
--- a/dev-python/cbor2/Manifest
+++ b/dev-python/cbor2/Manifest
@@ -1 +1 @@
-DIST cbor2-5.4.3.tar.gz 86499 BLAKE2B 0303ed49a1c468a3aa13e12a4bebef17479f106bc3f0a92e35c6029ff1bd86aea6a77f557ac0c8acb5e055ec0b56c82e5c95e9417d00715a1fb244bd94d0f60d SHA512 9527bec5a36464bb7dc9a8c0ece3ad72f1c6182272a7edf0526668b264c957b72bc031d2398dc6af38af09bb298219c316da194084fab410bae5f9100b22328b
+DIST cbor2-5.6.3.tar.gz 100224 BLAKE2B bccdca4fb2659c201663897a27801b7ae040fecc1c734356d4e4859df94eb65ef122bdda68384670102ee40476135d0c781c9f966b7c2845babb2bbd9729bc78 SHA512 1ab6a88a95cde178b21a75275fb286038f15d2fbd752059f9fc6fdb64e23eca90f65f7e443cae4bdbb7f451378711b20963909136c06b3bb4f054d52a7a95207
diff --git a/dev-python/cbor2/cbor2-5.4.3.ebuild b/dev-python/cbor2/cbor2-5.4.3.ebuild
deleted file mode 100644
index 08c1044fdbc9..000000000000
--- a/dev-python/cbor2/cbor2-5.4.3.ebuild
+++ /dev/null
@@ -1,33 +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_{8..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.3.ebuild b/dev-python/cbor2/cbor2-5.6.3.ebuild
new file mode 100644
index 000000000000..33573d3fc1ed
--- /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..8b20dc4e9371
--- /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..13} )
+
+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.ebuild b/dev-python/cchardet/cchardet-2.1.7.ebuild
deleted file mode 100644
index 9ebaba14c5ee..000000000000
--- a/dev-python/cchardet/cchardet-2.1.7.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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/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 709c7d86a270..000000000000
--- a/dev-python/cerberus/cerberus-1.3.2.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_{8..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 58798d203a59..000000000000
--- a/dev-python/cerberus/cerberus-1.3.4-r1.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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 ~arm64 ~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/Manifest b/dev-python/certifi/Manifest
index a8393e15ac40..25c84ad82105 100644
--- a/dev-python/certifi/Manifest
+++ b/dev-python/certifi/Manifest
@@ -1 +1 @@
-DIST certifi-system-store-3021.3.16.tar.gz 13784 BLAKE2B c0c2322fe298d363c4ef4dada2c0db8837bf7a32d86a7b54a1b45bb3dd3c99d732b2612f25495f4a59d9692f896e2b962e7057fa5fec9998724476db48f90c2a SHA512 44953ed8a3deb5fa4aff3f74afa557219e042acea395e9cdebfd26fd43ce0bdeca07c6b6dfe91977f88852e7674b94337b93c4d78fd2da6f47a6187fa46d6668
+DIST certifi-system-store-3021.3.16.gh.tar.gz 13784 BLAKE2B c0c2322fe298d363c4ef4dada2c0db8837bf7a32d86a7b54a1b45bb3dd3c99d732b2612f25495f4a59d9692f896e2b962e7057fa5fec9998724476db48f90c2a SHA512 44953ed8a3deb5fa4aff3f74afa557219e042acea395e9cdebfd26fd43ce0bdeca07c6b6dfe91977f88852e7674b94337b93c4d78fd2da6f47a6187fa46d6668
diff --git a/dev-python/certifi/certifi-3021.3.16-r2.ebuild b/dev-python/certifi/certifi-3021.3.16-r2.ebuild
deleted file mode 100644
index 279faf00eb84..000000000000
--- a/dev-python/certifi/certifi-3021.3.16-r2.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2022 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_{8..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}.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}]
-"
-
-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/certifi/files/certifi-3021.3.16-use-importlib.patch b/dev-python/certifi/files/certifi-3021.3.16-use-importlib.patch
new file mode 100644
index 000000000000..3028bfcb99cf
--- /dev/null
+++ b/dev-python/certifi/files/certifi-3021.3.16-use-importlib.patch
@@ -0,0 +1,164 @@
+1. https://github.com/tiran/certifi-system-store/commit/6945f34b7be433dbf22946825cdb225d5d2136d5
+2. https://github.com/tiran/certifi-system-store/pull/21
+
+Avoid repeated instances of https://bugs.gentoo.org/878045 when a package
+has too-strict requirements and then affects other, unrelated Python
+packages on the system.
+
+From 6945f34b7be433dbf22946825cdb225d5d2136d5 Mon Sep 17 00:00:00 2001
+From: Christian Heimes <christian@python.org>
+Date: Tue, 16 Mar 2021 16:00:08 +0100
+Subject: [PATCH] Relax patch checks (#13)
+
+- only check that version matches, not files are identical
+- compare base directories with samefile. This fixes a problem with
+ lib64 symlink in virtual envs.
+
+Signed-off-by: Christian Heimes <christian@python.org>
+--- a/src/certifi/_patch.py
++++ b/src/certifi/_patch.py
+@@ -28,7 +28,7 @@ def _patch_dist_info():
+ except pkg_resources.DistributionNotFound:
+ pass
+ else:
+- if os.path.samefile(css_dist.egg_info, certifi_dist.egg_info):
++ if certifi_dist.version == css_dist.version:
+ return False, css_dist.egg_info, certifi_dist.egg_info
+ else:
+ # blow away certifi's dist-info
+@@ -55,7 +55,9 @@ def _patch_dist_info():
+ certifi_dir = os.path.dirname(os.path.abspath(__file__))
+ dist_dir = os.path.abspath(certifi_dist.egg_info)
+
+- if os.path.dirname(certifi_dir) != os.path.dirname(dist_dir):
++ # compare with samefile instead of string comparison to avoid false
++ # negatives caused by venv lib64 / lib symlinks
++ if not os.path.samefile(os.path.dirname(certifi_dir), os.path.dirname(dist_dir)):
+ raise RuntimeError(
+ f"'{certifi_dir} and {dist_dir} have different parent directories."
+ )
+
+From cdec6d20b5d716d9853e72a1519a304070395498 Mon Sep 17 00:00:00 2001
+From: Christian Heimes <christian@python.org>
+Date: Wed, 22 Jun 2022 10:08:18 +0200
+Subject: [PATCH] Use importlib on Python 3.8+
+
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -38,8 +40,9 @@ packages = certifi
+ include_package_data = True
+ zip_safe = True
+ setup_requires = setuptools
+-# hack to prevent installation on unsupported platforms Windows and macOS
+ install_requires =
++ setuptools; python_version < "3.8"
++ # hack to prevent installation on unsupported platforms Windows and macOS
+ certifi-system-store > 4000; sys_platform == "win32" or sys_platform == "darwin"
+ python_requires = >=3.6
+
+--- a/src/certifi/_patch.py
++++ b/src/certifi/_patch.py
+@@ -1,7 +1,31 @@
+ import os
+ import shutil
+ import sys
+-import pkg_resources
++
++if sys.version_info >= (3, 8):
++ from importlib import metadata
++
++ PackageNotFoundError = metadata.PackageNotFoundError
++
++ def _get_distinfo(name):
++ dist = metadata.distribution(name)
++ egg_info = dist._path
++ return dist.version, egg_info
++
++ def _invalidate_caches():
++ pass
++
++else:
++ import pkg_resources
++
++ PackageNotFoundError = pkg_resources.DistributionNotFound
++
++ def _get_distinfo(name):
++ dist = pkg_resources.get_distribution(name)
++ return dist.version, dist.egg_info
++
++ def _invalidate_caches():
++ pkg_resources.working_set.__init__()
+
+
+ def _relsymlink(target, linkname):
+@@ -22,22 +46,22 @@ def _relsymlink(target, linkname):
+
+ def _patch_dist_info():
+ # distribution object for the canonical project name
+- css_dist = pkg_resources.get_distribution("certifi_system_store")
++ css_version, css_egg_info = _get_distinfo("certifi_system_store")
+ try:
+- certifi_dist = pkg_resources.get_distribution("certifi")
+- except pkg_resources.DistributionNotFound:
++ certifi_version, certifi_egg_info = _get_distinfo("certifi")
++ except PackageNotFoundError:
+ pass
+ else:
+- if certifi_dist.version == css_dist.version:
+- return False, css_dist.egg_info, certifi_dist.egg_info
++ if certifi_version == css_version:
++ return False, css_egg_info, certifi_egg_info
+ else:
+ # blow away certifi's dist-info
+- shutil.rmtree(certifi_dist.egg_info)
++ shutil.rmtree(certifi_egg_info)
+ # reset current working set, so pkg_resources can pick up our hack
+- pkg_resources.working_set.__init__()
++ _invalidate_caches()
+
+ # certifi-system-store's dist-info
+- abs_css_distinfodir = os.path.abspath(css_dist.egg_info)
++ abs_css_distinfodir = os.path.abspath(css_egg_info)
+ css_basedir, css_distinfodir = os.path.split(abs_css_distinfodir)
+
+ # certifi's dist-info in same base directory
+@@ -48,12 +72,12 @@ def _patch_dist_info():
+ _relsymlink(target=abs_css_distinfodir, linkname=abs_certifi_distinfodir)
+
+ # get dist info from refreshed working set
+- css_dist = pkg_resources.get_distribution("certifi_system_store")
+- certifi_dist = pkg_resources.get_distribution("certifi")
++ css_version, css_egg_info = _get_distinfo("certifi_system_store")
++ certifi_version, certifi_egg_info = _get_distinfo("certifi")
+
+ # check that certifi dist-info is in same site-packages as certifi package
+ certifi_dir = os.path.dirname(os.path.abspath(__file__))
+- dist_dir = os.path.abspath(certifi_dist.egg_info)
++ dist_dir = os.path.abspath(certifi_egg_info)
+
+ # compare with samefile instead of string comparison to avoid false
+ # negatives caused by venv lib64 / lib symlinks
+@@ -65,17 +89,17 @@ def _patch_dist_info():
+ # double check versions
+ _verify_dist_info()
+
+- return True, css_dist.egg_info, certifi_dist.egg_info
++ return True, css_egg_info, certifi_egg_info
+
+
+ def _verify_dist_info():
+- css_dist = pkg_resources.get_distribution("certifi_system_store")
++ css_version, css_egg_info = _get_distinfo("certifi_system_store")
+ try:
+- certifi_dist = pkg_resources.get_distribution("certifi")
+- except pkg_resources.DistributionNotFound as e:
++ certifi_version, certifi_egg_info = _get_distinfo("certifi")
++ except PackageNotFoundError as e:
+ raise RuntimeError(e)
+ else:
+- if certifi_dist.version != css_dist.version:
++ if certifi_version != css_version:
+ raise RuntimeError(
+ f"'certifi.dist-info' is not an alias to "
+ f"'certifi_system_store.dist-info'. "
+
diff --git a/dev-python/cffi/Manifest b/dev-python/cffi/Manifest
index 764da7e5fa57..de8f69ee1c67 100644
--- a/dev-python/cffi/Manifest
+++ b/dev-python/cffi/Manifest
@@ -1,2 +1 @@
-DIST cffi-1.15.0.tar.gz 484058 BLAKE2B 0d2d470c7eb11b8a9526be816b153c4483a5cfb529d3d220a804842facae1f06e2a822aa2be9abb1b5648cb36a97033bffc1dd235d83bdf8c075d67a907aa7d9 SHA512 ee83efde6f77f4a0c5889088c4c208ed7b9071fe06dfc16a8d2396de07f78fe859e1e39866760198a9d700f3b7359e8715e8a3e4907feb81d3fc4b8dd0dbaca1
-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.0-r1.ebuild b/dev-python/cffi/cffi-1.15.0-r1.ebuild
deleted file mode 100644
index 56c019e4c357..000000000000
--- a/dev-python/cffi/cffi-1.15.0-r1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2022 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_{8..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_DESELECT=()
- local EPYTEST_IGNORE=(
- # these tests call pip
- testing/cffi0/test_zintegration.py
- )
- if [[ ${EPYTHON} == python3.11 ]]; then
- EPYTEST_DESELECT+=(
- # exception printing format has changed
- c/test_c.py::test_callback_exception
- )
- fi
-
- "${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.15.1.ebuild b/dev-python/cffi/cffi-1.15.1.ebuild
deleted file mode 100644
index 93761441679b..000000000000
--- a/dev-python/cffi/cffi-1.15.1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2022 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_{8..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 adcc5d30d50b..000000000000
--- a/dev-python/cfgv/cfgv-3.3.1.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 d6e5a1a9c5a5..d5283f7f1774 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,4 +1,3 @@
-DIST cfn-lint-0.61.1.gh.tar.gz 9351410 BLAKE2B 442fa5957f8816dc501e91593873c28b1b2e39ec14870b82574d4ca351f321b94a813fd351cc09c7602a177a8451d09cf8459c8aa47b683b9938654c99476e19 SHA512 63071cd1df0115624341fb64bd12a51d7bd38fe4993229a790ca09011b370487cb49397d90916f4df42b5c978cd3832e2de4cec15660ac8668e994adc0e681c3
-DIST cfn-lint-0.61.2.gh.tar.gz 9477584 BLAKE2B 8b65151edcd9323dd44d6a77c39fb3dd90a1934bc1cf3e6cb419e6a33595afeb740591a77a80178cbaa5dadd5183759064807a5a135545c2fb7e8c5a2c8970ba SHA512 ed8e9813f1d12ec0ded203c4c2246592c2aa3466f69ee2a478d9ac579807a610836d862768c259ebec6e421bbe92a5a120c056a5e4b70873e6e044e0c606d021
-DIST cfn-lint-0.61.3.gh.tar.gz 9528542 BLAKE2B 27f5c82c09a7c1dde520189647480032faf808089083ca45a9a2a24e4c158cb8e62ee6ae2f906d6c68021cc34b654ff46c9402876e09dd3330115dead5db44a8 SHA512 db5369a12d88754f6241b4ef529b53d142a80bfcb0c58ac7ec03217e7e4cb7e53f3fde1dde45dfdac82ab3fde4b885bb40dae3076b85edf34ca68cc73dc5aeb1
-DIST cfn-lint-0.61.4.gh.tar.gz 9556069 BLAKE2B 71572546d7e523c11214e32130a7d52461580e487b514846137e6592cb7a1786414556e4bea191aa2e4dddaf338c24e8ea9001e617221ea74b03bd0ea900a5a9 SHA512 fd85af770b5b519c9de4df0acbbaa66a8a7f61efd210a793c2e28ad9e6d6ed2d8b3042ca41d7743b2bc4dc0446b42ea2929cba454fdbf097a482a7c268e04000
+DIST cfn_lint-0.86.4.tar.gz 3911739 BLAKE2B ea2d58abb78b466371b5a65cda2f5fd06f31eb16eece4d5bb3741f166e0bfb54d35c5d6605f5d9b333876fa1a85916f0aaecab5f0b0bd6b29841a2b5e813ed09 SHA512 71b50058ccdbcccedc92b70ca1af4c5163feb26415a97afad6e39761645423259b4dcdb6a24b517ba494e7474b31909d44399461c6d19834791d5057b14ef886
+DIST cfn_lint-0.87.1.tar.gz 3997592 BLAKE2B 058de8badb0b37bda16e5239a2d9aa3727804bc9bd1b308cf9225c4b650eb6d0ad184025eee9e32ac9909db429641a8c928695be9c1a0cf587cffbf4f50dcba2 SHA512 3143d23738de9435c63b1f7f6f8abcea9fa235e45c885f15869a18a67089421094f77b5f4dd472f354f2901595bf1d0c2ef66f5605ff5ebc1ebbdbdca181d6bf
+DIST cfn_lint-0.87.2.tar.gz 3963369 BLAKE2B e1238db45fa2856ed1becdbaeccd2bd7aab3c0c3f54e3bd13cdad27d20c0c9e0c85a232121f63b152554f95066cf24119b9e2c02d0402d673ed5d7eefc8565ed SHA512 b0503138d7ca939003b472ce0e35ae0f0c3aa9550cc889e28a709856051d059c619c2ac5d47735ce0702cb975949d6ea64aff6c2b5168738ccf8afbcf950801d
diff --git a/dev-python/cfn-lint/cfn-lint-0.61.1.ebuild b/dev-python/cfn-lint/cfn-lint-0.61.1.ebuild
deleted file mode 100644
index d1d445a6c79f..000000000000
--- a/dev-python/cfn-lint/cfn-lint-0.61.1.ebuild
+++ /dev/null
@@ -1,54 +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_{8..10} )
-
-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.45.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.61.2.ebuild b/dev-python/cfn-lint/cfn-lint-0.61.2.ebuild
deleted file mode 100644
index 8ec456de9b4f..000000000000
--- a/dev-python/cfn-lint/cfn-lint-0.61.2.ebuild
+++ /dev/null
@@ -1,54 +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_{8..10} )
-
-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.45.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.61.3.ebuild b/dev-python/cfn-lint/cfn-lint-0.61.3.ebuild
deleted file mode 100644
index 57fd1d8c6029..000000000000
--- a/dev-python/cfn-lint/cfn-lint-0.61.3.ebuild
+++ /dev/null
@@ -1,54 +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_{8..10} )
-
-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.47.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.61.4.ebuild b/dev-python/cfn-lint/cfn-lint-0.61.4.ebuild
deleted file mode 100644
index 57fd1d8c6029..000000000000
--- a/dev-python/cfn-lint/cfn-lint-0.61.4.ebuild
+++ /dev/null
@@ -1,54 +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_{8..10} )
-
-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.47.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.4.ebuild b/dev-python/cfn-lint/cfn-lint-0.86.4.ebuild
new file mode 100644
index 000000000000..8c0f19a4516e
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-0.86.4.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/cfn-lint/cfn-lint-0.87.1.ebuild b/dev-python/cfn-lint/cfn-lint-0.87.1.ebuild
new file mode 100644
index 000000000000..ccd32235036e
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-0.87.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=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/cfn-lint/cfn-lint-0.87.2.ebuild b/dev-python/cfn-lint/cfn-lint-0.87.2.ebuild
new file mode 100644
index 000000000000..ccd32235036e
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-0.87.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=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 de0d767d26d5..9b14f2bfdfea 100644
--- a/dev-python/cftime/Manifest
+++ b/dev-python/cftime/Manifest
@@ -1,2 +1 @@
-DIST cftime-1.6.0.tar.gz 47633 BLAKE2B 5201afcd4ecc733511481ec7aa557953acd741d7b5f3126b94d23a0848b30ea1c65b0e965e3e5560581fb7e9b8d1acd144044e8b2cb6fe6ffed99094eb39bc32 SHA512 87f350155c1b875b002822424d8bb4916cc33dfff0c249c3ac7f008c0cf41ea03c1a1b187b79d4a15b935b88a5b2d217bd19f6d069e6255c7fab2ad2d69fe7f9
-DIST cftime-1.6.1.tar.gz 47821 BLAKE2B 3231ac7c019cf134800248dd42192ac89e0040421e64ba25ed4711cf21b6170e000208c3b5165bed4dc2a32451f90d52b704ea2f35709ea1f23d52fffd2bad78 SHA512 530454730e71850acf03080978ae1cfb12b34f9ebf3b062c88d04c495bc759af5ff022c14a5539edcec689fe6758bb832d194bc5b3bb8b9fcc4808a511c18fff
+DIST cftime-1.6.3.tar.gz 53256 BLAKE2B 8875c368e6811487960fb240ed5320ab1dcc24f3678e9663e67b7c49ab8cc1f12a0030670760fcd1a15938b57f3860d5c9c9b30a3e5a0e1755fcd0c7b8deaf5f SHA512 0bcb8dcf7a840e500d7cc0f784f960b4972803f353fcffbf36dc30b2169b6864aea1fd8cab2d60e7908a063db55f2cfa3639c51fea84692b2dfe2d83b954c0ae
diff --git a/dev-python/cftime/cftime-1.6.0.ebuild b/dev-python/cftime/cftime-1.6.0.ebuild
deleted file mode 100644
index c6600352b538..000000000000
--- a/dev-python/cftime/cftime-1.6.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-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.1.ebuild b/dev-python/cftime/cftime-1.6.1.ebuild
deleted file mode 100644
index 5e6beffd8e03..000000000000
--- a/dev-python/cftime/cftime-1.6.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="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..bac7bb43831c
--- /dev/null
+++ b/dev-python/cftime/cftime-1.6.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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 ~s390 ~x86"
+
+DEPEND="
+ >=dev-python/numpy-1.26.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-python/cython-0.29.20[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # remove pytest-cov dep
+ sed -e "/--cov/d" -i setup.cfg || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/cgroup-utils/cgroup-utils-0.8-r1.ebuild b/dev-python/cgroup-utils/cgroup-utils-0.8-r1.ebuild
index ef958fcdcceb..00f4501af135 100644
--- a/dev-python/cgroup-utils/cgroup-utils-0.8-r1.ebuild
+++ b/dev-python/cgroup-utils/cgroup-utils-0.8-r1.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_{8..11} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
DESCRIPTION="Tools and libraries for control groups of Linux"
diff --git a/dev-python/cgroup-utils/metadata.xml b/dev-python/cgroup-utils/metadata.xml
index 7c2d555581c7..7514082d5c59 100644
--- a/dev-python/cgroup-utils/metadata.xml
+++ b/dev-python/cgroup-utils/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>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
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 ddece4c080ad..4ee915bcc858 100644
--- a/dev-python/chameleon/Manifest
+++ b/dev-python/chameleon/Manifest
@@ -1 +1 @@
-DIST chameleon-3.10.1.gh.tar.gz 137135 BLAKE2B c11520792a833bccc0997ea82e7876e309905ac0cdfd8701c4d83eee7befe1d152787f27b076df15c4ba299d2702ac6a262dc193d1ee7f6d44398e57af73772e SHA512 e79b261ce6f480358191ff3d23af325c0559e9c0b6be8b2c44d4bb3869fb7e09fa759906933d9b4d6f7107779f19bb225170add73ec3205ddf73b9bdb1bcfb9a
+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 5a8173b11ab6..000000000000
--- a/dev-python/chameleon/chameleon-3.10.1.ebuild
+++ /dev/null
@@ -1,30 +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_{8..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.4.ebuild b/dev-python/chameleon/chameleon-4.5.4.ebuild
new file mode 100644
index 000000000000..7fa2a2be9ac7
--- /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 f52f4822a846..8dd92edf61d6 100644
--- a/dev-python/characteristic/characteristic-14.3.0-r4.ebuild
+++ b/dev-python/characteristic/characteristic-14.3.0-r4.ebuild
@@ -1,12 +1,12 @@
-# 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_{8..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 a5f2cf28032c..41980181b329 100644
--- a/dev-python/chardet/Manifest
+++ b/dev-python/chardet/Manifest
@@ -1 +1 @@
-DIST chardet-5.0.0.gh.tar.gz 2016879 BLAKE2B 006992a4945840b3720e93f932618cf81debc094a3ae353bfdd4e56ecdc5a01e4a250bed15473d8d59108978fdbfb769081a9b87f672d35f4892d5ba04c2deb5 SHA512 d19413a4f1f571f3627ec3f55dcc6a69497f6a1d72fe972051713f4d7a473cd539cfbce2eb2c7a070295aa640c6ac2aec6fc0064751e465311935c0e4d88061a
+DIST chardet-5.2.0.gh.tar.gz 2067352 BLAKE2B e9b960bad6ad7e9933f0fcd6e445bdefdd795f6150bf96e59714bfb9bd0cf63adeba80b608a1890f07be81565c160977fa96140984720407d93b0919eeb71a8b SHA512 3c6614882b251e53322eb75fdd01c3d7664c5f611bbfc1480fa10d57f02906b4be42a8b7ff4d3bdc00465340a2ca46b31f1f0d25f64d4f69df0ac0876e71e87f
diff --git a/dev-python/chardet/chardet-5.0.0.ebuild b/dev-python/chardet/chardet-5.0.0.ebuild
deleted file mode 100644
index d5c50d555d2f..000000000000
--- a/dev-python/chardet/chardet-5.0.0.ebuild
+++ /dev/null
@@ -1,31 +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_{8..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..32f4b0a8a7f5
--- /dev/null
+++ b/dev-python/chardet/chardet-5.2.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} 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 57dbb77e7c2c..000000000000
--- a/dev-python/charset_normalizer/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST charset_normalizer-2.1.0.gh.tar.gz 85498 BLAKE2B f18c491b7d2b32cfc3cd92b1dc074b89f562c11a1bdebb9d4ff7c230ac7c2394c6f7cb30caa8cde9d8da26f1ed527a01c28236099b793808274c1146f258546d SHA512 a14e9e1d58eb23c9c568e7e74ab88361f522a76575b5ddc30df392f33584c821cf4943029395d2535c641d8fe441256803e6d2212e52c6f4b0544db64bd73b7c
diff --git a/dev-python/charset_normalizer/charset_normalizer-2.1.0.ebuild b/dev-python/charset_normalizer/charset_normalizer-2.1.0.ebuild
deleted file mode 100644
index 07597e4710c7..000000000000
--- a/dev-python/charset_normalizer/charset_normalizer-2.1.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2022 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_{8..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
-
-src_prepare() {
- sed -i -e '/addopts/d' setup.cfg || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
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-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/chart-studio/chart-studio-1.1.0.ebuild b/dev-python/chart-studio/chart-studio-1.1.0.ebuild
deleted file mode 100644
index faed2dd0e4fc..000000000000
--- a/dev-python/chart-studio/chart-studio-1.1.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
-
-PYTHON_COMPAT=( python3_{8..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/check-manifest/Manifest b/dev-python/check-manifest/Manifest
deleted file mode 100644
index 3b26630be303..000000000000
--- a/dev-python/check-manifest/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST check-manifest-0.48.tar.gz 34732 BLAKE2B 9142ec4b4fb4ea96662ae5f1335127b2adb2c148e29d287384335e4b15f82597451bd7cfde856e80c485e00de20bd5591551b0e0a8446870c57d7ea3eb658708 SHA512 79df1ef54e2af669ce08b87d3ca9eb58bc02c6541687be11b270a30f83d89982583a470aff2c6bde0454476b27258c268cabfbb0f90c1188212375d0f95328d9
diff --git a/dev-python/check-manifest/check-manifest-0.48.ebuild b/dev-python/check-manifest/check-manifest-0.48.ebuild
deleted file mode 100644
index 2b989bb74fbb..000000000000
--- a/dev-python/check-manifest/check-manifest-0.48.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/build[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
-"
-DEPEND="
- ${RDEPEND}
- 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 bca8706b192f..000000000000
--- a/dev-python/cheetah3/cheetah3-3.2.6_p2.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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 ~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 be6b31626dbe..fe5c14a2e8b1 100644
--- a/dev-python/cheroot/Manifest
+++ b/dev-python/cheroot/Manifest
@@ -1 +1 @@
-DIST cheroot-8.6.0.tar.gz 134779 BLAKE2B 97d1a9bf0a8d72d3204972934aa3ac4c97246b413edebd9f38caa802a5343acc426f137addfdc0faec58f6af2d62bc22023e93b14e1b0b07f6be9ffb12e78306 SHA512 26e48c935fe32d4ce3cf6ae20b5b272416ca53bd8496527c2958ec2ebe87529c831f283ae900e13271b610e39531b682df0376935ecc3bcfcca11c299cd2a893
+DIST cheroot-10.0.1.tar.gz 167586 BLAKE2B d8c882c3d16d29a2f97f35542321fd0aba4d0f9b310bc1359f9b832362e2d75424077d02d9a810a33a1bd10cf2ba9922a8baf8519dbd04c5e6f9b48edd3c3db1 SHA512 c878647a7bcf564509ee07481b3e371a2e09019d78240e79293bc4e0bfa872e8e2f947925c54eda56cc1790a3ff4d656c70066278c74073b44fc070627f5c71d
diff --git a/dev-python/cheroot/cheroot-10.0.1.ebuild b/dev-python/cheroot/cheroot-10.0.1.ebuild
new file mode 100644
index 000000000000..9c4bf1185172
--- /dev/null
+++ b/dev-python/cheroot/cheroot-10.0.1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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-7.0.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/jaraco-context[${PYTHON_USEDEP}]
+ dev-python/jaraco-text[${PYTHON_USEDEP}]
+ dev-python/portend[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-1.11.0[${PYTHON_USEDEP}]
+ dev-python/requests-toolbelt[${PYTHON_USEDEP}]
+ dev-python/requests-unixsocket[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e '/--cov/d' \
+ -e '/--testmon/d' \
+ -e '/--numproc/d' \
+ -i pytest.ini || die
+
+ # broken
+ sed -i -e '/False.*localhost/d' cheroot/test/test_ssl.py || die
+ # pypytools is py2 stuff
+ sed -i -e '/pypytools/d' cheroot/test/test_server.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires pypytools, see above
+ cheroot/test/test_server.py::test_high_number_of_file_descriptors
+ # known test failures with OpenSSL 3.2.0
+ cheroot/test/test_ssl.py::test_https_over_http_error
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # https://github.com/cherrypy/cheroot/issues/695
+ cheroot/test/test_conn.py::test_remains_alive_post_unhandled_exception
+ )
+ ;;
+ esac
+
+ local EPYTEST_IGNORE=()
+ if ! has_version "dev-python/pyopenssl[${PYTHON_USEDEP}]" ||
+ ! has_version "dev-python/trustme[${PYTHON_USEDEP}]"
+ then
+ EPYTEST_IGNORE+=(
+ cheroot/test/test_ssl.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/cheroot/cheroot-8.6.0-r1.ebuild b/dev-python/cheroot/cheroot-8.6.0-r1.ebuild
deleted file mode 100644
index aae772bf949c..000000000000
--- a/dev-python/cheroot/cheroot-8.6.0-r1.ebuild
+++ /dev/null
@@ -1,77 +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_{8..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="amd64 arm arm64 ~ia64 ppc ~ppc64 ~riscv x86"
-
-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}]
- !ia64? (
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- )
- )
-"
-
-PATCHES=(
- # Bad dep (upstream gone, only PyPi package, has py2 code, etc)
- "${FILESDIR}/${PN}-8.6.0-remove-pypytools-dep.patch"
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -e '/--cov/d' \
- -e '/--testmon/d' \
- -e '/--numproc/d' \
- -i pytest.ini || die
-
- # broken
- sed -e '/False.*localhost/d' \
- -i cheroot/test/test_ssl.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_IGNORE=()
- if ! has_version "dev-python/pyopenssl[${PYTHON_USEDEP}]" ||
- ! has_version "dev-python/trustme[${PYTHON_USEDEP}]"
- then
- EPYTEST_IGNORE+=(
- lib/cheroot/test/test_ssl.py
- )
- fi
-
- epytest
-}
diff --git a/dev-python/cheroot/files/cheroot-8.6.0-remove-pypytools-dep.patch b/dev-python/cheroot/files/cheroot-8.6.0-remove-pypytools-dep.patch
deleted file mode 100644
index f1f4fac26557..000000000000
--- a/dev-python/cheroot/files/cheroot-8.6.0-remove-pypytools-dep.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/cheroot/test/test_server.py b/cheroot/test/test_server.py
-index 8305c78c..39e4e066 100644
---- a/cheroot/test/test_server.py
-+++ b/cheroot/test/test_server.py
-@@ -16,7 +16,6 @@ import requests
- import requests_unixsocket
- import six
-
--from pypytools.gc.custom import DefaultGc
- from six.moves import queue, urllib
-
- from .._compat import bton, ntob
-@@ -330,8 +329,7 @@ def test_peercreds_unix_sock_with_lookup(peercreds_enabled_server):
- ),
- indirect=('resource_limit',),
- )
--@pytest.mark.usefixtures('many_open_sockets')
--def test_high_number_of_file_descriptors(native_server_client, resource_limit):
-+def _test_high_number_of_file_descriptors(native_server_client, resource_limit):
- """Test the server does not crash with a high file-descriptor value.
-
- This test shouldn't cause a server crash when trying to access
-@@ -363,18 +361,6 @@ def test_high_number_of_file_descriptors(native_server_client, resource_limit):
- assert any(fn >= resource_limit for fn in native_process_conn.filenos)
-
-
--if not IS_WINDOWS:
-- test_high_number_of_file_descriptors = pytest.mark.forked(
-- test_high_number_of_file_descriptors,
-- )
--
--
--@pytest.fixture
--def _garbage_bin():
-- """Disable garbage collection when this fixture is in use."""
-- with DefaultGc().nogc():
-- yield
--
-
- @pytest.fixture
- def resource_limit(request):
-@@ -400,32 +386,3 @@ def resource_limit(request):
- finally:
- # Reset the resource limit back to the original soft limit
- resource.setrlimit(resource.RLIMIT_NOFILE, (soft_limit, hard_limit))
--
--
--@pytest.fixture
--def many_open_sockets(request, resource_limit):
-- """Allocate a lot of file descriptors by opening dummy sockets."""
-- # NOTE: `@pytest.mark.usefixtures` doesn't work on fixtures which
-- # NOTE: forces us to invoke this one dynamically to avoid having an
-- # NOTE: unused argument.
-- request.getfixturevalue('_garbage_bin')
--
-- # Hoard a lot of file descriptors by opening and storing a lot of sockets
-- test_sockets = []
-- # Open a lot of file descriptors, so the next one the server
-- # opens is a high number
-- try:
-- for _ in range(resource_limit):
-- sock = socket.socket()
-- test_sockets.append(sock)
-- # If we reach a high enough number, we don't need to open more
-- if sock.fileno() >= resource_limit:
-- break
-- # Check we opened enough descriptors to reach a high number
-- the_highest_fileno = test_sockets[-1].fileno()
-- assert the_highest_fileno >= resource_limit
-- yield the_highest_fileno
-- finally:
-- # Close our open resources
-- for test_socket in test_sockets:
-- test_socket.close()
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 01a4093715c7..000000000000
--- a/dev-python/cherrypy/cherrypy-18.8.0.ebuild
+++ /dev/null
@@ -1,69 +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_{8..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="amd64 arm arm64 ppc ~ppc64 ~riscv 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-py[${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 bbb1525cc7e3..926b5b6dbf00 100644
--- a/dev-python/chump/chump-1.6.0-r2.ebuild
+++ b/dev-python/chump/chump-1.6.0-r2.ebuild
@@ -1,16 +1,15 @@
-# 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=( pypy3 python3_{8..11} )
+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 be01afa91903..000000000000
--- a/dev-python/citeproc-py/citeproc-py-0.6.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 31706393b115..c02bd2be4850 100644
--- a/dev-python/cjkwrap/cjkwrap-2.2-r2.ebuild
+++ b/dev-python/cjkwrap/cjkwrap-2.2-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..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 198367ea9888..1eab4b42dc8e 100644
--- a/dev-python/clang-python/Manifest
+++ b/dev-python/clang-python/Manifest
@@ -1,3 +1,12 @@
-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 llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
+DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
+DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
+DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
+DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
+DIST llvm-project-17.0.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.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-18.1.5.src.tar.xz 132061072 BLAKE2B bfdd987d5992a4d94ae8b14792df3be67a8e8fdf1daef9834cdaa2132df1b7ddb72ba0aabbb34b171a73d0f3b2b0f61e7160f0b278a67fd4850e3f501fd21531 SHA512 9e2f1e251b3754a24a0b39676d78c98692887c05c85cf0bee50fd44d9635290019930d4dabd1ff4ba3c9c1067e7e0e09aa1bbcd3d76687f919a1d44ba85eee20
+DIST llvm-project-18.1.5.src.tar.xz.sig 566 BLAKE2B ad935db71ec3b9fc885d696af440764a71fe7cafc5b3ca0b25a2963100d9cb3790392daebcac1341716c95a8da3c6243f5a8667fea1ed18b93fc8baa495414c9 SHA512 3cbca1059d940f3bd7bd72d68f2828039b66304980cc5f43769649e5494fc7d71117bf8aba5cc7f7a2ffca52f60ba30fadf3b28f984fd49ddb14300e30b45237
+DIST llvm-project-338561657685c1831a53563b1bc36ffc7470239e.tar.gz 209715501 BLAKE2B 49152479d4f2cae430e783784d0cfcc129134f5cc0bf12c72701cd15e59cb3e1be2f61385ba9baa93d1d1193e89374ac8877b909650c163b681d1fcd26732cdc SHA512 d34bbe82e85c5b9d493029ad7b46e802f06f7e7a8a48515d0043c58c3251271f8f3e1e11c47eb91bd3db2477f819d33b43ddebb276eb9601c5ad141e463c9682
+DIST llvm-project-76aa042dde6ba9ba57c680950f5818259ee02690.tar.gz 210235525 BLAKE2B fbbb8e70e0a08bde1fa2277746f692399fa15015b69693f5e8d3297abf02dfb7b36c535880f5c6924c870652dd3106936776d57c34b22234a5419f75b3561bb7 SHA512 9107551ceb2b28aa735006144b3344801ea861d7b49eae4881831af507314fb8da2bf5e8a3a407aeebd2eee01fbfad2ca90269d2331fe43cca5c2cc49dd257b7
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 537d6c7988d4..000000000000
--- a/dev-python/clang-python/clang-python-13.0.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 414fb007ea1d..000000000000
--- a/dev-python/clang-python/clang-python-14.0.6.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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-15.0.0.9999.ebuild b/dev-python/clang-python/clang-python-15.0.0.9999.ebuild
deleted file mode 100644
index 2891edc42793..000000000000
--- a/dev-python/clang-python/clang-python-15.0.0.9999.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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}
-"
-
-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-15.0.7.ebuild b/dev-python/clang-python/clang-python-15.0.7.ebuild
new file mode 100644
index 000000000000..c46cb818209b
--- /dev/null
+++ b/dev-python/clang-python/clang-python-15.0.7.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_{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="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-16.0.0.9999.ebuild b/dev-python/clang-python/clang-python-16.0.0.9999.ebuild
deleted file mode 100644
index 2891edc42793..000000000000
--- a/dev-python/clang-python/clang-python-16.0.0.9999.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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}
-"
-
-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.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.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.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-18.1.5.ebuild b/dev-python/clang-python/clang-python-18.1.5.ebuild
new file mode 100644
index 000000000000..92a6321a504f
--- /dev/null
+++ b/dev-python/clang-python/clang-python-18.1.5.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_pre20240427.ebuild b/dev-python/clang-python/clang-python-19.0.0_pre20240427.ebuild
new file mode 100644
index 000000000000..bef9bf6fddbd
--- /dev/null
+++ b/dev-python/clang-python/clang-python-19.0.0_pre20240427.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_pre20240504.ebuild b/dev-python/clang-python/clang-python-19.0.0_pre20240504.ebuild
new file mode 100644
index 000000000000..bef9bf6fddbd
--- /dev/null
+++ b/dev-python/clang-python/clang-python-19.0.0_pre20240504.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 86a6d75da698..96e21f71bf3f 100644
--- a/dev-python/cleo/Manifest
+++ b/dev-python/cleo/Manifest
@@ -1 +1 @@
-DIST cleo-0.8.1.tar.gz 96220 BLAKE2B 57971f6254a31ecf5101d89e96607b5915ab5138d727279d445172b89a10acd6b76619d344973fa2bdbc320866fa1dbdf05c889f4eca879839fa6bcbbad0af7c SHA512 9cd470063db9866a526f0bb8619d772c585377d5b1a662e0f94bad9fb9c853598b176444ca1ac0fadec82992196c471646504d6a28d4dcd1171433b8d160be9c
+DIST cleo-2.1.0.gh.tar.gz 165795 BLAKE2B 7c9d0cc869d1e185c2c5a092a8aa1d1b3cce5fc25246939c0ff94920ac7070000b110be9f6cd9d1f827ed951ff22b9ad62e3c17a941022967b7599e456cda837 SHA512 e73a4c02470052f0f602fae8b5bf7073f3342d0816074398b19f0fb25caddda51b6d2fcb9ef57026638d0dc8861a2b5142d87551b105cefa5e54426e4aa1225c
diff --git a/dev-python/cleo/cleo-0.8.1.ebuild b/dev-python/cleo/cleo-0.8.1.ebuild
deleted file mode 100644
index 2d49e464a55a..000000000000
--- a/dev-python/cleo/cleo-0.8.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=pyproject.toml
-PYTHON_COMPAT=( python3_{7..10} )
-inherit distutils-r1
-
-DESCRIPTION="Python tool for building testable command-line interfaces"
-HOMEPAGE="https://github.com/sdispater/cleo"
-SRC_URI="https://github.com/sdispater/cleo/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/clikit[${PYTHON_USEDEP}]
- dev-python/crashtest[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
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 0a2fd8dc3506..91b911ff8b69 100644
--- a/dev-python/cleo/metadata.xml
+++ b/dev-python/cleo/metadata.xml
@@ -1,13 +1,13 @@
<?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 type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="github">sdispater/cleo</remote-id>
+ <remote-id type="github">python-poetry/cleo</remote-id>
<remote-id type="pypi">cleo</remote-id>
</upstream>
</pkgmetadata>
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 ab8aa22985b7..000000000000
--- a/dev-python/cli_helpers/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cli_helpers-2.2.1.tar.gz 34199 BLAKE2B 5fb5217321d92cd6c774337bdf444ad2a6120accfe32da08642a880a60f1bdb4c71f12657bd17c30f7b3f212216fad027ac9c786367563e01d58c54c15bf67b5 SHA512 4b4a8c3ab61ceeaa1986e5d9943b10351ff1b3339294a78ed740bff3bd555cace723e637d6627e26b832370583989aa2b0782f57949af2c1d504f93caceda2d8
diff --git a/dev-python/cli_helpers/cli_helpers-2.2.1.ebuild b/dev-python/cli_helpers/cli_helpers-2.2.1.ebuild
deleted file mode 100644
index c39af3248f56..000000000000
--- a/dev-python/cli_helpers/cli_helpers-2.2.1.ebuild
+++ /dev/null
@@ -1,25 +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_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="Python helpers for common CLI tasks"
-HOMEPAGE="https://cli-helpers.rtfd.io/"
-SRC_URI="https://github.com/dbcli/${PN}/archive/v${PV}.tar.gz -> ${P}.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 bd04a525c0a0..000000000000
--- a/dev-python/cli_helpers/cli_helpers-9999.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-EGIT_REPO_URI="https://github.com/dbcli/${PN}.git"
-inherit distutils-r1 git-r3
-
-DESCRIPTION="Python helpers for common CLI tasks"
-HOMEPAGE="https://cli-helpers.rtfd.io/"
-SRC_URI=""
-
-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 15081d8e418c..000000000000
--- a/dev-python/click-default-group/click-default-group-1.2.2-r1.ebuild
+++ /dev/null
@@ -1,24 +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_{8..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
new file mode 100644
index 000000000000..1bc368313149
--- /dev/null
+++ b/dev-python/click-didyoumean/Manifest
@@ -0,0 +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
new file mode 100644
index 000000000000..54c8d611c563
--- /dev/null
+++ b/dev-python/click-didyoumean/click-didyoumean-0.3.0.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=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Enable git-like did-you-mean feature in click"
+HOMEPAGE="
+ https://github.com/click-contrib/click-didyoumean/
+ https://pypi.org/project/click-didyoumean/
+"
+SRC_URI="
+ https://github.com/click-contrib/click-didyoumean/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/click-7[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/click-didyoumean/click-didyoumean-0.3.1.ebuild b/dev-python/click-didyoumean/click-didyoumean-0.3.1.ebuild
new file mode 100644
index 000000000000..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-didyoumean/metadata.xml b/dev-python/click-didyoumean/metadata.xml
new file mode 100644
index 000000000000..1a9b0c6e2e93
--- /dev/null
+++ b/dev-python/click-didyoumean/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">click-contrib/click-didyoumean</remote-id>
+ <remote-id type="pypi">click-didyoumean</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/click-help-colors/Manifest b/dev-python/click-help-colors/Manifest
index 6aae08de5ed1..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.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.ebuild b/dev-python/click-help-colors/click-help-colors-0.9.1.ebuild
deleted file mode 100644
index 6c5ccf4edf31..000000000000
--- a/dev-python/click-help-colors/click-help-colors-0.9.1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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}.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 0d744fa4db1d..d3469fc7757f 100644
--- a/dev-python/click-log/click-log-0.4.0.ebuild
+++ b/dev-python/click-log/click-log-0.4.0.ebuild
@@ -1,19 +1,19 @@
-# 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_{8..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 dfcb0ebf650c..000000000000
--- a/dev-python/click-plugins/click-plugins-1.1.1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{8..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 ~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 0f0387f16e18..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
@@ -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_{8..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 c55edc5372a2..000000000000
--- a/dev-python/click/click-8.1.3.ebuild
+++ /dev/null
@@ -1,38 +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_{8..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 dad03747752f..a884de01fe6c 100644
--- a/dev-python/cliff/Manifest
+++ b/dev-python/cliff/Manifest
@@ -1 +1 @@
-DIST cliff-3.10.1.tar.gz 82764 BLAKE2B 88e8481d23f6ad35acac9fd17b1e4930f31ebc13211ad5bf1db441dbe4ad99faec023b6a46640d0fa3dbac4d76f4fd9d9fd3cd1e6c319cab390d502c9adff53c SHA512 2a1eb1f5311eb92ac481b35e0f703bb37171c9c7eee68a3d8322786a802d562d990ea8e3e52e924215b2ff8c3f14614f99ea403d94bfa2ea3794ab3556baa0c9
+DIST cliff-4.6.0.tar.gz 83765 BLAKE2B a71ec00ac4525b960da4b40135477a3ed3fab8651c12b69af1a48ef19ae6e2eec37c8ab8f83ab23e0a948b002a7bfb152b677fd0ec313deb5e70ee5cb37fdd46 SHA512 59e887eddbdf695927e9ece46749f3f62557fd20bb24d7ff109f174a4ae4886cb3b44994903522c1d31c83b9f7f101f16604f6ffc4167ed6405e49a09f236dd0
diff --git a/dev-python/cliff/cliff-3.10.1.ebuild b/dev-python/cliff/cliff-3.10.1.ebuild
deleted file mode 100644
index 8c1db180105b..000000000000
--- a/dev-python/cliff/cliff-3.10.1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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/setuptools[${PYTHON_USEDEP}]
- >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- dev-python/sphinx[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/cliff/cliff-4.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/Manifest b/dev-python/clikit/Manifest
index cfef6b02db15..29a764b333df 100644
--- a/dev-python/clikit/Manifest
+++ b/dev-python/clikit/Manifest
@@ -1 +1 @@
-DIST clikit-0.6.2.tar.gz 72115 BLAKE2B b72f245128c698375f97139cf245bdc8c017e3e2d142f6e3183a42620b23a024531e5b14f05163c6defa9ee54c52c19a64932c62484f2ec8da5c75ea1b7d3d27 SHA512 6f6e436b2161349ce03c705df594e564dbc594b03370dfd62e3b1c8f2accbbc12a1cda881ca392a096435ee243e4f772589ce6f6dfbd3af63d1656d49c3fcb04
+DIST clikit-0.6.2.gh.tar.gz 72115 BLAKE2B b72f245128c698375f97139cf245bdc8c017e3e2d142f6e3183a42620b23a024531e5b14f05163c6defa9ee54c52c19a64932c62484f2ec8da5c75ea1b7d3d27 SHA512 6f6e436b2161349ce03c705df594e564dbc594b03370dfd62e3b1c8f2accbbc12a1cda881ca392a096435ee243e4f772589ce6f6dfbd3af63d1656d49c3fcb04
diff --git a/dev-python/clikit/clikit-0.6.2-r1.ebuild b/dev-python/clikit/clikit-0.6.2-r1.ebuild
new file mode 100644
index 000000000000..6d946cc54a18
--- /dev/null
+++ b/dev-python/clikit/clikit-0.6.2-r1.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="Group of utilities to build beautiful and testable command line interfaces"
+HOMEPAGE="
+ https://github.com/sdispater/clikit/
+ https://pypi.org/project/clikit/
+"
+SRC_URI="
+ https://github.com/sdispater/clikit/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ dev-python/pastel[${PYTHON_USEDEP}]
+ dev-python/pylev[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/crashtest[${PYTHON_USEDEP}]
+ 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.plugin
+ local -x COLUMNS=80
+ epytest
+}
diff --git a/dev-python/clikit/clikit-0.6.2.ebuild b/dev-python/clikit/clikit-0.6.2.ebuild
deleted file mode 100644
index 8bb676a6f1ba..000000000000
--- a/dev-python/clikit/clikit-0.6.2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=pyproject.toml
-PYTHON_COMPAT=( python3_{7..10} )
-inherit distutils-r1
-
-DESCRIPTION="Group of utilities to build beautiful and testable command line interfaces"
-HOMEPAGE="https://github.com/sdispater/clikit"
-SRC_URI="https://github.com/sdispater/clikit/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-RDEPEND="
- dev-python/pastel[${PYTHON_USEDEP}]
- dev-python/pylev[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="
- test? (
- dev-python/crashtest[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # skip failing test
- rm tests/utils/test_terminal.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/clikit/metadata.xml b/dev-python/clikit/metadata.xml
index 56a7414e444f..8fa037d2bbfd 100644
--- a/dev-python/clikit/metadata.xml
+++ b/dev-python/clikit/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>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/clint/Manifest b/dev-python/clint/Manifest
index e1227d68777e..ac577e93e7d7 100644
--- a/dev-python/clint/Manifest
+++ b/dev-python/clint/Manifest
@@ -1 +1 @@
-DIST clint-0.5.1.tar.gz 81140 BLAKE2B 5b42e7d46321f0416d3ffb51edf66c53476d3e4a211e971f36cab54a412f6b0f0ec26486c2b95871956ab09e7e4adf68e8329dd7e9e3c7ed1adb3f8a0dd2a728 SHA512 3ad8bfc587acb1322c7d7c3e73756a07c98f3b4215a3d4dc409b5a2067bc70dce2dd98d19250b8122b319b7bcf5e2859251de2829780345de06f93b35447c4e8
+DIST clint-0.5.1.gh.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 ba94740f0d82..000000000000
--- a/dev-python/clint/clint-0.5.1-r3.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{7..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 ~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
new file mode 100644
index 000000000000..99459869f5f3
--- /dev/null
+++ b/dev-python/clint/clint-0.5.1-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=( pypy3 python3_{10..12} )
+
+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}.gh.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/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 1a2cd2575a03..77f4b21b8440 100644
--- a/dev-python/cloudpickle/Manifest
+++ b/dev-python/cloudpickle/Manifest
@@ -1 +1 @@
-DIST cloudpickle-2.1.0.tar.gz 60093 BLAKE2B b6d210f9da7c16be66f3538109207a652331fdb5389361acfccb414bf36865ecafea15fd57ab24741f9e01d362c188f2c246388688c38a4d09a670053b0f9c4f SHA512 c38bf1044e18e673a89676c78d2f49422a36f6ccbcd29719aa9adfd157210e38e84befcc44b4b6ffcd60537748fccd3e384ed52aa4e1b939d84d127c302e2bb1
+DIST cloudpickle-3.0.0.gh.tar.gz 59519 BLAKE2B 6d5c7b98990bb4d59ffc4e75efe109814430c8b73753d630b169ce0c455e5d5105782a314d4921b5051d458758980c954b8a84cf79a9534c9a382a8066d03c27 SHA512 e091cc0de2489c06e020fac2852d25f7fd832036a2b2c4c34f0cda0c642a1c65413fc0f21dc51fec75803e7c7da37f26f613620150acd9ab4aa2bb7b1eaabb79
diff --git a/dev-python/cloudpickle/cloudpickle-2.1.0.ebuild b/dev-python/cloudpickle/cloudpickle-2.1.0.ebuild
deleted file mode 100644
index 8efdbfe094ac..000000000000
--- a/dev-python/cloudpickle/cloudpickle-2.1.0.ebuild
+++ /dev/null
@@ -1,36 +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_{8..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 ac405ba89f45..44677a7dc0d6 100644
--- a/dev-python/cloudscraper/Manifest
+++ b/dev-python/cloudscraper/Manifest
@@ -1 +1 @@
-DIST cloudscraper-1.2.60.tar.gz 111265 BLAKE2B d4c69189104a433c044de9f60ce4d15c82f65f4bbfab2350f0e4603703c080a9adb439a6634da94e511ba2e100543ed4a7c7aad2c5b83f061cb04e06d4e3c294 SHA512 8d2d29add399c06754af5b43fae3f9e65c2b4fc417c5744c072a7e7e4fac0eaa566e163a9fb0b886774729b8c3bf3157550b6f877908185ef24891e341bb836c
+DIST cloudscraper-1.2.69.gh.tar.gz 112198 BLAKE2B ea7325353aa9c4bfaca1834a1f9fdb2201cee1946a990d059540500e58322899469a48d847b6d7688b8f671bf4bbe762d1f61ed080587f3a553771ba8e9c2a93 SHA512 9da8d3d42117768a0a38843448248e3a124c864aaa76d62125d3a1dad8ea4f1921954e6efaa2eb9b40c283d6889c15c0c33378db7008155e46ccb5ae219c11d6
diff --git a/dev-python/cloudscraper/cloudscraper-1.2.60.ebuild b/dev-python/cloudscraper/cloudscraper-1.2.60.ebuild
deleted file mode 100644
index 0f3ec0dfe8d9..000000000000
--- a/dev-python/cloudscraper/cloudscraper-1.2.60.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
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="A Python module to bypass Cloudflare's anti-bot page"
-HOMEPAGE="https://github.com/VeNoMouS/cloudscraper"
-SRC_URI="https://github.com/VeNoMouS/${PN}/archive/${PV}.tar.gz -> ${PF}.tar.gz"
-
-LICENSE="AGPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-
-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
- )
-"
-
-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..a18dcbd28462
--- /dev/null
+++ b/dev-python/clr-loader/clr-loader-0.2.6.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+DOTNET_PKG_COMPAT=8.0
+NUGETS="
+microsoft.netcore.platforms@1.1.0
+microsoft.netframework.referenceassemblies.net461@1.0.0
+microsoft.netframework.referenceassemblies.net47@1.0.0
+microsoft.netframework.referenceassemblies@1.0.0
+netstandard.library@2.0.3
+nxports@1.0.0
+"
+
+inherit check-reqs dotnet-pkg distutils-r1
+
+DESCRIPTION="Generic pure Python loader for .NET runtimes"
+HOMEPAGE="https://pythonnet.github.io/clr-loader/
+ https://github.com/pythonnet/clr-loader/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/pythonnet/${PN}.git"
+else
+ inherit pypi
+
+ KEYWORDS="amd64"
+fi
+
+SRC_URI+=" ${NUGET_URIS} "
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ dev-python/cffi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+CHECKREQS_DISK_BUILD="500M"
+DOTNET_PKG_PROJECTS=(
+ example/example.csproj
+ netfx_loader/ClrLoader.csproj
+)
+
+EPYTEST_DESELECT=(
+ # Mono only.
+ 'tests/test_common.py::test_mono'
+ 'tests/test_common.py::test_mono_debug'
+ 'tests/test_common.py::test_mono_signal_chaining'
+ 'tests/test_common.py::test_mono_set_dir'
+
+ # MS Windows only.
+ 'tests/test_common.py::test_netfx'
+ 'tests/test_common.py::test_netfx_chinese_path'
+ 'tests/test_common.py::test_netfx_separate_domain'
+)
+
+distutils_enable_tests pytest
+dotnet-pkg_force-compat
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ dotnet-pkg_pkg_setup
+}
+
+src_prepare() {
+ # To be compatible with .NET >= 6.0.
+ cat <<-EOF > Directory.Build.props || die
+<Project>
+<PropertyGroup>
+<RollForward>Major</RollForward>
+</PropertyGroup>
+</Project>
+EOF
+ nuget_writeconfig "$(pwd)/"
+
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ dotnet-pkg_src_configure
+ distutils-r1_src_configure
+}
diff --git a/dev-python/clr-loader/metadata.xml b/dev-python/clr-loader/metadata.xml
new file mode 100644
index 000000000000..dd021b2598b7
--- /dev/null
+++ b/dev-python/clr-loader/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>dotnet@gentoo.org</email>
+ <name>Gentoo Dotnet Project</name>
+ </maintainer>
+ <longdescription>
+ clr_loader provides a unified way to load one of the CLR (.NET) runtime
+ implementations (.NET Framework, .NET (Core) or Mono), load assemblies, and
+ call very simple functions.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/pythonnet/clr-loader/issues/</bugs-to>
+ <remote-id type="github">pythonnet/clr-loader</remote-id>
+ <remote-id type="pypi">clr-loader</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cmd2/Manifest b/dev-python/cmd2/Manifest
index 3edbbc44a97c..24377043fca7 100644
--- a/dev-python/cmd2/Manifest
+++ b/dev-python/cmd2/Manifest
@@ -1,2 +1 @@
-DIST cmd2-2.4.1.tar.gz 676903 BLAKE2B 10b27d7658ee366d44d5fd13a4daf3adb65537043e0475e4c30b5a3b5e142cae982515f033e52fbd63bbce583ffc64e7b0a032d4cc0bbca76303720ecb2a8232 SHA512 862ff0ed301dc8fd588fb564602b32c9e8dee1dcae9965b0ed4605acc98b63ca5767b28c0030410395fb34ea1a0c7cf966972c19b75b93c1a3a3b90b582279fb
-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.1.ebuild b/dev-python/cmd2/cmd2-2.4.1.ebuild
deleted file mode 100644
index d14b273ef06b..000000000000
--- a/dev-python/cmd2/cmd2-2.4.1.ebuild
+++ /dev/null
@@ -1,64 +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_{8..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
-
-PATCHES=(
- "${FILESDIR}"/${P}-py311.patch
-)
-
-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.2.ebuild b/dev-python/cmd2/cmd2-2.4.2.ebuild
deleted file mode 100644
index 72245e3bb12b..000000000000
--- a/dev-python/cmd2/cmd2-2.4.2.ebuild
+++ /dev/null
@@ -1,60 +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_{8..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
new file mode 100644
index 000000000000..f953f66e3566
--- /dev/null
+++ b/dev-python/cmd2/cmd2-2.4.3.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 virtualx pypi
+
+DESCRIPTION="Extra features for standard library's cmd module"
+HOMEPAGE="
+ https://github.com/python-cmd2/cmd2/
+ https://pypi.org/project/cmd2/
+"
+
+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/files/cmd2-2.4.1-py311.patch b/dev-python/cmd2/files/cmd2-2.4.1-py311.patch
deleted file mode 100644
index c0e9da528a08..000000000000
--- a/dev-python/cmd2/files/cmd2-2.4.1-py311.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From c02bb7dce587886fe380704a8c6a6009eb677a74 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 21 May 2022 15:41:11 +0200
-Subject: [PATCH] Fixed duplicate subparser name in
- test_add_parser_custom_completer
-
-If I'm not mistaken, the use of the same name for both subparsers was
-not intentional but a typo. In Python 3.11, this is an error and causes
-the test to fail.
-
-Fixes #1228
----
- tests/test_argparse_completer.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/test_argparse_completer.py b/tests/test_argparse_completer.py
-index 135d3de4..14c8c1de 100644
---- a/tests/test_argparse_completer.py
-+++ b/tests/test_argparse_completer.py
-@@ -1371,5 +1371,5 @@ def test_add_parser_custom_completer():
- no_custom_completer_parser = subparsers.add_parser(name="no_custom_completer")
- assert no_custom_completer_parser.get_ap_completer_type() is None # type: ignore[attr-defined]
-
-- custom_completer_parser = subparsers.add_parser(name="no_custom_completer", ap_completer_type=CustomCompleter)
-+ custom_completer_parser = subparsers.add_parser(name="custom_completer", ap_completer_type=CustomCompleter)
- assert custom_completer_parser.get_ap_completer_type() is CustomCompleter # type: ignore[attr-defined]
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 7bcacc2beef3..000000000000
--- a/dev-python/collective-checkdocs/collective-checkdocs-0.2-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{8..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/Manifest b/dev-python/colorama/Manifest
index 622ffbf04ee6..08dd0ad4ddd1 100644
--- a/dev-python/colorama/Manifest
+++ b/dev-python/colorama/Manifest
@@ -1 +1 @@
-DIST colorama-0.4.5.gh.tar.gz 113373 BLAKE2B d7b071b1efa585c26c48f26af7a0df9bff25e3986f2615889fd25c34d785c256ac3c4655375f13e7d1bc6972f7fa64bd48a819d988160ceb75fda356d645876d SHA512 d4d3b2a4c6a0966b5c15a12cd789e4b68e5b632c4d745d93fcff5e250fe10e5d45dd2a8bd25f4399cca31a358aecf99f354aa3e1b74369ae382b51bd6c87644f
+DIST colorama-0.4.6.gh.tar.gz 116300 BLAKE2B 5b8f013a0cfa227dc750456d28af83dd6322000a3982e680d0cf051f6ae964b630f2889a0f1b78fe1cab465b25a52db07516cee9cbd99575dae38a86c5b69bd0 SHA512 2b269b190041398a1808b0b5147e47422b4451a1bc91841d0957572214ba8addd731c8932afdc60bfbba9833a0fe6c9c5c2ecb150613f13498f661799d625e4f
diff --git a/dev-python/colorama/colorama-0.4.5.ebuild b/dev-python/colorama/colorama-0.4.5.ebuild
deleted file mode 100644
index 4a54beebbaec..000000000000
--- a/dev-python/colorama/colorama-0.4.5.ebuild
+++ /dev/null
@@ -1,50 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="ANSI escape character sequences for colored terminal text & cursor positioning"
-HOMEPAGE="
- https://pypi.org/project/colorama/
- https://github.com/tartley/colorama/
-"
-SRC_URI="
- https://github.com/tartley/colorama/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"
-IUSE="examples"
-
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- docinto examples
- dodoc -r demos/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # Some tests require stdout to be a TTY
- # https://github.com/tartley/colorama/issues/169
- script -eqc "${EPYTHON} -m pytest -vv -s" /dev/null \
- || die "tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/colorama/colorama-0.4.6.ebuild b/dev-python/colorama/colorama-0.4.6.ebuild
new file mode 100644
index 000000000000..751fdfcdc4c9
--- /dev/null
+++ b/dev-python/colorama/colorama-0.4.6.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=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="ANSI escape character sequences for colored terminal text & cursor positioning"
+HOMEPAGE="
+ https://pypi.org/project/colorama/
+ https://github.com/tartley/colorama/
+"
+SRC_URI="
+ https://github.com/tartley/colorama/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"
+IUSE="examples"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ docinto examples
+ dodoc -r demos/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # Some tests require stdout to be a TTY
+ # https://github.com/tartley/colorama/issues/169
+ script -eqc "${EPYTHON} -m pytest -vv -s" /dev/null \
+ || die "tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/colorclass/colorclass-2.2.2-r1.ebuild b/dev-python/colorclass/colorclass-2.2.2-r1.ebuild
index 139455504c38..21cd49822e56 100644
--- a/dev-python/colorclass/colorclass-2.2.2-r1.ebuild
+++ b/dev-python/colorclass/colorclass-2.2.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2019-2022 Gentoo Authors
+# Copyright 2019-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..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
new file mode 100644
index 000000000000..a7f88b2d71c3
--- /dev/null
+++ b/dev-python/coloredlogs/coloredlogs-15.0.1-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=( pypy3 python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi
+
+DESCRIPTION="Colored stream handler for the logging module"
+HOMEPAGE="
+ https://pypi.org/project/coloredlogs/
+ https://github.com/xolox/python-coloredlogs
+ https://coloredlogs.readthedocs.io/en/latest/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/humanfriendly-9.1[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ dev-python/capturer[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/verboselogs[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=( "${FILESDIR}/coloredlogs-14.0-fix-install-prefix.patch" )
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # test_auto_install fails because the pth file isn't being loaded
+ coloredlogs/tests.py::ColoredLogsTestCase::test_auto_install
+)
+
+python_test() {
+ epytest coloredlogs/tests.py
+}
diff --git a/dev-python/coloredlogs/coloredlogs-15.0.1.ebuild b/dev-python/coloredlogs/coloredlogs-15.0.1.ebuild
deleted file mode 100644
index 3374e42daed6..000000000000
--- a/dev-python/coloredlogs/coloredlogs-15.0.1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Colored stream handler for the logging module"
-HOMEPAGE="
- https://pypi.org/project/coloredlogs/
- https://github.com/xolox/python-coloredlogs
- https://coloredlogs.readthedocs.io/en/latest/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/humanfriendly-9.1[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/capturer[${PYTHON_USEDEP}]
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/verboselogs[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=( "${FILESDIR}/coloredlogs-14.0-fix-install-prefix.patch" )
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-python_test() {
- # test_cli_conversion requires the package to be installed
- distutils_install_for_testing
- # test_auto_install fails because the pth file isn't being loaded
- epytest coloredlogs/tests.py \
- --deselect coloredlogs/tests.py::ColoredLogsTestCase::test_auto_install
-}
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 30ccf4d1d8e6..73beec9a0512 100644
--- a/dev-python/colorlog/Manifest
+++ b/dev-python/colorlog/Manifest
@@ -1 +1 @@
-DIST colorlog-6.6.0.tar.gz 30712 BLAKE2B 21c297d08a53bb67184bdd40f9bfae859f0bfd8ae63a27df570b316f85aa4904b8323c78a9706abbceb36ae1b76aae66150f86e8e25612caa5fe0dd4df5f25d8 SHA512 8c8bdfcfe537dc34c145fbfb9ebd0399184e3a8ab0e4bccc2e61d52a323c1372c60757cac2b023c9d39eb3c9fcf191b50c8cd4d089941aa484b30170a3cd1389
+DIST colorlog-6.8.2.tar.gz 16529 BLAKE2B c745e9deae4f0a96e5b3481268b7ae402f0c7f05a3997753cbc6e117c1f0630338748ca557f5f3ae261694f0ce6c65f486d06d35778b3ee331160d2c0596465f SHA512 cffd4541837e15ed7cfa0e48d8424d6bb10d0de6e227fe16145cfba51ebc2f90e2a4c750db57d37ee2708ec0272de97ad74e946283b7b3cd3628e1bd24a60b6f
diff --git a/dev-python/colorlog/colorlog-6.6.0-r1.ebuild b/dev-python/colorlog/colorlog-6.6.0-r1.ebuild
deleted file mode 100644
index 440cff7d948f..000000000000
--- a/dev-python/colorlog/colorlog-6.6.0-r1.ebuild
+++ /dev/null
@@ -1,18 +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_{8..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 e33f148649c1..000000000000
--- a/dev-python/colorspacious/colorspacious-1.1.2.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
-
-PYTHON_COMPAT=( python3_{8..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/Manifest b/dev-python/colour/Manifest
new file mode 100644
index 000000000000..137909571b6b
--- /dev/null
+++ b/dev-python/colour/Manifest
@@ -0,0 +1 @@
+DIST colour-0.1.5.tar.gz 24776 BLAKE2B 71e2b44c6379f73fa1a70781ae2559e37122e2db982d1f98ab5c4432b4e95a2c60d6489a88025499c36d288f3e9269e65caf9560d7772e2c1c050266c284816f SHA512 09a5160862bf10cd5f4a94e43c63d6f2a5db43bcaae0e9d8f66900113ec04471e22d0bec7412f0289c6f1e6871c1a544f5be36266aa8d6fd5ec274bd461d9df8
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/metadata.xml b/dev-python/colour/metadata.xml
new file mode 100644
index 000000000000..44eef9f1cf0d
--- /dev/null
+++ b/dev-python/colour/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription>
+ Converts and manipulates common color representation (RGB, HSL, web, ...).
+ Full conversion between RGB, HSL, 6-digit hex, 3-digit hex, human color.
+ One object (Color) or bunch of single purpose function (rgb2hex, hsl2rgb
+ ...). Web format that use the smallest representation between 6-digit (e.g.
+ #fa3b2c), 3-digit (e.g. #fbb), fully spelled color (e.g. white), following
+ W3C color naming for compatible CSS or HTML color specifications. Smooth
+ intuitive color scale generation choosing N color gradients. Can pick
+ colors for you to identify objects of your application.
+ </longdescription>
+ <stabilize-allarches />
+ <upstream>
+ <remote-id type="github">vaab/colour</remote-id>
+ <remote-id type="pypi">colour</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/comm/Manifest b/dev-python/comm/Manifest
new file mode 100644
index 000000000000..0380e0940bc0
--- /dev/null
+++ b/dev-python/comm/Manifest
@@ -0,0 +1 @@
+DIST comm-0.2.2.gh.tar.gz 9983 BLAKE2B aedbd55751cbf58b2e7adad5e59af1aa1479e653bb7b62f811686a30630682edfd6fe82e18ed14d9f7a4b875e2596fba375eb34493f3d29eeeb6ca1b7bdd7c71 SHA512 a37999859894186cb52f50835459dd6c3aced256ed1c6319660c98ad9e423f4ab1fd86545f68c82fbbbd74dcec70359566307cecbc3610d806084a33fae9e693
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/comm/metadata.xml b/dev-python/comm/metadata.xml
new file mode 100644
index 000000000000..43c17f46535e
--- /dev/null
+++ b/dev-python/comm/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">comm</remote-id>
+ <remote-id type="github">ipython/comm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/commentjson/commentjson-0.9.0-r1.ebuild b/dev-python/commentjson/commentjson-0.9.0-r1.ebuild
deleted file mode 100644
index c90432d94b96..000000000000
--- a/dev-python/commentjson/commentjson-0.9.0-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Add Python and JavaScript style comments in your JSON files"
-HOMEPAGE="
- https://pypi.org/project/commentjson/
- https://github.com/vaidik/commentjson/
-"
-SRC_URI="
- https://github.com/vaidik/commentjson/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/lark[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # remove lark-parser dependency to allow painless upgrade to lark
- sed -i -e '/lark-parser/d' setup.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/commentjson/commentjson-0.9.0-r2.ebuild b/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
index 2309f67cfbc1..6ebede96a2b3 100644
--- a/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
+++ b/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2022 Gentoo Authors
+# 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_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
RDEPEND="
dev-python/lark[${PYTHON_USEDEP}]
diff --git a/dev-python/commentjson/metadata.xml b/dev-python/commentjson/metadata.xml
index fb8178be68ab..e3123799bf5b 100644
--- a/dev-python/commentjson/metadata.xml
+++ b/dev-python/commentjson/metadata.xml
@@ -4,6 +4,7 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">commentjson</remote-id>
<remote-id type="github">vaidik/commentjson</remote-id>
diff --git a/dev-python/commonmark/commonmark-0.9.1-r1.ebuild b/dev-python/commonmark/commonmark-0.9.1-r1.ebuild
index 7db774f1beef..9b9d6837b501 100644
--- a/dev-python/commonmark/commonmark-0.9.1-r1.ebuild
+++ b/dev-python/commonmark/commonmark-0.9.1-r1.ebuild
@@ -1,19 +1,18 @@
-# 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_{8..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 2f6057af4446..000000000000
--- a/dev-python/configclass/configclass-0.2.0.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_{8..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 2c530d3e8d16..737c0496a495 100644
--- a/dev-python/configobj/Manifest
+++ b/dev-python/configobj/Manifest
@@ -1 +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 85b2f6dce006..000000000000
--- a/dev-python/configobj/configobj-5.0.6-r2.ebuild
+++ /dev/null
@@ -1,23 +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_{8..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 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
new file mode 100644
index 000000000000..d3b2b5960179
--- /dev/null
+++ b/dev-python/configobj/configobj-5.0.8.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="Simple config file reader and writer"
+HOMEPAGE="
+ https://github.com/DiffSK/configobj/
+ https://pypi.org/project/configobj/
+"
+SRC_URI="
+ https://github.com/DiffSK/configobj/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 ~x64-solaris"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
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/configobj/metadata.xml b/dev-python/configobj/metadata.xml
index 4601768bfdaa..0d3e51ace89b 100644
--- a/dev-python/configobj/metadata.xml
+++ b/dev-python/configobj/metadata.xml
@@ -13,7 +13,7 @@
for config files.
</longdescription>
<upstream>
+ <remote-id type="github">DiffSK/configobj</remote-id>
<remote-id type="pypi">configobj</remote-id>
- <remote-id type="sourceforge">configobj</remote-id>
</upstream>
</pkgmetadata>
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 3cf06559f03a..000000000000
--- a/dev-python/configshell-fb/configshell-fb-1.1.29.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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="amd64 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 526a5a05798a..948d6985eab5 100644
--- a/dev-python/configupdater/Manifest
+++ b/dev-python/configupdater/Manifest
@@ -1,2 +1 @@
-DIST configupdater-3.1.1.gh.tar.gz 138777 BLAKE2B 9fef5815bc41903a65c2c53c6b9ff3d00d1f4efe65008c725afda8d12694be4d18810cbfc03b291246789d736f1a2933061f2683bfc62e9e1d72e2e4f159d772 SHA512 1e499f87d0ac3d75f32aafe532d7c83b4b86fbaa204fcdbaf7a3dcb5262d936fe027ee0b21d169ef69a0590edbe965a872390b14be274fbb1c893f2d4695b92c
-DIST configupdater-3.1.gh.tar.gz 138671 BLAKE2B 48e349780e11ca26b4b15b44aa298058840cfcea47fc7b2e555f3ca743de1956a15255bfea2c5f96624e02e399bed99ae45f3422ab1660b8ae83087ddf6117e1 SHA512 89685a93f3bec907184d818b5adea4f87967df313fe4e4216aeef2c227fdf0b0f98757ec27da7f43adff6e2ee37020dd57b98569d5811c9dc7c3201852b27432
+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 64cded257ddd..000000000000
--- a/dev-python/configupdater/configupdater-3.1.1.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=( pypy3 python3_{8..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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~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.1.ebuild b/dev-python/configupdater/configupdater-3.1.ebuild
deleted file mode 100644
index bb6d09e8a58f..000000000000
--- a/dev-python/configupdater/configupdater-3.1.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=( pypy3 python3_{8..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="~amd64"
-
-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/configupdater/metadata.xml b/dev-python/configupdater/metadata.xml
index 9fbb7c1b9718..719d937f2e6e 100644
--- a/dev-python/configupdater/metadata.xml
+++ b/dev-python/configupdater/metadata.xml
@@ -4,6 +4,7 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">pyscaffold/configupdater</remote-id>
<remote-id type="pypi">ConfigUpdater</remote-id>
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 a04cc49afb94..fbcade75648d 100644
--- a/dev-python/confuse/Manifest
+++ b/dev-python/confuse/Manifest
@@ -1,2 +1 @@
-DIST confuse-1.7.0.tar.gz 49171 BLAKE2B f102ed445d4fc259739305f745fea6c1fef90fe4d8eb7b77bb6c370d37929807478df86ad78ffc8fc2fb1d4cd7033d76e34d880d6dab6721b5fd6cc0e7f5d02a SHA512 0da6cb237aa31f63cf6d2df2e90eb27e7b1a81bd126546a4314425b9dc1d9f993232b4787815abaf7ef4b54ef03ac3286c321e6654fdf18f05f92aa69c3da78e
-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-1.7.0-r1.ebuild b/dev-python/confuse/confuse-1.7.0-r1.ebuild
deleted file mode 100644
index 865cf80bbc1d..000000000000
--- a/dev-python/confuse/confuse-1.7.0-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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"
-SRC_URI="https://github.com/beetbox/${PN}/archive/v${PV}.tar.gz -> ${P}.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.0.ebuild b/dev-python/confuse/confuse-2.0.0.ebuild
deleted file mode 100644
index 2a48b8b1241c..000000000000
--- a/dev-python/confuse/confuse-2.0.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 3cd56c917c71..000000000000
--- a/dev-python/cons/cons-0.4.5.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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/Manifest b/dev-python/consonance/Manifest
index 8e2cea3c58bd..e6ff03f26fe8 100644
--- a/dev-python/consonance/Manifest
+++ b/dev-python/consonance/Manifest
@@ -1 +1 @@
-DIST consonance-0.1.5.tar.gz 31225 BLAKE2B 049637747e0b9b027bfc9a064d4fe792a7d2cc42219d83662646120423af1ef18e4a8328a9deaa9e9d8d0f75065afceb6cc9c533fa5728b1e866c160811cce16 SHA512 3ab8a7a2dbca22d519c79a2903f90d79ce3b5709e0025667c9fbe0d5bfc8b3a4ab853403dd29b791bd2cf3101fdd2a3c806e694840256f373d1930daeea71509
+DIST consonance-0.1.5.gh.tar.gz 31225 BLAKE2B 049637747e0b9b027bfc9a064d4fe792a7d2cc42219d83662646120423af1ef18e4a8328a9deaa9e9d8d0f75065afceb6cc9c533fa5728b1e866c160811cce16 SHA512 3ab8a7a2dbca22d519c79a2903f90d79ce3b5709e0025667c9fbe0d5bfc8b3a4ab853403dd29b791bd2cf3101fdd2a3c806e694840256f373d1930daeea71509
diff --git a/dev-python/consonance/consonance-0.1.5-r1.ebuild b/dev-python/consonance/consonance-0.1.5-r1.ebuild
index f9ba7df1255e..09de935cd30f 100644
--- a/dev-python/consonance/consonance-0.1.5-r1.ebuild
+++ b/dev-python/consonance/consonance-0.1.5-r1.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
+DISTUTILS_USE_PEP517="setuptools"
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="WhatsApp's handshake implementation using Noise Protocol"
HOMEPAGE="https://github.com/tgalal/consonance"
-SRC_URI="https://github.com/tgalal/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/tgalal/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
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 ec9532b87d12..000000000000
--- a/dev-python/constantly/constantly-15.1.0-r2.ebuild
+++ /dev/null
@@ -1,25 +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_{8..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 727d0a891abc..000000000000
--- a/dev-python/construct/construct-2.10.68.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=( python3_{8..10} )
-
-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 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
new file mode 100644
index 000000000000..25fde2b430b3
--- /dev/null
+++ b/dev-python/contourpy/Manifest
@@ -0,0 +1,2 @@
+DIST contourpy-1.2.0.gh.tar.gz 13440145 BLAKE2B c8082f69c3c8ad2b9a2d7a8e68941f1b741b0527161df371b501a32b8f0572a012aa2184b9f3ea943f45143f218f910180e31371683826d2b9b9431537c72cbd SHA512 91084ca659f796fb49f34840fb08a1a8f2a78ce8264668f5729550b1c46f316933c1d76ed87797bf58a059f0cf63e6efc58c92e44c57787fc8ad1ca16a21aa6e
+DIST contourpy-1.2.1.gh.tar.gz 13440991 BLAKE2B 2e792ca990244f7890462b84a2f23e4fbc31fd8ce0a18bc8724767dfa4b5fc0a4271dc6989531423db58d567706a28ce95e680372dbf64bae93a09914353f3ac SHA512 2bb2ac7436cbee1ebc69e6edaf3166e294de32711cec506ce9a3132f1cf20ff8de70af27b432b81abb582c9fe30239f8724f68936908bdbf6348eb249eaae4d5
diff --git a/dev-python/contourpy/contourpy-1.2.0.ebuild b/dev-python/contourpy/contourpy-1.2.0.ebuild
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/contourpy/metadata.xml b/dev-python/contourpy/metadata.xml
new file mode 100644
index 000000000000..ebd4ed83a551
--- /dev/null
+++ b/dev-python/contourpy/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">contourpy/contourpy</remote-id>
+ <remote-id type="pypi">contourpy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/conway-polynomials/Manifest b/dev-python/conway-polynomials/Manifest
new file mode 100644
index 000000000000..cf82c7974e30
--- /dev/null
+++ b/dev-python/conway-polynomials/Manifest
@@ -0,0 +1,2 @@
+DIST conway-polynomials-0.9.tar.gz 245106 BLAKE2B 3b44b337151428a18f8fc01bfa92ffe4019d2427242efed3a9edec93e2054f706ad3735505a5d90382a1c4c8e9846080de1d34538f053ba2ccda88e91fcc5fc6 SHA512 15f0dcd69f2ffb78f4f4a7d8e11ac0e37fb23bea124778b24a4bff228a00f2f09e830e49225f0b574869f88e9c90e9114921e240eb462c10071c124d04fe90a2
+DIST conway_polynomials-0.10.tar.gz 307447 BLAKE2B f079041954dc280204ae7d0dcb467c1cd982ff1f4a46eb8193ae3bb20c47f7394c1f5de31dd573f240a89b9e2f174d97744af944ce498cd6a6cc029389ca7517 SHA512 8ddaea35ba5974cea7ede93c5fde8d481a484cd5c5c2d310e64a7fb9bb22f6781a36cc30d1e75fc79c47af2241b34102cff60e5776963859bfee5f3799772fc8
diff --git a/dev-python/conway-polynomials/conway-polynomials-0.10.ebuild b/dev-python/conway-polynomials/conway-polynomials-0.10.ebuild
new file mode 100644
index 000000000000..a60b97eac7be
--- /dev/null
+++ b/dev-python/conway-polynomials/conway-polynomials-0.10.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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/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 e3378cf99352..183cbb721c21 100644
--- a/dev-python/cookies/cookies-2.2.1-r2.ebuild
+++ b/dev-python/cookies/cookies-2.2.1-r2.ebuild
@@ -1,15 +1,14 @@
-# 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_{8..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 6c4a63e92554..000000000000
--- a/dev-python/coreapi/coreapi-2.3.3-r2.ebuild
+++ /dev/null
@@ -1,31 +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_{8..10} )
-
-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 1a9b3692d2e5..000000000000
--- a/dev-python/coreapi/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">coreapi</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 2491132141bd..000000000000
--- a/dev-python/coreschema/coreschema-0.0.4-r1.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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 5008fee889cc..000000000000
--- a/dev-python/cov-core/cov-core-1.15.0-r3.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 775dd3072c47..73b9bf169f61 100644
--- a/dev-python/coverage/Manifest
+++ b/dev-python/coverage/Manifest
@@ -1,3 +1,3 @@
-DIST coverage-6.4.1.tar.gz 719971 BLAKE2B 047c57ffae092a9e04470a64d090ee7c3274c5ab60dd69d67c8151e85954b5cf2c34748f2e2641ac8229ed66a238e994d93b17f7ac4c92bce3eb919a5b7f1795 SHA512 d7b40bae4fee36c71befb490ee3341b023c0bff38ed2c97cf57a65e47be44b71685b130879640b1c8560359dbc31b0da523f5c363f3544ff666b804c7af122f0
-DIST coverage-6.4.2.tar.gz 721847 BLAKE2B d4a36a4a8e6f70654be0b9f6c0a660419d31087ed6e05208e60f2919b6d46c1cff39c0d9db7aabb214d212b3b7ed325a862e2471735bf411b7b81f6d50debe79 SHA512 10254089ee51d09928831b01b5b6f30a9077ed0ee08594312dab5a3804be1539533d9cec7381dc2a4332471681d75a5b0cd6e3dec6d67e47906b7ae820b8aed3
-DIST coverage-6.4.3.tar.gz 722764 BLAKE2B f4d45aa9f0494bfe43e244907bda14e4a99bce7d4cdc4f6610abed3a2600a6f836dccd6c4c795f6bf0f8eeab2ab3df4f0ddc3f9e2d1285d57415f9bc06b47635 SHA512 7ff93dfb58f9d00a9016c86cc4425932c6dfc700954e5174b6a39c23900915f3dc1c5951a60d4ccb2155d82e2c552c07894670440dc17574e0ef5e0ba7bb4a81
+DIST coverage-7.4.4.tar.gz 783727 BLAKE2B e7d7af92ddcb3d7b5857cc83d8e14bb16ea2bde720eba63b082d35358934047ef7285ac70a6cd8fcb4720a9ddea5c22cf4cb14404ac2800794c49650ff5a1dd4 SHA512 26d4715ce69556ca12d1b65db5f21807c08733810b4398750280184812ebfb698e7b424b9e30f55e7524323861a22d4581db0524e9e285ca858132359fd24d28
+DIST coverage-7.5.0.tar.gz 798314 BLAKE2B 6f7b80d1a46fb88f92571bc23fa2e061680e4e72e6339332f135ace6072570776abbfdce7654d34599ccd1dff920fb1d7cbdc7039a341d10e130408d554e6f83 SHA512 1332f630e6f6ed9a2445f93a3826f22151cf4eff2491163a6d01ef1ce468928a52871ee71aeeb716e8e4f04542524ae25213a37bdb874c4a663cbc581482530d
+DIST coverage-7.5.1.tar.gz 784825 BLAKE2B 4dd659d170b026aa868a066fedc9ab0cfa16b5ac2cb90a45578528f2733b7a01b7d3546836b908412d81a7ff21645b0ceebcf27d3414a99d474a7fd44d2539f4 SHA512 db9fe405c52e30e2aa673caf0cc8a02b5f62fd53b969003d231b52cf9463afc22924d5c29859447d6139be9c6642036f3cbc690ae4055d250a73c9dcd1f805a2
diff --git a/dev-python/coverage/coverage-6.4.1.ebuild b/dev-python/coverage/coverage-6.4.1.ebuild
deleted file mode 100644
index 46cfdde3d0d1..000000000000
--- a/dev-python/coverage/coverage-6.4.1.ebuild
+++ /dev/null
@@ -1,68 +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_{8..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"
-
-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() {
- "${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-6.4.2.ebuild b/dev-python/coverage/coverage-6.4.2.ebuild
deleted file mode 100644
index 8a27c2c95f30..000000000000
--- a/dev-python/coverage/coverage-6.4.2.ebuild
+++ /dev/null
@@ -1,68 +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_{8..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"
-
-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() {
- "${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-6.4.3.ebuild b/dev-python/coverage/coverage-6.4.3.ebuild
deleted file mode 100644
index 8a27c2c95f30..000000000000
--- a/dev-python/coverage/coverage-6.4.3.ebuild
+++ /dev/null
@@ -1,68 +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_{8..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"
-
-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() {
- "${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/coverage/coverage-7.5.0.ebuild b/dev-python/coverage/coverage-7.5.0.ebuild
new file mode 100644
index 000000000000..d7fb22bbd856
--- /dev/null
+++ b/dev-python/coverage/coverage-7.5.0.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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/coverage/coverage-7.5.1.ebuild b/dev-python/coverage/coverage-7.5.1.ebuild
new file mode 100644
index 000000000000..4903c1472391
--- /dev/null
+++ b/dev-python/coverage/coverage-7.5.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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Code coverage measurement for Python"
+HOMEPAGE="
+ https://coverage.readthedocs.io/en/latest/
+ https://github.com/nedbat/coveragepy/
+ https://pypi.org/project/coverage/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+test_tracer() {
+ local -x COVERAGE_CORE=${1}
+ einfo " Testing with the ${COVERAGE_CORE} core ..."
+ epytest -p flaky -p hypothesis -p xdist tests
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: fails because of additional "Terminated" print on SIGTERM
+ tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data
+ # broken because of pytest plugins explicity loaded
+ tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
+ # these expect specific availability of C extension matching
+ # COVERAGE_CORE (which breaks testing pytracer on CPython)
+ tests/test_cmdline.py::CmdLineStdoutTest::test_version
+ tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
+ )
+ local EPYTEST_IGNORE=(
+ # pip these days insists on fetching build deps from Internet
+ tests/test_venv.py
+ )
+
+ "${EPYTHON}" igor.py zip_mods || die
+
+ local -x COVERAGE_TESTING=True
+ # TODO: figure out why they can't be imported inside test env
+ local -x COVERAGE_NO_CONTRACTS=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ local prev_opt=$(shopt -p nullglob)
+ shopt -s nullglob
+ local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
+ ${prev_opt}
+
+ if [[ -n ${c_ext} ]]; then
+ cp "${c_ext}" coverage/ || die
+ test_tracer ctrace
+ fi
+
+ test_tracer pytrace
+
+ case ${EPYTHON} in
+ python3.1[01]|pypy3)
+ ;;
+ *)
+ # available since Python 3.12
+ test_tracer sysmon
+ ;;
+ esac
+
+ if [[ -n ${c_ext} ]]; then
+ rm coverage/*.so || die
+ fi
+}
diff --git a/dev-python/coverage/metadata.xml b/dev-python/coverage/metadata.xml
index 7901aa69ec4d..703663e75f4b 100644
--- a/dev-python/coverage/metadata.xml
+++ b/dev-python/coverage/metadata.xml
@@ -15,5 +15,6 @@ Python standard library to determine which lines are executable, and which have
been executed.</longdescription>
<upstream>
<remote-id type="pypi">coverage</remote-id>
+ <remote-id type="github">nedbat/coveragepy</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/cppy/cppy-1.2.1-r1.ebuild b/dev-python/cppy/cppy-1.2.1-r1.ebuild
index 68ac52b3806c..7d88ad5c165b 100644
--- a/dev-python/cppy/cppy-1.2.1-r1.ebuild
+++ b/dev-python/cppy/cppy-1.2.1-r1.ebuild
@@ -1,20 +1,22 @@
-# 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_{8..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 ~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/Manifest b/dev-python/crashtest/Manifest
index bc111d81c131..34f3984abc07 100644
--- a/dev-python/crashtest/Manifest
+++ b/dev-python/crashtest/Manifest
@@ -1,2 +1 @@
-DIST crashtest-0.3.1.tar.gz 16223 BLAKE2B b90465ee736ec0d9c378ed16327fe5bbddf19066a64a2a9d1c454f38eac5321235cafeb20756b2018e1dfea0e07726696084b8965a2543edc5e9fe0d79c33db1 SHA512 1ec80159416e820336d2217c2327f26638e235797ac73edc96fc5e568e2d9fa6e8746e11acde71953a960247f73a6ed9540e3f01c96d3a65f2071dc3e6be5be6
-DIST crashtest-0.4.0.gh.tar.gz 13564 BLAKE2B 9c29694f5c96a981e19cce16853460cfed7277a2a933c14be9bdefcac9f79e9d835454fd79b3da2fb5f62946f933452202eee05199dfa048b919a3fc3dd93f40 SHA512 98d9623eeef584baed7bd336a3846af9b4f3aa55662b643e915b17b0a7dce4968785052ce3d37f55fc0217dbb6662b6f5d34efeb4d45dbace876551871be4e4a
+DIST crashtest-0.4.1.gh.tar.gz 19114 BLAKE2B aa46efb2dbabfeaab54f9149da42cb033f5dca3ab1c75032ca2542018058cf16775f56450cadf3e1272e738d602f32f21b9a6668a99f2733cd53d23c1754a0bc SHA512 83faf66fb422c8fb13780ac5a8ddd4c47ebb77f248bea0eb94962caff24265b107fd8bbc0d577853969c4aecedd83977e9c74c81dc7e772b7684e09a832a0a2f
diff --git a/dev-python/crashtest/crashtest-0.3.1-r1.ebuild b/dev-python/crashtest/crashtest-0.3.1-r1.ebuild
deleted file mode 100644
index ce2e96887842..000000000000
--- a/dev-python/crashtest/crashtest-0.3.1-r1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="Python library that makes exceptions handling and inspection easier"
-HOMEPAGE="https://github.com/sdispater/crashtest"
-SRC_URI="https://github.com/sdispater/crashtest/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/crashtest/crashtest-0.4.0.ebuild b/dev-python/crashtest/crashtest-0.4.0.ebuild
deleted file mode 100644
index b0ba80fce8eb..000000000000
--- a/dev-python/crashtest/crashtest-0.4.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="Python library that makes exceptions handling and inspection easier"
-HOMEPAGE="https://github.com/sdispater/crashtest"
-SRC_URI="
- https://github.com/sdispater/crashtest/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/crashtest/crashtest-0.4.1.ebuild b/dev-python/crashtest/crashtest-0.4.1.ebuild
new file mode 100644
index 000000000000..8cee0b49029a
--- /dev/null
+++ b/dev-python/crashtest/crashtest-0.4.1.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=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library that makes exceptions handling and inspection easier"
+HOMEPAGE="
+ https://github.com/sdispater/crashtest/
+ https://pypi.org/project/crashtest/
+"
+SRC_URI="
+ https://github.com/sdispater/crashtest/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 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 196fbe612ae1..902177adf57e 100644
--- a/dev-python/crcmod/crcmod-1.7-r5.ebuild
+++ b/dev-python/crcmod/crcmod-1.7-r5.ebuild
@@ -1,10 +1,11 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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_{8..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 18712a118e47..4999c62f0353 100644
--- a/dev-python/croniter/Manifest
+++ b/dev-python/croniter/Manifest
@@ -1 +1 @@
-DIST croniter-1.3.5.tar.gz 38606 BLAKE2B 45586ef4ef6622caca3611fd596818a875a451ade6353cf4a99219f38ab76e72656c885bd61238670a809203d487d78d884d700c5e2e4c6eb1bdf44dfc14a1c4 SHA512 9b59334f8537cd5b48e17be2c83fcb78f2c0a8c62b7c28091600c84cf202e6847d7d1d40ff5ebb57cac3a713013ca247620e348aa9f3a408483cf4110a88545f
+DIST croniter-2.0.5.tar.gz 47450 BLAKE2B fe7260cea5ec477cc39660af98a11b933182c08d66d696edece1b88d3b3212f3cdc82d4c750a83d9ceb03cd7d7d90ec139bcf6e737f2a2d791412f5a562b7819 SHA512 a61d98182754773e8a556d01ca1926452a392e55285ae3654a8cadce12418e665c6cadd2cdffa4a4091c341c8f0cb3180e473b6e91c928c5309a4d376c5e3560
diff --git a/dev-python/croniter/croniter-1.3.5.ebuild b/dev-python/croniter/croniter-1.3.5.ebuild
deleted file mode 100644
index 5fedffe476ce..000000000000
--- a/dev-python/croniter/croniter-1.3.5.ebuild
+++ /dev/null
@@ -1,31 +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_{8..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.5.ebuild b/dev-python/croniter/croniter-2.0.5.ebuild
new file mode 100644
index 000000000000..42ebaaf9cb4b
--- /dev/null
+++ b/dev-python/croniter/croniter-2.0.5.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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 aac15e3401d5..d54e16ab3b5c 100644
--- a/dev-python/cryptography/Manifest
+++ b/dev-python/cryptography/Manifest
@@ -1,47 +1,104 @@
DIST Inflector-0.11.4.crate 17438 BLAKE2B eaf0c7f983b3186e9bc89353021a10592f2877e46585bd50b96db9b087343d1199c7b6cf3fa53cd274fb6d33de025a904b8aa31a7ac9599ae3689ecdbcec34cd SHA512 f1f6463e033b6d3c16c51dc1e1a3f5569954308b95b59058294b7f9310919bbda797e99e6a07529071bb83f0688867a243997d33795a7136b0af73977004296e
DIST aliasable-0.1.3.crate 6169 BLAKE2B c23840c7f1df86109e004aa1929d7355bd815c69ce8c5a316c9e2810851b7faf91c7480924d67cf83520e94b86dc0cc1b90b0dcc84b446a15ba5cccc1bae95ca SHA512 a60e4280335638b36a72e51514843229fdd0cc89cb670fcf159f882a687c04ecbddcc52a1dcc3cbe8647e5308af3939037934a157facdddcc4834dcd3cb16dc8
-DIST asn1-0.8.7.crate 26288 BLAKE2B 702fdd34d5489b74cad023969c8873c6d469bd58376fc86fc124638ffe677f2d7f2592d28219ba741597d3791716b1303cff1fa6352f5df0fa41fdd0add628fd SHA512 4cccfa41423784cb82a0dc4fb0a23da7a14d7be883e22ec4263c219d9f14b1fb90d84f59750e11c561a494cbe6171494f60f9cdf1d1510411d579306c47f06a5
-DIST asn1_derive-0.8.7.crate 4305 BLAKE2B cc1fe4a8c27730e65164daaed5d2d346364f08a47439e012f670db82190dba50cfbdf720cb253d7a057cb4b560b8ce73c557c639e90856e27d632995643dc45f SHA512 44c36d43761d8890354d40c0fe6f5b700bd9d90867ba258437d325fc6e2549921255b47107a2fb556f462194e468f0cb6d27f7bd644e2ffba8d98b0b8d84ee1a
+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 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.19.crate 155663 BLAKE2B c92c273fb6475bbb2546dfb75eaa23321bc8f9a5fa8a7c652f527649b96ff8718fa932f52b500b02a4acae7837df5bdb14f69cb821d4962be2790dbd1d023a54 SHA512 a119349bfc2243a249f1d18b1ae548a04b30fecb75913a56f26d1ff8c0eb53097a2674d9141e2094018191cbbc1620843fbddaf52999824e077c1157f0907980
-DIST cryptography-37.0.4.tar.gz 585913 BLAKE2B 3ed76d5cec1dd75ab89e9cae1357eda82b23017406cd84d97ab70d6b598cb3c453e34ea013d35b5a482f032b8513c0245d4273c2201313f42be54e404fa2b598 SHA512 9d39a2ec4facffd6d1c1db9267248846071aca8ac3bccba3da2d1a0664c6ce2a38c5245a9b8f62845a83abe6ba2782c43333aa4260960f37dc2eac3789a73575
-DIST cryptography_vectors-37.0.4.tar.gz 35242881 BLAKE2B 3b58f12deec978e0d104ee84d2330248fd00291b63ca181a1e4803253e643496ee3cee14ecf84681db60da028543ca50d05968cac4d2c0609ae820b3a02463dd SHA512 33098be46d072bf35f72320d64fd244a8ef890e99ae7baa21f9fbbb8d423d60f2711c3c1293830c860ff9bdd79bff910ce4df0f4dc9f363d712b722dab2de7ab
-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 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 num-integer-0.1.44.crate 22216 BLAKE2B e1c08427e006cde6f2084adadb6086e87e6d6f8bb8dfa757a8228aa671e862a366e4bd8ca5e0500008c18bab128aead9bd5b1e53568a4f40afadcaf3882ee98f SHA512 d07e27ede02a1d007373935fd91e57a26e0e84ae14bbe24be66763baae6850788bd64ad2598d2bde4f4fad6c8a4675c40bfe0927164b16b9b69de5e9a83d9771
-DIST num-traits-0.2.14.crate 45476 BLAKE2B ae310d9d5640acc3e45e1e5d1d2f519539795922c0058ee940c94c94b6654b39358b7c18dd23a276f2c1b16a30dd4de4cbc8575bcda6a5c11e70665d670e6439 SHA512 c3028eca9f7b718de0db3a36cf3e462bdba43562d52c9b809ed4cc0aa6af403aea542d6d4da743cd1dd541397815a3c5a84cef4d6e40122994e4be6a62319b2e
-DIST once_cell-1.10.0.crate 30414 BLAKE2B 4161622dc9dab4748a1b96777da263523f23329808506faea7938160f0d5ca07b5edd31f385b14b88dd2fc34c58063df4d40a34a479573750a369512dc956992 SHA512 f6b5ce5e68923296d2041f83ac037f10ad7b9e94fc607c71332e8ee942a02c29534c2073cecdb132c7e1d91428e9d9687fbf05393ca0abbf7e15db50bb3b74ab
-DIST ouroboros-0.15.0.crate 6177 BLAKE2B 70989f764e3b83cf3f3ed598290540370a305a9b5e22f76954117a19c9bb0ccd4723892c0cbccd361a13e4961c49b3383a3f216b368d70de9d4908da87db1f72 SHA512 20e1dd42bd5789d3822c7f7d862f69c11695c19475cd943ce049b33184e231dac32d89745cf57a2db822f5f2967ee84b29320f40708612610e336aedb0c08be8
-DIST ouroboros_macro-0.15.0.crate 16239 BLAKE2B 6e40a0bd4f04dfe5f1b93f2ff0f9d169792e8f5c9c57089061f488b4d0907d0b45c63d0ccfe2ee7e0989c7009d96760bb4c873afa688e1359db09c1ee8ce0a68 SHA512 78003e89f1a062957d66261474392b32d67a75ab1933b2dadf9c6a8c8ecd29d184ef4a1f25cadd7e1afb23aa58dacf69ca6969c327405be5dc97b8fbc09568ae
-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 pem-1.0.2.crate 10305 BLAKE2B 17c3457a90807bdcc75795161e244a7c531449d0679212394a76601c2bc1b353d8c18d34c5cccae3a728387c834a23011b17a8a1bace15a1aae26de30adb1c8a SHA512 548498cdd2ba114b6f0905949fdb5880c667e6f300fdc96dc1e9abcea275ac281b85ce88830ca4478cd3318994a3c9528ba3a5597262bf8cf2da8cab8674cd0d
+DIST cryptography-41.0.7.tar.gz 630892 BLAKE2B a2786c999b8a3fa9e413a330eeaf1076574b8f49a91a91887a7976e7260aa4bd6c25354ff4656917c9e729cd12fc457ff708d904449d03b665965f775f8b7aaf SHA512 c678da6dfc02d84ca9a26bc42844da8ba356f5dc839fefa0b63636c99107b18415b5970d721b72075fc0f8aefc3785dbf143327ceb7f4ebd075df41291b63219
+DIST cryptography-42.0.5.tar.gz 671025 BLAKE2B 0eb4b6722ffcbd8b1107afeff23ad72de8199b82923e82412176601aeda8eaf0fe53485ad0fb504be0e5d1898a4006d4bc2ecf5a406f818a69120df382d2ee87 SHA512 5524fd230b55580a2c647a0a78197a783e201fdfa8b3177b72c6d7b689afd76a689e4fe3593120d3adb7ee5cc4adf9211e8deedc8fab355e9ed70076db09f68b
+DIST cryptography-42.0.6.tar.gz 670978 BLAKE2B ffe93d5a875f49531b06727bdf5727a0c12bb903d7db176b6e2e93abbb23108484dab94dbd05ab771d371211e2c0d491a4887f3e5d428b5146a442bf796d8618 SHA512 60c962357c201c5e8b78b460377a60911785c6fc3d20a501481da88f14aa1763efbacd94a65a1c1076b8efc08960f9f5ef7306f2f38de590a4135982ff37ef31
+DIST cryptography-42.0.7.tar.gz 671230 BLAKE2B d0c1e0c752e066a4bd7a01eb351463f4264603610981f738d629785a783bcdedbd5a9fefbdbf4eaac2cf56a3db12334991b284c5195bed2f8050f836a816308d SHA512 2f502fd78490ed2dc26884b05c9db32d6dcf8ed17ca3808299e528aa53ec13805e2be741d92d6a540b7dded011850cf033abe2e073f22f07e271c7c1c25c024b
+DIST cryptography_vectors-41.0.7.tar.gz 35288159 BLAKE2B ef2e82f42bb4964a256e875bf3b7bcca549df11839893ac3b8d909d05308360bb0696774fd89bd8951bf4f13aaf752a7700bfde78e68cce450ffaf5117182958 SHA512 05a96cc8d1e3653e62c6822f202f6c25157b2a11bcc42fa8a9462ac1844c295147ed5f49315f0b297c689e244cf13d02948ff5e57c21a487f0210f87518c913f
+DIST cryptography_vectors-42.0.5.tar.gz 35277812 BLAKE2B 3511f90a90816dbf48fb588e24e432844b51f9b969f03bf9f01e7cba55a8b7fc1aebf66409e137ccee14279535b366c54e1b3af6af026812cdfe92c3137106ec SHA512 38af39f8cb869af630d4b75d7a62ba9778fd59ceee2858504655d9065a82d2365644c9ab301c90f3ebd9f32f2e04867650b6d392c1f2b6880e3bb0c216e6a419
+DIST cryptography_vectors-42.0.6.tar.gz 35277817 BLAKE2B f78c96e1b2ca1d347b010f52d37b310cca8f42e796f28f13becef1e8d40781510b039b023f7e41577772be249b8dc6d0cdaadc8e72874c3feca074fbd5663616 SHA512 99f523c4df9c7d291c03808b830673b2dfb8ae1c46d621220df75c1d012cfa1be335094cef31fa6390c833452a503459ee6a06bb8c027b3e33760e8262ab9dc9
+DIST cryptography_vectors-42.0.7.tar.gz 35277664 BLAKE2B e8d999f6c139d610f7539287de22b97febebd8abcbf5989aa47139705b076aa5657a3af4fd00668c5fadb4cd8e7b2253a53f3cc057d9b2636e982f7487ac5fa0 SHA512 5d64b3b7576ff1f39db1c12fbe5ed71e8430ca82cd936aedaf41c45812ec6f72456d6369dbbc58fed1d29909a845fac467a41e0acf74e681f3de8ccb1b8422fc
+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 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-0.10.64.crate 272306 BLAKE2B a8b618aa403cdb06a7f135cd966775f21c99739365c55aabde2680a6154d03c7d554bfae6c62a069841c70ed82ece6c3f0cd589da8c26022b7022c3c4d79a6d8 SHA512 a1fa9f71cfebbb37ed9d4a902360f2cc95a78f55b5da5d51eef69db38cef016fc03236485158d689ccf054e04937b8cddf88e3f0f31672997fb30c6cac73cbf6
+DIST openssl-macros-0.1.1.crate 5601 BLAKE2B 69dc1c1f3b7bc4f934cae0dce64c3efa501162e5279efd6af3b74f7a7716c04b6996b306b310f1c045cfa2eff2895314a47ecbb020a817e461c6d77d0bc11e92 SHA512 57e75c84f78fb83f884eeaedb0dd135ecb40192dad2facd908e6a575c9b65b38a2c93bca4630e09ea5a82c77d8bc8364cb2f5778cbfe9d8f484cafe3346b883c
+DIST openssl-sys-0.9.102.crate 68622 BLAKE2B 0d3d3c9ef8e2542c7f35db1d8feaf512cc7313481bfcc99354d601e8d6332adfc2e7ee8b35599a9241de35c163efd840186e904375bdc9c65ee743abbc154cba SHA512 7ecfaa0b49cea5c60f6f063fe5217252a65b27c5e6d1185e0aa1bb4b59c4cf9bf326840e8795a870a537c18ee5a987feedaaf2dd767cd6f1380f25468a1622bd
+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-macro2-1.0.37.crate 41378 BLAKE2B 330ba71c59bb7a6718fe650fc10a37bc690fb0ba4871c198bded83d13a12cdd7b1334a2e2c8fa7a48104b26625c1b07d65b0ecf91f9c2f13b8e898e80baae286 SHA512 cedb3433c6dfff39b404f8939c67e98303bb89a47e2cfb9659eeda1ca3e3d167800dca482374501632ab6d2283105dbd7560a157b48a351b2d3da059f946be55
-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.18.crate 28911 BLAKE2B 623872402cb185a57e2ffb1bfe4105c49c152c33c44c8054af59df7bb193d14416ea2caa7b28b3f9b9ae6985bec7fc7825bc946e2e41915d2744c887a51559b6 SHA512 3fa537aa96a8970104411471b0e4b7b9339583d552c1d9297737a59ef5301af41da105b92aeace87376e1395e379153f6551bfcfe9c740e6945064426f5f6f84
-DIST redox_syscall-0.2.13.crate 23759 BLAKE2B b59c3e923b7bddc84285377eca86e649c21ee7dd61924245d43c6554124adf689f9b92841ca64876b34797249698511b322f6e8e639d71e45e1ae9da5f8b7834 SHA512 6551f503ba52c4edc0cb4a418ff212188ddc7be80dcb39eaf3bfb82faa9a76cdf359f604d6b32be6c6a335b54180c9399a0e32670333a5a08351957308486100
+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.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.3.crate 30060 BLAKE2B ef122b0b7d840d5362928bac76e1299b333775ec5c49a3bf23a19eccec074917931356bbf719c6d700999941bb6a396948ee7f8761e685c8e9251af07ba0cadc SHA512 70685415bba443787dabb9c61ca3702aefbcacb0705471b496b4f01efe34291735321d91243355b4be9aed8b243e393c09fb65556f1b926ac7f22f64560bd927
+DIST pyo3-ffi-0.18.3.crate 64474 BLAKE2B 32bedfb4c7d88e539e958af0dd48af311934a817282a01f860af7cd824fa1e3825c505463b78cda57541bea8ccbbedacdc0f67bef686e6775fab3787c26c6d2c SHA512 55240c7824ad1e5c69e05a31ec03e2064290c89c4c98f06c3ebc38c311a10b1690571c977a103790ddcc9623ac42fbf525fb028e910baedb9acafe39fd6e4a82
+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.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.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 smallvec-1.8.0.crate 27992 BLAKE2B d02897eb4d3901805be86cafd5d3dc6768b31c2ee4d0a9d7eb455e2a21be2864ea83589f4ffde102dbbafb66e3c197707af770b5ef184b8e244d992189644b84 SHA512 17687cfa6aaf95a1df063adc3a412a7c41918a0d003eaac90f7d9e859fb8fa1d652eedee17a4cb3aaae9b33a2043f89e796519e3a7a3992b292f04049bf80b0c
-DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03
-DIST syn-1.0.91.crate 235996 BLAKE2B b7b555b2dbfc837417ed69c358338819500f1e8ba11c2183a4d216efe2c2d7eddd165415516d50ffb5413b97452f186263e13299b01bccd6ad6e405f6d2a3f4f SHA512 28fe28a9d4e9ab3610850c1704be6f384e9fff191b1a5e11f9766bdada81a3e7426cbc776bbd63ea6710320c7416a622506d4a8d607d978af506d381658d4bff
-DIST unicode-xid-0.2.2.crate 14955 BLAKE2B 6c6da49ac08dbd8b3248272224d6bff96b9cd1f36029b1937a58a0b929c3a48326053305ed49e73edd70f572f5abbc4817cedc899c69e3457805ad056669f6af SHA512 92ffd0dd34e3ca235ecf110b38c447d3ec1faa23d76c112457f28d432f92fa6b5f428bc5e1bfd278f361f55426dd96e19ecb0d3eff6cf250892f069c52bd89a8
-DIST unindent-0.1.8.crate 8326 BLAKE2B 3123c6b540b152d89cc7a9a76ff1315549f973c6a26adc6ca1b40518973fcc95a9f8da94d1c52ee551f2870181a265aac7e4339a3d46ba5280021b49ad842df2 SHA512 7752f4a29306b3c43f768bc400d610d1537457b22cceae8a5ebba31c857e219dc433a10a676d3cf94316a7cd6c7013c8960c825c6f1f9db5a3c2edd0a60591a8
+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.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 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-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-37.0.4.ebuild b/dev-python/cryptography/cryptography-37.0.4.ebuild
deleted file mode 100644
index 36a43d635982..000000000000
--- a/dev-python/cryptography/cryptography-37.0.4.ebuild
+++ /dev/null
@@ -1,133 +0,0 @@
-# Copyright 1999-2022 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_{8..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-CRATES="
- Inflector-0.11.4
- aliasable-0.1.3
- asn1-0.8.7
- asn1_derive-0.8.7
- autocfg-1.1.0
- base64-0.13.0
- bitflags-1.3.2
- cfg-if-1.0.0
- chrono-0.4.19
- indoc-0.3.6
- indoc-impl-0.3.6
- instant-0.1.12
- lazy_static-1.4.0
- libc-0.2.124
- lock_api-0.4.7
- num-integer-0.1.44
- num-traits-0.2.14
- once_cell-1.10.0
- ouroboros-0.15.0
- ouroboros_macro-0.15.0
- parking_lot-0.11.2
- parking_lot_core-0.8.5
- paste-0.1.18
- paste-impl-0.1.18
- pem-1.0.2
- proc-macro-error-1.0.4
- proc-macro-error-attr-1.0.4
- proc-macro-hack-0.5.19
- proc-macro2-1.0.37
- pyo3-0.15.2
- pyo3-build-config-0.15.2
- pyo3-macros-0.15.2
- pyo3-macros-backend-0.15.2
- quote-1.0.18
- redox_syscall-0.2.13
- scopeguard-1.1.0
- smallvec-1.8.0
- stable_deref_trait-1.2.0
- syn-1.0.91
- unicode-xid-0.2.2
- unindent-0.1.8
- version_check-0.9.4
- 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
- )
-"
-
-# extra licenses come from Rust deps
-LICENSE="Apache-2.0 BSD BSD-2 MIT"
-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.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/cryptography/cryptography-42.0.6.ebuild b/dev-python/cryptography/cryptography-42.0.6.ebuild
new file mode 100644
index 000000000000..9165461ad13c
--- /dev/null
+++ b/dev-python/cryptography/cryptography-42.0.6.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.102
+ openssl@0.10.64
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ pem@3.0.3
+ pkg-config@0.3.29
+ portable-atomic@1.6.0
+ proc-macro2@1.0.78
+ pyo3-build-config@0.20.3
+ pyo3-ffi@0.20.3
+ pyo3-macros-backend@0.20.3
+ pyo3-macros@0.20.3
+ pyo3@0.20.3
+ quote@1.0.35
+ redox_syscall@0.4.1
+ scopeguard@1.2.0
+ self_cell@1.0.3
+ smallvec@1.13.1
+ syn@2.0.48
+ target-lexicon@0.12.13
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ vcpkg@0.2.15
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit cargo distutils-r1 flag-o-matic multiprocessing pypi
+
+VEC_P=cryptography_vectors-$(ver_cut 1-3)
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="
+ https://github.com/pyca/cryptography/
+ https://pypi.org/project/cryptography/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+ test? (
+ $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)")
+ )
+"
+
+LICENSE="|| ( Apache-2.0 BSD ) PSF-2"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~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.7.ebuild b/dev-python/cryptography/cryptography-42.0.7.ebuild
new file mode 100644
index 000000000000..9165461ad13c
--- /dev/null
+++ b/dev-python/cryptography/cryptography-42.0.7.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.102
+ openssl@0.10.64
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ pem@3.0.3
+ pkg-config@0.3.29
+ portable-atomic@1.6.0
+ proc-macro2@1.0.78
+ pyo3-build-config@0.20.3
+ pyo3-ffi@0.20.3
+ pyo3-macros-backend@0.20.3
+ pyo3-macros@0.20.3
+ pyo3@0.20.3
+ quote@1.0.35
+ redox_syscall@0.4.1
+ scopeguard@1.2.0
+ self_cell@1.0.3
+ smallvec@1.13.1
+ syn@2.0.48
+ target-lexicon@0.12.13
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ vcpkg@0.2.15
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit cargo distutils-r1 flag-o-matic multiprocessing pypi
+
+VEC_P=cryptography_vectors-$(ver_cut 1-3)
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="
+ https://github.com/pyca/cryptography/
+ https://pypi.org/project/cryptography/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+ test? (
+ $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)")
+ )
+"
+
+LICENSE="|| ( Apache-2.0 BSD ) PSF-2"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~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/metadata.xml b/dev-python/cryptography/metadata.xml
index 4ba9bca32fc2..e334e10a9786 100644
--- a/dev-python/cryptography/metadata.xml
+++ b/dev-python/cryptography/metadata.xml
@@ -6,6 +6,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="cpe">cpe:/a:cryptography_project:cryptography</remote-id>
<remote-id type="pypi">cryptography</remote-id>
<remote-id type="github">pyca/cryptography</remote-id>
</upstream>
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 326256e92810..0d20783a1967 100644
--- a/dev-python/css-parser/Manifest
+++ b/dev-python/css-parser/Manifest
@@ -1 +1 @@
-DIST css-parser-1.0.7.tar.gz 348843 BLAKE2B 72fd2a0555eea2b912d3088b1d38a4bf082862a47a414c4c00718ad1b31299a3df3b2e9dcf4f22c3195520c28f5652aaf4103a9a999ceb3ea6b8c785f50bb40e SHA512 51e4ca836b18f963d798a14762bed78cbd3034598cc828dfe81b3f7d921a5bfe52374b0dc6160e1c01e40a8c8147a10664b9f7edeee867ca1086e6a4a96ff162
+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.7-r1.ebuild b/dev-python/css-parser/css-parser-1.0.7-r1.ebuild
deleted file mode 100644
index d450388f0198..000000000000
--- a/dev-python/css-parser/css-parser-1.0.7-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=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A CSS Cascading Style Sheets library (fork of cssutils)"
-HOMEPAGE="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 2258ba579ed7..000000000000
--- a/dev-python/csscompressor/csscompressor-0.9.5-r1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~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/Manifest b/dev-python/cssselect/Manifest
index aac0457f118f..3a13b93e06e5 100644
--- a/dev-python/cssselect/Manifest
+++ b/dev-python/cssselect/Manifest
@@ -1 +1 @@
-DIST cssselect-1.1.0.tar.gz 35516 BLAKE2B b4480ad4335ba15ae8a2ae758ff942865a5b61de68b3b00fb59d517b1dacfce1cd817280e4aac562dbf829f90601a56220f01d99aecbc502420b9102e50c46ca SHA512 b33bca6a026f4de37b75606fd238dbd170b57d06288fbff3ea97ce79685a99af275fb8522b04ea9d6693aba5a18541d70b657191fdad881be79718bcf2e7655c
+DIST cssselect-1.2.0.gh.tar.gz 40878 BLAKE2B 951b33ee65d73ba14594f8475c764ae132a44ed7a6bb6effbcf445aa956e5390595b1f1139747331bfdd42d56ecb6d4aba3c88ceb2a103c456423543c41af95e SHA512 439f83e37c381f962abcfca0b83050372cbad44179e876591d8504abc2da1d4fe80891c8c8e1763341cf152525259565dc5e80038fa7c14e8c69f22a11f83d94
diff --git a/dev-python/cssselect/cssselect-1.1.0-r2.ebuild b/dev-python/cssselect/cssselect-1.1.0-r2.ebuild
deleted file mode 100644
index 87223c5a9901..000000000000
--- a/dev-python/cssselect/cssselect-1.1.0-r2.ebuild
+++ /dev/null
@@ -1,33 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="parses CSS3 Selectors and translates them to XPath 1.0"
-HOMEPAGE="
- https://cssselect.readthedocs.io/en/latest/
- https://pypi.org/project/cssselect/
- https://github.com/scrapy/cssselect/
-"
-SRC_URI="
- https://github.com/scrapy/cssselect/archive/v${PV}.tar.gz
- -> ${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"
-
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests unittest
diff --git a/dev-python/cssselect/cssselect-1.2.0.ebuild b/dev-python/cssselect/cssselect-1.2.0.ebuild
new file mode 100644
index 000000000000..38fb7120848c
--- /dev/null
+++ b/dev-python/cssselect/cssselect-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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Parse CSS3 Selectors and translate them to XPath 1.0"
+HOMEPAGE="
+ https://cssselect.readthedocs.io/en/latest/
+ https://github.com/scrapy/cssselect/
+ https://pypi.org/project/cssselect/
+"
+SRC_URI="
+ https://github.com/scrapy/cssselect/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 ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests unittest
diff --git a/dev-python/cssselect2/Manifest b/dev-python/cssselect2/Manifest
index 76a199558c3d..00dfaa7607e4 100644
--- a/dev-python/cssselect2/Manifest
+++ b/dev-python/cssselect2/Manifest
@@ -1 +1 @@
-DIST cssselect2-0.6.0.tar.gz 35442 BLAKE2B eb42c6abed531d9ece07ae5aa442be0c0ca926f982987ede1c5ba3e391950fcf88b1c322da5933842993ad5d98488e2a29aa714d1ca65b672cecbe425bac9bd7 SHA512 10cb55ebaaa16b755d85f1e511ae0281fb017d6937750392ae1da7f32d51ff944fb14c6d1c9ea5f42734450b719157ded116dc14ef471a9a20fcc43fb6682308
+DIST cssselect2-0.7.0.tar.gz 35888 BLAKE2B 14ad79878b7dbd9ce56fa9597a0678b3dc774fc81f599cd8eb28d67af5eb07914ff6f72dd6210d1e34787c78f85ebb22c8096c3a642f1c0092384e4f22a9e59c SHA512 e3c975fe159d3bec53002bda31c72d9cb346f40529272d8d5bef6aa13142ce60f1e8aa20b039d93ff5ff3d2cd34119b8b2d406f889964eded69e770e4f04e949
diff --git a/dev-python/cssselect2/cssselect2-0.6.0.ebuild b/dev-python/cssselect2/cssselect2-0.6.0.ebuild
deleted file mode 100644
index f5154b04c974..000000000000
--- a/dev-python/cssselect2/cssselect2-0.6.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Parses CSS3 Selectors and translates them to XPath 1.0"
-HOMEPAGE="
- https://doc.courtbouillon.org/cssselect2/stable/
- 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"
-
-RDEPEND="
- dev-python/tinycss2[${PYTHON_USEDEP}]
- dev-python/webencodings[${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/cssselect2/cssselect2-0.7.0.ebuild b/dev-python/cssselect2/cssselect2-0.7.0.ebuild
new file mode 100644
index 000000000000..09797c2becf4
--- /dev/null
+++ b/dev-python/cssselect2/cssselect2-0.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=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Parses CSS3 Selectors and translates them to XPath 1.0"
+HOMEPAGE="
+ https://doc.courtbouillon.org/cssselect2/stable/
+ https://pypi.org/project/cssselect2/
+ https://github.com/Kozea/cssselect2/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/tinycss2[${PYTHON_USEDEP}]
+ dev-python/webencodings[${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/cssutils/Manifest b/dev-python/cssutils/Manifest
index 7dc0e4dc5dbd..0cacaba7cc8f 100644
--- a/dev-python/cssutils/Manifest
+++ b/dev-python/cssutils/Manifest
@@ -1,3 +1 @@
-DIST cssutils-2.4.2.tar.gz 726519 BLAKE2B c087e06d25aa78cac35e936fe06d37ffc973b022a611a4a294683929b4c553adfbeb475330e8ce4b27b5aea3b9d4c89df6f52d02fef49236a81245505ab80d5b SHA512 0757fa73170c0287ee7be9c931103bb1781c93fba63870bb11e257797af7033e77e5417ed1c7aa219eeaff5c524a84c920ead0e2b8a4599ce499b17a83fdc8f7
-DIST cssutils-2.5.0.tar.gz 723225 BLAKE2B 521bde4f9f0b5d0a8fb74e24d640e55c3a0ed900f98e43c620f6b00bb66a591792709faae38fd778e6925581bd4f32f866d815d42d07e039dceb703d0dce2422 SHA512 49163d341ce169791bc99ba5f466eab2af09e65aaef68157b3c2263fca8214db2d6b586d165364cbed3c27e8f9d188dad020933eb0553ce5493fca3ab2322579
-DIST cssutils-2.5.1.tar.gz 723277 BLAKE2B ca55d980929d48c6eb555c08166870572ac179dadef785ccba3781de7568655374f3fbe44282db7c85f623dbf0c1aaf3360038c7168ba4022ad2f68b48ae5745 SHA512 20a94d5f08f662d67f2c1a0f92ca7fbc46d58dffc8bd4187ab51c8deb6ed29154604abab474ad80c806cc50b1dda9bf8d06edd98d5e8603bdd4917052ba796ce
+DIST cssutils-2.10.2.tar.gz 723055 BLAKE2B 7064f1928bf8496bef8eccf4663f944ed79e5e8065808254d12b68f32e9c8f308724e652b24fa584af54a0976ff3ab2f2751a9102e0f31a5f4a8fabf8f417b23 SHA512 c678b6953b13e8a7ac7b2abbe0b8be26283973537089071828e618b359bcce27df636f382d8b0dc50b13962e0d2dffcce991a47f678954ec018849e57026446d
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..9ad5cabb7db4
--- /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.4.2.ebuild b/dev-python/cssutils/cssutils-2.4.2.ebuild
deleted file mode 100644
index 398e8a4440b9..000000000000
--- a/dev-python/cssutils/cssutils-2.4.2.ebuild
+++ /dev/null
@@ -1,42 +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_{8..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::CSSParserTestCase::test_parseUrl
- examples/website.py::website.logging
-)
diff --git a/dev-python/cssutils/cssutils-2.5.0.ebuild b/dev-python/cssutils/cssutils-2.5.0.ebuild
deleted file mode 100644
index f6f379e16ca5..000000000000
--- a/dev-python/cssutils/cssutils-2.5.0.ebuild
+++ /dev/null
@@ -1,42 +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_{8..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.5.1.ebuild b/dev-python/cssutils/cssutils-2.5.1.ebuild
deleted file mode 100644
index f6f379e16ca5..000000000000
--- a/dev-python/cssutils/cssutils-2.5.1.ebuild
+++ /dev/null
@@ -1,42 +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_{8..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/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 dcc54b367dba..fce740dea5e2 100644
--- a/dev-python/csvkit/Manifest
+++ b/dev-python/csvkit/Manifest
@@ -1 +1,2 @@
-DIST csvkit-1.0.7.tar.gz 3792335 BLAKE2B 6a9c5c1287648271eacf5f010a4b181f5e997a52d196ac4b73b95723e5ce2a3d90d0b51fe4f597b0b346292cefc16b7c283b02e9a8e56f26e10bca9b3f8622ea SHA512 c6275ed000639a1ddf15246eb1e0198787f832537a284900067e3ec65986be115709b3fd4aaf8e13a9b53160edd57ebb864ee1e73354712591c78297b6d293b7
+DIST csvkit-1.5.0.tar.gz 3811034 BLAKE2B 4fd22d532803a520f9276e7f6be9068db4dba288582d85848143a6a5c70357a05450f7dcdc7a086949cd6568c62fa79546026a2a2aaa3e7f10985d0177c0a676 SHA512 e8e776419405a0e278f12440ba43e9f9c801673b54a6d2c0d3b543929f7a00fa30e9fc35697398127bdf73984453300ef5cde44355396b549d1a039e4e7c068e
+DIST csvkit-2.0.0.tar.gz 3818527 BLAKE2B 87976e5ea703fe16daac48b65f1f4132821e212c90c6f25fecc17f7e8e1c3859d3224e9b1ee77f6f5a39263391535e83a388ccbe4a610a96cec6256b64056b77 SHA512 70b1d8977bbeefd3ae4cfc26149d17527f6ad56b16b5a932d930505ac7b272fcb0ed9080eba33c9c60daa347c1e79c95c6b05c8dded2e0ea5a301335d21f8a88
diff --git a/dev-python/csvkit/csvkit-1.0.7.ebuild b/dev-python/csvkit/csvkit-1.0.7.ebuild
deleted file mode 100644
index 0331290b2991..000000000000
--- a/dev-python/csvkit/csvkit-1.0.7.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_{8..10} )
-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}]
- >=dev-python/six-1.6.1[${PYTHON_USEDEP}]
-"
-BDEPEND="test? ( dev-python/lxml[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/test_utilities/test_in2csv.py::TestIn2CSV::test_convert_dbf
-)
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/csvkit/csvkit-2.0.0.ebuild b/dev-python/csvkit/csvkit-2.0.0.ebuild
new file mode 100644
index 000000000000..a5dbdb5eae39
--- /dev/null
+++ b/dev-python/csvkit/csvkit-2.0.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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 c8edc35e156b..f8597afe82a3 100644
--- a/dev-python/curtsies/Manifest
+++ b/dev-python/curtsies/Manifest
@@ -1 +1 @@
-DIST curtsies-0.3.10.tar.gz 53340 BLAKE2B 376258a71c1e89b241c2fb9439b7f094b72cdc19f50c075debfba019effed5b3b5286603b44f11e37420d4e0be0dce0cb69fc6e11dab332c6f1c109c1b7a098a SHA512 59dfae36a43f7cdb272f94900da81bc7a1033a6482df5ac5babb329659e16d740f98b9538146f2fe7c79aa2723ec3db10c8ec658539db7d462b02953a33cb4ca
+DIST curtsies-0.4.2.tar.gz 53559 BLAKE2B b1e6a0b736615c890a35fba0dae2914e51123976c884d253e61e2e4f04cff9398fa9668387b9503a064aa76664c339d5be000e8e172c23a82cafbf3b7523beb3 SHA512 0740b50001a65da7afcb634d99ab03612be0c379035bc15f591a70dc006b46476d38a1c4b107ff17a12d696ce127027c3e13763dfd16dc223628a27611e071e3
diff --git a/dev-python/curtsies/curtsies-0.3.10.ebuild b/dev-python/curtsies/curtsies-0.3.10.ebuild
deleted file mode 100644
index 1dbf4e9c8f73..000000000000
--- a/dev-python/curtsies/curtsies-0.3.10.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Curses-like terminal wrapper, with colored strings"
-HOMEPAGE="https://github.com/bpython/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/blessings-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 f8f880b1f16e..000000000000
--- a/dev-python/cvxopt/cvxopt-1.3.0.ebuild
+++ /dev/null
@@ -1,178 +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_{8..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 6905a913a95e..5d251947cc43 100644
--- a/dev-python/cwcwidth/Manifest
+++ b/dev-python/cwcwidth/Manifest
@@ -1 +1 @@
-DIST cwcwidth-0.1.6.gh.tar.gz 11563 BLAKE2B 014c1ae377005c704620fda7063e9891c014bb3f3f22160baf55cbef6e07084302a34ccea6bce2ca0f06d193ed3782006e308930a19c9a3c02bf181070eb5654 SHA512 0516fd49d625cd4bec26c27fd2fbbde55ca13a92bee3712018627a5c7f7a0c04aa06842ecce4c99d468f262a829f4ec5ff20bbc66232ad0fc037a7ade5845622
+DIST cwcwidth-0.1.9.gh.tar.gz 11472 BLAKE2B 70308dcca8ea0c5cbc76726e58ef8a8b2b4bd015411753e91370a34cb600aeb15fdddc537561b0a2e5f7338e77b6a1e2a30207cbcd92d14c60a8b8bfd87ea51f SHA512 f3911fc1a32bb3739ef81d0dfb61b47de8ab62ad26f9f3c361c458b6cb0e4000a5625969972fce09e7906fd35c7ddf7bd7f6b9bcc8efd799433282bdb326969d
diff --git a/dev-python/cwcwidth/cwcwidth-0.1.6-r1.ebuild b/dev-python/cwcwidth/cwcwidth-0.1.6-r1.ebuild
deleted file mode 100644
index c9ab823077da..000000000000
--- a/dev-python/cwcwidth/cwcwidth-0.1.6-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="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 38a72d71c948..000000000000
--- a/dev-python/cx_Freeze/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cx_Freeze-6.11.1.gh.tar.gz 1307368 BLAKE2B 7bfbe61274b29890ba35fda133d4c18708d3a04bc33c96633f6651fb9712fec4628f92e2044284ad1bfb992a76e4772669a29ada2f12f16741378d636701e4ad SHA512 37586365a901800fcd18ab6e3b0de9e3e9980c8d8b8b61aa1eddf0d01dc50b53cb1ffc77070f5a5ad40c9b7a020b09ced51d38f53688129b2444abe020a75237
diff --git a/dev-python/cx_Freeze/cx_Freeze-6.11.1.ebuild b/dev-python/cx_Freeze/cx_Freeze-6.11.1.ebuild
deleted file mode 100644
index 738e647e0f5f..000000000000
--- a/dev-python/cx_Freeze/cx_Freeze-6.11.1.ebuild
+++ /dev/null
@@ -1,53 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Create standalone executables from Python scripts"
-HOMEPAGE="https://cx-freeze.readthedocs.io/"
-SRC_URI="
- https://github.com/marcelotduarte/cx_Freeze/archive/v${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_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 1bb286f39c25..000000000000
--- a/dev-python/cycler/cycler-0.11.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=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 ~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 48f07cd71065..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
@@ -1,23 +1,28 @@
-# Copyright 2021-2022 Gentoo Authors
+# 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_{8..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 3f80946566a6..460c3e92d543 100644
--- a/dev-python/cython/Manifest
+++ b/dev-python/cython/Manifest
@@ -1,2 +1,3 @@
-DIST cython-0.29.30.gh.tar.gz 2105561 BLAKE2B c995bc710d2c397b8d6e4edee0f989e43969a51efb29b83643149d8c4110ae0331a35b9cc2ec7a45a43fea19ab8d63f1ef934f92d451c62d057e0e04ec79a871 SHA512 f6b07adfa1ebe9d52dfb72857ffd40b35d8777914299de101c7b96ee2d64cdd85ac0374ed41b382881b1f3ce535a9af9419dfabee9a4781a3f818125292627d4
-DIST cython-0.29.32.gh.tar.gz 2110417 BLAKE2B 008ffe325c87d165bf45afb2ff92db5286f611bbe425d0e9f18b530202135ca21f5f5ab564a4d0c6251ec2479ea0fd19207274a255fb1faf8863d3b067d17ae9 SHA512 55462792fa70d8edf60aa470627ab494918d7297fd7d282a7a54da76ee5a180233108404a1c8f3d79f6408f19b6e4f46b36e59fd47c38ede24f061f374437b6f
+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.30.ebuild b/dev-python/cython/cython-0.29.30.ebuild
deleted file mode 100644
index 090829e0f3ab..000000000000
--- a/dev-python/cython/cython-0.29.30.ebuild
+++ /dev/null
@@ -1,90 +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_{8..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.32.ebuild b/dev-python/cython/cython-0.29.32.ebuild
deleted file mode 100644
index 666f40d9818e..000000000000
--- a/dev-python/cython/cython-0.29.32.ebuild
+++ /dev/null
@@ -1,90 +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_{8..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..388036570b81
--- /dev/null
+++ b/dev-python/cython/cython-3.0.10.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..12} )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 python3_13 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 multiprocessing toolchain-funcs
+
+MY_P=${P/_rc/rc}
+DESCRIPTION="A Python to C compiler"
+HOMEPAGE="
+ https://cython.org/
+ https://github.com/cython/cython/
+ https://pypi.org/project/Cython/
+"
+SRC_URI="
+ https://github.com/cython/cython/archive/${PV/_rc/rc}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ <dev-python/numpy-2[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
+ "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
+ "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
+)
+
+distutils_enable_sphinx docs \
+ dev-python/jinja \
+ dev-python/sphinx-issues \
+ dev-python/sphinx-tabs
+
+python_compile() {
+ # Python gets confused when it is in sys.path before build.
+ local -x PYTHONPATH=
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON} (xfail)"
+ return
+ fi
+
+ # Needed to avoid confusing cache tests
+ unset CYTHON_FORCE_REGEN
+
+ tc-export CC
+ # https://github.com/cython/cython/issues/1911
+ local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
+ "${PYTHON}" runtests.py \
+ -vv \
+ -j "$(makeopts_jobs)" \
+ --work-dir "${BUILD_DIR}"/tests \
+ --no-examples \
+ --no-code-style \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cython/cython-3.0.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 a9b9724e7e9d..e051c0dab630 100644
--- a/dev-python/daemonize/daemonize-2.5.0-r1.ebuild
+++ b/dev-python/daemonize/daemonize-2.5.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~riscv ~x86"
python_test() {
"${EPYTHON}" tests/test.py -v || die "Tests failed with ${EPYTHON}"
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..2452d0574a05
--- /dev/null
+++ b/dev-python/dask-expr/Manifest
@@ -0,0 +1,5 @@
+DIST dask-expr-1.0.11.gh.tar.gz 242347 BLAKE2B 38b35e4558fc589738d98b59bcaa378351dfa11110c3a7fd7919b709db1ef5b5b97fd431aa2fc07ba69ec41012c91667873615fea763efee2d8f07b99eee910e SHA512 ddd4cd3582dc843a3dd7702f5a457df44d97b7b3828629d702c209f4b84fc1410b059029f82dc167ebefbf3de148aed7f54ecc69241c179c86bf66f9bbd19f41
+DIST dask-expr-1.0.12.gh.tar.gz 253354 BLAKE2B 566075d45e3d3b0521cf686b231c0e17f8f445ac95f81f8f32a10c2627cba62e243c02b4ef8d8eed88771df6ce52f88923c5d6fad94a84f950c33ffc70ea550f SHA512 423797cb6142761bbaf56970f474ecf96b047675c8032f2e73427158320f3dd012e861cd9c86560c75c51b9e1350b1081ad5bd0943cde6522b3c21a799fee307
+DIST dask-expr-1.0.13.gh.tar.gz 253953 BLAKE2B a3261ef74ec46835b29223a81ac7a69ae36599af4a092ac87876ca64fc764c1b042b14d39bf624132b2d3623979263ed382f6938793d0d7e1ded7679d0971b32 SHA512 5d32b7cdcc9004ca761ab1c16cccab8bd9487f528d0b09a98b5557ff24bf0a4e432e86b1fcb4e4a1ca78b38848ca85a0b6760a904917141cb73d8d27d80a876c
+DIST dask-expr-1.0.14.gh.tar.gz 254618 BLAKE2B 02da3b565eb484f7caf75c871d032dfdb747fa683fa163178ab4322d7fd23d025a97cb15c21a8b3d5ba4c8fb8721dc552f533c3155f198c6e825a837c43ace9c SHA512 430bbb0fbf06ffb4d22a8753b9850da063cc834337b431ded2c9dc32272d4984b9e2b058ce33a4a76d1c8b42410c5a9315344768cf303bc3aea21cc6ca698f30
+DIST dask-expr-1.0.5.gh.tar.gz 239409 BLAKE2B 0fae8540f40cbdead823f300a68df239bb838bb88d34c000b6d29ee451609a4cfc4422586cbf1fc3d2e10b50ffab6e8a2414c14c00635d929d92d7e40b1abff5 SHA512 3baf9e1aca78bc8158bce0e6beb323e511fa5717578bb10bfce27ec38a8f7b6e25b21edeffc669a1ac5f4a987dbbd948bba0f4375f3c5b329d13fab7093708ea
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.12.ebuild b/dev-python/dask-expr/dask-expr-1.0.12.ebuild
new file mode 100644
index 000000000000..6a2eead6796d
--- /dev/null
+++ b/dev-python/dask-expr/dask-expr-1.0.12.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.2[${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.13.ebuild b/dev-python/dask-expr/dask-expr-1.0.13.ebuild
new file mode 100644
index 000000000000..c853f4410855
--- /dev/null
+++ b/dev-python/dask-expr/dask-expr-1.0.13.ebuild
@@ -0,0 +1,65 @@
+# 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.2[${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]'
+ # TODO
+ dask_expr/tests/test_groupby.py::test_groupby_index_array
+ )
+ 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.14.ebuild b/dev-python/dask-expr/dask-expr-1.0.14.ebuild
new file mode 100644
index 000000000000..c853f4410855
--- /dev/null
+++ b/dev-python/dask-expr/dask-expr-1.0.14.ebuild
@@ -0,0 +1,65 @@
+# 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.2[${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]'
+ # TODO
+ dask_expr/tests/test_groupby.py::test_groupby_index_array
+ )
+ 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/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 b791f71a0a25..0370fa1f55b9 100644
--- a/dev-python/dask/Manifest
+++ b/dev-python/dask/Manifest
@@ -1,4 +1,5 @@
-DIST dask-2022.6.1.gh.tar.gz 8729249 BLAKE2B 211beeb3960569aa1cb68a4fd9b261a417297de5dc406d50bc54342239227ea01e2158b618bd889862a7eff8bb01bb43d098937bb3911f088250957caa672d04 SHA512 6e06b63dd5c7f1d7c6c7dce867ffa42b956023b313b25245a339f698b06bea17a03cc4ead9bd5aef8ddf081750cad4df4b6b2972038315c89585221382c9e95c
-DIST dask-2022.7.0.gh.tar.gz 8748843 BLAKE2B ae0e63c883e6542aefd29a619168b1e86e9b20d43e7966ecb8a92a90b72952acd7e08ce53fdbc146b47bcb7f65190f2d0cbe19966c52f94b0d52eb63e53778d9 SHA512 11fe292134dac14e30068b98d88e622af2941b7fffa2c667b39b87e4d28ac6388001e18a8628bd22bbd48a2a10ee707dc25618a960a401e40cb73b2231fd2dfc
-DIST dask-2022.7.1.gh.tar.gz 8749841 BLAKE2B 9c4db1adbfd9ea796db10855f98b972104415e66d5d01800e139d9475ceaedb850867a47d8af8e538856bcf21f805d6f24146a8407968e96c0084f81ce5e323d SHA512 459c20cdb8da523020483212cc48fdf0830915ce6cbd48511ccb02e3a1a5c4c8e1ce9bafb09e1288ec7f89d9dc8da36cd7fe75da1441cb3e5b31521720fd0708
-DIST dask-2022.8.0.gh.tar.gz 8751904 BLAKE2B 057cbb0f50684413b6eaaf9b25b1be5556d62ccb81258427c8504c861d156b49ec83957199758d6794406c06b1bc6d7724163ca975e5970ddd05505789392738 SHA512 dc455596500cfdcd38a71e256606cea4d41f96dd947b8fcf652cc0f8fff51145bfdd19eae8697472b6f5bb050c0525e422de53bf9e8c549310b1f26931491052
+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.1.gh.tar.gz 9342821 BLAKE2B 2d85be59caa48005b1951d56c4af5991bc378932cac34fc9fcfdd4a55027cacf60738af11eab87d13f764b90d7cba74ba239e10949a8231d0e08d4e5a2eaf936 SHA512 465a489cdfd59eb7b20a4736549a0cee9bedb5b864339b1040c5490c70a4a7486a83bdf4d951a1ea15529685838dcdc4d2554b03ebd9b8227cce0d270e80a7cd
+DIST dask-2024.4.1.gh.tar.gz 9345547 BLAKE2B 5ac11e23e10985eb9641734d016b84600a67b4d30dfe999f1c7b6c4bb279ba622adf58262721b4c37701a265c02e22d989e94031a1d0b53435d1ecef054704d5 SHA512 683f548da4f0004181b912c1672d6bbefc33f7ab4f3fecee6634c13691ea718560cbaed6391e2380ae776ee1db850fc90bcc8feeea34dc85dd87332cff484726
+DIST dask-2024.4.2.gh.tar.gz 9364544 BLAKE2B b058b6219c5abde7fd91641e962bc4b13a8533a9f8be53f779b196f81f5c2f7bd5f8fcbbb383d6c05b5f5e4b4b0a0dae105f00fe237d2cc7d990ef5607c18695 SHA512 1562cc3ad55973e14526d07d965aff0a41b0521a212070f4dc191bb9c4c48a4ea03c1c196b288b91ee1e917ec91faa1cab227476bbf619aa9cc7beae4bb60042
diff --git a/dev-python/dask/dask-2022.6.1.ebuild b/dev-python/dask/dask-2022.6.1.ebuild
deleted file mode 100644
index 710040987184..000000000000
--- a/dev-python/dask/dask-2022.6.1.ebuild
+++ /dev/null
@@ -1,58 +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_{8..10} )
-
-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
-)
-
-python_test() {
- epytest -p no:flaky -m "not network"
-}
diff --git a/dev-python/dask/dask-2022.7.0.ebuild b/dev-python/dask/dask-2022.7.0.ebuild
deleted file mode 100644
index ce906c8679d6..000000000000
--- a/dev-python/dask/dask-2022.7.0.ebuild
+++ /dev/null
@@ -1,58 +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_{8..10} )
-
-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
-)
-
-python_test() {
- epytest -p no:flaky -m "not network"
-}
diff --git a/dev-python/dask/dask-2022.7.1.ebuild b/dev-python/dask/dask-2022.7.1.ebuild
deleted file mode 100644
index ce906c8679d6..000000000000
--- a/dev-python/dask/dask-2022.7.1.ebuild
+++ /dev/null
@@ -1,58 +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_{8..10} )
-
-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
-)
-
-python_test() {
- epytest -p no:flaky -m "not network"
-}
diff --git a/dev-python/dask/dask-2022.8.0.ebuild b/dev-python/dask/dask-2022.8.0.ebuild
deleted file mode 100644
index da91d7da7a6e..000000000000
--- a/dev-python/dask/dask-2022.8.0.ebuild
+++ /dev/null
@@ -1,59 +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_{8..10} )
-
-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
-)
-
-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.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.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/dask/dask-2024.4.2.ebuild b/dev-python/dask/dask-2024.4.2.ebuild
new file mode 100644
index 000000000000..1d1841fc6902
--- /dev/null
+++ b/dev-python/dask/dask-2024.4.2.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/dask/metadata.xml b/dev-python/dask/metadata.xml
index f32992b65152..f3bc116cc1b2 100644
--- a/dev-python/dask/metadata.xml
+++ b/dev-python/dask/metadata.xml
@@ -13,7 +13,7 @@
Dask is a simple task scheduling system that uses directed acyclic
graphs (DAGs) of tasks to break up large computations into many
small ones.
-</longdescription>
+ </longdescription>
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">dask</remote-id>
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 5d327e0b6ace..71d9e4719c1a 100644
--- a/dev-python/dbfread/dbfread-2.0.7-r1.ebuild
+++ b/dev-python/dbfread/dbfread-2.0.7-r1.ebuild
@@ -1,21 +1,28 @@
-# Copyright 2021-2022 Gentoo Authors
+# 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_{8..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/dbfread/dbfread-2.0.7.ebuild b/dev-python/dbfread/dbfread-2.0.7.ebuild
deleted file mode 100644
index 4a571406dac8..000000000000
--- a/dev-python/dbfread/dbfread-2.0.7.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_SETUPTOOLS=bdepend
-
-inherit distutils-r1
-
-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 )"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-RDEPEND=""
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -e 's|\[pytest\]|[tool:pytest]|' -i setup.cfg || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local pytest_args test_name xfails
-
- xfails=(
- dbfread/test_read_and_length.py::test_len
- dbfread/test_read_and_length.py::test_list
- )
-
- for test_name in "${xfails[@]}"; do
- pytest_args+=(--deselect "${test_name}")
- done
-
- epytest "${pytest_args[@]}"
-}
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 a5d78a017665..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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/Manifest b/dev-python/dbus-python/Manifest
index 564673c85769..a7ad92adada0 100644
--- a/dev-python/dbus-python/Manifest
+++ b/dev-python/dbus-python/Manifest
@@ -1 +1 @@
-DIST dbus-python-1.2.18.tar.gz 578204 BLAKE2B 932a06f4b0145f7a47cf1ab6ea33c14eb4e36570ef548e7557d4aa5b780e49f2d284cdb51f0ec2d8a1cb286097fb9eabb2193d7cbeb387eaf43cbe209b7f11fa SHA512 72f422c59637392bd78b741b66dff2afadcc706452c3e82fdc14b1dc052a0c5cb8a85e2758d18c5cbdc08004419a0b3c16b67b99688d96307084403e72585900
+DIST dbus-python-1.3.2.tar.gz 605495 BLAKE2B 6c60217b3837d655ab4f833b9f21d8f76eb4129cfeaa26586ef7adc8be8f8c5f03464428ff9f281b2566fb0f89cbb5e4b5618bf7cc961faf9f638d9011874839 SHA512 9b2885c9c2914142c72487f766b1cdd28a255d9f5a87eaf8f4eb420c6e096a77f210ac5a4fac9843c6531974872880cc28b7e45940e198856e984dcc0715519a
diff --git a/dev-python/dbus-python/dbus-python-1.2.18.ebuild b/dev-python/dbus-python/dbus-python-1.2.18.ebuild
deleted file mode 100644
index ef3e7164fa56..000000000000
--- a/dev-python/dbus-python/dbus-python-1.2.18.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..11} )
-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/"
-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}
- >=sys-apps/dbus-1.8:=
- >=dev-libs/glib-2.40
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- 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}] )
-"
-
-python_check_deps() {
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
- has_version "dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- default
- # Update py-compile, bug 529502.
- eautoreconf
- python_copy_sources
-}
-
-src_configure() {
- use doc && python_setup
- local SPHINX_IMPL=${EPYTHON}
-
- configuring() {
- local myconf=(
- --disable-documentation
-
- # Work around broken AX_PYTHON_DEVEL macro.
- # https://bugs.gentoo.org/815136
- PYTHON_EXTRA_LIBS=' '
- )
- [[ ${EPYTHON} == ${SPHINX_IMPL} ]] &&
- myconf+=( --enable-documentation )
-
- econf "${myconf[@]}"
- }
- python_foreach_impl run_in_build_dir configuring
-}
-
-src_compile() {
- python_foreach_impl run_in_build_dir default
-}
-
-src_test() {
- unset DBUS_SESSION_BUS_ADDRESS
- python_foreach_impl run_in_build_dir default
-}
-
-src_install() {
- python_foreach_impl run_in_build_dir default
- find "${D}" -name '*.la' -type f -delete || die
-
- use examples && dodoc -r examples
-}
diff --git a/dev-python/dbus-python/dbus-python-1.3.2.ebuild b/dev-python/dbus-python/dbus-python-1.3.2.ebuild
new file mode 100644
index 000000000000..1a653ddb7cd5
--- /dev/null
+++ b/dev-python/dbus-python/dbus-python-1.3.2.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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/
+"
+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}
+ >=sys-apps/dbus-1.8:=
+ >=dev-libs/glib-2.40
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ 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}]
+ )
+"
+
+python_check_deps() {
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" \
+ "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ default
+ # Update py-compile, bug 529502.
+ eautoreconf
+ python_copy_sources
+}
+
+src_configure() {
+ use doc && python_setup
+ local SPHINX_IMPL=${EPYTHON}
+
+ configuring() {
+ local myconf=(
+ --disable-documentation
+
+ # Work around broken AX_PYTHON_DEVEL macro.
+ # https://bugs.gentoo.org/815136
+ PYTHON_EXTRA_LIBS=' '
+ )
+ [[ ${EPYTHON} == ${SPHINX_IMPL} ]] &&
+ myconf+=( --enable-documentation )
+
+ econf "${myconf[@]}"
+ }
+ python_foreach_impl run_in_build_dir configuring
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir default
+ find "${D}" -name '*.la' -type f -delete || die
+
+ use examples && dodoc -r examples
+}
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 10f6e392a1f8..79cc787a92ae 100644
--- a/dev-python/ddt/Manifest
+++ b/dev-python/ddt/Manifest
@@ -1 +1 @@
-DIST ddt-1.5.0.tar.gz 19609 BLAKE2B 8986a7e3df8212dbd5ec6fd15e5cc73c5da65db56cf9234acd83649fc5fb988eccb9605a7fa09188ff9499e759c84ff076d86fbba2e3eeda054224acc8382626 SHA512 91faba2bed66df5cf366011343886e3f0059d4e0f44ca46ffcfed7288068ba43a94a426bd692717b3ea735437ee6c0339d42b5c15f75221386153c035597ae5c
+DIST ddt-1.7.2.gh.tar.gz 19624 BLAKE2B b919916dccc35b5db0946ccf28ed0592a25984b4820d6b59099b5cbf682bd77085f2249454063171c8d5c9fe509c0f646063238a1b4e8ce495f1b5742f3f3368 SHA512 1f1e919d809fd721ba840786feedbfca45e5f85907feb21144ea83b298f5c2c047880d874dae2e60bb63e8d8d1445963b37125fcbe09966e4f9e7f77b2f6ec94
diff --git a/dev-python/ddt/ddt-1.5.0.ebuild b/dev-python/ddt/ddt-1.5.0.ebuild
deleted file mode 100644
index e14ca98aa422..000000000000
--- a/dev-python/ddt/ddt-1.5.0.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_{8..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}.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/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 4f5658b2b5bf..000000000000
--- a/dev-python/debtcollector/debtcollector-2.5.0.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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 6cbfc4561c41..000000000000
--- a/dev-python/debugpy/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST debugpy-1.6.0.gh.tar.gz 6366079 BLAKE2B 134d2adcae6ec926dcdb7161f0874b830a1d0e3c55abb991f4861fa5a58045437ee4f4cb4c9572b902e3e33634bc3f9970ae055985b983d89d0ef1d99561bda8 SHA512 fe245d4ff751a6c2ef0e75a5249f99661b78075ac62c931c20e3ccbc9389d39a08dc2fda44a33eb23a0a76e5ee339edae439b0004d130cdfe421048f3cc83962
-DIST debugpy-1.6.2.gh.tar.gz 6684477 BLAKE2B ab1bdf394d3447ba347db149e5c4c36820df6df24c5d0984fe862419a490cea21b240322d76644bc9ebadbdf9a6d6c8709ae28452828d42b45d65edd2d2e58cb SHA512 64ecd9f8290588358abcff538f2c68025f14efc38ac5b406f32cd40a580aab90e0b2f145de90ca81943872c70969d6294ac51b3151bc4e03f18370ddfbb9ac6c
diff --git a/dev-python/debugpy/debugpy-1.6.0.ebuild b/dev-python/debugpy/debugpy-1.6.0.ebuild
deleted file mode 100644
index deb729af9f44..000000000000
--- a/dev-python/debugpy/debugpy-1.6.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~m68k 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.0-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 || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/debugpy/debugpy-1.6.2.ebuild b/dev-python/debugpy/debugpy-1.6.2.ebuild
deleted file mode 100644
index cbb4ada9728c..000000000000
--- a/dev-python/debugpy/debugpy-1.6.2.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~m68k ~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.0-unbundle-pydevd.patch b/dev-python/debugpy/files/debugpy-1.6.0-unbundle-pydevd.patch
deleted file mode 100644
index 41a0b8e39ba6..000000000000
--- a/dev-python/debugpy/files/debugpy-1.6.0-unbundle-pydevd.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-diff --git a/pyproject.toml b/pyproject.toml
-index 15ea7e1..d3a2764 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -8,7 +8,6 @@ exclude = '''
- ( __pycache__
- | ^/.tox
- | ^/versioneer.py
--| ^/src/debugpy/_vendored
- | ^/src/debugpy/_version.py
- )
- '''
-diff --git a/setup.py b/setup.py
-index 2c0a2d6..7c22c0c 100644
---- a/setup.py
-+++ b/setup.py
-@@ -18,12 +18,10 @@ del sys.path[0]
-
- sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "src"))
- import debugpy
--import debugpy._vendored
-
- del sys.path[0]
-
-
--PYDEVD_ROOT = debugpy._vendored.project_root("pydevd")
- DEBUGBY_ROOT = os.path.dirname(os.path.abspath(debugpy.__file__))
-
-
-@@ -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,
-diff --git a/src/debugpy/server/__init__.py b/src/debugpy/server/__init__.py
-index 642c776..947cd7d 100644
---- a/src/debugpy/server/__init__.py
-+++ b/src/debugpy/server/__init__.py
-@@ -3,7 +3,3 @@
- # for license information.
-
- from __future__ import absolute_import, division, print_function, unicode_literals
--
--# "force_pydevd" must be imported first to ensure (via side effects)
--# that the debugpy-vendored copy of pydevd gets used.
--import debugpy._vendored.force_pydevd # noqa
-diff --git a/src/debugpy/server/attach_pid_injected.py b/src/debugpy/server/attach_pid_injected.py
-index 6016545..9bd2e2c 100644
---- a/src/debugpy/server/attach_pid_injected.py
-+++ b/src/debugpy/server/attach_pid_injected.py
-@@ -33,7 +33,6 @@ def attach(setup):
- pydevd_attach_to_process_path = os.path.join(
- _debugpy_dir,
- "debugpy",
-- "_vendored",
- "pydevd",
- "pydevd_attach_to_process",
- )
diff --git a/dev-python/debugpy/files/debugpy-1.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 973f23286924..1611e6e5f089 100644
--- a/dev-python/decorator/decorator-5.1.1-r1.ebuild
+++ b/dev-python/decorator/decorator-5.1.1-r1.ebuild
@@ -1,23 +1,22 @@
-# 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=( pypy3 python3_{8..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 84eea7f3d94f..2cccb5f1ce08 100644
--- a/dev-python/deepmerge/Manifest
+++ b/dev-python/deepmerge/Manifest
@@ -1 +1 @@
-DIST deepmerge-1.0.1.gh.tar.gz 15004 BLAKE2B bc1d972f40485d02665fb6cd53875fa0f35e387192a9b0cc65f092966dc760a3ccc7eae6515693f39e58d7bb0a071aaac970873738a99b6962561eed641ef48b SHA512 689c9cc99c3770e27ae131bff65486ca02555840ae3fbeec1e36d08e425842e50ac7005d63ccf053627806c39578b2c9fb84fb10ca76731d17136cea61b87bbd
+DIST deepmerge-1.1.1.gh.tar.gz 15605 BLAKE2B ef6fbd30185a2990c72d6de0950275dd6f9f3e61c0c9c969fd69dab2123025d016ade98d42f09b30328b3cb5659b29b2d07836db4657acde97d9a2cc40c07039 SHA512 8ba4a225d588c96c3c852783774d5d690c5dd0caa1988f5969ce6446a11ba6035667baeda7e419cae40c4c1dcf7a15ee7149a10c1e33dba6b7775ddbad41130d
diff --git a/dev-python/deepmerge/deepmerge-1.0.1.ebuild b/dev-python/deepmerge/deepmerge-1.0.1.ebuild
deleted file mode 100644
index 53b0431ebc98..000000000000
--- a/dev-python/deepmerge/deepmerge-1.0.1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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 f72dfb8f9ecf..000000000000
--- a/dev-python/defcon/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST defcon-0.10.1.tar.gz 426234 BLAKE2B 0d4f0749c061860603d343bd8d0291699a64794ec8f3f1e6f1cff0af0f22cd0cfc4ae60d578c5f55131d1de694b3234017afd124a4266c972217b39d70071473 SHA512 12cb1512321b91676f8be380999dfb00942eb8355389db409ef896f7e7100fc97186a920c1c0a741b660e57134e880d068446e5ad00e2768221f80a26608819c
diff --git a/dev-python/defcon/defcon-0.10.1.ebuild b/dev-python/defcon/defcon-0.10.1.ebuild
deleted file mode 100644
index b233adb09855..000000000000
--- a/dev-python/defcon/defcon-0.10.1.ebuild
+++ /dev/null
@@ -1,31 +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_{8..10} )
-
-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}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/fonttools-4.28.5[${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 c39a444647a8..c0e8ebf415cf 100644
--- a/dev-python/defusedxml/defusedxml-0.7.1-r1.ebuild
+++ b/dev-python/defusedxml/defusedxml-0.7.1-r1.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_{8..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 acf4bfd30cae..e4b6d54609d2 100644
--- a/dev-python/denonavr/Manifest
+++ b/dev-python/denonavr/Manifest
@@ -1 +1,2 @@
-DIST denonavr-0.10.11.tar.gz 157622 BLAKE2B aa311eff51dbba857f529aee1a1931b3456b7c42f4710d21aff0eb6cf21718d639795d8099e8b0ad297787ba887746b265f922c19afe692cc3317291023a2df3 SHA512 19a10196019067605a2565be4ee0dc56116d6f706ca97c6754e6dc63cccc8870ee657736fd17f1959753c1c24c878e0d7a721c33212e6753dc12b5fc7dae34e0
+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.10.11.ebuild b/dev-python/denonavr/denonavr-0.10.11.ebuild
deleted file mode 100644
index d22c10bd481e..000000000000
--- a/dev-python/denonavr/denonavr-0.10.11.ebuild
+++ /dev/null
@@ -1,38 +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_{8..10} )
-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
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 7bf2c03296f6..000000000000
--- a/dev-python/deprecated/deprecated-1.2.13-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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 394eae93dbec..000000000000
--- a/dev-python/deprecation/deprecation-2.1.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( pypy3 python3_{8..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="amd64 arm arm64 hppa ~ia64 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
new file mode 100644
index 000000000000..5339c8fbe34b
--- /dev/null
+++ b/dev-python/dict2xml/Manifest
@@ -0,0 +1 @@
+DIST dict2xml-1.7.5.tar.gz 14958 BLAKE2B 1907003e3a27a8e1c1a0e7ab1d5c72b310c46e7af7d51f6a1743ca018fb6a070b0b54b4b24afd8c78dd18f83f9f6950031c0076eae83ccc309a341a0df153708 SHA512 88a77fcdc2ec320ba1668b27da4aacfcfc817090aebabc01fce76bff51b316166a0cc1f053884e8012a28e7118449f901465703869245dc662f29cee9665157e
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/dict2xml/metadata.xml b/dev-python/dict2xml/metadata.xml
new file mode 100644
index 000000000000..fd30e3625b44
--- /dev/null
+++ b/dev-python/dict2xml/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <name>Florian Schmaus</name>
+ <email>flow@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">dict2xml</remote-id>
+ <remote-id type="github">delfick/python-dict2xml</remote-id>
+ </upstream>
+ <stabilize-allarches/>
+</pkgmetadata>
diff --git a/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild b/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild
index a9b33ba9a46d..679f3e140ee7 100644
--- a/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild
+++ b/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild
@@ -1,25 +1,25 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..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 fa916cb529cc..fb30fa85da1e 100644
--- a/dev-python/dictpath/dictpath-0.1.3.ebuild
+++ b/dev-python/dictpath/dictpath-0.1.3.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_{8..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -21,7 +21,7 @@ S="${WORKDIR}/pathable-${PV}"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~x86"
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
diff --git a/dev-python/diff-match-patch/Manifest b/dev-python/diff-match-patch/Manifest
index 98dd5bcdefdc..418e4e6bbeef 100644
--- a/dev-python/diff-match-patch/Manifest
+++ b/dev-python/diff-match-patch/Manifest
@@ -1,2 +1 @@
-DIST diff-match-patch-20181111.tar.gz 58554 BLAKE2B 2a74294bb9ac88447cdea794a9c3b44d705d93f7e0777d5e5ece4a306f43df47458a4ba0ec8b16624862a6e4540a605695c3a83ee7dad7749b22210ebe65705a SHA512 9b21726b9c0e350553533c14dd86cca823c6f98ab642e7166cf9348952a57b62bcb0576e3d6a3b76655ea1bcc8cef3fe7f33ffb068b5a4bfb4b4b521042484e6
-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-20181111.ebuild b/dev-python/diff-match-patch/diff-match-patch-20181111.ebuild
deleted file mode 100644
index 888872dbff1a..000000000000
--- a/dev-python/diff-match-patch/diff-match-patch-20181111.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8} )
-
-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-20200713.ebuild b/dev-python/diff-match-patch/diff-match-patch-20200713.ebuild
deleted file mode 100644
index 901b59113464..000000000000
--- a/dev-python/diff-match-patch/diff-match-patch-20200713.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 a9584008136c..06f147fb34e4 100644
--- a/dev-python/dill/Manifest
+++ b/dev-python/dill/Manifest
@@ -1 +1 @@
-DIST dill-0.3.5.1.gh.tar.gz 161203 BLAKE2B 2f778f3d2792d5606f8a5d7fd7d993490592da5ade701a38a270f756d129ad49f2aa44277fcb1f69a14779fe2541e2a720dc643ebd0fad258725d5d9452c048f SHA512 3dcf5e262110031412d9dfaee5548fed80bfc4d6b404cddbc2d9a6f65e2b80fae45a622ef73768e7996d2fc9e8d2757ac04e2a73f3700c526037dbabaa8adf15
+DIST dill-0.3.8.tar.gz 184847 BLAKE2B 6a0eb76526d5bc4afa003f34454c3a93b2b53e2d5bd362749bfcc22c6fe294dff3af9d52e83b288e999d7074d82a2671b3d271b3b423030f4cfd57cd70acdc6f SHA512 478d83af69dc0639a08e011e46127d9485dc998df54622e7fbb9ce4b004640d1b23aad57717d791cc609cd9d7071ea7300bce4be982488e4d21c5986e67ce586
diff --git a/dev-python/dill/dill-0.3.5.1.ebuild b/dev-python/dill/dill-0.3.5.1.ebuild
deleted file mode 100644
index 434de8bec1ad..000000000000
--- a/dev-python/dill/dill-0.3.5.1.ebuild
+++ /dev/null
@@ -1,35 +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_{8..10} )
-
-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 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-python_test() {
- local fail= t
- for t in tests/test_*.py; do
- ebegin "\t${t}"
- "${EPYTHON}" "${t}"
- eend ${?} || fail=1
- done
-
- [[ ${fail} ]] && die "Tests fail with ${EPYTHON}"
-}
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 1dea98855f88..b20eb951749a 100644
--- a/dev-python/dirty-equals/Manifest
+++ b/dev-python/dirty-equals/Manifest
@@ -1 +1 @@
-DIST dirty-equals-0.4.gh.tar.gz 41864 BLAKE2B 0b916d37b323e9f587a977b46415432bc11367a6d0c95ac49e47fe604b3ee16c26eaecbbe74464076834c6186f5f0eecc049b211699a3f515ef7fdadc492537a SHA512 f98fa8c9850f26efc44dc2c5cc0ea6d687c07b49980c3eeaa71eaae78930e418c03bb35cb88aab065905443fa354b9b05d44a588458ed37d140d376b943c9da9
+DIST dirty-equals-0.7.1.gh.tar.gz 49000 BLAKE2B 06c9a7522f1dda95ff682dc9c28207b29754d11b4afe7eeacd5439a9ae9f34ce0a2f5724703129aa90b5577f36646deafa5428120e823502aae616d57b3d8f0d SHA512 c50a15e4cee77b3db1b07ef9f7d1eb5b3ab6bed6d914ac5c9e2982f8cf9432beaecb5fd7997d46a94f405e0c932ea5a8d72f1c1d4b6dda86161c22cc772ab4d7
diff --git a/dev-python/dirty-equals/dirty-equals-0.4-r1.ebuild b/dev-python/dirty-equals/dirty-equals-0.4-r1.ebuild
deleted file mode 100644
index a3764d74a643..000000000000
--- a/dev-python/dirty-equals/dirty-equals-0.4-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..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 ~x86"
-
-RDEPEND="
- >=dev-python/pytz-2021.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e "/version/s:0:${PV}:" pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-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 2fcd15853789..000000000000
--- a/dev-python/discogs-client/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python3-discogs-client-2.3.15.tar.gz 35059 BLAKE2B fe2b577b4810480fcad8a76c8f961809baa5b217c0d01c262f4a6a0a2993b2a6d2515edf90f276f7a104f6bdf0a1edb0f439c69e51507e3c0cf1ab927049e7f7 SHA512 8da52cc6c125cc4b3c5fb93626075ba32046798f71f72cc9f685fdf10a92a813fbd74b35625994cd4c6b7e394e36265ce01a33b52b607bf498a5f11f68d82ad9
diff --git a/dev-python/discogs-client/discogs-client-2.3.15.ebuild b/dev-python/discogs-client/discogs-client-2.3.15.ebuild
deleted file mode 100644
index ef9cbd796ca2..000000000000
--- a/dev-python/discogs-client/discogs-client-2.3.15.ebuild
+++ /dev/null
@@ -1,35 +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_{8..10} )
-
-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 6e7748b475a9..000000000000
--- a/dev-python/discogs-client/discogs-client-9999.ebuild
+++ /dev/null
@@ -1,35 +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_{8..10} )
-
-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 f56af6fffe76..000000000000
--- a/dev-python/diskcache/diskcache-5.4.0-r1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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 ~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/Manifest b/dev-python/dissononce/Manifest
index 2f18f3535002..1239824160f9 100644
--- a/dev-python/dissononce/Manifest
+++ b/dev-python/dissononce/Manifest
@@ -1 +1 @@
-DIST dissononce-0.34.3.tar.gz 594227 BLAKE2B e37ce7a41aa71f36a60b14b3da50df5c387aa64c472a48fe76d66f05ee495673b2719fb0ca0fab196992c4920eeba72701d47defceb70c2d85f5f894d13d40dd SHA512 f192c3f6abc3943fa8fffe959d3db74e810483c9f5868cc128a851ffc42069d084c0d935ca74fd45d5bcce3fe2cfeeb788094dc34f0567ed709ddfb57275fa18
+DIST dissononce-0.34.3.gh.tar.gz 594227 BLAKE2B e37ce7a41aa71f36a60b14b3da50df5c387aa64c472a48fe76d66f05ee495673b2719fb0ca0fab196992c4920eeba72701d47defceb70c2d85f5f894d13d40dd SHA512 f192c3f6abc3943fa8fffe959d3db74e810483c9f5868cc128a851ffc42069d084c0d935ca74fd45d5bcce3fe2cfeeb788094dc34f0567ed709ddfb57275fa18
diff --git a/dev-python/dissononce/dissononce-0.34.3-r2.ebuild b/dev-python/dissononce/dissononce-0.34.3-r2.ebuild
deleted file mode 100644
index f07d87ad9b5d..000000000000
--- a/dev-python/dissononce/dissononce-0.34.3-r2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_SETUPTOOLS="bdepend"
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A python implementation for Noise Protocol Framework"
-HOMEPAGE="https://github.com/tgalal/dissononce"
-SRC_URI="https://github.com/tgalal/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="examples test"
-
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/transitions[${PYTHON_USEDEP}]
-"
-
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}/${P}-fix-test-requirements.patch" )
-
-distutils_enable_tests pytest
-
-src_install() {
- distutils-r1_src_install
-
- use examples && dodoc examples/patterns/*.py
-}
diff --git a/dev-python/dissononce/dissononce-0.34.3-r3.ebuild b/dev-python/dissononce/dissononce-0.34.3-r3.ebuild
new file mode 100644
index 000000000000..572f8f4c5e0e
--- /dev/null
+++ b/dev-python/dissononce/dissononce-0.34.3-r3.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 implementation for Noise Protocol Framework"
+HOMEPAGE="https://github.com/tgalal/dissononce"
+SRC_URI="https://github.com/tgalal/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="examples test"
+
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/transitions[${PYTHON_USEDEP}]
+"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-fix-test-requirements.patch" )
+
+distutils_enable_tests pytest
+
+src_install() {
+ distutils-r1_src_install
+
+ use examples && dodoc examples/patterns/*.py
+}
diff --git a/dev-python/distlib/Manifest b/dev-python/distlib/Manifest
index 294bf571103f..ce4b0127b663 100644
--- a/dev-python/distlib/Manifest
+++ b/dev-python/distlib/Manifest
@@ -1,2 +1 @@
-DIST distlib-0.3.4.tar.bz2 1169083 BLAKE2B f1b5e5ca7d0155d204db177d9844cdff4d593be3d927bd5f9e8ad07065b52383527d3990b66c5868bb8377703d031958c5c88a9daf4f0b238903ddbea3ef6cf0 SHA512 24f8d6f5012c881ffa6bbdae7887ee5a7608ac36a83e2a96cb8a337d1ab6c896a4078028d0383165ff44be6b735aa31f7d199845d89899813be74ed00e1680e8
-DIST distlib-0.3.5.gh.tar.gz 1233989 BLAKE2B 616666e835aa201ceeeb423452a25adafab67dc20f99496b711e3ca6d4916f4e1dd39e444b1c8824e90559e898fc0588cd58d2d5be07af172d6b6ed3f3c7fe4c SHA512 927861d2e11785d8419c3125784f21ee052883c03d91d8893d2c77b47739e45cbca39e5d90446e906c71744bd57274192b28af86def239a16caeae4d3887d5a6
+DIST distlib-0.3.8.gh.tar.gz 1240659 BLAKE2B 5d14440bd6886a37e80323ea35370f306135f5b15544180b072ed42c6e7b00799dc4b5fe207adb31eee7234d4f291420bd289b5430bbf38ff0468b29af2ca621 SHA512 98dc6459f54783598aad8ee3b8d80c0092a5d08d4272ad212faeef5e30cf9029b718231681f39d26e48588bb676bae7919f1431ddb51eb3917725f99a5c90457
diff --git a/dev-python/distlib/distlib-0.3.4-r2.ebuild b/dev-python/distlib/distlib-0.3.4-r2.ebuild
deleted file mode 100644
index 60f51ce70857..000000000000
--- a/dev-python/distlib/distlib-0.3.4-r2.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1 vcs-snapshot
-
-DESCRIPTION="Low-level components of distutils2/packaging"
-HOMEPAGE="
- https://pypi.org/project/distlib/
- https://bitbucket.org/pypa/distlib/
-"
-# pypi has zip only :-(
-SRC_URI="
- https://bitbucket.org/pypa/distlib/get/${PV}.tar.bz2 -> ${P}.tar.bz2
-"
-
-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.5.ebuild b/dev-python/distlib/distlib-0.3.5.ebuild
deleted file mode 100644
index b9e474a8db74..000000000000
--- a/dev-python/distlib/distlib-0.3.5.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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..7951433808d3
--- /dev/null
+++ b/dev-python/distlib/distlib-0.3.8.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level components of distutils2/packaging"
+HOMEPAGE="
+ https://pypi.org/project/distlib/
+ https://github.com/pypa/distlib
+"
+SRC_URI="
+ https://github.com/pypa/distlib/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# pypiserver is called as external executable
+BDEPEND="
+ test? (
+ dev-python/pypiserver
+ )
+"
+
+src_prepare() {
+ local PATCHES=(
+ # use system pypiserver instead of bundled one
+ "${FILESDIR}"/distlib-0.3.2-system-pypiserver.py
+ # https://github.com/pypa/distlib/commit/1c08845b05d022692252ed45cb07e9cb9647caac
+ "${FILESDIR}"/${P}-py313.patch
+ )
+
+ # make sure it's not used
+ rm tests/pypi-server-standalone.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x SKIP_ONLINE=1
+ local -x PYTHONHASHSEED=0
+
+ # disable system-site-packages -- distlib has no deps, and is very
+ # fragile to packages actually installed on the system
+ sed -i -e '/system-site-packages/s:true:false:' \
+ "${BUILD_DIR}/install${EPREFIX}/usr/bin/pyvenv.cfg" || die
+
+ "${EPYTHON}" tests/test_all.py -v -x ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/distlib/files/distlib-0.3.8-py313.patch b/dev-python/distlib/files/distlib-0.3.8-py313.patch
new file mode 100644
index 000000000000..d47be4f566bd
--- /dev/null
+++ b/dev-python/distlib/files/distlib-0.3.8-py313.patch
@@ -0,0 +1,22 @@
+From 1c08845b05d022692252ed45cb07e9cb9647caac Mon Sep 17 00:00:00 2001
+From: Vinay Sajip <vinay_sajip@yahoo.co.uk>
+Date: Wed, 14 Feb 2024 14:46:14 +0000
+Subject: [PATCH] Fix #214: Update representation of interpreter in test.
+
+---
+ tests/test_scripts.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_scripts.py b/tests/test_scripts.py
+index 5c38687..74ee647 100644
+--- a/tests/test_scripts.py
++++ b/tests/test_scripts.py
+@@ -340,7 +340,7 @@ def test_script_run(self):
+ self.assertIn(b'<H3>Current Working Directory:</H3>', stdout)
+ self.assertIn(os.getcwd().encode('utf-8'), stdout)
+ else:
+- self.assertIn(b'[Interpreter(id=0, isolated=None)]', stderr)
++ self.assertIn(b'[Interpreter(0)]', stderr)
+ self.assertEqual(p.returncode, 1)
+
+ @unittest.skipUnless(os.name == 'posix', 'Test only valid for POSIX')
diff --git a/dev-python/distro/Manifest b/dev-python/distro/Manifest
index fbb1ae14b67a..25a2e788f5ea 100644
--- a/dev-python/distro/Manifest
+++ b/dev-python/distro/Manifest
@@ -1 +1 @@
-DIST distro-1.7.0.tar.gz 58164 BLAKE2B 22bbd2daf9cac589530eac9a58767db6b9e389b77719516f7386a9377b49ba4c9b696165701acc42366b760b9a632c70a2243a58c12a367fef2a0a770a4aea44 SHA512 14516ecab33ee8c57c35a8279eb515fd699031fabac7d8886092ea98696797d55503179870aeb513a85e1a66c7e69f2f60bb6ea9fc935be975cb5135e1917ecc
+DIST distro-1.9.0.tar.gz 60722 BLAKE2B 1713bbc10b74122e47e9d491a7559a871c81941f35fde74714872723d3fa3435fb15bb29197eb6b6f09e5192fb7e3162e63d5b628ab813befeca3872c49dc53d SHA512 dc66cb7e968e7a651c7a84681e2a0539d196073f71cf0ae1e49c5a6cd6deec345523259a8810ffdc7b6e9763a536eb388a2886ba2bbd1cb62165b57fbefb82ae
diff --git a/dev-python/distro/distro-1.7.0.ebuild b/dev-python/distro/distro-1.7.0.ebuild
deleted file mode 100644
index 74b41304a0fb..000000000000
--- a/dev-python/distro/distro-1.7.0.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_{8..11} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Reliable machine-readable Linux distribution information for Python"
-HOMEPAGE="
- https://distro.readthedocs.io/en/latest/
- https://pypi.org/project/distro/
- https://github.com/python-distro/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 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 387468a09755..79828d87eab0 100644
--- a/dev-python/dj-database-url/Manifest
+++ b/dev-python/dj-database-url/Manifest
@@ -1,2 +1 @@
-DIST dj-database-url-0.5.0.gh.tar.gz 6309 BLAKE2B 72647f8651d595b4020161b15364836b8483bf8a12ec72e434bc9d0583878ee9f4e4c76110581f285adddac3e7c2d7bc071f720a7fde91c84c3ea53b6c979300 SHA512 541d5177bff0fcc21372d2d9dc699ba11de1b1cabf10d61fb9f1e844a6dd4d46df5c7fdb6ccb4505cf984e41d7a2ae4e3af5e7d05072b0ed6982499eac5aac66
-DIST dj-database-url-1.0.0.gh.tar.gz 11355 BLAKE2B 9ea50eb2646367333556133020a59f332cb69e05fb392f328558f77cb03ffa968cf62241f3823e28600799a1399ac1335b90477a26a4931b0df7b695b502e9be SHA512 35ca0c05910812e10bf63b061afb434ac7c562e3d994b6e452250fe4ec95983fe8353aec0df9c7638a990684e612863ddada5be48485a1db3120e110f6d0fa94
+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-0.5.0-r1.ebuild b/dev-python/dj-database-url/dj-database-url-0.5.0-r1.ebuild
deleted file mode 100644
index 739d089e618b..000000000000
--- a/dev-python/dj-database-url/dj-database-url-0.5.0-r1.ebuild
+++ /dev/null
@@ -1,25 +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_{8..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"
-
-distutils_enable_tests unittest
diff --git a/dev-python/dj-database-url/dj-database-url-1.0.0.ebuild b/dev-python/dj-database-url/dj-database-url-1.0.0.ebuild
deleted file mode 100644
index c30f6849ca02..000000000000
--- a/dev-python/dj-database-url/dj-database-url-1.0.0.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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..32b89e66d94e
--- /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="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-3.10.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest -s tests
+}
diff --git a/dev-python/dj-email-url/Manifest b/dev-python/dj-email-url/Manifest
index 905f35806393..d7e0aa20d5d1 100644
--- a/dev-python/dj-email-url/Manifest
+++ b/dev-python/dj-email-url/Manifest
@@ -1 +1 @@
-DIST dj-email-url-1.0.5.gh.tar.gz 7950 BLAKE2B 1d159023f9b49f3a13fba39c29c51bb06bb6dd9d3c5303a4d246ad9f72daec9a273c15d214ad94a219883c9c210955d84bacc5861f5411845e152fedc7ee6880 SHA512 7de79a4f1f7416634c5877bc45d290d20d841e5ec470bc40ea900f04531037e2337c81788792b8f70a11318633a42f86700a5b27e611fac466b373d2d3b7f355
+DIST dj-email-url-1.0.6.gh.tar.gz 15944 BLAKE2B d10a428cca05e93129be9acb4947c534cd897a39995f8224b17017405942defc977c19457b69b07be9518b203fbe50c6302da5ef089cd54301fe3ee46c091f90 SHA512 f41f4c7cb6c2ce9ff99d9dd4d5676fcd3d82814a929fe4c64c52409ec1b12fc87e657fcb39d40d7ec24fef8fed633418ef7d7537563f753532e1348290672faa
diff --git a/dev-python/dj-email-url/dj-email-url-1.0.5.ebuild b/dev-python/dj-email-url/dj-email-url-1.0.5.ebuild
deleted file mode 100644
index 1ff6406e19b6..000000000000
--- a/dev-python/dj-email-url/dj-email-url-1.0.5.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Use an URL to configure email backend settings in your Django Application"
-HOMEPAGE="
- https://github.com/migonzalvar/dj-email-url/
- https://pypi.org/project/dj-email-url/
-"
-SRC_URI="
- https://github.com/migonzalvar/dj-email-url/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
-
-DOCS=( CHANGELOG.rst README.rst )
-
-distutils_enable_tests unittest
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
new file mode 100644
index 000000000000..584755880f76
--- /dev/null
+++ b/dev-python/dj-email-url/dj-email-url-1.0.6.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=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Use an URL to configure email backend settings in your Django Application"
+HOMEPAGE="
+ https://github.com/migonzalvar/dj-email-url/
+ https://pypi.org/project/dj-email-url/
+"
+SRC_URI="
+ https://github.com/migonzalvar/dj-email-url/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+
+DOCS=( CHANGELOG.rst README.rst )
+
+distutils_enable_tests unittest
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 bab46f497d02..51bfc3b73fbd 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-2022 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_{8..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="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
diff --git a/dev-python/django-auth-ldap/Manifest b/dev-python/django-auth-ldap/Manifest
index 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 fb63e13a3d4d..000000000000
--- a/dev-python/django-auth-ldap/django-auth-ldap-4.1.0.ebuild
+++ /dev/null
@@ -1,49 +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_{8..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 47957238fbbf..60a36d077406 100644
--- a/dev-python/django-cache-url/Manifest
+++ b/dev-python/django-cache-url/Manifest
@@ -1 +1 @@
-DIST django-cache-url-3.4.2.gh.tar.gz 8664 BLAKE2B f97bfed1b4be0919d79304242baf7af0c092b440a1888f05c781e70cb4674a83c4f18077c1b3c9ce7dc99223ebe13527e5575af0993446d273cc387ed0e2d8d5 SHA512 7b12ff97c399cd52eef1465a504bf8edd7d422a76af5ead0157a3b52615501b7f152bf58f693255a3ccb81880123ec0efd2ec3590e07f38378e5e812c2ef3799
+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.2.ebuild b/dev-python/django-cache-url/django-cache-url-3.4.2.ebuild
deleted file mode 100644
index 5eb996815c02..000000000000
--- a/dev-python/django-cache-url/django-cache-url-3.4.2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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/${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..9415dd5c26d8
--- /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="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ dev-python/django[${PYTHON_USEDEP}]
+"
+
+DOCS=( AUTHORS.rst CHANGELOG.rst README.rst )
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e '/--cov/d' -i setup.cfg || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/django-cacheops/Manifest b/dev-python/django-cacheops/Manifest
index 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 8efce8ba040e..000000000000
--- a/dev-python/django-cacheops/django-cacheops-6.1.ebuild
+++ /dev/null
@@ -1,72 +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_{8..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 ab7809eb6eca..18ca1796f913 100644
--- a/dev-python/django-configurations/Manifest
+++ b/dev-python/django-configurations/Manifest
@@ -1 +1 @@
-DIST django-configurations-2.3.2.gh.tar.gz 38475 BLAKE2B 2b3c583e665a08a46bc0ca0c52ae4326fbdfb794d102deecbd13f953e8b6f3fd39b3b747c591fc9717c6a0792258cdb9041de53e71db2034de1a31ddf5bfc0ea SHA512 4cb5a7b284a0025ba93b32e158fb65b57e66230938181b921a1b1264848113b697eb45ac6ad2fc4f26f3bc29ea5f77acbfd5307b20ef2d385e29c2c1746295b3
+DIST django-configurations-2.5.1.tar.gz 43225 BLAKE2B 1b9cd14ea50d03500cc05790e831832f6e4e3a917903eb48aa40c2d2dd46a59684ce82b484229fd912a18bcdef4d1887989489b4ab461740f981a87c3a7914f5 SHA512 5584446a1b48a0c080401b377786864a905a28337e2912c71ba586ad438df6efeb74c2de1058b77d79f3ba7db85dd443f05dc81013576d301a43bad6736e72e2
diff --git a/dev-python/django-configurations/django-configurations-2.3.2.ebuild b/dev-python/django-configurations/django-configurations-2.3.2.ebuild
deleted file mode 100644
index 65cfca8e9dc9..000000000000
--- a/dev-python/django-configurations/django-configurations-2.3.2.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/django-cache-url[${PYTHON_USEDEP}]
- dev-python/dj-database-url[${PYTHON_USEDEP}]
- dev-python/dj-email-url[${PYTHON_USEDEP}]
- dev-python/dj-search-url[${PYTHON_USEDEP}]
- )
-"
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-PATCHES=(
- "${FILESDIR}"/${P}-test.patch
-)
-
-python_test() {
- local -x DJANGO_SETTINGS_MODULE=tests.settings.main
- local -x DJANGO_CONFIGURATION=Test
- PYTHONPATH=. django-cadmin test -v2 || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/django-configurations/django-configurations-2.5.1.ebuild b/dev-python/django-configurations/django-configurations-2.5.1.ebuild
new file mode 100644
index 000000000000..86eac772cff2
--- /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="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-3.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/django-cache-url[${PYTHON_USEDEP}]
+ dev-python/dj-database-url[${PYTHON_USEDEP}]
+ dev-python/dj-email-url[${PYTHON_USEDEP}]
+ dev-python/dj-search-url[${PYTHON_USEDEP}]
+ )
+"
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE=tests.settings.main
+ local -x DJANGO_CONFIGURATION=Test
+ PYTHONPATH=. django-cadmin test -v2 || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/django-configurations/files/django-configurations-2.3.2-test.patch b/dev-python/django-configurations/files/django-configurations-2.3.2-test.patch
deleted file mode 100644
index 19787102920a..000000000000
--- a/dev-python/django-configurations/files/django-configurations-2.3.2-test.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/tests/test_values.py b/tests/test_values.py
-index 2547e50..2f1170b 100644
---- a/tests/test_values.py
-+++ b/tests/test_values.py
-@@ -2,6 +2,7 @@ import decimal
- import os
- from contextlib import contextmanager
-
-+from django import VERSION as DJANGO_VERSION
- from django.test import TestCase
- from django.core.exceptions import ImproperlyConfigured
-
-@@ -411,6 +412,7 @@ class ValueTests(TestCase):
- 'EMAIL_HOST_PASSWORD': 'password',
- 'EMAIL_HOST_USER': 'user@domain.com',
- 'EMAIL_PORT': 587,
-+ 'EMAIL_TIMEOUT': None,
- 'EMAIL_USE_SSL': False,
- 'EMAIL_USE_TLS': True})
- with env(EMAIL_URL='console://'):
-@@ -421,6 +423,7 @@ class ValueTests(TestCase):
- 'EMAIL_HOST_PASSWORD': None,
- 'EMAIL_HOST_USER': None,
- 'EMAIL_PORT': None,
-+ 'EMAIL_TIMEOUT': None,
- 'EMAIL_USE_SSL': False,
- 'EMAIL_USE_TLS': False})
- with env(EMAIL_URL='smtps://user@domain.com:password@smtp.example.com:wrong'): # noqa: E501
-@@ -429,7 +432,7 @@ class ValueTests(TestCase):
- def test_cache_url_value(self):
- cache_setting = {
- 'default': {
-- 'BACKEND': 'django_redis.cache.RedisCache',
-+ 'BACKEND': 'django_redis.cache.RedisCache' if DJANGO_VERSION[0] < 4 else 'django.core.cache.backends.redis.RedisCache',
- 'LOCATION': 'redis://host:6379/1',
- }
- }
-@@ -503,6 +506,7 @@ class ValueTests(TestCase):
- 'EMAIL_HOST_PASSWORD': 'password',
- 'EMAIL_HOST_USER': 'user@domain.com',
- 'EMAIL_PORT': 587,
-+ 'EMAIL_TIMEOUT': None,
- 'EMAIL_USE_SSL': False,
- 'EMAIL_USE_TLS': True
- })
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 11302037f21b..000000000000
--- a/dev-python/django-cors-headers/django-cors-headers-3.13.0.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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 fbc0996d9583..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.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 32f8a0f85bcb..000000000000
--- a/dev-python/django-crispy-forms/django-crispy-forms-1.14.0.ebuild
+++ /dev/null
@@ -1,21 +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_{8..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}.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 40eb8bb12fd7..4d76509c2647 100644
--- a/dev-python/django-filter/Manifest
+++ b/dev-python/django-filter/Manifest
@@ -1,2 +1,3 @@
-DIST django-filter-21.1.tar.gz 154188 BLAKE2B f0ae3119a1dfa466e6630f7da44db1531172991b137fe9420ed533a7b3d4177f689f07fed115566854bd40e5e23f4e9f2f73be32188af2c067a81a95fbccc5a3 SHA512 df2b02bfa93874d9684a26394778203b827c6459ab8cc8c581677e6ccfeedf1323085f53fb52cfc3e0e0a3d27f86de655366bcd4be361502ce86e65b4a4e84d0
-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-21.1-r2.ebuild b/dev-python/django-filter/django-filter-21.1-r2.ebuild
deleted file mode 100644
index d64a0826500e..000000000000
--- a/dev-python/django-filter/django-filter-21.1-r2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Django app allowing declarative dynamic QuerySet filtering from URL parameters"
-HOMEPAGE="https://github.com/carltongibson/django-filter"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=dev-python/django-2.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
- django-admin test -v 2 || die
-}
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 55924feb2cce..000000000000
--- a/dev-python/django-filter/django-filter-22.1.ebuild
+++ /dev/null
@@ -1,46 +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_{8..10} )
-
-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-21.1-test-skipIf.patch b/dev-python/django-filter/files/django-filter-21.1-test-skipIf.patch
deleted file mode 100644
index adaf8ba428d1..000000000000
--- a/dev-python/django-filter/files/django-filter-21.1-test-skipIf.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From db97686a9950cc1a372d27dfbb90b19ceece3f65 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Fri, 24 Sep 2021 21:22:41 +0200
-Subject: [PATCH] Fix inverted skipIf for CrispyFormsCompatTests tests
-
-The test is being wrongly skipped when crispy_forms are installed
-rather than the other way around.
----
- tests/rest_framework/test_filterset.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/rest_framework/test_filterset.py b/tests/rest_framework/test_filterset.py
-index f8b5aae..b6a658d 100644
---- a/tests/rest_framework/test_filterset.py
-+++ b/tests/rest_framework/test_filterset.py
-@@ -38,7 +38,7 @@ class FilterSetFilterForFieldTests(TestCase):
- self.assertEqual(result.extra['widget'], BooleanWidget)
-
-
--@skipIf(is_crispy(), 'django_crispy_forms must be installed')
-+@skipIf(not is_crispy(), 'django_crispy_forms must be installed')
- @override_settings(INSTALLED_APPS=settings.INSTALLED_APPS + ('crispy_forms', ))
- class CrispyFormsCompatTests(TestCase):
-
---
-2.33.0
-
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-filter/metadata.xml b/dev-python/django-filter/metadata.xml
index ee17f6d46218..337b4c0ca265 100644
--- a/dev-python/django-filter/metadata.xml
+++ b/dev-python/django-filter/metadata.xml
@@ -5,6 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">django-filter</remote-id>
<remote-id type="github">carltongibson/django-filter</remote-id>
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 6c706aabc246..000000000000
--- a/dev-python/django-js-asset/django-js-asset-2.0.ebuild
+++ /dev/null
@@ -1,30 +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_{8..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 19a7cf871a37..000000000000
--- a/dev-python/django-mptt/django-mptt-0.13.4.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 e91895f1c7ed..4dbbb8db1ab7 100644
--- a/dev-python/django-otp/Manifest
+++ b/dev-python/django-otp/Manifest
@@ -1 +1,4 @@
-DIST django-otp-1.1.3.gh.tar.gz 72736 BLAKE2B 1dc0570d65f0ac8de417260ce2fb895dbae7f5f2cd106b0dd969bc04df207cd4aa9ccf8be2bfc74475bb3ec6abcd451b7fa1c32fd0f7f0d3b27afca212f3b8ed SHA512 4e8b38c393fe29b2fa91e3f1f70abd2cc671dcf760e2e2bf8f738e04fc43a6e7f54229f298f7f2611988dffc40b4450ed1ab910ce9e9995b205dff1b3c90a977
+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.3-r1.ebuild b/dev-python/django-otp/django-otp-1.1.3-r1.ebuild
deleted file mode 100644
index 4c9f4dfe0dad..000000000000
--- a/dev-python/django-otp/django-otp-1.1.3-r1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Django framework adding two-factor authentication using one-time passwords"
-HOMEPAGE="https://github.com/django-otp/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 79c9b92ea2d7..000000000000
--- a/dev-python/django-prometheus/django-prometheus-2.2.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 cf93adbb66fe..000000000000
--- a/dev-python/django-redis/django-redis-5.2.0.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 462523bd30b5..000000000000
--- a/dev-python/django-sortedm2m/django-sortedm2m-3.1.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ea01ba5f4fdb..79fcd6ab9998 100644
--- a/dev-python/django-tables2/Manifest
+++ b/dev-python/django-tables2/Manifest
@@ -1,2 +1 @@
-DIST django-tables2-2.3.4.tar.gz 77706 BLAKE2B 54e0903747ab29dab26049868f8cfd412d23fe3f36eaf292bebc90ee1c307f08d04af1eed469423e3699db227110fc0347a8034acb3b3b46971d37b3aebb84a1 SHA512 d10144b79850847d2787e4a97f450eb3709a419a5dcd330667e3746c16f3be7472c6c26dbf7d765356130b79b8c915c46fd3201c83e66806753f1bb95911895f
-DIST django-tables2-2.4.1.gh.tar.gz 429723 BLAKE2B 80361d419279f548c089c4da990a45c6b43576746ec2762928af907415f3ea331a89f7e0ec7b792d27e15ed409b25f3ee26b3794cdb16255835f0d74faee068c SHA512 e2431f86e049b9dee1100d48727ea2003e431a3ad5bf8e8a4b773d53dc4d5e90ec310a7f07ce7532e044903d760aacda37b3512770f6e0db6527842d1cbdd6d9
+DIST django-tables2-2.7.0.gh.tar.gz 431811 BLAKE2B 2a6a9d74fa50bab049b9b85fc4a2d39b5a54b0fbbcd51f86f2b196e51bd1a1ef36ccc032db13f7cde4f836419a2d92248571b4fb985a8aefb3be2bb740856a2b SHA512 9666dad152d995ef7772881ace4bb83fc41aca1675e0cc116791e4fbfb970de600bd8cc2310b5694558b11e479dea2fc84584a669f6a8127a4bb0a354d24e39a
diff --git a/dev-python/django-tables2/django-tables2-2.3.4.ebuild b/dev-python/django-tables2/django-tables2-2.3.4.ebuild
deleted file mode 100644
index 0482d24035c4..000000000000
--- a/dev-python/django-tables2/django-tables2-2.3.4.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit distutils-r1
-
-DESCRIPTION="Table/data-grid framework for Django"
-HOMEPAGE="https://pypi.org/project/django-tables2/ https://github.com/bradleyayers/django-tables2/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="BSD-2"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND=">=dev-python/django-1.11"
-DEPEND="${RDEPEND}"
diff --git a/dev-python/django-tables2/django-tables2-2.4.1.ebuild b/dev-python/django-tables2/django-tables2-2.4.1.ebuild
deleted file mode 100644
index 1e7bbfe87159..000000000000
--- a/dev-python/django-tables2/django-tables2-2.4.1.ebuild
+++ /dev/null
@@ -1,52 +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_{8..10} )
-
-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-1.11[${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-tables2/metadata.xml b/dev-python/django-tables2/metadata.xml
index 61226092e3c2..1c11780e079f 100644
--- a/dev-python/django-tables2/metadata.xml
+++ b/dev-python/django-tables2/metadata.xml
@@ -5,6 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">django-tables2</remote-id>
<remote-id type="github">jieter/django-tables2</remote-id>
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 1841a39a9aca..000000000000
--- a/dev-python/django-tagging/django-tagging-0.5.0-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ccbf137bfb70..d059385f71e2 100644
--- a/dev-python/django-taggit/Manifest
+++ b/dev-python/django-taggit/Manifest
@@ -1 +1,2 @@
-DIST django-taggit-3.0.0.tar.gz 57380 BLAKE2B 67ce6adde1bcba3a9fc8f11af4135dd1a2ee75892e26d4de9970f84111c1cf73f65bc58a2de45c75b98b0c5da9b8a6077af76d1e0561ce8a5e78828db8f40226 SHA512 e44a5f4f8293560cecb1ba39035241f209f21803521d3e2f3102e04add9778ebc15b0da6994f0a51b6c55274318b4cabce33805952f8bbaad16ecc3c03070e10
+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.0.0.ebuild b/dev-python/django-taggit/django-taggit-3.0.0.ebuild
deleted file mode 100644
index 11dbb8082eca..000000000000
--- a/dev-python/django-taggit/django-taggit-3.0.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-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"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-2.2[${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-taggit/django-taggit-3.1.0.ebuild b/dev-python/django-taggit/django-taggit-3.1.0.ebuild
new file mode 100644
index 000000000000..5e8c8914b4e3
--- /dev/null
+++ b/dev-python/django-taggit/django-taggit-3.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
+
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple tagging for Django"
+HOMEPAGE="https://github.com/jazzband/django-taggit"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-3.2[${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-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-taggit/metadata.xml b/dev-python/django-taggit/metadata.xml
index d47007bd4d68..95637aaadbca 100644
--- a/dev-python/django-taggit/metadata.xml
+++ b/dev-python/django-taggit/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">django-taggit</remote-id>
+ <remote-id type="github">jazzband/django-taggit</remote-id>
</upstream>
</pkgmetadata>
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 10674e933208..000000000000
--- a/dev-python/django-timezone-field/django-timezone-field-5.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..10} )
-
-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}]
- $(python_gen_cond_dep '
- dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
- ' 3.8)
-"
-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-timezone-field/metadata.xml b/dev-python/django-timezone-field/metadata.xml
index 1985bc703b53..c17cfc42616c 100644
--- a/dev-python/django-timezone-field/metadata.xml
+++ b/dev-python/django-timezone-field/metadata.xml
@@ -5,7 +5,9 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">django-timezone-field</remote-id>
+ <remote-id type="github">mfogel/django-timezone-field</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index e7168a82e114..b4d54ae454b3 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,6 +1,12 @@
-DIST Django-3.2.15.checksum.txt 2560 BLAKE2B 35a4f28005a07cee0b667ec55838d846cb7f1970be41ce08f2191992b1247263f7632bb9dcaa3d20f9df4e050b370416a2a9af6f0e5cc3523484016161a7a47e SHA512 b3d00d18e14be7dec77901ddd8818b41e2b592dbafb2c66b314478f0b2ac0f8486ce41a73a71da9bed4d9ad92a6d6bf21765ede79055c1fb2a9972e3f16cfac7
-DIST Django-3.2.15.tar.gz 9833828 BLAKE2B 4b914b1e3c192340d9a1bbd68b7d3bf3d1c1b3f41da6e4a67149e811a2312f646e2ced83af23ae035cf590e526dad00537aa5b4aee14a657f6952675eca94b30 SHA512 fccdad52d39c8757972d5e987b94b13d8ce5ce08ad480ef79407b0d9b88cff69336770409cbe18ce9529bf10966ad63105a0b0f1ffe39b681a41be3718ec886b
-DIST Django-4.0.7.checksum.txt 2551 BLAKE2B 6fa44707d33af485d3c55096dcc650b4e2384421c57c30cedee9f9577488783836a3ad8261dceaf5c718c1a5fcbe5852b081596525b22639c310c9aa6e86c639 SHA512 4b2453be8090c2a9d48bbe34f6e5dd55859b9debc3a116519c69da39d04ecca202e6da62ae9114790a9da8c55cfcfe176a972bb25576305a8e23736e2e063e3e
-DIST Django-4.0.7.tar.gz 10407810 BLAKE2B 77c994d042ace329699aa33e14098cbcd4f24fa4db880dd78ed87828b02c25298a1c1664511547de53eb80ebade7bdfb16412a615027e512ded437ae7de79b54 SHA512 51574ab7423a3948318a5985f74bd781269bf1c95dc77838c11e8f9d5e9233f0a3be5dfa4798d523473b9f1fd3196d4c10284e3a28d9543084b2a63179167731
-DIST Django-4.1.checksum.txt 2533 BLAKE2B 263c3719c572347cb5d2087b960a47f0e6ac409a94499cd5ee8ec619c3388d29354c10813d4b3d2a0d6bd73ca52f562a6ae89a3d9340d5ea478a80cc30284467 SHA512 96d0a66c40261530d65bdde34ba1fc2e650690821b0f52900d60ab85162debc64e33e089f90e2b106235fc47581a54dc6432968534837c1a71a887b40fdd4f36
-DIST Django-4.1.tar.gz 10484595 BLAKE2B 29a833330862abcf69bf082af6df08986443d34abfe821bd307fba6ddd73dd00be7ae8d3e809fe97db0b22f9062daa760cbe01da8d773e1528f583938959f775 SHA512 f0f7e627b3c474c886cb2476f900222d2623e1ed1da1ac6b23ac618ff49e330edc2efd47b275cb02b8bcb254126bf3c926462c616bb0abee1cd433715f5184da
+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-4.2.13.checksum.txt 2578 BLAKE2B c4dee2c255a77da0655f685852bfac937e6afbfa32c6f5048916675d806c1d9218ff40117c99d7e63ee06b05dd88af4db9460672c3628c948cb17e5ca2f56817 SHA512 0994eef854b991c2db290712aff892e900ef3bab84607e385b4f78e3213b816739e42d5010afaaf30f6c68d5bc52b509b7c6e797e8e87db499a49f75b4cfd232
+DIST Django-4.2.13.tar.gz 10430886 BLAKE2B 09e8743de500f11c32c540d23d9aae1377c83177089732c78c03501dc560fd7b4316d6032534c923c354539421e519ed8439fc09d61500cea479c9eaf115f160 SHA512 2d141e2d710dbd55999db9c7005ca4a8d291dad57f0ef246eb41d4ffed76e62035b36969c5f338c3158ccd2d1677eb23de0b8f783606b4c62a3ee45e8988b712
+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-5.0.6.checksum.txt 2568 BLAKE2B c4c94e1a245248ed59707fb8aeb97a8379e679c50829d0470eefd2f870de32d5b57cb4841ac44809483993bc515514c3e2b0cdf0f1768681a4ba1930e2d278a3 SHA512 231954ae528beff69fbfa385aba192f19d56e862f1a2e5e40ccbba60ce31b59a075af31d75ab9e5767c9405a37f14fd3c5c41e74f60f6b7d6821391a43992301
+DIST Django-5.0.6.tar.gz 10639679 BLAKE2B 2198f273f28f89eb12db481e3531a963e2f5215677f0227d2ce8940cf1c2076acafe9bf1064595b481c6d65fadd7c6d6c7cda5fbbded81a87895e697338c78fd SHA512 6dab32357c423762a4fdd7372aec0ae4855861431fb9a90d4a818144e675cf891c0673a11351ddf8344f31624ce0ea8c9d9c6bc3c4514f38380aecb48a684894
+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.15.ebuild b/dev-python/django/django-3.2.15.ebuild
deleted file mode 100644
index b83663879072..000000000000
--- a/dev-python/django/django-3.2.15.ebuild
+++ /dev/null
@@ -1,109 +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_{8..10} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 optfeature verify-sig
-
-MY_P=${P^}
-DESCRIPTION="High-level Python web framework"
-HOMEPAGE="
- https://www.djangoproject.com/
- https://pypi.org/project/Django/
-"
-SRC_URI="
- https://media.djangoproject.com/releases/$(ver_cut 1-2)/${MY_P}.tar.gz
- verify-sig? ( https://media.djangoproject.com/pgp/${MY_P}.checksum.txt )
-"
-S="${WORKDIR}/${MY_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 \
- "${MY_P}.checksum.txt" sha256 "${MY_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.7.ebuild b/dev-python/django/django-4.0.7.ebuild
deleted file mode 100644
index ed8ebbdf0176..000000000000
--- a/dev-python/django/django-4.0.7.ebuild
+++ /dev/null
@@ -1,110 +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_{8..11} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 optfeature verify-sig
-
-MY_P=${P^}
-DESCRIPTION="High-level Python web framework"
-HOMEPAGE="
- https://www.djangoproject.com/
- https://pypi.org/project/Django/
-"
-SRC_URI="
- https://media.djangoproject.com/releases/$(ver_cut 1-2)/${MY_P}.tar.gz
- verify-sig? ( https://media.djangoproject.com/pgp/${MY_P}.checksum.txt )
-"
-S="${WORKDIR}/${MY_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 \
- "${MY_P}.checksum.txt" sha256 "${MY_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.ebuild b/dev-python/django/django-4.1.ebuild
deleted file mode 100644
index 5c62178ef58f..000000000000
--- a/dev-python/django/django-4.1.ebuild
+++ /dev/null
@@ -1,106 +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_{8..11} )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 optfeature verify-sig
-
-MY_P=${P^}
-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)/${MY_P}.tar.gz
- verify-sig? ( https://media.djangoproject.com/pgp/${MY_P}.checksum.txt )
-"
-S="${WORKDIR}/${MY_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-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
- # https://github.com/django/django/commit/9e9bdf8dbd6e2354a2e23aa7e37d5b491338085e
- "${FILESDIR}"/${P}-test.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 \
- "${MY_P}.checksum.txt" sha256 "${MY_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-4.2.13.ebuild b/dev-python/django/django-4.2.13.ebuild
new file mode 100644
index 000000000000..3d93ca48aced
--- /dev/null
+++ b/dev-python/django/django-4.2.13.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.4.ebuild b/dev-python/django/django-5.0.4.ebuild
new file mode 100644
index 000000000000..465a7dcda6cd
--- /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="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.11.0[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20230606 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+ "${WORKDIR}"/django-5.0-pypy3.patch
+)
+
+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.6.ebuild b/dev-python/django/django-5.0.6.ebuild
new file mode 100644
index 000000000000..8a79467dedd4
--- /dev/null
+++ b/dev-python/django/django-5.0.6.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="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.11.0[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20230606 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+ "${WORKDIR}"/django-5.0-pypy3.patch
+)
+
+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/files/django-4.1-test.patch b/dev-python/django/files/django-4.1-test.patch
deleted file mode 100644
index d50c3df89bec..000000000000
--- a/dev-python/django/files/django-4.1-test.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 9e9bdf8dbd6e2354a2e23aa7e37d5b491338085e Mon Sep 17 00:00:00 2001
-From: Alberto Planas <aplanas@gmail.com>
-Date: Wed, 3 Aug 2022 16:36:04 +0200
-Subject: [PATCH] [4.1.x] Fixed #33887 -- Fixed
- test_fails_squash_migration_manual_porting() on final tags.
-
-Regression in 7c318a8bdd66f8c5241864c9970dddb525d0ca4c.
-Backport of 4e13b40a764cfdae50416338c5d077e9d9a6d0f1 from main
----
- tests/migrations/test_commands.py | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/tests/migrations/test_commands.py b/tests/migrations/test_commands.py
-index a3e1efc924bd..0d4fb52bbb82 100644
---- a/tests/migrations/test_commands.py
-+++ b/tests/migrations/test_commands.py
-@@ -3005,11 +3005,12 @@ def test_fails_squash_migration_manual_porting(self):
- with self.temporary_migration_module(
- module="migrations.test_migrations_manual_porting"
- ) as migration_dir:
-+ version = get_docs_version()
- msg = (
-- "Migration will require manual porting but is already a squashed "
-- "migration.\nTransition to a normal migration first: "
-- "https://docs.djangoproject.com/en/dev/topics/migrations/"
-- "#squashing-migrations"
-+ f"Migration will require manual porting but is already a squashed "
-+ f"migration.\nTransition to a normal migration first: "
-+ f"https://docs.djangoproject.com/en/{version}/topics/migrations/"
-+ f"#squashing-migrations"
- )
- with self.assertRaisesMessage(CommandError, msg):
- call_command("optimizemigration", "migrations", "0004", stdout=out)
diff --git a/dev-python/django_polymorphic/Manifest b/dev-python/django_polymorphic/Manifest
deleted file mode 100644
index e4434eedd56a..000000000000
--- a/dev-python/django_polymorphic/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST django_polymorphic-3.1.tar.gz 104090 BLAKE2B de2a2b38f338a10198d00e70d1813e541bf627e2ba2f5e29f0844c9ec7034badba39c077a195fc8c2f71105f1b4e546b91218b95d2ac47020f0dc2e3a5b0baa8 SHA512 730f617009007f94e935870941fdd8973d0cd5995060afbd138622345de77fa48bf2afe037bfa2ad476cef0a31e90cab1eb55109c470ae815a98e1facfa8f125
diff --git a/dev-python/django_polymorphic/django_polymorphic-3.1.ebuild b/dev-python/django_polymorphic/django_polymorphic-3.1.ebuild
deleted file mode 100644
index be4ffffc92ae..000000000000
--- a/dev-python/django_polymorphic/django_polymorphic-3.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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}.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 e36e667aa074..000000000000
--- a/dev-python/django_polymorphic/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">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 69164de0ad15..dc457fb9c030 100644
--- a/dev-python/djangorestframework/Manifest
+++ b/dev-python/djangorestframework/Manifest
@@ -1 +1,2 @@
-DIST django-rest-framework-3.13.1.gh.tar.gz 8868916 BLAKE2B 01a2e1c2459f99b1d3b38b62b305a57f3a3358d34a352ef2bbeb6b130c98f19fbbb83325d1013c28107f267a0a0227215646975de54542ab9ca6dfcf2bd88404 SHA512 a272cccf1f19b2cd09ef456a9588fb17ddc56ac3bd735cf7e130d85bb667ca87361d7de26c95b58a05d8cf693ab19c09d913b457f17ad63053ff9b516c13ec9b
+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.13.1-r1.ebuild b/dev-python/djangorestframework/djangorestframework-3.13.1-r1.ebuild
deleted file mode 100644
index abd393c14ea4..000000000000
--- a/dev-python/djangorestframework/djangorestframework-3.13.1-r1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-
-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-2.2[${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/djangorestframework/metadata.xml b/dev-python/djangorestframework/metadata.xml
index 13d73d7e2154..776038dc345f 100644
--- a/dev-python/djangorestframework/metadata.xml
+++ b/dev-python/djangorestframework/metadata.xml
@@ -5,7 +5,9 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">djangorestframework</remote-id>
+ <remote-id type="github">encode/django-rest-framework</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/dkimpy/Manifest b/dev-python/dkimpy/Manifest
index 53691a5a99af..b252cae67397 100644
--- a/dev-python/dkimpy/Manifest
+++ b/dev-python/dkimpy/Manifest
@@ -1 +1 @@
-DIST dkimpy-1.0.5.tar.gz 59799 BLAKE2B 317e7a9e7ad1efdbbc7f4f1ce7efca70f3be4272ead3761d8bbde14d19e9f3a90af96d7bff5fba5b612cecaa166b58da4617e39a13276d0982ea38809f808b4d SHA512 af72a56a777b23318af8f8014bad03cadb93cc39f0b8c2062e15f3e5ca77a13be6f49664c9745f1fe97c592be5a63c4b0a3942da2c2c6eaa486137fdbb96528f
+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 1b200393aedf..000000000000
--- a/dev-python/dkimpy/dkimpy-1.0.5-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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.6.ebuild b/dev-python/dkimpy/dkimpy-1.1.6.ebuild
new file mode 100644
index 000000000000..6b4ecb70c5d8
--- /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/dkimpy/metadata.xml b/dev-python/dkimpy/metadata.xml
index 96929e5652bb..8856fe9dc08a 100644
--- a/dev-python/dkimpy/metadata.xml
+++ b/dev-python/dkimpy/metadata.xml
@@ -2,7 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>ddenoncin@gmail.com</email>
+ <email>gentoo@denoncin.fr</email>
<name>David Denoncin</name>
</maintainer>
<maintainer type="project" proxied="proxy">
diff --git a/dev-python/dns-lexicon/Manifest b/dev-python/dns-lexicon/Manifest
index bce796690d34..6eb4dacc10d9 100644
--- a/dev-python/dns-lexicon/Manifest
+++ b/dev-python/dns-lexicon/Manifest
@@ -1,2 +1 @@
-DIST dns-lexicon-3.11.2.tar.gz 8479426 BLAKE2B aced03c62f809bbb22d2456da8d7a66c4b3cdfd47903a67cafd8a97cbc7cdbbe22fe7e79ad3eada716a569241def4e42cf7d910ba9837dfe05a31ce3f8ed2bdb SHA512 bf77cee4e483b36c8cc8cb176291f0170a1d611551246e27ddd91d9712e8750c9ee57863697e975065f6924c03fdfd636c5c7df29a620d37441b12dd0a1c597d
-DIST dns-lexicon-3.11.3.gh.tar.gz 8442678 BLAKE2B 3898e572b409f19c6c3064046adbbbbfefe0ef287caceb2495972c946bdab0b4bb484330e3ae98afdc8d65cc849c11ed199e6c1eeeeb1296f09063124c166b91 SHA512 770a3c052ecc26fb3a27ac49b8f14132b69ea6ca9dfc93caea1ac66c4e6a458e6484b8a8ab921eea97761216fa34d8ad0d95964cdcff30a5713de7189c1e987d
+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.2.ebuild b/dev-python/dns-lexicon/dns-lexicon-3.11.2.ebuild
deleted file mode 100644
index b467cab6a220..000000000000
--- a/dev-python/dns-lexicon/dns-lexicon-3.11.2.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..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}.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.11.3.ebuild b/dev-python/dns-lexicon/dns-lexicon-3.11.3.ebuild
deleted file mode 100644
index c6c99ff85a56..000000000000
--- a/dev-python/dns-lexicon/dns-lexicon-3.11.3.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..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 948cb93bdb3f..69ffca18b716 100644
--- a/dev-python/dnspython/Manifest
+++ b/dev-python/dnspython/Manifest
@@ -1 +1 @@
-DIST dnspython-2.2.1.tar.gz 304861 BLAKE2B e6446b91579c6ec0a7266a354ceb58e2f881b55b7376648770ebc2c6104fd815214497516d305b75802e9211703d47a70d66745d872a43afb72f41e55a617652 SHA512 ec545468f604d6131f07259ca154c4f71d445d12c336ac1da0d2f025d6478ada76320a7235119312fed85da071ef309d2531e541d3c2340a50deaf3f4dd7b4eb
+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 19f3117844e8..000000000000
--- a/dev-python/dnspython/dnspython-2.2.1-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..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 ~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.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/dnspython/metadata.xml b/dev-python/dnspython/metadata.xml
index 6ca507da9d34..a09e46dc548e 100644
--- a/dev-python/dnspython/metadata.xml
+++ b/dev-python/dnspython/metadata.xml
@@ -29,6 +29,7 @@ DNSPythonã¯Python言語用ã®DNSツールキットã§ã™ã€‚ã»ã¨ã‚“ã©ã®ãƒ¬ã‚
</use>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">rthalley/dnspython</remote-id>
<remote-id type="pypi">dnspython</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/doc8/Manifest b/dev-python/doc8/Manifest
index 4b2303805e7a..510c83beecc5 100644
--- a/dev-python/doc8/Manifest
+++ b/dev-python/doc8/Manifest
@@ -1,2 +1 @@
-DIST doc8-0.11.2.tar.gz 25898 BLAKE2B 097c6d6b82fe4acf7cfc43ff7860334f0a53df3ca39def33de4b9f04553acab785fe339d8126dd5ae56a7d45c846c575b9c689eed47bc47302b89fd5bfabfe3a SHA512 f607251c3ae792b3210893b2074bb34aad866a54645c4244ef53e156a4c3af9cfb61ddb93617d153510cc6868be7f04409eac47f66f91d4d0b9400bb7aca0eb1
-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-0.11.2.ebuild b/dev-python/doc8/doc8-0.11.2.ebuild
deleted file mode 100644
index 7b24f1a2ba35..000000000000
--- a/dev-python/doc8/doc8-0.11.2.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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.0.0.ebuild b/dev-python/doc8/doc8-1.0.0.ebuild
deleted file mode 100644
index 9e86c190ebaa..000000000000
--- a/dev-python/doc8/doc8-1.0.0.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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
new file mode 100644
index 000000000000..99524e85d3e3
--- /dev/null
+++ b/dev-python/doc8/doc8-1.1.1.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="Style checker for Sphinx (or other) RST documentation"
+HOMEPAGE="
+ https://pypi.org/project/doc8/
+ https://github.com/PyCQA/doc8/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+RDEPEND="
+ <dev-python/docutils-0.21[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/restructuredtext-lint-0.7[${PYTHON_USEDEP}]
+ dev-python/stevedore[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+"
+# setuptools_scm_git_archive is not actually needed here
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/doc8/metadata.xml b/dev-python/doc8/metadata.xml
index 408cd2180853..3f2228a46d56 100644
--- a/dev-python/doc8/metadata.xml
+++ b/dev-python/doc8/metadata.xml
@@ -11,6 +11,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">PyCQA/doc8</remote-id>
<remote-id type="pypi">doc8</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/docker-py/Manifest b/dev-python/docker-py/Manifest
deleted file mode 100644
index d17fbae67ae8..000000000000
--- a/dev-python/docker-py/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST docker-py-5.0.3.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 4432b12529f2..000000000000
--- a/dev-python/docker-py/docker-py-5.0.3.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
-
-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}.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 f62e56b8c076..000000000000
--- a/dev-python/dockerpty/dockerpty-0.4.1-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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 3a0b8150ed9e..49bbb06204ba 100644
--- a/dev-python/docopt/docopt-0.6.2-r5.ebuild
+++ b/dev-python/docopt/docopt-0.6.2-r5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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=( pypy3 python3_{8..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
new file mode 100644
index 000000000000..c4aaa545ad3f
--- /dev/null
+++ b/dev-python/docstring-to-markdown/Manifest
@@ -0,0 +1 @@
+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.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/docstring-to-markdown/metadata.xml b/dev-python/docstring-to-markdown/metadata.xml
new file mode 100644
index 000000000000..92f4b9150515
--- /dev/null
+++ b/dev-python/docstring-to-markdown/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">docstring-to-markdown</remote-id>
+ <remote-id type="github">python-lsp/docstring-to-markdown</remote-id>
+ </upstream>
+</pkgmetadata>
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 1880d40fc52b..000000000000
--- a/dev-python/doctest-ignore-unicode/doctest-ignore-unicode-0.1.2-r1.ebuild
+++ /dev/null
@@ -1,18 +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_{8..10} 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/Manifest b/dev-python/docutils-glep/Manifest
index 41eccb7267bc..2a8b170858d9 100644
--- a/dev-python/docutils-glep/Manifest
+++ b/dev-python/docutils-glep/Manifest
@@ -1,3 +1 @@
-DIST docutils-glep-1.3.gh.tar.gz 6719 BLAKE2B 55d0ac9632d3f3c65f149f444ccdbb24cb4aaad42766f2ef94c11877e3994301630fe2d3f7f3229ddcdb3950c28f2e095af7d0a6563329f588e732c196e7c430 SHA512 20d0fc1f97144a2566b62e40fae85b750e2c4bab50efee18f102f3d6cf7bffeb0d60a6c7e8feeb231afaeff309c4faea1c105fa26f8f4a6d140b5863abeda980
-DIST docutils-glep-1.4.gh.tar.gz 6758 BLAKE2B 92b519022df5d8ac90b7eae15a08e0f0738badcc7018d8d621f9789ddfa97a0ad3989a39b65068ebd1e5ad90b2ddcbd6c4e953de06562391b12eaefebd60dd7a SHA512 601da0d0f7c4fdb2976755c8ca57e07b55b8d87e99735378a3dd5b1b43099d0fe2bb8317265d23e61b536b907901e75a3b527e16125dfaf2ccb178452e411af3
-DIST docutils_glep-1.2.tar.gz 6771 BLAKE2B ecb17f69dd2edb12d81ea1bf90789564e86b921125c20913134500dd53ae04b0962141183cbcb9bd17af904196ead2228e4c80a6e256576b715ae6323afadc30 SHA512 696412447120893c198dcd9f13e042d20b35465e83ef8b488ee2f1c184b5fd3928ddbf10ed4e78886c4c72dfe1f9fa46c1f75c7997990afcc04353b5d59ebf9f
+DIST docutils-glep-1.5.gh.tar.gz 6826 BLAKE2B 09decf04f7978c86a2f7161ebfd858f6ff59450d8a22d22963fdea36bb595615337b2c7a565794d86128764512b6e3dda3a7db7124905c74c186513965117da3 SHA512 2d740b02a46265e27b3d0b82a8424bd66f875fdc3f9fb6c1596522e2924bb6484e028ad060af62e4f5747b4046fe850e3d7fdcc48e4bd0bf1c6e2851599dbbc8
diff --git a/dev-python/docutils-glep/docutils-glep-1.2.ebuild b/dev-python/docutils-glep/docutils-glep-1.2.ebuild
deleted file mode 100644
index 1a6db5aa1b22..000000000000
--- a/dev-python/docutils-glep/docutils-glep-1.2.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-MY_PN=${PN/-/_}
-MY_P=${MY_PN}-${PV}
-DESCRIPTION="Gentoo GLEP support for docutils"
-HOMEPAGE="https://github.com/mgorny/docutils-glep/"
-SRC_URI="mirror://pypi/${MY_PN::1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-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"
-
-RDEPEND=">=dev-python/docutils-0.10[${PYTHON_USEDEP}]"
diff --git a/dev-python/docutils-glep/docutils-glep-1.3.ebuild b/dev-python/docutils-glep/docutils-glep-1.3.ebuild
deleted file mode 100644
index 7901094e4045..000000000000
--- a/dev-python/docutils-glep/docutils-glep-1.3.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Gentoo GLEP support for docutils"
-HOMEPAGE="
- https://github.com/mgorny/docutils-glep/
- https://pypi.org/project/docutils-glep/
-"
-SRC_URI="
- https://github.com/mgorny/docutils-glep/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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"
-
-RDEPEND="
- >=dev-python/docutils-0.10[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/docutils-glep/docutils-glep-1.4.ebuild b/dev-python/docutils-glep/docutils-glep-1.4.ebuild
deleted file mode 100644
index 55b62ed77009..000000000000
--- a/dev-python/docutils-glep/docutils-glep-1.4.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Gentoo GLEP support for docutils"
-HOMEPAGE="
- https://github.com/mgorny/docutils-glep/
- https://pypi.org/project/docutils-glep/
-"
-SRC_URI="
- https://github.com/mgorny/docutils-glep/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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"
-
-RDEPEND="
- >=dev-python/docutils-0.10[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/docutils-glep/docutils-glep-1.5.ebuild b/dev-python/docutils-glep/docutils-glep-1.5.ebuild
new file mode 100644
index 000000000000..6184a8bd712d
--- /dev/null
+++ b/dev-python/docutils-glep/docutils-glep-1.5.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} )
+
+inherit distutils-r1
+
+DESCRIPTION="Gentoo GLEP support for docutils"
+HOMEPAGE="
+ https://github.com/projg2/docutils-glep/
+ https://pypi.org/project/docutils-glep/
+"
+SRC_URI="
+ https://github.com/projg2/docutils-glep/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+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 ~x64-solaris"
+
+RDEPEND="
+ >=dev-python/docutils-0.10[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/docutils-glep/metadata.xml b/dev-python/docutils-glep/metadata.xml
index b872383abcc6..94b33f067517 100644
--- a/dev-python/docutils-glep/metadata.xml
+++ b/dev-python/docutils-glep/metadata.xml
@@ -11,7 +11,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="github">mgorny/docutils-glep</remote-id>
+ <remote-id type="github">projg2/docutils-glep</remote-id>
<remote-id type="pypi">docutils-glep</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/docutils/Manifest b/dev-python/docutils/Manifest
index db3f34cd45fc..79539f23b096 100644
--- a/dev-python/docutils/Manifest
+++ b/dev-python/docutils/Manifest
@@ -1,3 +1,4 @@
-DIST docutils-0.17.1.tar.gz 2016138 BLAKE2B aa0b6525ba2e3eaebc17010806952ed5f40919876fcb813f50cc05b628dfd22e6073a9a4b2bfe989089ae68d9b7111ae3a97dda2bde5c0536f8fb76c0942fe29 SHA512 5ec2087116bd5356fdffc54f07f6b0355aac5fa9d6caeefa77e8d201fd4706c0d419193c4d9a3964ae493da3091fe2c7dc36b74f81a1e1b9282173658b06e71b
-DIST docutils-0.18.1.tar.gz 2043249 BLAKE2B 3959199236baade9601d61c3f6d7b6f840fbefdd46d9ea05869fde2cd2c800356a01faba891f51e220c85e66f3029f49f616f2046b85041b674c64825a4242ec SHA512 44404a6cc9d4c1e79c73a6ffee2898e459c9925ab9661e5d41394e13b3d861334cf0c5efcd18e87eb03041374e326cfd00539a6b2ec5979678889e8a536c9542
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
+DIST docutils-0.21.2.tar.gz 2204444 BLAKE2B 727c2f97fc5835a0ffa62e38ea85af366cd89ad1eaec0b8af8b1f3b12e6cddfddb65161ba34f9109952d37ba2cf8985f3c3b6905ebb2ac1c9a984cce3fb4d170 SHA512 7fafa331f5687448e80d299c20cdccc4b49819fa471b5f586bf0ab18c694ba43a70f58e7c76b0a70a16267585548389214e11a4998ad7fdc19a27f0f7644539c
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 388cb8be2276..000000000000
--- a/dev-python/docutils/docutils-0.17.1-r1.ebuild
+++ /dev/null
@@ -1,77 +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_{8..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.18.1-r1.ebuild b/dev-python/docutils/docutils-0.18.1-r1.ebuild
deleted file mode 100644
index d916deb851d3..000000000000
--- a/dev-python/docutils/docutils-0.18.1-r1.ebuild
+++ /dev/null
@@ -1,77 +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_{8..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}/${P}-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 c348d6c56be1..1bbeb19e0cb4 100644
--- a/dev-python/docutils/docutils-0.19.ebuild
+++ b/dev-python/docutils/docutils-0.19.ebuild
@@ -1,23 +1,22 @@
-# 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_{8..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/docutils-0.21.2.ebuild b/dev-python/docutils/docutils-0.21.2.ebuild
new file mode 100644
index 000000000000..73aedd897616
--- /dev/null
+++ b/dev-python/docutils/docutils-0.21.2.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..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}
+"
+
+python_compile_all() {
+ # Generate html docs from reStructured text sources.
+
+ # Place html4css1.css in base directory to ensure that the generated reference to it is correct.
+ cp docutils/writers/html4css1/html4css1.css . || die
+
+ cd tools || die
+ "${EPYTHON}" buildhtml.py --input-encoding=utf-8 --no-datestamp \
+ --stylesheet-path=../html4css1.css, --traceback ../docs || die
+}
+
+src_test() {
+ cd test || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ "${EPYTHON}" alltests.py -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Install tools.
+ python_doscript tools/buildhtml.py
+}
+
+install_txt_doc() {
+ local doc="${1}"
+ local dir="txt/$(dirname ${doc})"
+ docinto "${dir}"
+ dodoc "${doc}"
+}
+
+python_install_all() {
+ local DOCS=( *.txt )
+ local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css )
+
+ distutils-r1_python_install_all
+
+ local doc
+ while IFS= read -r -d '' doc; do
+ install_txt_doc "${doc}"
+ done < <(find docs tools -name '*.txt' -print0)
+}
+
+pkg_postinst() {
+ optfeature \
+ "auto-detecting the image dimensions when using the 'scale' option" \
+ dev-python/pillow
+}
diff --git a/dev-python/docutils/files/docutils-0.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 9f11695e5ffc..73f153568eb4 100644
--- a/dev-python/dogpile-cache/Manifest
+++ b/dev-python/dogpile-cache/Manifest
@@ -1,2 +1,2 @@
-DIST dogpile.cache-1.1.6.tar.gz 393076 BLAKE2B 62c16ee7cc00608432d45fa7cb068300a4417a494e4580a2af5c3f7c5a0bf40a54e1b6f4924bbd7b40a0efc1cb9afb42f361811c257fa77eabcd64cc35fbcf51 SHA512 179246abf598675cdef988b463df4997c7eed8e7a110c22704052f905b65ad537b22ba28d7c96a28b2aa85b3e83ac42beb36843dc78ad503d41225ea1f9e7e77
-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
+DIST dogpile.cache-1.3.3.tar.gz 272404 BLAKE2B 1d28bf4293d4cbf8c5a97926458f92dc619a010f0f2fbb8242a2a6daff4ac09ec2f76faca7ee3e622d30a9b1adc7ca01d14cab0ebd5f05e0e35c5df32646be21 SHA512 80809d072167c62dcc731ab5b265c54bcc6f6a1dc09e3ea88959a34823dc0bb776b61166b8e60812dd47c38e8f23ba55c2be173d600a10c4c400c1334d0339fb
diff --git a/dev-python/dogpile-cache/dogpile-cache-1.1.6.ebuild b/dev-python/dogpile-cache/dogpile-cache-1.1.6.ebuild
deleted file mode 100644
index 945f0f2ad5a4..000000000000
--- a/dev-python/dogpile-cache/dogpile-cache-1.1.6.ebuild
+++ /dev/null
@@ -1,30 +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_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="A locking API for expiring values while a single thread generates a new value"
-HOMEPAGE="https://github.com/sqlalchemy/dogpile.cache"
-SRC_URI="mirror://pypi/${PN:0:1}/dogpile.cache/dogpile.cache-${PV}.tar.gz"
-S="${WORKDIR}/dogpile.cache-${PV}"
-
-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/mock[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
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 c1124b64178f..000000000000
--- a/dev-python/dogpile-cache/dogpile-cache-1.1.8.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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/dogpile-cache/dogpile-cache-1.3.3.ebuild b/dev-python/dogpile-cache/dogpile-cache-1.3.3.ebuild
new file mode 100644
index 000000000000..dcdf789c5f6f
--- /dev/null
+++ b/dev-python/dogpile-cache/dogpile-cache-1.3.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..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 2f1406248bfa..000000000000
--- a/dev-python/doit-py/doit-py-0.5.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 a4f3e2c3c9d9..000000000000
--- a/dev-python/doit/doit-0.36.0.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 295e41e36abb..3f68dcdaea0a 100644
--- a/dev-python/dominate/Manifest
+++ b/dev-python/dominate/Manifest
@@ -1,2 +1 @@
-DIST dominate-2.6.0.tar.gz 35034 BLAKE2B f3a7aba630e925874da7387a1eed7ca15c353cb6464971d73e86eb259cbabad8b7736a0240d5c1578f84dc828f1ad6cd2e404c323dab9c0305031115e450944e SHA512 1bb690d05a290753cabac045160500717eda8c7610ce88d2b88a490abaa64b2cdb07067c433fa6a27110ec6cb67d884d335663217391e61215ac8eb30003d8e6
-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.6.0-r1.ebuild b/dev-python/dominate/dominate-2.6.0-r1.ebuild
deleted file mode 100644
index 92a60838c140..000000000000
--- a/dev-python/dominate/dominate-2.6.0-r1.ebuild
+++ /dev/null
@@ -1,19 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Library for creating and manipulating HTML documents using an elegant DOM API"
-HOMEPAGE="https://github.com/Knio/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.7.0.ebuild b/dev-python/dominate/dominate-2.7.0.ebuild
deleted file mode 100644
index f58f231f6f4e..000000000000
--- a/dev-python/dominate/dominate-2.7.0.ebuild
+++ /dev/null
@@ -1,22 +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_{8..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 b134e0bb7981..000000000000
--- a/dev-python/doublex-expects/doublex-expects-0.7.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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 dde8d63ce05d..000000000000
--- a/dev-python/doublex/doublex-1.9.2-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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 ad8014870d45..000000000000
--- a/dev-python/duecredit/duecredit-0.9.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 f803db8b211c..2a5990124616 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -1,2 +1 @@
-DIST dulwich-0.20.44.tar.gz 425226 BLAKE2B ba120c682b0fd298a9f17eec524ffdd92af9024e30d0b8c52accda3ef8a1d4876b483e8aaa5f12b4beb73a6c1719ed4504c52396cd355244ab688ceab551faaf SHA512 124a3ae89abf5df9e192919f916012be67112195fc7cfd7c30e814a04d93749a3dc396e12f2d8df1456b113a24cdd1b2f3a1f2733864d5cfad22431a987c25fb
-DIST dulwich-0.20.45.tar.gz 424373 BLAKE2B 4eb6731312bd8bb45d35efdc1e640dd2cfb118b633de461c4f9ffa2a9e50258bada2c77b4d4bf2e72bc9947f143f89fd720e4e9411f0f84d67ab208f39f7b4b8 SHA512 5b7217fac88a84591e42db2cd3c812a0aae6482221e1da9474df9b3fd968a80b653353fec804103f36a29f0f96e650267f124575a260dd082a3106de5f13fc7b
+DIST dulwich-0.21.7.tar.gz 448028 BLAKE2B 8ceace901ce4b444d6f40f7071b7a95a04d27a63b9076fd82c97b7fb551dd769c38940d0ec42ebfd6592154df912139f0ca58801ba2fa0ef412d6a749253500a SHA512 56ddf8db21088b264623c568f28caa80d8687d26e5127093daaa4d556b0f49218ac51491a47ced00e9af073bd7ca05b2eb8b29d64aae8b93dd4bd47ca67ee443
diff --git a/dev-python/dulwich/dulwich-0.20.44.ebuild b/dev-python/dulwich/dulwich-0.20.44.ebuild
deleted file mode 100644
index 8d39b956a1f3..000000000000
--- a/dev-python/dulwich/dulwich-0.20.44.ebuild
+++ /dev/null
@@ -1,59 +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_{8..10} )
-
-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}
- !hppa? ( !ia64? ( !s390? (
- dev-python/gevent[${PYTHON_USEDEP}]
- dev-python/geventhttpclient[${PYTHON_USEDEP}]
- ) ) )
- 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.20.45.ebuild b/dev-python/dulwich/dulwich-0.20.45.ebuild
deleted file mode 100644
index 95effa84bf17..000000000000
--- a/dev-python/dulwich/dulwich-0.20.45.ebuild
+++ /dev/null
@@ -1,59 +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_{8..10} )
-
-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}
- !hppa? ( !ia64? ( !s390? (
- dev-python/gevent[${PYTHON_USEDEP}]
- dev-python/geventhttpclient[${PYTHON_USEDEP}]
- ) ) )
- 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/Manifest b/dev-python/easy-thumbnails/Manifest
index 9a4d91fab958..24591c2dabe6 100644
--- a/dev-python/easy-thumbnails/Manifest
+++ b/dev-python/easy-thumbnails/Manifest
@@ -1,3 +1 @@
-DIST easy-thumbnails-2.8.1.tar.gz 76527 BLAKE2B 1db0b229c90546e162d9691c768d09133218604cb27a4472b017d286f776e2898be232f3b0750e8b833a2746111d22da732c981a8a72986611b0fcf8c0f41ad9 SHA512 26ab9d41d7fa6adbec1cf78b92371e70bf44d20bf2f164016551d6d1bcbcbb190550ecbd8f177e83f3ee677fb3d921e0a411b49fe4d85202b70b6f441d43d247
-DIST easy-thumbnails-2.8.2.tar.gz 77482 BLAKE2B 5331c4ba9c729f70455dfa321c0027bfd6fbaa0c4d439d44789cb95d011b550ec4999eafe552c41dd4ea9657f5e4394322f50d8ddb30d5e2736a70e86ffa24e1 SHA512 1399a27300cb8bfb3ad74e2c3f2b52dd767913e3a1cf095374a4d1b8fdf2da8dd75d4ec8033e2fb9151ab680ec8439d90a778c6da7ef57d918a43c702299f216
-DIST easy-thumbnails-2.8.3.tar.gz 76935 BLAKE2B 33cbbd80e322ac9e417a4e06001c9f2429cb51d1812b65eb70c0f96b1906b474c36593290493cff1e4c6b7c1b0c8097cc2f05f4a2c8d61097dbc4e3d2c12a13a SHA512 953f7eea9ec99213439a8f645c1b70618f7655d2ee417596d6dc9e6eeb797fdb4b87fe7380098dc4682934759acbd6f63cd44b19b3fed5ded5b86eea0bdcd0d4
+DIST easy-thumbnails-2.8.5.tar.gz 77401 BLAKE2B 625e01a5bf0af7a88dc965908c7e499bd57bc0860aad663e3dc341060d485885572dfb2b971499080659757eecd01bd3a479d3c2bc8b2bfdbf3ef79a4f1a7255 SHA512 0a659eb2a6067e2e2fa825a3c304ea57bf102902c92c662c6b38f6fc7b4a17883144aea10c67a3d6321c3911e6d5dd2633345d4f180f7f7854b3985772ad0273
diff --git a/dev-python/easy-thumbnails/easy-thumbnails-2.8.1.ebuild b/dev-python/easy-thumbnails/easy-thumbnails-2.8.1.ebuild
deleted file mode 100644
index 72d06876dd84..000000000000
--- a/dev-python/easy-thumbnails/easy-thumbnails-2.8.1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Easy thumbnails for Django"
-HOMEPAGE="https://pypi.org/project/easy-thumbnails/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-KEYWORDS="~amd64 ~x86"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-2.2[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/reportlab[${PYTHON_USEDEP}]
- dev-python/svglib[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- ${RDEPEND}
- dev-python/testfixtures[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- local -x DJANGO_SETTINGS_MODULE=easy_thumbnails.tests.settings
- local -x PYTHONPATH="${S}"
- django-admin test -v 2 || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/easy-thumbnails/easy-thumbnails-2.8.2.ebuild b/dev-python/easy-thumbnails/easy-thumbnails-2.8.2.ebuild
deleted file mode 100644
index 78a731d7c2a0..000000000000
--- a/dev-python/easy-thumbnails/easy-thumbnails-2.8.2.ebuild
+++ /dev/null
@@ -1,46 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Easy thumbnails for Django"
-HOMEPAGE="
- https://pypi.org/project/easy-thumbnails/
- https://github.com/SmileyChris/easy-thumbnails/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-KEYWORDS="~amd64 ~x86"
-SLOT="0"
-IUSE="svg test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-2.2[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- svg? (
- dev-python/reportlab[${PYTHON_USEDEP}]
- dev-python/svglib[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- ${RDEPEND}
- dev-python/reportlab[${PYTHON_USEDEP}]
- dev-python/svglib[${PYTHON_USEDEP}]
- dev-python/testfixtures[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- local -x DJANGO_SETTINGS_MODULE=easy_thumbnails.tests.settings
- local -x PYTHONPATH="${S}"
- django-admin test -v 2 || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/easy-thumbnails/easy-thumbnails-2.8.3.ebuild b/dev-python/easy-thumbnails/easy-thumbnails-2.8.3.ebuild
deleted file mode 100644
index 78a731d7c2a0..000000000000
--- a/dev-python/easy-thumbnails/easy-thumbnails-2.8.3.ebuild
+++ /dev/null
@@ -1,46 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Easy thumbnails for Django"
-HOMEPAGE="
- https://pypi.org/project/easy-thumbnails/
- https://github.com/SmileyChris/easy-thumbnails/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-KEYWORDS="~amd64 ~x86"
-SLOT="0"
-IUSE="svg test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-2.2[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- svg? (
- dev-python/reportlab[${PYTHON_USEDEP}]
- dev-python/svglib[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- ${RDEPEND}
- dev-python/reportlab[${PYTHON_USEDEP}]
- dev-python/svglib[${PYTHON_USEDEP}]
- dev-python/testfixtures[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- local -x DJANGO_SETTINGS_MODULE=easy_thumbnails.tests.settings
- local -x PYTHONPATH="${S}"
- django-admin test -v 2 || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/easy-thumbnails/easy-thumbnails-2.8.5.ebuild b/dev-python/easy-thumbnails/easy-thumbnails-2.8.5.ebuild
new file mode 100644
index 000000000000..3b2b01b63038
--- /dev/null
+++ b/dev-python/easy-thumbnails/easy-thumbnails-2.8.5.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
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Easy thumbnails for Django"
+HOMEPAGE="
+ https://github.com/SmileyChris/easy-thumbnails/
+ https://pypi.org/project/easy-thumbnails/
+"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="svg test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-2.2[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ svg? (
+ dev-python/reportlab[${PYTHON_USEDEP}]
+ dev-python/svglib[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ dev-python/reportlab[${PYTHON_USEDEP}]
+ dev-python/svglib[${PYTHON_USEDEP}]
+ dev-python/testfixtures[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE=easy_thumbnails.tests.settings
+ local -x PYTHONPATH="${S}"
+ django-admin test -v 2 || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/easy-thumbnails/metadata.xml b/dev-python/easy-thumbnails/metadata.xml
index 3b3cc5a5ace0..62b0f5265dbf 100644
--- a/dev-python/easy-thumbnails/metadata.xml
+++ b/dev-python/easy-thumbnails/metadata.xml
@@ -6,6 +6,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">SmileyChris/easy-thumbnails</remote-id>
<remote-id type="pypi">easy-thumbnails</remote-id>
</upstream>
</pkgmetadata>
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 01a9c5b5b013..2661c95b3b24 100644
--- a/dev-python/easyprocess/easyprocess-1.1-r1.ebuild
+++ b/dev-python/easyprocess/easyprocess-1.1-r1.ebuild
@@ -1,20 +1,27 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..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 ~arm64 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 412493463bd7..4e770d68011a 100644
--- a/dev-python/ecdsa/Manifest
+++ b/dev-python/ecdsa/Manifest
@@ -1,2 +1 @@
-DIST ecdsa-0.17.0.tar.gz 158486 BLAKE2B 45a27aaf362853bd39052a78a7f86b6d2fd220c165724b088cc5285977013b354f5373bcf8295258e9121da2fe6a4b79625afbc097cca756c688afbd542f647c SHA512 23acf993ce4f7f832674a3b70ab870c20172816e27adc836d4c6a876e72a488a830895d63ab6af67cc7cbc83c71f7097d0d530bf67d24c84e69e9fa87031f6fd
-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.17.0.ebuild b/dev-python/ecdsa/ecdsa-0.17.0.ebuild
deleted file mode 100644
index 27229ea8df64..000000000000
--- a/dev-python/ecdsa/ecdsa-0.17.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="ECDSA cryptographic signature library in pure Python"
-HOMEPAGE="https://github.com/tlsfuzzer/python-ecdsa/"
-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 ~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}]
- dev-python/pluggy[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
diff --git a/dev-python/ecdsa/ecdsa-0.18.0.ebuild b/dev-python/ecdsa/ecdsa-0.18.0.ebuild
deleted file mode 100644
index 3920d4122ee6..000000000000
--- a/dev-python/ecdsa/ecdsa-0.18.0.ebuild
+++ /dev/null
@@ -1,34 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-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"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos ~x64-macos"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/gmpy[${PYTHON_USEDEP}]
- ' 'python*')
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/ecdsa/ecdsa-0.19.0.ebuild b/dev-python/ecdsa/ecdsa-0.19.0.ebuild
new file mode 100644
index 000000000000..a07d766d6256
--- /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 74f78fae3d13..000000000000
--- a/dev-python/editables/editables-0.3.ebuild
+++ /dev/null
@@ -1,25 +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=( pypy3 python3_{8..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..52cf46aee0df
--- /dev/null
+++ b/dev-python/editables/editables-0.5.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+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 33ce2edc0308..000000000000
--- a/dev-python/editorconfig-core-py/editorconfig-core-py-0.12.3-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 92dc576a65e2..000000000000
--- a/dev-python/elasticsearch-py/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST elasticsearch-7.14.1-no-jdk-linux-x86_64.tar.gz 191559419 BLAKE2B c4099d2e7a121b47549b44c081f60cd966a371a01827aa19380d171619cb6ef6f30fd411f75de00d41c6a93df2c899ac9dbc5cf2bf2264d7885ace6a61cf55c3 SHA512 77dca78ba865ae74863b3b2a3cd61e8a8e4478cd02eb020184dbf89fa32cf145a6bbd1d11a1cb88c2236a3b8cdb8b0047e3c0f1a40f609f31b898c905b2c211d
-DIST elasticsearch-py-7.14.1.tar.gz 302277 BLAKE2B a4502edbaf1dbca9c687a32f012305fee7520555dd23f05888fcb8b82e2a9ffa3f9c5208320eca4ea8033498cd0a951003b94662b6847da664f302b8c2763004 SHA512 49b4e0cddc210e0d73cb7cb28f38dae4fd0595e22733cf017c41f50731479a1a3672307a119b067a0b5c1de3a138908e337145effd2b66bf930c2d439cd2ce0b
diff --git a/dev-python/elasticsearch-py/elasticsearch-py-7.14.1.ebuild b/dev-python/elasticsearch-py/elasticsearch-py-7.14.1.ebuild
deleted file mode 100644
index 5221509155fb..000000000000
--- a/dev-python/elasticsearch-py/elasticsearch-py-7.14.1.ebuild
+++ /dev/null
@@ -1,186 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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}.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 test"
-
-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}]
- )"
-DEPEND="
- test? (
- ${RDEPEND}
- >=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
-
- if use test; then
- 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 <<EOF > "${ES_DIR}/config/elasticsearch.yml" || 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
- 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 )
- export EPYTEST_DESELECT
- fi
-}
-
-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
-
- # start local instance of elasticsearch
- "${ES_DIR}"/bin/elasticsearch -d -p "${pid}" -Ecluster.name=${es_instance}-${EPYTHON} -Epath.repo=${es_temp}|| die
-
- local i
- local 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"
- eend 1
- 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..19097361c810
--- /dev/null
+++ b/dev-python/elasticsearch/Manifest
@@ -0,0 +1,2 @@
+DIST elasticsearch-py-8.13.0.gh.tar.gz 1052777 BLAKE2B 90d6677fe40a635f33e37b4da90c0d8c6d3cde10a815932ee91b5e411162322edc22d13fe231b5d514f350a2b448ce1722e75426b5b5e08b711f3193d2963453 SHA512 fee1ba95d65be424f4ffeb65898bbafd5860358864d9706c82be663139e4543bce54c57bb21188c5ab6cdf5e15323cb1698bfb17715a7be38f844d3781840c97
+DIST elasticsearch-py-8.13.1.gh.tar.gz 1074911 BLAKE2B 4ba5f728690274ab074fa17993c59fb41d4493bc05b69d4281db56c274ddd522124c96046248bdecf7fc362e624853d7a31fac0a12d952faf0e38296d62c89c9 SHA512 ab5b3b67e70588c31a2b62fe03dd5aa0320da36b4a669986207db5982fabfb8fa800d181be958505bb264a9fb72ab33a9d5167779300e93d0874e9105e990891
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/elasticsearch-8.13.1.ebuild b/dev-python/elasticsearch/elasticsearch-8.13.1.ebuild
new file mode 100644
index 000000000000..386e158ec30f
--- /dev/null
+++ b/dev-python/elasticsearch/elasticsearch-8.13.1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+MY_P="elasticsearch-py-${PV}"
+DESCRIPTION="Official Elasticsearch client library for Python"
+HOMEPAGE="
+ https://ela.st/es-python
+ https://github.com/elastic/elasticsearch-py/
+ https://pypi.org/project/elasticsearch/
+"
+SRC_URI="
+ https://github.com/elastic/elasticsearch-py/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/aiohttp-4[${PYTHON_USEDEP}]
+ >=dev-python/aiohttp-3[${PYTHON_USEDEP}]
+ <dev-python/elastic-transport-9[${PYTHON_USEDEP}]
+ >=dev-python/elastic-transport-8.13[${PYTHON_USEDEP}]
+ >=dev-python/orjson-3[${PYTHON_USEDEP}]
+ <dev-python/requests-3[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/mapbox-vector-tile[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/opentelemetry-api[${PYTHON_USEDEP}]
+ dev-python/opentelemetry-sdk[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ dev-python/unasync[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/sphinx \
+ dev-python/sphinx-autodoc-typehints \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+src_prepare() {
+ # https://github.com/elastic/elasticsearch-py/pull/2552/
+ sed -i -e '/float_/d' elasticsearch/serializer.py \
+ test_elasticsearch/test_serializer.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # REST api tests are a black hole for effort. It downloads the tests
+ # so its an ever moving target. It also requires effort to blacklist
+ # tests for apis which are license restricted.
+ "test_elasticsearch/test_server/test_rest_api_spec.py"
+ # Counting deprecation warnings from python is bound to fail even
+ # if all are fixed in this package. Not worth it.
+ "test_elasticsearch/test_client/test_deprecated_options.py"
+ # Running daemon for tests is finicky and upstream CI fails at it
+ # as well.
+ "test_elasticsearch/test_server/"
+ "test_elasticsearch/test_async/test_server/"
+ )
+
+ local -x TEST_WITH_OTEL=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -p asyncio
+}
diff --git a/dev-python/elasticsearch/metadata.xml b/dev-python/elasticsearch/metadata.xml
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 827a5040fbf7..b87441466f5a 100644
--- a/dev-python/elementpath/Manifest
+++ b/dev-python/elementpath/Manifest
@@ -1,3 +1 @@
-DIST elementpath-2.5.3.gh.tar.gz 264387 BLAKE2B a0904e95675570783f2f8bf854490a3f424d6ce0fa85e3c2030483e9c31af4a5eaaf727db6423e17a402f55e7d42b0625a5183b543f886ec8b12426eb0e57a57 SHA512 da561446ac3a059c60480084648ebc1190d0ec1dc495dfa128dc2598d5762ae1067f39be36fc6bca466e6785aae80edf6dc1415a2885bfbb2d54b97ca6611572
-DIST elementpath-3.0.0.gh.tar.gz 271802 BLAKE2B c766ab1654b89b6a1b09ed7273a65aa25bcad0e8f8188c50d2f85d852672ac650b6cee3411839f915b0fe46915bbe6c17269f0218f0de27b51e4bd48b9218c20 SHA512 171d5e19e3efeb0b80cd1dcca7a0604fff2a87a52db4570d2182ff155aaef5074517d1ee89992ea1937746481a10fdd62f317672fa7ad5014e64dc73fc39ffaf
-DIST elementpath-3.0.1.gh.tar.gz 272163 BLAKE2B dc3b46e9c01af57f6456b71062cc38cab1fb73aa3d272907b96a7144c8329a3b6925b804d7929662e083ec7f50889eb488f075a4155bb934939d6750aae29901 SHA512 bac73a3c9051fe556e47e0ac530fe45e7a66fb66c8fe51fc12d36d9f4f87d62ca28662bdafbdae68b867048fcb8a51d312b5294328f4df259d7d4d63ca35af4d
+DIST elementpath-4.4.0.tar.gz 330008 BLAKE2B 059b67c246052676b9514808dedad3b7dfa21a6e9291a52c9a56abb2d51e12fdf1271cd70978c83f861f76fc6d02a6b73180df7fb2e36a9c443ff344d13eb127 SHA512 ffa91ff55f893efed50620a0eae97dd0360f9eb80f264bd421a26215fe8fbcea715c1635465be3169c4d2be503a875f469b8507d12f8d44cb64f398accfd2750
diff --git a/dev-python/elementpath/elementpath-2.5.3.ebuild b/dev-python/elementpath/elementpath-2.5.3.ebuild
deleted file mode 100644
index b2549ad77f12..000000000000
--- a/dev-python/elementpath/elementpath-2.5.3.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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-3.0.0.ebuild b/dev-python/elementpath/elementpath-3.0.0.ebuild
deleted file mode 100644
index 44481bdc806a..000000000000
--- a/dev-python/elementpath/elementpath-3.0.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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-3.0.1.ebuild b/dev-python/elementpath/elementpath-3.0.1.ebuild
deleted file mode 100644
index 44481bdc806a..000000000000
--- a/dev-python/elementpath/elementpath-3.0.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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 eeeea580fa93..9bed9eb8fc10 100644
--- a/dev-python/emcee/Manifest
+++ b/dev-python/emcee/Manifest
@@ -1 +1,3 @@
-DIST emcee-3.1.2.tar.gz 2868985 BLAKE2B 8da142b7be3d4c5f2ab93081d27d7105e312f2ca9702c0f57b8aaf6cf98e4dfae141fc24342bb9c30049d4de747b4d744f689dbb1be780519c426ef343d73485 SHA512 11e4e6f90a3f039c8459963217d0699a953f23aff2ffc67e7da3696926dcf915fdb1f4bd3781b88cbab6f664c38cec50b3470316aa6ec49b0e617218e2a7b95d
+DIST emcee-3.1.4.tar.gz 2869179 BLAKE2B 19e93a154a7c9f8c43389681b7318ff6e79aea8588af10bf86d63bdee51551c538ad8850b82c1233f656a45bbbd344655aad01ed93ddb30337ad49b6bfed8b46 SHA512 23f3945571bc4346c90026f9c675cb72a5cf173294eafd5bf02dc8572cfea63de3260ade91cb9360e420969f2a939fa8ac55961e808c55900fef903be357facf
+DIST emcee-3.1.5.tar.gz 2870972 BLAKE2B 49ddd0a41a61f33573f1b1e0b198306567e097b86153392fc0f874b3c7e728611fdfb2d45b8427c85208beb3c819ec174bdf5481005a3b17a4f5ea196a54ff3e SHA512 7cc6fe30ad472d4823b12c8bab50fa7d3aea49ca22d38479d77d90d357e715c0dadda7f96575291fbe05ff27962f8a180c49b6629ddb891b044db2719bd88610
+DIST emcee-3.1.6.tar.gz 2871117 BLAKE2B 07f1ff1af716f6ef3f3fe9091ec70f700bc9798da1609c13aa5718a4efb9d0e1e5e8c7e45d86fc3cd91b6faef348cfaa3ee402a1df825eb8ac3fdb6ab9a33bfa SHA512 4ea0a57c3c5e7a3c5976016c89ebddbe9a3e149615e48b39caed45d1b671e704ea0d3a765337c0b98a99fe4e74683c55b9ad5861bee59a09a6f0c756fcadfe51
diff --git a/dev-python/emcee/emcee-3.1.2.ebuild b/dev-python/emcee/emcee-3.1.2.ebuild
deleted file mode 100644
index 04c0d4155eb3..000000000000
--- a/dev-python/emcee/emcee-3.1.2.ebuild
+++ /dev/null
@@ -1,45 +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_{8..10} )
-
-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
new file mode 100644
index 000000000000..d90034e8e56b
--- /dev/null
+++ b/dev-python/emcee/emcee-3.1.4.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 multiprocessing pypi
+
+DESCRIPTION="Python ensemble sampling toolkit for affine-invariant MCMC"
+HOMEPAGE="
+ https://emcee.readthedocs.io/en/stable/
+ https://github.com/dfm/emcee/
+ https://pypi.org/project/emcee/
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( AUTHORS.rst README.rst )
+
+src_prepare() {
+ # unnecessary dep
+ sed -i -e '/wheel/d' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/emcee/emcee-3.1.5.ebuild b/dev-python/emcee/emcee-3.1.5.ebuild
new file mode 100644
index 000000000000..4af1b70ed9fc
--- /dev/null
+++ b/dev-python/emcee/emcee-3.1.5.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Python ensemble sampling toolkit for affine-invariant MCMC"
+HOMEPAGE="
+ https://emcee.readthedocs.io/en/stable/
+ https://github.com/dfm/emcee/
+ https://pypi.org/project/emcee/
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( AUTHORS.rst README.rst )
+
+src_prepare() {
+ # unnecessary dep
+ sed -i -e '/wheel/d' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/emcee/emcee-3.1.6.ebuild b/dev-python/emcee/emcee-3.1.6.ebuild
new file mode 100644
index 000000000000..4af1b70ed9fc
--- /dev/null
+++ b/dev-python/emcee/emcee-3.1.6.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Python ensemble sampling toolkit for affine-invariant MCMC"
+HOMEPAGE="
+ https://emcee.readthedocs.io/en/stable/
+ https://github.com/dfm/emcee/
+ https://pypi.org/project/emcee/
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( AUTHORS.rst README.rst )
+
+src_prepare() {
+ # unnecessary dep
+ sed -i -e '/wheel/d' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/emcee/metadata.xml b/dev-python/emcee/metadata.xml
index c3638f37b6a6..57725d449c82 100644
--- a/dev-python/emcee/metadata.xml
+++ b/dev-python/emcee/metadata.xml
@@ -19,8 +19,9 @@
All of these modules are implemented as C extension modules based on
standard sparse and dense matrix libraries (UMFPACK/AMD, SuperLU,
BLAS/LAPACK) for maximum performance and robustness.
-</longdescription>
+ </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 5f20f083acb5..d59c4643cf95 100644
--- a/dev-python/emoji/Manifest
+++ b/dev-python/emoji/Manifest
@@ -1,2 +1,2 @@
-DIST emoji-1.7.0.gh.tar.gz 217487 BLAKE2B 8b78e73604769bb6d5d0882a44ae8d9b6ca9de0d5fe0d4b0077cbc4a89949d4ece578de19de5b2db18c6f630dfe0adb5d9554874ce382d5624d9cf95c024ebcc SHA512 837e97cb80c15e980329e25e9fe2960063bb59e410ceb564abf95b90f7f2251e37092b701524a5b14dd7c4bd530a08b69f77bc8e4b7e53c6b8c5898ec384fc5a
-DIST emoji-2.0.0.gh.tar.gz 245417 BLAKE2B 9c28a3ed0c9151930d1f37453eff6cdac1d4e5b0b6294a0c7eed2befe3884f3c54b88a20bcf62c1b5a37551607063bfd53cbd9d5b4d9b1a36b446e1815d64052 SHA512 5e33cfcf11d9d30453eeec55428d466a88c4332fc04bc185e6f2d00995e71f086771d1923a574905b6d3b46b7f8b675d0a6474526b45be6e6443b1ffdca007c8
+DIST emoji-2.11.0.gh.tar.gz 502049 BLAKE2B fe5ecfd85cbdf4812818538c601ae42e7fe50ab01da95af6f1a1f68cf11b9e4dfe8e66a191990f28bb92f5f21807c4fab80035488debe7cf90dedc6e132be189 SHA512 2b8263dcb84a73a54c17b63a878d2f6446b41742fd3148d0be6124acc176c97a6b5cdae72bd9bb22b7a384896a8f875f7dd6962cc5bd72700f9b7e5d568c7fd4
+DIST emoji-2.11.1.gh.tar.gz 502076 BLAKE2B 96ceee9822670ffafcd283535c1af89c7fa71f386ff62ed3417f9794298f5310aeebe75a71c5b11f00b0159cc1c4e111bd9b7701d704ce0b02ee98739c0eb3d4 SHA512 c200e3b143569ba6890b5c83721d9c8fbd76288e05e8d8dad02b853adc79fab5886a6a9606fd361430c9cd42689c24f05583bbe1c4aeff520fff4591aa443af5
diff --git a/dev-python/emoji/emoji-1.7.0.ebuild b/dev-python/emoji/emoji-1.7.0.ebuild
deleted file mode 100644
index e644f822de10..000000000000
--- a/dev-python/emoji/emoji-1.7.0.ebuild
+++ /dev/null
@@ -1,21 +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_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Emoji for Python"
-HOMEPAGE="https://github.com/carpedm20/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.0.0.ebuild b/dev-python/emoji/emoji-2.0.0.ebuild
deleted file mode 100644
index 20469a0482c6..000000000000
--- a/dev-python/emoji/emoji-2.0.0.ebuild
+++ /dev/null
@@ -1,25 +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_{8..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/emoji/emoji-2.11.0.ebuild b/dev-python/emoji/emoji-2.11.0.ebuild
new file mode 100644
index 000000000000..e71c124e54b5
--- /dev/null
+++ b/dev-python/emoji/emoji-2.11.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Emoji for Python"
+HOMEPAGE="
+ https://github.com/carpedm20/emoji/
+ https://pypi.org/project/emoji/
+"
+SRC_URI="
+ https://github.com/carpedm20/emoji/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/emoji/emoji-2.11.1.ebuild b/dev-python/emoji/emoji-2.11.1.ebuild
new file mode 100644
index 000000000000..e71c124e54b5
--- /dev/null
+++ b/dev-python/emoji/emoji-2.11.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Emoji for Python"
+HOMEPAGE="
+ https://github.com/carpedm20/emoji/
+ https://pypi.org/project/emoji/
+"
+SRC_URI="
+ https://github.com/carpedm20/emoji/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/empy/Manifest b/dev-python/empy/Manifest
deleted file mode 100644
index 251da5dae65f..000000000000
--- a/dev-python/empy/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST empy-3.3.4.tar.gz 138495 BLAKE2B 0040b26966d3d6c7911cc7957159084ddb610085affaa5cf214121fdb292c43b071df8990749e02c0c3ef46cba131188e0907b8ab7c28a0834498b505bec0a2e SHA512 5de8de26484468d180a2575bfc8302cb3d32004ed4d70768310b7564a9ed1bb880b8c1d862f419588b2b5baa8c3da8bc707eac41f3921e6136cc5bc3f47f1a3d
diff --git a/dev-python/empy/empy-3.3.4-r1.ebuild b/dev-python/empy/empy-3.3.4-r1.ebuild
deleted file mode 100644
index ba76d95d2b05..000000000000
--- a/dev-python/empy/empy-3.3.4-r1.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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 2cb4fa26d981..40e7e19b5be2 100644
--- a/dev-python/enrich/enrich-1.2.7-r1.ebuild
+++ b/dev-python/enrich/enrich-1.2.7-r1.ebuild
@@ -1,24 +1,38 @@
-# Copyright 2021-2022 Gentoo Authors
+# 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_{8..10} )
+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
new file mode 100644
index 000000000000..081d5679743c
--- /dev/null
+++ b/dev-python/ensurepip-pip/Manifest
@@ -0,0 +1 @@
+DIST pip-24.0-py3-none-any.whl 2110226 BLAKE2B 6a0c8c9796cd574ef1d709de40a8530a15e50158143e332b79e5ad3edceda6ce93c5ef4df49b169062598618dcc6967c2115ac2c10b05abf345318204f1eeffc SHA512 5d7462a584105bccaa9cf376f5a8c5827ead099c813c8af7392d478a4398f373d9e8cac7bbad2db51b335411ab966b21e119b1b1234c9a7ab70c6ddfc9306da6
diff --git a/dev-python/ensurepip-pip/ensurepip-pip-24.0.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-24.0.ebuild
new file mode 100644
index 000000000000..724559d6532a
--- /dev/null
+++ b/dev-python/ensurepip-pip/ensurepip-pip-24.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared pip wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/pip/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/ensurepip-pip/metadata.xml b/dev-python/ensurepip-pip/metadata.xml
new file mode 100644
index 000000000000..4bc0932869e1
--- /dev/null
+++ b/dev-python/ensurepip-pip/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">pip</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
new file mode 100644
index 000000000000..1c73e4e45870
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -0,0 +1,2 @@
+DIST setuptools-69.0.3-py3-none-any.whl 819530 BLAKE2B 6ecef64755181255d935e234f77db3a4a9ce6426621d5d95196f55820a6bd62ff6bd3efcbf2e66221501b0c7c5296a35f80d275c59a8075392a0e802ee6713f1 SHA512 20c68e4f279a133f33ac85885b2c7e05b68c8c2faf15c9bb251229a6668c5c6b54c4065c54a0b711dae36d7fd161d3dc34218c579e739a2b2c573b85ccc79820
+DIST setuptools-69.5.1-py3-none-any.whl 894566 BLAKE2B a9d24f51240fd528f87642e8765a4a72ae9e03e936acec3e26edd1c5b40127f00dee53db2dd171404778c2e2910d095b5de49e0af3d2f7a67d8edd52d16a0a45 SHA512 d212edd21ab99f50c2daf6080c68a3cc0eeed566f10e91f857e7eeb86513f33e9cde25b975db1030110c3b1714cfbfd4d3c9e2937b4a5ff2bb8971e605ecee85
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.5.1.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.5.1.ebuild
new file mode 100644
index 000000000000..6e384d8b8a5b
--- /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-setuptools/metadata.xml b/dev-python/ensurepip-setuptools/metadata.xml
new file mode 100644
index 000000000000..ac51c41b5f27
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/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">setuptools</remote-id>
+ </upstream>
+</pkgmetadata>
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/Manifest b/dev-python/ensurepip-wheels/Manifest
deleted file mode 100644
index 1ead5902c13a..000000000000
--- a/dev-python/ensurepip-wheels/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-DIST pip-22.2.1-py3-none-any.whl 2044666 BLAKE2B 702699d059273182f248acb48f6f6c9ec287e2edb3de2c84c05402b4fc82da23c14f76e2d3ed8cc1c281e3c8d8fd1a467963d3b9ab6fa384c16d5057fce1561d SHA512 dad2ce78544502a3ec4492a57acc5c1cf6f34ee1d3200a46cf19246f7eda701524d745237909b154317c3d6be6d4e61b086be9562d31d54b60268ca573692638
-DIST pip-22.2.2-py3-none-any.whl 2044706 BLAKE2B 254427e593e44d9f1ce48276fd40f214e8ca9d27b6c31b7a6ed5fa4566df6b1f723215c6a1766a534ce18174f2363c383dbff19368d1b89f1519a53bebd34215 SHA512 142d3144c14b692c645613d98bf35dd91193128d5e21b61a8a702548f1247fac662499d6e39b65c0aa9a0444d2d92983fd8c410439796626485a4e1be99a102f
-DIST setuptools-63.3.0-py3-none-any.whl 1228351 BLAKE2B 5a7a8d864b5fc992952a4c7f0230c3ebb6f33c7b4fc965ca8bfa4cf3b57948e8353f59074f7374e3d002866333d3ad5fd072ccd479f8470cbfcd14aa635efc54 SHA512 f2df66493fb9520b50e3e93560b17e5aa6f01e5fde27028a550249beb54f3ea6b2d8f0a2bcc57afaff193e38d5b217544c0623b254ac300652aed444abf06a14
-DIST setuptools-63.4.1-py3-none-any.whl 1228875 BLAKE2B 8f5a91764f509311f217d9cec6030c8318138d2d60bf8e8cf8ab0d7e9a9d578c1f644aaf30988846c4f22b962b10fa47c2e92cf63ffe0186acaf697c8eb96cc9 SHA512 c73f075f80a97d77906ed9acc1850ab4e458c1d4423a3f9a4b71bd677d7bd0e3ea291683942cd2cc9a91d454e905ea9732e169711c5218a8047997049e0c5536
-DIST setuptools-63.4.2-py3-none-any.whl 1230330 BLAKE2B 8190129907edb6a5a3607fc8caae995070d5740c849cd31510efa43271fddd58c5c21cb1d60a4647473b10ba90a6220e06db92413847cbf71e11e43571def2ab SHA512 8b2a56c840220c616a13ec19b424981b9767f4e39b98a3ba0b99904beb63f4d6d6c28ada37a25d482c1838063ccd09d260b12cc7d00aeca78b95cde49928211e
diff --git a/dev-python/ensurepip-wheels/ensurepip-wheels-100.ebuild b/dev-python/ensurepip-wheels/ensurepip-wheels-100.ebuild
new file mode 100644
index 000000000000..d532659ecef3
--- /dev/null
+++ b/dev-python/ensurepip-wheels/ensurepip-wheels-100.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Shared wheels for ensurepip Python module"
+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 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+"
diff --git a/dev-python/ensurepip-wheels/ensurepip-wheels-63.3.0.22.2.1.ebuild b/dev-python/ensurepip-wheels/ensurepip-wheels-63.3.0.22.2.1.ebuild
deleted file mode 100644
index 691136b4b5bb..000000000000
--- a/dev-python/ensurepip-wheels/ensurepip-wheels-63.3.0.22.2.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-SETUPTOOLS_WHL=setuptools-$(ver_cut 1-3)-py3-none-any.whl
-PIP_WHL=pip-$(ver_cut 4-)-py3-none-any.whl
-
-DESCRIPTION="Shared wheels for ensurepip Python module"
-HOMEPAGE="
- https://pypi.org/project/pip/
- https://pypi.org/project/setuptools/
-"
-SRC_URI="
- https://files.pythonhosted.org/packages/py3/p/pip/${PIP_WHL}
- https://files.pythonhosted.org/packages/py3/s/setuptools/${SETUPTOOLS_WHL}
-"
-S=${DISTDIR}
-
-# combined license of setuptools and pip (with its bundled deps)
-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"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${PIP_WHL}" "${SETUPTOOLS_WHL}"
-}
diff --git a/dev-python/ensurepip-wheels/ensurepip-wheels-63.4.1.22.2.2.ebuild b/dev-python/ensurepip-wheels/ensurepip-wheels-63.4.1.22.2.2.ebuild
deleted file mode 100644
index 691136b4b5bb..000000000000
--- a/dev-python/ensurepip-wheels/ensurepip-wheels-63.4.1.22.2.2.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-SETUPTOOLS_WHL=setuptools-$(ver_cut 1-3)-py3-none-any.whl
-PIP_WHL=pip-$(ver_cut 4-)-py3-none-any.whl
-
-DESCRIPTION="Shared wheels for ensurepip Python module"
-HOMEPAGE="
- https://pypi.org/project/pip/
- https://pypi.org/project/setuptools/
-"
-SRC_URI="
- https://files.pythonhosted.org/packages/py3/p/pip/${PIP_WHL}
- https://files.pythonhosted.org/packages/py3/s/setuptools/${SETUPTOOLS_WHL}
-"
-S=${DISTDIR}
-
-# combined license of setuptools and pip (with its bundled deps)
-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"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${PIP_WHL}" "${SETUPTOOLS_WHL}"
-}
diff --git a/dev-python/ensurepip-wheels/ensurepip-wheels-63.4.2.22.2.2.ebuild b/dev-python/ensurepip-wheels/ensurepip-wheels-63.4.2.22.2.2.ebuild
deleted file mode 100644
index 691136b4b5bb..000000000000
--- a/dev-python/ensurepip-wheels/ensurepip-wheels-63.4.2.22.2.2.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-SETUPTOOLS_WHL=setuptools-$(ver_cut 1-3)-py3-none-any.whl
-PIP_WHL=pip-$(ver_cut 4-)-py3-none-any.whl
-
-DESCRIPTION="Shared wheels for ensurepip Python module"
-HOMEPAGE="
- https://pypi.org/project/pip/
- https://pypi.org/project/setuptools/
-"
-SRC_URI="
- https://files.pythonhosted.org/packages/py3/p/pip/${PIP_WHL}
- https://files.pythonhosted.org/packages/py3/s/setuptools/${SETUPTOOLS_WHL}
-"
-S=${DISTDIR}
-
-# combined license of setuptools and pip (with its bundled deps)
-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"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${PIP_WHL}" "${SETUPTOOLS_WHL}"
-}
diff --git a/dev-python/ensurepip-wheels/metadata.xml b/dev-python/ensurepip-wheels/metadata.xml
index 0c63c4e2b6a7..7d421671d884 100644
--- a/dev-python/ensurepip-wheels/metadata.xml
+++ b/dev-python/ensurepip-wheels/metadata.xml
@@ -4,8 +4,5 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
- <upstream>
- <remote-id type="pypi">pip</remote-id>
- <remote-id type="pypi">setuptools</remote-id>
- </upstream>
+ <stabilize-allarches/>
</pkgmetadata>
diff --git a/dev-python/entrypoint2/entrypoint2-1.1.ebuild b/dev-python/entrypoint2/entrypoint2-1.1.ebuild
index 4c76a240a025..c34a12beceb6 100644
--- a/dev-python/entrypoint2/entrypoint2-1.1.ebuild
+++ b/dev-python/entrypoint2/entrypoint2-1.1.ebuild
@@ -1,14 +1,18 @@
-# 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_{8..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,12 +20,12 @@ SRC_URI="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
BDEPEND="
test? (
dev-python/easyprocess[${PYTHON_USEDEP}]
- dev-python/path-py[${PYTHON_USEDEP}]
+ dev-python/path[${PYTHON_USEDEP}]
)
"
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 86f7a5cc5738..84d5b361d9a5 100644
--- a/dev-python/entrypoints/entrypoints-0.4.ebuild
+++ b/dev-python/entrypoints/entrypoints-0.4.ebuild
@@ -1,16 +1,15 @@
-# 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=( pypy3 python3_{8..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 a948cd4016ab..000000000000
--- a/dev-python/environs/environs-9.5.0-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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 bb4ceb7b6a6c..0f7e8abfbfb8 100644
--- a/dev-python/enzyme/enzyme-0.4.1-r3.ebuild
+++ b/dev-python/enzyme/enzyme-0.4.1-r3.ebuild
@@ -1,24 +1,26 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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
- test? ( mirror://sourceforge/matroska/test_files/matroska_test_w1_1.zip )
+HOMEPAGE="
+ https://github.com/Diaoul/enzyme/
+ https://pypi.org/project/enzyme/
+"
+SRC_URI+="
+ test? ( https://downloads.sourceforge.net/matroska/test_files/matroska_test_w1_1.zip )
"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
+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 b20cc4910640..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
@@ -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=( pypy3 python3_{8..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
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/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 c465febf2b37..000000000000
--- a/dev-python/eradicate/eradicate-2.1.0.ebuild
+++ /dev/null
@@ -1,25 +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_{8..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 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/errorhandler/Manifest b/dev-python/errorhandler/Manifest
deleted file mode 100644
index 77580a35cd46..000000000000
--- a/dev-python/errorhandler/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST errorhandler-2.0.1.tar.gz 8534 BLAKE2B 2a1db016acef81b5e625800614b2b5084cb6e8175d623e42726a728018871d200709ec66db16847ae0cf604551925a18fd2207c861388844f324a6eaae4bbe90 SHA512 b2fe44f400551e2af8aa589aefce042ee761893678b211a0e3ec7eb4527803001ac930d0941425f6e1487d36493d0c8f439e0bf672536ec27f041309fd69420e
diff --git a/dev-python/errorhandler/errorhandler-2.0.1.ebuild b/dev-python/errorhandler/errorhandler-2.0.1.ebuild
deleted file mode 100644
index 1007e99597ec..000000000000
--- a/dev-python/errorhandler/errorhandler-2.0.1.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
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Logging framework handler"
-HOMEPAGE="https://pypi.org/project/errorhandler/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-KEYWORDS="~amd64 ~x86"
-LICENSE="MIT"
-SLOT="0"
-
-RDEPEND=""
-DEPEND="
- dev-python/pkginfo[${PYTHON_USEDEP}]"
-
-distutils_enable_sphinx docs
-distutils_enable_tests nose
diff --git a/dev-python/errorhandler/metadata.xml b/dev-python/errorhandler/metadata.xml
deleted file mode 100644
index c86463f80cee..000000000000
--- a/dev-python/errorhandler/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">errorhandler</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 d6598285682c..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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/et_xmlfile/metadata.xml b/dev-python/et_xmlfile/metadata.xml
index 2af6e8d7fb7b..cbbb83caf705 100644
--- a/dev-python/et_xmlfile/metadata.xml
+++ b/dev-python/et_xmlfile/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">et-xmlfile</remote-id>
+ <remote-id type="heptapod">openpyxl/et_xmlfile</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/etuples/Manifest b/dev-python/etuples/Manifest
index be8b750c0b5c..8cb7c0064e08 100644
--- a/dev-python/etuples/Manifest
+++ b/dev-python/etuples/Manifest
@@ -1 +1 @@
-DIST etuples-0.3.5.gh.tar.gz 44924 BLAKE2B 81b603c851b89b3ec3556246d7dfc12a533632f4e99f8b784c4b9f46c3ee51fe7d370556e376a957e52c980b6e16fc93d85c597d31cee371fa2e5cbeec962c9e SHA512 df51ff42609a341c42009b650dadac2a6fb8ea85c3ccc6145ee2bdf6270ed9509d73196f8b0b789091918e93492f766d5fc242e2d5acc30074c171a2334a42fa
+DIST etuples-0.3.9.gh.tar.gz 45310 BLAKE2B e639fd4a1a4d9a1b34b32ab2884bfe933a079d721bb8b16b225d62f63e61e5cd1f1aa0f4113769744dd2ab80e537d73efdc3bcce3d1781089746997c11f3d820 SHA512 d66fac192fe14153b3496e6baa5ee3a0ff2813c26bbf0c3293049a0a50a26f32e14b031877f36e336035bf74853e981b6f75410e1f84b4ebcc84b55331d313e0
diff --git a/dev-python/etuples/etuples-0.3.5.ebuild b/dev-python/etuples/etuples-0.3.5.ebuild
deleted file mode 100644
index c06f2a9a3d72..000000000000
--- a/dev-python/etuples/etuples-0.3.5.ebuild
+++ /dev/null
@@ -1,30 +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_{8..10} )
-
-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..fb64589671c1
--- /dev/null
+++ b/dev-python/evdev/Manifest
@@ -0,0 +1,2 @@
+DIST python-evdev-1.7.0.gh.tar.gz 87773 BLAKE2B 8ed41fa8b9a8583c863450d6952955477ca8fca649a1615fcce8741624561f5719d535700dc67c6757f193452d618e5850b6f9ab35c32ab49ed48025e4e5b94c SHA512 79cb8e92f5698b120ba0c4b2603a18907097d130e0128cbad68eb95b50935b6aeadd1e844d4c76909c965719cb5b067e37d0921748be3c7c2493acb58c153521
+DIST python-evdev-1.7.1.gh.tar.gz 88275 BLAKE2B 334f70785411bd0e8d348ddeb0a6a728dbfd5c3604a19e7153c47d6868f76b0d3c10317230b0d6874cc14b3765d0e520d932c551842bd0d758b7a735b30ba7cb SHA512 802ba7c252a8817c60480db90b28e89b8356580d7b7f6a35725c70fcacbcabb3d3216330f6639ece940d901434cf1617d7682d344b7428fd5c5b6ab940700ff8
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/evdev-1.7.1.ebuild b/dev-python/evdev/evdev-1.7.1.ebuild
new file mode 100644
index 000000000000..7325d4b2a71e
--- /dev/null
+++ b/dev-python/evdev/evdev-1.7.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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/eventlet/Manifest b/dev-python/eventlet/Manifest
deleted file mode 100644
index ee1cd1cc5b3f..000000000000
--- a/dev-python/eventlet/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST eventlet-0.33.1.tar.gz 415294 BLAKE2B 25efb9b9848a6e0db2040d111288447aa07ceb70d2cbd9b3d189a2ca58aadad6b6d64054f76f3329ff7ca832efccbabb780c839c4db6d95a5b623d80079b7da3 SHA512 c8ece6a26039631b13ecc188f480f348a42551267fb6135551899dec7a23d0cfd032c14728e114901e4d256bf580203bfbdb1795881abdd71e49a53f8ed58964
diff --git a/dev-python/eventlet/eventlet-0.33.1.ebuild b/dev-python/eventlet/eventlet-0.33.1.ebuild
deleted file mode 100644
index 3dc52c7dc551..000000000000
--- a/dev-python/eventlet/eventlet-0.33.1.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..9} )
-
-inherit distutils-r1
-
-DESCRIPTION="Highly concurrent networking library"
-HOMEPAGE="
- https://pypi.org/project/eventlet/
- https://github.com/eventlet/eventlet/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/dnspython-1.15.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
- virtual/python-greenlet[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/eventlet-0.25.1-tests.patch"
- "${FILESDIR}/eventlet-0.30.0-tests-socket.patch"
- "${FILESDIR}/eventlet-0.30.2-test-timeout.patch"
-)
-
-distutils_enable_tests nose
-
-src_prepare() {
- # increase timeout - #791748
- sed -e '/eventlet.sleep/s/0.1/5.0/' -i tests/isolated/patcher_fork_after_monkey_patch.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- unset PYTHONPATH
- export TMPDIR="${T}"
- nosetests -v -x || die
-}
-
-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/eventlet/files/eventlet-0.25.1-tests.patch b/dev-python/eventlet/files/eventlet-0.25.1-tests.patch
deleted file mode 100644
index 423f8ef8e408..000000000000
--- a/dev-python/eventlet/files/eventlet-0.25.1-tests.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/tests/ssl_test.py b/tests/ssl_test.py
-index d8b7d7e..5a3580b 100644
---- a/tests/ssl_test.py
-+++ b/tests/ssl_test.py
-@@ -180,7 +180,6 @@ class SSLTest(tests.LimitedTestCase):
- self.assertEqual(client.recv(8), b'response')
- stage_1.send()
-
-- tests.check_idle_cpu_usage(0.2, 0.1)
- server_coro.kill()
-
- def test_greensslobject(self):
-diff --git a/tests/zmq_test.py b/tests/zmq_test.py
-index 601878f..c643e48 100644
---- a/tests/zmq_test.py
-+++ b/tests/zmq_test.py
-@@ -432,6 +432,8 @@ class TestUpstreamDownStream(tests.LimitedTestCase):
- events = sock2.getsockopt(zmq.EVENTS)
- self.assertEqual(events & zmq.POLLIN, zmq.POLLIN)
-
-+ # this will often fail on portage...
-+ @tests.skip_if(True)
- @tests.skip_unless(zmq_supported)
- def test_cpu_usage_after_bind(self):
- """zmq eats CPU after PUB socket .bind()
-@@ -461,14 +463,12 @@ class TestUpstreamDownStream(tests.LimitedTestCase):
- sub.setsockopt(zmq.SUBSCRIBE, b"")
- eventlet.sleep()
- pub.send(b'test_send')
-- tests.check_idle_cpu_usage(0.2, 0.1)
-
- sender, receiver, _port = self.create_bound_pair(zmq.DEALER, zmq.DEALER)
- eventlet.sleep()
- sender.send(b'test_recv')
- msg = receiver.recv()
- self.assertEqual(msg, b'test_recv')
-- tests.check_idle_cpu_usage(0.2, 0.1)
-
-
- class TestQueueLock(tests.LimitedTestCase):
diff --git a/dev-python/eventlet/files/eventlet-0.30.0-tests-socket.patch b/dev-python/eventlet/files/eventlet-0.30.0-tests-socket.patch
deleted file mode 100644
index 4dd309c68a38..000000000000
--- a/dev-python/eventlet/files/eventlet-0.30.0-tests-socket.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Let's use TMPDIR as the base for this test's unix socket to help it pass.
-We set TMPDIR in the ebuild to ${T}.
---- a/tests/backdoor_test.py
-+++ b/tests/backdoor_test.py
-@@ -47,7 +47,7 @@ class BackdoorTest(tests.LimitedTestCase):
- self._run_test_on_client_and_server(client, serv)
-
- def test_server_on_unix_socket(self):
-- SOCKET_PATH = '/tmp/eventlet_backdoor_test.socket'
-+ SOCKET_PATH = os.getenv('TMPDIR', '/tmp') + '/eventlet_backdoor_test.socket'
- if os.path.exists(SOCKET_PATH):
- os.unlink(SOCKET_PATH)
- listener = socket.socket(socket.AF_UNIX)
diff --git a/dev-python/eventlet/files/eventlet-0.30.2-test-timeout.patch b/dev-python/eventlet/files/eventlet-0.30.2-test-timeout.patch
deleted file mode 100644
index d31b3738bc16..000000000000
--- a/dev-python/eventlet/files/eventlet-0.30.2-test-timeout.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 0b8fd069386354d2d7e5464ce0b0d5b7d1795376 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 11 Apr 2021 12:20:09 +0200
-Subject: [PATCH] Force test timeouts to 60 s
-
-The upstream test timeouts are far too low for a busy system, and there
-is no point in pursuing such low values anyway. Force 60 s that should
-be reasonably safe for our test runs.
----
- tests/__init__.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/tests/__init__.py b/tests/__init__.py
-index 82cd247..3a943c4 100644
---- a/tests/__init__.py
-+++ b/tests/__init__.py
-@@ -170,8 +170,8 @@ class LimitedTestCase(unittest.TestCase):
-
- def setUp(self):
- self.previous_alarm = None
-- self.timer = eventlet.Timeout(self.TEST_TIMEOUT,
-- TestIsTakingTooLong(self.TEST_TIMEOUT))
-+ self.timer = eventlet.Timeout(60,
-+ TestIsTakingTooLong(60))
-
- def reset_timeout(self, new_timeout):
- """Changes the timeout duration; only has effect during one test.
-@@ -350,7 +350,7 @@ def run_python(path, env=None, args=None, timeout=None, pythonpath_extend=None,
- stdout=subprocess.PIPE,
- )
- if timeout is None:
-- timeout = 10
-+ timeout = 60
- try:
- output, _ = p.communicate(timeout=timeout)
- except subprocess.TimeoutExpired:
---
-2.31.1
-
diff --git a/dev-python/eventlet/metadata.xml b/dev-python/eventlet/metadata.xml
deleted file mode 100644
index 411e9d7f41d0..000000000000
--- a/dev-python/eventlet/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">eventlet</remote-id>
- <remote-id type="github">eventlet/eventlet</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 741fd36f3ab9..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-2021 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_{8..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 8fe56f7886f9..000000000000
--- a/dev-python/exam/exam-0.10.6.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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 143a5cf6cb2d..d9e4e61724b5 100644
--- a/dev-python/exceptiongroup/Manifest
+++ b/dev-python/exceptiongroup/Manifest
@@ -1 +1 @@
-DIST exceptiongroup-1.0.0rc8.gh.tar.gz 17562 BLAKE2B 617e174e32f4c062f576b12c9dfe96e5495003097dc0da82e383019a65b2a043546d4b73181081defb641d453127e056be52e55e76fdf0ec0247513f5eb211ff SHA512 f7f1700403f345755a1e32c77eb43744b366b1f55446e1898dd960988d23396ad8334bef072ecc7ec5ac7075300f0f3e8e9a0d454d9dd80677ae55b4166fc6e4
+DIST exceptiongroup-1.2.1.gh.tar.gz 28203 BLAKE2B 65068805670105246c84115a4030641eeff0384df01fc6b7ebd3215c7933908d8db8c8e272efd056b3f044110bf285d3fd477002e0db4c8f99f83bea71f28ce4 SHA512 6f1f29e017192f5881f28855692ad41fe781846b5daa082699350c8dd5990bc3aa54751e1776c620a3a48bf5a8d5bd9b4b50f09d848051b00ba19d825116e7a7
diff --git a/dev-python/exceptiongroup/exceptiongroup-1.0.0_rc8.ebuild b/dev-python/exceptiongroup/exceptiongroup-1.0.0_rc8.ebuild
deleted file mode 100644
index 68fe6276fbe5..000000000000
--- a/dev-python/exceptiongroup/exceptiongroup-1.0.0_rc8.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit_scm
-PYTHON_COMPAT=( pypy3 python3_{8..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="amd64 arm arm64 hppa ~ia64 ~m68k 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..0623e77dea45
--- /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/exceptiongroup/metadata.xml b/dev-python/exceptiongroup/metadata.xml
index 417343e0fae4..e51a691f3783 100644
--- a/dev-python/exceptiongroup/metadata.xml
+++ b/dev-python/exceptiongroup/metadata.xml
@@ -4,6 +4,7 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">agronholm/exceptiongroup</remote-id>
<remote-id type="pypi">exceptiongroup</remote-id>
diff --git a/dev-python/execnet/Manifest b/dev-python/execnet/Manifest
index 35b9547d7fbe..d5960022bc9f 100644
--- a/dev-python/execnet/Manifest
+++ b/dev-python/execnet/Manifest
@@ -1 +1 @@
-DIST execnet-1.9.0.tar.gz 173884 BLAKE2B 622a1f47365bdea97ba53aee908faf990ef847e3641ab0590073cdd6eac3413d1517f16e8e5b73b56884f02aebb3142691ecf6113e14f9c49c9b0fef3ee3247c SHA512 d425e7b6f3708efecb5dfa2c36a837cb55f2c32cf2ec0c1dc11cd1ca6ea614d119d04908b84dd5a3593c87db35e71fee202f843665c853ac3538479f60c83d60
+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 1c7c068e0aeb..000000000000
--- a/dev-python/execnet/execnet-1.9.0-r1.ebuild
+++ /dev/null
@@ -1,46 +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_{8..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"
-
-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_sphinx doc
-distutils_enable_tests pytest
-
-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.1.1.ebuild b/dev-python/execnet/execnet-2.1.1.ebuild
new file mode 100644
index 000000000000..c0e980e44d2d
--- /dev/null
+++ b/dev-python/execnet/execnet-2.1.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Rapid multi-Python deployment"
+HOMEPAGE="
+ https://codespeak.net/execnet/
+ https://github.com/pytest-dev/execnet/
+ https://pypi.org/project/execnet/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx doc
+distutils_enable_tests pytest
+
+python_test() {
+ # the test suite checks if bytecode writing can be disabled/enabled
+ local -x PYTHONDONTWRITEBYTECODE=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # some tests are implicitly run against both sys.executable
+ # and pypy3, which is redundant and results in pypy3 bytecode being
+ # written to cpython install dirs
+ epytest testing -k "not pypy3"
+}
diff --git a/dev-python/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 1af86a9bd601..d2ce7ff6f380 100644
--- a/dev-python/executing/Manifest
+++ b/dev-python/executing/Manifest
@@ -1,3 +1 @@
-DIST executing-0.8.3.gh.tar.gz 495111 BLAKE2B ccb1a7df974f94b48960fc84a8365f6e57a7f34590972192e692f03340662e2bde97498c2ebf5617e45d8dfb6e866fd7de290644adb58e5338b2e0fdccc215f1 SHA512 4e01c1f48734c9568412b84160150e7e50ebdf5ba3dd466cf9d37b7f875ca2993915db75e2f6dd8e75e60b7b952fb0146928a41dde100ad38384b9be2ed60522
-DIST executing-0.9.0.gh.tar.gz 506632 BLAKE2B 195e6dc896bcb0add7377ba7fbfdaaf09322a5480127150a3c37eef94f57d24dfcc3c83c5a0dd7c9154c5bb7688f47754550d45adafb82d72a4b0c38d094dd50 SHA512 461a8350d55ab0346de35d7d8423164b616e2ec8152d229e3462208497b478e51fd75085dc11f7d3cace42a82d4c2cbd1b102a680aa6c2b31fa18f1f9ec69cdc
-DIST executing-0.9.1.gh.tar.gz 506644 BLAKE2B 04d7012a348186c44c892d9f442b33042a9e01951c47b1d9a42ca22195dc7fa0b8f17ebf552ca65e9aa038942a6962941aeafee2d15bdcef834d413d5512c910 SHA512 98ba2f155324e05ae927d0a97ec6ff54bcfd8d38551dde872f12aedfefc2297003b50d17e6e32e89a909a9b1e70cec9d474db03d6a4f9fb1814ebcca045bb982
+DIST executing-2.0.1.gh.tar.gz 837355 BLAKE2B 7d38890eb322809c2b705f51731fe7537f81a0775d99bebb4b4ae67453930daedd947b249385babbc2373969344b643f288441fc28f3588264e4ebc23e1c389d SHA512 8a753aab42ea2d3b61764ee77de3bb52ea7fcc2818298281180ffc47c7b22ee84974ee98b2137250f722ad559be92e72e8fc01d7b2d38ab6a01512618b65d4f3
diff --git a/dev-python/executing/executing-0.8.3.ebuild b/dev-python/executing/executing-0.8.3.ebuild
deleted file mode 100644
index 471d3466d941..000000000000
--- a/dev-python/executing/executing-0.8.3.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-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 ppc ppc64 ~riscv ~s390 sparc x86"
-
-# asttokens is optional runtime dep
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/asttokens[${PYTHON_USEDEP}]
- dev-python/littleutils[${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
-}
diff --git a/dev-python/executing/executing-0.9.0.ebuild b/dev-python/executing/executing-0.9.0.ebuild
deleted file mode 100644
index 43f1dbdd67f3..000000000000
--- a/dev-python/executing/executing-0.9.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-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 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-# asttokens is optional runtime dep
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/asttokens[${PYTHON_USEDEP}]
- dev-python/littleutils[${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
-}
diff --git a/dev-python/executing/executing-0.9.1.ebuild b/dev-python/executing/executing-0.9.1.ebuild
deleted file mode 100644
index 43f1dbdd67f3..000000000000
--- a/dev-python/executing/executing-0.9.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-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 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-# asttokens is optional runtime dep
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/asttokens[${PYTHON_USEDEP}]
- dev-python/littleutils[${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
-}
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 5cb1c543d8eb..000000000000
--- a/dev-python/expects/expects-0.9.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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 58eadf4dd765..4e4df97d4a9b 100644
--- a/dev-python/extras/extras-1.0.0-r2.ebuild
+++ b/dev-python/extras/extras-1.0.0-r2.ebuild
@@ -1,23 +1,22 @@
-# 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_{8..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"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
BDEPEND="
test? (
diff --git a/dev-python/eyeD3/Manifest b/dev-python/eyeD3/Manifest
index f34a21804178..1206902a6c2d 100644
--- a/dev-python/eyeD3/Manifest
+++ b/dev-python/eyeD3/Manifest
@@ -1,2 +1,2 @@
-DIST eyeD3-0.9.6.tar.gz 250445 BLAKE2B 11f8bef4b17af07f08144e922634e4c6e467bd8856da9d445a70006b5bf32d442a52e234845a3f146129403fcc16047cc759102b93c433a0466bf0afd9576230 SHA512 0c993e9bf0a27ca41a8a2964a3347a6b0ffa472f833b3dada39ae09a5a2b40e0afb6bfd8c0ea5ed71d3dc2bf3cd062c1fb5fe79abe6ad867221b779786247173
-DIST eyeD3-test-data.tgz 97281754 BLAKE2B 9b667a5f8be157ace06d773d575c08f4a8e8b7a7b81ba9cb39b1e2c924b2e3f98597607ed3076b13150e02ef7768e89d1ff8a9913021e5f4b9ac6b59344ed397 SHA512 937971dcefc53812c59adb97df27d200e92de04e12391c735ab85cd547e2a168aa1212d88c206ec71ac2fa85a504a9faa91dcc444b45149aca7c8f3a794e9a95
+DIST eyeD3-0.9.7.gh.tar.gz 249705 BLAKE2B b015ab5f7269de8f32830153b848e9a862328515e29f5d1a9cd5739d57a1c0ee63efc93cd3849ceca51b8f67d8eaf1746ab145baf16cda7e7b19bbb8e1249982 SHA512 863ce609ea939588e246d48c6d31f9688049334f874a4c400c02777bbef7379b6403150e7459430c92cff8047d45e33cbaa406b3d6e5b2cf3f9d7d7201438c1f
+DIST eyeD3-test-data-r1.tgz 97336666 BLAKE2B e982f21ba29aaca15c6975a836bed322d5203bca57b93ab0c9343de13259d9e2f56b98e5e7402ccf9138a9dc79951e68c4b37cd2c891d2c9e94815256d49adc4 SHA512 4e6daca06380492c0048f1ffd94d92e511fc3695b3e5f64f805d3f3aa2d0fef05a3be1d67a459fb13ab6d9861b86146487f31321f979c464fc516047b66735ab
diff --git a/dev-python/eyeD3/eyeD3-0.9.6-r1.ebuild b/dev-python/eyeD3/eyeD3-0.9.6-r1.ebuild
deleted file mode 100644
index 7a7bba08a967..000000000000
--- a/dev-python/eyeD3/eyeD3-0.9.6-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Module for manipulating ID3 (v1 + v2) tags in Python"
-HOMEPAGE="https://eyed3.nicfit.net/"
-SRC_URI="https://github.com/nicfit/eyeD3/archive/v${PV}.tar.gz -> ${P}.tar.gz
- test? ( https://eyed3.nicfit.net/releases/eyeD3-test-data.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
-
-src_prepare() {
- # requires unpackaged factory-boy, doesn't seem to relevant
- # to anything but eyeD3 usage with factory-boy
- rm tests/test_factory.py || die
- # requires unpackaged grako
- rm tests/test_display_plugin.py || die
-
- if use test; then
- mv "${WORKDIR}"/eyeD3-test-data tests/data || die
- fi
-
- distutils-r1_src_prepare
-}
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/fakeredis/Manifest b/dev-python/fakeredis/Manifest
index 8ecac3513d6f..1f695fecfd2d 100644
--- a/dev-python/fakeredis/Manifest
+++ b/dev-python/fakeredis/Manifest
@@ -1,3 +1,2 @@
-DIST fakeredis-py-1.8.1.gh.tar.gz 101586 BLAKE2B a1b123dd482b9b59f401a855ba95a08f2e744bff5ae4a4f0c12cde8b2a05971043ccb16e92d0adbfeedd3e071fab50f1328ed265c6ac19ecf6932d09bcacd549 SHA512 19e1636895206fa550844a776ba4835c3acbe2eac8fb774716e91d20e0f283b121f42ee11d876e20d798a6df0dcfcc29114c76c839c4946436102b8f83ed3d01
-DIST fakeredis-py-1.8.2.gh.tar.gz 96238 BLAKE2B 17fd75d2ca6e929fbbdab87e9a6450d72006a3dc72a2d81a3f381c1918f2ca12f273468bf8015e80df78e9df393d2f7002b13e12989d108f93beb3287472c0c6 SHA512 6a86c0fa41920f4446b66d4d152850227a23f5a031a80d0d9109117de7252965821dc8d9f022b9fd703f8ed66fad207f6542bd6ee524a54f2053bbcd2ed9965e
-DIST fakeredis-py-1.9.0.gh.tar.gz 85475 BLAKE2B 99c5fdf2fb665505f6450a3ec08a401a0a629c62722709b4775ac2752816e6b461579f4a3df6d7a11a07e170e369ee1703294d9ef607a52318a7a8d583ce6264 SHA512 ca379d610a62053bb417aad1cd618356240697d0afdaca0467506d7b1ec38997d46b358a31356cdec8ecd1719386f942fd220f8b0a396bfc8c5316c2143f20f1
+DIST fakeredis-2.22.0.tar.gz 130074 BLAKE2B 28ccc177c8f2d47515ff91834901b8fdf9559b83b1e7665101b5f17e57d65a3c820af6be21251257f35a7db858c22fac3395cfb550b724e020e96778ad380008 SHA512 a533f26c2a4289b1b4d398ee426f44c93f01a4aac0dc841854bf94674d7e0738fde38ea896280d4e83bf16041dba505db13e3fa3837a912dc872b1d36c05cc6e
+DIST fakeredis-2.23.0.tar.gz 133649 BLAKE2B 4dcfb0b52f18101311cd6513fa236ecc6100d12fdfceb9eef12e40ea4fc2a8148dd93e2ad9a68cf5347a3048a95136b7fcbedab2ea5348fa789462b9fee6f920 SHA512 8c3b4ad153232101203811d2891985474fe17a86693217cb58e694ded3c309d101a6bef52e1b544bbc489a0c355792bdbdbed220dca00d0f50afb2fb1c6438ce
diff --git a/dev-python/fakeredis/fakeredis-1.8.1.ebuild b/dev-python/fakeredis/fakeredis-1.8.1.ebuild
deleted file mode 100644
index c7f583dfd91f..000000000000
--- a/dev-python/fakeredis/fakeredis-1.8.1.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{8..10} )
-
-inherit distutils-r1 optfeature
-
-MY_P=fakeredis-py-${PV}
-DESCRIPTION="Fake implementation of redis API for testing purposes"
-HOMEPAGE="
- https://github.com/dsoftwareinc/fakeredis-py/
- https://pypi.org/project/fakeredis/
-"
-SRC_URI="
- https://github.com/dsoftwareinc/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/six-1.16.0[${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]"
- )
- 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
- local redis_test_config="
- daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1
- "
-
- 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
-}
-
-pkg_postinst() {
- optfeature "Mock aioredis" dev-python/aioredis
-}
diff --git a/dev-python/fakeredis/fakeredis-1.8.2.ebuild b/dev-python/fakeredis/fakeredis-1.8.2.ebuild
deleted file mode 100644
index c6cea81c8567..000000000000
--- a/dev-python/fakeredis/fakeredis-1.8.2.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{8..11} )
-
-inherit distutils-r1
-
-MY_P=fakeredis-py-${PV}
-DESCRIPTION="Fake implementation of redis API for testing purposes"
-HOMEPAGE="
- https://github.com/dsoftwareinc/fakeredis-py/
- https://pypi.org/project/fakeredis/
-"
-SRC_URI="
- https://github.com/dsoftwareinc/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/six-1.16.0[${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]"
- )
- 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
- local redis_test_config="
- daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1
- "
-
- 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/fakeredis/fakeredis-1.9.0.ebuild b/dev-python/fakeredis/fakeredis-1.9.0.ebuild
deleted file mode 100644
index 593e6a79b618..000000000000
--- a/dev-python/fakeredis/fakeredis-1.9.0.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{8..11} )
-
-inherit distutils-r1
-
-MY_P=fakeredis-py-${PV}
-DESCRIPTION="Fake implementation of redis API for testing purposes"
-HOMEPAGE="
- https://github.com/dsoftwareinc/fakeredis-py/
- https://pypi.org/project/fakeredis/
-"
-SRC_URI="
- https://github.com/dsoftwareinc/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.4[${PYTHON_USEDEP}]
- >=dev-python/six-1.16.0[${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]"
- )
- 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.22.0.ebuild b/dev-python/fakeredis/fakeredis-2.22.0.ebuild
new file mode 100644
index 000000000000..d0865eabf695
--- /dev/null
+++ b/dev-python/fakeredis/fakeredis-2.22.0.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.23.0.ebuild b/dev-python/fakeredis/fakeredis-2.23.0.ebuild
new file mode 100644
index 000000000000..fe8a86c29b94
--- /dev/null
+++ b/dev-python/fakeredis/fakeredis-2.23.0.ebuild
@@ -0,0 +1,89 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..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}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # also lupa
+ test/test_aioredis2.py::test_failed_script_error
+ # TODO
+ "test/test_fakeredis.py::test_set_get_nx[StrictRedis]"
+ "test/test_fakeredis.py::test_lpop_count[StrictRedis]"
+ "test/test_fakeredis.py::test_rpop_count[StrictRedis]"
+ "test/test_fakeredis.py::test_zadd_minus_zero[StrictRedis]"
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis]"
+ test/test_mixins/test_set_commands.py::test_smismember_wrong_type
+ # new redis-server?
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis]"
+ # json ext
+ test/test_json/test_json.py
+ test/test_json/test_json_arr_commands.py
+ # tdigest ext?
+ 'test/test_mixins/test_server_commands.py::test_command[FakeStrictRedis]'
+ )
+ local EPYTEST_IGNORE=(
+ # these tests fail a lot...
+ test/test_hypothesis.py
+ )
+ local args=(
+ # tests requiring lupa (lua support)
+ -k 'not test_eval and not test_lua and not test_script'
+ )
+ # Note: this package is not xdist-friendly
+ epytest "${args[@]}"
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/fakeredis/metadata.xml b/dev-python/fakeredis/metadata.xml
index 2b6b02ddf6fc..57d039bed0d9 100644
--- a/dev-python/fakeredis/metadata.xml
+++ b/dev-python/fakeredis/metadata.xml
@@ -7,6 +7,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">fakeredis</remote-id>
- <remote-id type="github">dsoftwareinc/fakeredis-py</remote-id>
+ <remote-id type="github">cunla/fakeredis-py</remote-id>
</upstream>
</pkgmetadata>
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 d807e63160b4..5c4944fb5274 100644
--- a/dev-python/fasteners/Manifest
+++ b/dev-python/fasteners/Manifest
@@ -1 +1 @@
-DIST fasteners-0.17.3.gh.tar.gz 29409 BLAKE2B b4cd5c2f5dcd87808b4edf42ba160eb6b0bf08df544cbe1cc96ab3dd43f8fee02342a56a8b9529354e102f8e4280f9375f89f58318e46f2e8d52fa49bdb0f5ac SHA512 bed890d674bbb8d0442cb0a36c81bd5d1b4e555534ce4451f1cf70dcf72e222d52ae98154d09ac0ad1e52d1a2026c532fd40df715fbbd6bc95f874a916911ec7
+DIST fasteners-0.19.gh.tar.gz 43188 BLAKE2B c30f4dc3da6605aa2552f58ae1071b51efefe2aea59ca8815fd50eebdbe7e826756cd9923485d6fb99dcc39196def485f4c1346a234bc7af09e2426c84b6a0d3 SHA512 47db216ff5bad5c669ca2d9be0ee09feba4a3d55ed0eac8d3623bd3d112b0b87fb9019f8785d035ec32ad9fa9e4ae7d1c92a576c97eec29acc82711d7e71a465
diff --git a/dev-python/fasteners/fasteners-0.17.3.ebuild b/dev-python/fasteners/fasteners-0.17.3.ebuild
deleted file mode 100644
index 3ee13b916108..000000000000
--- a/dev-python/fasteners/fasteners-0.17.3.ebuild
+++ /dev/null
@@ -1,27 +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_{8..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
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 804e761483d8..e94e501f5b95 100644
--- a/dev-python/fastimport/fastimport-0.9.14.ebuild
+++ b/dev-python/fastimport/fastimport-0.9.14.ebuild
@@ -1,23 +1,22 @@
-# 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=( pypy3 python3_{8..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 979f56e24621..294e7ffd3d6f 100644
--- a/dev-python/fastjsonschema/Manifest
+++ b/dev-python/fastjsonschema/Manifest
@@ -1,2 +1 @@
-DIST python-fastjsonschema-2.15.3.tar.gz 389350 BLAKE2B f9ab32666fce1ba44a11cb981f4f301d7d55260767ec71aefa54ad6bcdd5b8c3d246656908dcd50e909257b35bb9ee24eb34d5ce7fe0f91501127cad412a7e1d SHA512 59dfc513de46e9df790edaa1abc994decdf98d65bec8eb8a6ac7211d2277f4e15d521a308e45c6532a232321d8a4655f87b7a01f2d57b9de20246a4d6deeeb9b
-DIST python-fastjsonschema-2.16.1.gh.tar.gz 391733 BLAKE2B 7d53b51ad88fb6e11226510f3dc7f7ef8ca2d6e22825e31f32fe7b9343c2d7bf946c0d528ecdb9550abd5e5dd01f2bf52d6670fa644eb4b453f2a45080cd9318 SHA512 b3ef41926ec6a54d527f68f6c198fdc61fc6528449137557a3f2130c5d01914a6ea3300bc6efb90f9b8fefbb98464760378108ef221dcb021414b2e0ffb1eb73
+DIST fastjsonschema-2.19.1.tar.gz 372732 BLAKE2B f028e027483e02969c4d750a888659add9dd7f661776ab42242f74492272267b93a2248cdc50b78389091cc1a1fd7661abbf377d81edf73df35ed1e222be7328 SHA512 b276788ebe1d3a6bc5d1463c2a4940fbe5c9e0a7919c813b78f385faa406527cac34d4042e6a69e0ca1631f3e5ed0bc351e13d9d1e245132a1607e010a5a2346
diff --git a/dev-python/fastjsonschema/fastjsonschema-2.15.3-r1.ebuild b/dev-python/fastjsonschema/fastjsonschema-2.15.3-r1.ebuild
deleted file mode 100644
index 8998ccbecf1d..000000000000
--- a/dev-python/fastjsonschema/fastjsonschema-2.15.3-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-MY_P=python-${P}
-DESCRIPTION="Fast JSON schema validator for Python"
-HOMEPAGE="https://github.com/horejsek/python-fastjsonschema/"
-SRC_URI="
- https://github.com/horejsek/python-fastjsonschema/archive/v${PV}.tar.gz
- -> ${MY_P}.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k 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.16.1.ebuild b/dev-python/fastjsonschema/fastjsonschema-2.16.1.ebuild
deleted file mode 100644
index 4d2f3bd44cd4..000000000000
--- a/dev-python/fastjsonschema/fastjsonschema-2.16.1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-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 ~m68k ~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..cf18821f1b26
--- /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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fast JSON schema validator for Python"
+HOMEPAGE="
+ https://github.com/horejsek/python-fastjsonschema/
+ https://pypi.org/project/fastjsonschema/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ tests/benchmarks
+)
+
+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 bcf18ce3ac51..000000000000
--- a/dev-python/feedgenerator/feedgenerator-2.0.0.ebuild
+++ /dev/null
@@ -1,26 +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_{8..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 4dd596ddabd1..000000000000
--- a/dev-python/feedparser/feedparser-6.0.10.ebuild
+++ /dev/null
@@ -1,46 +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_{8..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 4ee086b79602..000000000000
--- a/dev-python/ffmpeg-python/ffmpeg-python-0.2.0.ebuild
+++ /dev/null
@@ -1,38 +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_{8..10} )
-
-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/ffmpeg-python/metadata.xml b/dev-python/ffmpeg-python/metadata.xml
index 2d6d51daf387..10cbbca5f97e 100644
--- a/dev-python/ffmpeg-python/metadata.xml
+++ b/dev-python/ffmpeg-python/metadata.xml
@@ -6,6 +6,10 @@
<email>xgqt@gentoo.org</email>
<name>Maciej Barć</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<upstream>
<bugs-to>https://github.com/kkroening/ffmpeg-python/issues/</bugs-to>
<remote-id type="github">kkroening/ffmpeg-python</remote-id>
diff --git a/dev-python/fido2/Manifest b/dev-python/fido2/Manifest
index 5b542fcc282d..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.0.0.tar.gz 245631 BLAKE2B e9ee319c19a9d4b687958ee2f9b2b809b8fa1d41bd278bbd7e26a5bbcab51791d6b8565dd6cdb6abf6804db4604f4b02e2d7e73cbbf2a237d72a0679c3ebcf49 SHA512 778128fb4fd459bd096eb440034a08c8883bfd29dbe834f3affb451032a5d5a22c79ca71be257b3c333a9d9890602558502848e83cd3efab4b6d6762e0622670
+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 2e80af42e647..000000000000
--- a/dev-python/fido2/fido2-0.9.3.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_{8..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.0.0.ebuild b/dev-python/fido2/fido2-1.0.0.ebuild
deleted file mode 100644
index 20e8481f1821..000000000000
--- a/dev-python/fido2/fido2-1.0.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-DISTUTILS_USE_PEP517=poetry
-
-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/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 00ebdac70580..663e02348ff1 100644
--- a/dev-python/fields/fields-5.0.0-r3.ebuild
+++ b/dev-python/fields/fields-5.0.0-r3.ebuild
@@ -1,19 +1,18 @@
-# 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_{8..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 6e216e84195b..ef64076096e4 100644
--- a/dev-python/filebytes/filebytes-0.10.2.ebuild
+++ b/dev-python/filebytes/filebytes-0.10.2.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..10} )
+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 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 e7dd4c7a61bf..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..10} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -15,7 +15,7 @@ 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"
+ SRC_URI="https://github.com/sashs/filebytes/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
diff --git a/dev-python/filelock/Manifest b/dev-python/filelock/Manifest
index 11b9421a2dd0..58d1c85d1f67 100644
--- a/dev-python/filelock/Manifest
+++ b/dev-python/filelock/Manifest
@@ -1 +1,2 @@
-DIST py-filelock-3.7.1.gh.tar.gz 204373 BLAKE2B e3ef657488a68caf8dc8158d5060a07447b74b53b26a2ad05eb67211a5ae7ef5deadeb8527cb6cd95ce225e0fcd29a0ce2dd53b68b7e2cacde4c0f2242966b21 SHA512 66708398ae3c4dcd97a6031feca6a1b7d1010a5ee605c5adce29a9cfabe67c5464eefb3812c66e2c32c3547240fdc7acac6eec25cc8dfb2d5255079c5e6b44b4
+DIST filelock-3.13.4.tar.gz 15093 BLAKE2B 1ee07531e4743ad61e9fc2ef85d79e1402be75efb31a6661e1f912a3ae44d19e5578e6e78980228645157ab254f56070ee85b2cdcd2e9d507947c778284159d4 SHA512 072d78bfb3b3831847103b3e7d54e97e9486cbe1ba146d9632edb510abe2d56f3f06bce6b79a2e6cb830ba51e47bbfe32b8f18abb08bd33480ecf78ee0da161b
+DIST filelock-3.14.0.tar.gz 15401 BLAKE2B afa95a941189cd73767684016502fba6972541a8a0f16bed0a4acc6452700224d511a17e6882b1c680fa6b20621b617704a7e9d3aff8ae883ede56f40acb5de3 SHA512 51eda6394fcac86a12887fe1974022b9da921fb96a61887f7a91c5b15f083a4c9186600ec61b4e93b91b8c4799c50ca4b6c418416c6bf2b422ea3b41715258e4
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..2ecc4294c592
--- /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.14.0.ebuild b/dev-python/filelock/filelock-3.14.0.ebuild
new file mode 100644
index 000000000000..b753c7275a84
--- /dev/null
+++ b/dev-python/filelock/filelock-3.14.0.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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A platform independent file lock for Python"
+HOMEPAGE="
+ https://github.com/tox-dev/filelock/
+ https://pypi.org/project/filelock/
+"
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/filelock/filelock-3.7.1.ebuild b/dev-python/filelock/filelock-3.7.1.ebuild
deleted file mode 100644
index 3ebc63a65960..000000000000
--- a/dev-python/filelock/filelock-3.7.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2018-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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="
- 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/Manifest b/dev-python/filetype/Manifest
index 156a60e16566..b6c2db8ba55f 100644
--- a/dev-python/filetype/Manifest
+++ b/dev-python/filetype/Manifest
@@ -1 +1 @@
-DIST filetype-1.0.10.tar.gz 804374 BLAKE2B 51735e8810be7f4fe9aaac1ec5305ea85146b5c540a1aaad795a287a4570abb22d131a5fd1444c83e3e747424938242dc8733d2076019a963f6947e4f5981db7 SHA512 a6455b8d11ec56dd3d041b95e1226a5d0ecdee21ef590997e93611d10184ed29137c9f3bd578313a25455010da8f21950420b29ecd9e6ddb5e363051a9fbacc6
+DIST filetype-1.2.0.tar.gz 998020 BLAKE2B 7fdd7e16a8a4d1cdffdd02c5d540d4290de7410a44185875a279c38a4d18c7f67a8bd8ce863efbae2c71c84e93dd1a5621f9fb9e6bde5ac0c611bd5bea939254 SHA512 09ed462d2a82437a58a28aa0315559afbf2e1b30176720254cc2a25fc67ff25e5e99988182e5e748e4e6ccb7ef3fde47cec96ebe20c937ab658bfcfe703ad20c
diff --git a/dev-python/filetype/filetype-1.0.10.ebuild b/dev-python/filetype/filetype-1.0.10.ebuild
deleted file mode 100644
index d4094edb6538..000000000000
--- a/dev-python/filetype/filetype-1.0.10.ebuild
+++ /dev/null
@@ -1,18 +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_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="Small, dependency-free, fast Python package to infer binary file types checking"
-HOMEPAGE="https://github.com/h2non/filetype.py"
-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"
-
-distutils_enable_tests unittest
diff --git a/dev-python/filetype/filetype-1.2.0.ebuild b/dev-python/filetype/filetype-1.2.0.ebuild
new file mode 100644
index 000000000000..340996c95665
--- /dev/null
+++ b/dev-python/filetype/filetype-1.2.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="Small, dependency-free, fast Python package to infer binary file types checking"
+HOMEPAGE="
+ https://github.com/h2non/filetype.py/
+ https://pypi.org/project/filetype/
+"
+
+LICENSE="BSD"
+SLOT="0"
+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 9f3128340367..dfe7f92f1b1e 100644
--- a/dev-python/findimports/Manifest
+++ b/dev-python/findimports/Manifest
@@ -1 +1 @@
-DIST findimports-2.2.0.gh.tar.gz 36275 BLAKE2B e6a39620647434448d68f30e3cf212188bdc35993c1a2841614683273d41eb572b5a123ea42f1eff3730a2ba02055a2afdeb2607538dc0c3b55f38430e38581e SHA512 807d07b0cd5c1ba66d03121ef83a85291b84cf15b798074c39fc0858eeb7f36a77a787724b8072a9897186647dc92abca793ec6fa96f4448eb16709448364ec4
+DIST findimports-2.4.0.gh.tar.gz 26597 BLAKE2B 8dc176a551a07f38996ddbcf0df865ad7c7c1c7f86036be0939578a932155f30bdff17d2880063edd49ae1d169ebfb5bbade771a626859ad8306d54df743ee79 SHA512 90dfc39a5f73ea86a9d5c3ebec0f220f2f428f5768edc9688c47079f555b44abb80b4945b38550032289a3bff659f3857019a50882b1b2f2e83570f3e36530be
diff --git a/dev-python/findimports/findimports-2.2.0-r1.ebuild b/dev-python/findimports/findimports-2.2.0-r1.ebuild
deleted file mode 100644
index 5515ad8014c3..000000000000
--- a/dev-python/findimports/findimports-2.2.0-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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 218062451e1a..f7d234d76cce 100644
--- a/dev-python/fitsio/Manifest
+++ b/dev-python/fitsio/Manifest
@@ -1 +1 @@
-DIST fitsio-1.1.7.gh.tar.gz 5052055 BLAKE2B be9c632dcdd08325c5abb2cb9ed9eee6476b27ef2e7197298b269156346ecb72afc9f1d1c2e3ade045f69cde3afac5a6bf3fe5ecbce67fdfc1e6ede529ab1b32 SHA512 d6e81de08c38346050fbaa3e2fb51a496e76133bb0b04f20d816b51b7b7bf21ba37a400c3a6a7f966959223545c736ca6245427457154a4b5976b5a997e9cfcc
+DIST fitsio-1.2.1.gh.tar.gz 4584464 BLAKE2B 376d2afe2e637075fca88c24c17117600973dc81fbb006e3e8bf4ddab023db6a466653187b686a4beb75339559cb4b77e0bf927f09c991d9205ffb0e66ad17a6 SHA512 645c117c394a18cdbb0c5033a1446e1f6e6473f54d9556b7591f33873855a70860343b3e4811284d7dfa16696ef23a1abb74ee638318d7295eb85ec4b17f0309
diff --git a/dev-python/fitsio/fitsio-1.1.7.ebuild b/dev-python/fitsio/fitsio-1.1.7.ebuild
deleted file mode 100644
index 238fbca619fb..000000000000
--- a/dev-python/fitsio/fitsio-1.1.7.ebuild
+++ /dev/null
@@ -1,37 +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_{8..10} )
-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 9b3bfd2269d4..000000000000
--- a/dev-python/fixtures/fixtures-4.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=pbr
-PYTHON_COMPAT=( python3_{8..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 ~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
new file mode 100644
index 000000000000..950b42dd36e7
--- /dev/null
+++ b/dev-python/flake8-polyfill/flake8-polyfill-1.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
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Polyfill package for Flake8 plugins"
+HOMEPAGE="
+ https://gitlab.com/pycqa/flake8-polyfill/
+ https://pypi.org/project/flake8-polyfill/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/flake8[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Get rid of the test that seems to test only the migration from
+ # pep8 to pycodestyle (bug 598918).
+ tests/test_stdin.py
+)
+
+src_prepare() {
+ sed -e 's|\[pytest\]|\[tool:pytest\]|' -i setup.cfg || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/flake8-polyfill/flake8-polyfill-1.0.2.ebuild b/dev-python/flake8-polyfill/flake8-polyfill-1.0.2.ebuild
deleted file mode 100644
index e9866fde8326..000000000000
--- a/dev-python/flake8-polyfill/flake8-polyfill-1.0.2.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Polyfill package for Flake8 plugins"
-HOMEPAGE="https://gitlab.com/pycqa/flake8-polyfill"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-python/flake8[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/mock[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # Get rid of the test that seems to test only the migration from
- # pep8 to pycodestyle (bug 598918).
- tests/test_stdin.py
-)
-
-src_prepare() {
- sed -e 's|\[pytest\]|\[tool:pytest\]|' -i setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/flake8-polyfill/metadata.xml b/dev-python/flake8-polyfill/metadata.xml
index a011ff124337..1e661ba0fbb8 100644
--- a/dev-python/flake8-polyfill/metadata.xml
+++ b/dev-python/flake8-polyfill/metadata.xml
@@ -7,5 +7,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">flake8-polyfill</remote-id>
+ <remote-id type="gitlab">pycqa/flake8-polyfill</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/flake8/Manifest b/dev-python/flake8/Manifest
index 634c208f8c8b..d47e9feaa2a1 100644
--- a/dev-python/flake8/Manifest
+++ b/dev-python/flake8/Manifest
@@ -1,5 +1 @@
-DIST flake8-4.0.1.tar.gz 154905 BLAKE2B b93fea36236881da595ae924b056686e0cd35d2466c1858e3ee83262922df8bc38cf5cd40a910980d287d048572dc94eb8d7c8ee4b11ebd1b4a474dfca02490c SHA512 0bdbf0218ce893df1c3e61f51cd3f371a5c72bb49ef78fec39548b1684e49b024e91cf4e3dcea60ba1efc08727985ef485814c372461e062ff4f810da99a1796
-DIST flake8-5.0.1.gh.tar.gz 145559 BLAKE2B 27c49d0e30696be086a68382235611fccf978edbd73fff0b41cd285eb6443bc183f12d54337777d07348951a6e1775793608be567149fecdfcd40cb75e879fcd SHA512 63e91269c9cad7d5807a5b6cc6dfe5fc1db6353fe28bbb6b3459e9a7ee3140db2a40c202d5964acc69546af386d4f0ea5132cbcc60d07f179960249827062440
-DIST flake8-5.0.2.gh.tar.gz 145812 BLAKE2B 64ebbeebf8aa2dc4dca2e14cb09965cfa86f6a5353f5ff78cb0cb2a8e60cd05d041e3d1e1668a1f9c143030bb62ca6d8d17d8b084a2e56175843460cf0bfe78c SHA512 0d1ba9bff706060bd9d5ad0f230c7a4d8a2b70f30907c8a78222d54b0f099f77b7a48e5658251cb862d0894a45e230b058bf50ba324ea1d4ddcdf1336c343cb6
-DIST flake8-5.0.3.gh.tar.gz 145956 BLAKE2B c6a54c67962bad905827600632f08b73c34c42ffe4f4242b9448b222ef0d1339d9e68174bcb17a8b85f357783e847c3171f963f7d21d9d2014af02c4a5e5856d SHA512 db2ce4a2bbbcc97c3a79dbf64e299ef2853470ace99dceae0dd63a5f58603531af2d4afe3f3db76ac483bb5c8884bfbaf15ba4c9e61f6b507634cbff83dcbb47
-DIST flake8-5.0.4.gh.tar.gz 146207 BLAKE2B c99ec0977948e98ca62106737509f7901b15871894f08c1dc82a4dfdf7567bc85eaca5918600fc42d0c82de612644df1b587e8a7c84fbe040d1402c3513e1855 SHA512 2e9f8bf2bbca1ab0b7cb0bc6aee53f7e12288194a80a8be915478061fd76adb8d270ee50383b45beb9d4dd1ee806f104e7bbf29f69b23a7cd88ee0902ff3e965
+DIST flake8-7.0.0.gh.tar.gz 138456 BLAKE2B faf0b54ede3c3184e12986fb9247f73a149a5fd9ebba90578aae8550d2749bcacdab1fa4699ea0b8d69309d0bd5c26dd5162c54a8f8eb33ed64009c919e147fe SHA512 cebcd61d266c6d2f837178d0708217b471662e81dabaa911850883657307747180173c5f6cde11abc2b14381baecff9d6adeca2979bcb85be03a4a6ff57de2c4
diff --git a/dev-python/flake8/files/flake8-4.0.1-upgrade-mccabe.patch b/dev-python/flake8/files/flake8-4.0.1-upgrade-mccabe.patch
deleted file mode 100644
index 5dab4af913fe..000000000000
--- a/dev-python/flake8/files/flake8-4.0.1-upgrade-mccabe.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.cfg b/setup.cfg
-index 9cbc9b3..732d6a2 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -35,7 +35,7 @@ packages = find:
- package_dir =
- =src
- install_requires =
-- mccabe>=0.6.0,<0.7.0
-+ mccabe>=0.7.0,<0.8.0
- pycodestyle>=2.8.0,<2.9.0
- pyflakes>=2.4.0,<2.5.0
- importlib-metadata<4.3;python_version<"3.8"
diff --git a/dev-python/flake8/flake8-4.0.1-r2.ebuild b/dev-python/flake8/flake8-4.0.1-r2.ebuild
deleted file mode 100644
index 330b48a50e31..000000000000
--- a/dev-python/flake8/flake8-4.0.1-r2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( pypy3 python3_{8..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="A wrapper around PyFlakes, pep8 & mccabe"
-HOMEPAGE="https://gitlab.com/pycqa/flake8 https://pypi.org/project/flake8/"
-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 ~x64-macos"
-
-# requires.txt inc. mccabe however that creates a circular dep
-RDEPEND="
- >=dev-python/pyflakes-2.4.0[${PYTHON_USEDEP}]
- <dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.8.0[${PYTHON_USEDEP}]
- <dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
-"
-PDEPEND="
- >=dev-python/mccabe-0.7.0[${PYTHON_USEDEP}]
- <dev-python/mccabe-0.8.0[${PYTHON_USEDEP}]
-
-"
-BDEPEND="${RDEPEND}
- test? (
- ${PDEPEND}
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-upgrade-mccabe.patch"
-)
-
-distutils_enable_sphinx docs/source dev-python/sphinx-prompt dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-src_prepare() {
- # remove version-limited dep
- sed -i -e '/importlib-metadata/d' setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/flake8/flake8-5.0.1.ebuild b/dev-python/flake8/flake8-5.0.1.ebuild
deleted file mode 100644
index 37823287f388..000000000000
--- a/dev-python/flake8/flake8-5.0.1.ebuild
+++ /dev/null
@@ -1,49 +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_{8..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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-# requires.txt inc. mccabe however that creates a circular dep
-RDEPEND="
- >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
- <dev-python/pyflakes-2.6.0[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.9.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-5.0.2.ebuild b/dev-python/flake8/flake8-5.0.2.ebuild
deleted file mode 100644
index 37823287f388..000000000000
--- a/dev-python/flake8/flake8-5.0.2.ebuild
+++ /dev/null
@@ -1,49 +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_{8..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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-# requires.txt inc. mccabe however that creates a circular dep
-RDEPEND="
- >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
- <dev-python/pyflakes-2.6.0[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.9.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-5.0.3.ebuild b/dev-python/flake8/flake8-5.0.3.ebuild
deleted file mode 100644
index 37823287f388..000000000000
--- a/dev-python/flake8/flake8-5.0.3.ebuild
+++ /dev/null
@@ -1,49 +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_{8..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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-# requires.txt inc. mccabe however that creates a circular dep
-RDEPEND="
- >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
- <dev-python/pyflakes-2.6.0[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.9.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-5.0.4.ebuild b/dev-python/flake8/flake8-5.0.4.ebuild
deleted file mode 100644
index 37823287f388..000000000000
--- a/dev-python/flake8/flake8-5.0.4.ebuild
+++ /dev/null
@@ -1,49 +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_{8..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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-# requires.txt inc. mccabe however that creates a circular dep
-RDEPEND="
- >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
- <dev-python/pyflakes-2.6.0[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.9.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/flake8/metadata.xml b/dev-python/flake8/metadata.xml
index 3a5a3fc849da..e9ec91a01fbd 100644
--- a/dev-python/flake8/metadata.xml
+++ b/dev-python/flake8/metadata.xml
@@ -8,6 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">flake8</remote-id>
- <remote-id type="gitlab">pycqa/flake8</remote-id>
+ <remote-id type="github">PyCQA/flake8</remote-id>
</upstream>
</pkgmetadata>
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 bcaec222a35b..000000000000
--- a/dev-python/flaky/flaky-3.7.0-r2.ebuild
+++ /dev/null
@@ -1,42 +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_{8..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.8.1.ebuild b/dev-python/flaky/flaky-3.8.1.ebuild
new file mode 100644
index 000000000000..812512de69c7
--- /dev/null
+++ b/dev-python/flaky/flaky-3.8.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Plugin for pytest that automatically reruns flaky tests"
+HOMEPAGE="
+ https://github.com/box/flaky/
+ https://pypi.org/project/flaky/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/genty[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ epytest -k 'example and not options' --doctest-modules test/test_pytest/ || die
+ epytest -p no:flaky test/test_pytest/test_flaky_pytest_plugin.py || die
+ epytest --force-flaky --max-runs 2 test/test_pytest/test_pytest_options_example.py || die
+}
diff --git a/dev-python/flasgger/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 0d56985e7d61..000000000000
--- a/dev-python/flask-api/flask-api-3.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{8..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-assets/Manifest b/dev-python/flask-assets/Manifest
deleted file mode 100644
index c9c5e671fbaf..000000000000
--- a/dev-python/flask-assets/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST flask-assets-0.12.tar.gz 23017 BLAKE2B df7eb45a9abdd0be3f23655f49d30b53c90ea204fa0c91c286657d6b12750c7cdb11e78c2c8e140dc8677c90f52fa44c7d776c446c8fd4f92a060a570bdacb2c SHA512 28a5b275ba002c32e53200038673e507556d0acc12ccc9d2678ea3c179aa93eff275dd8fca9686186d20b65faa1600902e892a6aa4043df449c399008a37179d
diff --git a/dev-python/flask-assets/flask-assets-0.12.ebuild b/dev-python/flask-assets/flask-assets-0.12.ebuild
deleted file mode 100644
index 851c9b12a082..000000000000
--- a/dev-python/flask-assets/flask-assets-0.12.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9,10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Flask webassets integration"
-HOMEPAGE="https://github.com/miracle2k/flask-assets"
-SRC_URI="https://github.com/miracle2k/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64"
-
-RDEPEND="
- >=dev-python/flask-0.8
- dev-python/webassets"
-BDEPEND="
- ${RDEPEND}"
diff --git a/dev-python/flask-assets/metadata.xml b/dev-python/flask-assets/metadata.xml
deleted file mode 100644
index 005f8e3c2150..000000000000
--- a/dev-python/flask-assets/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>alexxy@gentoo.org</email>
- <name>Alexey Shvetsov</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">miracle2k/flask-assets</remote-id>
- <remote-id type="pypi">Flask-Assets</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/flask-babel/Manifest b/dev-python/flask-babel/Manifest
index af1ebc3b96f7..dabe96f7c215 100644
--- a/dev-python/flask-babel/Manifest
+++ b/dev-python/flask-babel/Manifest
@@ -1 +1 @@
-DIST Flask-Babel-2.0.0.tar.gz 19588 BLAKE2B dbd5d6f3af38fad15a4eb6d674222473d673a9002ced21ce09a913e0bce3285b1eac9a5a85ce53c1dcebf648444164f33a5c790039a7d01184d45c7734dac05f SHA512 2ad8f80b450db0cab7dd57f46158e7e653556d60869acdb3c2469d42dceca3fa97237cc960986655091c84a1a67a057d72ed510787ccb065d171e6f35764cb1d
+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.ebuild b/dev-python/flask-babel/flask-babel-2.0.0.ebuild
deleted file mode 100644
index fdc3d3f53662..000000000000
--- a/dev-python/flask-babel/flask-babel-2.0.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{8..10} )
-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://pythonhosted.org/Flask-Babel/
- https://pypi.org/project/Flask-Babel/
- https://github.com/python-babel/flask-babel/"
-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 ~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/flask-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-babelex/Manifest b/dev-python/flask-babelex/Manifest
deleted file mode 100644
index a63893e2a779..000000000000
--- a/dev-python/flask-babelex/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST Flask-BabelEx-0.9.4.tar.gz 43423 BLAKE2B 9aa6223cd29cd1ce3de0d8c8b771980457fa0ee76b7fd361b9b6d8ae79f521b36096b4d912281b7fe671655ac8c7b04032c68fcc59463c5630af073f264f5815 SHA512 0deec4b481876f4c76cde398157cd2bdc564e9d1076a7accf1720be86b41912466435412ad5f7e5e8b06f17ad5363ea503191b159b30625d067e76a45eaba957
diff --git a/dev-python/flask-babelex/files/flask-babelex-0.9.3-tests-fix.patch b/dev-python/flask-babelex/files/flask-babelex-0.9.3-tests-fix.patch
deleted file mode 100644
index 5b11f1ae6e46..000000000000
--- a/dev-python/flask-babelex/files/flask-babelex-0.9.3-tests-fix.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From d56d2c9a42c291a3592f3d7977b4dcca9ac755b3 Mon Sep 17 00:00:00 2001
-From: Jeffrey Kyllo <jkyllo@echospiral.com>
-Date: Mon, 25 Jan 2016 14:00:04 +0000
-Subject: [PATCH] Updated DateFormattingTestCase with new datetime formats from
- babel.
-
----
- tests/tests.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/tests/tests.py b/tests/tests.py
-index 63c2ecf..2df68ee 100644
---- a/tests/tests.py
-+++ b/tests/tests.py
-@@ -35,7 +35,7 @@ def test_basics(self):
- with app.test_request_context():
- app.config['BABEL_DEFAULT_LOCALE'] = 'de_DE'
- assert babel.format_datetime(d, 'long') == \
-- '12. April 2010 15:46:00 MESZ'
-+ '12. April 2010 um 15:46:00 MESZ'
-
- def test_init_app(self):
- b = babel.Babel()
-@@ -57,7 +57,7 @@ def test_init_app(self):
- with app.test_request_context():
- app.config['BABEL_DEFAULT_LOCALE'] = 'de_DE'
- assert babel.format_datetime(d, 'long') == \
-- '12. April 2010 15:46:00 MESZ'
-+ '12. April 2010 um 15:46:00 MESZ'
-
- def test_custom_formats(self):
- app = flask.Flask(__name__)
-@@ -95,7 +95,7 @@ def select_timezone():
- the_timezone = 'Europe/Vienna'
-
- with app.test_request_context():
-- assert babel.format_datetime(d) == '12.04.2010 15:46:00'
-+ assert babel.format_datetime(d) == '12.04.2010, 15:46:00'
-
- def test_refreshing(self):
- app = flask.Flask(__name__)
diff --git a/dev-python/flask-babelex/flask-babelex-0.9.4-r1.ebuild b/dev-python/flask-babelex/flask-babelex-0.9.4-r1.ebuild
deleted file mode 100644
index ae08fa04ef42..000000000000
--- a/dev-python/flask-babelex/flask-babelex-0.9.4-r1.ebuild
+++ /dev/null
@@ -1,49 +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_{8..11} )
-
-inherit distutils-r1
-
-MY_PN="Flask-BabelEx"
-MY_P="${MY_PN}-${PV}"
-DESCRIPTION="Adds i18n/l10n support to Flask applications"
-HOMEPAGE="
- https://github.com/mrjoes/flask-babelex/
- https://pypi.org/project/Flask-BabelEx/
-"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- dev-python/flask[${PYTHON_USEDEP}]
- >=dev-python/Babel-1[${PYTHON_USEDEP}]
- >=dev-python/speaklater-1.2[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.5[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-distutils_enable_sphinx docs \
- dev-python/flask-sphinx-themes
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.9.3-tests-fix.patch"
-)
-
-src_prepare() {
- # remove speaklater dep to allow speaklater3
- sed -i -e '/speaklater/d' setup.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- cd tests || die
- eunittest
-}
diff --git a/dev-python/flask-babelex/metadata.xml b/dev-python/flask-babelex/metadata.xml
deleted file mode 100644
index 47b06c786439..000000000000
--- a/dev-python/flask-babelex/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-BabelEx</remote-id>
- <remote-id type="github">mrjoes/flask-babelex</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/flask-compress/Manifest b/dev-python/flask-compress/Manifest
index 4bddeea9673e..0835d977d261 100644
--- a/dev-python/flask-compress/Manifest
+++ b/dev-python/flask-compress/Manifest
@@ -1 +1,2 @@
-DIST Flask-Compress-1.12.tar.gz 12581 BLAKE2B 5c925c19756730beaf5ac24b492e8bffcf7dd7c80df3c8440a8dfeca67e9756c50839246081b01b2da8c4b05839ee35b21b30f8e007734bbfcc1f056770ef3de SHA512 5712aff44aaaa379656e03f7b63fdef727721245cb9329e698a2e25aefca21a77202f5eb0c5f5828395647c694a5b417778a7b5db9eb592753a979d3994603a5
+DIST Flask-Compress-1.14.tar.gz 13544 BLAKE2B 4a2ba809ef378aa8132a22c87acfb535946f347f41d05bf2d9d8de13d05cb0494000b8aa9ba40548236f0ec3e772159e091b41e0fe90f8d6f782a70aabd1e043 SHA512 7f30f64bddeaa06875725b6195348cdfb20d3fdd0d8a392f0fbeb209ad5a532bd222fc1c9ceadf7dcff614f2513a885724bfc165fccf162c889924e3b73bee3c
+DIST flask_compress-1.15.tar.gz 13944 BLAKE2B cdad9f1590b47ce7443d14cba9143f795cf355c2c6991d62ea362744366595b85c5ec8680b448af78c293519b50985a805d275227bf68628039293f72c68c890 SHA512 746fd7fb5efa2098d1aae179823b333ca083e6bb6945400d6a5401df0799a76733a67f8b38f952c59002c07705d7a7b0c6b43fbd291a368f98a363f3121dcd1f
diff --git a/dev-python/flask-compress/flask-compress-1.12.ebuild b/dev-python/flask-compress/flask-compress-1.12.ebuild
deleted file mode 100644
index 9d5901c77d5c..000000000000
--- a/dev-python/flask-compress/flask-compress-1.12.ebuild
+++ /dev/null
@@ -1,31 +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_{8..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-compress/flask-compress-1.15.ebuild b/dev-python/flask-compress/flask-compress-1.15.ebuild
new file mode 100644
index 000000000000..430fc2a5d6a6
--- /dev/null
+++ b/dev-python/flask-compress/flask-compress-1.15.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN="Flask-Compress"
+PYTHON_COMPAT=( python3_{10..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}]
+ dev-python/zstandard[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/flask-cors/Manifest b/dev-python/flask-cors/Manifest
index 5057cbc806c4..20195edb349a 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.1.gh.tar.gz 32226 BLAKE2B f6301842b20175587be43d3c1f22fb341463f25d21fcae9b6463e8c48b149ab7ddf000d5541645f217755bc43863ef060cf1e2f6e57941632db420efb1cd223e SHA512 51dd7c50d5db6a6b6985a32f08f9512603e64199bf90dd22349cd1dbff94f1706b1e26cbe7765fb6dc6310fce86ac470896b127dc83cc740436e1ae11c11f7eb
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 ffad8b8da3f4..000000000000
--- a/dev-python/flask-cors/flask-cors-3.0.10-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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.1.ebuild b/dev-python/flask-cors/flask-cors-4.0.1.ebuild
new file mode 100644
index 000000000000..9b092f6ef4b1
--- /dev/null
+++ b/dev-python/flask-cors/flask-cors-4.0.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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/${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 c4ac46372d40..000000000000
--- a/dev-python/flask-debug/flask-debug-0.4.3-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{8..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 25ccf70909aa..000000000000
--- a/dev-python/flask-gravatar/flask-gravatar-0.5.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2021 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_{8..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/Manifest b/dev-python/flask-htmlmin/Manifest
index c299eb8e264e..27f83b17100f 100644
--- a/dev-python/flask-htmlmin/Manifest
+++ b/dev-python/flask-htmlmin/Manifest
@@ -1 +1 @@
-DIST Flask-HTMLmin-2.2.0.gh.tar.gz 17637 BLAKE2B 541ae212ba5bfd5e5881adb108d62c994248a7f851512d0fddedb001737620433cb46e267cdd66de73a353c6b357802eb89ea33c771153bc0acf3937c06f83c3 SHA512 24287ef93e99a16e7dde35ba6b7b8fefa06f11ce30fb47969313c3e0e1135ac8a2685aac06bc430d3253162f4f2bc7e8eed90ddda2092bbad092d4e0d09cb4fc
+DIST Flask-HTMLmin-2.2.1.gh.tar.gz 17550 BLAKE2B 30393f6739ba8bdcfc17586e0955dff4341707b3c5bc27e30e9f9ddd5d4ff5b5b1b71b512b034b3b09cab3bfbcfb47c1651bc8cedba597de8aca5f2c7cfc0907 SHA512 34d5c9e2393901b32ab43c4333d87d75b489a410af2fdb019c180d0cb7bac01074616125486b49ef577782311a394bde6444ce311d5ab4f2ae2852a3ea92f4cd
diff --git a/dev-python/flask-htmlmin/flask-htmlmin-2.2.0.ebuild b/dev-python/flask-htmlmin/flask-htmlmin-2.2.0.ebuild
deleted file mode 100644
index c0bb57961f06..000000000000
--- a/dev-python/flask-htmlmin/flask-htmlmin-2.2.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MY_P="Flask-HTMLmin-${PV}"
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Minimize your flask rendered html"
-HOMEPAGE="https://github.com/hamidfzm/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
-
-src_prepare() {
- sed -e '/pytest-runner/d' -i setup.py || die
- distutils-r1_src_prepare
-}
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-login/Manifest b/dev-python/flask-login/Manifest
index 11f0a9042fe8..e2a1d3e5ee93 100644
--- a/dev-python/flask-login/Manifest
+++ b/dev-python/flask-login/Manifest
@@ -1,2 +1 @@
-DIST flask-login-0.6.1.gh.tar.gz 48215 BLAKE2B eb1fa81aad9bd8cf663b3ea85649f90f39d7a91c4c771e697b0cb7d66c7e4a5994befbaad36a7deba6f5aea27e6f47ff616aa00cd073433851cf8a9248e4b3a3 SHA512 f220e24079923c669d1ce27fdbc7ff8e07e92bc947e2708034cb349176e33ae0adf36ef6c30e8328f592d9a3eb6d0796dc577033f07c33ef0bc48c13a11a942e
-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.1.ebuild b/dev-python/flask-login/flask-login-0.6.1.ebuild
deleted file mode 100644
index c17cb52faeab..000000000000
--- a/dev-python/flask-login/flask-login-0.6.1.ebuild
+++ /dev/null
@@ -1,42 +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_{8..10} )
-
-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.2.ebuild b/dev-python/flask-login/flask-login-0.6.2.ebuild
deleted file mode 100644
index 132e7072e390..000000000000
--- a/dev-python/flask-login/flask-login-0.6.2.ebuild
+++ /dev/null
@@ -1,42 +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_{8..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-mail/Manifest b/dev-python/flask-mail/Manifest
deleted file mode 100644
index 705042982dbc..000000000000
--- a/dev-python/flask-mail/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST Flask-Mail-0.9.1.tar.gz 45654 BLAKE2B 4b7e352698bd9434c507d3a27b8e5b4976cc82484e86e64245423392b25000d904d19bafa07ea97a32c2a80ed6bbbbc59aed7386a8d5a2ad6b9b61b23fe4c5f8 SHA512 1d19f0bade77c66e73624d8af0919165f8b6f208a00c1e4025049b50ad56912557b8446cb80f8567adf697e92b126954a5f130bd9fa7a2345d4e98e35b29ac47
diff --git a/dev-python/flask-mail/flask-mail-0.9.1-r2.ebuild b/dev-python/flask-mail/flask-mail-0.9.1-r2.ebuild
deleted file mode 100644
index ce36895c47c5..000000000000
--- a/dev-python/flask-mail/flask-mail-0.9.1-r2.ebuild
+++ /dev/null
@@ -1,38 +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_{8..11} )
-
-inherit distutils-r1
-
-MY_PN="Flask-Mail"
-MY_P="${MY_PN}-${PV}"
-DESCRIPTION="Flask extension for sending email"
-HOMEPAGE="
- https://pythonhosted.org/Flask-Mail/
- https://github.com/mattupstate/flask-mail/
- https://pypi.org/project/Flask-Mail/
-"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- dev-python/blinker[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/speaklater[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests unittest
diff --git a/dev-python/flask-mail/metadata.xml b/dev-python/flask-mail/metadata.xml
deleted file mode 100644
index 732b34761952..000000000000
--- a/dev-python/flask-mail/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-Mail</remote-id>
- <remote-id type="github">mattupstate/flask-mail</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/flask-migrate/Manifest b/dev-python/flask-migrate/Manifest
index 1f0ca6368dd0..a9ec36fee4e3 100644
--- a/dev-python/flask-migrate/Manifest
+++ b/dev-python/flask-migrate/Manifest
@@ -1 +1 @@
-DIST Flask-Migrate-3.1.0.gh.tar.gz 23752 BLAKE2B c668db793813658d1486dad662869b65fc5461bc7256e2ca42ca0d11da88fc3a40618946d03c7fd4f869d0eda21af2d9fe29f146dac4d364b4642c2cd26b6d96 SHA512 4e14fa04381c4217e78c3766c86891e88cd2ff4e2eb1ab3c3a51344cbbb192a083246e60cdb6cc4c1ef42bf8108420e3befa1b59c44fe0890e5202fd275b5805
+DIST Flask-Migrate-4.0.7.gh.tar.gz 27172 BLAKE2B 743eccd8705c57a5748676e3f824632d2a547291d9816f903311c7abbc62eb418bf422aed183b10d986a923a00337310b7ab03bce774f839c81520686a9b90f5 SHA512 51da745b60d43d24ee5b63e5ee7d354d12e53b7c62a9c639f322443df62113485a42a6fd21e50673742d6a35c1f175e15a2a0af8f20918b44bf34fc4c2da4c7c
diff --git a/dev-python/flask-migrate/flask-migrate-3.1.0.ebuild b/dev-python/flask-migrate/flask-migrate-3.1.0.ebuild
deleted file mode 100644
index a20023462880..000000000000
--- a/dev-python/flask-migrate/flask-migrate-3.1.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-MY_P="Flask-Migrate-${PV}"
-
-DESCRIPTION="SQLAlchemy database migrations for Flask applications using Alembic"
-HOMEPAGE="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 --install unittest
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-migrate/metadata.xml b/dev-python/flask-migrate/metadata.xml
index ecf1bcf6f89a..8c1ab3c38b70 100644
--- a/dev-python/flask-migrate/metadata.xml
+++ b/dev-python/flask-migrate/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">miguelgrinberg/Flask-Migrate</remote-id>
<remote-id type="pypi">Flask-Migrate</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/flask-nav/Manifest b/dev-python/flask-nav/Manifest
index 9b9e51c62b38..610ccc8eb327 100644
--- a/dev-python/flask-nav/Manifest
+++ b/dev-python/flask-nav/Manifest
@@ -1 +1 @@
-DIST flask-nav-0.6.tar.gz 12270 BLAKE2B eff90b6fc08629139012e2d920b4d464ed06954040a5e97636a7aa4d59d11654839460ef52477cfcec967bd774d942028a53675d682e850f08f6359c5cfbb54e SHA512 a7930687425a53fac9ad9a7cb65c2e2a759a0c9660189965bf37ea6e9925dd869074d37a283801631b3e6c3391f9f4167e0a36294104f72970e876b5a7a0930c
+DIST flask-nav-0.6.gh.tar.gz 12270 BLAKE2B eff90b6fc08629139012e2d920b4d464ed06954040a5e97636a7aa4d59d11654839460ef52477cfcec967bd774d942028a53675d682e850f08f6359c5cfbb54e SHA512 a7930687425a53fac9ad9a7cb65c2e2a759a0c9660189965bf37ea6e9925dd869074d37a283801631b3e6c3391f9f4167e0a36294104f72970e876b5a7a0930c
diff --git a/dev-python/flask-nav/flask-nav-0.6-r4.ebuild b/dev-python/flask-nav/flask-nav-0.6-r4.ebuild
deleted file mode 100644
index d76d33a060fc..000000000000
--- a/dev-python/flask-nav/flask-nav-0.6-r4.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( pypy3 python3_{7..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Easily create navigation for Flask applications"
-HOMEPAGE="https://pythonhosted.org/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}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/dominate[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- dev-python/visitor[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/alabaster
-
-PATCHES=(
- # https://github.com/mbr/flask-nav/pull/27
- "${FILESDIR}/${P}-py310.patch"
-)
diff --git a/dev-python/flask-nav/flask-nav-0.6-r5.ebuild b/dev-python/flask-nav/flask-nav-0.6-r5.ebuild
new file mode 100644
index 000000000000..2ef2988a35b8
--- /dev/null
+++ b/dev-python/flask-nav/flask-nav-0.6-r5.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=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Easily create navigation for Flask applications"
+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/flask-nav/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/dominate[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ dev-python/visitor[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs dev-python/alabaster
+
+PATCHES=(
+ # https://github.com/mbr/flask-nav/pull/27
+ "${FILESDIR}/${P}-py310.patch"
+)
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 186458c0798f..000000000000
--- a/dev-python/flask-paginate/flask-paginate-2022.1.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=8
-
-PYTHON_COMPAT=( python3_{8..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 1ccd9769a97c..3cc4a2f60f52 100644
--- a/dev-python/flask-paranoid/flask-paranoid-0.3.0.ebuild
+++ b/dev-python/flask-paranoid/flask-paranoid-0.3.0.ebuild
@@ -1,15 +1,18 @@
-# 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_{8..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-principal/Manifest b/dev-python/flask-principal/Manifest
deleted file mode 100644
index 00fdfbe4e2de..000000000000
--- a/dev-python/flask-principal/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST flask-principal-0.4.0.tar.gz 17287 BLAKE2B f5c44e21b4e8242122fc10c7c17bd0e6a4759eda555d4355bc340228eff18f1fc3f519f2ef822448b651c0aa3a00a16c562001d17d8915ce417eb56cd39d2adc SHA512 ed8cb28c4e8d936de96db0bf9f7cb45b253dc204c4b8f8dd8022ef1552592ff6324b4a33d3ee862794a6e20eb8c32a0365e7b9397d427da5022c5ded3dfa308a
diff --git a/dev-python/flask-principal/flask-principal-0.4.0-r2.ebuild b/dev-python/flask-principal/flask-principal-0.4.0-r2.ebuild
deleted file mode 100644
index a06a64000a94..000000000000
--- a/dev-python/flask-principal/flask-principal-0.4.0-r2.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Identity management for flask"
-HOMEPAGE="https://pythonhosted.org/Flask-Principal/ https://pypi.org/project/Flask-Principal/"
-SRC_URI="
- https://github.com/mattupstate/${PN}/archive/${PV}.tar.gz
- -> ${P}.tar.gz
-"
-# pypi tarball is missing tests
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/blinker[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/flask-principal/metadata.xml b/dev-python/flask-principal/metadata.xml
deleted file mode 100644
index cc815a588cca..000000000000
--- a/dev-python/flask-principal/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-Principal</remote-id>
- <remote-id type="github">mattupstate/flask-principal</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/flask-restful/Manifest b/dev-python/flask-restful/Manifest
deleted file mode 100644
index fb2a8dc5a1f4..000000000000
--- a/dev-python/flask-restful/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST flask-restful-0.3.9.gh.tar.gz 118195 BLAKE2B a4f18c3faf06a7c9b628657aafbab4b9492793d9a61ab60a3e4d8112e0fb5e120cff2f2dae87915e44915838572ae0ca1737025ad5f906c2a953afc4b1f49c6f SHA512 34bea8ed6e9de3ad1c2ca63e7af67ed2a175f84c433b08ff643f91d88feda0e3c1c3967deb2fe5ad308b05f373b10c08245edf65ed97a7c5a3683aa900e9edf2
diff --git a/dev-python/flask-restful/flask-restful-0.3.9.ebuild b/dev-python/flask-restful/flask-restful-0.3.9.ebuild
deleted file mode 100644
index 0dd0f3163590..000000000000
--- a/dev-python/flask-restful/flask-restful-0.3.9.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple framework for creating REST APIs"
-HOMEPAGE="
- https://flask-restful.readthedocs.io/en/latest/
- https://github.com/flask-restful/flask-restful/"
-SRC_URI="
- https://github.com/flask-restful/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/aniso8601-0.82[${PYTHON_USEDEP}]
- >=dev-python/flask-0.8[${PYTHON_USEDEP}]
- >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests nose
-
-python_install_all() {
- use examples && dodoc -r examples
- local DOCS=( AUTHORS.md CHANGES.md CONTRIBUTING.md README.md )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/flask-restful/metadata.xml b/dev-python/flask-restful/metadata.xml
deleted file mode 100644
index 8562704324cc..000000000000
--- a/dev-python/flask-restful/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">flask-restful/flask-restful</remote-id>
- <remote-id type="pypi">Flask-RESTful</remote-id>
- </upstream>
-</pkgmetadata>
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 1932eee2f304..000000000000
--- a/dev-python/flask-script/flask-script-2.0.6.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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-security/Manifest b/dev-python/flask-security/Manifest
deleted file mode 100644
index 372f0361383a..000000000000
--- a/dev-python/flask-security/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST flask-security-4.1.4.gh.tar.gz 408532 BLAKE2B 5fd401da8a907ff56ab7fe1fc79ec586222c26d60d921534afea4743cbc6840098f8a1d231741f83f061e2a4f747c4937be848aa4bfee8b3cf4bc06a8928e437 SHA512 d9ec87d1d2baa11b00db437135060630ea06451d96057fc8712ced8bc433fb6779f7b2561ad1c96d8f192a43acdc93dddf7f44ec75f89297204fd1796dcad1df
-DIST flask-security-4.1.5.gh.tar.gz 408704 BLAKE2B 18a1711e99794293fec17cca90ab9fcc7437c4882d7f14fb8c5abfddf137724a37ecf968cebd3801ef509f5b34f9671428405477894166d9c4350e1fd4a59054 SHA512 cf0a4ea6d8ad519ae5055898d2b7eb1bea8b3ceb3fffd2a79b47b92c6ccb72b692ed9483088fbea3987ff6fa3aaf60fcc388b7553a7e3e6ba8edfce63c714ad3
diff --git a/dev-python/flask-security/flask-security-4.1.4.ebuild b/dev-python/flask-security/flask-security-4.1.4.ebuild
deleted file mode 100644
index 80cde17b13c7..000000000000
--- a/dev-python/flask-security/flask-security-4.1.4.ebuild
+++ /dev/null
@@ -1,66 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple security for Flask apps"
-HOMEPAGE="
- https://github.com/Flask-Middleware/flask-security/
- https://pypi.org/project/Flask-Security-Too/"
-SRC_URI="
- https://github.com/Flask-Middleware/flask-security/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/bleach-3.3.1[${PYTHON_USEDEP}]
- >=dev-python/blinker-1.4[${PYTHON_USEDEP}]
- dev-python/cachetools[${PYTHON_USEDEP}]
- >=dev-python/flask-1.1.1[${PYTHON_USEDEP}]
- >=dev-python/flask-babelex-0.9.3[${PYTHON_USEDEP}]
- >=dev-python/flask-login-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/flask-principal-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/flask-wtf-0.14.3[${PYTHON_USEDEP}]
- >=dev-python/itsdangerous-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/passlib-1.7.2[${PYTHON_USEDEP}]
- >=dev-python/python-email-validator-1.1.1[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/Babel[${PYTHON_USEDEP}]
- test? (
- >=dev-python/argon2-cffi-19.1.0[${PYTHON_USEDEP}]
- >=dev-python/bcrypt-3.1.5[${PYTHON_USEDEP}]
- dev-python/bleach[${PYTHON_USEDEP}]
- >=dev-python/cryptography-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/flask-mail-0.9.1[${PYTHON_USEDEP}]
- >=dev-python/flask-sqlalchemy-2.3[${PYTHON_USEDEP}]
- >=dev-python/mongomock-3.19.0[${PYTHON_USEDEP}]
- >=dev-python/peewee-3.11.2[${PYTHON_USEDEP}]
- >=dev-python/phonenumbers-8.11.1[${PYTHON_USEDEP}]
- >=dev-python/psycopg-2.8.4:2[${PYTHON_USEDEP}]
- >=dev-python/pymysql-0.9.3[${PYTHON_USEDEP}]
- >=dev-python/pyqrcode-1.2[${PYTHON_USEDEP}]
- >=dev-python/zxcvbn-4.4.28[${PYTHON_USEDEP}]
- >=dev-python/pony-0.7.11[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e 's@--cache-clear@-p no:httpbin@' pytest.ini || die
- distutils-r1_src_prepare
-}
-
-python_configure_all() {
- esetup.py compile_catalog
-}
diff --git a/dev-python/flask-security/flask-security-4.1.5.ebuild b/dev-python/flask-security/flask-security-4.1.5.ebuild
deleted file mode 100644
index d0756bee2e8a..000000000000
--- a/dev-python/flask-security/flask-security-4.1.5.ebuild
+++ /dev/null
@@ -1,67 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple security for Flask apps"
-HOMEPAGE="
- https://github.com/Flask-Middleware/flask-security/
- https://pypi.org/project/Flask-Security-Too/"
-SRC_URI="
- https://github.com/Flask-Middleware/flask-security/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/bleach-3.3.1[${PYTHON_USEDEP}]
- >=dev-python/blinker-1.4[${PYTHON_USEDEP}]
- dev-python/cachetools[${PYTHON_USEDEP}]
- >=dev-python/flask-1.1.1[${PYTHON_USEDEP}]
- >=dev-python/flask-babelex-0.9.3[${PYTHON_USEDEP}]
- >=dev-python/flask-login-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/flask-principal-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/flask-wtf-0.14.3[${PYTHON_USEDEP}]
- >=dev-python/itsdangerous-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/passlib-1.7.2[${PYTHON_USEDEP}]
- >=dev-python/python-email-validator-1.1.1[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/Babel[${PYTHON_USEDEP}]
- test? (
- >=dev-python/argon2-cffi-19.1.0[${PYTHON_USEDEP}]
- >=dev-python/bcrypt-3.1.5[${PYTHON_USEDEP}]
- dev-python/bleach[${PYTHON_USEDEP}]
- >=dev-python/cryptography-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/flask-mail-0.9.1[${PYTHON_USEDEP}]
- >=dev-python/flask-sqlalchemy-2.3[${PYTHON_USEDEP}]
- >=dev-python/mongomock-3.19.0[${PYTHON_USEDEP}]
- >=dev-python/peewee-3.11.2[${PYTHON_USEDEP}]
- >=dev-python/phonenumbers-8.11.1[${PYTHON_USEDEP}]
- >=dev-python/psycopg-2.8.4:2[${PYTHON_USEDEP}]
- >=dev-python/pymysql-0.9.3[${PYTHON_USEDEP}]
- >=dev-python/pyqrcode-1.2[${PYTHON_USEDEP}]
- >=dev-python/zxcvbn-4.4.28[${PYTHON_USEDEP}]
- >=dev-python/pony-0.7.11[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e 's/--cache-clear/-p no:httpbin/' -i pytest.ini || die
- distutils-r1_src_prepare
-}
-
-python_configure_all() {
- esetup.py compile_catalog
-}
diff --git a/dev-python/flask-security/metadata.xml b/dev-python/flask-security/metadata.xml
deleted file mode 100644
index 9b41c5afc845..000000000000
--- a/dev-python/flask-security/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-Security-Too</remote-id>
- <remote-id type="github">Flask-Middleware/flask-security</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 9673f91c3285..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
@@ -1,19 +1,17 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-MY_PN="Flask-Sphinx-Themes"
-MY_P="${MY_PN}-${PV}"
-
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{8..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 b4b7a01414c9..1ee93144736b 100644
--- a/dev-python/flask-sqlalchemy/Manifest
+++ b/dev-python/flask-sqlalchemy/Manifest
@@ -1 +1 @@
-DIST Flask-SQLAlchemy-2.5.1.tar.gz 132750 BLAKE2B 6378766e9ae5e697f9a0fe23471f0264e5ac1f4c824657e5197f6c35f9f12eb756528641c1078b1bf470170c557c3201314a80b922b4ab84e4664a0ccaad2a6c SHA512 5d483418204030837e62769d45c16af88c5be6dbafc7c340cc4e67ef1736ea5102f506156119864cd7673cf382b0d3f27050bda64273b93ef4805fce9e1a0f6f
+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 324394047caa..000000000000
--- a/dev-python/flask-sqlalchemy/flask-sqlalchemy-2.5.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
-
-PYTHON_COMPAT=( pypy3 python3_{8..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.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 728b55ae61cc..7c84ce7d1899 100644
--- a/dev-python/flask-sqlalchemy/metadata.xml
+++ b/dev-python/flask-sqlalchemy/metadata.xml
@@ -11,8 +11,8 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">Flask-SQLAlchemy</remote-id>
- <remote-id type="github">pallets/flask-sqlalchemy</remote-id>
- <bugs-to>https://github.com/pallets/flask-sqlalchemy/issues</bugs-to>
+ <remote-id type="github">pallets-eco/flask-sqlalchemy</remote-id>
+ <bugs-to>https://github.com/pallets-eco/flask-sqlalchemy/issues</bugs-to>
</upstream>
<longdescription lang="en">
Flask-SQLAlchemy is a Flask microframework extension which adds
diff --git a/dev-python/flask-wtf/Manifest b/dev-python/flask-wtf/Manifest
deleted file mode 100644
index 76af2d5bc784..000000000000
--- a/dev-python/flask-wtf/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST Flask-WTF-1.0.1.tar.gz 45721 BLAKE2B 9b38aaa9e83c8d08abed46343ee8a4e16a87aa0389307ce17bd44fed0996405f9de233572f3d7e6f91edb87c2233574183944bdb3458a6ee9f6da154a5e30bae SHA512 e1380e788d0b09ac84e158a6574883a2c061452595973bea8137f9c2789b8ed14bfc6816a571b9116643c36ed31e97ae9ad7fb0fa6c1638e5be142a6fc8d85f4
diff --git a/dev-python/flask-wtf/flask-wtf-1.0.1.ebuild b/dev-python/flask-wtf/flask-wtf-1.0.1.ebuild
deleted file mode 100644
index 6f4c46536fe2..000000000000
--- a/dev-python/flask-wtf/flask-wtf-1.0.1.ebuild
+++ /dev/null
@@ -1,43 +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_{8..10} )
-inherit distutils-r1
-
-MY_PN="Flask-WTF"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Simple integration of Flask and WTForms"
-HOMEPAGE="https://pythonhosted.org/Flask-WTF/ https://pypi.org/project/Flask-WTF/"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/Babel-1[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/flask-babel[${PYTHON_USEDEP}]
- dev-python/itsdangerous[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- >=dev-python/wtforms-1.0.5[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs \
- dev-python/pallets-sphinx-themes \
- dev-python/sphinxcontrib-log_cabinet \
- dev-python/sphinx-issues
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # tries to access things over the network
- tests/test_recaptcha.py
- # unpackaged Flask-Uploads
- tests/test_file.py
-)
diff --git a/dev-python/flask-wtf/metadata.xml b/dev-python/flask-wtf/metadata.xml
deleted file mode 100644
index 76d56247aaa2..000000000000
--- a/dev-python/flask-wtf/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="pypi">Flask-WTF</remote-id>
- <remote-id type="github">wtforms/flask-wtf</remote-id>
- <bugs-to>https://github.com/wtforms/flask-wtf/issues</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/flask/Manifest b/dev-python/flask/Manifest
index a84082af89d0..31db193f2be0 100644
--- a/dev-python/flask/Manifest
+++ b/dev-python/flask/Manifest
@@ -1,3 +1 @@
-DIST Flask-2.1.2.tar.gz 631846 BLAKE2B 9024a12dd6fabeffcf5939e2852734b278f25fb99830bb165cf46a09e3fd67d0997558d1b06a0dec3425d9b750be25bde147341c937e874811fe2496224a1f3e SHA512 65ca756d63da05e74863fbfd2ae574d6e75d6fab683dd08ea97b22a9b27be4f9a03ce7be44312a1f2c6a802bdf77ede3899734f3f1546000dd8b9c592571deec
-DIST Flask-2.1.3.tar.gz 630206 BLAKE2B 83c876fe94d2cb1b35677227214664b35b6908270097d3ef0e1150a7259cdce82fb91fa6ba7cc90e819623bb9cc79f8254cc5688c6dd1e1dedaa673f23591bfb SHA512 6289bcaa295265c501fda1292b496911768525acf4155c856e14479a213aec4ca50a45ddd81b30ccd31fd684da1942ec10400f2dc8280ceff6ded9baf55494e5
-DIST Flask-2.2.1.tar.gz 687433 BLAKE2B 9d5fbc6827110882c64102f596b1d272bf5b16fd5540eedf0bad52f4456b54c3ab53e474ec74bb0e7d3cc7cfc26a22d19fd908d0973b94e64b47ee3a66c5a4e6 SHA512 845857cd6441e935a5274f362708c1e84654f757b0412bb57dd1235943d1d0562b081b53e77920ab9891bbe6810a06f7564e828cda472844413f7a1249335d1a
+DIST flask-3.0.3.tar.gz 676315 BLAKE2B 19013ff4588dc057febe2720eadcfcadb0e1854731c2c9e391449696549106da930c11f94782610424ea40c1377e9b8aa52ca39fedc6ad0c98c9a70a56d01514 SHA512 977c0e5fd2d496fae8e34a035f211118642dc6518a14dc5f6c175b72c6a76407aeb9ff0ed1f5db636370a9aa7e0d36baa783713ea7bdabd7f28c8c2b94643cd1
diff --git a/dev-python/flask/flask-2.1.2.ebuild b/dev-python/flask/flask-2.1.2.ebuild
deleted file mode 100644
index 48df9fe3e438..000000000000
--- a/dev-python/flask/flask-2.1.2.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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.0[${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-2.1.3.ebuild b/dev-python/flask/flask-2.1.3.ebuild
deleted file mode 100644
index 1173c5e5bd45..000000000000
--- a/dev-python/flask/flask-2.1.3.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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.0[${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-2.2.1.ebuild b/dev-python/flask/flask-2.2.1.ebuild
deleted file mode 100644
index 3a8c008e1ad8..000000000000
--- a/dev-python/flask/flask-2.2.1.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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.3.ebuild b/dev-python/flask/flask-3.0.3.ebuild
new file mode 100644
index 000000000000..e59b6ec1d32e
--- /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 ce199c62dfa8..080fa756df8b 100644
--- a/dev-python/flatbuffers/Manifest
+++ b/dev-python/flatbuffers/Manifest
@@ -1 +1 @@
-DIST flatbuffers-2.0.6.tar.gz 1724250 BLAKE2B b6969b28dba753c4551b33d27409d9925c10a640ae860264f8054c19a470ce3da366c0bf7917bf7fe4f6cb57acbfbe1837f175fde40b84d311df6d1378d146ce SHA512 be631f34064c28d81876bf137c796e9736623cf2cc4f2a05dd45372e7195729c99fad1fa795f8ce71a408756a842edbdc0c3bc714a7cf63203a1de8681d86fb6
+DIST flatbuffers-24.3.25.gh.tar.gz 2297829 BLAKE2B f3a5a94119a1b1b63fba9126e1cdff7ab712996bfc0d65626a679405f62dfa722bc5de244ef775fba336224b60feff3aa27acf54bed027c4013590b4afbefe7c SHA512 e2a614f4fc526ce07bfe1e1bc79efd3c87acbdb93aee7b42994d4855abd2593f36b5ca1edb53c7dcd470d5fbe14a3e394bd75dcebb4458cc0aeb33d622a3c662
diff --git a/dev-python/flatbuffers/flatbuffers-2.0.6.ebuild b/dev-python/flatbuffers/flatbuffers-2.0.6.ebuild
deleted file mode 100644
index 4eddf1fbaf28..000000000000
--- a/dev-python/flatbuffers/flatbuffers-2.0.6.ebuild
+++ /dev/null
@@ -1,22 +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_{8..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}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~riscv x86"
-
-S=${WORKDIR}/${P}/python
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 c3d770dc63a9..244c8d53085d 100644
--- a/dev-python/flatbuffers/metadata.xml
+++ b/dev-python/flatbuffers/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>
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 921df3ab8fe3..7c46bd0bd0e1 100644
--- a/dev-python/fleep/fleep-1.0.1-r1.ebuild
+++ b/dev-python/fleep/fleep-1.0.1-r1.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_{8..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 3504702d9333..0a6f6b209866 100644
--- a/dev-python/fleep/fleep-9999.ebuild
+++ b/dev-python/fleep/fleep-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_{8..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 c890f8ca7300..000000000000
--- a/dev-python/flexmock/flexmock-0.11.3.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..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..884223238eb7
--- /dev/null
+++ b/dev-python/flit-core/flit-core-3.9.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} 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
new file mode 100644
index 000000000000..3f418d3bf441
--- /dev/null
+++ b/dev-python/flit-core/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="pypi">flit-core</remote-id>
+ <remote-id type="github">pypa/flit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flit/Manifest b/dev-python/flit/Manifest
index a77ee600896d..60baf679be04 100644
--- a/dev-python/flit/Manifest
+++ b/dev-python/flit/Manifest
@@ -1 +1,2 @@
-DIST flit-3.7.1.tar.gz 136642 BLAKE2B b94f8bbe00c2c5fb28bddbdcf240255ed53ec3b24d2eab1a33e37261cf32a92a0171ea01ad1488384c15f46acbf84d47c4679b318932a3ee78f22c1d161156b0 SHA512 336e81b034da2f38d7decb32c8961ce62d30f6fd2cb4778b09c956eb400277673d4c94cd57cf08fa7f115f8836aadb0469197d0096f833da9317db8a4f75baed
+DIST flit-3.8.0.tar.gz 139496 BLAKE2B 85ee9fb13af35bf6716713bd7cf3f5893cd729826ad362aa5ec22077f9b4d16db4d785f183dee37c725b771188f31f2cf38c8e4aedc3af25a3efdc8ff1460bc6 SHA512 08170ee710857fcbfc1f72dbb94c535d70a2477c7598eacacc9a0e2f90f4fe11f4d910f1fcc11de210a6b50d89049e5835127090c6acabb00c69a821919e68cc
+DIST flit-3.9.0.tar.gz 141104 BLAKE2B 4ca268c49a34817756dea5fe7d2bd2fa15fe8f4247bcdea50765d56c43fd9c89292f45ae2a68d6f210d994ed1bce159121aba02e769f22940c548baf3e212afe SHA512 3cbca4530fe463e27fb43130e0d00681e63434bdd552bd61b4a2f3b7967729d9d9a49c69b1a2380ed99bcca1e66a38e592f41cbe38a471d3e7297ab00cdabc29
diff --git a/dev-python/flit/flit-3.7.1.ebuild b/dev-python/flit/flit-3.7.1.ebuild
deleted file mode 100644
index 5b1ac297822c..000000000000
--- a/dev-python/flit/flit-3.7.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-inherit distutils-r1
-
-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"
-KEYWORDS="~amd64 ~mips ~x86"
-
-RDEPEND="
- dev-python/docutils[${PYTHON_USEDEP}]
- >=dev-python/flit_core-${PV}[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/requests_download[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
-"
-BDEPEND="${RDEPEND}
- sys-apps/grep
- test? (
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- dev-python/testpath[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # requires Internet
- tests/test_config.py::test_invalid_classifier
- # failing due to Gentoo pip patches
- tests/test_install.py::InstallTests::test_install_data_dir
- tests/test_install.py::InstallTests::test_install_module_pep621
- tests/test_install.py::InstallTests::test_symlink_data_dir
- tests/test_install.py::InstallTests::test_symlink_module_pep621
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc \
- dev-python/sphinxcontrib-github-alt \
- dev-python/pygments-github-lexers \
-
-src_prepare() {
- # make sure system install is used
- rm -r flit_core || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/flit/flit-3.8.0.ebuild b/dev-python/flit/flit-3.8.0.ebuild
new file mode 100644
index 000000000000..96da544a396c
--- /dev/null
+++ b/dev-python/flit/flit-3.8.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9..11} pypy3 )
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simplified packaging of Python modules"
+HOMEPAGE="https://github.com/pypa/flit https://flit.readthedocs.io/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~mips ~x86"
+
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ >=dev-python/flit-core-${PV}[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests_download[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+"
+BDEPEND="${RDEPEND}
+ sys-apps/grep
+ test? (
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # requires Internet
+ tests/test_config.py::test_invalid_classifier
+ # failing due to Gentoo pip patches
+ tests/test_install.py::InstallTests::test_install_data_dir
+ tests/test_install.py::InstallTests::test_install_module_pep621
+ tests/test_install.py::InstallTests::test_symlink_data_dir
+ tests/test_install.py::InstallTests::test_symlink_module_pep621
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc \
+ dev-python/sphinxcontrib-github-alt \
+ dev-python/pygments-github-lexers \
+ dev-python/sphinx-rtd-theme
+
+src_prepare() {
+ # make sure system install is used
+ rm -r flit_core || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/flit/flit-3.9.0.ebuild b/dev-python/flit/flit-3.9.0.ebuild
new file mode 100644
index 000000000000..249a8b03166e
--- /dev/null
+++ b/dev-python/flit/flit-3.9.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simplified packaging of Python modules"
+HOMEPAGE="https://github.com/pypa/flit https://flit.readthedocs.io/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~mips ~x86"
+
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ >=dev-python/flit-core-${PV}[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests_download[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+"
+BDEPEND="${RDEPEND}
+ sys-apps/grep
+ test? (
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # requires Internet
+ tests/test_config.py::test_invalid_classifier
+ # failing due to Gentoo pip patches
+ tests/test_install.py::InstallTests::test_install_data_dir
+ tests/test_install.py::InstallTests::test_install_module_pep621
+ tests/test_install.py::InstallTests::test_symlink_data_dir
+ tests/test_install.py::InstallTests::test_symlink_module_pep621
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc \
+ dev-python/sphinxcontrib-github-alt \
+ dev-python/pygments-github-lexers \
+ dev-python/sphinx-rtd-theme
+
+src_prepare() {
+ # make sure system install is used
+ rm -r flit_core || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/flit_core/Manifest b/dev-python/flit_core/Manifest
deleted file mode 100644
index 97caded70957..000000000000
--- a/dev-python/flit_core/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST flit_core-3.7.1.tar.gz 40330 BLAKE2B 67a938ef576a70ce1bfe1f1bf996f1d2e468ea46f76ed2a363b278cebc42602b38fbf44a6bc45294996549d673d3145e2db2293780b8d157fd4f3b3876dc88cd SHA512 8c477bcd2924a93b51e6f3d8bbc3599929663c8d5addf16062e8e1b6c5acd740a4e4905b144092efb6e38e9700479525013831a53e055438f94c1e53ff5c6f8d
diff --git a/dev-python/flit_core/flit_core-3.7.1.ebuild b/dev-python/flit_core/flit_core-3.7.1.ebuild
deleted file mode 100644
index a10b8415499b..000000000000
--- a/dev-python/flit_core/flit_core-3.7.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2019-2022 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_{8..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_core/metadata.xml b/dev-python/flit_core/metadata.xml
deleted file mode 100644
index 450099f02c47..000000000000
--- a/dev-python/flit_core/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>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="pypi">flit_core</remote-id>
- <remote-id type="github">pypa/flit</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/flit_scm/Manifest b/dev-python/flit_scm/Manifest
index 08f296ab228e..0429de237dca 100644
--- a/dev-python/flit_scm/Manifest
+++ b/dev-python/flit_scm/Manifest
@@ -1,2 +1 @@
-DIST flit_scm-1.6.2.tar.bz2 3230 BLAKE2B 3977f1be820f2f590f4f781f065661adfc4a05427a87882093acad81f87eee2ba20d910ba3662b5b19997735f0356d262a4f150ba940310166b62a019b68ba05 SHA512 32690af4d24eb704338c78fdb0080d9f910a0741066d282e79eb88c473ada8d9a3daeba1a9aecfe830b2a6d0cea8da471bf6ef904b105fd8036994e4a0e12d12
DIST flit_scm-1.7.0.tar.bz2 3259 BLAKE2B 9b785f9f92b16494f6bf0c21e16ee1abf6a130ebb5c41d4e0e73f4ab1c892ec14544a4b86fe9ba22dbb43a2c28cebbe84328c172566b27c195d41e3686184b9e SHA512 a030cd2ab9d100b971ac20ad5f52f206d951fb6c88cd48db0250269a32cf0dfae70738bf3dc4d36396a3da3e09c7283eec365e12608f6f6d7be3e9076bb931d2
diff --git a/dev-python/flit_scm/flit_scm-1.6.2.ebuild b/dev-python/flit_scm/flit_scm-1.6.2.ebuild
deleted file mode 100644
index 20e99ab7b703..000000000000
--- a/dev-python/flit_scm/flit_scm-1.6.2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( pypy3 python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A PEP 518 build backend combining flit with setuptools_scm"
-HOMEPAGE="
- https://gitlab.com/WillDaSilva/flit_scm/
- https://pypi.org/project/flit-scm/
-"
-SRC_URI="
- https://gitlab.com/WillDaSilva/flit_scm/-/archive/${PV}/${P}.tar.bz2
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~m68k 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/tomli-3[${PYTHON_USEDEP}]
- >=dev-python/tomli-2[${PYTHON_USEDEP}]
-"
-
-src_prepare() {
- # unpin deps
- sed -i -e 's:~=[0-9.]*::' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
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 f05405a6fc66..cfba15e67f03 100644
--- a/dev-python/flit_scm/flit_scm-1.7.0.ebuild
+++ b/dev-python/flit_scm/flit_scm-1.7.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022 Gentoo Authors
+# 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_{8..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -19,16 +19,15 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 arm arm64 ~hppa ~ia64 ~m68k ~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/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/flit_scm/metadata.xml b/dev-python/flit_scm/metadata.xml
index 8b225bb29829..7cedb380db9b 100644
--- a/dev-python/flit_scm/metadata.xml
+++ b/dev-python/flit_scm/metadata.xml
@@ -4,7 +4,9 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">flit-scm</remote-id>
+ <remote-id type="gitlab">WillDaSilva/flit_scm</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/flufl-lock/Manifest b/dev-python/flufl-lock/Manifest
index 96bb4bf9f9af..f447c57ef3c1 100644
--- a/dev-python/flufl-lock/Manifest
+++ b/dev-python/flufl-lock/Manifest
@@ -1 +1,2 @@
-DIST flufl.lock-7.0.tar.gz 33169 BLAKE2B 72c763e50e0a28f02fe6d9a8d88b1c64626a60310b203f9bbcc82e950f8ac494640748dece4c63542d4b89512a1f98bb1d92bda145028ebd18a8f254c2e2c1eb SHA512 b1c5151d30aa3e9afc12fe0dbd9be05ad1f9133b32f5e3bacf98532fefb08fbf354bf4b9a4b9fc90e448861941eba358e8f67218daf9797eb031b487cc717181
+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.0-r1.ebuild b/dev-python/flufl-lock/flufl-lock-7.0-r1.ebuild
deleted file mode 100644
index ae6e1884411e..000000000000
--- a/dev-python/flufl-lock/flufl-lock-7.0-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm
-PYTHON_COMPAT=( python3_{8..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 -i -e '/addopts/d' 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 5b2c65e05ff2..ed728b0229c5 100644
--- a/dev-python/fonttools/Manifest
+++ b/dev-python/fonttools/Manifest
@@ -1,2 +1,2 @@
-DIST fonttools-4.33.3.tar.gz 3526937 BLAKE2B 26539f76ac1919e572633695aca7a95f7f715ef18bd7d36de22e5491124ce36d3907f1e7b167d23685bca437f0bf7cf99159cd918ab2b1a450b716166d30fc37 SHA512 403e19cda46d67dea9f517e58c2e95ed04c53e6832919d85df9db4538431252e5ec4554e22410fd45cba634998de1576cf55d50f56de5ad497a108dcec4ed56a
-DIST fonttools-4.34.4.gh.tar.gz 3555013 BLAKE2B 0e4149321cea89fb9ec63a52a127f657421d2902f9d9ec72a918bd7230ce5c9117f876bb1fe0b6dfa986b774a5929f41ba8ff868462f240669f8b2067d4bcf39 SHA512 9c6ea7d6e9a9d74d2e705f7966853709ee834195f682bf595f932be2eab8fb728cf69b83680e5b95a308b40b1c17a7d1003efade9473d3f6d8e744ecfd1e2c62
+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/files/fonttools-4.33.3-py3.11-tests.patch b/dev-python/fonttools/files/fonttools-4.33.3-py3.11-tests.patch
deleted file mode 100644
index 9b5e9983ba3d..000000000000
--- a/dev-python/fonttools/files/fonttools-4.33.3-py3.11-tests.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-https://github.com/fonttools/fonttools/pull/2655/commits/7787525b
-From: Parag Nemade <pnemade@fedoraproject.org>
-Date: Wed, 15 Jun 2022 18:24:04 +0530
-Subject: [PATCH] Fix tests for Python 3.11
---- a/Tests/pens/cu2quPen_test.py
-+++ b/Tests/pens/cu2quPen_test.py
-@@ -12,6 +12,7 @@
- # See the License for the specific language governing permissions and
- # limitations under the License.
-
-+import sys
- import unittest
-
- from fontTools.pens.cu2quPen import Cu2QuPen, Cu2QuPointPen
-@@ -257,8 +258,12 @@ def test_ignore_single_points(self):
- quadpen.closePath()
-
- self.assertGreaterEqual(len(log.records), 1)
-- self.assertIn("ignore_single_points is deprecated",
-- log.records[0].args[0])
-+ if sys.version_info < (3, 11):
-+ self.assertIn("ignore_single_points is deprecated",
-+ log.records[0].args[0])
-+ else:
-+ self.assertIn("ignore_single_points is deprecated",
-+ log.records[0].msg)
-
- # single-point contours were ignored, so the pen commands are empty
- self.assertFalse(pen.commands)
---- a/Tests/ufoLib/ufoLib_test.py
-+++ b/Tests/ufoLib/ufoLib_test.py
-@@ -35,7 +35,7 @@ def test_formatVersionTuple(ufo_path):
- assert reader.formatVersionTuple == (3, 0)
- assert reader.formatVersionTuple.major == 3
- assert reader.formatVersionTuple.minor == 0
-- assert str(reader.formatVersionTuple) == "3.0"
-+ assert str(reader.formatVersionTuple) in ("3.0", "UFOFormatVersion.FORMAT_3_0")
-
-
- def test_readMetaInfo_errors(ufo_path):
diff --git a/dev-python/fonttools/fonttools-4.33.3.ebuild b/dev-python/fonttools/fonttools-4.33.3.ebuild
deleted file mode 100644
index 1576313a716a..000000000000
--- a/dev-python/fonttools/fonttools-4.33.3.ebuild
+++ /dev/null
@@ -1,62 +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_{8..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/"
-SRC_URI="https://github.com/fonttools/fonttools/archive/${PV}.tar.gz -> ${P}.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="${RDEPEND}
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- app-arch/brotli[python,${PYTHON_USEDEP}]
- app-arch/zopfli
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-py3.11-tests.patch
-)
-
-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.34.4.ebuild b/dev-python/fonttools/fonttools-4.34.4.ebuild
deleted file mode 100644
index 0de6a64f356a..000000000000
--- a/dev-python/fonttools/fonttools-4.34.4.ebuild
+++ /dev/null
@@ -1,58 +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_{8..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/"
-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="${RDEPEND}
- 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..b558943aa371
--- /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 a8cd3548afce..e0722ebec285 100644
--- a/dev-python/fqdn/fqdn-1.5.1-r2.ebuild
+++ b/dev-python/fqdn/fqdn-1.5.1-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2018-2022 Gentoo Authors
+# 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_{8..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 810c5172761f..26de7f74da1e 100644
--- a/dev-python/freezegun/Manifest
+++ b/dev-python/freezegun/Manifest
@@ -1 +1 @@
-DIST freezegun-1.2.1.tar.gz 29740 BLAKE2B 780b0573602df157b9b195c3fbd76c81c893a4558355bdf26661f8ec1fb4b6a265c0b684f1c812a6a52ca7beed4dd36b1cc0fb675acf3c7e10a8e264ad0a3b6d SHA512 5f8334a66dc33cbffa8f22d41e101d66c99a1ac4b7a0c24ee6da62b58dab2b0b340ade48b8dd0020d4fb4cb6e082071869a2757bbd05eff703f66f167050d4e1
+DIST freezegun-1.5.0.tar.gz 33167 BLAKE2B 3cf05a41c4d66ded61a67385faa07ad80348ad7620db6076f1371d1707b9f6229d85bf2f87ff3533a9529f9d6c30e5f5bcdaf0a499b1e73760070ee5706936b9 SHA512 65d3c95e4992d80c104d52e1164662308aea0884e4a0bb1343f028e514519548dd295dca7dd97d06aaa57a61c0c71fae0bd040f944936858e0f72b2a08860694
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.1.ebuild b/dev-python/freezegun/freezegun-1.2.1.ebuild
deleted file mode 100644
index 5f9f4b21f4d7..000000000000
--- a/dev-python/freezegun/freezegun-1.2.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=( python3_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Let your Python tests travel through time"
-HOMEPAGE="https://github.com/spulec/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=(
- "${FILESDIR}"/${PN}-1.1.0-py310.patch
-)
diff --git a/dev-python/freezegun/freezegun-1.5.0.ebuild b/dev-python/freezegun/freezegun-1.5.0.ebuild
new file mode 100644
index 000000000000..a0a726d270f2
--- /dev/null
+++ b/dev-python/freezegun/freezegun-1.5.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Let your Python tests travel through time"
+HOMEPAGE="
+ https://github.com/spulec/freezegun/
+ https://pypi.org/project/freezegun/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+RDEPEND="
+ >dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # https://github.com/spulec/freezegun/issues/547
+ tests/test_datetimes.py::TestUnitTestMethodDecorator::test_method_decorator_works_on_unittest_kwarg_frozen_time
+ tests/test_datetimes.py::TestUnitTestMethodDecorator::test_method_decorator_works_on_unittest_kwarg_frozen_time_with_func
+ tests/test_datetimes.py::TestUnitTestMethodDecorator::test_method_decorator_works_on_unittest_kwarg_hello
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/fritzconnection/Manifest b/dev-python/fritzconnection/Manifest
index 5fb380ce35f9..4b89d1a4cf05 100644
--- a/dev-python/fritzconnection/Manifest
+++ b/dev-python/fritzconnection/Manifest
@@ -1 +1 @@
-DIST fritzconnection-1.9.1.gh.tar.gz 79580 BLAKE2B 6972c92aabb9c516e2b4d3d18bea2daf8002a12c9939a5badd1ceb8f7539a243f99778a3ded0cd057850b54e9cb2a0ca9d2c31be688eaf81f4b279b74d10fc55 SHA512 55642cf1db581c62091d63fdfa9bf4fe36c545df686eae7d0f886b4ef8c186668e6f8fb7bc7786e13936764ea771e0dba79e62b57f19348dd562bf23a27d6369
+DIST fritzconnection-1.13.2.gh.tar.gz 161752 BLAKE2B 9cd4af3ebaa3d617560ab833e4702b05d3bd6c8356242b4269506847760dad57c7f1d900d7da3092f4e07eb33c86f082c7d3dbc8179919b97422ad5eab78ef01 SHA512 c5e8566d2fde0b789269944df3c08f5cfb4b04ea4c91e5fc06eb97c6598f64b50b50778479948cb34c3a26d872e4d7c324a92791c3f593ec503a126d3b055062
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/fritzconnection-1.9.1.ebuild b/dev-python/fritzconnection/fritzconnection-1.9.1.ebuild
deleted file mode 100644
index e17900fb1b18..000000000000
--- a/dev-python/fritzconnection/fritzconnection-1.9.1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Lib/tool to communicate with AVM FRITZ! devices using TR-064 protocol over UPnP"
-HOMEPAGE="https://github.com/kbr/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
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 7bafad669835..000000000000
--- a/dev-python/frozendict/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST frozendict-2.3.2.gh.tar.gz 306318 BLAKE2B 3bc10f34784a8b76b7c6ca0eeccc8331e9a558f0e24d2328550eb5a985ed2ad6c94d027c51ee44f2d25af67fc453356e01b5cfee773880b87d73c55113ca10b2 SHA512 8dc88a3e7898be8fbced16fbdbdee469d07ecbb06a059512f98f71e50a8c5f2c3a4f3d4e6aa06bab121e4ae2e9cea76f6d89c73212047069f2ef88c616c7278a
diff --git a/dev-python/frozendict/frozendict-2.3.2.ebuild b/dev-python/frozendict/frozendict-2.3.2.ebuild
deleted file mode 100644
index bf424c54eba1..000000000000
--- a/dev-python/frozendict/frozendict-2.3.2.ebuild
+++ /dev/null
@@ -1,27 +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.python.org/pypi/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"
-
-# few tests fail with python3_9 and one with python3_10
-RESTRICT="test"
-
-distutils_enable_tests pytest
diff --git a/dev-python/frozendict/metadata.xml b/dev-python/frozendict/metadata.xml
deleted file mode 100644
index f556e15b09bb..000000000000
--- a/dev-python/frozendict/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" 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>
- <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 c3d29e9413a3..bdd0f7ed2588 100644
--- a/dev-python/frozenlist/Manifest
+++ b/dev-python/frozenlist/Manifest
@@ -1,2 +1 @@
-DIST frozenlist-1.3.0.gh.tar.gz 27669 BLAKE2B d09e18455893f7ede59c37a080e79ea5e085cc3362e53bc7016db64338b2cf26baf44e95ec0c691535527b0eef4a40ec1fbe814e5d4ae238300125438d21b467 SHA512 780f0ec0e1a701b009e5afcd7f62b2950eda5365140ad5842c09db85b0a3cf282ab70ff9ba752ea6dc7a97542fc7399023aaaca8fdd8ecbd5c26bf64f305f5f4
-DIST frozenlist-1.3.1.gh.tar.gz 27705 BLAKE2B 7428d936926978acb90a857e0f76b303dddea684c3e815b3fd583e888102e114cc629fcd8e862a4e72775f8525193becfd4b9cd844a36f5b2c7964605008bb84 SHA512 4986f3635ebd2d3ca9623299a66375b03938a7be72f7a1d3437b1bf8c0739513942e6babf00476b61055c9ebee3638ec807dad521c52990104d4d57017efdfb2
+DIST frozenlist-1.4.1.gh.tar.gz 46357 BLAKE2B 44ee864cd6c7918634d2db85937d778a8526f3117e4d27e06267c979bda2228de5bacaa87d8e0339f7718d6c12325336025214b8d42bdcc744aac7adb63b736a SHA512 a82059fd7d16ec8e17cdf9d05eb128194fc3eed7c20ea4a3daf508a949e6c039fb5824794eac1ca768de11d883f55f46de45f5dcc5031f5cb31291b33df87023
diff --git a/dev-python/frozenlist/frozenlist-1.3.0.ebuild b/dev-python/frozenlist/frozenlist-1.3.0.ebuild
deleted file mode 100644
index 941f0285c9b7..000000000000
--- a/dev-python/frozenlist/frozenlist-1.3.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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.3.1.ebuild b/dev-python/frozenlist/frozenlist-1.3.1.ebuild
deleted file mode 100644
index f8146bda6935..000000000000
--- a/dev-python/frozenlist/frozenlist-1.3.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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 780dc3deb94f..2ff4052187be 100644
--- a/dev-python/fs/fs-2.4.16.ebuild
+++ b/dev-python/fs/fs-2.4.16.ebuild
@@ -1,29 +1,32 @@
-# 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_{8..11} )
-inherit distutils-r1 optfeature
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 optfeature pypi
DESCRIPTION="Filesystem abstraction layer"
HOMEPAGE="
https://pypi.org/project/fs/
- https://docs.pyfilesystem.org
+ 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,17 +36,19 @@ 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
-python_test() {
- local EPYTEST_IGNORE=(
- # TODO: fails at teardown due to unfreed resources
- tests/test_ftpfs.py
- )
+EPYTEST_IGNORE=(
+ # TODO: fails at teardown due to unfreed resources
+ tests/test_ftpfs.py
+)
+
+src_prepare() {
+ # fix for python 3.12
+ sed -e 's/self.assertRaisesRegexp/self.assertRaisesRegex/g' -i fs/test.py || die
- # pytest-xvfb causes test failures due to a zombie Xvfb process
- epytest -p no:xvfb
+ distutils-r1_src_prepare
}
pkg_postinst() {
diff --git a/dev-python/fsspec/Manifest b/dev-python/fsspec/Manifest
index 7aaa962afbdb..7576b8b44ccd 100644
--- a/dev-python/fsspec/Manifest
+++ b/dev-python/fsspec/Manifest
@@ -1,2 +1 @@
-DIST filesystem_spec-2022.5.0.gh.tar.gz 337607 BLAKE2B 80f22e6c1ca0ec4194b41a85171d466792812c456129a05c286d8c46de950aeed4cd7a0ee01082e9dbfee5b89ca1a36441f961d7e61be816eb783cad8bca0979 SHA512 687dd0e7018e04d719f7c11e2238afe06f4e8d5eb7193e24dd000dbd79e5c52bed5fde919de47b0dab2d66e9ba93f28370a32f2458a6771e728b0ece68609504
-DIST filesystem_spec-2022.7.1.gh.tar.gz 338526 BLAKE2B ef19c41a4e9fe3fb1a5146967bab505c26590aa4c074152523b705d8cac5eeb6e30834e1adbbb1669f5bbb58891cabd3960208cdfa9f619e0bbc5cbfe5f4ef55 SHA512 07178bf22e07091935256296b303e273c03e2ddc15a5aa1110f84c27cadaf9c650204e37c472cb10280e92f24b01fa8b16fe32db21a30d14d232c5a11e05a45c
+DIST filesystem_spec-2024.3.1.gh.tar.gz 426712 BLAKE2B 9e9c60f581872559bd667e8e3fadcb5c4c56a727901ffc2328b67da6a4553ae2e4981f143838532faa59deb9b3f3926e1e2f0b2dd86daf49f93a1811d4e668a4 SHA512 6b93543b729eae898a71fb0249ed69973cb1d2dfcf0feac7d40fb69b40e1109739819acbec9f239023b8a5eaaba01377215458cb5c4c806741ed319433d8f570
diff --git a/dev-python/fsspec/fsspec-2022.5.0-r1.ebuild b/dev-python/fsspec/fsspec-2022.5.0-r1.ebuild
deleted file mode 100644
index dfe2219250f2..000000000000
--- a/dev-python/fsspec/fsspec-2022.5.0-r1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-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-2022.7.1.ebuild b/dev-python/fsspec/fsspec-2022.7.1.ebuild
deleted file mode 100644
index dba46d7fc2e2..000000000000
--- a/dev-python/fsspec/fsspec-2022.7.1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-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-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/Manifest b/dev-python/funcparserlib/Manifest
index c14200d472be..3d28b9a77a2e 100644
--- a/dev-python/funcparserlib/Manifest
+++ b/dev-python/funcparserlib/Manifest
@@ -1 +1 @@
-DIST funcparserlib-1.0.0.gh.tar.gz 66709 BLAKE2B 76229795e88b5b880667e41b2cd3d534649893019824e7206f41d188f44e7a67bc1cdb97b0cbcf731eb840ed128f29434d0748d0923a16ea0a3130b3ee10d206 SHA512 431d6b639c46dc84a0a12c8de976cb2c1369f0172a18d1eadbffba31aff12e9cfeded5ebec3ec63065384547000144d65d60003c55e2b23a1a40818d910aaef3
+DIST funcparserlib-1.0.1.gh.tar.gz 66860 BLAKE2B eb6d70ff37f75bb1452be7b2103a1e756d79231b2d862964e383e4d4317e1ba7de6b744ee8d29f08d81b176d267bf93ceba21e6d47c04bc7f467866d0cd6c8c9 SHA512 d64fe07337822077a0aab6d5049cd81f2ac56ccd9d1db2522c245cadf8cc8421ff1c7931f6a075d821a8634ac8aea51c7ae30fe763e679b70b35955a3f6aa8c7
diff --git a/dev-python/funcparserlib/funcparserlib-1.0.0.ebuild b/dev-python/funcparserlib/funcparserlib-1.0.0.ebuild
deleted file mode 100644
index 2648fecf740c..000000000000
--- a/dev-python/funcparserlib/funcparserlib-1.0.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Recursive descent parsing library based on functional combinators"
-HOMEPAGE="https://pypi.org/project/funcparserlib/
- https://github.com/vlasovskikh/funcparserlib"
-SRC_URI="
- https://github.com/vlasovskikh/funcparserlib/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"
-
-BDEPEND="
- test? (
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/funcparserlib/funcparserlib-1.0.1.ebuild b/dev-python/funcparserlib/funcparserlib-1.0.1.ebuild
new file mode 100644
index 000000000000..8464ebc9f2ce
--- /dev/null
+++ b/dev-python/funcparserlib/funcparserlib-1.0.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=poetry
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Recursive descent parsing library based on functional combinators"
+HOMEPAGE="
+ https://github.com/vlasovskikh/funcparserlib/
+ https://pypi.org/project/funcparserlib/
+"
+SRC_URI="
+ https://github.com/vlasovskikh/funcparserlib/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"
+
+BDEPEND="
+ test? (
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/funcy/Manifest b/dev-python/funcy/Manifest
index 47857b4044a7..7ae997b987c3 100644
--- a/dev-python/funcy/Manifest
+++ b/dev-python/funcy/Manifest
@@ -1 +1 @@
-DIST funcy-1.17.tar.gz 112383 BLAKE2B 150133f72ed165bdc9adc3a9f4954dfd5b846dea7b1ee2cae0d6621ebaec3e2ba986cd6596fd86482036aad6476913caec0868db9cf55c067fdbf62ac10953e2 SHA512 d48ce3b7a7b8ee7512df109d651f40ca4dadf681acca6ab0a4857a2ea408f20f6345b9b416ca8b1e924050a842648192b8fe79381c202361bc4d2e25bd55ad05
+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 921111358ef5..000000000000
--- a/dev-python/funcy/funcy-1.17.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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-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 2bd6d54a507f..fbfea5448a90 100644
--- a/dev-python/furo/Manifest
+++ b/dev-python/furo/Manifest
@@ -1 +1,3 @@
-DIST furo-2022.6.21-py3-none-any.whl 323874 BLAKE2B aac38e9aaa8d4fc6fdb00a7da9df8781b18229146970a005077075b0049b6493f280377ed735e9dd5425fdce0c43f8cad5b149957018d9a084ad83c5e5fcabeb SHA512 096c9fd0a18c8c4263607a77703412fcc5d7334b08bb6c448e5369b93572f2176f7fbe3fc7eb0b8c72f09d00eeca379debfec2f6565305d2f5e1bd0518af1558
+DIST furo-2024.1.29-py3-none-any.whl 325212 BLAKE2B 7dec8d515bb2ac6741d875dac57048e066f6e9602e7c529bfcf5b01a8b47d6ff38d6212d5a5abf8dfbe42d7667481a3a14c20f39367d65d8968e429e6c5fbbea SHA512 375fff9ad283732c0e242da0233e6b3e5bc570c514fa1a5899232599ac1a73c3198071e74635ab115ba28ea9d97156e1c28ae40c5e203cc21cf639b183201893
+DIST furo-2024.4.27-py3-none-any.whl 330359 BLAKE2B 4c6997cb8335cbaf9926cfb8d650edb0baec735858bb141e3a63d24e2bc48bdbaff504539aa449e4f76ca1890e987bdbaaf3e0e55f441e3a5c6467ed6dc94a6c SHA512 2790121eccde99771fe219d7d32887e243eafe87cfe3736cb26d9ae83190bbbe25fe629195f080df8632d51e1644cb142f6433f768e245c9ca0a44b25297279b
+DIST furo-2024.5.6-py3-none-any.whl 341199 BLAKE2B 6cecc3407bb91f096ba755d2d36f8e165dd8887f513495013533907017248c8a1f15d8019d5b4d5e7acd2793d95dc82cf95fc5ca1d9ad42bdcc57983d451db97 SHA512 932336ddff321b5dcdf98ee6aeda2cd33ce7981fb3f74fad5c2c732ff7d5be9c8666dd89808630a24b7d610965f8921ad477e9409ba5c2b9ad112d338dd06629
diff --git a/dev-python/furo/furo-2022.6.21.ebuild b/dev-python/furo/furo-2022.6.21.ebuild
deleted file mode 100644
index d23703810acb..000000000000
--- a/dev-python/furo/furo-2022.6.21.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021-2022 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_{8..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="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/furo/furo-2024.4.27.ebuild b/dev-python/furo/furo-2024.4.27.ebuild
new file mode 100644
index 000000000000..d306ea1caab9
--- /dev/null
+++ b/dev-python/furo/furo-2024.4.27.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/furo/furo-2024.5.6.ebuild b/dev-python/furo/furo-2024.5.6.ebuild
new file mode 100644
index 000000000000..d306ea1caab9
--- /dev/null
+++ b/dev-python/furo/furo-2024.5.6.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# sphinx-theme-builder is completely unusable, as it requires pinning
+# to a very-specific nodejs version number, and ofc loves fetching
+# everything from the Internet
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( pypy3 python3_{10..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/furo/metadata.xml b/dev-python/furo/metadata.xml
index 194404af6f03..27ce21e87dc2 100644
--- a/dev-python/furo/metadata.xml
+++ b/dev-python/furo/metadata.xml
@@ -5,6 +5,7 @@
<email>arthurzam@gentoo.org</email>
<name>Arthur Zamarin</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">furo</remote-id>
<remote-id type="github">pradyunsg/furo</remote-id>
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 a00df7c82c9c..a45fa1f4a3ef 100644
--- a/dev-python/fuse-python/fuse-python-1.0.5.ebuild
+++ b/dev-python/fuse-python/fuse-python-1.0.5.ebuild
@@ -1,10 +1,11 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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_{8..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-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-r1.ebuild b/dev-python/future/future-0.18.2-r1.ebuild
deleted file mode 100644
index 1ba5646433bd..000000000000
--- a/dev-python/future/future-0.18.2-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Easy, clean, reliable Python 2/3 compatibility"
-HOMEPAGE="https://python-future.org/"
-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
-)
-
-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/future-0.18.2-r2.ebuild b/dev-python/future/future-0.18.2-r2.ebuild
deleted file mode 100644
index 7c6f8f289bbd..000000000000
--- a/dev-python/future/future-0.18.2-r2.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=( python3_{8..11} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Easy, clean, reliable Python 2/3 compatibility"
-HOMEPAGE="https://python-future.org/"
-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
-)
-
-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 4ccd97dca9b5..000000000000
--- a/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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/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 49c418354b2a..000000000000
--- a/dev-python/gast/gast-0.5.3-r1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ppc ppc64 ~riscv ~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 2a6681a95916..000000000000
--- a/dev-python/gcs-oauth2-boto-plugin/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST gcs-oauth2-boto-plugin-2.7.tar.gz 20929 BLAKE2B 79db6c7bdf76320c2f74ab5edca0dd1cf7967bd38fb9a7a0a34c05fca3cab51317fb3ebd3e9ba195b42af2944cc951d150e3ee90cc93cdeab176f79d027a9800 SHA512 0ea8d4b01a2da79397e06de9dc0279594017e58e3874a2633b32007590efa2e8a29b5d2127d0218663cf7e63042adcc9801dbbb11bdfcb40d0c5d67c47267a09
-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-2.7.ebuild b/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-2.7.ebuild
deleted file mode 100644
index 29da63ab3aca..000000000000
--- a/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-2.7.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-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/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 f81b7637e25f..000000000000
--- a/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-3.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{7..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..fa7d3315aa9d
--- /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 faeb204e2307..09f46de23198 100644
--- a/dev-python/genshi/genshi-0.7.7.ebuild
+++ b/dev-python/genshi/genshi-0.7.7.ebuild
@@ -1,27 +1,31 @@
-# Copyright 1999-2022 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_{8..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 )"
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
BDEPEND="
test? (
- dev-python/six[${PYTHON_USEDEP}]
+ ${RDEPEND}
)
"
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 23d76cdf7836..000000000000
--- a/dev-python/genson/genson-1.1.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 a801c1a8ad94..7d26078310b9 100644
--- a/dev-python/genty/genty-1.3.2-r2.ebuild
+++ b/dev-python/genty/genty-1.3.2-r2.ebuild
@@ -1,19 +1,18 @@
-# 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_{8..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/genty/genty-1.3.2-r3.ebuild b/dev-python/genty/genty-1.3.2-r3.ebuild
new file mode 100644
index 000000000000..f8305dabfdf3
--- /dev/null
+++ b/dev-python/genty/genty-1.3.2-r3.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Allows you to run a test with multiple data sets"
+HOMEPAGE="
+ https://pypi.org/project/genty/
+ https://github.com/box/genty/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i -e 's:from mock:from unittest.mock:' test/test_genty.py || die
+}
diff --git a/dev-python/geographiclib/Manifest b/dev-python/geographiclib/Manifest
new file mode 100644
index 000000000000..fedefd0eb476
--- /dev/null
+++ b/dev-python/geographiclib/Manifest
@@ -0,0 +1 @@
+DIST geographiclib-2.0.tar.gz 36720 BLAKE2B 31759eda6b77b191c34c18c2c6abdcf04214391e7d77eb68aa000aff8ec35519ab705b358f76bb0a50aff74708bcada664bdf3a97a3fb3e482ca773d6f410eed SHA512 08e67317b83ed96dc45b013bfc0eac771f015250da07b1574252f566f48ce944ad0a5a0623b1bfc96c14e65658f2f39a069af5ceb6ffe153677cc2a023eeef91
diff --git a/dev-python/geographiclib/geographiclib-2.0.ebuild b/dev-python/geographiclib/geographiclib-2.0.ebuild
new file mode 100644
index 000000000000..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/gevent/Manifest b/dev-python/gevent/Manifest
deleted file mode 100644
index 7764acadc22c..000000000000
--- a/dev-python/gevent/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST gevent-21.12.0.tar.gz 6201851 BLAKE2B 8c02f42d6024e912e51754df876d4f4895acdf466f2400e9fdca69ad5c7c77df7ee05f3e4c2c1e1d5731c282b62d5c940d9ca6396c27d6fe6e8a0ec13013591c SHA512 805ddb475281b6c4c46cdf5a714915b6612512745121e7b153f3d33f3460135efa4994e0ff1601402d4f7b80d285cbfdc0d5d93799fbeb8ddbf2a52888cd91ad
diff --git a/dev-python/gevent/gevent-21.12.0.ebuild b/dev-python/gevent/gevent-21.12.0.ebuild
deleted file mode 100644
index 1164989baa20..000000000000
--- a/dev-python/gevent/gevent-21.12.0.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=rdepend
-PYTHON_COMPAT=( pypy3 python3_{8..10} )
-PYTHON_REQ_USE="ssl(+),threads(+)"
-
-inherit distutils-r1 flag-o-matic
-
-DESCRIPTION="Coroutine-based network library"
-HOMEPAGE="https://www.gevent.org/ https://pypi.org/project/gevent/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- >=dev-libs/libev-4.31:=
- dev-libs/libuv:=
- >=net-dns/c-ares-1.12:=
-"
-RDEPEND="${DEPEND}
- virtual/python-greenlet[${PYTHON_USEDEP}]
- dev-python/zope-event[${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/dnspython[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_sphinx doc
-
-# Tests take long and fail terribly a few times.
-# It also seems that they require network access.
-#RESTRICT="test"
-
-python_prepare_all() {
- export GEVENTSETUP_EMBED="false"
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
-}
-
-python_test() {
- # Just in case.
- export GEVENTTEST_USE_RESOURCES=-network
-
- cd src/gevent/tests || die
-
- # Tests which need network but aren't marked as such
- echo "test__getaddrinfo_import.py" >> tests_that_dont_use_resolver.txt || die
- echo "test_socketqcqqrwns.py" >> tests_that_dont_use_resolver.txt || die
-
- # Test hangs (testPeek)
- echo "test_socket.py" >> tests_that_dont_use_resolver.txt || die
-
- # TODO: figure out how to make them work and not hang
- #GEVENT_RESOLVER=ares \
- # "${EPYTHON}" -m gevent.tests \
- # --verbose \
- # -uall,-network \
- # --config known_failures.py \
- # --ignore tests_that_dont_use_resolver.txt || die
- GEVENT_RESOLVER=dnspython \
- "${EPYTHON}" -m gevent.tests \
- --verbose \
- -uall,-network \
- --config known_failures.py \
- --ignore tests_that_dont_use_resolver.txt || die
- GEVENT_RESOLVER=thread \
- "${EPYTHON}" -m gevent.tests \
- --verbose \
- -uall,-network \
- --config known_failures.py \
- --ignore tests_that_dont_use_resolver.txt || die
- GEVENT_FILE=thread \
- "${EPYTHON}" -m gevent.tests \
- --verbose \
- -uall,-network \
- --config known_failures.py \
- test__*subprocess*.py || die
-}
-
-python_install_all() {
- local DOCS=( AUTHORS README.rst )
- use examples && dodoc -r examples
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/gevent/metadata.xml b/dev-python/gevent/metadata.xml
deleted file mode 100644
index 92f238969d44..000000000000
--- a/dev-python/gevent/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">gevent/gevent</remote-id>
- <remote-id type="pypi">gevent</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/geventhttpclient/Manifest b/dev-python/geventhttpclient/Manifest
deleted file mode 100644
index 9b9982cfb17c..000000000000
--- a/dev-python/geventhttpclient/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST geventhttpclient-1.5.5.tar.gz 59566 BLAKE2B f43ffe9880eefe77f19adc00bcef612df057f96e256f50ca4081658d7e0d01deca2473da3d2055dbc1cb98fc4f7f0a7442809fdcab635c43042792e2601efdb9 SHA512 89efe008099935ac8715ddf09c13e70c1a3552da50c495522b2a62e1ff51a407808e6b797f8fd3b0863a3a59e5b03e604bda8b1027c0326da75cb1fddb5d0fa3
-DIST geventhttpclient-2.0.tar.gz 73677 BLAKE2B b466f7153e646b3d9af0b301789aaa92df28dad505c375ec7fdcfb8d888d8942edba3f4c776ef4fc252756fb2a37bbee7d61c4a1e912c8c7d716a57fd49fee0e SHA512 1f53cf8636e6baba4cb0d8d7b233f903efec2d74413cfb2d768bff94f3a9b91ae59444981a1399b010e73120c390b52b1449424571c7ee9bdad818e5ce72ae8c
diff --git a/dev-python/geventhttpclient/geventhttpclient-1.5.5.ebuild b/dev-python/geventhttpclient/geventhttpclient-1.5.5.ebuild
deleted file mode 100644
index 2f7a10174e94..000000000000
--- a/dev-python/geventhttpclient/geventhttpclient-1.5.5.ebuild
+++ /dev/null
@@ -1,52 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A high performance, concurrent HTTP client library for Python using gevent"
-HOMEPAGE="
- https://github.com/geventhttpclient/geventhttpclient/
- https://pypi.org/project/geventhttpclient/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- app-arch/brotli[python,${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/gevent[events(+),${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Avoid ModuleNotFoundError for tests we skip later
- sed -i '/^import dpkt.ssl/d' src/geventhttpclient/tests/test_ssl.py || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # These SNI tests require dpkt which is not in the tree
- src/geventhttpclient/tests/test_ssl.py::test_implicit_sni_from_host_in_ssl
- src/geventhttpclient/tests/test_ssl.py::test_implicit_sni_from_header_in_ssl
- src/geventhttpclient/tests/test_ssl.py::test_explicit_sni_in_ssl
- )
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # Skip tests which require internet access
- epytest -m "not online"
-}
diff --git a/dev-python/geventhttpclient/geventhttpclient-2.0.ebuild b/dev-python/geventhttpclient/geventhttpclient-2.0.ebuild
deleted file mode 100644
index 5850080039c3..000000000000
--- a/dev-python/geventhttpclient/geventhttpclient-2.0.ebuild
+++ /dev/null
@@ -1,52 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A high performance, concurrent HTTP client library for Python using gevent"
-HOMEPAGE="
- https://github.com/geventhttpclient/geventhttpclient/
- https://pypi.org/project/geventhttpclient/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- app-arch/brotli[python,${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/gevent[events(+),${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Avoid ModuleNotFoundError for tests we skip later
- sed -e '/^import dpkt.ssl/d' -i src/geventhttpclient/tests/test_ssl.py || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # These SNI tests require dpkt which is not in the tree
- src/geventhttpclient/tests/test_ssl.py::test_implicit_sni_from_host_in_ssl
- src/geventhttpclient/tests/test_ssl.py::test_implicit_sni_from_header_in_ssl
- src/geventhttpclient/tests/test_ssl.py::test_explicit_sni_in_ssl
- )
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # Skip tests which require internet access
- epytest -m "not online"
-}
diff --git a/dev-python/geventhttpclient/metadata.xml b/dev-python/geventhttpclient/metadata.xml
deleted file mode 100644
index f7551c444a51..000000000000
--- a/dev-python/geventhttpclient/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>sbraz@gentoo.org</email>
- <name>Louis Sautier</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">geventhttpclient</remote-id>
- <remote-id type="github">geventhttpclient/geventhttpclient</remote-id>
- <bugs-to>https://github.com/geventhttpclient/geventhttpclient/issues</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/gfloat/Manifest b/dev-python/gfloat/Manifest
new file mode 100644
index 000000000000..f7d25682b725
--- /dev/null
+++ b/dev-python/gfloat/Manifest
@@ -0,0 +1,2 @@
+DIST gfloat-0.0.5.tar.gz 17493 BLAKE2B d2eb75b6ecdf58b0875481fb2428ee2bed998988ded0e0bf212dc5834c428a8a2af0796e6badf2ff2c400432db266a82312743bc338cb6444bbb3133526dcf7b SHA512 b08d4f8cb3c8e2e629d32c96ecf3efb81280363bba9ac90a489ffcd2418a9a4a0c9248ce3f524d9873a295b5e5e520c70ebd098e7cfdfe9a3dc92d8ee58920ca
+DIST gfloat-0.1.tar.gz 38500 BLAKE2B 7549af8cb4204176c8f6d9c9bbd1e8047530ca347c1f882cb3ed5ae36a8c2a3e5c1293c8e4ac14527b3846ec0055ed4bb30cef7bb703c30c375d4b8c872c1bb6 SHA512 7c5d01b25172b3e5c4dbd34e99652316f50478b0c34076608e7d56a80f5db9174a1173dc9bcbea0da2121df54e5a22a7972196ee47cb22a69bd4b8afcc1e2782
diff --git a/dev-python/gfloat/gfloat-0.0.5.ebuild b/dev-python/gfloat/gfloat-0.0.5.ebuild
new file mode 100644
index 000000000000..a3db6988220f
--- /dev/null
+++ b/dev-python/gfloat/gfloat-0.0.5.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Generic floating-point types in Python"
+HOMEPAGE="
+ https://github.com/graphcore-research/gfloat/
+ https://pypi.org/project/gfloat/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ml-dtypes[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/gfloat/gfloat-0.1.ebuild b/dev-python/gfloat/gfloat-0.1.ebuild
new file mode 100644
index 000000000000..a3db6988220f
--- /dev/null
+++ b/dev-python/gfloat/gfloat-0.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Generic floating-point types in Python"
+HOMEPAGE="
+ https://github.com/graphcore-research/gfloat/
+ https://pypi.org/project/gfloat/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ml-dtypes[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/gfloat/metadata.xml b/dev-python/gfloat/metadata.xml
new file mode 100644
index 000000000000..3c2f1ee74595
--- /dev/null
+++ b/dev-python/gfloat/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">graphcore-research/gfloat</remote-id>
+ <remote-id type="pypi">gfloat</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ghp-import/ghp-import-2.1.0-r1.ebuild b/dev-python/ghp-import/ghp-import-2.1.0-r1.ebuild
index 8181d4c960cc..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
@@ -1,20 +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
-PYTHON_COMPAT=( python3_{8..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 ~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.ebuild b/dev-python/git-review/git-review-2.3.1.ebuild
deleted file mode 100644
index 52acf643695f..000000000000
--- a/dev-python/git-review/git-review-2.3.1.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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
-}
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 16e5454edee8..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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"
@@ -32,3 +33,9 @@ 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/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 1cd1f5b2863f..12b6ea50c6d3 100644
--- a/dev-python/gitdb/Manifest
+++ b/dev-python/gitdb/Manifest
@@ -1 +1 @@
-DIST gitdb-4.0.9.tar.gz 394670 BLAKE2B 7882c2757f7c6ff9fa6518504b46ff987fa69f38ba28713a6d140614944e2ccb1c371321402faae835455659a8b33c12523cb781e9c62c79132a724c7ad4d86d SHA512 174b90e09b65ba38d3404fd79a8963987ab49a5e2b96ce82057b519861e8312342c425ff10849c865f66e6e88c27d651d8902a6f8abea88f9f33161f44974109
+DIST gitdb-4.0.11.tar.gz 394469 BLAKE2B a79caf7def6094f1c99ff8621d7a01a9bc438e3ff54c73e5e9f598fada892e0209334edf73415476e31aef1cd0cd344fba6c8fe11c80cc157fdef5b9d2cda292 SHA512 024256481c553cd8e4b7fb0c0adc735aa6485c396e43aba73873cd4ad950ca686c3df7000a85acd1ac4f09db3f6ab613018739d24a8a69b4708150c171acf13d
diff --git a/dev-python/gitdb/files/gitdb-4.0.9-nose-to-pytest.patch b/dev-python/gitdb/files/gitdb-4.0.9-nose-to-pytest.patch
deleted file mode 100644
index fe38e8c613ee..000000000000
--- a/dev-python/gitdb/files/gitdb-4.0.9-nose-to-pytest.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From a61910fde100fa1112ec57dd3e456719724997ef Mon Sep 17 00:00:00 2001
-From: Carl George <carl@george.computer>
-Date: Wed, 9 Feb 2022 17:15:39 -0600
-Subject: [PATCH] Switch from nose to pytest
-
-This is not a full rewrite to pytest style tests, it just changes the
-minimum to allow pytest to run the existing tests.
-
-Resolves #72
----
- .github/workflows/pythonpackage.yml | 6 +++---
- Makefile | 3 +--
- README.rst | 4 ++--
- gitdb.pro.user | 3 +--
- gitdb/test/db/test_pack.py | 4 ++--
- gitdb/test/lib.py | 4 ++--
- gitdb/test/test_pack.py | 4 ++--
- 7 files changed, 13 insertions(+), 15 deletions(-)
-
-diff --git a/gitdb/test/db/test_pack.py b/gitdb/test/db/test_pack.py
-index ff96a58..4539f42 100644
---- a/gitdb/test/db/test_pack.py
-+++ b/gitdb/test/db/test_pack.py
-@@ -16,7 +16,7 @@
- import random
- import sys
-
--from nose.plugins.skip import SkipTest
-+import pytest
-
- class TestPackDB(TestDBBase):
-
-@@ -24,7 +24,7 @@ class TestPackDB(TestDBBase):
- @with_packs_rw
- def test_writing(self, path):
- if sys.platform == "win32":
-- raise SkipTest("FIXME: Currently fail on windows")
-+ pytest.skip("FIXME: Currently fail on windows")
-
- pdb = PackedDB(path)
-
-diff --git a/gitdb/test/lib.py b/gitdb/test/lib.py
-index a04084f..abd4ad5 100644
---- a/gitdb/test/lib.py
-+++ b/gitdb/test/lib.py
-@@ -65,8 +65,8 @@ def skip_on_travis_ci(func):
- @wraps(func)
- def wrapper(self, *args, **kwargs):
- if 'TRAVIS' in os.environ:
-- import nose
-- raise nose.SkipTest("Cannot run on travis-ci")
-+ import pytest
-+ pytest.skip("Cannot run on travis-ci")
- # end check for travis ci
- return func(self, *args, **kwargs)
- # end wrapper
-diff --git a/gitdb/test/test_pack.py b/gitdb/test/test_pack.py
-index 4b01741..f946197 100644
---- a/gitdb/test/test_pack.py
-+++ b/gitdb/test/test_pack.py
-@@ -26,7 +26,7 @@
- from gitdb.exc import UnsupportedOperation
- from gitdb.util import to_bin_sha
-
--from nose import SkipTest
-+import pytest
-
- import os
- import tempfile
-@@ -246,4 +246,4 @@ def rewind_streams():
- def test_pack_64(self):
- # TODO: hex-edit a pack helping us to verify that we can handle 64 byte offsets
- # of course without really needing such a huge pack
-- raise SkipTest()
-+ pytest.skip('not implemented')
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/gitdb/gitdb-4.0.9-r1.ebuild b/dev-python/gitdb/gitdb-4.0.9-r1.ebuild
deleted file mode 100644
index 5eb050582e8b..000000000000
--- a/dev-python/gitdb/gitdb-4.0.9-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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/smmap-3.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-vcs/git
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-nose-to-pytest.patch"
-)
-
-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() {
- #TRAVIS=1 disables performance tests which rely on the gitdb repo
- local -x TRAVIS=1
- 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 3619477f0fdb..000000000000
--- a/dev-python/github3/github3-3.2.0.ebuild
+++ /dev/null
@@ -1,45 +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_{8..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/glob2/Manifest b/dev-python/glob2/Manifest
deleted file mode 100644
index 304e0c4bee59..000000000000
--- a/dev-python/glob2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST glob2-0.7.tar.gz 10697 BLAKE2B bbd813be6ff46d31de0e728d672897a934bd6e4c61b1f7dabf158d3e64021ca1fa1622878333ec70866796dac1d3e3eb1402eda541ed4d89873eddb367668e60 SHA512 6707c33782373cd71b1794ef3a143f6c0ceb5733bec944d16596eb4662df4c788328078b621bdda6096da95ec2f267256fca620dd7691eb02bf0ce940dd4150e
diff --git a/dev-python/glob2/glob2-0.7-r1.ebuild b/dev-python/glob2/glob2-0.7-r1.ebuild
deleted file mode 100644
index e80022b52137..000000000000
--- a/dev-python/glob2/glob2-0.7-r1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="Extended version of Python's builtin glob module"
-HOMEPAGE="https://pypi.org/project/glob2/"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest test.py
-}
diff --git a/dev-python/glob2/metadata.xml b/dev-python/glob2/metadata.xml
deleted file mode 100644
index 31234da7282a..000000000000
--- a/dev-python/glob2/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>ionen@gentoo.org</email>
- <name>Ionen Wolkens</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">miracle2k/python-glob2</remote-id>
- <remote-id type="pypi">glob2</remote-id>
- </upstream>
-</pkgmetadata>
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 d602f6b87417..000000000000
--- a/dev-python/glooey/glooey-0.3.6.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 2306905479d9..545491749d8f 100644
--- a/dev-python/gmpy/Manifest
+++ b/dev-python/gmpy/Manifest
@@ -1 +1,3 @@
-DIST gmpy2-2.1.2.tar.gz 258445 BLAKE2B 5fd89478bb7c48c317a7af74fd872e5a9c1141f8f23c110aba7298d1a325caa13e24f1a2e601d6b3c6f6af30d60505f9161a03def16df59dddabe611fb600ef4 SHA512 abfeb0d8a155235e3aa797ca7b34ab6947f0714273e9d381167a9f6273bad34689e1985c139080b146e072b5bfbb4fa2b937566a14f4b94cc09ed21b3f2082b7
+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.0_beta5-test-input.patch b/dev-python/gmpy/files/gmpy-2.1.0_beta5-test-input.patch
deleted file mode 100644
index 16705d917c93..000000000000
--- a/dev-python/gmpy/files/gmpy-2.1.0_beta5-test-input.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/test/runtests.py b/test/runtests.py
-index 5e5842d..7d64e52 100644
---- a/test/runtests.py
-+++ b/test/runtests.py
-@@ -81,7 +81,6 @@ if sys.version.startswith('3.1.'):
- print("with Python 3.1. The doctest module in Python 3.2 and later does not")
- print("have this issue.")
- print()
-- input("Press ENTER to continue.. ")
- print()
-
- mpz_doctests = ["test_mpz_create.txt", "test_mpz.txt", "test_mpz_io.txt",
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.2-r1.ebuild b/dev-python/gmpy/gmpy-2.1.2-r1.ebuild
deleted file mode 100644
index bd8745a9eae7..000000000000
--- a/dev-python/gmpy/gmpy-2.1.2-r1.ebuild
+++ /dev/null
@@ -1,45 +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_{8..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}
-"
-
-PATCHES=(
- # The tests program asks for input when running, disable that
- "${FILESDIR}"/gmpy-2.1.0_beta5-test-input.patch
-)
-
-distutils_enable_sphinx docs
-
-python_test() {
- cd test || die
- "${EPYTHON}" runtests.py || die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/gmpy/gmpy-2.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/google-api-core/Manifest b/dev-python/google-api-core/Manifest
index 83558fb10463..052908d22983 100644
--- a/dev-python/google-api-core/Manifest
+++ b/dev-python/google-api-core/Manifest
@@ -1 +1,2 @@
-DIST python-api-core-2.8.2.gh.tar.gz 164586 BLAKE2B bd62b20d1be52f0a2227d1663ee37ce31d991e0773ed793a3999b70c74e03a28ac188cc331027def0055a5b80e93378d9ec5baa389c65e7d2f183b37233be5ac SHA512 5844339cee71103650c446f002dcb13a632086d96dec1ed04a0ad5e4d3a61cc2a8e048da3e6445a50a0c009b0d25729f02865d28484bfee2a3427c829537e350
+DIST python-api-core-2.18.0.gh.tar.gz 210938 BLAKE2B 39ccceb2d5722cb4121ba2007cb171e703e97c57d31dd85a6f540f8b0316281255f563b43c1acd6159e6d59b8609603ca9202c9f46b5c86127a9ff0cf3874c19 SHA512 fe57eb8465c1dfe6d83abd73b0c621da49e7e0687afa59f5d4c1c7022cb8a912734859e5895781c239cfe6053ebdbea2dcf55ef6eac371b8ea58fdf0c7c398d5
+DIST python-api-core-2.19.0.gh.tar.gz 210832 BLAKE2B 89947f8e8bda6de96c1778788e72f88c85d7781c4bf3c7fa08b67cd0e9b40e5774a57a5772add9c724a1bddab9ad514ddc605035289466a5648393ca57854321 SHA512 e8fb94428c3d49dcf760a0b9a471fa7fe3d149ebb11f8c12c16a0f68aaf736c5a8553d628834b4456d2419c40cc30010449ae58026271c32bbd32f67857ba31b
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-core/google-api-core-2.19.0.ebuild b/dev-python/google-api-core/google-api-core-2.19.0.ebuild
new file mode 100644
index 000000000000..b3d3b179c62a
--- /dev/null
+++ b/dev-python/google-api-core/google-api-core-2.19.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-core/google-api-core-2.8.2.ebuild b/dev-python/google-api-core/google-api-core-2.8.2.ebuild
deleted file mode 100644
index 668d75698795..000000000000
--- a/dev-python/google-api-core/google-api-core-2.8.2.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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.15.0[${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/metadata.xml b/dev-python/google-api-core/metadata.xml
index a9551f2d90a8..d5a1c4ae4f13 100644
--- a/dev-python/google-api-core/metadata.xml
+++ b/dev-python/google-api-core/metadata.xml
@@ -12,5 +12,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">google-api-core</remote-id>
+ <remote-id type="github">googleapis/python-api-core</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index 60be64d2bd85..c4e70d73ee62 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.53.0.gh.tar.gz 32251370 BLAKE2B 880024a220bb793b53042c8b2192dee666b7f5ad6dd8b0b68d51ff7b18ebd2ba220974f86656ac13b4c421c191ec66b269007a3f68a1992b0672623db046ef6b SHA512 1cb251d8abbec0b33b62b661ea8235224e94f807571b47e8422b6908b6636f844c639328cf0c07b4820a083b265e71f54dc3f6c48447f0cfd20bca738d7ab86a
-DIST google-api-python-client-2.54.0.gh.tar.gz 32389268 BLAKE2B 568ff657ea5093ff927208cd38d0125bf4aea8b725c5ded0a232c4de77f59c97f639b7f2b0ab8cf0e121bafd4512c23f9ac4c3c6cce6b6ab407c6ad2bb5a4983 SHA512 f33525bee9b6cede8955af4e208b64d1c82185cff08173d9ae30a704c3239b9a2ee9972e083fd4a823091b76669a7df02bf60cd950a3e20ddf21c6fd2e5ee18b
-DIST google-api-python-client-2.55.0.gh.tar.gz 32614590 BLAKE2B f7344903e4782940cb277b0b4ebc48b36c5b3403ea7f309205c4b27bee3488ecc5cd83b0487989da56b840dda7b0661f598c21307ba9afc9b52137f3b155737d SHA512 c674c038e911140e3ad64426be629d1498db382d96d18a5a51a4c2d5cb4375ad84e21e5dd68aedfa29b4bdc017d7996351f42ff34bff293a4d2c8cfb26820f0d
+DIST google-api-python-client-2.126.0.tar.gz 12163106 BLAKE2B b66240ea914b1f673bd96e161e2fdffa4567641471594b166258331c04d5f43cc1a0c6f888cafd904b0b84d3afe5befbf437c347409da6197b4f801c6a15b7a1 SHA512 e21d98106a97de4037d9eead2b2153010d75a07bc00585a8a4d0a584b3da1bd753421ef33fa635a62c850235eede880f34ed222c2b0ede13ba93e7e1558d7cf5
+DIST google-api-python-client-2.127.0.tar.gz 12203690 BLAKE2B 9252bf772c1d52ffc7b658f5c53d6537073f30df4a201573db84e53ded1b4e9693fa293a28d4f00d0d345695ac90639109993afe70908bf22538a2fa5b4bb7f5 SHA512 06887845f769005a10339114bb9d274c685bfcbc37e99ba9ac055e34cf587a4d8c0a2723159b8b2f6f6a25612bc4cc8ec01b248db4fafe3f1e1e7056e4081bdc
+DIST google-api-python-client-2.128.0.tar.gz 11193400 BLAKE2B c9762dc89a2dda1bdf96f6ae4b4f3540627510900cfccd6153e2399be7d835afdd1513854a9f25577e24e7555aa81b9bc0df06e8685c3f39871233655c9dc083 SHA512 9edd8c9c7b6736e98652e2abc4e482fae176e72cf5b04521b9ca2d0a86b885766a956b451d78dab038a5cfc7d7709eb2a505f03a07393decc3f3be8673400c88
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..da1b22f5ad98
--- /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.127.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.127.0.ebuild
new file mode 100644
index 000000000000..3961663be4b6
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.127.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.128.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.128.0.ebuild
new file mode 100644
index 000000000000..3961663be4b6
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.128.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.53.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.53.0.ebuild
deleted file mode 100644
index 1c528a1a0c2d..000000000000
--- a/dev-python/google-api-python-client/google-api-python-client-2.53.0.ebuild
+++ /dev/null
@@ -1,53 +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_{8..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/oauth2client[${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.54.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.54.0.ebuild
deleted file mode 100644
index 7e8aaa05d6d4..000000000000
--- a/dev-python/google-api-python-client/google-api-python-client-2.54.0.ebuild
+++ /dev/null
@@ -1,53 +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_{8..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/oauth2client[${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.55.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.55.0.ebuild
deleted file mode 100644
index 7e8aaa05d6d4..000000000000
--- a/dev-python/google-api-python-client/google-api-python-client-2.55.0.ebuild
+++ /dev/null
@@ -1,53 +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_{8..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/oauth2client[${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 c52af1b4a465..000000000000
--- a/dev-python/google-apitools/google-apitools-0.5.32-r1.ebuild
+++ /dev/null
@@ -1,31 +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_{8..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 b65ecdc417b6..af49a3dd4152 100644
--- a/dev-python/google-auth-httplib2/Manifest
+++ b/dev-python/google-auth-httplib2/Manifest
@@ -1 +1 @@
-DIST google-auth-library-python-httplib2-0.1.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 ba2fdabc7269..000000000000
--- a/dev-python/google-auth-httplib2/google-auth-httplib2-0.1.0-r1.ebuild
+++ /dev/null
@@ -1,36 +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_{8..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.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 f2eb2cd41d46..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.5.2.gh.tar.gz 53842 BLAKE2B 7adcd9f339ec9a5528308fcc0fee1cbbe96440e1bfe5c7cc9c94808668e22801b612d291a2419333888194c3224838ac40f9d0656381825bd660067470f58910 SHA512 eaf296a0e0504e8249637a8db7531c10b120f28abeeab3e1fe8f366b4279c396509188e83f8a0ec56be85063430ceb691d6d926cee33d4f166bbcc4425e538db
+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.5.2.ebuild b/dev-python/google-auth-oauthlib/google-auth-oauthlib-0.5.2.ebuild
deleted file mode 100644
index 9aa755ca297b..000000000000
--- a/dev-python/google-auth-oauthlib/google-auth-oauthlib-0.5.2.ebuild
+++ /dev/null
@@ -1,39 +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_{8..10} )
-
-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-1.0.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 5ff5e539b228..08458e4f47fd 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -1,3 +1 @@
-DIST google-auth-2.10.0.tar.gz 205591 BLAKE2B e5b6ea1a65afc42318dc26ed5fa18de19232ca85e6da5be47c45b41861595f763b42bfdd92aaa63d20bbbf76fc1447dbeb7d88424ae5f82ce23ea9f875d04700 SHA512 91cf5391606b896691a9ae1489391bb0545c461172439c3011fc56c575f4a67341eb25a41faec437cb82fc0a2835adc95006327e3460591137238721a6eddd50
-DIST google-auth-2.9.0.tar.gz 205241 BLAKE2B 3e33b3c404d0fbd8b4c0b02c6187103c5715dad0f8850b895c91cecca81c2b2adce1b6426eccb8fa5c94948b53978b8530c54c59749e54af5b9513ce23497f6a SHA512 2bcdf7c80d588f8229808e35426cf07ff1e14e778deb315ed375cb2c17a7efcec848c3cd2aa1ab8cd9c8550cd1e79eba9345c84d44f513844dfe1928e42a189d
-DIST google-auth-2.9.1.tar.gz 205219 BLAKE2B dd4d3c690a4ced2d4757167497689283b7fd8e9891948f0f14565fffe0d0c9eb62c4356a5715d10d02fefd1183bda5dfe3b1e7a7caa42c8d85c39c5875fd9730 SHA512 37830c708613f3a41c90658f220c2cd7ca45824c7e4741fa3b1754e635f6e0773daff05f770ad0836caefe082d6b517b5bd5b2a789cdbe03de9fdbca9a972f7f
+DIST google-auth-2.29.0.tar.gz 244326 BLAKE2B 36b0bd8f445e3c7c3e0a83d07cf5924401dec99cdd22a6042bf5b9ca1cc9b1e28d0029f8f1509bcb32a7c54abd7c453dd5077ad25886d265822cf1c880b1326f SHA512 0f6d7e9728479a5937d72321f5ae6cfa3592dd42bb518a5519fc0936b533472e872fe947470a1774f8e53a2dad3c65e001de3899b74b6373dd149c6944423473
diff --git a/dev-python/google-auth/google-auth-2.10.0.ebuild b/dev-python/google-auth/google-auth-2.10.0.ebuild
deleted file mode 100644
index de5188c8fdb8..000000000000
--- a/dev-python/google-auth/google-auth-2.10.0.ebuild
+++ /dev/null
@@ -1,58 +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_{8..10} )
-
-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-auth/google-auth-2.9.0.ebuild b/dev-python/google-auth/google-auth-2.9.0.ebuild
deleted file mode 100644
index 37c2ffef06a9..000000000000
--- a/dev-python/google-auth/google-auth-2.9.0.ebuild
+++ /dev/null
@@ -1,58 +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_{8..10} )
-
-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.9.1.ebuild b/dev-python/google-auth/google-auth-2.9.1.ebuild
deleted file mode 100644
index de5188c8fdb8..000000000000
--- a/dev-python/google-auth/google-auth-2.9.1.ebuild
+++ /dev/null
@@ -1,58 +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_{8..10} )
-
-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-i18n-address/Manifest b/dev-python/google-i18n-address/Manifest
new file mode 100644
index 000000000000..deeba94c3d0a
--- /dev/null
+++ b/dev-python/google-i18n-address/Manifest
@@ -0,0 +1 @@
+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-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-i18n-address/metadata.xml b/dev-python/google-i18n-address/metadata.xml
new file mode 100644
index 000000000000..97d1129a9f41
--- /dev/null
+++ b/dev-python/google-i18n-address/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <name>Florian Schmaus</name>
+ <email>flow@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">google-i18n-address</remote-id>
+ <remote-id type="github">mirumee/google-i18n-address</remote-id>
+ </upstream>
+ <stabilize-allarches/>
+</pkgmetadata>
diff --git a/dev-python/google-pasta/google-pasta-0.2.0-r1.ebuild b/dev-python/google-pasta/google-pasta-0.2.0-r1.ebuild
deleted file mode 100644
index 41f08aacb619..000000000000
--- a/dev-python/google-pasta/google-pasta-0.2.0-r1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="AST-based Python refactoring library"
-HOMEPAGE="https://pypi.org/project/google-pasta/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-
-distutils_enable_tests unittest
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
new file mode 100644
index 000000000000..97d28e37643b
--- /dev/null
+++ b/dev-python/google-pasta/google-pasta-0.2.0-r2.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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="AST-based Python refactoring library"
+HOMEPAGE="
+ https://github.com/google/pasta/
+ https://pypi.org/project/google-pasta/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+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 5cee05e0734a..000000000000
--- a/dev-python/google-reauth-python/google-reauth-python-0.1.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{8..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 3d3628064d0a..014473916387 100644
--- a/dev-python/googleapis-common-protos/Manifest
+++ b/dev-python/googleapis-common-protos/Manifest
@@ -1 +1 @@
-DIST googleapis-common-protos-1.56.4.tar.gz 109551 BLAKE2B 14886a639258c62442f1bd33959f303f280728584d1d2cb2c0f9666b1fd645b9166eea3c149d3081a36ca61b7c48ef0677760d0078f6c46f6c9ce3338d0664b6 SHA512 c4dc3d5390caf5b671b5cf091410d660a96e5e5df5b9584cc757cc5c6929dabd8456965a7721a7573fa28ba8143af8f4c30183193f2e735eb1e25b66b1e15d7c
+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.56.4.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.56.4.ebuild
deleted file mode 100644
index c2d6a64bc69a..000000000000
--- a/dev-python/googleapis-common-protos/googleapis-common-protos-1.56.4.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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-4[${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 8cfae3e3b83e..457730369753 100644
--- a/dev-python/gpep517/Manifest
+++ b/dev-python/gpep517/Manifest
@@ -1,2 +1 @@
-DIST gpep517-8.gh.tar.gz 12858 BLAKE2B d02acc844f79495847b151449e2cbc3378122eaf4ae97957f4a3a447cac0adcb9d7fa065e79c52e3901bead5c2112ad140e16689e56fa1a09b8b68078c41210c SHA512 40a405e0d4700a62c7e1aaa8b2679849e18ad5d76b4b733c18632c549c4038ba8594fb48a86ba612b162ef9f433cad90fa3ee7fc92f45b13b88fed7e4cca16b0
-DIST gpep517-9.gh.tar.gz 15227 BLAKE2B b3c2b3e4452a7e27725eea0a6a0b1b362e1ea6bbdae44d99a2992c9edac80a4fdbf2ed75a231004534039c6d6f6db54d9fdbdc7c2c7044bb85cbc3f88484be41 SHA512 94cd1ddb1de7844504906b056ec5eb9d0e80da4f6bde6b561075c754a78a97e6db6025a793592c9498fad54ebab48c5497b29268c40d6992f5ef793a698b9da1
+DIST gpep517-15.gh.tar.gz 17535 BLAKE2B 265c2392cc70f4a94f6b8329dbba0ec5eb821e687bba553009bdc5e230d856fe6f105c873a79ee7ca99fb75c072c3d3c3b4f716ca873d13a8e393b33a97c8540 SHA512 7c3b878220e907ef801301eadc0e3031dd3c31770cc50bb7119ab32f9244c8a33792b4896ddeffc5d4b7be9f1d881fba5179de155f11845f510e455be59fb92e
diff --git a/dev-python/gpep517/gpep517-15.ebuild b/dev-python/gpep517/gpep517-15.ebuild
new file mode 100644
index 000000000000..59e88ad9c4ca
--- /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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A backend script to aid installing Python packages in Gentoo"
+HOMEPAGE="
+ https://pypi.org/project/gpep517/
+ https://github.com/projg2/gpep517/
+"
+SRC_URI="
+ https://github.com/projg2/gpep517/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="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/gpep517/gpep517-8.ebuild b/dev-python/gpep517/gpep517-8.ebuild
deleted file mode 100644
index 899810bac85d..000000000000
--- a/dev-python/gpep517/gpep517-8.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022 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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A backend script to aid installing Python packages in Gentoo"
-HOMEPAGE="
- https://pypi.org/project/gpep517/
- https://github.com/mgorny/gpep517/
-"
-SRC_URI="
- https://github.com/mgorny/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-9.ebuild b/dev-python/gpep517/gpep517-9.ebuild
deleted file mode 100644
index ee64cb1d660f..000000000000
--- a/dev-python/gpep517/gpep517-9.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022 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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A backend script to aid installing Python packages in Gentoo"
-HOMEPAGE="
- https://pypi.org/project/gpep517/
- https://github.com/mgorny/gpep517/
-"
-SRC_URI="
- https://github.com/mgorny/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/metadata.xml b/dev-python/gpep517/metadata.xml
index 802f821d7abc..d4f25a6234e0 100644
--- a/dev-python/gpep517/metadata.xml
+++ b/dev-python/gpep517/metadata.xml
@@ -7,7 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="github">mgorny/gpep517</remote-id>
+ <remote-id type="github">projg2/gpep517</remote-id>
<remote-id type="pypi">gpep517</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/graph-tool/Manifest b/dev-python/graph-tool/Manifest
index 7b20b54bb936..47a341ab504d 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.xz 14949712 BLAKE2B f7edfc112e737aad09317b2a754eefa8fad0135d580766b24ef5eb08d9e748a65a7372d95b9b00ffd891a2fe033f7ca29348b700e145361c48c95fe31a9f1500 SHA512 bfb604073c71b1f4a605008e5bfa6414370bc5c14e1b501e1821c1d363370e2f1f7c6dcedabf67723286cac07def1442c24577308458a75c4fc70aee69bf22ee
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 f45d24d4fbfe..000000000000
--- a/dev-python/graph-tool/graph-tool-2.45.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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-1.70:=[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..cc33f7016710
--- /dev/null
+++ b/dev-python/graph-tool/graph-tool-2.58.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit check-reqs python-r1 toolchain-funcs
+
+if [[ ${PV} == *9999 ]]; then
+ EGIT_REPO_URI="https://git.skewed.de/count0/graph-tool.git"
+ inherit autotools git-r3
+else
+ SRC_URI="https://downloads.skewed.de/${PN}/${P}.tar.xz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="An efficient python module for manipulation and statistical analysis of graphs"
+HOMEPAGE="https://graph-tool.skewed.de/"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+cairo openmp"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/boost:=[context,python,${PYTHON_USEDEP}]
+ dev-libs/expat
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ sci-mathematics/cgal:=
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ cairo? (
+ dev-cpp/cairomm:0
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ x11-libs/cairo[X]
+ )"
+DEPEND="${RDEPEND}
+ dev-cpp/sparsehash"
+BDEPEND="virtual/pkgconfig"
+
+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 f45d24d4fbfe..933f090ee1fa 100644
--- a/dev-python/graph-tool/graph-tool-9999.ebuild
+++ b/dev-python/graph-tool/graph-tool-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit check-reqs python-r1 toolchain-funcs
@@ -11,7 +11,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://git.skewed.de/count0/graph-tool.git"
inherit autotools git-r3
else
- SRC_URI="https://downloads.skewed.de/${PN}/${P}.tar.bz2"
+ SRC_URI="https://downloads.skewed.de/${PN}/${P}.tar.xz"
KEYWORDS="~amd64"
fi
@@ -25,7 +25,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
${PYTHON_DEPS}
- >=dev-libs/boost-1.70:=[context,python,${PYTHON_USEDEP}]
+ dev-libs/boost:=[context,python,${PYTHON_USEDEP}]
dev-libs/expat
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/scipy[${PYTHON_USEDEP}]
diff --git a/dev-python/graph-tool/metadata.xml b/dev-python/graph-tool/metadata.xml
index 658ec6ce0349..aacd5a58c842 100644
--- a/dev-python/graph-tool/metadata.xml
+++ b/dev-python/graph-tool/metadata.xml
@@ -5,10 +5,6 @@
<email>soap@gentoo.org</email>
<name>David Seifert</name>
</maintainer>
- <maintainer type="person" proxied="yes">
- <email>gentoo@chymera.eu</email>
- <name>Horea Christian</name>
- </maintainer>
<upstream>
<remote-id type="pypi">graph-tool</remote-id>
</upstream>
diff --git a/dev-python/graphviz/Manifest b/dev-python/graphviz/Manifest
index f06dc613bd02..d81cb9cd0b07 100644
--- a/dev-python/graphviz/Manifest
+++ b/dev-python/graphviz/Manifest
@@ -1,2 +1 @@
-DIST graphviz-0.20.1.gh.tar.gz 188952 BLAKE2B 65d0b993e01492894b6d245c0869412b4956e5d55f9d8d490505c8f3477dc5ab98739cf0bf1aa1a15c4bacb2db4c2807659ce410ca65503c5876ffdc278e959f SHA512 34d340469856777f03b9c9e6d28f232908797bc1456a5b50104dd2f7dc8b7488afc7b29a564d57707ae96f3291f5ae90b8140ab64e378b82f271b5521763fb55
-DIST graphviz-0.20.zip 255452 BLAKE2B 0bafa3af9d712e30bd6777d55d54c5a8055f8ad4c6e6ee8c9f936a5abf6e025d7179b2b72e9e0926378ae30e9b655d08507e815c67944123c6c222ecbcd4939d SHA512 8b30ac09913ec5860cf26cfc9e008b0feeda8d61274e346ec305087468b655ace115ff28e0ab96eb47d97127410213729d1131dd635771dcaedfae0bae0ca178
+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 a0d7db4398ce..000000000000
--- a/dev-python/graphviz/graphviz-0.20.1.ebuild
+++ /dev/null
@@ -1,48 +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_{8..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/graphviz-0.20.ebuild b/dev-python/graphviz/graphviz-0.20.ebuild
deleted file mode 100644
index 03c5a6d9544f..000000000000
--- a/dev-python/graphviz/graphviz-0.20.ebuild
+++ /dev/null
@@ -1,42 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple Python interface for Graphviz"
-HOMEPAGE="https://graphviz.readthedocs.io/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
-
-LICENSE="MIT"
-KEYWORDS="amd64 ~riscv x86 ~amd64-linux ~x86-linux"
-SLOT="0"
-
-RDEPEND="
- media-gfx/graphviz
-"
-BDEPEND="
- app-arch/unzip
- 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/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 c5f24690b302..ee00b5b36e50 100644
--- a/dev-python/greenlet/Manifest
+++ b/dev-python/greenlet/Manifest
@@ -1 +1,3 @@
-DIST greenlet-1.1.2.tar.gz 91224 BLAKE2B 1430f96acfba3c184b9ac0f51acde7c48aa5d2e648a155cadf16399c878f527a4bafcb547d2b28835095ba2fd21c33096ee6fb51ce5feda0a8c5915be521b32a SHA512 e7bcc1bfffc80fcaee735ee69f6f53e8f68bd4d3ab8ad6ed813684ffad72340a347e4810f18cc32d9c3948b5c995aefc3a53ce4ae60324093dae12042d33183b
+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-1.1.2-fix-py3.11.patch b/dev-python/greenlet/files/greenlet-1.1.2-fix-py3.11.patch
deleted file mode 100644
index 475fcd82fb34..000000000000
--- a/dev-python/greenlet/files/greenlet-1.1.2-fix-py3.11.patch
+++ /dev/null
@@ -1,223 +0,0 @@
-From: Victor Stinner <vstinner@python.org>
-Subject: [PATCH] Closes #305: Add Python 3.11 support
-
-* Add GREENLET_PY311 macro
-* PyGreenlet structure:
-
- * Add 3 members for the "data stack": 'datastack_chunk',
- 'datastack_top' and 'datastack_limit'.
- * Add 'current_frame' member.
-
-* Rename CFrame to _PyCFrame
-* tox.ini: Add py311 environment.
-
-Changes partially backport from the master branch:
-commit 63e1099acc3677e614532bea0fa2e1967b69125f.
-
-Co-Authored-By: Miro HronÄok <miro@hroncok.cz>
-
-https://github.com/python-greenlet/greenlet/pull/306
---- a/src/greenlet/greenlet.c
-+++ b/src/greenlet/greenlet.c
-@@ -170,9 +170,11 @@ green_clear_exc(PyGreenlet* g)
- {
- #if GREENLET_PY37
- g->exc_info = NULL;
-- g->exc_state.exc_type = NULL;
- g->exc_state.exc_value = NULL;
-+#if !GREENLET_PY311
-+ g->exc_state.exc_type = NULL;
- g->exc_state.exc_traceback = NULL;
-+#endif
- g->exc_state.previous_item = NULL;
- #else
- g->exc_type = NULL;
-@@ -525,8 +527,13 @@ g_switchstack(void)
- { /* save state */
- PyGreenlet* current = ts_current;
- PyThreadState* tstate = PyThreadState_GET();
-+#if GREENLET_PY311
-+ current->recursion_depth = (tstate->recursion_limit
-+ - tstate->recursion_remaining);
-+#else
- current->recursion_depth = tstate->recursion_depth;
- current->top_frame = tstate->frame;
-+#endif
- #if GREENLET_PY37
- current->context = tstate->context;
- #endif
-@@ -551,6 +558,15 @@ g_switchstack(void)
- */
- current->cframe = tstate->cframe;
- ts__g_switchstack_use_tracing = tstate->cframe->use_tracing;
-+#if GREENLET_PY311
-+ current->current_frame = tstate->cframe->current_frame;
-+ current->datastack_chunk = tstate->datastack_chunk;
-+ current->datastack_top = tstate->datastack_top;
-+ current->datastack_limit = tstate->datastack_limit;
-+ PyFrameObject *frame = PyThreadState_GetFrame(tstate);
-+ Py_XDECREF(frame); /* PyThreadState_GetFrame gives us a new reference. */
-+ current->top_frame = frame;
-+#endif
- #endif
- }
-
-@@ -574,9 +590,6 @@ g_switchstack(void)
- PyGreenlet* target = ts_target;
- PyGreenlet* origin = ts_current;
- PyThreadState* tstate = PyThreadState_GET();
-- tstate->recursion_depth = target->recursion_depth;
-- tstate->frame = target->top_frame;
-- target->top_frame = NULL;
-
- #if GREENLET_PY37
- tstate->context = target->context;
-@@ -607,7 +620,18 @@ g_switchstack(void)
- */
- tstate->cframe->use_tracing = ts__g_switchstack_use_tracing;
- #endif
--
-+#if GREENLET_PY311
-+ tstate->recursion_remaining = (tstate->recursion_limit
-+ - target->recursion_depth);
-+ tstate->cframe->current_frame = target->current_frame;
-+ tstate->datastack_chunk = target->datastack_chunk;
-+ tstate->datastack_top = target->datastack_top;
-+ tstate->datastack_limit = target->datastack_limit;
-+#else
-+ tstate->recursion_depth = target->recursion_depth;
-+ tstate->frame = target->top_frame;
-+#endif
-+ target->top_frame = NULL;
- assert(ts_origin == NULL);
- Py_INCREF(target);
- ts_current = target;
-@@ -810,7 +834,7 @@ static int GREENLET_NOINLINE(g_initialstub)(void* mark)
- We want to defer copying the state info until we're sure
- we need it and are in a stable place to do so.
- */
-- CFrame trace_info;
-+ _PyCFrame trace_info;
- #endif
- /* save exception in case getattr clears it */
- PyErr_Fetch(&exc, &val, &tb);
-@@ -875,7 +899,12 @@ static int GREENLET_NOINLINE(g_initialstub)(void* mark)
- }
- self->top_frame = NULL;
- green_clear_exc(self);
-+#if GREENLET_PY311
-+ self->recursion_depth = (PyThreadState_GET()->recursion_limit
-+ - PyThreadState_GET()->recursion_remaining);
-+#else
- self->recursion_depth = PyThreadState_GET()->recursion_depth;
-+#endif
-
- /* restore arguments in case they are clobbered */
- ts_target = self;
-@@ -1006,13 +1035,13 @@ green_new(PyTypeObject* type, PyObject* args, PyObject* kwds)
- it uses the ``root_cframe`` just to have something to put there.
- However, once the greenlet is actually switched to for the first
- time, ``g_initialstub`` (which doesn't actually "return" while the
-- greenlet is running) stores a new CFrame on its local stack, and
-+ greenlet is running) stores a new _PyCFrame on its local stack, and
- copies the appropriate values from the currently running CFrame;
-- this is then made the CFrame for the newly-minted greenlet.
-+ this is then made the _PyCFrame for the newly-minted greenlet.
- ``g_initialstub`` then proceeds to call ``glet.run()``, which
-- results in ``PyEval_...`` adding the CFrame to the list. Switches
-+ results in ``PyEval_...`` adding the _PyCFrame to the list. Switches
- continue as normal. Finally, when the greenlet finishes, the call to
-- ``glet.run()`` returns and the CFrame is taken out of the linked
-+ ``glet.run()`` returns and the _PyCFrame is taken out of the linked
- list and the stack value is now unused and free to expire.
- */
- ((PyGreenlet*)o)->cframe = &PyThreadState_GET()->root_cframe;
-@@ -1121,9 +1150,11 @@ green_traverse(PyGreenlet* self, visitproc visit, void* arg)
- Py_VISIT(self->context);
- #endif
- #if GREENLET_PY37
-- Py_VISIT(self->exc_state.exc_type);
- Py_VISIT(self->exc_state.exc_value);
-+#if !GREENLET_PY311
-+ Py_VISIT(self->exc_state.exc_type);
- Py_VISIT(self->exc_state.exc_traceback);
-+#endif
- #else
- Py_VISIT(self->exc_type);
- Py_VISIT(self->exc_value);
-@@ -1159,9 +1190,11 @@ green_clear(PyGreenlet* self)
- Py_CLEAR(self->context);
- #endif
- #if GREENLET_PY37
-- Py_CLEAR(self->exc_state.exc_type);
- Py_CLEAR(self->exc_state.exc_value);
-+#if !GREENLET_PY311
-+ Py_CLEAR(self->exc_state.exc_type);
- Py_CLEAR(self->exc_state.exc_traceback);
-+#endif
- #else
- Py_CLEAR(self->exc_type);
- Py_CLEAR(self->exc_value);
-@@ -1253,9 +1286,11 @@ green_dealloc(PyGreenlet* self)
- Py_CLEAR(self->context);
- #endif
- #if GREENLET_PY37
-- Py_CLEAR(self->exc_state.exc_type);
- Py_CLEAR(self->exc_state.exc_value);
-+#if !GREENLET_PY311
-+ Py_CLEAR(self->exc_state.exc_type);
- Py_CLEAR(self->exc_state.exc_traceback);
-+#endif
- #else
- Py_CLEAR(self->exc_type);
- Py_CLEAR(self->exc_value);
---- a/src/greenlet/greenlet.h
-+++ b/src/greenlet/greenlet.h
-@@ -14,6 +14,15 @@ extern "C" {
- /* This is deprecated and undocumented. It does not change. */
- #define GREENLET_VERSION "1.0.0"
-
-+#if PY_VERSION_HEX >= 0x30B00A6
-+# define GREENLET_PY311 1
-+ /* _PyInterpreterFrame moved to the internal C API in Python 3.11 */
-+# include <internal/pycore_frame.h>
-+#else
-+# define GREENLET_PY311 0
-+# define _PyCFrame CFrame
-+#endif
-+
- typedef struct _greenlet {
- PyObject_HEAD
- char* stack_start;
-@@ -25,6 +34,12 @@ typedef struct _greenlet {
- PyObject* run_info;
- struct _frame* top_frame;
- int recursion_depth;
-+#if GREENLET_PY311
-+ _PyInterpreterFrame *current_frame;
-+ _PyStackChunk *datastack_chunk;
-+ PyObject **datastack_top;
-+ PyObject **datastack_limit;
-+#endif
- PyObject* weakreflist;
- #if PY_VERSION_HEX >= 0x030700A3
- _PyErr_StackItem* exc_info;
-@@ -39,7 +54,7 @@ typedef struct _greenlet {
- PyObject* context;
- #endif
- #if PY_VERSION_HEX >= 0x30A00B1
-- CFrame* cframe;
-+ _PyCFrame* cframe;
- #endif
- } PyGreenlet;
-
---- a/tox.ini
-+++ b/tox.ini
-@@ -1,6 +1,6 @@
- [tox]
- envlist =
-- py27,py35,py36,py37,py38,py39,py310,docs
-+ py27,py35,py36,py37,py38,py39,py310,py311,docs
-
- [testenv]
- commands =
diff --git a/dev-python/greenlet/greenlet-1.1.2-r1.ebuild b/dev-python/greenlet/greenlet-1.1.2-r1.ebuild
deleted file mode 100644
index 794ee971d35b..000000000000
--- a/dev-python/greenlet/greenlet-1.1.2-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2022 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_{8..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}-fix-py3.11.patch"
-)
-
-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
new file mode 100644
index 000000000000..f404b9d3bb61
--- /dev/null
+++ b/dev-python/greenlet/greenlet-2.0.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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+# Note: greenlet is built-in in pypy
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Lightweight in-process concurrent programming"
+HOMEPAGE="
+ https://greenlet.readthedocs.io/en/latest/
+ https://github.com/python-greenlet/greenlet/
+ https://pypi.org/project/greenlet/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 -hppa -ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/objgraph[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests unittest
+
+src_prepare() {
+ # patch cflag manipulations out
+ sed -i -e 's:global_compile_args[.]append.*:pass:' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ eunittest greenlet.tests
+}
diff --git a/dev-python/greenlet/greenlet-3.0.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/greenlet/metadata.xml b/dev-python/greenlet/metadata.xml
index 48a9cde06bf9..c3a8eb410e30 100644
--- a/dev-python/greenlet/metadata.xml
+++ b/dev-python/greenlet/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">greenlet</remote-id>
+ <remote-id type="github">python-greenlet/greenlet</remote-id>
</upstream>
</pkgmetadata>
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 087cb38eb54b..000000000000
--- a/dev-python/greenstalk/greenstalk-2.0.0-r1.ebuild
+++ /dev/null
@@ -1,27 +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_{8..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..95bfd6389703
--- /dev/null
+++ b/dev-python/griffe/Manifest
@@ -0,0 +1,2 @@
+DIST griffe-0.43.0.gh.tar.gz 226278 BLAKE2B c73edf303bb44ac714aca8b9516b332183d1b2d8465aabf3725ce3eabf44325660b05a183492535892cdd227065a41d4d8f808ddfb0204641b12495488bb3862 SHA512 34dbe13414d8f6df8a7fe486f542e195a235644c28b55717fe8abb7197780f51c05ff77a633f236cb09d5072a181fb5bac06e962db1d7d820fcd4316f5cdd471
+DIST griffe-0.44.0.gh.tar.gz 226269 BLAKE2B fd22ed9d11b9016307cd6cb519b7248b9afc2759eb20db2c2d1099f35ae804c9135ba241f1913d146154ff1ee917b9190ebda3fab3268b1b649a4cc925a15ade SHA512 6a60caec49ddc0496bacb5bb1c5a43cb6f56c1513d681b2c9a99a6acc2858ed465a0abacf564fe02c71bcf9ffccccf996c50bfebd005df7855e33852c1a1a955
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/griffe-0.44.0.ebuild b/dev-python/griffe/griffe-0.44.0.ebuild
new file mode 100644
index 000000000000..73f99c53e1af
--- /dev/null
+++ b/dev-python/griffe/griffe-0.44.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/Manifest b/dev-python/grpcio-testing/Manifest
index 8b74ea0fc289..254135ada0a6 100644
--- a/dev-python/grpcio-testing/Manifest
+++ b/dev-python/grpcio-testing/Manifest
@@ -1 +1 @@
-DIST grpcio-testing-1.43.0.tar.gz 17693 BLAKE2B f75158a870b63c48d19e849f87e4682c13a1d500690ff0f39d0d609c3de2f3086765dc7fe15acd590667fcc8ab8ce5d149517be5cbbb685bc222619b23e367a8 SHA512 4ad3da7805e85c0869c5a8c992d1512942334edeef10812665bdfb4a81b3d07efff08686b93c501f43d12e0c6181717ddbea392f1751a229d7a5fe26f162fae2
+DIST grpcio-testing-1.51.0.tar.gz 22390 BLAKE2B 813ade1f3f44e3aeda7ca779f130897281036de111cb17f9297f267961a591e1fa3b88380ccbec42edd339487f1b3f1028dcd308c46ffd8fde5817e3909cfd41 SHA512 3fd9de9cd75aebcf1f6c3716bbacaf5cc9cc9aa74acb42dd128b5c158fa2d52549cdcc8f3ea9f2cb0b86d0b84c998acd55fa16e879ac9099a2348d889d35d837
diff --git a/dev-python/grpcio-testing/grpcio-testing-1.43.0.ebuild b/dev-python/grpcio-testing/grpcio-testing-1.43.0.ebuild
deleted file mode 100644
index dd036f46ba69..000000000000
--- a/dev-python/grpcio-testing/grpcio-testing-1.43.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-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"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-RDEPEND="
- ~dev-python/grpcio-${PV}[${PYTHON_USEDEP}]
- dev-python/protobuf-python[${PYTHON_USEDEP}]
-"
-BDEPEND="${RDEPEND}"
diff --git a/dev-python/grpcio-testing/grpcio-testing-1.51.0.ebuild b/dev-python/grpcio-testing/grpcio-testing-1.51.0.ebuild
new file mode 100644
index 000000000000..7dd1d26fa299
--- /dev/null
+++ b/dev-python/grpcio-testing/grpcio-testing-1.51.0.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_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Testing utilities for gRPC Python"
+HOMEPAGE="https://grpc.io"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ ~dev-python/grpcio-${PV}[${PYTHON_USEDEP}]
+ <dev-python/protobuf-python-5[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-python-4.21.3[${PYTHON_USEDEP}]
+"
+BDEPEND="${RDEPEND}"
diff --git a/dev-python/grpcio-testing/metadata.xml b/dev-python/grpcio-testing/metadata.xml
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/Manifest b/dev-python/grpcio-tools/Manifest
index d0f707222582..f21c8b1d3670 100644
--- a/dev-python/grpcio-tools/Manifest
+++ b/dev-python/grpcio-tools/Manifest
@@ -1 +1 @@
-DIST grpcio-tools-1.43.0.tar.gz 2210483 BLAKE2B 5daab31940dc5a21fbfea0985f6056361375be1b45f1a00e9345dc25808050193e20c9316d2a2a18d9a5f503787506f6d76a3bdf95ac6b3b7525873076b9d1e0 SHA512 60a5fa62fc1a81b5a57b47aca212ed94913ca20c3c1055dac18101776177fc0b18cc480c7356332e3eb4cf7819634ddc53d2e77f7c4b582a0fa53e26053f3ed4
+DIST grpcio-tools-1.51.0.tar.gz 2254565 BLAKE2B 7486c7c62d691cb3cbaf02a68e73d6d94ee48396b26c4d46c22776396ba7d637c9b6738c00e19a99101e189e7092b2240adbf53ae9d32188dc813a9b0a49c25d SHA512 fa76fd970c399aed7639d6ce343834a5e7d76f2247cc99e59d0bf29844fb2f366bc9b8e2124d7c9dd9163953741c06015ded7f400b8e77d0cdad8ac291a7af83
diff --git a/dev-python/grpcio-tools/grpcio-tools-1.43.0.ebuild b/dev-python/grpcio-tools/grpcio-tools-1.43.0.ebuild
deleted file mode 100644
index e37b35397828..000000000000
--- a/dev-python/grpcio-tools/grpcio-tools-1.43.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=rdepend
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1 multiprocessing prefix
-
-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"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-RDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- ~dev-python/grpcio-${PV}[${PYTHON_USEDEP}]
- dev-python/protobuf-python[${PYTHON_USEDEP}]
-"
-
-DEPEND="${RDEPEND}"
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- hprefixify setup.py
-}
-
-python_configure_all() {
- export GRPC_PYTHON_BUILD_WITH_CYTHON=1
- export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
-}
diff --git a/dev-python/grpcio-tools/grpcio-tools-1.51.0.ebuild b/dev-python/grpcio-tools/grpcio-tools-1.51.0.ebuild
new file mode 100644
index 000000000000..92eb5d244d7a
--- /dev/null
+++ b/dev-python/grpcio-tools/grpcio-tools-1.51.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+
+inherit distutils-r1 multiprocessing prefix pypi
+
+DESCRIPTION="Protobuf code generator for gRPC"
+HOMEPAGE="https://grpc.io"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ ~dev-python/grpcio-${PV}[${PYTHON_USEDEP}]
+ <dev-python/protobuf-python-5[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-python-4.21.3[${PYTHON_USEDEP}]
+"
+
+DEPEND="${RDEPEND}"
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ hprefixify setup.py
+}
+
+python_configure_all() {
+ export GRPC_PYTHON_BUILD_WITH_CYTHON=1
+ export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
+}
diff --git a/dev-python/grpcio-tools/metadata.xml b/dev-python/grpcio-tools/metadata.xml
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/Manifest b/dev-python/grpcio/Manifest
index a9bd416c914f..698e5d88b4e3 100644
--- a/dev-python/grpcio/Manifest
+++ b/dev-python/grpcio/Manifest
@@ -1 +1 @@
-DIST grpcio-1.43.0.tar.gz 21461955 BLAKE2B 406a341d24bf418a006b3f86c25254f3bb3981fd20123fd2d99d53d73e04b8da5500b7d871d8e3d96d1167a1306fd66a05cff418d1af8ff3eba9bb3faa34a199 SHA512 c4e9c7d20e53653c014d3c301f572df26ae84beb8d04fc3d763afcb695d232416ed8e7822f93bed1f9d8aab44f08aaaf36bf2f05aaa6bc3607428efbc0775cb1
+DIST grpcio-1.51.0.tar.gz 22142437 BLAKE2B 20acb52c89e41cd6e87ddb5554bcf79acc6fa18f4516c7be7a3fa1408ecb1e5800d6123bd7ac561093ca341344618de9701c3df75251e96cd9da5a3443568303 SHA512 3560e07df79143cb7a8a0a1f0dbaba2d164962ba712adf030a60654102bbd5ce6a08f88c133b81a3e471f1ec3d63de14f1b0567aa45bd641d958d3349ccef542
diff --git a/dev-python/grpcio/files/1.37.1-cc-flag-test-fix.patch b/dev-python/grpcio/files/1.37.1-cc-flag-test-fix.patch
deleted file mode 100644
index 0869c57dd113..000000000000
--- a/dev-python/grpcio/files/1.37.1-cc-flag-test-fix.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From c21ddf679bf46c0a13046060f17d7a87608923e3 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Mon, 14 Jun 2021 19:38:37 -0700
-Subject: [PATCH] fix cc flag test
-
----
- src/python/grpcio/commands.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/python/grpcio/commands.py b/src/python/grpcio/commands.py
-index df8fc46..de71ea5 100644
---- a/src/python/grpcio/commands.py
-+++ b/src/python/grpcio/commands.py
-@@ -234,7 +234,8 @@ class BuildExt(build_ext.build_ext):
- """
- try:
- # TODO(lidiz) Remove the generated a.out for success tests.
-- cc_test = subprocess.Popen(['cc', '-x', 'c', '-std=c++11', '-'],
-+ cc = os.environ.get('CC', 'cc')
-+ cc_test = subprocess.Popen([cc, '-x', 'c', '-std=c++11', '-'],
- stdin=subprocess.PIPE,
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
---
-2.32.0
-
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/files/1.51.0-respect-cc.patch b/dev-python/grpcio/files/1.51.0-respect-cc.patch
new file mode 100644
index 000000000000..8a2c8313aa8f
--- /dev/null
+++ b/dev-python/grpcio/files/1.51.0-respect-cc.patch
@@ -0,0 +1,28 @@
+From 209e9e0c21dd5bdf62d943dfd9caca40565734b5 Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakovlev@gentoo.org>
+Date: Mon, 28 Nov 2022 14:08:17 -0800
+Subject: [PATCH] respect CC variable
+
+https://github.com/grpc/grpc/pull/26480
+Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
+---
+ src/python/grpcio/commands.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/python/grpcio/commands.py b/src/python/grpcio/commands.py
+index 58ab57be47..6d8228ffa0 100644
+--- a/src/python/grpcio/commands.py
++++ b/src/python/grpcio/commands.py
+@@ -228,7 +228,8 @@ class BuildExt(build_ext.build_ext):
+ """
+ try:
+ # TODO(lidiz) Remove the generated a.out for success tests.
+- cc_test = subprocess.Popen(['cc', '-x', 'c', '-std=c++14', '-'],
++ cc = os.environ.get('CC', 'cc')
++ cc_test = subprocess.Popen([cc, '-x', 'c', '-std=c++14', '-'],
+ stdin=subprocess.PIPE,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
+--
+2.38.1
+
diff --git a/dev-python/grpcio/grpcio-1.43.0.ebuild b/dev-python/grpcio/grpcio-1.43.0.ebuild
deleted file mode 100644
index cbd51222c6c7..000000000000
--- a/dev-python/grpcio/grpcio-1.43.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- net-dns/c-ares:=
- sys-libs/zlib:=
-"
-
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}/1.37.1-cc-flag-test-fix.patch" )
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- hprefixify setup.py
-}
-
-python_configure_all() {
- # os.environ.get('GRPC_BUILD_WITH_BORING_SSL_ASM', True)
- export GRPC_BUILD_WITH_BORING_SSL_ASM=
- export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=1
- export GRPC_PYTHON_BUILD_SYSTEM_CARES=1
- export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
- export GRPC_PYTHON_BUILD_WITH_SYSTEM_RE2=1
- export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
- export GRPC_PYTHON_BUILD_WITH_CYTHON=1
- export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
-}
diff --git a/dev-python/grpcio/grpcio-1.51.0-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/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 58f2073ace29..788096f40a97 100644
--- a/dev-python/gsd/Manifest
+++ b/dev-python/gsd/Manifest
@@ -1,2 +1 @@
-DIST gsd-v2.5.2.tar.gz 105448 BLAKE2B 408e66a91ea056e8c863e23dae439009e5f802f38d5e2a3b89bbb07c574ad61827fa9c2767729c37dcc8fa7ecb1fc3be922755da0ac0dc922ead2a365ce66a10 SHA512 2a2afb56b9f836608523b2946a0d2ca94511457506d02038d496b374ccb96dc0daad6435f9ee63b0937837b725d6288325c066d75d2ac0b0c6d9da4beb9eb082
-DIST gsd-v2.5.3.tar.gz 106104 BLAKE2B 39cadcca6a6660c736be8ce576b45d86a82a499bd21b6c818dcc6d307750940a8be85fdd63883d7aac9a416f5eddc55793ca2ab0da0b2373901c394d63ebe3f7 SHA512 3e3d5f8dece5553a4bc68b23aff8320b99169da5b995d1655da85c37e84a9e69d30f73ed3925e2e49b1c97dc875c594258dd15f3669337ca4c91914cab90d49c
+DIST gsd-3.2.1.tar.gz 108463 BLAKE2B d944a1a7f991e0894bfa1e42aa891ed02f0bbbf91efda39ab45b87f21c17bcc16251a51a34682efb67b6b85cf7fc9d6d92108d85d9643ab8e19aed584397779f SHA512 e889b72d3857d41e68d9515d5857d99f8f6ceead4b8a43019ddf11c4600054c7af3e046792ce154031bfb439c57ecd9d0e553a574cbbf7bce2578b90da631230
diff --git a/dev-python/gsd/gsd-2.5.2.ebuild b/dev-python/gsd/gsd-2.5.2.ebuild
deleted file mode 100644
index 296fe8d78986..000000000000
--- a/dev-python/gsd/gsd-2.5.2.ebuild
+++ /dev/null
@@ -1,29 +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_{8..10} )
-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"
-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[${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-2.5.3.ebuild b/dev-python/gsd/gsd-2.5.3.ebuild
deleted file mode 100644
index 30df9f182655..000000000000
--- a/dev-python/gsd/gsd-2.5.3.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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[${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/gsd/metadata.xml b/dev-python/gsd/metadata.xml
index 4ffe75a935c4..9bc8331824f0 100644
--- a/dev-python/gsd/metadata.xml
+++ b/dev-python/gsd/metadata.xml
@@ -11,5 +11,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">gsd</remote-id>
+ <remote-id type="github">glotzerlab/gsd</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/gssapi/Manifest b/dev-python/gssapi/Manifest
index 623051020860..c3e1194be67c 100644
--- a/dev-python/gssapi/Manifest
+++ b/dev-python/gssapi/Manifest
@@ -1 +1 @@
-DIST gssapi-1.7.3.gh.tar.gz 3830322 BLAKE2B ea3d633b9b88ab5105b5ba67dfd0ec138ac76e121be2ee82c43ca4f2a229c4592f5d417f5b9b0c8d2ce894bdcc35025361431280c4dc8a17782d1ea920390805 SHA512 8bb6346ef9dc5cb380bbe5e51931aa3470149d33a3eeef68a758ce0b2ef06785bdca9cb7ae809a8329ab2a05ac802ac3100f9d8e3d7d3034b4bbce1bc87b4268
+DIST gssapi-1.8.3.gh.tar.gz 113958 BLAKE2B e830ae4ee0f22ef85c4ae193cb62ad3ebec222cd4ea9c9b9531b621b358bc71a9e46440ed673f888837a5d42746a6c9d4033fed1db5f1dc044e982cd5d63e3d8 SHA512 f08a318beac4b2807f33f5c30ccdafeafed0971537456a477138fe783f7fd9f05ab59cff74030c3041504302b0922307e5c391cd5d0e8b4f370f0036a5ef45b8
diff --git a/dev-python/gssapi/gssapi-1.7.3-r1.ebuild b/dev-python/gssapi/gssapi-1.7.3-r1.ebuild
deleted file mode 100644
index e756fde5ea9c..000000000000
--- a/dev-python/gssapi/gssapi-1.7.3-r1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-# Needed to recythonise for Python 3.11
-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/gssapi/metadata.xml b/dev-python/gssapi/metadata.xml
index 1f0e10673690..88ef379d899b 100644
--- a/dev-python/gssapi/metadata.xml
+++ b/dev-python/gssapi/metadata.xml
@@ -11,5 +11,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">gssapi</remote-id>
+ <remote-id type="github">pythongssapi/python-gssapi</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/gst-python/Manifest b/dev-python/gst-python/Manifest
index eae37af106a8..670eba39788d 100644
--- a/dev-python/gst-python/Manifest
+++ b/dev-python/gst-python/Manifest
@@ -1 +1 @@
-DIST gst-python-1.20.2.tar.xz 153428 BLAKE2B 051be5996530989b0e016662f4bf33ac01d576dff56ef779ae481f6f02143595cb3132b9a1ad56cd26f7de55c5df28d25cac448ef28f1b8595974f468252c6b5 SHA512 99af8bad76f930e6c11dcacac013ffe30670ad77259ebe96ee6059a9c359fd1a9c9b22188856f2f19f31469c152b3ad269ba821d06ef92f0c92b3b0fe0eac0d2
+DIST gst-python-1.22.11.tar.xz 118072 BLAKE2B 7133bdc6462ed54669b18f0650ec9e9d5c90d406eadedccc2f125c01b05366c8cfd89ae17178a8197fd4c251d53fd848bdb498ff377076e402983a404f16c186 SHA512 749a3080ad56edfee66c6f24ab106b07cd2a7d6e5f704147a69e12fc0a1da9d9b8d8337c36ce62af459577df3f0804c60cbeb4a211454277ad0a46fd89edcfa5
diff --git a/dev-python/gst-python/gst-python-1.20.2.ebuild b/dev-python/gst-python/gst-python-1.20.2.ebuild
deleted file mode 100644
index 911b008ead42..000000000000
--- a/dev-python/gst-python/gst-python-1.20.2.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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.22.11.ebuild b/dev-python/gst-python/gst-python-1.22.11.ebuild
new file mode 100644
index 000000000000..23bae95b92e8
--- /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 b6939793d46a..218781eb61b4 100644
--- a/dev-python/guessit/Manifest
+++ b/dev-python/guessit/Manifest
@@ -1 +1 @@
-DIST guessit-3.4.3.tar.gz 166183 BLAKE2B 30b08719b12580ade5354a501217cf2b0547965d1ef8016ffce313d257a3ca80a0736e0c904b4e3f7f639d24919839afc3887d81e2912e6aafb37861f979766f SHA512 2719683487baa7bf0f212d4150486f3e673721683361004aa4397204fdc1a3414de86dd4b05b805dc91427d897cd391a7431e6c25e1576b0855f4cc3aabade7a
+DIST guessit-3.8.0.tar.gz 271285 BLAKE2B 67ff29739839c79b95ad6022ad0329698af62abcbbbed7e9f52ba1c2e60f5c69defda5e87d97607d3eaeeb7668a9f4b82de05140f23555c800731c2236b0f7e6 SHA512 968e8f27dd41dcaece27444cd5117990726ef73467cedbc008dcf0fe2d1f2010209253e2fa6d645e30d9eaffe613080f1c2d77bda772227c1e6e04910d58f7ad
diff --git a/dev-python/guessit/guessit-3.4.3.ebuild b/dev-python/guessit/guessit-3.4.3.ebuild
deleted file mode 100644
index 74897219672d..000000000000
--- a/dev-python/guessit/guessit-3.4.3.ebuild
+++ /dev/null
@@ -1,42 +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_{8..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 219710c96238..000000000000
--- a/dev-python/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.11-r1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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
new file mode 100644
index 000000000000..5ca2bfca23bd
--- /dev/null
+++ b/dev-python/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.11-r2.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx theme used by Guzzle"
+HOMEPAGE="https://github.com/guzzle/guzzle_sphinx_theme"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
diff --git a/dev-python/h11/Manifest b/dev-python/h11/Manifest
index eb8286a51cd4..884f486ae80b 100644
--- a/dev-python/h11/Manifest
+++ b/dev-python/h11/Manifest
@@ -1 +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 d3f2e63f8d2f..000000000000
--- a/dev-python/h11/h11-0.13.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=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{8..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
new file mode 100644
index 000000000000..dfa77d65629a
--- /dev/null
+++ b/dev-python/h11/h11-0.14.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=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+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/
+"
+
+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/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 46613c45aa92..000000000000
--- a/dev-python/h2/h2-3.2.0-r1.ebuild
+++ /dev/null
@@ -1,58 +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_{8..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 9cd10bb74e3e..000000000000
--- a/dev-python/h2/h2-3.2.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 2520745f3814..7dee9b75abc0 100644
--- a/dev-python/h2/h2-4.1.0-r1.ebuild
+++ b/dev-python/h2/h2-4.1.0-r1.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_{8..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 27f6546d3831..39fe84b7e467 100644
--- a/dev-python/h5py/Manifest
+++ b/dev-python/h5py/Manifest
@@ -1 +1,2 @@
-DIST h5py-3.7.0.tar.gz 392355 BLAKE2B efc974ff14457ef00329c6b2adf5b926e2dff33bbb4b9e9d60773760a973214c5279bfafca87c6fcab02bbffb85b780c708d26fb55a1e7a401d8d676f20acc15 SHA512 c10a9a623c88dbc965238cb2057b8924492c762c29610cfdb24f26f878a7322e414d3e5c90d750c2f5cfe1b4949f884bc17f09a126b01a4721ad6e14761174a2
+DIST h5py-3.10.0-cython3.patch.xz 3868 BLAKE2B 3c0d952bdca5307ebf0bf878c26b94d0593bb89ac538a51017fb94e1e488bffc1583dcf4e713005b87d1b5e20d7b73043b24d65404faf60fb69515e598ca2133 SHA512 a0a0e3d1a9bccad1c89aa7efe3ba1e080eb70cae1f42f8de1021c212817970eaaa7070131e8e39859eea3c18d6c1243a17e7f53f2179f34ff6c406b315bab8fa
+DIST h5py-3.11.0.tar.gz 406519 BLAKE2B a5568c96290eee1f6da965174b6fa398f94e2e1825ec4ec50efd856b37ccf2bf634cfeb32101c7c53712fe9c68b0617774e9339a3f0d9373d3df24e6763a20cf SHA512 05d99093d5e7c280779b4167bd3594488dfc348b800da95c2275ddc8d77b4208fd1353942bf8863c4859d0208e8aa8bf84e628b3c5942eb947ecdcf0a7d19e88
diff --git a/dev-python/h5py/h5py-3.11.0.ebuild b/dev-python/h5py/h5py-3.11.0.ebuild
new file mode 100644
index 000000000000..961ca41db084
--- /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="
+ >=dev-python/numpy-1.17.3:=[${PYTHON_USEDEP}]
+ >=sci-libs/hdf5-1.10.4:=[hl(+)]
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+BDEPEND="
+ >=dev-python/cython-0.29.31[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.14.5[${PYTHON_USEDEP}]
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ test? (
+ dev-python/QtPy[testlib,${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+
+python_prepare_all() {
+ # avoid pytest-mpi dep, we do not use mpi anyway
+ sed -i -e 's:pytest-mpi::' pytest.ini || die
+ distutils-r1_python_prepare_all
+
+ export H5PY_SETUP_REQUIRES=0
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest -m "not mpi"
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/h5py/h5py-3.7.0.ebuild b/dev-python/h5py/h5py-3.7.0.ebuild
deleted file mode 100644
index bbfbfbcd2ca0..000000000000
--- a/dev-python/h5py/h5py-3.7.0.ebuild
+++ /dev/null
@@ -1,70 +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_{8..10} )
-
-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 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/h5py/metadata.xml b/dev-python/h5py/metadata.xml
index f110c302016a..efccd0f8f324 100644
--- a/dev-python/h5py/metadata.xml
+++ b/dev-python/h5py/metadata.xml
@@ -17,8 +17,9 @@
(as used with Numpy recarray types), HDF5 attributes, hyperslab and
point-based I/O, and more recent features in HDF 1.8 like resizable
datasets and recursive iteration over entire files.
-</longdescription>
+ </longdescription>
<upstream>
+ <remote-id type="github">h5py/h5py</remote-id>
<remote-id type="google-code">h5py</remote-id>
<remote-id type="pypi">h5py</remote-id>
</upstream>
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 cbe7c8b68a9d..000000000000
--- a/dev-python/happybase/happybase-1.2.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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
new file mode 100644
index 000000000000..e819ffc11b6c
--- /dev/null
+++ b/dev-python/hatch-fancy-pypi-readme/Manifest
@@ -0,0 +1 @@
+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-24.1.0.ebuild b/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-24.1.0.ebuild
new file mode 100644
index 000000000000..17cf5b1dad8a
--- /dev/null
+++ b/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-24.1.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Fancy PyPI READMEs with Hatch"
+HOMEPAGE="
+ https://pypi.org/project/hatch-fancy-pypi-readme/
+ https://github.com/hynek/hatch-fancy-pypi-readme/
+"
+SRC_URI="
+ https://github.com/hynek/hatch-fancy-pypi-readme/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/hatchling[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fails without Internet (via pip)
+ tests/test_end_to_end.py
+)
diff --git a/dev-python/hatch-fancy-pypi-readme/metadata.xml b/dev-python/hatch-fancy-pypi-readme/metadata.xml
new file mode 100644
index 000000000000..3942e83b36ec
--- /dev/null
+++ b/dev-python/hatch-fancy-pypi-readme/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">hynek/hatch-fancy-pypi-readme</remote-id>
+ <remote-id type="pypi">hatch-fancy-pypi-readme</remote-id>
+ </upstream>
+</pkgmetadata>
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..7da54dddbfea
--- /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 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/hatchling-0.21.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/hatch-nodejs-version/metadata.xml b/dev-python/hatch-nodejs-version/metadata.xml
new file mode 100644
index 000000000000..400fe916bf3d
--- /dev/null
+++ b/dev-python/hatch-nodejs-version/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">agoose77/hatch-nodejs-version</remote-id>
+ <remote-id type="pypi">hatch-nodejs-version</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/hatch-vcs/Manifest b/dev-python/hatch-vcs/Manifest
index 1da7aa42264f..217ef9dd6465 100644
--- a/dev-python/hatch-vcs/Manifest
+++ b/dev-python/hatch-vcs/Manifest
@@ -1 +1 @@
-DIST hatch-vcs-0.2.0.gh.tar.gz 8192 BLAKE2B 69f24de91b947e695336ca30cf3f265edcfaf10fa49df93fa0f70e45d1179e70d1ef5584fc99f88f66ca3c4fd1866a681db81253280ce3f9221d19f04443a085 SHA512 1c3627240ef5b659b9d87a69c84dd71cac4c83758f5be676e808377400383e996209cf6eabb1222f5330c0a97f0d261ced1eb9dc40e1d5c2bb2fc708659360eb
+DIST hatch-vcs-0.4.0.gh.tar.gz 10822 BLAKE2B 92b1ad1181a6bae815a6d01045836976b8767086f2a7001de9ad97f0d61737895da9a411419e28c5b2d830fca606d7d9c21265210965bc7691670f92aeab1b22 SHA512 bf40cc371c8d8e120fce83e5986fc2bdc2087fa5a4ac4a407d32617e98205ded79dcb29a00c7638ba68dd5ce09f31e84b34176627a6a34dfb7708031f4c4519a
diff --git a/dev-python/hatch-vcs/hatch-vcs-0.2.0.ebuild b/dev-python/hatch-vcs/hatch-vcs-0.2.0.ebuild
deleted file mode 100644
index 07b53a07af44..000000000000
--- a/dev-python/hatch-vcs/hatch-vcs-0.2.0.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=hatchling
-PYTHON_COMPAT=( pypy3 python3_{8..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}]
-"
-
-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..60287b2f1dfa
--- /dev/null
+++ b/dev-python/hatch-vcs/hatch-vcs-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=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+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/hatch-vcs/metadata.xml b/dev-python/hatch-vcs/metadata.xml
index a9c9fbb19963..1287ed7ca153 100644
--- a/dev-python/hatch-vcs/metadata.xml
+++ b/dev-python/hatch-vcs/metadata.xml
@@ -4,6 +4,7 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">ofek/hatch-vcs</remote-id>
<remote-id type="pypi">hatch-vcs</remote-id>
diff --git a/dev-python/hatchling/Manifest b/dev-python/hatchling/Manifest
index d1a04acd8890..bf39c424d688 100644
--- a/dev-python/hatchling/Manifest
+++ b/dev-python/hatchling/Manifest
@@ -1,3 +1,3 @@
-DIST hatch-hatchling-v1.4.1.gh.tar.gz 229194 BLAKE2B 9d7b11244ce67d64a05f4a737966a8f037031275ae5b2ecde395c172232eb5bbf0f38df4f0048c6732641bafbf524670bc1e6dd9d441cc4297ef74126b56971b SHA512 b8dc8dfdc7e251cad4161f59acc724122f8f7083a1ce170722b7b5c31ccf22488e3871be76ea3fad058be2cce263752099c9b548759e16ba644daaba0eca63ba
-DIST hatch-hatchling-v1.5.0.gh.tar.gz 232265 BLAKE2B 4fd57f7610831a025b9b0dddb89c4fe484d32d0b76a2d0cdafb76730b37c54af42ef27dc1c4d73061d888ce75806bd8f0fc70f5d39a077bd534716cf4e4a4db8 SHA512 9e5498b9da3a1f756e0f3e40daa63e45017588332da4197ac83b8402219bb9501b9c498dd881c5812b2b8903af591e4c6146aaf6dea8cc7b6bc664a85dee74e6
-DIST hatch-hatchling-v1.6.0.gh.tar.gz 233428 BLAKE2B 5ce5a2a94c9021919f50f90a96f37713a739fe08e1d6a5955a3af369d6c37beece1a4c22b1883e689e500f219101fb67a700231b8d0d22432150b34a6cee22bd SHA512 be23b81cca96cb93321938e0ac7455efc2e388e910c1b64a7d611a37681b5bd6aa89c4fe165a7a2f7ce2dd11ea3598aaeaaab80869e689aac0afdce915b8f567
+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.2.gh.tar.gz 1054297 BLAKE2B b2da7dc3f3d58998b57d6ee625a2b7e890afc078c0d8f6cb9c332480df561090bb8bc255e3e60d5d25fa55001869429f822014891fe1cec0098b61fbe02efe52 SHA512 e83f57089707a267685c9cac7f29cd5862adec62f6346097aa62bd5b3b9f7222621b2ea71004dd52f62798dab71bcf05c33a2c43dbe39d1bbc5f4a4f99f28c40
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..8fd32731e81d
--- /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.2.ebuild b/dev-python/hatchling/hatchling-1.24.2.ebuild
new file mode 100644
index 000000000000..cb5f1c813a23
--- /dev/null
+++ b/dev-python/hatchling/hatchling-1.24.2.ebuild
@@ -0,0 +1,105 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13 )
+
+inherit distutils-r1
+
+TAG=${P/-/-v}
+MY_P=hatch-${TAG}
+DESCRIPTION="Modern, extensible Python build backend"
+HOMEPAGE="
+ https://pypi.org/project/hatchling/
+ https://github.com/pypa/hatch/
+"
+SRC_URI="
+ https://github.com/pypa/hatch/archive/${TAG}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/backend
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# deps are listed in backend/src/hatchling/ouroboros.py
+# editables are optional but required for editable installs
+RDEPEND="
+ >=dev-python/editables-0.3[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.2[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# always depend on the newest version available, at least until upstream
+# stops treating unknown classifiers as a fatal error
+# https://github.com/pypa/hatch/issues/1368
+RDEPEND+="
+ >=dev-python/trove-classifiers-2024.3.25[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/atomicwrites[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # top-level "tests" directory contains tests both for hatch
+ # and hatchling
+ cd "${WORKDIR}/${MY_P}" || die
+
+ # sigh; standalone test suites are overrated, right?
+ echo "__version__ = '${PV}'" > src/hatch/_version.py || die
+ local -x PYTHONPATH="src:${PYTHONPATH}"
+
+ # do not require uv for portability, sigh
+ mkdir "${T}/bin" || die
+ cat > "${T}/bin/uv" <<-EOF || die
+ #!/bin/sh
+ exit 127
+ EOF
+ chmod +x "${T}/bin/uv" || die
+ local -x PATH=${T}/bin:${PATH}
+
+ # tests mock cargo subprocess call but the backend raises if CARGO
+ # is not set and shutil.which() can't find it
+ local -x CARGO=cargo
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x EPYTEST_DESELECT=(
+ # most of these run uv to install stuff
+ # the few remaining tests aren't worth running
+ tests/backend/dep/test_core.py
+ # broken if CARGO is set
+ tests/backend/builders/test_binary.py::TestBuildBootstrap::test_no_cargo
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock tests/backend
+}
diff --git a/dev-python/hatchling/hatchling-1.4.1.ebuild b/dev-python/hatchling/hatchling-1.4.1.ebuild
deleted file mode 100644
index 992dbe41ac5d..000000000000
--- a/dev-python/hatchling/hatchling-1.4.1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( pypy3 python3_{8..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"
-
-RDEPEND="
- >=dev-python/editables-0.2[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.9[${PYTHON_USEDEP}]
- >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.2.2[${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/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.5.0.ebuild b/dev-python/hatchling/hatchling-1.5.0.ebuild
deleted file mode 100644
index 868dd0172a97..000000000000
--- a/dev-python/hatchling/hatchling-1.5.0.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( pypy3 python3_{8..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"
-
-RDEPEND="
- >=dev-python/editables-0.2[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.9[${PYTHON_USEDEP}]
- >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.2.2[${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/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.6.0.ebuild b/dev-python/hatchling/hatchling-1.6.0.ebuild
deleted file mode 100644
index 868dd0172a97..000000000000
--- a/dev-python/hatchling/hatchling-1.6.0.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( pypy3 python3_{8..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"
-
-RDEPEND="
- >=dev-python/editables-0.2[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.9[${PYTHON_USEDEP}]
- >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.2.2[${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/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/hcloud-python/Manifest b/dev-python/hcloud-python/Manifest
deleted file mode 100644
index f20b66667b40..000000000000
--- a/dev-python/hcloud-python/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST hcloud-python-1.17.0.gh.tar.gz 98069 BLAKE2B b8fb2f1c4a3d139225a19599f956a845789872642bc62ec0434f5393e90f5ef64226b6363eeae0b3312084312aac4ddbe77e6e134b0502783e72568f23a71ee5 SHA512 829972585b5fe61aaaa2ee5294c97e6ad4a913229e8d87cec8e00d61480a780682b4eb75e2b9da5962bdb3dfda15b0a81afa74383be874e381a5f8e1a27d7014
diff --git a/dev-python/hcloud-python/hcloud-python-1.17.0.ebuild b/dev-python/hcloud-python/hcloud-python-1.17.0.ebuild
deleted file mode 100644
index c429f98a9034..000000000000
--- a/dev-python/hcloud-python/hcloud-python-1.17.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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="doc 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}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-python_install_all() {
- use examples && dodoc -r examples
- distutils-r1_python_install_all
-}
-
-python_test() {
- # Integration tests need docker:
- # https://github.com/hetznercloud/hcloud-python/blob/master/.travis.yml#L16
- epytest --ignore tests/integration
-}
diff --git a/dev-python/hcloud/Manifest b/dev-python/hcloud/Manifest
new file mode 100644
index 000000000000..3a1b5910da43
--- /dev/null
+++ b/dev-python/hcloud/Manifest
@@ -0,0 +1 @@
+DIST hcloud-python-1.35.0.gh.tar.gz 114672 BLAKE2B 1742d571fccc369245d9bf9c8f85da1c37061a13368dfe928b666e4f514ed5bf9f87f61bc4e5859ec7a759f5dfa6364c60ff851572071b46b2df21c0fe6f02a6 SHA512 48cee279b4f0025c61662304e67b8cee6a718c071f801daac440054439dedb21ab656c244f486860b056edd8bdc9330d3134ec936085297f24442a93cbbcc9e4
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..179cbe6f39fc
--- /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
new file mode 100644
index 000000000000..6f63a43472b1
--- /dev/null
+++ b/dev-python/helpdev/helpdev-0.7.1-r1.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 pypi
+
+DESCRIPTION="Helping users and developers to get information about the environment"
+HOMEPAGE="
+ https://gitlab.com/dpizetta/helpdev/
+ https://pypi.org/project/helpdev/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ dev-python/psutil[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pip[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
diff --git a/dev-python/helpdev/helpdev-0.7.1.ebuild b/dev-python/helpdev/helpdev-0.7.1.ebuild
deleted file mode 100644
index c61710dc539e..000000000000
--- a/dev-python/helpdev/helpdev-0.7.1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Helping users and developers to get information about the environment"
-HOMEPAGE="https://gitlab.com/dpizetta/helpdev"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- $(python_gen_cond_dep 'dev-python/importlib_metadata[${PYTHON_USEDEP}]' python3_{7..8} )
- dev-python/psutil[${PYTHON_USEDEP}]
-"
-
-BDEPEND="test? ( dev-python/pip[${PYTHON_USEDEP}] )"
-
-distutils_enable_sphinx docs dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
diff --git a/dev-python/helpdev/metadata.xml b/dev-python/helpdev/metadata.xml
index a3fa11d7a3f7..5ae74662dd68 100644
--- a/dev-python/helpdev/metadata.xml
+++ b/dev-python/helpdev/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">helpdev</remote-id>
+ <remote-id type="gitlab">dpizetta/helpdev</remote-id>
</upstream>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/dev-python/hidapi/Manifest b/dev-python/hidapi/Manifest
new file mode 100644
index 000000000000..4413e92216a1
--- /dev/null
+++ b/dev-python/hidapi/Manifest
@@ -0,0 +1 @@
+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.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
new file mode 100644
index 000000000000..6da494f40c3b
--- /dev/null
+++ b/dev-python/hidapi/metadata.xml
@@ -0,0 +1,9 @@
+<?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">trezor/cython-hidapi</remote-id>
+ <remote-id type="pypi">hidapi</remote-id>
+ </upstream>
+</pkgmetadata>
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 f20d2af1dcbb..000000000000
--- a/dev-python/hiredis/hiredis-2.0.0-r2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 7a9ca071e0e9..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 dev-libs/hiredis from system</flag>
- </use>
</pkgmetadata>
diff --git a/dev-python/hishel/Manifest b/dev-python/hishel/Manifest
new file mode 100644
index 000000000000..e3dc6a0cc938
--- /dev/null
+++ b/dev-python/hishel/Manifest
@@ -0,0 +1,2 @@
+DIST hishel-0.0.25.gh.tar.gz 825114 BLAKE2B dd7d7bec47700a1ab07976ba31b951adacf7e917dd7ba09419cc6e3b81f1b6609a1f7f14a6c176b0c151ed255cf099f3da60122717b2be9161bd41b7ba080f36 SHA512 16aec1ea495075b4932e1e9d16b07af060b49bb74faed097343bde99c5d2b656b36762b2f2d67fd46c31b700206eec77ecdfb364a1c2cd19bb67c3055abc9e98
+DIST hishel-0.0.26.gh.tar.gz 828246 BLAKE2B e8273020c3b69edc0a080940d8462d33c4eb6b6bbb6f0325975ef29e15d0f16c57a31406f24ae56ad651722ccf6ff704afcedb917417355f67b7536d80dc0c3f SHA512 1d5d55e2ad2743ac15b258c1246a21975c4e8bf5786e331d55acc6e5cb82c0393b23b7c00a5ea9f6f8070e5e3cf6d5f6d9755315403748259d99e6ce20ccd27f
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/hishel-0.0.26.ebuild b/dev-python/hishel/hishel-0.0.26.ebuild
new file mode 100644
index 000000000000..b0cd9cb0bf10
--- /dev/null
+++ b/dev-python/hishel/hishel-0.0.26.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..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-db/redis
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e 's:mock_s3:mock_aws:g' \
+ -e '/import anysqlite/ d' \
+ -i tests/_async/test_storages.py \
+ tests/_sync/test_storages.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ # tests that need anysqlite
+ tests/_async/test_storages.py::test_sqlitestorage
+ tests/_async/test_storages.py::test_sqlite_expired
+ tests/_async/test_storages.py::test_sqlite_ttl_after_hits
+ )
+
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ einfo "Starting Redis"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/hishel/metadata.xml b/dev-python/hishel/metadata.xml
new file mode 100644
index 000000000000..5cf037972bfe
--- /dev/null
+++ b/dev-python/hishel/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">hishel</remote-id>
+ <remote-id type="github">karpetrosyan/hishel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/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 488e4cb833c9..000000000000
--- a/dev-python/hpack/hpack-3.0.0-r1.ebuild
+++ /dev/null
@@ -1,44 +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_{8..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 98301421c01c..000000000000
--- a/dev-python/hpack/hpack-3.0.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..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 5831a863b3ee..213a5bca45cc 100644
--- a/dev-python/hpack/hpack-4.0.0-r1.ebuild
+++ b/dev-python/hpack/hpack-4.0.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..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-r1.ebuild b/dev-python/html2text/html2text-2020.1.16-r1.ebuild
deleted file mode 100644
index d45328eb58c1..000000000000
--- a/dev-python/html2text/html2text-2020.1.16-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{7..10} )
-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 ~sparc x86"
-
-DOCS=( AUTHORS.rst ChangeLog.rst README.md )
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # naming conflict with app-text/html2text, bug 421647
- sed -i 's/html2text = html2text.cli:main/py\0/' setup.cfg || die
- distutils-r1_python_prepare_all
-}
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 9356b7ef1320..000000000000
--- a/dev-python/html2text/html2text-2020.1.16-r2.ebuild
+++ /dev/null
@@ -1,27 +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_{8..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 ~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/html2text/metadata.xml b/dev-python/html2text/metadata.xml
index 478a2cb8fe4c..68117da1d95c 100644
--- a/dev-python/html2text/metadata.xml
+++ b/dev-python/html2text/metadata.xml
@@ -5,6 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">Alir3z4/html2text</remote-id>
<remote-id type="pypi">html2text</remote-id>
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.ebuild b/dev-python/html5-parser/html5-parser-0.4.10.ebuild
deleted file mode 100644
index f0bb97ed5d38..000000000000
--- a/dev-python/html5-parser/html5-parser-0.4.10.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
-
-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"
-IUSE=""
-
-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 37130736fdb9..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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/html5lib/html5lib-1.1-r2.ebuild b/dev-python/html5lib/html5lib-1.1-r2.ebuild
new file mode 100644
index 000000000000..494fe520e35f
--- /dev/null
+++ b/dev-python/html5lib/html5lib-1.1-r2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTML parser based on the HTML5 specification"
+HOMEPAGE="
+ https://github.com/html5lib/html5lib-python/
+ https://html5lib.readthedocs.io/
+ https://pypi.org/project/html5lib/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-pytest6.patch
+)
+
+RDEPEND="
+ >=dev-python/six-1.9[${PYTHON_USEDEP}]
+ dev-python/webencodings[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-expect[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -e 's:from mock:from unittest.mock:' \
+ -i html5lib/tests/test_meta.py || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_expect
+}
diff --git a/dev-python/html5lib/metadata.xml b/dev-python/html5lib/metadata.xml
index 3b7e8be64246..447712a7a7d0 100644
--- a/dev-python/html5lib/metadata.xml
+++ b/dev-python/html5lib/metadata.xml
@@ -9,7 +9,7 @@
html5lib is a pure-python library for parsing HTML. It is designed
to conform to the WHATWG HTML specification, as is implemented by
all major web browsers.
-</longdescription>
+ </longdescription>
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">html5lib</remote-id>
diff --git a/dev-python/httmock/httmock-1.4.0-r1.ebuild b/dev-python/httmock/httmock-1.4.0-r1.ebuild
index c6f1a1c6602a..a11b8caf1617 100644
--- a/dev-python/httmock/httmock-1.4.0-r1.ebuild
+++ b/dev-python/httmock/httmock-1.4.0-r1.ebuild
@@ -1,21 +1,29 @@
-# 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_{8..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 3a816b6a2738..000000000000
--- a/dev-python/http-parser/http-parser-0.9.0-r1.ebuild
+++ /dev/null
@@ -1,44 +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_{8..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/files/httpauth-0.3-remove-nose-dependency.patch b/dev-python/httpauth/files/httpauth-0.3-remove-nose-dependency.patch
new file mode 100644
index 000000000000..5cb607c2bb4c
--- /dev/null
+++ b/dev-python/httpauth/files/httpauth-0.3-remove-nose-dependency.patch
@@ -0,0 +1,40 @@
+commit d57060ebaeca8cd38e03cc64f9ee0996e83b50a9
+Author: Jonas Haag <jonas@lophus.org>
+Date: Thu Apr 21 08:58:36 2022 +0200
+
+ Move CI to GHA (#3)
+
+--- a/tests.py
++++ b/tests.py
+@@ -10,7 +10,7 @@ except ImportError: # Python 2
+
+ from httpauth import DictHttpAuthMiddleware, DigestFileHttpAuthMiddleware, md5_str
+
+-from nose.tools import raises
++import pytest
+
+
+ def parse_dict_header(value):
+@@ -121,16 +121,16 @@ def test_without_realm():
+ assert 'Digest realm=""' in response.headers['WWW-Authenticate']
+
+
+-@raises(ValueError)
+ def test_invalid_digestfile_1():
+- DigestFileHttpAuthMiddleware(StringIO('u::realm:hash'),
+- wsgi_app=wsgi_app)
++ with pytest.raises(ValueError):
++ DigestFileHttpAuthMiddleware(StringIO('u::realm:hash'),
++ wsgi_app=wsgi_app)
+
+
+-@raises(ValueError)
+ def test_invalid_digestfile_2():
+- DigestFileHttpAuthMiddleware(StringIO('u:realm:hash\nu2:realm2:hash2'),
+- wsgi_app=wsgi_app)
++ with pytest.raises(ValueError):
++ DigestFileHttpAuthMiddleware(StringIO('u:realm:hash\nu2:realm2:hash2'),
++ wsgi_app=wsgi_app)
+
+
+ def test_ticket_1():
diff --git a/dev-python/httpauth/httpauth-0.3-r1.ebuild b/dev-python/httpauth/httpauth-0.3-r1.ebuild
index 703fdd988ecb..cba95c2a12f2 100644
--- a/dev-python/httpauth/httpauth-0.3-r1.ebuild
+++ b/dev-python/httpauth/httpauth-0.3-r1.ebuild
@@ -1,19 +1,29 @@
-# 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=( pypy3 python3_{8..10} )
+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"
KEYWORDS="~amd64 ~x86"
-distutils_enable_tests nose
+PATCHES=(
+ "${FILESDIR}/${P}-remove-nose-dependency.patch"
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest tests.py
+}
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 2c08be9f1172..000000000000
--- a/dev-python/httpbin/httpbin-0.7.0-r5.ebuild
+++ /dev/null
@@ -1,56 +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_{8..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 616aa6598a01..7a7176fa1fda 100644
--- a/dev-python/httpcore/Manifest
+++ b/dev-python/httpcore/Manifest
@@ -1 +1 @@
-DIST httpcore-0.15.0.gh.tar.gz 76220 BLAKE2B e9a346d4f77cde82be5a3eb468123ae453753e57b54382f0b2c60b16afd3433cba173d9a796df20d76edbd8b5bcf2d61c32302bdd30c8d587036b3ac6f0425fd SHA512 3c25630d582448e3c7d46176c8862e4d92c6c4aac954bfe46b06e26297b32f996db2e002a87c7187accb5bf4ef86e82d7f9051404bee651ce5254119571d0c95
+DIST httpcore-1.0.5.gh.tar.gz 97696 BLAKE2B 2e05f790e0e67c36f86ac1ee47eea716f820d68678eff63e73bce0f652448d782c66764e7f1ab3f8e891ebf2243b96ba79ca211ea769bbf5df117342e2942cbb SHA512 4b37f3874e65908598b906167d5b0840f66ffef95b65110d318d9e64df5fd23770a08ea44ea2f3cf6f9db50f20bb9fec99b40323b959675b37168414cf397bf8
diff --git a/dev-python/httpcore/httpcore-0.15.0.ebuild b/dev-python/httpcore/httpcore-0.15.0.ebuild
deleted file mode 100644
index 59a6824e51c5..000000000000
--- a/dev-python/httpcore/httpcore-0.15.0.ebuild
+++ /dev/null
@@ -1,53 +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_{8..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-3*[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- <dev-python/h11-0.14[${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
-
-src_prepare() {
- sed -i -e '/h11/s:,<0.13::' setup.py || die
- distutils-r1_src_prepare
-}
-
-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 f8ca93a5252a..f6cbc21cab80 100644
--- a/dev-python/httplib2/Manifest
+++ b/dev-python/httplib2/Manifest
@@ -1 +1 @@
-DIST httplib2-0.20.4.gh.tar.gz 371778 BLAKE2B 85e2dd0b6213cc5015d4f2f7f923209a61649f948f003eaf3c95c956cb08e6f5bf9dc4e40109c0ddea6a18ab47870a21c7d367ea1eeec2644507568f4e271005 SHA512 46396a9bb439e61939e481a2502567a6dc40686471267ea4c357f141ac138193107f90ac465db683e4ab71e5d92249b810657bff0cb74af7a37a9a23c8320741
+DIST httplib2-0.22.0.gh.tar.gz 373972 BLAKE2B 6adfbc61d4f898666512da5d02cf082fcaf76bf1816de955510f5c4721a36c38d99fef963d5150b62cca091543ed65bb1ef5f33ce99123e1cd2abe467d4970e3 SHA512 77210f85ccaa2d2cf4a6c89f5146ca5eb9a6f26f00e862f6d0716ec73baffdf94714ae1d5eaced4349920b91276a7835e2f028c6d9156e84c241514b198791e5
diff --git a/dev-python/httplib2/httplib2-0.20.4.ebuild b/dev-python/httplib2/httplib2-0.20.4.ebuild
deleted file mode 100644
index afa4a1e94840..000000000000
--- a/dev-python/httplib2/httplib2-0.20.4.ebuild
+++ /dev/null
@@ -1,70 +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_{8..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 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 3be1736725d2..13a6a1c00021 100644
--- a/dev-python/httpretty/httpretty-1.1.4-r1.ebuild
+++ b/dev-python/httpretty/httpretty-1.1.4-r1.ebuild
@@ -1,23 +1,23 @@
-# 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_{8..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"
KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86"
+IUSE="test-rust"
RDEPEND="
dev-python/urllib3[${PYTHON_USEDEP}]
@@ -27,7 +27,7 @@ BDEPEND="
dev-python/freezegun[${PYTHON_USEDEP}]
>=dev-python/requests-1.1[${PYTHON_USEDEP}]
dev-python/sure[${PYTHON_USEDEP}]
- >=www-servers/tornado-2.2[${PYTHON_USEDEP}]
+ >=dev-python/tornado-2.2[${PYTHON_USEDEP}]
)
"
# These are optional test deps, that are used to test compatibility
@@ -36,17 +36,14 @@ BDEPEND="
# We're skipping redis entirely since it requires a running server.
BDEPEND+="
test? (
- !arm? ( !sparc? (
+ test-rust? (
dev-python/pyopenssl[${PYTHON_USEDEP}]
- ) )
+ )
$(python_gen_cond_dep '
>=dev-python/boto3-1.17.72[${PYTHON_USEDEP}]
dev-python/httplib2[${PYTHON_USEDEP}]
>=dev-python/httpx-0.18.1[${PYTHON_USEDEP}]
' python3_{8..11})
- $(python_gen_cond_dep '
- >=dev-python/eventlet-0.25.1[${PYTHON_USEDEP}]
- ' python3_{8..9})
)
"
@@ -62,11 +59,12 @@ python_test() {
tests/bugfixes/pytest/test_426_mypy_segfault.py
# passthrough tests require Internet access
tests/functional/test_passthrough.py
+ # eventlet is masked for removal
+ tests/bugfixes/nosetests/test_eventlet.py
)
local ignore_by_dep=(
dev-python/boto3:tests/bugfixes/nosetests/test_416_boto3.py
- dev-python/eventlet:tests/bugfixes/nosetests/test_eventlet.py
dev-python/httplib2:tests/functional/test_httplib2.py
dev-python/httpx:tests/bugfixes/nosetests/test_414_httpx.py
dev-python/pyopenssl:tests/bugfixes/nosetests/test_417_openssl.py
diff --git a/dev-python/httpx-socks/Manifest b/dev-python/httpx-socks/Manifest
new file mode 100644
index 000000000000..cac3b106869d
--- /dev/null
+++ b/dev-python/httpx-socks/Manifest
@@ -0,0 +1 @@
+DIST httpx-socks-0.9.1.gh.tar.gz 15210 BLAKE2B 88f38797110227c4e4f01fea7e47c9403573c3c06f6bd644858a6ad4947d90dcbd33c03a0d30a91f227b0e3f341c249dcdef2b009065447e95579e561fee7f4b SHA512 dec2a0eb2dbc692a7e45a2f0df3711057fdc50e7284985d234ed68b3af01372faaa532d070736a005eb49191d55927dc949e9297a6a471b89cf085ef38b56910
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-socks/metadata.xml b/dev-python/httpx-socks/metadata.xml
new file mode 100644
index 000000000000..649fc743ec3a
--- /dev/null
+++ b/dev-python/httpx-socks/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">httpx-socks</remote-id>
+ <remote-id type="github">romis2012/httpx-socks</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/httpx/Manifest b/dev-python/httpx/Manifest
index ac642e673a1c..6dfbfb2e792e 100644
--- a/dev-python/httpx/Manifest
+++ b/dev-python/httpx/Manifest
@@ -1 +1 @@
-DIST httpx-0.23.0.gh.tar.gz 2160686 BLAKE2B 036c66b2c3f743cd069716297f331f0d75043a98180b9db3e156c5692ae8bf9c68d1db87169953a7f44aaf7ee8554d0166f70b508f77b7ff4b0ebc0500bc02ad SHA512 3cfdf2b3b2f15967a1eec0be05ed947c5e18a46576b68a9cbfd5147dfd4736cb7c389f5431732b93f3a11f3ec6c6f25f7cbb3d96d845f00b58e2b8dae047c1d5
+DIST httpx-0.27.0.gh.tar.gz 2168004 BLAKE2B 2bfe58ffa9bd75b602acf844967d399c2173499981e73296bfc0726ee738219031ac3ac04517dd027f769966b77bf225287490c55435a53aec44b9784a0c4b2e SHA512 9db19cced6554effdb5fb0b442cbe05dc66cbfbdb23e8fbc19f43e1acc81028bca9e0fba5d2dae617b19be9f64baa0f02e727e92fef3f3f1288aa19ae07f35c6
diff --git a/dev-python/httpx/httpx-0.23.0.ebuild b/dev-python/httpx/httpx-0.23.0.ebuild
deleted file mode 100644
index f63c41c27f79..000000000000
--- a/dev-python/httpx/httpx-0.23.0.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Docs builder mkdocs not keyworded on all these arches yet
-# DOCS_BUILDER="mkdocs"
-# DOCS_DEPEND="dev-python/mkdocs-material"
-# DOCS_AUTODOC=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{8..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/sniffio[${PYTHON_USEDEP}]
- =dev-python/httpcore-0.15*[${PYTHON_USEDEP}]
- >=dev-python/rfc3986-1.3[${PYTHON_USEDEP}]
- cli? (
- =dev-python/click-8*[${PYTHON_USEDEP}]
- =dev-python/pygments-2*[${PYTHON_USEDEP}]
- <dev-python/rich-13[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- test? (
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/h2[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-trio[${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() {
- # unpin deps
- sed -i -e 's:==[0-9.*]\+::' -e 's:,<[0-9.]\+::' setup.py || die
- if ! use cli; then
- sed -i -e '/console_scripts/d' setup.py || die
- fi
- 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
- )
- local EPYTEST_IGNORE=()
-
- 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 95609d0fcead..19461dec9f57 100644
--- a/dev-python/huawei-lte-api/Manifest
+++ b/dev-python/huawei-lte-api/Manifest
@@ -1 +1 @@
-DIST huawei-lte-api-1.6.1.gh.tar.gz 32963 BLAKE2B f159e1dc4cb759c09a88bb763c6ba5f43043eacf025e7ada871c816e0e72a238f9e7536dbc043f8596bef390ecfc2ee137c1a4c079ca33db6c3a3198147c9f98 SHA512 2a6a330c419af0d2b8eeff9d8b93a11cdf8050db04e609cb1d86a33ab770d7102c8e40652482c2500ce4bf4152b66b98ee1fc77be104db8ab9a9bbeec871ce20
+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.1.ebuild b/dev-python/huawei-lte-api/huawei-lte-api-1.6.1.ebuild
deleted file mode 100644
index 5b62e249fda3..000000000000
--- a/dev-python/huawei-lte-api/huawei-lte-api-1.6.1.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_{8..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
new file mode 100644
index 000000000000..b0c40d48af3b
--- /dev/null
+++ b/dev-python/humanfriendly/humanfriendly-10.0-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE="threads(+)"
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi
+
+DESCRIPTION="Human friendly output for text interfaces using Python"
+HOMEPAGE="https://pypi.org/project/humanfriendly/
+ https://github.com/xolox/python-humanfriendly/
+ https://humanfriendly.readthedocs.io/"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+
+# This is completely broken
+# AttributeError: module 'humanfriendly.tests' has no attribute 'connect'
+RESTRICT="test"
+
+BDEPEND="
+ test? (
+ dev-python/capturer[${PYTHON_USEDEP}]
+ >=dev-python/coloredlogs-15.0.1[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs
+
+python_test() {
+ epytest humanfriendly/tests.py
+}
diff --git a/dev-python/humanfriendly/humanfriendly-10.0.ebuild b/dev-python/humanfriendly/humanfriendly-10.0.ebuild
deleted file mode 100644
index be4024978948..000000000000
--- a/dev-python/humanfriendly/humanfriendly-10.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( pypy3 python3_{8..10} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-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"
-
-BDEPEND="
- test? (
- dev-python/capturer[${PYTHON_USEDEP}]
- >=dev-python/coloredlogs-15.0.1[${PYTHON_USEDEP}]
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs
-
-python_test() {
- epytest humanfriendly/tests.py
-}
diff --git a/dev-python/humanize/Manifest b/dev-python/humanize/Manifest
index b317a6ac63d9..1a4751b20e78 100644
--- a/dev-python/humanize/Manifest
+++ b/dev-python/humanize/Manifest
@@ -1,2 +1 @@
-DIST humanize-4.2.3.tar.gz 75390 BLAKE2B b700c7f6da3ea94062ffb0b74fdd8940460c6017c30499b34678750d5f86b4669542c65291f7a8e1c57b446cfc43efa88324c680fc3f817b7bc5018c3e275e50 SHA512 008acdafd2b811da767fdff67c3b12f7ba333fc35b0d51c4b0edc0162659b8ac25dc54ba30f2a266f6a422990dc2522b6c9e017b9a73e8262ed414d63e0c4308
-DIST humanize-4.3.0.tar.gz 78035 BLAKE2B 03cea639879165453becc41f62e7b6e34a62ac3a74c37141e0c3f7e9d855b2727710ab5ac231a3829d03c413b297449dccbfc8b804b3f5ddcd402dd813adbf57 SHA512 b8713fa9ec2c2210f93e06436a5bef390937b85ccd0bc95520e53d5c0f49354b94a7957ef50dd9e391d8377d1faf43003c47028b19cef42885fd083cbda1ac46
+DIST humanize-4.9.0.tar.gz 78465 BLAKE2B bb13199f7ed9b833891e1e5f166dce33e167224c5fb75ab33130a551680e802aa347f5e19cd1162caa79917af6e0acbbb36226d5051a9d4eef07bc554ba0e19e SHA512 64238f6717302cec4cac853fd2813647132eb4f6cd73cc61fd43346577cd42bbc2cf5a7345910393cd9a4e9c2b5e949a50c6259b0bd8254a05e08d0d8d70a5d5
diff --git a/dev-python/humanize/humanize-4.2.3.ebuild b/dev-python/humanize/humanize-4.2.3.ebuild
deleted file mode 100644
index 5887ac380442..000000000000
--- a/dev-python/humanize/humanize-4.2.3.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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.3.0.ebuild b/dev-python/humanize/humanize-4.3.0.ebuild
deleted file mode 100644
index b471878fc311..000000000000
--- a/dev-python/humanize/humanize-4.3.0.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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 35995a64411f..2e9878e711d9 100644
--- a/dev-python/hvac/Manifest
+++ b/dev-python/hvac/Manifest
@@ -1 +1,2 @@
-DIST hvac-0.11.2.tar.gz 308694 BLAKE2B 090c6ea3eb4175618087486f67d44c608f164820f6e5ebeb0f82d468123693af5ad4c181721087b9fc4ee8789bc86eb11c16c186c5ca669c6575d83c2ae2d835 SHA512 7a3cb82e17e7ceef04173c8682b33d35457675eae7b402ba36c3a21026ebf551a2731ecbd6dc0d00bb727e98a29f0a0f5bf427d7429b55b922247b4ccfb79794
+DIST hvac-2.1.0.tar.gz 325532 BLAKE2B 61c78e2bcbfcf95c853aef825f68b510522c66fd2f4c526043abd2ea4de166ab4972a5de4e2829ba28a8bc6ac43a0cf5c38ffcb31e4ec050db0cf3f49c86541b SHA512 331effd50a11544683d9b0e186c7b56d9480826c645969940c19b7528d5f4f1fd09f0867f61f421948ddb9558d76d9e68e3a189652e00093ad22cfa8be785825
+DIST hvac-2.2.0.tar.gz 330973 BLAKE2B 3e64d54f0345f3b9bce3e0c4c2837442ded0e0c3d8a2fb82a2d32663738df29cba71fbefd0d29f614ca6dbd4e88d1832660d2dc3832bf94a212b23644d2e49a0 SHA512 15dee76e21e053b51ef062e52ca4021bfebde555590ea95d5dabc71370aa086cf6b8e6cb35d38fbc5ee898ba39b694736f243e80975ad649a43bdf8bd7db434e
diff --git a/dev-python/hvac/hvac-0.11.2.ebuild b/dev-python/hvac/hvac-0.11.2.ebuild
deleted file mode 100644
index 8ac0902d11d1..000000000000
--- a/dev-python/hvac/hvac-0.11.2.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="hashicorp vault client in python"
-HOMEPAGE="https://github.com/hvac/hvac"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/hvac/hvac.git"
-else
- SRC_URI="https://github.com/hvac/hvac/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-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}]
- )"
-RDEPEND="
- >=dev-python/pyhcl-0.4.4[${PYTHON_USEDEP}]
- >=dev-python/requests-2.24.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.15.0[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-python_test() {
- local 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
- )
-
- epytest ${ignore[@]/#/--ignore }
-}
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/hvac/hvac-2.2.0.ebuild b/dev-python/hvac/hvac-2.2.0.ebuild
new file mode 100644
index 000000000000..f9565b6f997b
--- /dev/null
+++ b/dev-python/hvac/hvac-2.2.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
new file mode 100644
index 000000000000..3f70248adae6
--- /dev/null
+++ b/dev-python/hypercorn/Manifest
@@ -0,0 +1 @@
+DIST hypercorn-0.16.0.gh.tar.gz 159038 BLAKE2B d17fde74af7f3a0157af22465f52a46967b8c4297eb5f602614d5337ca511d365e391630495535b56650fc4bfac864d30c5b281c04beddb0fec9bfcecd0f0c00 SHA512 75d75f0a0c1726b83d8ee38d5a15f4241130369904c9925cc3b87d1bf92f0d6a59ae7e7c83434c60ceae4bb628f6a51a42eda00c68a226c0bea6ef1c6fb8cb2c
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
new file mode 100644
index 000000000000..aef6884c023c
--- /dev/null
+++ b/dev-python/hypercorn/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">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 4b9336c3c45b..000000000000
--- a/dev-python/hyperframe/hyperframe-5.2.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=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 6be28cafacd2..000000000000
--- a/dev-python/hyperframe/hyperframe-5.2.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..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 a3c894fc5d7e..fd61495e21b9 100644
--- a/dev-python/hyperframe/hyperframe-6.0.1-r1.ebuild
+++ b/dev-python/hyperframe/hyperframe-6.0.1-r1.ebuild
@@ -1,12 +1,12 @@
-# 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_{8..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 bdab0cca4a9c..61ec4a926554 100644
--- a/dev-python/hyperlink/hyperlink-21.0.0-r1.ebuild
+++ b/dev-python/hyperlink/hyperlink-21.0.0-r1.ebuild
@@ -1,19 +1,18 @@
-# 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=( pypy3 python3_{8..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 fcdfed475207..e4b3b168e0d0 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,7 +1,4 @@
-DIST hypothesis-6.49.1.gh.tar.gz 9316607 BLAKE2B 936d6e6ae293c4648b3ced9eb0fa242a8212182a0c0f988c3c25d748ceea4eeee2074e0da8db1375c2ad32da2061141d3801d037ab370df15546363eb188783f SHA512 14b232ad1b2c233566d26eae2be1557ce543109748b5f835f74acbc9aad6aba2d75e4f9c357ee6dbc3bc75e175413058b4796d2853921c23ff083d66424cf7b4
-DIST hypothesis-6.52.1.gh.tar.gz 9321216 BLAKE2B a05c1778088455010c444be13e5c46976c0b77dde7ae168213303facebd75e4d1b3593a847d7a98d3225c1617621e06f50ffb3d154e736c933556c191a4faae6 SHA512 648db1475a63ff734668529e1b8780f0879bead7ce908d21a0069b2fa784a24a8b0b6d9468b00afd68a62bf4305661cafdf9a2b671fb7d67e39461d2375abc98
-DIST hypothesis-6.52.2.gh.tar.gz 9321530 BLAKE2B d54b97bf15895b503d14629c61cd99d120f318d485c37d2d2e0c012f3a55c361a11caea6329d76baaa1e39635fcd24d0694b45edbf2d0976d29848501c1030f4 SHA512 ac912865374297a299aea0a1f9b56cd5ddd89b8659f81112e7993039ccfb726835730103c756067c6c7ae00833352cda8dd4d555e3c11741b527b8f9c9b83fd4
-DIST hypothesis-6.52.3.gh.tar.gz 9321591 BLAKE2B 50415d463d2513b023b8a6ac87a2bb6dae433b823fd209ec1137a26184bb5550fb9606e006cffecbff09c523fb244b9f8c119e1c9dc765b925f8aa6b0dc43bed SHA512 f8aae5976cc2bd47e157310434d2717caea5e639daf1d794fa6c45332fe44fc5873904451f1fb0b53d56e64147428c4c87e130b4776fd3b14e2c2b961660231d
-DIST hypothesis-6.52.4.gh.tar.gz 9323011 BLAKE2B fece23da48d4849252a0fa48ae741506f49aa1f2b63f81afe3b71d18e0325a4e337bebde1a1707390d38bdf57e2ce1145985231f68557b36c58886d82774a7d9 SHA512 c51f29d52757d08652f83deda48825ca38c86e0bc67743c2cff9c85f52d726671f07d0249dfdc761b2ba8250d40beacdf5e037e8629f24df5baeddd297f38030
-DIST hypothesis-6.53.0.gh.tar.gz 9323355 BLAKE2B 589cd4803351e72cc1896453e5e548bb6fb5f998032bce91708e02f3c8ff5d288ec76d65eeffde5fa31b6b86fbb3ad81dfe3eebaaac841f197de3a07acfa12bd SHA512 ab4de3764ca3ce8e5e50966ea94fcadd85e7c9f170dbbd17383b5516528e091ebfe3b06846513ee77a1f7a2e827236d323c12cc120cac421ec7aa9f3a2ca5e4a
-DIST hypothesis-6.54.1.gh.tar.gz 9324403 BLAKE2B 897fa4901a5c5c0e32c4197020702dbe5d85a5ada79f52b66fc7f19180a32f4dce54f5300722f500fb560766e1ff76b5df648be6be0f229ece4b3aa0af856fc3 SHA512 ba4a7a3f5daa7437e903604d26a9dd0e4ce77d0a44a2e81fec5620f48a5f6a9080b5e5401fa1f7ee6c66d4e1d51cca095ce7e74999b0439b5a8a0c2d26f64464
+DIST hypothesis-6.100.1.gh.tar.gz 9450717 BLAKE2B b27e3be6b43ee7d140ee00064748cd651683414b1b9f8d697c166ddec7596c11e2c47a814de91b567b4d08568e7bcaab42a88665f8b6882d2807afcfdb967257 SHA512 4b46c5dfb330c65c8fc4afce90ed28309fc377e39d65b1ba0bf086efb5fe53b2be021bcb5e6a90fa6bdad463de6254761faab14fe2ad7814e84dfff08ff1a9d9
+DIST hypothesis-6.100.2.gh.tar.gz 9452773 BLAKE2B 46519695d9fdefeeb3c24abacfb0dd495003c21e02b154a5873f1a0ec1f9ba04998398fd7a29c570b15f2fcce95e5ca9451687c37aae2e2b27190534480f8c4e SHA512 ba4cbc3ee7cb958e32c59cfba095eafe8108f5a614316bf490105939e7c487bd56890794aa5d9583feeb4a0b7852a966da16f7e4fac1721f55eb105d03637cbe
+DIST hypothesis-6.100.4.gh.tar.gz 9453201 BLAKE2B 0df377ae666646748fd15f70e296edab92587e0aa2deeb026950dff5e440c1d52d89a48245ba43044061b85ec0a009a8b88500b5e39513a8d0bce9afcc16dafa SHA512 089d8975ccfc8c13d092ddc67003d20ffe181950343b7bddd80769c7a55211cd073c4a0b29f5b46d2be6dc849263d79114e141becf732cdc895addeb2e535c5a
+DIST hypothesis-6.100.5.gh.tar.gz 9453477 BLAKE2B 8b0ea09b30002a07f91ad8ac59c71b3aece27739c1c3d7a1cf4806dbd7d0cb280277937e0c4f88f64dfc97991753e6c7185ffa5c414c4ba061b87d68a3ca5bd2 SHA512 183aa4ef3425b2bbc632ad77c2ce4b7b7137a81b8344607082e5993593fbc820c68944c1a30c826c655d55145251dc5d53193eb444ce28fce930404ce33621c6
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..231433159471
--- /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.100.2.ebuild b/dev-python/hypothesis/hypothesis-6.100.2.ebuild
new file mode 100644
index 000000000000..13d62b8d6bd1
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.100.2.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.100.4.ebuild b/dev-python/hypothesis/hypothesis-6.100.4.ebuild
new file mode 100644
index 000000000000..13d62b8d6bd1
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.100.4.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.100.5.ebuild b/dev-python/hypothesis/hypothesis-6.100.5.ebuild
new file mode 100644
index 000000000000..c2bf166b155f
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.100.5.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 python3_13 )
+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.49.1.ebuild b/dev-python/hypothesis/hypothesis-6.49.1.ebuild
deleted file mode 100644
index 4fc4aa3ee205..000000000000
--- a/dev-python/hypothesis/hypothesis-6.49.1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-CLI_COMPAT=( python3_{8..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="amd64 arm arm64 hppa ~ia64 ~loong ~m68k 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}]
- )
-"
-
-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.52.1.ebuild b/dev-python/hypothesis/hypothesis-6.52.1.ebuild
deleted file mode 100644
index 1065b755121f..000000000000
--- a/dev-python/hypothesis/hypothesis-6.52.1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-CLI_COMPAT=( python3_{8..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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~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}]
- )
-"
-
-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.52.2.ebuild b/dev-python/hypothesis/hypothesis-6.52.2.ebuild
deleted file mode 100644
index 1065b755121f..000000000000
--- a/dev-python/hypothesis/hypothesis-6.52.2.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-CLI_COMPAT=( python3_{8..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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~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}]
- )
-"
-
-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.52.3.ebuild b/dev-python/hypothesis/hypothesis-6.52.3.ebuild
deleted file mode 100644
index 1065b755121f..000000000000
--- a/dev-python/hypothesis/hypothesis-6.52.3.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-CLI_COMPAT=( python3_{8..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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~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}]
- )
-"
-
-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.52.4.ebuild b/dev-python/hypothesis/hypothesis-6.52.4.ebuild
deleted file mode 100644
index 1065b755121f..000000000000
--- a/dev-python/hypothesis/hypothesis-6.52.4.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-CLI_COMPAT=( python3_{8..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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~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}]
- )
-"
-
-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.53.0.ebuild b/dev-python/hypothesis/hypothesis-6.53.0.ebuild
deleted file mode 100644
index 1065b755121f..000000000000
--- a/dev-python/hypothesis/hypothesis-6.53.0.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-CLI_COMPAT=( python3_{8..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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~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}]
- )
-"
-
-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.54.1.ebuild b/dev-python/hypothesis/hypothesis-6.54.1.ebuild
deleted file mode 100644
index 1065b755121f..000000000000
--- a/dev-python/hypothesis/hypothesis-6.54.1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-CLI_COMPAT=( python3_{8..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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~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}]
- )
-"
-
-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/metadata.xml b/dev-python/hypothesis/metadata.xml
index c68c89a4f8bc..91343edcb81f 100644
--- a/dev-python/hypothesis/metadata.xml
+++ b/dev-python/hypothesis/metadata.xml
@@ -1,15 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!--
- This package has a very frequent release cycle which makes
- it hard to track stable candidates. Please do not bump it
- without my approval.
- -->
- <maintainer type="person">
- <email>mgorny@gentoo.org</email>
- <name>Michał Górny</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/icalendar/Manifest b/dev-python/icalendar/Manifest
index 834f1fe6e7eb..5843b4248195 100644
--- a/dev-python/icalendar/Manifest
+++ b/dev-python/icalendar/Manifest
@@ -1,2 +1 @@
-DIST icalendar-4.0.9.tar.gz 84254 BLAKE2B c1ca7a7730404f7079e8fac8270f98a60ecd4e657f2b2b3d376d620f12c11a0db6dcd5713f7d2d4935c859d544497fa544b22ffb1a83be9c11ec2ea3923da93b SHA512 2eeb69da89207fe91661dfa6e9c2a623eb3be2fb5a48e999e87a881d7fecc1f339764124601b0610a14ce809f238c6731f30f2071bb4706206de10181365d1dd
-DIST icalendar-4.1.0.tar.gz 78706 BLAKE2B a676b938101e901c45cfeceba031c35f26dc361832ca24877acefcbe9158e111d883b757a133d72901579f73b32e34adbcb47db6d8ccbaa49f013106c282401e SHA512 15bdf4fd22394836d120d7d7ee029e218247d731c51bd99d4e6df7dd6046b91ea0874b8a81bd6090d366fff035329eac98cabdf0ba5aead43efc82c1e6566b23
+DIST icalendar-5.0.12.tar.gz 115981 BLAKE2B b6a778f78977b2e967f639ca1a6209002c003c0729a993217da2fa7d3e407d5fa696740daae7b3c1084588140675a2fb1346b39042fe869195d917b3a2436f49 SHA512 0b608054b955223c1b876c8395b94a501f6b5afb92285561750749882cde2d55cbb48487f7fcd64188d2d6cd193f3bdb5634871352eb5b7a445c483075a62453
diff --git a/dev-python/icalendar/icalendar-4.0.9.ebuild b/dev-python/icalendar/icalendar-4.0.9.ebuild
deleted file mode 100644
index 502789370766..000000000000
--- a/dev-python/icalendar/icalendar-4.0.9.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Package used for parsing and generating iCalendar files (RFC 2445)"
-HOMEPAGE="https://github.com/collective/icalendar"
-SRC_URI="mirror://pypi/i/${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}]"
-
-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-4.1.0.ebuild b/dev-python/icalendar/icalendar-4.1.0.ebuild
deleted file mode 100644
index cadfd9e2c317..000000000000
--- a/dev-python/icalendar/icalendar-4.1.0.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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Package used for parsing and generating iCalendar files (RFC 2445)"
-HOMEPAGE="https://github.com/collective/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}]
-"
-
-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.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/identify/Manifest b/dev-python/identify/Manifest
index d0bc39d953ae..85b4b7bbe787 100644
--- a/dev-python/identify/Manifest
+++ b/dev-python/identify/Manifest
@@ -1,3 +1 @@
-DIST identify-2.5.1.gh.tar.gz 101393 BLAKE2B 8586721838c427b00a7c70e842d2ab1a2f0437909d84d5cba6614aff3f8265f17b5137628bdd78e5f324fbf6a0fef8b5ca0246e6861af023c2d9a1a323cc43f6 SHA512 8b61dd03bcdb8908a1a7f3b13d66121bb4f4bb3aab57672bff55a84232dcff310214ed0a90cfcf79846da9abc111bff08761ec9dd40c8b9b183bfbbf365efac4
-DIST identify-2.5.2.gh.tar.gz 101399 BLAKE2B f0ef048c6543b32016ad47a84e4b4b049a88424e496b159ce6ec1a1358172a87849e132b045a7345e818b02aee359e6d9458c458430a4d5d2b9f918cba685ed7 SHA512 72aaf406e5aa7acc83189820c389e82e90cf775541013e4ad91e5d25abdecd8526d1c47d203baa8ab8e5e028836da755a7045e74fded7e8e3167397557d4b1f0
-DIST identify-2.5.3.gh.tar.gz 101397 BLAKE2B 8782a4dfcea2d84facec9fefac8c7241c978ca1f494aa3e0602171dc017b41d24545ec7a3537b07a5e9962edcc4813fa4f45f76d807ba8ba69243041bc777d1b SHA512 d6cc5737b119498af5fb3cc9478881960b4d9532eec552622e942292ec3f1c75182f50ccc94fe7e1bb8993525c5e50fcdfd58881a9226da52fbe5feb3b83a8c3
+DIST identify-2.5.36.gh.tar.gz 101732 BLAKE2B c0f7d7f57a757ec828b7def3a0e7e544855bf4eed8f3b612cc35acda34f05379c5267eb33a0110080708c50a838983a6d662130e297f2e0a00382025c58ccf61 SHA512 713ce08bafc076d2724f847c0b051036072d6b8d53c77a0ca011b7ec3af4ec27381de3ef4622235db0791ef4fc449514f78c2ad250d77c055e9fec9dc6f14a57
diff --git a/dev-python/identify/identify-2.5.1.ebuild b/dev-python/identify/identify-2.5.1.ebuild
deleted file mode 100644
index e32e6d8d482f..000000000000
--- a/dev-python/identify/identify-2.5.1.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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.2.ebuild b/dev-python/identify/identify-2.5.2.ebuild
deleted file mode 100644
index 8ce2bd5b0e7d..000000000000
--- a/dev-python/identify/identify-2.5.2.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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.3.ebuild b/dev-python/identify/identify-2.5.3.ebuild
deleted file mode 100644
index 8ce2bd5b0e7d..000000000000
--- a/dev-python/identify/identify-2.5.3.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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.36.ebuild b/dev-python/identify/identify-2.5.36.ebuild
new file mode 100644
index 000000000000..6d0d4666c11a
--- /dev/null
+++ b/dev-python/identify/identify-2.5.36.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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 3225013dfcfd..ca35c4d0d260 100644
--- a/dev-python/idna/Manifest
+++ b/dev-python/idna/Manifest
@@ -1 +1 @@
-DIST idna-3.3.tar.gz 286689 BLAKE2B b804759b23157ff3d81fcd37f04baf83d7e522e98e8d842e3f228a242bbd9b1f9302ca28b8989a4221512bbbe92839cd593641830a0c6b2e12061b3501b1bd45 SHA512 70b7cc8718e7d7899c75cfe476f044eae5a2fa03801fc9c12e3a092627ca943ffc4a578f9b8a55e181a11564835e125cfaaa577c02a6461dbb97366e620e53ad
+DIST idna-3.7.tar.gz 189575 BLAKE2B b604f5e69775b6052e3358a31ea0154832264979a992db51130a0f0e7c5ef9163e97e15956cfd599212ba233c789706a4a2ea8051c3baeda5abc3657bdf40902 SHA512 b50e5ae117b67c7076125d6943e3436200676f85d7dd1b5a5414e217e73904ef077f0b1108d9781ab4afe2a66f7c9e1ce8262ce51edeb2d29e4c504147b6c4cc
diff --git a/dev-python/idna/idna-3.3-r1.ebuild b/dev-python/idna/idna-3.3-r1.ebuild
deleted file mode 100644
index d162649d4b64..000000000000
--- a/dev-python/idna/idna-3.3-r1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2022 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_{8..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 725194e9c8e5..6996bb6b4caa 100644
--- a/dev-python/ifaddr/ifaddr-0.2.0.ebuild
+++ b/dev-python/ifaddr/ifaddr-0.2.0.ebuild
@@ -1,22 +1,21 @@
-# Copyright 2020-2022 Gentoo Authors
+# 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_{8..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 e6437cd6be9a..088eea6410ef 100644
--- a/dev-python/ijson/Manifest
+++ b/dev-python/ijson/Manifest
@@ -1 +1 @@
-DIST ijson-3.1.4.tar.gz 125725 BLAKE2B 870439690c0b776d04c3023fb910d0f9ff2ca573be728c06802fbbbd5de1d5dcb8e677b778d30cb134d181dfc4ffd53c686af3d57458501d9548ddbdba8bf6d7 SHA512 7e64c4fec84fd6942c83809849eefc1c299c597524c0fe73e2cdc542e113faad8f35cc5219b0bc4e05842ac69d8608089d7cbb2dc006e404c184505392b21baa
+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 b745dd47c64a..000000000000
--- a/dev-python/ijson/ijson-3.1.4.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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.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 f35240db3079..319324fea8e0 100644
--- a/dev-python/imageio-ffmpeg/Manifest
+++ b/dev-python/imageio-ffmpeg/Manifest
@@ -1 +1 @@
-DIST imageio-ffmpeg-0.4.7.gh.tar.gz 26301 BLAKE2B b794c4c69e43304e089cbab61ff70f3d7d305a515163d0cd0ee4fca678fbec029f01dda1559d6e10e287e56937d6c8f9b52c816df99977034867997c1e392c06 SHA512 4e97bd1258aaa43304a3240460f34a0a4b98340c1dc57f673644af36724935f9f2905378b38626b766e7f609fcbda48d2c58402dc3ef9c48c596936a4bd2cc06
+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.7.ebuild b/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.7.ebuild
deleted file mode 100644
index f560bc2f9a3c..000000000000
--- a/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.7.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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 ac795f62c33e..42be407165db 100644
--- a/dev-python/imageio/Manifest
+++ b/dev-python/imageio/Manifest
@@ -1,5 +1,5 @@
-DIST imageio-2.19.3.gh.tar.gz 388949 BLAKE2B bf7f7b2cc036d6bc808cedeefe624dfe43b232518f78974fffe9c664f23c8e89da73e5b777ee6049aa0ec363400fe8d9df1388a91a4b0a01089609d7ce12eaf3 SHA512 5ad9f332ea723facd5d9295e463b12d2cc17dfef8a7349ce194a8d32fcc5d07a29550834c66dc6e5837f8440347387b46624243fa267750f986042910ff6cb90
-DIST imageio-2.19.5.gh.tar.gz 389832 BLAKE2B a4455f97d2607d215ba4797e076487f4648ae6b21bf7b5207df8f337b52319ba4dd415d6e351289b588a049c800e8c541fcdaefe064cb4c83de12e63c492cf83 SHA512 481f14116961927946a71a7448ecf38f9781172969ab4e35c05360d758f7273be22262d4cd774a76b2089be3b7f0af6cf0a67d40814504e7a65db7075428966c
-DIST imageio-2.20.0.gh.tar.gz 390281 BLAKE2B 745364f98e3835c428e89abbfbeeb657d10cd730cd61283e5859b10a6e48b63a5b9771860fce75aa8dd770ab77671979847b34bbffe17d215fac5ceb8eb2c7d1 SHA512 fc1c41559cc15b76bfacbf4866717c200889661787de4baa49d69fab189ff7d00e376afdeeaaf74b5581e1ffc96da2f02566dfa9c0953518b98a4c4b695ddf02
-DIST imageio-2.21.0.gh.tar.gz 391056 BLAKE2B 90fbacf7b396ab2b422d8694274ddc3642c92cfd325bce2861100f5bd28d82120cef6819b53b8ed82ba474d5e287765b63da9a7edfbfab5a026790a39d4edc1e SHA512 5bb070da560ba3a2e10bdb288ad539274ee14f8cf0543847859f0bae052b3d1782777d823435b74120bcfdff0b6cb15a6c80b2a9bf729439bbb3802f15cf5684
-DIST imageio-2.21.1.gh.tar.gz 391159 BLAKE2B 4c569ec81255d1f5985d2d30f303a978f9cb22e0d7368845648ddab9e5734adba52173d42ad73c94c424ce1a5806c3a10ae31381b04949f7f8c30fd327b585b4 SHA512 61fd4a1a64fb152fa5c419cac9a69ea979ac762fbaed81076ddd13602db98f71f31825615111958f21b021213d55be060197417159022bba84d631618f5bb286
+DIST imageio-2.34.0.gh.tar.gz 413125 BLAKE2B c6f9650265924f370634f5ab87bed94bdb501d078a154b93400d8c89847da3fef7196f18db0682bbfc99ac5c9f4156a113bb2d74f572c010842b9b9593d7c13e SHA512 d28b5b849a8d7fc90c4c4a82b2056431e5351ecce709cd48ccb9aaf58a50964a1b77faf4663d3fdeb4757951fb8a03b5bf632e57f78ddd59d5a9acdb62b78f48
+DIST imageio-2.34.1.gh.tar.gz 413414 BLAKE2B 59371d0aeace317b9006a0b3b182b97259a53ca0d2288d8ee497234e4f2e7e253c1c27b40b2c5c1f531555a71c7f426ae6d4555043525aa88ca2818d26adfd7d SHA512 d7d1f99f735447e559c0b1fdc2dbe19f2991fb3c640cb9f1396d149c3c44f05e1c357ca8753fff8130625f8fb40a72f277ef09e7cec2b060d1a4f3a675e086a0
+DIST imageio-chelsea.png 221294 BLAKE2B 58537d7a1678fa5be4cc899e5bacd925bfc180eb4ae691330a53749a49ff544e979609b529ed27e5c1fc9efe4bc050ca1ce49b777f4016fb1d66affd926ef9d3 SHA512 48470cdb843eed4dfa6673811c09c5aac9869ee23dd36be0c6b653d9f108d61d21b148c2a4435aaa6604887ba030e5bbc5e35d378da876366445dfc2d0ba4e27
+DIST imageio-cockatoo.mp4 728751 BLAKE2B 45b22cd517c1cb7c0cd12f8865facaca6a847047aea716e49633cf2b1dc13826f94787c8a8f9dd5f48c6a896f5d37794c0058da1bde9e1469f196916476dbfa2 SHA512 e9cb7c25de8019c59ba4090cf10ab29f2b5d62ada37a877081ca07d2ecfe010036222ae843b41bbcc843130d97fa5e14421de252639e9481df1d1c27b19add49
+DIST imageio-test_images-1121036015c70cdbb3015e5c5ba0aaaf7d3d6021.gh.tar.gz 195497374 BLAKE2B 0083212fd63c196dc2e721bff8f89c177b6741317b6b1c6ae9d00a8dd5fb6366efa3f01b9bffafafac7177cfdaa4d700077a2bad42ada735f5553e97f651c4ad SHA512 1bb1f36a069bfaa0d0ffe5258534e02e49237fc6ce85fe3d3648650130165abc9b3d5ff0e7e5861ee1d94add00d4258575f9c2f8556debecf597bdaa5499efe0
diff --git a/dev-python/imageio/files/imageio-2.22.0-block-download.patch b/dev-python/imageio/files/imageio-2.22.0-block-download.patch
new file mode 100644
index 000000000000..ba483813b23c
--- /dev/null
+++ b/dev-python/imageio/files/imageio-2.22.0-block-download.patch
@@ -0,0 +1,32 @@
+From 1ae48cfa95e84cb064edc74a4a64bd0f7dee780a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 4 Oct 2022 09:40:42 +0200
+Subject: [PATCH] Unconditionally disable downloading binaries from Internet
+
+Bug: https://bugs.gentoo.org/874849
+---
+ imageio/core/fetching.py | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/imageio/core/fetching.py b/imageio/core/fetching.py
+index 0380bc7..70f1a3d 100644
+--- a/imageio/core/fetching.py
++++ b/imageio/core/fetching.py
+@@ -97,11 +97,10 @@ def get_remote_file(fname, directory=None, force_download=False, auto=True):
+ break
+
+ # If we get here, we're going to try to download the file
+- if os.getenv("IMAGEIO_NO_INTERNET", "").lower() in ("1", "true", "yes"):
++ if True:
+ raise InternetNotAllowedError(
+- "Will not download resource from the "
+- "internet because environment variable "
+- "IMAGEIO_NO_INTERNET is set."
++ "Implicit insecure downloads disabled on Gentoo due to security "
++ "concerns. See https://bugs.gentoo.org/874849."
+ )
+
+ # Can we proceed with auto-download?
+--
+2.38.0
+
diff --git a/dev-python/imageio/imageio-2.19.3.ebuild b/dev-python/imageio/imageio-2.19.3.ebuild
deleted file mode 100644
index 6770d9759db9..000000000000
--- a/dev-python/imageio/imageio-2.19.3.ebuild
+++ /dev/null
@@ -1,52 +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_{8..10} )
-
-inherit distutils-r1
-
-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
-"
-
-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
-
-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
-)
diff --git a/dev-python/imageio/imageio-2.19.5.ebuild b/dev-python/imageio/imageio-2.19.5.ebuild
deleted file mode 100644
index 6770d9759db9..000000000000
--- a/dev-python/imageio/imageio-2.19.5.ebuild
+++ /dev/null
@@ -1,52 +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_{8..10} )
-
-inherit distutils-r1
-
-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
-"
-
-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
-
-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
-)
diff --git a/dev-python/imageio/imageio-2.20.0.ebuild b/dev-python/imageio/imageio-2.20.0.ebuild
deleted file mode 100644
index 6770d9759db9..000000000000
--- a/dev-python/imageio/imageio-2.20.0.ebuild
+++ /dev/null
@@ -1,52 +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_{8..10} )
-
-inherit distutils-r1
-
-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
-"
-
-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
-
-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
-)
diff --git a/dev-python/imageio/imageio-2.21.0.ebuild b/dev-python/imageio/imageio-2.21.0.ebuild
deleted file mode 100644
index 6770d9759db9..000000000000
--- a/dev-python/imageio/imageio-2.21.0.ebuild
+++ /dev/null
@@ -1,52 +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_{8..10} )
-
-inherit distutils-r1
-
-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
-"
-
-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
-
-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
-)
diff --git a/dev-python/imageio/imageio-2.21.1.ebuild b/dev-python/imageio/imageio-2.21.1.ebuild
deleted file mode 100644
index 6770d9759db9..000000000000
--- a/dev-python/imageio/imageio-2.21.1.ebuild
+++ /dev/null
@@ -1,52 +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_{8..10} )
-
-inherit distutils-r1
-
-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
-"
-
-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
-
-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
-)
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/imageio/imageio-2.34.1.ebuild b/dev-python/imageio/imageio-2.34.1.ebuild
new file mode 100644
index 000000000000..75d05d734168
--- /dev/null
+++ b/dev-python/imageio/imageio-2.34.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+TEST_IMAGES_COMMIT=1121036015c70cdbb3015e5c5ba0aaaf7d3d6021
+DESCRIPTION="Python library for reading and writing image data"
+HOMEPAGE="
+ https://imageio.readthedocs.io/en/stable/
+ https://github.com/imageio/imageio/
+ https://pypi.org/project/imageio/
+"
+SRC_URI="
+ https://github.com/imageio/imageio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/imageio/test_images/archive/${TEST_IMAGES_COMMIT}.tar.gz
+ -> imageio-test_images-${TEST_IMAGES_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/numpy-2[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.3.2[${PYTHON_USEDEP}]
+ media-libs/freeimage
+"
+BDEPEND="
+ test? (
+ >=dev-python/imageio-ffmpeg-0.4.9-r1[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/tifffile[${PYTHON_USEDEP}]
+ || (
+ media-video/ffmpeg[openh264]
+ media-video/ffmpeg[x264]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # block silently downloading vulnerable libraries from the Internet
+ "${FILESDIR}"/imageio-2.22.0-block-download.patch
+ )
+
+ if use test; then
+ mv "${WORKDIR}/test_images-${TEST_IMAGES_COMMIT}" .test_images || die
+ # upstream tries to update the image cache, and invalidates it
+ # if "git pull" fails
+ sed -i -e 's:git pull:true:' tests/conftest.py || die
+ # ffmpeg tests expect it there
+ mkdir -p "${HOME}/.imageio/images" || die
+ cp .test_images/cockatoo.mp4 "${HOME}/.imageio/images" || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # uses fsspec to grab prebuilt .so from GitHub, sigh
+ tests/test_freeimage.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Note: upstream has a needs_internet marker but it is also
+ # used to mark tests that require test_images checkout that we
+ # supply
+
+ # Tries to download ffmpeg binary ?!
+ tests/test_ffmpeg.py::test_get_exe_installed
+ # blocked by our patch
+ tests/test_core.py::test_fetching
+ tests/test_core.py::test_request
+ # Internet
+ tests/test_bsdf.py::test_from_url
+ tests/test_core.py::test_mvolread_out_of_bytes
+ tests/test_core.py::test_request_read_sources
+ tests/test_pillow.py::test_gif_first_p_frame
+ tests/test_pillow.py::test_png_remote
+ tests/test_pillow_legacy.py::test_png_remote
+ tests/test_swf.py::test_read_from_url
+ # requires pillow-heif, also possibly Internet
+ tests/test_pillow.py::test_avif_remote
+ tests/test_pillow.py::test_heif_remote
+ # not important, requires random system libs
+ tests/test_core.py::test_findlib2
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/imageio/metadata.xml b/dev-python/imageio/metadata.xml
index e06b08ec97ba..f802f9095847 100644
--- a/dev-python/imageio/metadata.xml
+++ b/dev-python/imageio/metadata.xml
@@ -1,21 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>gentoo@chymera.eu</email>
- <name>Horea Christian</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">
Imageio is a Python library that provides an easy interface to read
- and write a wide range of image data, including animated images,
+ and write a wide range of image data, including animated images,
video, volumetric data, and scientific formats. It is cross-platform,
runs on Python 2.x and 3.x, and is easy to install.
</longdescription>
diff --git a/dev-python/imagesize/imagesize-1.4.1.ebuild b/dev-python/imagesize/imagesize-1.4.1.ebuild
index 9a690f29a7bc..bc4a64bf8c86 100644
--- a/dev-python/imagesize/imagesize-1.4.1.ebuild
+++ b/dev-python/imagesize/imagesize-1.4.1.ebuild
@@ -1,19 +1,18 @@
-# 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_{8..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 f835e479fec7..000000000000
--- a/dev-python/imapclient/imapclient-2.3.1.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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 3f74ec93c1da..fabf738080d9 100644
--- a/dev-python/iminuit/Manifest
+++ b/dev-python/iminuit/Manifest
@@ -1,8 +1,2 @@
-DIST iminuit-2.11.2.tar.gz 411984 BLAKE2B 8fa47b24890f26718ebb8f053c2f908d982a7b6cc7f71f6523f387128ab0bd894bb851f18e2f8611ff5ab1c113651f526893445f465fbbfa10d487dc15effcbd SHA512 b60755f21ae38bd19860e0d711bab9c6e37dd361cc8cf43bdd1a583e8c06abca38e42ae0a6c4631be05c5082c9ab169bddb51e4d84397ce8f81833fd4c46cdd7
-DIST iminuit-2.12.0.tar.gz 420687 BLAKE2B 9d3761bd756f58a7c36a61f161e4667f8efbb6edef9bb1882fcd324efe46aaec126dbfb4b692a5b7f56a1f162cb292c9e58a0d3337ae04a019756455bc0df1e9 SHA512 1697c04722323506bbe43682befe1b6020656348c98fec0a877ea8403390e741ea106d61d95e31595d894b020025606b413b2f185fd747b2b7d733b729919fe1
-DIST iminuit-2.12.1.tar.gz 420488 BLAKE2B 8910017f27d683b5129a506c7536def9b70b3dac27153985023f81bc94fb767c33f0a9fb4c8ac6911634839fd3870ac3bb63ddbf0cd8925b68778983c341354b SHA512 2b54ebb3c66eb508e848fbedae32aac32a82d794da899d10848d683b7a97b7882014e77b1e98be3563b0e96957208072f048e8df23a8c14f5e3b472eae5b5f23
-DIST iminuit-2.12.2.tar.gz 420639 BLAKE2B b158dd0916d5de229a1af16c402d8f51fd01cb9ed8e894677c2cb941fb587ac10ec94ce6787fb76291315c4e91cbf6c1492e65b821580a395385b2f50a38cdfd SHA512 620cfe19862ca6559ea5b2bc3f04a3212d8041e6de97056a17fe1e2a9dfe37d1c2128ae4bf6b2a5b796ce48719eeaa0d31dd025a0f469f401b1d9858685b3c82
-DIST iminuit-2.13.0.tar.gz 422872 BLAKE2B 756c43cfa89037ee80c274e0e4e9a70fe8fbbc3dd6508964361221740f8b159657d944c2c1fe32056ce0118489ad427c074f822ec6e8c9b809cc04cf34e9be45 SHA512 4a7d4eab7ea996069fce439eeaf9459d86d35d8cb95efb3893601f30cabab28c56da8ada7ae4ae1b9d0b8ce41f8d4ecc36e0a98a5e67ca1f739b40dda61cfd54
-DIST iminuit-2.14.0.tar.gz 427380 BLAKE2B 1ed6119bb6ee3ed91a6f40064959c138d12526d534520104cede88f14f298ff25f51d3e17515b3d3b78b7cbb4361a6cb704e24dc02930ad9414c42fed96c830c SHA512 8370c62a02e99e4eaf19153fabb6dc1dbd5db50fed94df73be28bbdc3b5f2d27cb1e770e5d6a031cbf780799363c69da0fb78e12a7f8cdc832e6120e4e78bd0b
-DIST iminuit-2.15.1.tar.gz 429180 BLAKE2B b23f2200cc2279136bc5fa01bdd26f44f9cdad8150e503ef11ac70916f1ec52f9e1568a2ab0c5dcb9a8db714580c036fb2764e3a36f866bde87614d0c62e1867 SHA512 e651fedc9c387a21b07201fc5e3cf1f76d8ab6bf50d276068c17fc8a19262afcb2fcc8204619a090a58514cf1e67d372141fc3c558f1c53beab405ea404e8c0d
-DIST iminuit-2.15.2.tar.gz 429553 BLAKE2B a7d0cc5e3776ac962c653c8f10687af457f40a89ec9a58c6d17fc39a51a863c91f0a50e6d2e53713eaf3010e4c8fdc9efdaa44b033741c5af514c2986507cef6 SHA512 185f2581c8ce3b7af7601b456205054875d92ce0c0491e3aad0da386a1556509622dd6ed30ad10df82f3c43cc5f03cf13f1d3765d4252ab5ecf943a3d9f4310f
+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.11.2.ebuild b/dev-python/iminuit/iminuit-2.11.2.ebuild
deleted file mode 100644
index 3a700725da54..000000000000
--- a/dev-python/iminuit/iminuit-2.11.2.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-
-# 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/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.12.0.ebuild b/dev-python/iminuit/iminuit-2.12.0.ebuild
deleted file mode 100644
index 3a700725da54..000000000000
--- a/dev-python/iminuit/iminuit-2.12.0.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-
-# 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/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.12.1.ebuild b/dev-python/iminuit/iminuit-2.12.1.ebuild
deleted file mode 100644
index 3a700725da54..000000000000
--- a/dev-python/iminuit/iminuit-2.12.1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-
-# 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/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.12.2.ebuild b/dev-python/iminuit/iminuit-2.12.2.ebuild
deleted file mode 100644
index 3a700725da54..000000000000
--- a/dev-python/iminuit/iminuit-2.12.2.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-
-# 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/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.13.0.ebuild b/dev-python/iminuit/iminuit-2.13.0.ebuild
deleted file mode 100644
index 3a700725da54..000000000000
--- a/dev-python/iminuit/iminuit-2.13.0.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-
-# 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/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.14.0.ebuild b/dev-python/iminuit/iminuit-2.14.0.ebuild
deleted file mode 100644
index 8f9a4ea554d7..000000000000
--- a/dev-python/iminuit/iminuit-2.14.0.ebuild
+++ /dev/null
@@ -1,42 +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_{8..10} )
-
-# 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.15.1.ebuild b/dev-python/iminuit/iminuit-2.15.1.ebuild
deleted file mode 100644
index 8f9a4ea554d7..000000000000
--- a/dev-python/iminuit/iminuit-2.15.1.ebuild
+++ /dev/null
@@ -1,42 +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_{8..10} )
-
-# 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.15.2.ebuild b/dev-python/iminuit/iminuit-2.15.2.ebuild
deleted file mode 100644
index 8f9a4ea554d7..000000000000
--- a/dev-python/iminuit/iminuit-2.15.2.ebuild
+++ /dev/null
@@ -1,42 +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_{8..10} )
-
-# 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 10d2356afba6..aba8fbe43b0a 100644
--- a/dev-python/immutables/Manifest
+++ b/dev-python/immutables/Manifest
@@ -1 +1 @@
-DIST immutables-0.18.gh.tar.gz 84891 BLAKE2B 2e800e1b7b354781ef221315b80877e57ef446753c4a42e411196379e2bc921f71918c5ecd5cc693ca54cb7c401bef31161e9d249407b705626fe95d0e4e9fcc SHA512 1477ff6d9a6c02c3619b209352096abefb913cf53d392748e0940160067ecdcf2b89ad9ce807161ededaa5062105a2e5c5a3303bd02752a5f07b5f68f1c1044c
+DIST immutables-0.20.gh.tar.gz 88169 BLAKE2B fb76793d8d908ea35999a9d3d36cdb6cc2021fda07d0822b23bf1eb7fe02031ac26a7aa3e83e890af24b949eedf6d81089a3670e96f9873a60339d0da44d2484 SHA512 b20a661e4a9161a2fe3db674aac8e84a36dd3e56083e6f6d6b1261a00d38adc136c0a2dce67243a5a4cd5b0568aa48a9d4c758fb27cf74e055f378a501c0f725
diff --git a/dev-python/immutables/immutables-0.18.ebuild b/dev-python/immutables/immutables-0.18.ebuild
deleted file mode 100644
index e34f68e5dd8a..000000000000
--- a/dev-python/immutables/immutables-0.18.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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-resources/Manifest b/dev-python/importlib-resources/Manifest
new file mode 100644
index 000000000000..27040acd0be1
--- /dev/null
+++ b/dev-python/importlib-resources/Manifest
@@ -0,0 +1 @@
+DIST importlib_resources-6.4.0.tar.gz 42040 BLAKE2B 55b52a42051c6900af7b5b70783476a48398ae02539871a3f508df08fd5b4ec03bbe40980de8cd49a60cc022905a4ffdfd95b55d70e0cfb5d64497b02cc9b88f SHA512 c600e7ba96431f15a929e5acda89a262ceef33a3f44ae361fad4201dde8033dd8f0f2bcb856619fd5e21209a5d17cf9ae3610e65c3e6ecd0e36545437d0064b9
diff --git a/dev-python/importlib-resources/importlib-resources-6.4.0.ebuild b/dev-python/importlib-resources/importlib-resources-6.4.0.ebuild
new file mode 100644
index 000000000000..3f36b1f05ef1
--- /dev/null
+++ b/dev-python/importlib-resources/importlib-resources-6.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
+# backport from py3.12
+PYTHON_COMPAT=( pypy3 python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Read resources from Python packages"
+HOMEPAGE="
+ https://github.com/python/importlib_resources/
+ https://pypi.org/project/importlib-resources/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/jaraco-test-5.4[${PYTHON_USEDEP}]
+ >=dev-python/zipp-3.17[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/importlib-resources/metadata.xml b/dev-python/importlib-resources/metadata.xml
new file mode 100644
index 000000000000..672c6b745d18
--- /dev/null
+++ b/dev-python/importlib-resources/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">importlib-resources</remote-id>
+ <remote-id type="github">python/importlib_resources</remote-id>
+ <bugs-to>https://github.com/python/importlib_resources/issues</bugs-to>
+ <doc>https://importlib-resources.readthedocs.io/</doc>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/importlib_metadata/Manifest b/dev-python/importlib_metadata/Manifest
deleted file mode 100644
index 9fefd528e742..000000000000
--- a/dev-python/importlib_metadata/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST importlib_metadata-4.12.0.tar.gz 48153 BLAKE2B b12b61a02be6428f80de418b3932b917066f6e9396d85158f8f31fa1b800c9cbd3f7dfd7cec48b51cc6c4ad5e5532136cc6ad7ea688c70466621976b232d9ccb SHA512 a7e3b8876665880a42bab885014199eed90efafcb386b89fddf62f3a6dbf51b192a0b9d208a40fd1f8b6db9d1bf80cf6d6753c1073196daa54dffa22a627443f
diff --git a/dev-python/importlib_metadata/importlib_metadata-4.12.0.ebuild b/dev-python/importlib_metadata/importlib_metadata-4.12.0.ebuild
deleted file mode 100644
index 49339f2d9da7..000000000000
--- a/dev-python/importlib_metadata/importlib_metadata-4.12.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2022 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_{8..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/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 8240bf31791e..000000000000
--- a/dev-python/importlib_resources/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST importlib_resources-5.8.0.tar.gz 31461 BLAKE2B ce6668520297cd7e06b944146277065cd1a0f5ae3f9e3bce24005f0f4a1181a41fa7f91f6b9ee9c0ef4caf7ca65c8efff748957c5c1a45c56778b30568970b36 SHA512 5c20a46a1832c7aaddfaa561a3986ea02dae59b94c06861757b6e5912f36624d564c65e184612af6e5930927a3172dc132ceb9846b0585de851d019c68cc8955
-DIST importlib_resources-5.9.0.gh.tar.gz 32691 BLAKE2B bc922945d0577222e704ac3a5aa24cd6abb31c9b44f42c342e78f45fb035ee2b3843c437eba31bc8a73f609f6126390f4141c52b9eef15ff8bc7efc44233e81b SHA512 9054b633f3c9b3523ccfa2be93774d0aa4b0c2ab8bfb228f1e0bfbbc076362b416c9714409ff365aa5eae579554feedc8f2aeaa49c766db37ab669414eb22827
diff --git a/dev-python/importlib_resources/importlib_resources-5.8.0.ebuild b/dev-python/importlib_resources/importlib_resources-5.8.0.ebuild
deleted file mode 100644
index ee3ae9bcfbc7..000000000000
--- a/dev-python/importlib_resources/importlib_resources-5.8.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2022 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 python3_8 )
-
-inherit distutils-r1
-
-DESCRIPTION="Read resources from Python packages"
-HOMEPAGE="
- https://github.com/python/importlib_resources/
- https://pypi.org/project/importlib-resources/
-"
-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 ~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.9.0.ebuild b/dev-python/importlib_resources/importlib_resources-5.9.0.ebuild
deleted file mode 100644
index 7fbce509df31..000000000000
--- a/dev-python/importlib_resources/importlib_resources-5.9.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 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 python3_8 )
-
-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/imread/Manifest b/dev-python/imread/Manifest
deleted file mode 100644
index e195ce43958b..000000000000
--- a/dev-python/imread/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST imread-0.7.3.tar.gz 131492 BLAKE2B 060bcd8312f24f2966f840a6403486a9a9a2f6b9d033e92f0268594711f4fa06530c2a825103683b1041570c43c3af584faf10acf45a95e693dc83c81da4190d SHA512 401ec64fd4a65fac1cf2e1bd929cad00a8d704c6c03b8a10256d1e9c27cbc83b47a11567731a42c731aca3df9a5101b7ff90bb51f869695b1405c642e16486e7
diff --git a/dev-python/imread/imread-0.7.3-r1.ebuild b/dev-python/imread/imread-0.7.3-r1.ebuild
deleted file mode 100644
index bc7b8753a584..000000000000
--- a/dev-python/imread/imread-0.7.3-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Read Image Files"
-HOMEPAGE="http://luispedro.org/software/imread/ https://github.com/luispedro/imread"
-SRC_URI="https://github.com/luispedro/imread/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- media-libs/libpng:0
- media-libs/libwebp:0
- media-libs/tiff:0
- virtual/jpeg
-"
-DEPEND="${RDEPEND}"
-BDEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}] )"
-
-distutils_enable_sphinx docs/source
-distutils_enable_tests setup.py
diff --git a/dev-python/imread/metadata.xml b/dev-python/imread/metadata.xml
deleted file mode 100644
index ba84112ea6ac..000000000000
--- a/dev-python/imread/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>
- IO with images and numpy arrays.
- Mahotas-imread is a simple module with a small number of functions.
- </longdescription>
- <upstream>
- <bugs-to>https://github.com/luispedro/imread</bugs-to>
- <doc>https://imread.readthedocs.io/</doc>
- <remote-id type="github">luispedro/imread</remote-id>
- <remote-id type="pypi">imread</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/incremental/Manifest b/dev-python/incremental/Manifest
index efe413f47179..f5f2a8f3da05 100644
--- a/dev-python/incremental/Manifest
+++ b/dev-python/incremental/Manifest
@@ -1 +1 @@
-DIST incremental-21.3.0.tar.gz 17058 BLAKE2B a6c49d15eb73abbab129e675d937e795a47aca10f74a8d5fc80ebf6575ca996cc7dc16aac9ca02c7a206cf8f59b239f3fc04fc00b28827d0a3c76a88189dabf7 SHA512 b8b50151cd2467e552d9268decadbb839b047cf58a450b72e0437ffc5f9af7d78c20a24193c0668cf48dd6264b852d9cee68e59529018e0ca07825e0c185d1e8
+DIST incremental-22.10.0.tar.gz 18305 BLAKE2B 8e3f19e1825c608d72259729674da2dfa5005a64fb336d3c2144f20fdfd40e84ce1988cb6e00c2c86412e48f71bf2c5bd0d4f226cb49b1ff8e799065dd9fda42 SHA512 23a7572db731d1dd9871d309a02f8a29a92b7f1d897e64a2fe053575e7b486ec87e54d5ae9658eb1a82f90ba36b1b1694b58a991d841553f6cb98983725a49c3
diff --git a/dev-python/incremental/incremental-21.3.0-r1.ebuild b/dev-python/incremental/incremental-21.3.0-r1.ebuild
deleted file mode 100644
index 314d735f88a9..000000000000
--- a/dev-python/incremental/incremental-21.3.0-r1.ebuild
+++ /dev/null
@@ -1,30 +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_{8..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/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/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
new file mode 100644
index 000000000000..88a3a568d717
--- /dev/null
+++ b/dev-python/indexed-gzip/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>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription lang="en">
+ The indexed_gzip project is a Python extension which aims to provide a
+ drop-in replacement for the built-in Python gzip.GzipFile class,
+ the IndexedGzipFile. This package was written to allow fast random
+ access of compressed NIFTI image files (for which GZIP is the de-facto
+ compression standard), but will work with any GZIP file.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">pauldmccarthy/indexed_gzip</remote-id>
+ <remote-id type="pypi">indexed-gzip</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/indexed_gzip/Manifest b/dev-python/indexed_gzip/Manifest
deleted file mode 100644
index 95ac4d689559..000000000000
--- a/dev-python/indexed_gzip/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST indexed_gzip-1.6.13.tar.gz 102730 BLAKE2B 8ab5490c3c830121ce3104c624fe36cb0064f6265b5e5f9ebd6efb0402c33e206b4d97c35803fa10fdbc25a7ccac61f19b2fd9bfb205e07acee40737d6404659 SHA512 de8a606f712a0bddf618cedac12d2b5613e14aaaacc93d1930352101bdeaca8bd5126dd67df36d691f31bc27d553a61901934bbb0b2514e4360c6cd49e395c41
diff --git a/dev-python/indexed_gzip/indexed_gzip-1.6.13.ebuild b/dev-python/indexed_gzip/indexed_gzip-1.6.13.ebuild
deleted file mode 100644
index 245f33e3925e..000000000000
--- a/dev-python/indexed_gzip/indexed_gzip-1.6.13.ebuild
+++ /dev/null
@@ -1,58 +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_{8..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 -i -e '/cmdclass/d' 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/indexed_gzip/metadata.xml b/dev-python/indexed_gzip/metadata.xml
deleted file mode 100644
index bc43b287423a..000000000000
--- a/dev-python/indexed_gzip/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>gentoo@chymera.eu</email>
- <name>Horea Christian</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">
- The indexed_gzip project is a Python extension which aims to provide a
- drop-in replacement for the built-in Python gzip.GzipFile class,
- the IndexedGzipFile. This package was written to allow fast random
- access of compressed NIFTI image files (for which GZIP is the de-facto
- compression standard), but will work with any GZIP file.
- </longdescription>
- <upstream>
- <remote-id type="github">pauldmccarthy/indexed_gzip</remote-id>
- <remote-id type="pypi">indexed-gzip</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/inflect/Manifest b/dev-python/inflect/Manifest
index ce415833b42a..deec2a360480 100644
--- a/dev-python/inflect/Manifest
+++ b/dev-python/inflect/Manifest
@@ -1,4 +1 @@
-DIST inflect-5.6.0.tar.gz 69251 BLAKE2B 49ebba7149fb550a75818a18a47c6524a046855c330d924bbcad7751b09538902cd1f9075a77922defdda1b8d29dd4966569c7f8c1a2364518cef96799ed21cf SHA512 c7cdd57d84b40c2479637eaf37089b2c5c16d738feb28c71f4fbd3fa4e08f0683c8e1a1e47904fb89afb90404ec8652e48941cbd2f1643dfdfebeaaf307e56ac
-DIST inflect-5.6.1.tar.gz 69306 BLAKE2B c465a962abbdda852fd778d09e3966bdb06dd34f56ef624a3f7d63e277b6e178d891aa23709d6591fe31a07acb3c25a7640aabb790ddf4493df82ab735963f98 SHA512 d908786d82e56871344aee716a2b8dd8da51b0f47af363916b47bceb04468ce6f3c321f5f429e12b10f06c100b0a2ebc249b94110518f33ed0844694cf0f108f
-DIST inflect-5.6.2.tar.gz 69378 BLAKE2B d20739928bc0a5e181456c3bbc583e5816bd87b615ad1f6c1ec6edede3a67614ff4a97db4973d940d2615f40958efcf24f0de3cecaaaf2e892defec322481b4c SHA512 0bf66803c888575be478d45c1ddaf96432b8883af2b854a874678643e7b92a6a1bc60eb0d6ee324346dd4df7482364a7525a40f04f31910263c840196ba49d38
-DIST inflect-6.0.0.tar.gz 70108 BLAKE2B 5e20c265ef7683d1cd671d86697b8fc8d683ef4e7dd856fe0e0797e39a5e97a9a62984b9dd39f54187e54e3a7b961dd6c77b0f50822fef19bec462c485ee7600 SHA512 8cd38dc2e59bba5b47dfbf0f7626fce43bc4ecafa22f4555e48d9827b4f7f235c282477e9a008f172cc08eefcb5f44e2133de2c28e04ddb29c9392a5486b2719
+DIST inflect-7.2.1.tar.gz 71580 BLAKE2B f6256388768a850a16e79f5c59cc21bab94c65733aa4502c813e7c32c850eecf80d2148e9cb396b6fb3198004b79dc1c6dea9dbef29d5cd4e3acff25728deec3 SHA512 b994b1cb486f318f54fe73e159ffb41c637298c651e3b2ed0899659add450cd47f168e7ba242fc70dd1c177e622850409485c1671e5b89eb1f2b554d315bdf00
diff --git a/dev-python/inflect/inflect-5.6.0.ebuild b/dev-python/inflect/inflect-5.6.0.ebuild
deleted file mode 100644
index 1eee83767dac..000000000000
--- a/dev-python/inflect/inflect-5.6.0.ebuild
+++ /dev/null
@@ -1,26 +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_{8..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 ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-BDEPEND="
- >=dev-python/setuptools_scm-3.4.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/inflect/inflect-5.6.1.ebuild b/dev-python/inflect/inflect-5.6.1.ebuild
deleted file mode 100644
index ea873a0cffa0..000000000000
--- a/dev-python/inflect/inflect-5.6.1.ebuild
+++ /dev/null
@@ -1,26 +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_{8..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 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-BDEPEND="
- >=dev-python/setuptools_scm-3.4.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/inflect/inflect-5.6.2.ebuild b/dev-python/inflect/inflect-5.6.2.ebuild
deleted file mode 100644
index 1eee83767dac..000000000000
--- a/dev-python/inflect/inflect-5.6.2.ebuild
+++ /dev/null
@@ -1,26 +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_{8..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 ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-BDEPEND="
- >=dev-python/setuptools_scm-3.4.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/inflect/inflect-6.0.0.ebuild b/dev-python/inflect/inflect-6.0.0.ebuild
deleted file mode 100644
index 67e07efb58ce..000000000000
--- a/dev-python/inflect/inflect-6.0.0.ebuild
+++ /dev/null
@@ -1,29 +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_{8..10} )
-
-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 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-RDEPEND="
- dev-python/pydantic[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools_scm-3.4.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/inflect/inflect-7.2.1.ebuild b/dev-python/inflect/inflect-7.2.1.ebuild
new file mode 100644
index 000000000000..3b7dd89edc8a
--- /dev/null
+++ b/dev-python/inflect/inflect-7.2.1.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="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/typing-extensions[${PYTHON_USEDEP}]
+ >=dev-python/typeguard-4.0.1[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/inflection/inflection-0.5.1-r1.ebuild b/dev-python/inflection/inflection-0.5.1-r1.ebuild
index 8feea6f41aa1..794220dcbe5e 100644
--- a/dev-python/inflection/inflection-0.5.1-r1.ebuild
+++ b/dev-python/inflection/inflection-0.5.1-r1.ebuild
@@ -1,19 +1,22 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( pypy3 python3_{8..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/influxdb/Manifest b/dev-python/influxdb/Manifest
deleted file mode 100644
index bcb5474ac1cf..000000000000
--- a/dev-python/influxdb/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST influxdb-5.3.0.tar.gz 66683 BLAKE2B 28dd955fb26eb9a984bb910f26655720c566c08a8178f8aa08b5eb66a6f02933a6f3cb2d26981ffcfc3fd9a017fae2ad27b61f32e2a7916c55d723ffea5b248a SHA512 49ae48dc56ea8f6c6d4103f33207a35af4877c292ff4bfd32ebf8ff35fae816f570e64657406fdf9ef13092c69e7e2d1f0c641124445d35731a4a37812f67242
diff --git a/dev-python/influxdb/files/influxdb-5.3.0-pandas-future-warning.patch b/dev-python/influxdb/files/influxdb-5.3.0-pandas-future-warning.patch
deleted file mode 100644
index efd510fc8420..000000000000
--- a/dev-python/influxdb/files/influxdb-5.3.0-pandas-future-warning.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-https://github.com/influxdata/influxdb-python/pull/845
-
-diff --git a/influxdb/_dataframe_client.py b/influxdb/_dataframe_client.py
-index 600bc1ec1f47..7f2b4ee2989f 100644
---- a/influxdb/_dataframe_client.py
-+++ b/influxdb/_dataframe_client.py
-@@ -294,7 +294,7 @@ class DataFrameClient(InfluxDBClient):
- 'time': np.int64(ts.value / precision_factor)}
- for ts, tag, (_, rec) in zip(
- dataframe.index,
-- dataframe[tag_columns].to_dict('record'),
-+ dataframe[tag_columns].to_dict('records'),
- dataframe[field_columns].iterrows()
- )
- ]
diff --git a/dev-python/influxdb/files/influxdb.conf.template b/dev-python/influxdb/files/influxdb.conf.template
deleted file mode 100644
index efcff78aa6ce..000000000000
--- a/dev-python/influxdb/files/influxdb.conf.template
+++ /dev/null
@@ -1,29 +0,0 @@
-bind-address = ":{global_port}"
-
-[meta]
- dir = "{meta_dir}"
- hostname = "localhost"
- bind-address = ":{meta_port}"
-
-[data]
- dir = "{data_dir}"
- wal-dir = "{wal_dir}"
- index-version = "tsi1"
-
-[http]
- enabled = true
- bind-address = ":{http_port}"
- auth-enabled = false
-
-[[udp]]
- enabled = {udp_enabled}
- bind-address = ":{udp_port}"
- database = "db"
- batch-size = 0
- batch-timeout = "0"
-
-[monitor]
- store-enabled = false
-
-[hinted-handoff]
- dir = "{handoff_dir}"
diff --git a/dev-python/influxdb/influxdb-5.3.0-r1.ebuild b/dev-python/influxdb/influxdb-5.3.0-r1.ebuild
deleted file mode 100644
index 8cd5b7a8ae0b..000000000000
--- a/dev-python/influxdb/influxdb-5.3.0-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="InfluxDB client"
-HOMEPAGE="https://github.com/influxdb/influxdb-python https://pypi.org/project/influxdb/"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/msgpack-0.6.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.6.0[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- >=dev-python/requests-2.17.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
-"
-BDEPEND="test? (
- dev-db/influxdb
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- )"
-
-PATCHES=( "${FILESDIR}/${P}-pandas-future-warning.patch" )
-
-distutils_enable_tests nose
-
-src_prepare() {
- # The tarball is missing this file.
- # <https://github.com/influxdata/influxdb-python/issues/714>
- cp "${FILESDIR}/influxdb.conf.template" "${S}/influxdb/tests/server_tests/influxdb.conf.template" || die
- default
-}
diff --git a/dev-python/influxdb/metadata.xml b/dev-python/influxdb/metadata.xml
deleted file mode 100644
index 641d02824400..000000000000
--- a/dev-python/influxdb/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>bugs@chead.ca</email>
- <name>Christopher Head</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">influxdb</remote-id>
- <remote-id type="github">influxdb/influxdb-python</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/ini2toml/Manifest b/dev-python/ini2toml/Manifest
index 523eea28e797..0c7dd6d3c7e8 100644
--- a/dev-python/ini2toml/Manifest
+++ b/dev-python/ini2toml/Manifest
@@ -1 +1 @@
-DIST ini2toml-0.11.gh.tar.gz 93696 BLAKE2B 0fb52b346065421049fd377a62de4189a6d261ad12c00679c97568a0e7b7f8fc7bf1aae2196b8fc70489d547c0ce9be1347336d25769c7fb383f9fec4d4aa205 SHA512 7329fd3ba31567638fffce22f2370c2055503bd4abc3d7dab30b1828eb54204d31036753efddfab52e79703ce7583f6070e1207c95345096c0751c2d429fd6ea
+DIST ini2toml-0.14.tar.gz 108296 BLAKE2B f09ac924eea976b82d68b12132cc671cb5b0f57734fc2a4f4b0dc68e0a9e20d4f906ab757e662c152a5d7db9f0bad17bd28644524bd18a16895ad489eac1d29d SHA512 d29155ae1069084381aef852145a6c734ea4e1e8c6847174fff98bca497cbb4289ee791b26541c6027b716845dd23fc251dde531c6cb9c62d490e4bfed5f862e
diff --git a/dev-python/ini2toml/ini2toml-0.11-r1.ebuild b/dev-python/ini2toml/ini2toml-0.11-r1.ebuild
deleted file mode 100644
index c48b2f9ad320..000000000000
--- a/dev-python/ini2toml/ini2toml-0.11-r1.ebuild
+++ /dev/null
@@ -1,51 +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=( pypy3 python3_{8..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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~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[${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.11.ebuild b/dev-python/ini2toml/ini2toml-0.11.ebuild
deleted file mode 100644
index 16baf50290cb..000000000000
--- a/dev-python/ini2toml/ini2toml-0.11.ebuild
+++ /dev/null
@@ -1,64 +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=( pypy3 python3_{8..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/tomli[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-EPYTEST_DESELECT=(
- # pyproject_fmt is not packaged
- tests/test_cli.py::test_auto_formatting
-
- # fails on whitespace/comments/formatting
- tests/test_translator.py::test_simple_example
- tests/test_translator.py::test_parser_opts
- tests/plugins/test_setuptools_pep621.py::test_move_entry_points_and_apply_value_processing
- tests/plugins/test_setuptools_pep621.py::test_split_subtables
- tests/plugins/test_setuptools_pep621.py::test_entrypoints_and_split_subtables
- tests/plugins/test_setuptools_pep621.py::test_handle_dynamic
-)
-
-EPYTEST_IGNORE=(
- # configupdater is not packaged
- tests/test_examples.py
- tests/test_transformations.py
- tests/drivers/test_configupdater.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.14.ebuild b/dev-python/ini2toml/ini2toml-0.14.ebuild
new file mode 100644
index 000000000000..ede0b552f23d
--- /dev/null
+++ b/dev-python/ini2toml/ini2toml-0.14.ebuild
@@ -0,0 +1,46 @@
+# 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="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 3aec5a70f66c..b8e9cf1e05c2 100644
--- a/dev-python/iniconfig/Manifest
+++ b/dev-python/iniconfig/Manifest
@@ -1 +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/iniconfig-1.1.1-r1.ebuild b/dev-python/iniconfig/iniconfig-1.1.1-r1.ebuild
deleted file mode 100644
index eed3a00ab16f..000000000000
--- a/dev-python/iniconfig/iniconfig-1.1.1-r1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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
diff --git a/dev-python/iniconfig/iniconfig-2.0.0.ebuild b/dev-python/iniconfig/iniconfig-2.0.0.ebuild
new file mode 100644
index 000000000000..1117f65f2acb
--- /dev/null
+++ b/dev-python/iniconfig/iniconfig-2.0.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Brain-dead simple config-ini parsing"
+HOMEPAGE="
+ https://github.com/pytest-dev/iniconfig/
+ https://pypi.org/project/iniconfig/
+"
+SRC_URI="
+ https://github.com/pytest-dev/iniconfig/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 ~x64-solaris"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
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 504574e8549c..000000000000
--- a/dev-python/iniparse/iniparse-0.5-r1.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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 aa3c9f8fc157..2dad2ff96f1e 100644
--- a/dev-python/installer/Manifest
+++ b/dev-python/installer/Manifest
@@ -1,2 +1,2 @@
-DIST installer-0.5.1-py3-none-any.whl.zip 452220 BLAKE2B df2d2b351c3ca1e7d5991cebc77035bd8da980d0cd739b11532dac3e1fca4bcf58ebb746b4a3468978f765515ca22d3f777b279174715aaa2838231d4204028b SHA512 50f4778352393ad4d56ce5ccce2f5691df2114ef133b1a614e1c4ec2802261dd4de162fd359f47a51b4195b9b5594f5448591ee80356fd2ddb3221a2e602c797
-DIST installer-0.5.1.gh.tar.gz 468433 BLAKE2B 5ba76eb2a576209c2bdf80adfcbd8ea22b55394652640085cf8dd39ded06a0a33ab75f3e4ff73d5de2db028b8c4dac652d631c94e2c9401a825ee75e7b143c01 SHA512 0320c1795c98a593b5da46775465e26bdf8736f59835970517cb02f2756030a3744b9385a9342e8062362d0769d585ff6cce504fdf105e99d27d6ba40281842b
+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.5.1-r1.ebuild b/dev-python/installer/installer-0.5.1-r1.ebuild
deleted file mode 100644
index 39b7336c9b89..000000000000
--- a/dev-python/installer/installer-0.5.1-r1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2022 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_{8..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..1dbc58a0a422
--- /dev/null
+++ b/dev-python/installer/installer-0.7.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=no
+PYTHON_COMPAT=( python3_{10..13} 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 496ad63480aa..1b26b4518590 100644
--- a/dev-python/intelhex/intelhex-2.3.0-r1.ebuild
+++ b/dev-python/intelhex/intelhex-2.3.0-r1.ebuild
@@ -1,22 +1,21 @@
-# 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_{8..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 9f2e5cf3cf3b..000000000000
--- a/dev-python/intervaltree/intervaltree-3.1.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 640e6891a0d5..22892654d5ca 100644
--- a/dev-python/iocapture/iocapture-0.1.2-r3.ebuild
+++ b/dev-python/iocapture/iocapture-0.1.2-r3.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_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
DESCRIPTION="Capture stdout, stderr easily"
diff --git a/dev-python/ioflo/Manifest b/dev-python/ioflo/Manifest
index 4422795df98b..1017a5e53ded 100644
--- a/dev-python/ioflo/Manifest
+++ b/dev-python/ioflo/Manifest
@@ -1 +1 @@
-DIST ioflo-2.0.2.tar.gz 837382 BLAKE2B 1fe878c8a9a47a9be5083e392e15256f1a566433b4341e2ee234e84332bb72af0c426d04c77ccace33cfb05664745caaa63e910913c3d63bbb2e5d8360a1ec90 SHA512 7485924ce329889afb1c3e0555b54fdbfb11eafce48fb0ac15bacd229fea512c44fcc118bbc4368ebc7c770d62129ee6b895b982f73a269de7131ea37daac02b
+DIST ioflo-2.0.2.gh.tar.gz 837382 BLAKE2B 1fe878c8a9a47a9be5083e392e15256f1a566433b4341e2ee234e84332bb72af0c426d04c77ccace33cfb05664745caaa63e910913c3d63bbb2e5d8360a1ec90 SHA512 7485924ce329889afb1c3e0555b54fdbfb11eafce48fb0ac15bacd229fea512c44fcc118bbc4368ebc7c770d62129ee6b895b982f73a269de7131ea37daac02b
diff --git a/dev-python/ioflo/ioflo-2.0.2-r2.ebuild b/dev-python/ioflo/ioflo-2.0.2-r2.ebuild
deleted file mode 100644
index 8ccb0926edde..000000000000
--- a/dev-python/ioflo/ioflo-2.0.2-r2.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
-
-PYTHON_COMPAT=( python3_{8..10} )
-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}.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 b6744340a86f..20b2a1e67181 100644
--- a/dev-python/ipaddr/ipaddr-2.2.0-r2.ebuild
+++ b/dev-python/ipaddr/ipaddr-2.2.0-r2.ebuild
@@ -1,16 +1,15 @@
-# 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_{8..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 69f64b611215..51b77090020f 100644
--- a/dev-python/ipdb/Manifest
+++ b/dev-python/ipdb/Manifest
@@ -1 +1 @@
-DIST ipdb-0.13.9.tar.gz 16820 BLAKE2B d028fff2c4273fd4a57c3338093f0065868856b4f7b2b95aa0db3c2b1e7c5906fc17b5b55b79b3a3809465214bd91ac1891cefc1604ed866edaa2811380175f6 SHA512 da0ac6d8a7451e90cf433ab2a0d4e43fff76be03082da5cf31b83fdc56174fde7f0256009ad9a407d805c0bf12da5fa2f081e1aa0e0ce73ca648262acd385671
+DIST ipdb-0.13.13.tar.gz 17042 BLAKE2B 8f7a5b96816e97e9bad969889c9ee8d22870890eff6052828b1fbc65ff10b7719cecf2d5c5b59d3a4fceedf4cd829bddfd7fa09e57e6fef16295fb807bc4be0f SHA512 941c353ca4412bab54f3630825cb426534330fef3b00d39c1a492219b4d85783abf3a41c16c8516011df751b1e17a35a20dde66f3efca0948acdf870ae6bf089
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/ipdb/ipdb-0.13.9-r2.ebuild b/dev-python/ipdb/ipdb-0.13.9-r2.ebuild
deleted file mode 100644
index 1a32ae98c6be..000000000000
--- a/dev-python/ipdb/ipdb-0.13.9-r2.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 optfeature
-
-DESCRIPTION="IPython-enabled pdb"
-HOMEPAGE="https://pypi.org/project/ipdb/ https://github.com/gotcha/ipdb"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 x86"
-
-RDEPEND=">=dev-python/ipython-7.17[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/toml[${PYTHON_USEDEP}] )"
-
-DOCS=( AUTHORS HISTORY.txt README.rst )
-
-distutils_enable_tests unittest
-
-pkg_postinst() {
- optfeature "pyproject.toml support" dev-python/toml
-}
diff --git a/dev-python/ipdb/metadata.xml b/dev-python/ipdb/metadata.xml
index 654674ff4081..efa21f790cd6 100644
--- a/dev-python/ipdb/metadata.xml
+++ b/dev-python/ipdb/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">ipdb</remote-id>
+ <remote-id type="github">gotcha/ipdb</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/ipykernel/Manifest b/dev-python/ipykernel/Manifest
index d9ef76bcdb6a..21ce450be7ab 100644
--- a/dev-python/ipykernel/Manifest
+++ b/dev-python/ipykernel/Manifest
@@ -1,2 +1 @@
-DIST ipykernel-6.15.0.tar.gz 134691 BLAKE2B ba3eefde9f1023ccf83c63a35dd99fdfebc0bda0d4f73e6477a098564c0a9fb7c0082413ae31dc8cf423339c3e44887bcf5253355c13630619f44b18d19e9913 SHA512 a6533f094d18d32a02e8de5638fdabb9f647edc9a512e609de3bb1d80f5592acef4e930d879bf79bde7a0ca23945d9eb112d841f2305204fac9f4c672b5315ac
-DIST ipykernel-6.15.1.tar.gz 133140 BLAKE2B 7d63b55f2b8d883234258106b8239cf77031336ce6e7e38234490a031fc4a56861788210fdb2acd0f895e4df43257b0339ef1592e12d33b441e4ba9061acbd08 SHA512 10f2390a4edafea89fcc049d5e07ef542418a3a7b076efec1f02bc0a787e01280624cc543bb60604478cae63b58a86d031b549a6f872c7a8530043d670dbdc0e
+DIST ipykernel-6.29.4.tar.gz 162958 BLAKE2B 887d33b433f5fba70273e4020a79bb511bd076fe536c04ebc5f7e838637ff120889789783f9a3a41b4669b0b51d44401215ed3feac413382b953edf9d1b6cb48 SHA512 488d43c1c9f416281b23ba0f31311c7327ef97034d6cf1776392c0f7b193f52f1434e81ae0c45759a0b15354ef9d178c3fc835c6be4408880209e41b91e5602b
diff --git a/dev-python/ipykernel/ipykernel-6.15.0.ebuild b/dev-python/ipykernel/ipykernel-6.15.0.ebuild
deleted file mode 100644
index 01c1b618e4b0..000000000000
--- a/dev-python/ipykernel/ipykernel-6.15.0.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="IPython Kernel for Jupyter"
-HOMEPAGE="https://github.com/ipython/ipykernel"
-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/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/traitlets-5.1.0[${PYTHON_USEDEP}]
- >=www-servers/tornado-6.1[${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/inprocess/tests/test_kernel.py::InProcessKernelTestCase::test_pylab
- 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.15.1.ebuild b/dev-python/ipykernel/ipykernel-6.15.1.ebuild
deleted file mode 100644
index 5526cde6276c..000000000000
--- a/dev-python/ipykernel/ipykernel-6.15.1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="IPython Kernel for Jupyter"
-HOMEPAGE="https://github.com/ipython/ipykernel"
-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/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/traitlets-5.1.0[${PYTHON_USEDEP}]
- >=www-servers/tornado-6.1[${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/inprocess/tests/test_kernel.py::InProcessKernelTestCase::test_pylab
- 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.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..69b0638f5f73 100644
--- a/dev-python/ipyparallel/Manifest
+++ b/dev-python/ipyparallel/Manifest
@@ -1 +1 @@
-DIST ipyparallel-8.4.1.tar.gz 6843301 BLAKE2B 1ca0056cfa6827f5eb145584ea634d224119a485f1139964988b07bcd164fe392bb032794098bccdf67b31f74030e62e917c0a451809e0d14fae323308b2b0ab SHA512 640489b3920b91e1b2f83def00a06e8ec45c61bd7ebe33a3e4a30560e2b0acdbe0a98a685d868dd7bce4c65920d378ab69efca75cf0ae7f164ee792c870a297e
+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 4569cb19656b..000000000000
--- a/dev-python/ipyparallel/ipyparallel-8.4.1.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8..10} )
-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 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}]
- >=www-servers/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.8.0.ebuild b/dev-python/ipyparallel/ipyparallel-8.8.0.ebuild
new file mode 100644
index 000000000000..f0c25c8d495a
--- /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 4f96f417317c..13f37c8aafc3 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -1 +1,2 @@
-DIST ipython-8.4.0.tar.gz 5314601 BLAKE2B 4a5804ad115b45568ddbc0b8fcd181ae0088690ae2d7dda8580588d1e1caa087582a279449142e0144568815270b3a9476893525c0e90320f9ec580a06126d1d SHA512 975915ee64ce6f3fc9bcda383c784759dd8b19151428b10ef92020097718c6e2a9804a00fe02bd541b845eca146c63a672f25ad4f00ec5302b3c61ae0c6935ce
+DIST ipython-8.23.0.tar.gz 5491405 BLAKE2B c4273d20bccdf07283abf9a69b8d64a27be3aa2e0672d14781cd9035ff39a5392518d7e22f45cdd20c8e110111a601d4bdbc36659efde153742de731d574e4be SHA512 4e6f061dba024f5e717f6497706a144c5568c9d650215d898fe8e5efc85b92445f64e2c8eb6ef3c9bfe1a305c9098cc49e79b6d1cc25c8be5add1497682fce28
+DIST ipython-8.24.0.tar.gz 5491819 BLAKE2B 49ca26f4ab6ceb7c787038db5b1073790d7a32cb96951bcc2ffa4ac05b3a689507e654344fda196560e2dc4b9e2225335e27bc3fb7472ba487adebb1ebba44e1 SHA512 adf032a93e94e1e8008a1cc106fb348d0bccb914a335e0ad04490531e7a7d16e7a2dc4a345f7faf1b3151d60a649413fa78130688cb59de088e5eb4291689310
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..bbb1d7e16ff3
--- /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.24.0.ebuild b/dev-python/ipython/ipython-8.24.0.ebuild
new file mode 100644
index 000000000000..aa975d4a0a8f
--- /dev/null
+++ b/dev-python/ipython/ipython-8.24.0.ebuild
@@ -0,0 +1,179 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE='readline(+),sqlite,threads(+)'
+
+inherit distutils-r1 optfeature pypi virtualx
+
+DESCRIPTION="Advanced interactive shell for Python"
+HOMEPAGE="
+ https://ipython.org/
+ https://github.com/ipython/ipython/
+ https://pypi.org/project/ipython/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="doc examples notebook nbconvert qt5 +smp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.41[${PYTHON_USEDEP}]
+ <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
+ dev-python/stack-data[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.13.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10 3.11)
+"
+
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ app-text/dvipng[truetype]
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ dev-python/pickleshare[${PYTHON_USEDEP}]
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-2[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+RDEPEND+="
+ nbconvert? (
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ $(python_gen_cond_dep '
+ notebook? (
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/widgetsnbextension[${PYTHON_USEDEP}]
+ )
+ qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
+ ' 'python*')
+ smp? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/2.1.0-substitute-files.patch
+)
+
+python_prepare_all() {
+ # Remove out of date insource files
+ #rm IPython/extensions/cythonmagic.py || die
+ #rm IPython/extensions/rmagic.py || die
+
+ # Prevent un-needed download during build
+ if use doc; then
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
+ fi
+
+ # Rename the test directory to reduce sys.path pollution
+ # https://github.com/ipython/ipython/issues/12892
+ mv IPython/extensions/{,ipython_}tests || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ emake -C docs html_noapi
+ HTML_DOCS=( docs/build/html/. )
+ fi
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
+ local EPYTEST_DESELECT=(
+ # TODO: looks to be a regression due to a newer dep
+ IPython/core/tests/test_oinspect.py::test_class_signature
+ IPython/core/tests/test_oinspect.py::test_render_signature_long
+ IPython/terminal/tests/test_shortcuts.py::test_modify_shortcut_with_filters
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # https://github.com/numpy/numpy/issues/25164
+ IPython/lib/tests/test_display.py::TestAudioDataWithoutNumpy
+ )
+ ;;
+ esac
+
+ # nonfatal implied by virtx
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest -p asyncio --asyncio-mode=auto ||
+ die "Tests failed on ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Create ipythonX.Y symlinks.
+ # TODO:
+ # 1. do we want them for pypy? No. pypy has no numpy
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ # With pypy not an option the dosym becomes unconditional
+ dosym ../lib/python-exec/${EPYTHON}/ipython \
+ /usr/bin/ipython${EPYTHON#python}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
+
+pkg_postinst() {
+ optfeature "code formatting" dev-python/black
+ optfeature "sympyprinting" dev-python/sympy
+ optfeature "cythonmagic" dev-python/cython
+ optfeature "%lprun magic command" dev-python/line-profiler
+ optfeature "%matplotlib magic command" dev-python/matplotlib-inline
+
+ if use nbconvert; then
+ if ! has_version virtual/pandoc ; then
+ einfo "Node.js will be used to convert notebooks to other formats"
+ einfo "like HTML. Support for that is still experimental. If you"
+ einfo "encounter any problems, please use app-text/pandoc instead."
+ fi
+ fi
+}
diff --git a/dev-python/ipython/ipython-8.4.0.ebuild b/dev-python/ipython/ipython-8.4.0.ebuild
deleted file mode 100644
index 6d7e8a70c07f..000000000000
--- a/dev-python/ipython/ipython-8.4.0.ebuild
+++ /dev/null
@@ -1,170 +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_{8..10} )
-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/"
-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"
-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.19[${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
-
- if ! grep -q __legacy__ pyproject.toml; then
- die "pyproject.toml changed, please recheck"
- fi
-
- # remove pyproject.toml that specifies incorrect backend; since
- # the package actually requires the legacy backend, force it implicitly
- rm pyproject.toml || 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=(
- # Internet
- IPython/core/display.py::IPython.core.display.Image.__init__
- # 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
- # TODO
- IPython/extensions/ipython_tests/test_autoreload.py::TestAutoreload::test_smoketest_aimport
- IPython/extensions/ipython_tests/test_autoreload.py::TestAutoreload::test_smoketest_autoreload
- )
- [[ ${EPYTHON} == python3.10 ]] && EPYTEST_DESELECT+=(
- # TODO
- IPython/core/tests/test_completer.py::TestCompleter::test_all_completions_dups
- IPython/core/tests/test_completer.py::TestCompleter::test_deduplicate_completions
- )
- # 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 eb1747e74a7a..fc4a56363789 100644
--- a/dev-python/ipython/metadata.xml
+++ b/dev-python/ipython/metadata.xml
@@ -22,7 +22,7 @@
* Access to the system shell with user-extensible alias system.
* Easily embeddable in other Python programs.
* Integrated access to the pdb debugger and the Python profiler.
-</longdescription>
+ </longdescription>
<longdescription lang="ja">
対話的ã«åˆ©ç”¨ã™ã‚‹å ´åˆã«Pythonインタープリタã‹ã‚‰ã€ã‚ˆã‚Šæ©Ÿèƒ½ãŒè±Šå¯ŒãªIPythonã¸ç½®ãæ›ãˆã‚‹äº‹ãŒã§ãã¾ã™ã€‚
@@ -40,11 +40,10 @@
* ユーザー定義ã§ãるエイリアス・システムã§ã‚·ã‚¹ãƒ†ãƒ ãƒ»ã‚·ã‚§ãƒ«ã«ã‚¢ã‚¯ã‚»ã‚¹ã€‚
* ä»–ã®Python言語プログラムを組ã¿è¾¼ã‚€ã®ãŒç°¡å˜ã€‚
* pdbデãƒãƒƒã‚¬ã¨profilerã¸ã®çµ±åˆã‚¢ã‚¯ã‚»ã‚¹ã€‚
-</longdescription>
+ </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>www-servers/tornado</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>
<upstream>
diff --git a/dev-python/ipython_genutils/ipython_genutils-0.2.0-r3.ebuild b/dev-python/ipython_genutils/ipython_genutils-0.2.0-r3.ebuild
deleted file mode 100644
index 1965d19edab4..000000000000
--- a/dev-python/ipython_genutils/ipython_genutils-0.2.0-r3.ebuild
+++ /dev/null
@@ -1,22 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Vestigial utilities from IPython"
-HOMEPAGE="https://github.com/ipython/ipython_genutils"
-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"
-
-# Needed because package provides decorators which use nose
-RDEPEND="dev-python/nose[${PYTHON_USEDEP}]"
-
-distutils_enable_tests nose
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 25326795b10a..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
@@ -1,23 +1,27 @@
-# 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_{8..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 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+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 26c03187d5c5..1443735e1c3b 100644
--- a/dev-python/ipywidgets/Manifest
+++ b/dev-python/ipywidgets/Manifest
@@ -1 +1 @@
-DIST ipywidgets-7.7.1.tar.gz 4075672 BLAKE2B 1e52d3b3b9380f42f67ad658f6e8579a61220e7160c10b1569437c1fd74ce962fbe746f3a6a3e302b5417812f69807deddc0ae3fe255b8e2f213d65103d55362 SHA512 ed6bf1a59a511714a3af96cc66e7665b9b264f56862ca4ea02d943137fcc6018da8fcb8dff4a8f9157bfb46cc19b7d58ceaff028e84f2f8d18ee16e57ce7fb96
+DIST ipywidgets-8.1.2.tar.gz 116492 BLAKE2B 0fc8283b332447cd3659d39d4564e2e794678169c7bc156660f3478251c4df23de1719e4fcf9651b9766506edf359bdfc803b1450520a3cbce290b39bd95bd3c SHA512 59ddc92bb9b18b6cd36b1499465e700ce9b11010e2d51cdf0a820b36efecbea1facab42ced2f61de312319f4fd4e672bb27b248d40ee0088f3b58acfd102ab61
diff --git a/dev-python/ipywidgets/ipywidgets-7.7.1.ebuild b/dev-python/ipywidgets/ipywidgets-7.7.1.ebuild
deleted file mode 100644
index 70a44baacad2..000000000000
--- a/dev-python/ipywidgets/ipywidgets-7.7.1.ebuild
+++ /dev/null
@@ -1,38 +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_{8..10} )
-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 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}]
-"
-
-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.py || 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 218cc6809b53..2d23e5fe9e0a 100644
--- a/dev-python/irc/Manifest
+++ b/dev-python/irc/Manifest
@@ -1,2 +1 @@
-DIST irc-20.0.0.tar.gz 88662 BLAKE2B 627354a051964e53322484c8a2c28487e25738b21c485121589af331e2da59b80c5704ef4268ff0bac3e84d26f77af031ba6ce0064a46496e846c7160462a5f9 SHA512 cd54e20075e97d7c8259275514741f9bb2f93712b1cc8628399fb7d4b37ff7d1d6515be14f5326fa30e59f49cfb853b954f4f095b4d3cac870a63a9946cfbed2
-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.0.0-r1.ebuild b/dev-python/irc/irc-20.0.0-r1.ebuild
deleted file mode 100644
index e8d85bf4facf..000000000000
--- a/dev-python/irc/irc-20.0.0-r1.ebuild
+++ /dev/null
@@ -1,46 +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_{8..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.1.0.ebuild b/dev-python/irc/irc-20.1.0.ebuild
deleted file mode 100644
index 1e762924d3c7..000000000000
--- a/dev-python/irc/irc-20.1.0.ebuild
+++ /dev/null
@@ -1,46 +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_{8..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 dcd6c6b1adbb..22e010757d7d 100644
--- a/dev-python/iso8601/Manifest
+++ b/dev-python/iso8601/Manifest
@@ -1 +1 @@
-DIST iso8601-1.0.2.tar.gz 12653 BLAKE2B c7dbbe680f2828050b2ff32765da009b5f6dafdbc5182d5136f951f8604d7ff579b85050dbefae47d2b28ce88515b9dd73a8abf73b3419b4cdc4a4dd275b7228 SHA512 f28fbfe82c25575ad73a92df144c108ef3cf4e1a5a9af8362187014904073f26daa3b77dde689a23cfd87cdbf86196b241e925dd8cf5fd81728f0dbeee4836b7
+DIST iso8601-2.1.0.tar.gz 6522 BLAKE2B 49d8aca4bb5e75647335c5a2d047adeccb716050d8e34024d695bf605065507eeae3481e1d6f79e2051c77cde43072091324fc62d3a803fcaf52715c0e8efdb6 SHA512 db57ab2a25ef91e3bc479c8539d27e853cf1fbf60986820b8999ae15d7e566425a1e0cfba47d0f3b23aa703db0576db368e6c110ba2a2f46c9a34e8ee3611fb7
diff --git a/dev-python/iso8601/iso8601-1.0.2-r1.ebuild b/dev-python/iso8601/iso8601-1.0.2-r1.ebuild
deleted file mode 100644
index 47aa6c695505..000000000000
--- a/dev-python/iso8601/iso8601-1.0.2-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..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..ae33a8c0c802
--- /dev/null
+++ b/dev-python/iso8601/iso8601-2.1.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} 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 091e746daf9b..17b514d09b1c 100644
--- a/dev-python/isodate/isodate-0.6.1-r1.ebuild
+++ b/dev-python/isodate/isodate-0.6.1-r1.ebuild
@@ -1,23 +1,22 @@
-# 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_{8..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 2c1b820c24ac..9f3939e12bef 100644
--- a/dev-python/isoduration/isoduration-20.11.0-r1.ebuild
+++ b/dev-python/isoduration/isoduration-20.11.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2022 Gentoo Authors
+# 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_{8..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 fd4260d7faa5..9122a8f7a2dc 100644
--- a/dev-python/isort/Manifest
+++ b/dev-python/isort/Manifest
@@ -1 +1 @@
-DIST isort-5.10.1.gh.tar.gz 728462 BLAKE2B 5b892b9849293e8730e6d89592bace62009a8589d185b4d3a5bafded605ccd46fd0f2986fbad5cf1d72321d030e3193a111ab7e6114c6b4a7a67696f546b3a14 SHA512 545c1844bacc1d2d9e87e60b03b30a846ee1ebbfe2a229c3e018a2e1cc6e9a04a3691f1b2e7ec8575806f2341bc1af15eb64904b4eabd786d6b9b289cea5ce2a
+DIST isort-5.13.2.gh.tar.gz 755256 BLAKE2B 4cc8a0209ba954d93c030e6ad038933b50aa2f17b173762f598bc8038f36f72ecd1e7a3f6e73398bbfc99f464d14927f77044ca68126815023a8d456497985a1 SHA512 fe2bd27f0aa6219d44c3124782d400338a801a911d6a09ad51e7f80cbcbce250838350ad6cc80a35f641e0a319778ddcfb4dc61c8c76999ebc63a5147953e378
diff --git a/dev-python/isort/isort-5.10.1-r1.ebuild b/dev-python/isort/isort-5.10.1-r1.ebuild
deleted file mode 100644
index 3ce357892d29..000000000000
--- a/dev-python/isort/isort-5.10.1-r1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A python utility/library to sort imports"
-HOMEPAGE="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 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/toml[${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 toml
- sed -i -e 's:from ._vendored ::' isort/settings.py || die
- rm -r isort/_vendored || die
- # remove upper bounds from example plugin deps
- # (already removed upstream)
- sed -i -e 's:\^:>=:' example*/pyproject.toml || 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..54a714671d39 100644
--- a/dev-python/itsdangerous/Manifest
+++ b/dev-python/itsdangerous/Manifest
@@ -1 +1 @@
-DIST itsdangerous-2.1.2.tar.gz 56143 BLAKE2B 4c36cb26bcc6b6821b92b88b0254711ebe00bfda2193cecf0a7eb1fd514806f366fc0b4dc587a383003ec1272a2bc732418a46b44fa711beaedc06c379635ddc SHA512 e4d870a33992b309ed778f403c0c1e098983a693d1165260748bf36385ebfadb583811e05ddd48001a33cf6a4e963b7dd8a8c68919c5b4b86f63621d8869e259
+DIST itsdangerous-2.2.0.tar.gz 54410 BLAKE2B 8179d8bc705a9d695046c8ec5e37df5a0f7f8e8c7e000d2a25b684ab0292874fa2a79085326a4001df4a782247f5ce1c1425f8c4a6490818929ae80a146f140b SHA512 ed046cc371ea9aa1f7cd3bd201f1b68910a2b008bd8434c425332cecec6539cf031df6e2223a1fdccd68c12ccf5486e80f178d5906911b19417f0ea244e367f8
diff --git a/dev-python/itsdangerous/itsdangerous-2.1.2.ebuild b/dev-python/itsdangerous/itsdangerous-2.1.2.ebuild
deleted file mode 100644
index cdc1c410951f..000000000000
--- a/dev-python/itsdangerous/itsdangerous-2.1.2.ebuild
+++ /dev/null
@@ -1,29 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-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="
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/itsdangerous/itsdangerous-2.2.0.ebuild b/dev-python/itsdangerous/itsdangerous-2.2.0.ebuild
new file mode 100644
index 000000000000..b7eddafaf44d
--- /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 8992a4973c9a..000000000000
--- a/dev-python/itunespy/itunespy-1.6-r1.ebuild
+++ /dev/null
@@ -1,30 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A simple library to fetch data from the iTunes Store API"
-HOMEPAGE="https://github.com/sleepyfran/itunespy/"
-
-if [[ "${PV}" == *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/sleepyfran/${PN}.git"
-else
- SRC_URI="https://github.com/sleepyfran/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-RDEPEND="
- dev-python/pycountry[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-
-PATCHES=( "${FILESDIR}"/${P}-setup.cfg-description_file.patch )
diff --git a/dev-python/itunespy/itunespy-1.6-r2.ebuild b/dev-python/itunespy/itunespy-1.6-r2.ebuild
new file mode 100644
index 000000000000..1e17aa89d5ea
--- /dev/null
+++ b/dev-python/itunespy/itunespy-1.6-r2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple library to fetch data from the iTunes Store API"
+HOMEPAGE="https://github.com/sleepyfran/itunespy/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/sleepyfran/${PN}.git"
+else
+ SRC_URI="https://github.com/sleepyfran/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND="
+ dev-python/pycountry[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+PATCHES=( "${FILESDIR}"/${P}-setup.cfg-description_file.patch )
diff --git a/dev-python/itunespy/metadata.xml b/dev-python/itunespy/metadata.xml
index 3ca6ab0ecde7..39aba6c09854 100644
--- a/dev-python/itunespy/metadata.xml
+++ b/dev-python/itunespy/metadata.xml
@@ -6,6 +6,10 @@
<email>xgqt@gentoo.org</email>
<name>Maciej Barć</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<upstream>
<bugs-to>https://github.com/sleepyfran/itunespy/issues/</bugs-to>
<remote-id type="github">sleepyfran/itunespy</remote-id>
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 9a44e8d0681c..000000000000
--- a/dev-python/itypes/itypes-1.2.0-r1.ebuild
+++ /dev/null
@@ -1,26 +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_{8..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/Manifest b/dev-python/jack-client/Manifest
new file mode 100644
index 000000000000..aef2b6be9890
--- /dev/null
+++ b/dev-python/jack-client/Manifest
@@ -0,0 +1 @@
+DIST JACK-Client-0.5.4.tar.gz 48960 BLAKE2B 3130342714f0634abacc74c9aa4a7edac70087db82439197717c104e3b0cafc00916fc8d425b2b99c98df82d1c7a2c44a4df8021e84a2209301c19f5b1ae9d96 SHA512 bc75d1b58a10c855ab26fbb123ed6774f182a06501e6f31efffdd7c82d384761053dddd7af8315969f67421e4ba17bfc0b49f63f0454c8cc18b4b8385b928d26
diff --git a/dev-python/jack-client/jack-client-0.5.4.ebuild b/dev-python/jack-client/jack-client-0.5.4.ebuild
new file mode 100644
index 000000000000..777f02512d6a
--- /dev/null
+++ b/dev-python/jack-client/jack-client-0.5.4.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=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="JACK-Client"
+
+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
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# Tests require disabling the sandbox, ALSA with at least one functioning
+# PCM output device, and a very specific JACK server to even start (so far
+# only media-sound/jack2[alsa] has worked for me).
+RESTRICT="test"
+
+BDEPEND="dev-python/cffi[${PYTHON_USEDEP}]"
+RDEPEND="${BDEPEND}
+ dev-python/numpy[${PYTHON_USEDEP}]
+ virtual/jack"
+
+# 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
+
+python_test() {
+ # virtx lets tests autolaunch dbus-daemon
+ virtx epytest
+}
diff --git a/dev-python/jack-client/metadata.xml b/dev-python/jack-client/metadata.xml
new file mode 100644
index 000000000000..eba2072d3363
--- /dev/null
+++ b/dev-python/jack-client/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="pypi">JACK-Client</remote-id>
+ <remote-id type="github">spatialaudio/jackclient-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jaraco-classes/Manifest b/dev-python/jaraco-classes/Manifest
index 1839d17cbf93..c8963662aa34 100644
--- a/dev-python/jaraco-classes/Manifest
+++ b/dev-python/jaraco-classes/Manifest
@@ -1,2 +1 @@
-DIST jaraco.classes-3.2.1.tar.gz 12286 BLAKE2B c96162ecda1ca3e546b58ab147ea5b080f03e3570d6d59fe7372aeff290c683b68abad6560d7ebf57662009e4d9d8d9a6c1d768ba86e4bd24568794fdedf0534 SHA512 4c85cfdd1da88de01596867365147be6cadd7e1d230798683236fdfde579747e3309aac95ae4f3ef86c91bb4493f3096c4ecc14e3db764ef308aab41ead88e23
-DIST jaraco.classes-3.2.2.tar.gz 9266 BLAKE2B fa9bd77cf02e46617e4f5dc414ee081b60f3c3a4b220e75df366c8efb42a2eecccf688e6a43cd39deb1642df06554484fab9d9209d567dd0ffa53b5e94b913cc SHA512 56eaf8420f0319137ecae04c61e5a866909b83d3638343ea45ed3739524c8314bb6aac7ee9b5f899e2a1a5238c2caeaa971ed1cd0dbd28d9ac01ad6716549deb
+DIST jaraco.classes-3.4.0.tar.gz 11780 BLAKE2B e16f76f58fae8b42864e5055e8fd97fff634223aa28499fcc8a204f52aec9f2cc66b5cdf53e08acac85bfdeff46b7bdeb8b5bcc9da10fee16f3a5bd84026cd1d SHA512 94e5163120117c51f129d43e85f92ee19efcf8b10683142679511f8b33f4a1fd6c51516b7551aeab9d68c1936791bafc47328b5560ee3fe28e553fe463ea968f
diff --git a/dev-python/jaraco-classes/jaraco-classes-3.2.1-r1.ebuild b/dev-python/jaraco-classes/jaraco-classes-3.2.1-r1.ebuild
deleted file mode 100644
index 6335ace7194b..000000000000
--- a/dev-python/jaraco-classes/jaraco-classes-3.2.1-r1.ebuild
+++ /dev/null
@@ -1,31 +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_{8..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_sphinx docs \
- ">=dev-python/jaraco-packaging-3.2" \
- ">=dev-python/rst-linker-1.9"
-distutils_enable_tests pytest
diff --git a/dev-python/jaraco-classes/jaraco-classes-3.2.2.ebuild b/dev-python/jaraco-classes/jaraco-classes-3.2.2.ebuild
deleted file mode 100644
index b2df39d160e7..000000000000
--- a/dev-python/jaraco-classes/jaraco-classes-3.2.2.ebuild
+++ /dev/null
@@ -1,31 +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_{8..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_sphinx docs \
- ">=dev-python/jaraco-packaging-3.2" \
- ">=dev-python/rst-linker-1.9"
-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..26c33873878d
--- /dev/null
+++ b/dev-python/jaraco-classes/jaraco-classes-3.4.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Classes used by other projects by developer jaraco"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.classes/
+ https://pypi.org/project/jaraco.classes/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k 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/metadata.xml b/dev-python/jaraco-classes/metadata.xml
index 9b7ab3a06481..4a7ae337a195 100644
--- a/dev-python/jaraco-classes/metadata.xml
+++ b/dev-python/jaraco-classes/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/jaraco-collections/Manifest b/dev-python/jaraco-collections/Manifest
index 303fcfa65b28..81f7518a5e1f 100644
--- a/dev-python/jaraco-collections/Manifest
+++ b/dev-python/jaraco-collections/Manifest
@@ -1,2 +1 @@
-DIST jaraco.collections-3.5.1.tar.gz 15053 BLAKE2B afba813636464b6776f244eab31a0cd86418410f313e171cff1c8ac64e5d902f4a6c2f88d87c61d55292baa338aee45866d3a459c5b5b73fd4e751278b869316 SHA512 2918be537296ca81e5f78a3966a47451dc9dc2d233d997c3f01461c489b44051c497dab55496f85883ac1b91a28850a9d77ff154a3f5e074da1ed07f3259c246
-DIST jaraco.collections-3.5.2.tar.gz 16038 BLAKE2B 3f7f48f4c65e44aba621dd894a84711473ff42e37be8067e356cd6ca0f8740c667cb282bddad4315ddd7c8922c316c57b40984455f0af4bc8bbf4304a12a6779 SHA512 9567ee44fbc5010cc81ee24de792e53b5a225759b5f7d2e7dd932b0cae38e2035fddb5bd3dee5dc08fea9c61e2bf9087418cd192d81c72760f1e0d95a7b3788c
+DIST jaraco.collections-5.0.1.tar.gz 17990 BLAKE2B a78de1a3222492dde34271edd8032dc5b8737dc428c1aa6b55ebda799ef4ff986cb0cf495bdbc35f9c776e1d576c2970ae6736ba8d8aa7f2fcc2e6766aefbbc3 SHA512 88b0f261acd91d585e643b810818762af7165eaf505099701b99ee3be6955eebcfd1c95690faa3ecb56b25f6982a8cee242e687e50ead56a557a5b2b72ec6dfe
diff --git a/dev-python/jaraco-collections/jaraco-collections-3.5.1-r1.ebuild b/dev-python/jaraco-collections/jaraco-collections-3.5.1-r1.ebuild
deleted file mode 100644
index 3962c5c51519..000000000000
--- a/dev-python/jaraco-collections/jaraco-collections-3.5.1-r1.ebuild
+++ /dev/null
@@ -1,31 +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_{8..11} pypy3 )
-inherit distutils-r1
-
-MY_PN="${PN/-/.}"
-DESCRIPTION="Models and classes to supplement the stdlib collections module"
-HOMEPAGE="https://github.com/jaraco/jaraco.collections"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ppc ~ppc64 ~riscv 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_sphinx docs \
- '>=dev-python/jaraco-packaging-3.2' \
- '>=dev-python/rst-linker-1.9'
-distutils_enable_tests pytest
diff --git a/dev-python/jaraco-collections/jaraco-collections-3.5.2.ebuild b/dev-python/jaraco-collections/jaraco-collections-3.5.2.ebuild
deleted file mode 100644
index 2d4ec2a0c605..000000000000
--- a/dev-python/jaraco-collections/jaraco-collections-3.5.2.ebuild
+++ /dev/null
@@ -1,31 +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_{8..11} pypy3 )
-inherit distutils-r1
-
-MY_PN="${PN/-/.}"
-DESCRIPTION="Models and classes to supplement the stdlib collections module"
-HOMEPAGE="https://github.com/jaraco/jaraco.collections"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~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_sphinx docs \
- '>=dev-python/jaraco-packaging-3.2' \
- '>=dev-python/rst-linker-1.9'
-distutils_enable_tests pytest
diff --git a/dev-python/jaraco-collections/jaraco-collections-5.0.1.ebuild b/dev-python/jaraco-collections/jaraco-collections-5.0.1.ebuild
new file mode 100644
index 000000000000..0a799c220252
--- /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 b76c82d736e9..02d1978b533b 100644
--- a/dev-python/jaraco-collections/metadata.xml
+++ b/dev-python/jaraco-collections/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>
@@ -14,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 8642f9a01d8c..ed864f9d20e2 100644
--- a/dev-python/jaraco-context/Manifest
+++ b/dev-python/jaraco-context/Manifest
@@ -1,2 +1,2 @@
-DIST jaraco.context-4.1.1.tar.gz 7615 BLAKE2B 5734da1c55420c45520aea57398e66a3d880a555c76650bcaf3427911a7814be92f4a879219c8ccf3c808fdf00d3a77b76e68a93ef3fdad4ea50550188118317 SHA512 e01d3bd7b4eb712d00aba3fc40a78a5484141fcacf5bc772287a35ac81eca4c9744963679daadf6a170cf2ec26234243e602c89f71833fe84175ac39fb401453
-DIST jaraco.context-4.1.2.tar.gz 8315 BLAKE2B 7e8b74c087462401999eb672d922634fa7bfd4f26797a547a21e4f85b12d2e7c8ac208f55eb782a0d74dfffc09e1f5d730b34a25fb83d701e55501a574159dae SHA512 297271b3508e7e979125c6f03962aba0b932337d60b51c4e48e995d60528f4e8bf7e031a877e9c58d8adaf5e3299affe83e01d9ab266e331ce0a131c7b541ee0
+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.1.1-r2.ebuild b/dev-python/jaraco-context/jaraco-context-4.1.1-r2.ebuild
deleted file mode 100644
index 90f35d3b5b14..000000000000
--- a/dev-python/jaraco-context/jaraco-context-4.1.1-r2.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2022 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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Context managers by jaraco"
-HOMEPAGE="https://github.com/jaraco/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.1.2.ebuild b/dev-python/jaraco-context/jaraco-context-4.1.2.ebuild
deleted file mode 100644
index 786955581482..000000000000
--- a/dev-python/jaraco-context/jaraco-context-4.1.2.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2022 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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Context managers by jaraco"
-HOMEPAGE="https://github.com/jaraco/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-5.1.0.ebuild b/dev-python/jaraco-context/jaraco-context-5.1.0.ebuild
new file mode 100644
index 000000000000..ca0ae619ca68
--- /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..5ace6d25e305
--- /dev/null
+++ b/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Context managers by jaraco"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.context/
+ https://pypi.org/project/jaraco.context/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+
+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-context/metadata.xml b/dev-python/jaraco-context/metadata.xml
index b08af07ab2bc..a7d0937c67a8 100644
--- a/dev-python/jaraco-context/metadata.xml
+++ b/dev-python/jaraco-context/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">jaraco/jaraco.context</remote-id>
<remote-id type="pypi">jaraco.context</remote-id>
</upstream>
</pkgmetadata>
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 0e3dc7f841ea..000000000000
--- a/dev-python/jaraco-envs/jaraco-envs-2.4.0.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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-py[${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 e98baca0d44c..eed4c2506fb3 100644
--- a/dev-python/jaraco-functools/Manifest
+++ b/dev-python/jaraco-functools/Manifest
@@ -1,2 +1 @@
-DIST jaraco.functools-3.5.0.tar.gz 13254 BLAKE2B 9165f901106278da562c6b59c3cc29e0b1c4689c5db7955f57a76fca3c12e90d30a80a7dde3420a719b093c41b889e54170bfa6f6f18b6f078e3f4291e59736f SHA512 7257f41506f90ca2fda1bd12fed58fa4d4ff5738547f8cdae8ccad1901e0c818afb701dd8e9050fc77ca1271bc2466d5a542990138bc3db2cf9b04d12850844c
-DIST jaraco.functools-3.5.1.tar.gz 14516 BLAKE2B d58ca0e51767278988f418a5b1b736dd56da2c0ed214fa9b9b2a8b5e4ae77fcdedd431e444d1d2c3359b52a648ec85d01b8b7a2db872bb27d9bf24484347b7a0 SHA512 4496c80eae72834e5bc214f40de91a6aa603ce296b3866e0b363014c2919843f515efe9b314f18667e6b09d183a0985760e47f3340aed42dfbdba01884896df5
+DIST jaraco_functools-4.0.1.tar.gz 18169 BLAKE2B 86d5b8020f9c44b8dc373fd2f07a8c5f11cb2a7ec069541763ce92562fb230b557a4c3783e899713136c71e457985bc7e4abb0becde9ca7eaacf7798b5815269 SHA512 04e0ea4719ec8c4439e5a1dd3c3ba0241b21b54b06d53ecc44263046e994aa736b9d196490edd3fd9d7ea997c23c177b30db506b2088bd9de62c637856101982
diff --git a/dev-python/jaraco-functools/jaraco-functools-3.5.0-r2.ebuild b/dev-python/jaraco-functools/jaraco-functools-3.5.0-r2.ebuild
deleted file mode 100644
index 4819bf48342f..000000000000
--- a/dev-python/jaraco-functools/jaraco-functools-3.5.0-r2.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2022 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_{8..11} )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Additional functions used by other projects by developer jaraco"
-HOMEPAGE="https://github.com/jaraco/jaraco.functools"
-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"
-
-RDEPEND="
- >=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jaraco-classes[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- ">=dev-python/jaraco-packaging-3.2" \
- ">=dev-python/rst-linker-1.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.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-3.5.1.ebuild b/dev-python/jaraco-functools/jaraco-functools-3.5.1.ebuild
deleted file mode 100644
index b3fdabf55095..000000000000
--- a/dev-python/jaraco-functools/jaraco-functools-3.5.1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2022 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_{8..11} )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Additional functions used by other projects by developer jaraco"
-HOMEPAGE="https://github.com/jaraco/jaraco.functools"
-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"
-
-RDEPEND="
- >=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jaraco-classes[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- ">=dev-python/jaraco-packaging-3.2" \
- ">=dev-python/rst-linker-1.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.functools"
- version = "${PV}"
- description = "Functools like those found in stdlib"
- EOF
-}
-
-python_install() {
- distutils-r1_python_install
- # rename to workaround a bug in pkg_resources
- # https://bugs.gentoo.org/834522
- mv "${D}$(python_get_sitedir)"/jaraco{_,.}functools-${PV}.dist-info || die
-}
diff --git a/dev-python/jaraco-functools/jaraco-functools-4.0.1.ebuild b/dev-python/jaraco-functools/jaraco-functools-4.0.1.ebuild
new file mode 100644
index 000000000000..b81cb08e6bbc
--- /dev/null
+++ b/dev-python/jaraco-functools/jaraco-functools-4.0.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Additional functions used by other projects by developer jaraco"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.functools/
+ https://pypi.org/project/jaraco.functools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "jaraco.functools"
+ version = "${PV}"
+ description = "Functools like those found in stdlib"
+ EOF
+}
+
+python_install() {
+ distutils-r1_python_install
+ # rename to workaround a bug in pkg_resources
+ # https://bugs.gentoo.org/834522
+ mv "${D}$(python_get_sitedir)"/jaraco{_,.}functools-${PV}.dist-info || die
+}
diff --git a/dev-python/jaraco-functools/metadata.xml b/dev-python/jaraco-functools/metadata.xml
index d329dd905d76..27794568db97 100644
--- a/dev-python/jaraco-functools/metadata.xml
+++ b/dev-python/jaraco-functools/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>
@@ -14,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 e464c3ab08d9..000000000000
--- a/dev-python/jaraco-itertools/jaraco-itertools-6.2.1.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_{8..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 91dcf6028f4e..4e9c4fa2dc3e 100644
--- a/dev-python/jaraco-itertools/metadata.xml
+++ b/dev-python/jaraco-itertools/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>
@@ -14,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 400bdca9c651..ebc159c91d92 100644
--- a/dev-python/jaraco-logging/Manifest
+++ b/dev-python/jaraco-logging/Manifest
@@ -1 +1 @@
-DIST jaraco.logging-3.1.0.tar.gz 11801 BLAKE2B 858f0930b7e04ea6f1e3d13b3d7be1056ad9efa901857ded3759e450e151c8485feb1cb6eb91c8ebf7be53c649bc818759009394b20f606fd5551c82ce0d1e61 SHA512 ce9a9cbad6d6bb448615eac986d361f9c6ff477b1209e85433f12a49055a9e30125cd49bebcf915a08b8efe0732439a8e1d336e63f6454369b3e846a9a1383ba
+DIST jaraco.logging-3.3.0.tar.gz 9082 BLAKE2B 8dadd0ef5c13fda35c580a4ff4fb011d35f28461471f353efe1211240e5bac52419bb1d7a6034db3d46c1bb0a73654ded5f50b296b3c5f16e821588d445e597f SHA512 edb0ce89420a05d0f0634b3486b831e01a51e9a8e186afc3a496013c4326aeb3f67f5492900de8991e18faf171ae1785eda60b0523da7065da9fdb0a2fa10a5d
diff --git a/dev-python/jaraco-logging/jaraco-logging-3.1.0-r1.ebuild b/dev-python/jaraco-logging/jaraco-logging-3.1.0-r1.ebuild
deleted file mode 100644
index 70cb1e6c3b0e..000000000000
--- a/dev-python/jaraco-logging/jaraco-logging-3.1.0-r1.ebuild
+++ /dev/null
@@ -1,36 +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_{8..11} )
-
-inherit distutils-r1
-
-MY_PN="${PN/-/.}"
-DESCRIPTION="Additional facilities to supplement Python's stdlib logging module"
-HOMEPAGE="https://github.com/jaraco/jaraco.logging"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-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_sphinx docs \
- '>=dev-python/jaraco-packaging-3.2' \
- '>=dev-python/rst-linker-1.9'
-distutils_enable_tests pytest
-
-python_compile() {
- distutils-r1_python_compile
- rm "${BUILD_DIR}/install$(python_get_sitedir)"/jaraco/__init__.py || die
-}
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-logging/metadata.xml b/dev-python/jaraco-logging/metadata.xml
index 66d80c3d099a..6eb1613dfbb7 100644
--- a/dev-python/jaraco-logging/metadata.xml
+++ b/dev-python/jaraco-logging/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/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 0eb0de8bf5ec..000000000000
--- a/dev-python/jaraco-path/jaraco-path-3.4.0.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_{8..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 9cbc7b4c46e2..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
@@ -1,30 +1,30 @@
-# 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=( pypy3 python3_{8..11} )
-inherit distutils-r1
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
-MY_P=${P/-/.}
DESCRIPTION="Routines for handling streaming data"
-HOMEPAGE="https://github.com/jaraco/jaraco.stream"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.stream/
+ https://pypi.org/project/jaraco.stream/
+"
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}]
)
"
-distutils_enable_sphinx docs \
- ">=dev-python/jaraco-packaging-3.2" \
- ">=dev-python/rst-linker-1.9"
distutils_enable_tests pytest
diff --git a/dev-python/jaraco-stream/metadata.xml b/dev-python/jaraco-stream/metadata.xml
index c8fed0930ca3..1644ba3908b4 100644
--- a/dev-python/jaraco-stream/metadata.xml
+++ b/dev-python/jaraco-stream/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/jaraco-test/Manifest b/dev-python/jaraco-test/Manifest
index 1372386c1643..4bb20d6aab0f 100644
--- a/dev-python/jaraco-test/Manifest
+++ b/dev-python/jaraco-test/Manifest
@@ -1 +1 @@
-DIST jaraco.test-5.1.0.tar.gz 6700 BLAKE2B 69ac08ab7e1c8aeff45d25483f2bb2648ad57a5977dbff8aab844f114a15f054b782ad5b424d9baa805ab80fc7483362dc97320965ef0abe86573b1e7f40b97b SHA512 d1d93eab85068fcba94530df50da9221b7f574e58b2c4ed519c8c4dec7231aa982d588e29137418226f23e0f94bd98f47c0859cf14d7a58c1683ac8ccc24d900
+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.ebuild b/dev-python/jaraco-test/jaraco-test-5.1.0.ebuild
deleted file mode 100644
index b372c99a21be..000000000000
--- a/dev-python/jaraco-test/jaraco-test-5.1.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_{8..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}]
- dev-python/toml[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
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 485df5ca46f1..876b22720a95 100644
--- a/dev-python/jaraco-text/Manifest
+++ b/dev-python/jaraco-text/Manifest
@@ -1,2 +1 @@
-DIST jaraco.text-3.8.0.tar.gz 13078 BLAKE2B 0c081fea1bc20150347636c46b489d4c09ab0c553d44b9f68c4e2d7b3ca35574801a740d4b907f03956a6817ba0ecc07945809c1619248563bb29974b0448577 SHA512 3526f1371d8f2e7c79dff61941b1b4ead3d0f4b5144f0e22dbd098ec244b9ffddba4bbeaa0d817a80ff422fa5c7ae11d0959d3f56044d7c5f95d8c8a5de8ad2f
-DIST jaraco.text-3.8.1.tar.gz 14160 BLAKE2B 3f8af8881665a8eb9876ae3c76ccaa68f3c58f402e1761956235bda2089e6c5e72f7968ce7fd9dd7b8dc31a08228a715c8c715dc5a93e4453af1b94c2253bce6 SHA512 2dfdd2b3bfef7c0a38a633b810a63a4337ce79b0c871f08beb369bea04585ef1b9e53afa7cef0b54c172ca25eed068af92215526d2f5cee232ccf7e72c914cfa
+DIST jaraco.text-3.12.0.tar.gz 16329 BLAKE2B e1314b3121d5d75ac4a986a342c3290f5523bb45be8bf8e994ed87188712464e75a805498a7d846aea157aa8592fbca444842d1b70a21e0add49e89dfa743a7a SHA512 75068006c96dae3b8d21228f2ae21820939c68b1fb7e5db35bd0c1126a20399eb4d99c6bea15e88076599956c4b41104558cd32d860d8f4fd4e96aeeb22711c9
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..4fc6f1b0833c
--- /dev/null
+++ b/dev-python/jaraco-text/jaraco-text-3.12.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Text utilities used by other projects by developer jaraco"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.text/
+ https://pypi.org/project/jaraco.text/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=dev-python/jaraco-context-4.1.1-r1[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-3.5.0-r1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "jaraco.text"
+ version = "${PV}"
+ description = "Module for text manipulation"
+ EOF
+
+ # remove CLI tools, they have annoying deps, no entry points
+ # and since there are dashes in their names, they can't be imported
+ # anyway
+ rm jaraco/text/*-*.py || die
+}
+
+python_install() {
+ distutils-r1_python_install
+ # rename to workaround a bug in pkg_resources
+ # https://bugs.gentoo.org/834522
+ mv "${D}$(python_get_sitedir)"/jaraco{_,.}text-${PV}.dist-info || die
+}
diff --git a/dev-python/jaraco-text/jaraco-text-3.8.0.ebuild b/dev-python/jaraco-text/jaraco-text-3.8.0.ebuild
deleted file mode 100644
index 1865b43a22d0..000000000000
--- a/dev-python/jaraco-text/jaraco-text-3.8.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2022 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_{8..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 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-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)
-"
-
-distutils_enable_sphinx docs \
- ">=dev-python/jaraco-packaging-3.2" \
- ">=dev-python/rst-linker-1.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.8.1.ebuild b/dev-python/jaraco-text/jaraco-text-3.8.1.ebuild
deleted file mode 100644
index 0a28f2d6bd8d..000000000000
--- a/dev-python/jaraco-text/jaraco-text-3.8.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2022 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_{8..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 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-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)
-"
-
-distutils_enable_sphinx docs \
- ">=dev-python/jaraco-packaging-3.2" \
- ">=dev-python/rst-linker-1.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/metadata.xml b/dev-python/jaraco-text/metadata.xml
index 576c56c4a4b0..0ca273bb4c56 100644
--- a/dev-python/jaraco-text/metadata.xml
+++ b/dev-python/jaraco-text/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>
@@ -14,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/jaraco-vcs/Manifest b/dev-python/jaraco-vcs/Manifest
new file mode 100644
index 000000000000..b34c392f95e2
--- /dev/null
+++ b/dev-python/jaraco-vcs/Manifest
@@ -0,0 +1,2 @@
+DIST jaraco_vcs-2.1.0.tar.gz 16434 BLAKE2B 96ca37435b5fdd9bc5e7825ba21ff1aa70285885724bfa9bcbdc21531c15d9952336b888846d2e3200e619ee40da68741cc83205e81925f2a8d9b7a833f0fc8c SHA512 72d1a4ee5c29cdd8122a39c856ec9f910fb4d4ffc0d88f1e9c99723f5a076e1166aed842ba54286b8f14b41cb4c570cd7a9862a33fe7f15cdf637a114f4147ae
+DIST jaraco_vcs-2.2.0.tar.gz 16660 BLAKE2B 9d48f78839e0e13aa5a520a167144deadce0d607c0bb378370d930d0aa1d94fe5778206384f29a449499e73b3cafc716358417d41f3016115b347d686e557269 SHA512 a842db1dac4beca4273b4a3afaec804bfc89286ad6eba6f9f47cd2b4dab7e04d9d12136bf555108fdbfe133fe62c71935be990b79cb0801766cc565c21343339
diff --git a/dev-python/jaraco-vcs/jaraco-vcs-2.1.0.ebuild b/dev-python/jaraco-vcs/jaraco-vcs-2.1.0.ebuild
new file mode 100644
index 000000000000..b6e8b34be387
--- /dev/null
+++ b/dev-python/jaraco-vcs/jaraco-vcs-2.1.0.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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Facilities for working with VCS repositories"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.vcs/
+ https://pypi.org/project/jaraco.vcs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc"
+
+RDEPEND="
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ dev-python/jaraco-versioning[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jaraco-path[${PYTHON_USEDEP}]
+ dev-vcs/git
+ !s390? ( !sparc? (
+ dev-vcs/mercurial
+ ) )
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # assumes running inside the git repo
+ jaraco/vcs/__init__.py::jaraco.vcs
+)
diff --git a/dev-python/jaraco-vcs/jaraco-vcs-2.2.0.ebuild b/dev-python/jaraco-vcs/jaraco-vcs-2.2.0.ebuild
new file mode 100644
index 000000000000..7d8632b47a75
--- /dev/null
+++ b/dev-python/jaraco-vcs/jaraco-vcs-2.2.0.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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Facilities for working with VCS repositories"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.vcs/
+ https://pypi.org/project/jaraco.vcs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~s390 ~x86"
+
+RDEPEND="
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ dev-python/jaraco-versioning[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jaraco-path[${PYTHON_USEDEP}]
+ dev-vcs/git
+ !s390? ( !sparc? (
+ dev-vcs/mercurial
+ ) )
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # assumes running inside the git repo
+ jaraco/vcs/__init__.py::jaraco.vcs
+)
diff --git a/dev-python/jaraco-vcs/metadata.xml b/dev-python/jaraco-vcs/metadata.xml
new file mode 100644
index 000000000000..d2bc5e8640ce
--- /dev/null
+++ b/dev-python/jaraco-vcs/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">jaraco/jaraco.vcs</remote-id>
+ <remote-id type="pypi">jaraco.vcs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jaraco-versioning/Manifest b/dev-python/jaraco-versioning/Manifest
new file mode 100644
index 000000000000..d44373184e38
--- /dev/null
+++ b/dev-python/jaraco-versioning/Manifest
@@ -0,0 +1 @@
+DIST jaraco.versioning-1.1.0.tar.gz 9193 BLAKE2B 53839065296a9ae0ecf48553ee4beeffa5771257c58ae2799c15d58a9d0e0accb5b361ca0ac67bc6d69ae3c15aaece96aa479159a3df7ecd545eb75e21240d8b SHA512 aa2e93bb13fa4ca9f2df07f65bc801b3f03566df06be1b388fd1651c3610c59f691170db8de27146c602ef5df2306809efe3a84dc23c1a9e9d6806ad4ce27906
diff --git a/dev-python/jaraco-versioning/jaraco-versioning-1.1.0.ebuild b/dev-python/jaraco-versioning/jaraco-versioning-1.1.0.ebuild
new file mode 100644
index 000000000000..5fee809a8041
--- /dev/null
+++ b/dev-python/jaraco-versioning/jaraco-versioning-1.1.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="More sophisticated version manipulation (than packaging)"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.versioning/
+ https://pypi.org/project/jaraco.versioning/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/jaraco-versioning/metadata.xml b/dev-python/jaraco-versioning/metadata.xml
new file mode 100644
index 000000000000..22a407f2797a
--- /dev/null
+++ b/dev-python/jaraco-versioning/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">jaraco/jaraco.versioning</remote-id>
+ <remote-id type="pypi">jaraco.versioning</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jc/Manifest b/dev-python/jc/Manifest
index a35b105010d1..146485c5d2aa 100644
--- a/dev-python/jc/Manifest
+++ b/dev-python/jc/Manifest
@@ -1,3 +1,2 @@
-DIST jc-1.20.1.gh.tar.gz 10342360 BLAKE2B fe7eb94e53a78e6d2c1f13403ac529e4e0c0251a9e5f8270e88a94c7d086b7b1eca5cf8bd51ab6b514923ac2de95b7365b8ee29eeae5a1bb861e911f70be81d8 SHA512 d066b30089fce8bb7aff6db0b278f258a91bbef73bc49abb0b086b1cce5253a0ba07efa9e3680ee6ee333ea4a2b6afcfe4028eee58d0ec16411f7c257a54a9b5
-DIST jc-1.20.2.gh.tar.gz 10468681 BLAKE2B 185937c277989536bfed42ee27717a2dee1c4672565b7c2dbe6c3146ca6520e7952aef98d67b94c15b1cc3a2bac3eeafe7353644d8379cedc5c657c2ff9255d1 SHA512 80e851eaef0a3159d7ec8c295d8118692b45799359b131396319489ef9aa3d1567cfea4f1382ec857a82707857977b70d11166426cc1a92fb81186ee68bd017e
-DIST jc-1.20.4.gh.tar.gz 11842360 BLAKE2B 8c1358d4567510b705843efb7da9ccb02a55049c8a0dc1570661f3648a99405c692ea8493381f324c3517841757c9545527e151fbdf550e12a5fa13cf9c33bf8 SHA512 5f5bcf03c155a56132c66ada38bb6b570e6050d75e0bd90b966cfefb99351adf0249d968077a08714eb9ff8c7d7403d1888bc6687830e13fe05a68a63af661ad
+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.20.1.ebuild b/dev-python/jc/jc-1.20.1.ebuild
deleted file mode 100644
index 7b7bbfc30991..000000000000
--- a/dev-python/jc/jc-1.20.1.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_{8..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.20.2.ebuild b/dev-python/jc/jc-1.20.2.ebuild
deleted file mode 100644
index 7b7bbfc30991..000000000000
--- a/dev-python/jc/jc-1.20.2.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_{8..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.20.4.ebuild b/dev-python/jc/jc-1.20.4.ebuild
deleted file mode 100644
index 7b7bbfc30991..000000000000
--- a/dev-python/jc/jc-1.20.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_{8..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 838d795a91c3..d841468f664c 100644
--- a/dev-python/jdcal/jdcal-1.4.1-r1.ebuild
+++ b/dev-python/jdcal/jdcal-1.4.1-r1.ebuild
@@ -1,19 +1,18 @@
-# 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_{8..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 88e8d01b0c93..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.1.tar.gz 466884 BLAKE2B c2403b20447b27b1fb19c16d1131299154fcb767453116964b339bf7ef4a1ca20b6c3216c3fbd63c304dd2c0c02a67702d5228e1d847975b778597dc58b489d1 SHA512 c72dc4927fe44641ea57c61e68b3c74c3a3f70ddc2990454ba931026c288723e07263918ecbb4ecc6f79716d37e10a1b1448ae8cfc6d52465122b3d1e43bea25
+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.1.ebuild b/dev-python/jedi/jedi-0.18.1.ebuild
deleted file mode 100644
index 6ae29b6d32a2..000000000000
--- a/dev-python/jedi/jedi-0.18.1.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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}.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 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 93b70d360eac..0535bb47b0a8 100644
--- a/dev-python/jeepney/jeepney-0.8.0.ebuild
+++ b/dev-python/jeepney/jeepney-0.8.0.ebuild
@@ -1,16 +1,18 @@
-# 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=( pypy3 python3_{8..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/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://gitlab.com/takluyver/jeepney/
+ https://pypi.org/project/jeepney/
+"
LICENSE="MIT"
SLOT="0"
@@ -23,17 +25,13 @@ BDEPEND="
>=dev-python/pytest-asyncio-0.7.1[${PYTHON_USEDEP}]
dev-python/testpath[${PYTHON_USEDEP}]
sys-apps/dbus
- $(python_gen_cond_dep '
- dev-python/pytest-trio[${PYTHON_USEDEP}]
- dev-python/trio[${PYTHON_USEDEP}]
- ' 'python3*')
)
"
distutils_enable_tests pytest
distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme
+ dev-python/sphinx-rtd-theme
src_test() {
local dbus_params=(
@@ -48,8 +46,7 @@ src_test() {
python_test() {
local EPYTEST_IGNORE=()
- # keep in sync with python_gen_cond_dep!
- if [[ ${EPYTHON} != python3* ]]; then
+ if ! has_version "dev-python/pytest-trio[${PYTHON_USEDEP}]"; then
EPYTEST_IGNORE+=( jeepney/io/tests/test_trio.py )
fi
epytest
diff --git a/dev-python/jeepney/metadata.xml b/dev-python/jeepney/metadata.xml
index 5adb83641ed9..e9e622253899 100644
--- a/dev-python/jeepney/metadata.xml
+++ b/dev-python/jeepney/metadata.xml
@@ -9,6 +9,6 @@
<upstream>
<remote-id type="pypi">jeepney</remote-id>
<remote-id type="gitlab">takluyver/jeepney</remote-id>
- <bugs-to>https://gitlab.com/takluyver/jeepney/issues</bugs-to>
+ <bugs-to>https://gitlab.com/takluyver/jeepney/-/issues</bugs-to>
</upstream>
</pkgmetadata>
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 c1ec210d8b08..000000000000
--- a/dev-python/jellyfish/jellyfish-0.9.0-r1.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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 ~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..6bd39cf404da 100644
--- a/dev-python/jinja/Manifest
+++ b/dev-python/jinja/Manifest
@@ -1,2 +1,2 @@
-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
+DIST jinja2-3.1.4.tar.gz 240245 BLAKE2B cb70699cea93ddf53b7c8876b9006cc70599d49f8c64ab615759a53db6829cab7b55ac673777bc4c8dc5dfc68efada29d37f47fe7cf449044721f659fe6a654d SHA512 d07d68a2687af68c705d3b7f5a2c67aca7b9d125316b15085888b9d0d6e769981af76f6f524728b89b5501bd671d518fcb2638f9ae112e57ca2bf2a53482cd89
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 8bed8a3c2310..000000000000
--- a/dev-python/jinja/jinja-2.11.3-r1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,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 a4337e8d38c7..000000000000
--- a/dev-python/jinja/jinja-3.1.2.ebuild
+++ /dev/null
@@ -1,59 +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_{8..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/jinja/jinja-3.1.4.ebuild b/dev-python/jinja/jinja-3.1.4.ebuild
new file mode 100644
index 000000000000..a11efb7ba171
--- /dev/null
+++ b/dev-python/jinja/jinja-3.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=flit
+PYPI_PN=jinja2
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A full-featured template engine for Python"
+HOMEPAGE="
+ https://palletsprojects.com/p/jinja/
+ https://github.com/pallets/jinja/
+ https://pypi.org/project/Jinja2/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=dev-python/markupsafe-2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-issues \
+ dev-python/pallets-sphinx-themes
+distutils_enable_tests pytest
+
+# XXX: handle Babel better?
+
+src_prepare() {
+ # avoid unnecessary dep on extra sphinxcontrib modules
+ sed -i '/sphinxcontrib.log_cabinet/ d' docs/conf.py || die
+
+ distutils-r1_src_prepare
+}
+
+pkg_postinst() {
+ if ! has_version dev-python/Babel; then
+ elog "For i18n support, please emerge dev-python/Babel."
+ fi
+}
diff --git a/dev-python/jinja2-time/jinja2-time-0.2.0-r1.ebuild b/dev-python/jinja2-time/jinja2-time-0.2.0-r1.ebuild
index 56f417f76e9c..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
@@ -1,23 +1,23 @@
-# 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_{8..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 370e631c8d08..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
@@ -1,12 +1,12 @@
-# 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_{8..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 7b1cf5e48bf3..feef6572c14e 100644
--- a/dev-python/jmespath/jmespath-1.0.1.ebuild
+++ b/dev-python/jmespath/jmespath-1.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
diff --git a/dev-python/jmespath/metadata.xml b/dev-python/jmespath/metadata.xml
index f6cc8b80187f..efef3cbfdb8f 100644
--- a/dev-python/jmespath/metadata.xml
+++ b/dev-python/jmespath/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="cpe">cpe:/a:jmespath_project:jmespath</remote-id>
<remote-id type="pypi">jmespath</remote-id>
<remote-id type="github">jmespath/jmespath.py</remote-id>
</upstream>
diff --git a/dev-python/joblib/Manifest b/dev-python/joblib/Manifest
index 54208e24f11f..0ba7c6355cc4 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.4.0.tar.gz 2115863 BLAKE2B cd61f3523ee697382db601ebb460aa6f4cd35947978fb07473c5e2e5337713a05aee8339acee211be0076d84a00174c37623cd6010b492aee84337abc2e5e633 SHA512 5c7e5475347906cdc8575eac8d2052470408c4ed5267d59a88a9d3126fb72b977d20b24fb0983b070e2f3c101e7da000fc03231733fef62531f9aeffacc47baf
+DIST joblib-1.4.2.tar.gz 2116621 BLAKE2B e6c00a2308099690ddb89956b090996405d0b1c214e810b4c6ea4fe32bec8f297a324e6faa7c5f459c5ade84230d9b09e263b344069f43523208acf761d7b006 SHA512 d4c84803207ace0025701261f9e7976329e2ff9fa18a3155be1afe1f03ebfd470772e39e94b3ed01f9d1409589991c9592dc4188bca86dba158c44c70355441b
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 65f022536590..000000000000
--- a/dev-python/joblib/joblib-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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.4.0.ebuild b/dev-python/joblib/joblib-1.4.0.ebuild
new file mode 100644
index 000000000000..aa95f7bec3b5
--- /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/joblib/joblib-1.4.2.ebuild b/dev-python/joblib/joblib-1.4.2.ebuild
new file mode 100644
index 000000000000..428a8245bd46
--- /dev/null
+++ b/dev-python/joblib/joblib-1.4.2.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 7802a4731dab..000000000000
--- a/dev-python/josepy/josepy-1.13.0.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_{8..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 e447b3e60385..df3fd7230d38 100644
--- a/dev-python/jq/Manifest
+++ b/dev-python/jq/Manifest
@@ -1,4 +1 @@
-DIST jq-1.2.1.gh.tar.gz 10321 BLAKE2B 8bc2c88ae553dd53137c11d4f599e01398d21811a02b4f33f81aeeafa9009f58a56074c0bcadcc6382d86d2c7ada792d442f9c660787e131d0e85c95fb7cab32 SHA512 0b6dda04c0b3c63a5bf41f8a73dedc3cd889683f3e89c99cbf258c839f35f66d19a6da5cf4096148cd17a3fb1a58ba0e10d052ce46a1a18af845910e00ff5d86
-DIST jq-1.2.2.gh.tar.gz 10436 BLAKE2B 09514ce3a9afa8df4e61b29fc17f0d875db046ddc98332f13d702defd443e4e2ac1c612042eab82e620298d236a548625f5578d04dbeb681858bc10243c878a1 SHA512 632c5ebaf2607cc609ee4cfbdc0d68dff96e6daff916d77381f1596f3b1ca494c962cc56127376ef21fb931ab1333b666b01a599b97eab8a94416d1caec65248
-DIST jq-1.6.tar.gz 1750584 BLAKE2B c9be1314e9d027247de63492ee362e996ef85faf45a47ee421cad95ebde9188bff8d3fc7db64e717ab922e1052f3b1c1500f5589fc5b2199ab66effb000e442d SHA512 5da71f53c325257f1f546a2520fe47828b495c953270df25ea0e37741463fdda72f0ba4d5b05b25114ec30f27a559344c2b024bacabf610759f4e3e9efadb480
-DIST onig-6.9.4.tar.gz 908702 BLAKE2B e6e9939f284569408ba01b8551960bc939bbfdca425f8470499f5bb83ead7b6b09898f6f6a09d5d8c26d74d5416f6e5e9e2f00fbe7aa9eb820edb8aa4a3050cc SHA512 ed8f42f6893966c0ee3c168b4fdbcb04b2286ad69ecab43a754c1dbc8fc4656e01319991d776d7144b6a3f90d050781b321432278d83c74c9565c2743851c85b
+DIST jq.py-1.7.0.gh.tar.gz 1953673 BLAKE2B 861dcb706ef801ff3abb47a6b85fb8aad03988c717a67063d737667ce6853c89dbe10bf61dac517701b8b3e3af6b97d12a15ed03aa0d5a6e6d0d3fa2697e9284 SHA512 918e4537eacf55d0cce888b1946b13acb6d177906d704c99e0b1cc88a55a2929fbeccef7d3fa61daaf0290a97afec581d23a641bdbfc0c700744422135fbcad6
diff --git a/dev-python/jq/jq-1.2.1.ebuild b/dev-python/jq/jq-1.2.1.ebuild
deleted file mode 100644
index 7064a84f3699..000000000000
--- a/dev-python/jq/jq-1.2.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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
- https://github.com/stedolan/jq/releases/download/jq-1.6/jq-1.6.tar.gz
- https://github.com/kkos/oniguruma/releases/download/v6.9.4/onig-6.9.4.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_prepare_all() {
- sed -e 's|import requests|#\0|' \
- -e 's|urlretrieve(source_url, tarball_path)|shutil.copyfile(source_url, tarball_path)|' \
- -e "s|source_url=.*kkos/oniguruma.*|source_url=\"${DISTDIR}/onig-6.9.4.tar.gz\",|" \
- -e "s|source_url=.*stedolan/jq.*|source_url=\"${DISTDIR}/jq-1.6.tar.gz\",|" \
- -i setup.py || die
- distutils-r1_python_prepare_all
-}
-
-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.2.2.ebuild b/dev-python/jq/jq-1.2.2.ebuild
deleted file mode 100644
index 6aa58286cc01..000000000000
--- a/dev-python/jq/jq-1.2.2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-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
- https://github.com/stedolan/jq/releases/download/jq-1.6/jq-1.6.tar.gz
- https://github.com/kkos/oniguruma/releases/download/v6.9.4/onig-6.9.4.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_prepare_all() {
- sed -e 's|import requests|#\0|' \
- -e 's|urlretrieve(source_url, tarball_path)|shutil.copyfile(source_url, tarball_path)|' \
- -e "s|source_url=.*kkos/oniguruma.*|source_url=\"${DISTDIR}/onig-6.9.4.tar.gz\",|" \
- -e "s|source_url=.*stedolan/jq.*|source_url=\"${DISTDIR}/jq-1.6.tar.gz\",|" \
- -i setup.py || die
- distutils-r1_python_prepare_all
-}
-
-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 a4253bc70888..b697ae236583 100644
--- a/dev-python/js2py/Manifest
+++ b/dev-python/js2py/Manifest
@@ -1 +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 019acdee028b..000000000000
--- a/dev-python/js2py/js2py-0.71_p20210918.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 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_{8..10} )
-
-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
new file mode 100644
index 000000000000..22032fcf8e3b
--- /dev/null
+++ b/dev-python/js2py/js2py-0.74.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="Js2Py"
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="JavaScript to Python Translator & JavaScript interpreter in Python"
+HOMEPAGE="http://piter.io/projects/js2py/
+ https://github.com/PiotrDabkowski/Js2Py/
+ https://pypi.org/project/Js2Py/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
+
+RDEPEND="
+ >=dev-python/pyjsparser-2.5.1[${PYTHON_USEDEP}]
+ >=dev-python/tzlocal-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ pushd ./tests >/dev/null || die
+
+ # Tests require "node_failed.txt" file where the logs are kept
+ if [[ -f ./node_failed.txt ]] ; then
+ rm ./node_failed.txt || die
+ fi
+
+ touch ./node_failed.txt || die
+ "${EPYTHON}" ./run.py || die "tests failed with ${EPYTHON}"
+
+ popd >/dev/null || die
+}
diff --git a/dev-python/jschema_to_python/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.ebuild b/dev-python/jschema_to_python/jschema_to_python-1.2.3.ebuild
deleted file mode 100644
index 3b77008f5c90..000000000000
--- a/dev-python/jschema_to_python/jschema_to_python-1.2.3.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 7a815c37fcc4..6ce6d117b6ba 100644
--- a/dev-python/jsmin/jsmin-3.0.1.ebuild
+++ b/dev-python/jsmin/jsmin-3.0.1.ebuild
@@ -1,17 +1,19 @@
-# 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_{8..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 ~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 e2b869755c97..089392233569 100644
--- a/dev-python/json-rpc/Manifest
+++ b/dev-python/json-rpc/Manifest
@@ -1 +1 @@
-DIST json-rpc-1.13.0.tar.gz 31089 BLAKE2B f2058bf78cf1924aff7bf7882aa693cbbb5419624bf3e3508a344754265985907cb16456de611b9be23afd701bd2f664ccb05f954622e543bd9db0ab8be52101 SHA512 76cd320b29c32a79fcafbd415cea8d4ca98a349b22b29c379aa06a89a76cd2b5bcba2e0883d8cad75ee43c4a979759a6af513d3cfb30076965de08e1ee801b9e
+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 52bd15fa4550..000000000000
--- a/dev-python/json-rpc/json-rpc-1.13.0-r1.ebuild
+++ /dev/null
@@ -1,25 +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_{8..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.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 5583b94b0055..cb5767cf9cf7 100644
--- a/dev-python/json-rpc/metadata.xml
+++ b/dev-python/json-rpc/metadata.xml
@@ -5,17 +5,13 @@
<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
around their processing. It is transport agnostic in that the concepts can
be used within the same process, over sockets, over http, or in many various
message passing environments. It uses JSON (RFC 4627) as data format.
-</longdescription>
+ </longdescription>
<upstream>
<remote-id type="pypi">json-rpc</remote-id>
<remote-id type="github">pavlov99/json-rpc</remote-id>
diff --git a/dev-python/json5/Manifest b/dev-python/json5/Manifest
index b806c67b195c..f2fca4b3dfca 100644
--- a/dev-python/json5/Manifest
+++ b/dev-python/json5/Manifest
@@ -1,2 +1 @@
-DIST pyjson5-0.9.8.gh.tar.gz 110629 BLAKE2B 7a2acfbf1228e8f143a19775750e6d020376d63b2b036eac75be032b7baed1e6b93ea3ee842b0c200db6f44dc0f16f3c6c2f18cb165b24918334a48f237f2a9f SHA512 e1fb7a7457bdc68c33e2d73ddae8913aeec6f001e25a70234f7233d8d28b8eee8dd023c76e26dec0d0a2051e8e2cd731044dbe7dc15af9ec95f0ce806fabac72
-DIST pyjson5-0.9.9.gh.tar.gz 111214 BLAKE2B ccf329ea148e576655b1fb24124c813d31e117291cdfc53affa02542330b11c136cd28e74418351a30478249c8f4c109be6547d69e423c8c7b5f96f77ef5daac SHA512 cd28c64708738484376a03908ec75b30bee44a8834a1e9dbe81be98a6f46ba75600d6f958c6298998f373125589209907f5e8b63714ed6a83bb7a1d27adbccd5
+DIST json5-0.9.25.tar.gz 40332 BLAKE2B 4b24a2f3047c04ce80b0415340ce2d957d319bd45e804147710eb7c1eb0da97b083220839a6e11b852d8c9df5036e2a401060cdec93442245e220fc816d7811f SHA512 0ce3943af45e22415b30a3d43497236a1437adb67b739b97db7bb25b156bb254d0daf613f1f0ba5fafc5904708db81c8a786237ade757267f767afa88d5aa2f2
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..90c8fcac19c6
--- /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/json5/json5-0.9.8.ebuild b/dev-python/json5/json5-0.9.8.ebuild
deleted file mode 100644
index 0a10cb1d1bee..000000000000
--- a/dev-python/json5/json5-0.9.8.ebuild
+++ /dev/null
@@ -1,27 +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_{8..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"
-
-distutils_enable_tests pytest
diff --git a/dev-python/json5/json5-0.9.9.ebuild b/dev-python/json5/json5-0.9.9.ebuild
deleted file mode 100644
index 0a10cb1d1bee..000000000000
--- a/dev-python/json5/json5-0.9.9.ebuild
+++ /dev/null
@@ -1,27 +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_{8..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"
-
-distutils_enable_tests pytest
diff --git a/dev-python/jsondiff/Manifest b/dev-python/jsondiff/Manifest
index 925d9e5191c4..342d8e6c22e1 100644
--- a/dev-python/jsondiff/Manifest
+++ b/dev-python/jsondiff/Manifest
@@ -1 +1,2 @@
+DIST jsondiff-2.0.0-nose2pytest.diff 11525 BLAKE2B e1e9f6996448c5f8454a74dbe5782684d68cbb00eae1793fd010bccd80b682e6f3869082df9546603ce87bee82a99148a948db675b1da8f2815e5290eb632763 SHA512 791e4f8473459e374892067cf90099df23d981857b81cc164e2d0c35c51cbbede160de1b46474b6cb817b8811e2481172807eff31847a7847fc847948cf402f7
DIST jsondiff-2.0.0.gh.tar.gz 15405 BLAKE2B d69e5a9316e8ce32c6fd3e62162b609a471ff57bacb77f47a192b85352e77135a37c964d0ade5df4b4e37fe7d996eab13649dd4c6a3bc3fc0479294f840c82f9 SHA512 ca266040294c064b499763174613628125a9d426f37eddb8f63806d5774ce8828d514ca30ea4b42f6e2529aa34344c601ece05b6c1b42dcedd71c7b62ed0afba
diff --git a/dev-python/jsondiff/jsondiff-2.0.0-r1.ebuild b/dev-python/jsondiff/jsondiff-2.0.0-r1.ebuild
new file mode 100644
index 000000000000..ea2d7a917ad2
--- /dev/null
+++ b/dev-python/jsondiff/jsondiff-2.0.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="Diff JSON and JSON-like structures in Python"
+HOMEPAGE="
+ https://github.com/xlwings/jsondiff/
+ https://pypi.org/project/jsondiff/
+"
+SRC_URI="
+ https://github.com/xlwings/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ https://dev.gentoo.org/~andrewammerlaan/${P}-nose2pytest.diff
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+PATCHES=(
+ # https://github.com/xlwings/jsondiff/pull/51
+ "${DISTDIR}/${P}-nose2pytest.diff"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Avoid file collision with jsonpatch's jsondiff cli.
+ sed -e "/'jsondiff=jsondiff.cli/ d" -i setup.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/jsondiff/jsondiff-2.0.0.ebuild b/dev-python/jsondiff/jsondiff-2.0.0.ebuild
deleted file mode 100644
index 831c1a974609..000000000000
--- a/dev-python/jsondiff/jsondiff-2.0.0.ebuild
+++ /dev/null
@@ -1,37 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Diff JSON and JSON-like structures in Python"
-HOMEPAGE="
- https://github.com/xlwings/jsondiff/
- https://pypi.org/project/jsondiff/
-"
-SRC_URI="
- https://github.com/xlwings/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="
- test? (
- dev-python/nose-random[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests nose
-
-python_prepare_all() {
- # Avoid file collision with jsonpatch's jsondiff cli.
- sed -e "/'jsondiff=jsondiff.cli/ d" -i setup.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/jsonext/jsonext-0.4.2-r1.ebuild b/dev-python/jsonext/jsonext-0.4.2-r1.ebuild
index d4082a2629ed..2a7b50f6a05d 100644
--- a/dev-python/jsonext/jsonext-0.4.2-r1.ebuild
+++ b/dev-python/jsonext/jsonext-0.4.2-r1.ebuild
@@ -1,23 +1,22 @@
-# Copyright 2019-2022 Gentoo Authors
+# 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_{8..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 fd95b7f52f33..27f51e68b787 100644
--- a/dev-python/jsonmerge/Manifest
+++ b/dev-python/jsonmerge/Manifest
@@ -1 +1 @@
-DIST jsonmerge-1.8.0.tar.gz 26978 BLAKE2B e6aec87f6beee5eddc5d3a89afd15c45d8e8f58aafa98b6556805c1f86a4c8d65d1562230ec06181351480b1aaa881aeb5ef22bd8d39d5b7d5d109ce8b76747f SHA512 a19a37e0e56d647aec095b6a67f04573e0ffd988964a24f5722ae90ab03edf65628d03f0dc9242830cb606052a73821f0f1c790d01830bfafcfdb11698967da3
+DIST jsonmerge-1.9.2.tar.gz 34717 BLAKE2B 651e6c745c651882b54c4bd46bd658de20fd0cdd90b2e05af8396a55c68efffc2fe5d4758891151db8df79cdfb118b94a6af11c7d0648fbfcbde510283585556 SHA512 cba0c2b0f3d5ff70f7680768a036a10a1d7464da9a4693a5a836fbcb9f7dba080ec041c34b351f843a4c38fb2e45c4c845a3c5453df35e1b51e1a65b245071f8
diff --git a/dev-python/jsonmerge/jsonmerge-1.8.0-r1.ebuild b/dev-python/jsonmerge/jsonmerge-1.8.0-r1.ebuild
deleted file mode 100644
index 99a77c5d342c..000000000000
--- a/dev-python/jsonmerge/jsonmerge-1.8.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=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 4f3894a984da..000000000000
--- a/dev-python/jsonpatch/jsonpatch-1.32.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..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 54024482c4fc..3caa247709bf 100644
--- a/dev-python/jsonpickle/Manifest
+++ b/dev-python/jsonpickle/Manifest
@@ -1 +1 @@
-DIST jsonpickle-2.2.0.tar.gz 189866 BLAKE2B d8fcd0e8b71947b734c59240d9fa4f0b35b9b0ac2e2940a9baf05c160771db0eae5f011b61e3b1c0bc746a740ac2e137a392931e270fea3acf4884578133283e SHA512 b6cb35316e32f38875cbfa3784a3930f669d4ea730ead6117242070590647987383e9f933c193b8c246c40dba87ad56600a65db89c45c18a790b3c1f9232b245
+DIST jsonpickle-3.0.4.gh.tar.gz 260847 BLAKE2B ba990a59276463b66401cc9fdad2c91dfd18a172fa1cb2f0b89cbeb1a280360f6e1d5bf7cc3ec94069b1d05e4eb11d3fc52a594542f31ead220622aa01e0df99 SHA512 e6ad7ae30cc4d56323b612fcf599109828fcf76acfba266a1bed850a633603edc8829f29d8981659460a9941531d6735375a03775c9d7bd51c210edbf7414b1c
diff --git a/dev-python/jsonpickle/jsonpickle-2.2.0.ebuild b/dev-python/jsonpickle/jsonpickle-2.2.0.ebuild
deleted file mode 100644
index 7edc0a633a62..000000000000
--- a/dev-python/jsonpickle/jsonpickle-2.2.0.ebuild
+++ /dev/null
@@ -1,61 +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_{8..10} )
-
-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="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/feedparser[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/simplejson[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- dev-python/ujson[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/jaraco-packaging \
- dev-python/rst-linker
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -i -e 's:--flake8 --cov::' pytest.ini || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # unpackaged bson dependency
- tests/bson_test.py
- # broken when gmpy is installed
- # https://github.com/jsonpickle/jsonpickle/issues/328
- # https://github.com/jsonpickle/jsonpickle/issues/316
- tests/ecdsa_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.4.ebuild b/dev-python/jsonpickle/jsonpickle-3.0.4.ebuild
new file mode 100644
index 000000000000..5cef5c19d745
--- /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 91175a6b7226..000000000000
--- a/dev-python/jsonpointer/jsonpointer-2.3.ebuild
+++ /dev/null
@@ -1,24 +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_{8..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/Manifest b/dev-python/jsonref/Manifest
index 88191d85dba9..d9d771b83746 100644
--- a/dev-python/jsonref/Manifest
+++ b/dev-python/jsonref/Manifest
@@ -1 +1 @@
-DIST jsonref-0.2.tar.gz 13032 BLAKE2B 0db36904f6914c889d608ac6a368cc8a80b0f81b6bf9f77bb229042c484084c6a06f31099440a48f49f5efea248e0e4f498269bdf89e240be8e149a0f221747d SHA512 415eaefcaf2c7a02bf70749522fef0d96f1e0cc5772edd50ca016a564258df21dd3eb178b7a33ee61e606125fb802a29b0cb8855a81c6116baf6393208927b0f
+DIST jsonref-1.1.0.gh.tar.gz 20465 BLAKE2B 5dc790440133fc1c4fedcbfb9889f9647f62919e960a81fab141e92c9bfe2349a807c1f3be1ac819b6d39d1ab4134e9d9e61fbb1c34008bf1831c997abe030ab SHA512 6237d32d0547b11253d0bfe1dcf37230ce2c3f4c15ec643cfbef997ba6074ab881b20c08ce43f1d7c26993f1f06fe7d35aeb7fce98d2105bce2311d64e34ab71
diff --git a/dev-python/jsonref/jsonref-0.2.ebuild b/dev-python/jsonref/jsonref-0.2.ebuild
deleted file mode 100644
index 4afc569fb7c1..000000000000
--- a/dev-python/jsonref/jsonref-0.2.ebuild
+++ /dev/null
@@ -1,26 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="An implementation of JSON Reference for Python"
-HOMEPAGE="
- https://github.com/gazpachoking/jsonref/
- https://pypi.org/project/jsonref/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest tests.py
-}
diff --git a/dev-python/jsonref/jsonref-1.1.0.ebuild b/dev-python/jsonref/jsonref-1.1.0.ebuild
new file mode 100644
index 000000000000..6233424f0523
--- /dev/null
+++ b/dev-python/jsonref/jsonref-1.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=pdm-backend
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="An implementation of JSON Reference for Python"
+HOMEPAGE="
+ https://github.com/gazpachoking/jsonref/
+ https://pypi.org/project/jsonref/
+"
+SRC_URI="
+ https://github.com/gazpachoking/jsonref/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest tests.py
+}
diff --git a/dev-python/jsonrpclib/jsonrpclib-0.4.3.2.ebuild b/dev-python/jsonrpclib/jsonrpclib-0.4.3.2.ebuild
index 72515e12f724..80fbd733e95c 100644
--- a/dev-python/jsonrpclib/jsonrpclib-0.4.3.2.ebuild
+++ b/dev-python/jsonrpclib/jsonrpclib-0.4.3.2.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_{8..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 fa19adab5852..98f2cd35ac78 100644
--- a/dev-python/jsonrpclib/jsonrpclib-9999.ebuild
+++ b/dev-python/jsonrpclib/jsonrpclib-9999.ebuild
@@ -1,8 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{8..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/jsonrpclib/metadata.xml b/dev-python/jsonrpclib/metadata.xml
index 2576adc22d09..1697504e5439 100644
--- a/dev-python/jsonrpclib/metadata.xml
+++ b/dev-python/jsonrpclib/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>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
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
new file mode 100644
index 000000000000..50476ced8758
--- /dev/null
+++ b/dev-python/jsonschema-spec/Manifest
@@ -0,0 +1 @@
+DIST jsonschema-spec-0.2.4.gh.tar.gz 38882 BLAKE2B 0c7d1179003ef5cd8eb0a164e9e13473df233fc72dbe3d8f75e967bb238de7267a0ef154ac3a40d8ef1ee3bd34568bfd16baae33b6ecc88077fabf0bdf22c299 SHA512 87f0a227e5d12badaab30a6b512f735db968ecd25856d9005e7c7f265187a3092e12ee9c900b035c5f927f250cc9743547dab1bba5195dc7534cab256b1800c2
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-spec/metadata.xml b/dev-python/jsonschema-spec/metadata.xml
new file mode 100644
index 000000000000..1559254c1a65
--- /dev/null
+++ b/dev-python/jsonschema-spec/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-spec</remote-id>
+ <remote-id type="github">p1c2u/jsonschema-spec</remote-id>
+ </upstream>
+</pkgmetadata>
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 e23d45113d35..f439c644e693 100644
--- a/dev-python/jsonschema/Manifest
+++ b/dev-python/jsonschema/Manifest
@@ -1,5 +1,2 @@
-DIST jsonschema-4.6.2.tar.gz 275975 BLAKE2B 7c587e8b5c5eff097390e6254ae633445ffece2bd3e9c003dca730bd332c4d3c236ea10225dc81b95ef9359a9309831290b106a07e80945574dcc2937bcd4983 SHA512 e41d6bda1bd6b12174201a70b5ad5209ab7c445faa6c947408f0fbc255839f3379ffe8b539760d993b435972936e4052300dbc420d4b87051f33180bced7efb2
-DIST jsonschema-4.7.2.tar.gz 278495 BLAKE2B 55c25847e210e0bdd3bec672b4b6a4eb1a2e2ec5167c115c34a2d0b2de079a00eaff8d901386b475fc26660887090896e78e3a38c1805f5b767fa1eece740e3b SHA512 c624d7bf317ca20fd8cdd248ec7d7679fde907ab304f1a092fc7a172464f43e41904d3f88df57e1351043b978448f51166a09af3625f00a9ad4d7353033b80af
-DIST jsonschema-4.8.0.tar.gz 279424 BLAKE2B 9e8936bde13841f9edf42ffe214ce8d1aaae8b9be4c3040871f228399a31b4292e8cfbf4bf4261822ca1b88622cb69cdf0d55bd2cc51bf191f6e364e9bfb94f8 SHA512 75a7593eb8b0163ba428f507ed4fd9fa6d51567f284776af96f4d79cb507a69666cc048034bfa3a401f960295779e935562dde4e97cf3f7b3b4571bc28b9dde7
-DIST jsonschema-4.9.0.tar.gz 281100 BLAKE2B 5a1c387fc33735ffd39342f3e62600aea721a51be0995d10aa1726e8e4c3bf93694a7844410c0b245c699880d6642a6903525b3637883f5e662086b53deb0948 SHA512 73fc9958f37802c4558ea6893386810784d2b577c04423b7090fce4cd052e3af078f0b0c46b2b16f96bb49820047f1ec5d96cf6c6cb822fca1d988cf1d70209f
-DIST jsonschema-4.9.1.tar.gz 281177 BLAKE2B 210308d140b39f5a5506a3561b8eaa211fbc9a0eb0576975125fa998bf9a507221b5ab75bd4d0f5bcd6d2e3b70a1a07ef4bcfb1d0b88b29a218b074b7d5649a1 SHA512 d63b927c183077d0fe6978536416523229be0ce3a393e6cbc12fd9229bfa45ba035fd721a7722042d7cb6bcf4c720485d7ff877aae93cd62c9c48b984e802267
+DIST jsonschema-4.21.1.tar.gz 321491 BLAKE2B 5c8fad04bf62af3f9204818cc5cff88dcc492b7957439be2a2fd8c0731a986c223d1612ab79d47696fa5695224fceacea35b5e699466f14393adc2cf9d89c83f SHA512 b0744a80d64572307860c9238ff5048e062b7665d9ed97dd390bae0b168ab96497f359ddc4e95f052d8b177161e5b808ee432bd9fe182c1ea39cbad417db9278
+DIST jsonschema-4.22.0.tar.gz 325490 BLAKE2B aa0fcd9cb35ffe93d9e7ae940f9fbfc6e20656b09bdec91163ee7120b3495210522c2354dd3e74b33274f61bd9364b6b33f9e6482bac58b2ee0c6dd4bba3658e SHA512 72c9ffd1edf8820696d831062cfae2d38729935b32d12b7fa5171fefa3d38d495b588152c07224a5c9d1f4b9f97bd9b2aa7919d3d4ecdae0ba396e60e954b1c5
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/jsonschema/jsonschema-4.22.0.ebuild b/dev-python/jsonschema/jsonschema-4.22.0.ebuild
new file mode 100644
index 000000000000..a7d67335f628
--- /dev/null
+++ b/dev-python/jsonschema/jsonschema-4.22.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An implementation of JSON-Schema validation for Python"
+HOMEPAGE="
+ https://pypi.org/project/jsonschema/
+ https://github.com/python-jsonschema/jsonschema/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-specifications-2023.03.6[${PYTHON_USEDEP}]
+ >=dev-python/referencing-0.28.4[${PYTHON_USEDEP}]
+ >=dev-python/rpds-py-0.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ !!dev-python/shiboken6
+ )
+"
+
+# formatter deps
+RDEPEND+="
+ dev-python/fqdn[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/isoduration[${PYTHON_USEDEP}]
+ >=dev-python/jsonpointer-1.13[${PYTHON_USEDEP}]
+ dev-python/rfc3339-validator[${PYTHON_USEDEP}]
+ dev-python/rfc3986-validator[${PYTHON_USEDEP}]
+ dev-python/rfc3987[${PYTHON_USEDEP}]
+ dev-python/uri-template[${PYTHON_USEDEP}]
+ >=dev-python/webcolors-1.11[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires pip, does not make much sense for the users
+ jsonschema/tests/test_cli.py::TestCLIIntegration::test_license
+ # fragile warning tests
+ jsonschema/tests/test_deprecations.py
+ # wtf?
+ jsonschema/tests/test_jsonschema_test_suite.py::test_suite_bug
+)
diff --git a/dev-python/jsonschema/jsonschema-4.6.2.ebuild b/dev-python/jsonschema/jsonschema-4.6.2.ebuild
deleted file mode 100644
index 43d7b3070a9c..000000000000
--- a/dev-python/jsonschema/jsonschema-4.6.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=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 python3_{8..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}]
- ' 3.8)
-"
-BDEPEND="
- dev-python/hatch-vcs[${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
- # wtf?
- jsonschema/tests/test_deprecations.py::TestDeprecations::test_version
-)
diff --git a/dev-python/jsonschema/jsonschema-4.7.2.ebuild b/dev-python/jsonschema/jsonschema-4.7.2.ebuild
deleted file mode 100644
index fb6400dc457c..000000000000
--- a/dev-python/jsonschema/jsonschema-4.7.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=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 python3_{8..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}]
- ' 3.8)
-"
-BDEPEND="
- dev-python/hatch-vcs[${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
- # wtf?
- jsonschema/tests/test_deprecations.py::TestDeprecations::test_version
-)
diff --git a/dev-python/jsonschema/jsonschema-4.8.0.ebuild b/dev-python/jsonschema/jsonschema-4.8.0.ebuild
deleted file mode 100644
index fb6400dc457c..000000000000
--- a/dev-python/jsonschema/jsonschema-4.8.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 python3_{8..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}]
- ' 3.8)
-"
-BDEPEND="
- dev-python/hatch-vcs[${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
- # wtf?
- jsonschema/tests/test_deprecations.py::TestDeprecations::test_version
-)
diff --git a/dev-python/jsonschema/jsonschema-4.9.0.ebuild b/dev-python/jsonschema/jsonschema-4.9.0.ebuild
deleted file mode 100644
index b0cbff91ab2d..000000000000
--- a/dev-python/jsonschema/jsonschema-4.9.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 python3_{8..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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~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}]
-"
-
-# 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
- # wtf?
- jsonschema/tests/test_deprecations.py::TestDeprecations::test_version
-)
diff --git a/dev-python/jsonschema/jsonschema-4.9.1.ebuild b/dev-python/jsonschema/jsonschema-4.9.1.ebuild
deleted file mode 100644
index 14c54e9835ca..000000000000
--- a/dev-python/jsonschema/jsonschema-4.9.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 python3_{8..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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~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}]
-"
-
-# 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
- # wtf?
- jsonschema/tests/test_deprecations.py::TestDeprecations::test_version
-)
diff --git a/dev-python/jsonschema/metadata.xml b/dev-python/jsonschema/metadata.xml
index 6c4a82118957..17fa92557c60 100644
--- a/dev-python/jsonschema/metadata.xml
+++ b/dev-python/jsonschema/metadata.xml
@@ -12,7 +12,7 @@
<longdescription lang="en">
jsonschema is an implementation of JSON Schema (currently in Draft 3) for
Python (supporting 2.6+ including Python 3).
-</longdescription>
+ </longdescription>
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">jsonschema</remote-id>
diff --git a/dev-python/jsonxs/jsonxs-0.6-r1.ebuild b/dev-python/jsonxs/jsonxs-0.6-r1.ebuild
index 8a367653e9a4..39aeaffc85bd 100644
--- a/dev-python/jsonxs/jsonxs-0.6-r1.ebuild
+++ b/dev-python/jsonxs/jsonxs-0.6-r1.ebuild
@@ -1,20 +1,19 @@
-# 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_{8..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 1105e65ff90e..000000000000
--- a/dev-python/junit-xml/junit-xml-1.9.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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
new file mode 100644
index 000000000000..0b3c9998d541
--- /dev/null
+++ b/dev-python/jupyter-events/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">jupyter-events</remote-id>
+ <remote-id type="github">jupyter/jupyter_events</remote-id>
+ </upstream>
+</pkgmetadata>
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..b4c5d786072f 100644
--- a/dev-python/jupyter-lsp/Manifest
+++ b/dev-python/jupyter-lsp/Manifest
@@ -1 +1 @@
-DIST jupyter-lsp-1.5.1.tar.gz 35907 BLAKE2B bc69791253bfcf40188fe2bae24a2681ce17835f5eb1d2640edf93a69285b33d426bffdf09c66308e6f79e33c4778e539fc2a7ed056fe64758e82acc6374b4cf SHA512 585c7b3b7ea87fd9d3ad27e3e4473f3bce56ad41d3b028173e2fcad4b0d2db5b1c0c89cd8c976c3f8b4d30ae7a63018dc1e19d4527b56eafe21ec0b5e89a538b
+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 96e6e10a9283..000000000000
--- a/dev-python/jupyter-lsp/jupyter-lsp-1.5.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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.5.ebuild b/dev-python/jupyter-lsp/jupyter-lsp-2.2.5.ebuild
new file mode 100644
index 000000000000..75d26fc45fe4
--- /dev/null
+++ b/dev-python/jupyter-lsp/jupyter-lsp-2.2.5.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYPI_NO_NORMALIZE=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab"
+HOMEPAGE="
+ https://github.com/jupyter-lsp/jupyterlab-lsp
+ https://pypi.org/project/jupyter-lsp/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/entrypoints[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-1.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Do not depend on pytest-cov or flake8
+ sed -i -e '/--cov/d' -e '/--flake8/d' setup.cfg || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # hangs
+ jupyter_lsp/tests/test_auth.py
+ # Not packaged
+ jupyter_lsp/tests/test_detect.py::test_r_package_detection
+ "jupyter_lsp/tests/test_listener.py::test_listeners[bash-language-server]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[dockerfile-language-server-nodejs]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[pylsp]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[r-languageserver]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[sql-language-server]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[typescript-language-server]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[unified-language-server]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[vscode-css-languageserver-bin]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[vscode-html-languageserver-bin]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[vscode-json-languageserver-bin]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[yaml-language-server]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[bash-language-server]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[dockerfile-language-server-nodejs]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[pylsp]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[r-languageserver]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[sql-language-server]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[typescript-language-server]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[unified-language-server]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[vscode-css-languageserver-bin]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[vscode-html-languageserver-bin]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[vscode-json-languageserver-bin]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[yaml-language-server]"
+
+ # TODO
+ 'jupyter_lsp/tests/test_session.py::test_start_unknown[foo-language-server]'
+ jupyter_lsp/tests/test_session.py::test_substitute_env
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
+
+pkg_postinst() {
+ optfeature "Language server for Python" dev-python/python-lsp-server
+}
diff --git a/dev-python/jupyter-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
new file mode 100644
index 000000000000..5ee407d80a0d
--- /dev/null
+++ b/dev-python/jupyter-packaging/Manifest
@@ -0,0 +1 @@
+DIST jupyter_packaging-0.12.3.tar.gz 25350 BLAKE2B 62c9f35a3008f8252f8ae8a55b2f7156fc98347b48dbe9bf08101b9c9b0cc892886cf248e0d916455f472bd5130dacccbfb9e206818c5f096eb759bb6149f758 SHA512 a81a4b41ba7b31b9d71aa338617ed8567100a64d999e6cd0a14586350bcd37bf9782cbaabad755c0303510bd342ec141af01157cbdc1e4373289700dfc40c3c9
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
new file mode 100644
index 000000000000..425042501ef1
--- /dev/null
+++ b/dev-python/jupyter-server-mathjax/Manifest
@@ -0,0 +1 @@
+DIST jupyter_server_mathjax-0.2.6.tar.gz 2648665 BLAKE2B 079108842d1c62b58c12e5466736508a4002fcc977acdbb1ea0c35205f685f53b985038af7df1d58ab188eadf6be85c59cc3eed4012a92d4353d5b77424935ea SHA512 a87a73471c470a60fae67d3a2dc7e163c39fc2ce62b357fd6eaa030ffcf63b44106ef35377795e58c5f89a847648c7fedfcace68ad9aef8efa45e71a2fd1a79c
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 62c121a51426..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.1.tar.gz 119991 BLAKE2B c94c2af6c550a2f5ba01facfa7f93bb3d7cf4334ea374c390b1a10478eced7104c31f9eadfac7e5eb9f20cc866cc6cc1d2ecd0eaa76009cebb25557346df3a3b SHA512 abd5730eac1fc7939732f0163d7e5c208057f77a1912efdf432b14564ea7e8cf6e81228fe7233e1e972af7ea8a813ef322782ff200000e3bd3dbd0384c7175b2
+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.1.ebuild b/dev-python/jupyter-server-proxy/jupyter-server-proxy-3.2.1.ebuild
deleted file mode 100644
index 4b6f600dd84b..000000000000
--- a/dev-python/jupyter-server-proxy/jupyter-server-proxy-3.2.1.ebuild
+++ /dev/null
@@ -1,29 +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_{8..10} )
-inherit distutils-r1
-
-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"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/aiohttp[${PYTHON_USEDEP}]
- >=dev-python/jupyter_server-1.0[${PYTHON_USEDEP}]
- >=dev-python/simpervisor-0.4[${PYTHON_USEDEP}]
-"
-BDEPEND="dev-python/jupyter_packaging[${PYTHON_USEDEP}]"
-
-src_install() {
- distutils-r1_src_install
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
diff --git a/dev-python/jupyter-server-proxy/jupyter-server-proxy-3.2.2.ebuild b/dev-python/jupyter-server-proxy/jupyter-server-proxy-3.2.2.ebuild
new file mode 100644
index 000000000000..00efa2d027c5
--- /dev/null
+++ b/dev-python/jupyter-server-proxy/jupyter-server-proxy-3.2.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="Jupyter notebook server extension to proxy web services"
+HOMEPAGE="https://github.com/jupyterhub/jupyter-server-proxy"
+# The GitHub tarball includes the tests, but does not have the js stuff we need
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-1.0[${PYTHON_USEDEP}]
+ >=dev-python/simpervisor-0.4[${PYTHON_USEDEP}]
+"
+BDEPEND="dev-python/jupyter-packaging[${PYTHON_USEDEP}]"
+
+src_install() {
+ distutils-r1_src_install
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
diff --git a/dev-python/jupyter-server-proxy/jupyter-server-proxy-4.1.2.ebuild b/dev-python/jupyter-server-proxy/jupyter-server-proxy-4.1.2.ebuild
new file mode 100644
index 000000000000..bab5f5dbb961
--- /dev/null
+++ b/dev-python/jupyter-server-proxy/jupyter-server-proxy-4.1.2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="Jupyter notebook server extension to proxy web services"
+HOMEPAGE="https://github.com/jupyterhub/jupyter-server-proxy"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# Connection refused, even without network-sandbox
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-1.0[${PYTHON_USEDEP}]
+ >=dev-python/simpervisor-1.0[${PYTHON_USEDEP}]
+ >=dev-python/tornado-5.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-4.2.1[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ >=dev-python/hatch-jupyter-builder-0.8.3[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-4.0.6[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed \
+ -e "/--cov.*,/d" \
+ -e "/--no-cov.*,/d" \
+ -e "/--html.*,/d" \
+ -i pyproject.toml || die
+ distutils-r1_python_prepare_all
+}
+
+src_install() {
+ distutils-r1_src_install
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
diff --git a/dev-python/jupyter-server-terminals/Manifest b/dev-python/jupyter-server-terminals/Manifest
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..1dc07fc31ac6
--- /dev/null
+++ b/dev-python/jupyter-server/Manifest
@@ -0,0 +1 @@
+DIST jupyter_server-2.14.0.tar.gz 719491 BLAKE2B 6a742c2b4a269a23af7c54e72d551045cc17b017efe88e0cb5848aff9d9a9d0855c74ed066b316bb87d15f49984cc5787250b6191f036c8ae8bd0af7a6b53695 SHA512 57258afae5e64af6b499795795c469fd08fb2562da770ba06b78716dccee12f6662b0d6465739857aa5f3fea084eb2d8553c7205edc7b6813e4f5d61815917b3
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..29564bc55704
--- /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 21d19997c6ea..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
+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 9f582e55af80..000000000000
--- a/dev-python/jupyter_client/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jupyter_client-7.3.4.tar.gz 329871 BLAKE2B 34f4cc01ced39e30f81e0c7524ada9319f7bea6fb0f941dad85ac3f969de71b68bde22359a9d343df84432e320994a8c4c4aa9ebd390b841e4b18042ac6f0b14 SHA512 3bb1fd7c93e16c03db0c249810fe48428dc9c1fa24ae885a3d30b4ac2d2e980f48edc06c2c6065b3e8f91610bf5bc7500854986f55c18bd9f695f192aa470beb
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.3.4.ebuild b/dev-python/jupyter_client/jupyter_client-7.3.4.ebuild
deleted file mode 100644
index 4ee8e59fa00b..000000000000
--- a/dev-python/jupyter_client/jupyter_client-7.3.4.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8..10} )
-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 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}]
- >=www-servers/tornado-6.0[${PYTHON_USEDEP}]
- dev-python/traitlets[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ipykernel-6.5[${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_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 60189a0dbf09..000000000000
--- a/dev-python/jupyter_console/jupyter_console-6.4.4.ebuild
+++ /dev/null
@@ -1,35 +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_{8..10} )
-
-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 b3e116be625a..000000000000
--- a/dev-python/jupyter_core/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST jupyter_core-4.10.0.tar.gz 76535 BLAKE2B d224b39397fd1ee430a758b02f8c5f2116480f00b4f7c485ccbb71556522275f7aaedeaebebf7bbfb782e3fff4677b38d5d7d0ddb4d3a24b5741dccd2b43edcb SHA512 b11257aa6239d2cc51b63c4ae696b5e2862fd824f662875a9e2b663a84b86aec14aa21baae6e5c720155f2be37fd40925b913503e002401eee442d6d3258704d
-DIST jupyter_core-4.11.0.tar.gz 73671 BLAKE2B f7e8855428d77fb36728199f76299686ffe0db0738a537ce7a540dca0fd6605371a1fe9cc32cf890fa21d08895cc1249f3e10cb2491ee0ce94de9eaf6cad08ff SHA512 bdd328df8ba2f5792e3fca01b816ed8994e56886b3d260467c5fda63180552753d807383135b7f8a84274e8a16099eed3fa5a211948d6490a57a357bb3b55a71
-DIST jupyter_core-4.11.1.tar.gz 73661 BLAKE2B 38f93826fd86f5b4dcd5495473426e934365aea3156e6bd881041920b5604a7ae11becc3d1037785f448f085b03e5afa361b7221378425e9e758fca90ed850e4 SHA512 38348e8fc349ab7bdc83599607e6179c2d14dd3a42daf6b52cb0a6fb4feee360aed4e7c682e6349dcf560b2dec598f9a27477e0b2e982fd85e5a385b1bca5858
diff --git a/dev-python/jupyter_core/jupyter_core-4.10.0.ebuild b/dev-python/jupyter_core/jupyter_core-4.10.0.ebuild
deleted file mode 100644
index f834334f98b8..000000000000
--- a/dev-python/jupyter_core/jupyter_core-4.10.0.ebuild
+++ /dev/null
@@ -1,31 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Core common functionality of Jupyter projects"
-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 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/traitlets[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ipython-4.0.1[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinxcontrib-github-alt
-distutils_enable_tests pytest
diff --git a/dev-python/jupyter_core/jupyter_core-4.11.0.ebuild b/dev-python/jupyter_core/jupyter_core-4.11.0.ebuild
deleted file mode 100644
index 58d1fe82bb25..000000000000
--- a/dev-python/jupyter_core/jupyter_core-4.11.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Core common functionality of Jupyter projects"
-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 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/traitlets[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ipython-4.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinxcontrib-github-alt
-distutils_enable_tests pytest
diff --git a/dev-python/jupyter_core/jupyter_core-4.11.1.ebuild b/dev-python/jupyter_core/jupyter_core-4.11.1.ebuild
deleted file mode 100644
index e4eb5545ed32..000000000000
--- a/dev-python/jupyter_core/jupyter_core-4.11.1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Core common functionality of Jupyter projects"
-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 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/traitlets[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ipython-4.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinxcontrib-github-alt
-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 8ea02e9e200b..000000000000
--- a/dev-python/jupyter_kernel_test/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jupyter_kernel_test-0.4.3.tar.gz 13609 BLAKE2B a5ba16da6bb5d7e0a0e2f2796472cb272826286c63ec548cca1a6957f947598fe6686eb7917404433cc818e1a073872b2320433674077905232d03dd848c261d SHA512 68dd7f6a033ff5f1cb73ec63581fad415d0e1ecaa850abc7b97325964849751f7ffc9559ac6c6313727951008d35e741dc6055e2e0fcf3b75978849ec1fe72f6
diff --git a/dev-python/jupyter_kernel_test/jupyter_kernel_test-0.4.3.ebuild b/dev-python/jupyter_kernel_test/jupyter_kernel_test-0.4.3.ebuild
deleted file mode 100644
index 77ae4366e391..000000000000
--- a/dev-python/jupyter_kernel_test/jupyter_kernel_test-0.4.3.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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}]
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/jupyter_packaging/Manifest b/dev-python/jupyter_packaging/Manifest
deleted file mode 100644
index 5f854383d2be..000000000000
--- a/dev-python/jupyter_packaging/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jupyter_packaging-0.12.2.tar.gz 27990 BLAKE2B 0cd07fa760fe0bd4529e8430bd52863034cc4c78d8f906f55530a6825c496b8a1bf2fff76da3f4e963ee43c80fc19347edbaf20d16fbfe51584b040b0ab4d3ed SHA512 f4167c7beb3188d2e4b0fa8601fb8cdede8b20dc8c16e0bccbcf9e317e75e24ea1469a9d904bb35b2d81dec351caf49526ef35e5d91460a099a8e4ed6974e1b1
diff --git a/dev-python/jupyter_packaging/jupyter_packaging-0.12.2.ebuild b/dev-python/jupyter_packaging/jupyter_packaging-0.12.2.ebuild
deleted file mode 100644
index 68c1904798c8..000000000000
--- a/dev-python/jupyter_packaging/jupyter_packaging-0.12.2.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8..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 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 7ac7a21f298a..000000000000
--- a/dev-python/jupyter_server/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST jupyter_server-1.18.0.tar.gz 450132 BLAKE2B a378ba3bfdc629d05478c33365b2d6df893b9ce1dc3ce26c78efcbd69b42441ff730ca58a83fb87446d073f849ce5a6c725784a15953fe9bdae119e529fe30c8 SHA512 5a194a9811162774990b125020d75c134ca32ab916c046cf0345a3959868ab7b293c0659bd54c2da91ef5e8bbb9b433f9a6c16d829277d0f34e924c6332fa6c0
-DIST jupyter_server-1.18.1.tar.gz 451117 BLAKE2B ac9088f8f5c5afa6455f41b4006c0d49286006574101b42dd8e28501c97dcf10d7ee534d54b8cf26a8f34c7d2ba446485ce273ce04e22c39a22e5346d55ea4f5 SHA512 7acf101f337af903318de263dcf78cf3b45b799bb6095bc79568fde7f3f56ca508d39a1d40ffe2a4ab0bdc0173f0ee2f4a7426f41e0855c1b7f9dfd86f7e6d73
diff --git a/dev-python/jupyter_server/jupyter_server-1.18.0.ebuild b/dev-python/jupyter_server/jupyter_server-1.18.0.ebuild
deleted file mode 100644
index 248b7cd68bc2..000000000000
--- a/dev-python/jupyter_server/jupyter_server-1.18.0.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=jupyter
-PYTHON_COMPAT=( python3_{8..10} )
-
-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 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}]
- >=www-servers/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-1.18.1.ebuild b/dev-python/jupyter_server/jupyter_server-1.18.1.ebuild
deleted file mode 100644
index 248b7cd68bc2..000000000000
--- a/dev-python/jupyter_server/jupyter_server-1.18.1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=jupyter
-PYTHON_COMPAT=( python3_{8..10} )
-
-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 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}]
- >=www-servers/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_mathjax/Manifest b/dev-python/jupyter_server_mathjax/Manifest
deleted file mode 100644
index 1199b3d8af86..000000000000
--- a/dev-python/jupyter_server_mathjax/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST jupyter_server_mathjax-0.2.5.tar.gz 2634856 BLAKE2B 4fe518d3979271bc5ff64da040704862def25ec3fd184babe3f49a6bb1531db9b56c27d9edf0b5356b446e79fffe43cb32f1652f5276cd5fe4aabafd01dbbf5c SHA512 bc1f20bb0595d3e8a4483a6d0580ecaba1b1b296e63de86724b56782e42ec7ef80a5737fe16f610f38bbd0c4dd7573d498cd86d3bf97814d11d0ce6f77cfa317
-DIST jupyter_server_mathjax-0.2.6.tar.gz 2648665 BLAKE2B 079108842d1c62b58c12e5466736508a4002fcc977acdbb1ea0c35205f685f53b985038af7df1d58ab188eadf6be85c59cc3eed4012a92d4353d5b77424935ea SHA512 a87a73471c470a60fae67d3a2dc7e163c39fc2ce62b357fd6eaa030ffcf63b44106ef35377795e58c5f89a847648c7fedfcace68ad9aef8efa45e71a2fd1a79c
diff --git a/dev-python/jupyter_server_mathjax/jupyter_server_mathjax-0.2.5.ebuild b/dev-python/jupyter_server_mathjax/jupyter_server_mathjax-0.2.5.ebuild
deleted file mode 100644
index 997ccd036c10..000000000000
--- a/dev-python/jupyter_server_mathjax/jupyter_server_mathjax-0.2.5.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="MathJax resources as a Jupyter Server Extension"
-HOMEPAGE="https://jupyter.org"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- dev-python/jupyter_packaging[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-tornasync[${PYTHON_USEDEP}]
- )
-"
-RDEPEND=">=dev-python/jupyter_server-1.1[${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 '/install_npm(here)/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/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 3cf0df257510..000000000000
--- a/dev-python/jupyter_server_mathjax/jupyter_server_mathjax-0.2.6.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 088b4f440bd6..430554111965 100644
--- a/dev-python/jupyterlab-lsp/Manifest
+++ b/dev-python/jupyterlab-lsp/Manifest
@@ -1 +1,2 @@
-DIST jupyterlab-lsp-3.10.1.tar.gz 269339 BLAKE2B 18949cb5b2ae73b1beb623756d9aa316192ea0ba5074edc106e3acd8a3cc6e0803c01727ce4416a3ba0f6b2fc88def2d4c93deead33ca55c4735e8a45c48afd9 SHA512 56fccdc383ebf12572dc61f37d76c0a6aaa0021fea75ead7dbf51e9eba7e25986d9f3752f1146b6dc2cad8c565026e7354cd0c56bf32607421c6a4de0f9b5da6
+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.1.ebuild b/dev-python/jupyterlab-lsp/jupyterlab-lsp-3.10.1.ebuild
deleted file mode 100644
index 46148aa982dc..000000000000
--- a/dev-python/jupyterlab-lsp/jupyterlab-lsp-3.10.1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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..b5772d163fa1
--- /dev/null
+++ b/dev-python/jupyterlab-server/Manifest
@@ -0,0 +1 @@
+DIST jupyterlab_server-2.27.1.tar.gz 75524 BLAKE2B d25457954984d66ddcb52330d9a224d8e7bf85fdda7d20957a5949c95ea8d1dad0529a5135fc636911d9eef9f8663c0ef9bca71ec88f9de12cc4924b6f5ce3a5 SHA512 0ddaa2f765131357d1e75509db41a15ded720257fe956acb142e3cfb46c4cff280388b0507dead333d3c6f4cc5e6320e24be1e847c14eaf3e2f5eef0505e12c3
diff --git a/dev-python/jupyterlab-server/jupyterlab-server-2.27.1.ebuild b/dev-python/jupyterlab-server/jupyterlab-server-2.27.1.ebuild
new file mode 100644
index 000000000000..c8b6aabdf4a2
--- /dev/null
+++ b/dev-python/jupyterlab-server/jupyterlab-server-2.27.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=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 db3f63fcddeb..526c4d6c4b02 100644
--- a/dev-python/jupyterlab/Manifest
+++ b/dev-python/jupyterlab/Manifest
@@ -1 +1,4 @@
-DIST jupyterlab-3.4.3.tar.gz 17074198 BLAKE2B 08a0aa4ddaeb6b48a742ef78e1b8cefb95fbf89ec077a1f3687c4498b7c4dbdd50e1773194c4f3c2e21d36a2010dcbcf2be0141df9383b2d05159bcb7f99ab9c SHA512 27c8d6b6636e14ea9a500764ea97b6ef16a1580728077264b662cc23b0e34ac0fd9eebe1eb5a79a64b18a2d93acc996553a6152fa135e2688b5eae21d184da57
+DIST jupyterlab-4.1.6.tar.gz 21773628 BLAKE2B b2855ecc4fa0cc892fab9bb79c19a3cec0ea577c9c490571ad4028e9fe35bca87fc61d0035cc889bee14313475825344e1cea69f34af4a908c5d2a304250d983 SHA512 b895aac68c6df3affb47eaebc243ecf7d778228a5adec8b8a047783e341008ab4beb0fe50b92138f765e7a72acfbe906f63f41aebe1a72544fe3030105d52716
+DIST jupyterlab-4.1.7.tar.gz 21773423 BLAKE2B 6456011cd841b0c61b09ecd647443cd68abc4a48151ddeab6b5834f22fd99616470a70fc68897a8b46cb32873a49c3f950006eff80facd6e109d337be5d95569 SHA512 01c8b1a496c621d387a8b03c8705c1807f9f18d09be30aa3327a9beac1fa97b23df02f518490d984ac022f1265a55104d7db69ca69a79941c526b50946c8d20b
+DIST jupyterlab-4.1.8.tar.gz 21774267 BLAKE2B d707257b2f7c53c023fa0e2741ff1ddbb83116c1b8cc8136b550c94120737161c519c4a2e67211fff275267ab31c58e58b17ea6041e9ba00d44baa1919876f1e SHA512 376b9a9b154b70716ca8450126b9623932b44c88b1a83e42fadc4b98f5a3dd3982d77ae9fc807f483fbd84615c184dd8c170297002c9f609b81755aec21e1ff4
+DIST jupyterlab-4.2.0.tar.gz 21488098 BLAKE2B 7857d2ba970b095cf2bd47a7786e47e6aa687a189d165fb04f5685b7848cf9647011a7145cd1a2f351c8f2bc4f876217225583749158b803c4899098ec03be7d SHA512 ee3d99ecd27c44ea9f97b6fbef7e5e0571b0371e5e745d56978151332c840247e1e3464a1947d7df72274032d87c6182cd90f1952669693e3ff72e2c03776e04
diff --git a/dev-python/jupyterlab/jupyterlab-3.4.3.ebuild b/dev-python/jupyterlab/jupyterlab-3.4.3.ebuild
deleted file mode 100644
index 81758028c37a..000000000000
--- a/dev-python/jupyterlab/jupyterlab-3.4.3.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_PEP517=jupyter
-inherit distutils-r1
-
-DESCRIPTION="JupyterLab computational environment"
-HOMEPAGE="https://jupyter.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD MIT GPL-3 Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="dev-python/jupyter_packaging[${PYTHON_USEDEP}]"
-
-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/jinja-2.1[${PYTHON_USEDEP}]
- >=www-servers/tornado-6.1[${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-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.6.ebuild b/dev-python/jupyterlab/jupyterlab-4.1.6.ebuild
new file mode 100644
index 000000000000..ca57d8ddb5cc
--- /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/jupyterlab-4.1.7.ebuild b/dev-python/jupyterlab/jupyterlab-4.1.7.ebuild
new file mode 100644
index 000000000000..b655c8c83338
--- /dev/null
+++ b/dev-python/jupyterlab/jupyterlab-4.1.7.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.27.1[${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/jupyterlab-4.1.8.ebuild b/dev-python/jupyterlab/jupyterlab-4.1.8.ebuild
new file mode 100644
index 000000000000..b655c8c83338
--- /dev/null
+++ b/dev-python/jupyterlab/jupyterlab-4.1.8.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.27.1[${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/jupyterlab-4.2.0.ebuild b/dev-python/jupyterlab/jupyterlab-4.2.0.ebuild
new file mode 100644
index 000000000000..b655c8c83338
--- /dev/null
+++ b/dev-python/jupyterlab/jupyterlab-4.2.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_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi xdg
+
+DESCRIPTION="JupyterLab computational environment"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyterlab/jupyterlab/
+ https://pypi.org/project/jupyterlab/
+"
+
+LICENSE="BSD MIT GPL-3 Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/async-lru[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-6.5.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
+ dev-python/jupyter-core[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-lsp-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}]
+ <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-server-2.27.1[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
+ >=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ $(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 9743d7b38c95..000000000000
--- a/dev-python/jupyterlab_pygments/jupyterlab_pygments-0.2.2.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=jupyter
-PYTHON_COMPAT=( python3_{8..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 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 fd2008f67a4c..000000000000
--- a/dev-python/jupyterlab_server/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST jupyterlab_server-2.14.0.tar.gz 62704 BLAKE2B 93277a6880a9395622e6c0ec1da9522c5e30e7a8144c8629de89f45845964008f0a435ec84289efe56043c8ebb998ea65df1d09f3da72096f255fcafa29fab53 SHA512 21ecf749879663378d865bd06161fb3e331f3675038917e405df0cb77d4a4cec55340a35d6511676fa4d91ecaedcd1e7f8aec3a13ad3a39298d10911ab215cc6
-DIST jupyterlab_server-2.15.0.tar.gz 61443 BLAKE2B 48ead96f13caf747cc14f7d65dc6104822dcd0fe17315a2cee4111598b40f05119998f169aef90411e84fe24e8f09736c857325752cfa3f22047acb2a9e2e3c1 SHA512 27530b293ad7c171b280a4c165d7f983c85238c4cb0bc89bb2eda8493b2988f047045c842ba456df9d0bfef00b5ee28b061c537ef6293d726c3a4f3d6572727c
diff --git a/dev-python/jupyterlab_server/jupyterlab_server-2.14.0.ebuild b/dev-python/jupyterlab_server/jupyterlab_server-2.14.0.ebuild
deleted file mode 100644
index ec49d91d6512..000000000000
--- a/dev-python/jupyterlab_server/jupyterlab_server-2.14.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_PEP517=hatchling
-inherit distutils-r1
-
-DESCRIPTION="Server components for JupyterLab and JupyterLab like applications"
-HOMEPAGE="https://jupyter.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/Babel[${PYTHON_USEDEP}]
- >=dev-python/importlib_metadata-3.6[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
- dev-python/json5[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0.1[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- >=dev-python/jupyter_server-1.8[${PYTHON_USEDEP}]
- <dev-python/jupyter_server-2[${PYTHON_USEDEP}]
-"
-
-BDEPEND="test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/jupyter_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-tornasync[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${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_prepare_all() {
- # This seems to not work for us, can only find english
- rm tests/test_translation_api.py || die
-
- # Do not depend on pytest-cov
- sed -i -e '/addopts/d' pyproject.toml || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/jupyterlab_server/jupyterlab_server-2.15.0.ebuild b/dev-python/jupyterlab_server/jupyterlab_server-2.15.0.ebuild
deleted file mode 100644
index 88f6833ba9dd..000000000000
--- a/dev-python/jupyterlab_server/jupyterlab_server-2.15.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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"
-
-RDEPEND="
- dev-python/Babel[${PYTHON_USEDEP}]
- >=dev-python/importlib_metadata-3.6[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
- dev-python/json5[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0.1[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- >=dev-python/jupyter_server-1.8[${PYTHON_USEDEP}]
- <dev-python/jupyter_server-2[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/jupyter_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-tornasync[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${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_prepare_all() {
- # This seems to not work for us, can only find english
- rm tests/test_translation_api.py || die
-
- # Do not depend on pytest-cov
- sed -i -e '/addopts/d' pyproject.toml || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/jwcrypto/Manifest b/dev-python/jwcrypto/Manifest
index 4e8c6ddbec0a..397258f89f39 100644
--- a/dev-python/jwcrypto/Manifest
+++ b/dev-python/jwcrypto/Manifest
@@ -1 +1 @@
-DIST jwcrypto-1.3.1.gh.tar.gz 91903 BLAKE2B 49fb3cb9548c85d406d47074a410f6bc89cbc32f16a0244b4ac5e3fa219bc66fc1e4ed32056f5c9885608b5225c2ed3423555813938465924e60dabb8f39749b SHA512 bc43a1acdb12a4e25251a3c5f9c85286c5a4234bd098efe69b7e3bd3da9ec72e80d7239cc20b1f971e17218cce9a7febe6a92efca33da2f2e1479fe64150bb71
+DIST jwcrypto-1.5.6.gh.tar.gz 97053 BLAKE2B 1955cd4289a8f73b29b3fccb73ae25133c5760949051598e03c262be047094e6d2caf9be928f2f32ee93720f28525e42abb5b7f3ee0efade3036a80332c65d98 SHA512 8a20ee05fc6e63fd30742872650511fa0b635a9545223eb5d25d8a11cc65a4c460ce9182b2f30caee99357e8b1f3f0ac08c2c3a6612bb4e7ee5238ef61398bb4
diff --git a/dev-python/jwcrypto/jwcrypto-1.3.1.ebuild b/dev-python/jwcrypto/jwcrypto-1.3.1.ebuild
deleted file mode 100644
index 6517479a9113..000000000000
--- a/dev-python/jwcrypto/jwcrypto-1.3.1.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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 -i "/data_files/d" 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 4a74e0bb330d..15f289c04d2b 100644
--- a/dev-python/k5test/Manifest
+++ b/dev-python/k5test/Manifest
@@ -1 +1 @@
-DIST k5test-0.10.1.tar.gz 13664 BLAKE2B 4be24a8c9b154f5ec7b83b6743d0f756cb813bdfe4496c6f8ed873a2fc5a725c17b34f7b243d106d7a985aa53351f9bdc354fabba6a8c5fa3d25927513441cb4 SHA512 eaf451f0a932fdb8758f23e17ec52b2c1617074f186dddfba1d9c6844291fb2f4b003e05f4a0e02ce1bae37ee4251ea8295d2ebc8d9002c83d3179000fa4785e
+DIST k5test-0.10.4.tar.gz 13661 BLAKE2B ece8c900e595cf72bc499b795c564b77f70c656a4edba0060e6e307065b0152a8f7cb80cd00589cb3c2eb264aa01279d3c30510e5457d6f557cdd467e2cd2e7b SHA512 98d76e9df0a4afc0e6eada4909f9eb01b6fd96d53003bb0e8dcda01cd25ab3e338f917a00e985ec23b9fc8756ced6927f0578864c1c06a365e23268dd16d8401
diff --git a/dev-python/k5test/k5test-0.10.1-r1.ebuild b/dev-python/k5test/k5test-0.10.1-r1.ebuild
deleted file mode 100644
index cd681b4fed98..000000000000
--- a/dev-python/k5test/k5test-0.10.1-r1.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="Library for testing Python applications in Kerberos 5 environments"
-HOMEPAGE="https://pypi.org/project/k5test/ https://github.com/pythongssapi/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 d492752a2026..000000000000
--- a/dev-python/kafka-python/kafka-python-2.0.2.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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/snappy[${PYTHON_USEDEP}]
- dev-python/zstandard[${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/zstandard
-}
diff --git a/dev-python/kaitaistruct/Manifest b/dev-python/kaitaistruct/Manifest
index 082b5680557a..2fbcf9d70238 100644
--- a/dev-python/kaitaistruct/Manifest
+++ b/dev-python/kaitaistruct/Manifest
@@ -1,2 +1 @@
DIST kaitaistruct-0.10.tar.gz 7061 BLAKE2B 2d1f8c00415d43223b53c51ca185d79c8fdd9bbb1e512d2e3b8b800b5e7f52e90c35b869d8f82a116f15cc1f1222c41a62a01d07a7f62c567a4d7a82c0657d52 SHA512 b4db8b67fe5dd310121ecfad6db79d424e2bd7308b5ae2cc1cdbcd73538533b5bbe4047b71e2ff65d8109b213ad0a5b88a96cd593b08f910ea6ae9bf3c4cbfac
-DIST kaitaistruct-0.9.tar.gz 5497 BLAKE2B c3f4dae4269b8bf5102a120aa8792ab710607efd854d01e1239e0269fe696d38183f82a4d93838756d5283cbaa36bd137ddc8b0ea6c91bc474eb89dfba4a76e5 SHA512 4654f18d72f31745f27eed035899231e69f9539a8e8322055b0dd99ad701dbd4d484357d0bc42f5a1953abc6947a90fc5ec9da80aeb862077c175c1295549682
diff --git a/dev-python/kaitaistruct/kaitaistruct-0.10.ebuild b/dev-python/kaitaistruct/kaitaistruct-0.10.ebuild
index 0dbe4ba3e752..d2186f5cfcf4 100644
--- a/dev-python/kaitaistruct/kaitaistruct-0.10.ebuild
+++ b/dev-python/kaitaistruct/kaitaistruct-0.10.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_COMPAT=( python3_{9..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Kaitai Struct runtime for Python"
HOMEPAGE="
@@ -14,8 +14,7 @@ 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"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
diff --git a/dev-python/kaitaistruct/kaitaistruct-0.9-r1.ebuild b/dev-python/kaitaistruct/kaitaistruct-0.9-r1.ebuild
deleted file mode 100644
index 6595a568b926..000000000000
--- a/dev-python/kaitaistruct/kaitaistruct-0.9-r1.ebuild
+++ /dev/null
@@ -1,16 +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_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="Kaitai Struct runtime for Python"
-HOMEPAGE="https://kaitai.io/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv ~x86"
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 58d0a031e890..000000000000
--- a/dev-python/kaptan/kaptan-0.5.12-r2.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{7..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/kazoo/Manifest b/dev-python/kazoo/Manifest
deleted file mode 100644
index 6bef0d76241f..000000000000
--- a/dev-python/kazoo/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST kazoo-2.8.0.tar.gz 170037 BLAKE2B feded24671d6f4f5f7973b76048e5b8416e4b56aabdd9d32a8ff27283b5e8578545cee62a385f764202ffb4e58cf083bd2c182dff9bf255e69dd1de83e88db43 SHA512 ae244a70356274d6259d255e60a5dff00eb22bcf16d5b25f9d9a03178619dacb57414905b473801347b4ec1a19e5600be6c7040a5e53b67b81b440c304c95cc0
diff --git a/dev-python/kazoo/kazoo-2.8.0.ebuild b/dev-python/kazoo/kazoo-2.8.0.ebuild
deleted file mode 100644
index d39da87a6cfa..000000000000
--- a/dev-python/kazoo/kazoo-2.8.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A high-level Python library that makes it easier to use Apache Zookeeper"
-HOMEPAGE="https://kazoo.readthedocs.org/ https://github.com/python-zk/kazoo/ https://pypi.org/project/kazoo/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="doc"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/graphviz[${PYTHON_USEDEP}]
- >=dev-python/objgraph-3.4.0[${PYTHON_USEDEP}]
- sys-cluster/zookeeper-bin
- )
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-src_prepare() {
- # TODO
- sed -e 's:test_close:_&:' \
- -e 's:test_delete_operation:_&:' \
- -i kazoo/tests/test_cache.py || die
- distutils-r1_src_prepare
-}
-
-src_test() {
- local pkgver=$(best_version sys-cluster/zookeeper-bin)
- pkgver=${pkgver#sys-cluster/zookeeper-bin-}
- export ZOOKEEPER_VERSION=${pkgver%-r*}
- export ZOOKEEPER_PATH=${BROOT}/opt/zookeeper-bin
- distutils-r1_src_test
-}
-
-python_install_all() {
- local DOCS=( {CHANGES,CONTRIBUTING,README}.md )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/kazoo/metadata.xml b/dev-python/kazoo/metadata.xml
deleted file mode 100644
index b690e7e1ff0c..000000000000
--- a/dev-python/kazoo/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>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">kazoo</remote-id>
- <remote-id type="github">python-zk/kazoo</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 b6274ae5e1ff..2a7b13228389 100644
--- a/dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild
+++ b/dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild
@@ -1,16 +1,23 @@
-# 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_{8..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 7f84ecd0cf58..000000000000
--- a/dev-python/keep/keep-2.10.1-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=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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/kerberos/files/kerberos-1.3.1-python3.10.patch b/dev-python/kerberos/files/kerberos-1.3.1-python3.10.patch
new file mode 100644
index 000000000000..7e760187de56
--- /dev/null
+++ b/dev-python/kerberos/files/kerberos-1.3.1-python3.10.patch
@@ -0,0 +1,33 @@
+https://bugs.gentoo.org/867421
+https://github.com/apple/ccs-pykerberos/pull/89
+
+From 1e1666af51bb11ea5c6dd442415ce765073737c3 Mon Sep 17 00:00:00 2001
+From: stevenpackardblp <77253966+stevenpackardblp@users.noreply.github.com>
+Date: Sun, 24 Oct 2021 23:03:41 -0400
+Subject: [PATCH] Use Py_ssize_t type
+
+Python 3.10 requires that the `Py_ssize_t` type is used for string lengths instead of `int`.
+--- a/src/kerberos.c
++++ b/src/kerberos.c
+@@ -14,6 +14,7 @@
+ * limitations under the License.
+ **/
+
++#define PY_SSIZE_T_CLEAN
+ #include <Python.h>
+
+ #include "kerberosbasic.h"
+@@ -244,9 +245,9 @@ static PyObject *channelBindings(PyObject *self, PyObject *args, PyObject* keywd
+ char *initiator_address = NULL;
+ char *acceptor_address = NULL;
+ char *application_data = NULL;
+- int initiator_length = 0;
+- int acceptor_length = 0;
+- int application_length = 0;
++ Py_ssize_t initiator_length = 0;
++ Py_ssize_t acceptor_length = 0;
++ Py_ssize_t application_length = 0;
+
+ PyObject *pychan_bindings = NULL;
+ struct gss_channel_bindings_struct *input_chan_bindings;
+
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 ea6bb38ab4e6..e1bc555df8da 100644
--- a/dev-python/keyring/Manifest
+++ b/dev-python/keyring/Manifest
@@ -1,4 +1,3 @@
-DIST keyring-23.6.0.gh.tar.gz 45236 BLAKE2B 98ea183760da39512fcebd93b182b10f031853ee88d4e93add119a760851d9552d830fe599c57937d84a23df67b6a6ca9e33a5623a034da2fc8b28c0216a6aaf SHA512 dc196914389ad12f89652614ea00b2ca17cf22471f1bd41ed3cb58519b1ca9b8ad7f497707d77c31d1354c12d73b9881d4f5511c61a6dc562ec358f3009a0c70
-DIST keyring-23.7.0.gh.tar.gz 45352 BLAKE2B 8cad2f2c7443adf710220d546a080c4ca106c9939f5a91ef56cd6f034cf71fcb86515005f17adf3ffc35ab616ed722e469ae0c92040d57d4183d6a4ced6a2682 SHA512 351afb3e376350192d5b02f2cb9bdf4bc28d551e4184145bd05ba7fd0c950c7cfeae0f75ed63bfed670648e2b7d2f491b894939d37edbdb0869d4cb74a4fc97e
-DIST keyring-23.8.0.gh.tar.gz 45941 BLAKE2B db78b53e2d2964c65d850df4226954db696037fa220f003d91e94603ce12b4d3668b7b53a91b71244d8555ba9c9195309a2e8a9aafd88d12da0f1a916b469857 SHA512 daa0b88b9f7c6e94eb589c15f364ff2a0fb83cead50b4fcafa6214072681d4346c8abe7ee8ab76f0ab93b7c7bccc551f65912dbfa749256e226f1e84793676dc
-DIST keyring-23.8.2.gh.tar.gz 45987 BLAKE2B 3a8faf6487c2d4dd76e549585a236e4744e5a4d23a778515425e7e78c7161717c2d16b8f268fbc8b8c59d6fb3fb39fc789b0dd92363b6d61073047af8d99b804 SHA512 af5c764d355c548d1f1364006dbaf6ee366a7dbbda9649145dafa5d610a4691ab4488151c054359e26a467312653601ddf722bddf35deae309067355337eddec
+DIST keyring-24.3.1.tar.gz 60454 BLAKE2B cb0a9b82163febbbd737f2f25353bf96cbb7b8a87c7db00523960b3fce5595c6af65bc02b7d070b0fa5a466fc53530975de8f7a44ab9a9f783d2db34b1a67901 SHA512 53f26763175c7f1de041d8805062696ef3ef6c79792cdc75ae72621da8e729ac4cbb6e76937db2a0a5ce4bc41ab92c164d62e4627f92edab8c0d0fc02ca4980e
+DIST keyring-25.1.0.tar.gz 60191 BLAKE2B 90cf0088f7740f6bc6562173b98630f885eca4c011be513532630ecaf4ca327053e37444b88ef5110a224567a68ad14228f59cf859090761be08a17d007b18ba SHA512 991023f96c9ffa98b65ee48cb07908bfa0c2a56af13aba60f476a5c99eea9c627112a8eb777c2a8be1ae87cfc8fc79ba68c9ca08ed53002e9e240e64f937cff4
+DIST keyring-25.2.0.tar.gz 60808 BLAKE2B a9f97b80593cc1fc4716b0c97579408d4485dbd9dab415fa98e1827130cea425a03ff6188282ffb0125327feb6ed282260c15d21ce603f4d2561a94f83e6cbd0 SHA512 36ef4a78d5b9081f13ea7aabbfbe508e0ee275cbdf458fbcb36da5a360f91df79ce4c54bf0ce4000d91961d06f019d75a9ffc46328ef7d9e14e9a883508a1950
diff --git a/dev-python/keyring/keyring-23.6.0.ebuild b/dev-python/keyring/keyring-23.6.0.ebuild
deleted file mode 100644
index 27c67267d825..000000000000
--- a/dev-python/keyring/keyring-23.6.0.ebuild
+++ /dev/null
@@ -1,51 +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_{8..11} )
-
-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/jeepney-0.4.2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-3.6[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-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
-)
diff --git a/dev-python/keyring/keyring-23.7.0.ebuild b/dev-python/keyring/keyring-23.7.0.ebuild
deleted file mode 100644
index a90ebe22521a..000000000000
--- a/dev-python/keyring/keyring-23.7.0.ebuild
+++ /dev/null
@@ -1,51 +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_{8..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/jeepney-0.4.2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-3.6[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-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
-)
diff --git a/dev-python/keyring/keyring-23.8.0.ebuild b/dev-python/keyring/keyring-23.8.0.ebuild
deleted file mode 100644
index a90ebe22521a..000000000000
--- a/dev-python/keyring/keyring-23.8.0.ebuild
+++ /dev/null
@@ -1,51 +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_{8..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/jeepney-0.4.2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-3.6[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-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
-)
diff --git a/dev-python/keyring/keyring-23.8.2.ebuild b/dev-python/keyring/keyring-23.8.2.ebuild
deleted file mode 100644
index a90ebe22521a..000000000000
--- a/dev-python/keyring/keyring-23.8.2.ebuild
+++ /dev/null
@@ -1,51 +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_{8..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/jeepney-0.4.2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-3.6[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-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
-)
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.1.0.ebuild b/dev-python/keyring/keyring-25.1.0.ebuild
new file mode 100644
index 000000000000..c1d63b0017a6
--- /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/keyring/keyring-25.2.0.ebuild b/dev-python/keyring/keyring-25.2.0.ebuild
new file mode 100644
index 000000000000..4e1deec56116
--- /dev/null
+++ b/dev-python/keyring/keyring-25.2.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
new file mode 100644
index 000000000000..f452ef154b85
--- /dev/null
+++ b/dev-python/keyrings-alt/Manifest
@@ -0,0 +1,2 @@
+DIST keyrings.alt-5.0.0.tar.gz 28346 BLAKE2B 10add32203dec361637bf723ddd12c0176a6999c8ebc7cda476ad174e54f0a770ceee81ed11aa325ba39b0813a45d9be21af12351f4bb3e98cca560507167423 SHA512 ba6171ffd9f5c549694f2d7bd27595efa0cbd4deae9561a5ff61114f15337f67923f6f3b003a611aa3342c49dd9c511946d28bbad492469bb393407dec81aa1d
+DIST keyrings.alt-5.0.1.tar.gz 28876 BLAKE2B 5d4ec5e5044de52c1bd197257b79fa49909b8f0ebfc604eaf672eccaf4f8fbe8aaa8bb0606bfd06bb7790141459d61e5a3d88ed1a9f8c95084fcd561f7986b12 SHA512 7fb082794f7d024fd61f64883ed325c84ea5b97a7fbeb33e7f83ad0139782610e4e611c79227b736fa7c7716a9c09154df403b4b3832b5867ad9a5d0f69da110
diff --git a/dev-python/keyrings-alt/keyrings-alt-5.0.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/keyrings-alt/metadata.xml b/dev-python/keyrings-alt/metadata.xml
new file mode 100644
index 000000000000..e1c2fd1c8a2b
--- /dev/null
+++ b/dev-python/keyrings-alt/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">keyrings.alt</remote-id>
+ <remote-id type="github">jaraco/keyrings.alt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/keystoneauth/Manifest b/dev-python/keystoneauth/Manifest
deleted file mode 100644
index 3ce0b8fe465b..000000000000
--- a/dev-python/keystoneauth/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST keystoneauth1-4.6.0.tar.gz 267019 BLAKE2B ad1df2ce6f88ca03f1c9cde6bd84014fc7afedb3fb2375bc95461bab466f82464393e20919e4e506bce2cdbf1283ef53777c7ab3e92e2195b21d95459814f408 SHA512 fe6fbb0e47fb3608b0653362da0d19bdcb7055f9d043c776d487a2f6af76bda1cc1d8a2b87a771cafb54d0cd349695618428ed7dd93aba273d3d455b4175cbc8
-DIST keystoneauth1-5.0.0.tar.gz 267142 BLAKE2B 9c595151287c0f5eff2faa3618e97c1a540e7a2ae4bbf6b76b7ebb5b3a7d0b1443843d7ead98d1997d68ef5def7745b2eb728ff4cde7842a35d46e69b3ea15d7 SHA512 41844b669d8f355525f444b7c837aa6ad6e7efc3e7ce727b6bc6ff441d6b6b49fe8dc2d601d8135ac872484e827cec75c72b613d001f5312e077016d424dcbfa
diff --git a/dev-python/keystoneauth/keystoneauth-4.6.0.ebuild b/dev-python/keystoneauth/keystoneauth-4.6.0.ebuild
deleted file mode 100644
index 642b81d5869f..000000000000
--- a/dev-python/keystoneauth/keystoneauth-4.6.0.ebuild
+++ /dev/null
@@ -1,62 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="This package contains tools for authenticating to an OpenStack-based cloud"
-HOMEPAGE="https://github.com/openstack/keystoneauth"
-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"
-
-CDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${CDEPEND}
- >=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="
- ${CDEPEND}
- 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.0.0.ebuild b/dev-python/keystoneauth/keystoneauth-5.0.0.ebuild
deleted file mode 100644
index ced69f35280b..000000000000
--- a/dev-python/keystoneauth/keystoneauth-5.0.0.ebuild
+++ /dev/null
@@ -1,62 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="This package contains tools for authenticating to an OpenStack-based cloud"
-HOMEPAGE="https://github.com/openstack/keystoneauth"
-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"
-
-CDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${CDEPEND}
- >=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="
- ${CDEPEND}
- 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 c7f92d10cca2..9167429c4851 100644
--- a/dev-python/kgb/kgb-7.1.1.ebuild
+++ b/dev-python/kgb/kgb-7.1.1.ebuild
@@ -1,24 +1,22 @@
-# 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=( pypy3 python3_{8..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 df7e9a2f95dc..cead14b39286 100644
--- a/dev-python/kiwisolver/Manifest
+++ b/dev-python/kiwisolver/Manifest
@@ -1,2 +1 @@
-DIST kiwi-1.4.3.gh.tar.gz 91238 BLAKE2B bdd6164eb428e6769ae7de2a8e689a3944e13e81aef9a839d9f68459deb7e7c0840b0eb59e70932e5c1d835444c515c8cb66fa47f40d8fc6244de47852be57d6 SHA512 04205555da46e772f2d25a481c4d966dc7bab8a541434a7c183e1b4f41ccd6e06aec564f2a95dae649585d337c1bf818a7cf24727460ad14669a3b3d74c74274
-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.3.ebuild b/dev-python/kiwisolver/kiwisolver-1.4.3.ebuild
deleted file mode 100644
index 611d0160aa2c..000000000000
--- a/dev-python/kiwisolver/kiwisolver-1.4.3.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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/"
-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 ~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.4.ebuild b/dev-python/kiwisolver/kiwisolver-1.4.4.ebuild
deleted file mode 100644
index c41c617402ab..000000000000
--- a/dev-python/kiwisolver/kiwisolver-1.4.4.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=( python3_{8..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 ~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/klein-21.8.0.ebuild b/dev-python/klein/klein-21.8.0.ebuild
deleted file mode 100644
index 3008d5599a89..000000000000
--- a/dev-python/klein/klein-21.8.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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}]
- )
-"
-
-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 2c2b525bd74a..0e15fc06f026 100644
--- a/dev-python/kombu/Manifest
+++ b/dev-python/kombu/Manifest
@@ -1 +1,2 @@
-DIST kombu-5.2.4.tar.gz 423450 BLAKE2B d0a180a4644876594eacea51706ca74fa4a95729ba965f69694da9694c2a91641ccf05aa1aec8a64f9d8c2260477d00bc2664d0a50143562b46524c98e4159b1 SHA512 695813bee71d627649e772b45b25494784a6a81bcad92331160705e34d8b2268fa90629983ebcfd04ec23208508d422f1834cc56895532911602d58ec0090a03
+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.2.4.ebuild b/dev-python/kombu/kombu-5.2.4.ebuild
deleted file mode 100644
index ccacd248459c..000000000000
--- a/dev-python/kombu/kombu-5.2.4.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..9} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="AMQP Messaging Framework for Python"
-HOMEPAGE="https://pypi.org/project/kombu/ https://github.com/celery/kombu"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/py-amqp-5.0.9[${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.4.4[${PYTHON_USEDEP}]
- >=dev-python/case-1.5.2[${PYTHON_USEDEP}]
- dev-python/kazoo[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.3.0[${PYTHON_USEDEP}]
- dev-python/pycurl[${PYTHON_USEDEP}]
- >=dev-python/pymongo-3.3.0[${PYTHON_USEDEP}]
- dev-python/Pyro4[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
- >=dev-python/redis-py-3.3.11[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- dev-python/zstandard[${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_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 "Zookeeper backend" dev-python/kazoo
- 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.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 9a892f47fd69..3e65c0787c02 100644
--- a/dev-python/krb5/Manifest
+++ b/dev-python/krb5/Manifest
@@ -1 +1 @@
-DIST krb5-0.3.0.tar.gz 1707212 BLAKE2B 0fa7a60372876f28cdbc2865fbd898c717aaaf22837bfd123008611973a0d6907ea9e5941d5da4ef707161d6aadd883fdef1faab81d307153eb4e115defe32a6 SHA512 5074cecfcd82c8f525d77c2faba5b34d6cdc593b15124741df1adec64cdde59fec2f17a02c04f78484ab4b82f7f37f5c1a4d856a2040c8d11c7e4a1b74307b27
+DIST krb5-0.5.1.tar.gz 221059 BLAKE2B ca7bff0caa192af0493b58e5254bcc45f43aece32ae2d57950d6293506ff8261a53d5990905d4d3a974c9843f6435dd6526c3d3210b9ebe8cda76d640410f213 SHA512 474484d2ffcf94e9855b017a7f8ca29894c4e3c1f4c0d872952bb1b7c1772b319b7a358c5e44cb3be036ea707a58fc1c526f8abb2c3d1d9b8af8525bb769923f
diff --git a/dev-python/krb5/krb5-0.3.0-r1.ebuild b/dev-python/krb5/krb5-0.3.0-r1.ebuild
deleted file mode 100644
index 432e99c1de1b..000000000000
--- a/dev-python/krb5/krb5-0.3.0-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Kerberos API bindings for Python"
-HOMEPAGE="https://pypi.org/project/krb5/ https://github.com/jborean93/pykrb5"
-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
-
-src_configure() {
- # Needed for Python 3.11, can drop in next release (after 0.3.0)
- cd src/krb5 || die
- rm _*.c || die
- cythonize -f -3 *.pyx || die
-}
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 c12c316c0cb9..75498eec6a3c 100644
--- a/dev-python/lark/Manifest
+++ b/dev-python/lark/Manifest
@@ -1 +1 @@
-DIST lark-1.1.2.tar.gz 243201 BLAKE2B 0f1b51b0276ad893f29d0afa6c3e18211b0b92832c8c6f5cba6bbe9e03486b5598f55fa7c6f4d77798ed070decd902d01faa4df62039031fe21d392d29122125 SHA512 fc797c263410f461e1ef28fbbba526472b9c4d8dbb296b309e59daa5945fdcc0c2f9347b3b4bf78e189c6a3d8f1333c74a5f3d80b82ee54867181b84ba263c00
+DIST lark-1.1.9.tar.gz 255451 BLAKE2B 0bdb34a75c17800cc6819413011de879a163317c7414b260e1a4a0ccc4b40d11636fad1ae84946e0408096525b6cfeb6f725c95caed8043d3dff3e318d15be1f SHA512 4d711451f129312a28cff84239a2928fdff96df1445f77ae7a9d882d13791a58e44663ef70fd064df954094878214611ee1313ce9315c8dcfb0833b003a3774f
diff --git a/dev-python/lark/lark-1.1.2.ebuild b/dev-python/lark/lark-1.1.2.ebuild
deleted file mode 100644
index a74107bac7a7..000000000000
--- a/dev-python/lark/lark-1.1.2.ebuild
+++ /dev/null
@@ -1,44 +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_{8..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_DESELECT=()
- local EPYTEST_IGNORE=(
- # require dev-python/js2py which is a really bad quality package
- tests/test_nearley/test_nearley.py
- )
-
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # https://github.com/lark-parser/lark/issues/1146
- tests/test_trees.py::TestTrees::test_smart_decorator
- )
-
- epytest
-}
diff --git a/dev-python/lark/lark-1.1.9.ebuild b/dev-python/lark/lark-1.1.9.ebuild
new file mode 100644
index 000000000000..6cccd93b1cec
--- /dev/null
+++ b/dev-python/lark/lark-1.1.9.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module to propose a modern general-purpose parsing library for Python"
+HOMEPAGE="
+ https://github.com/lark-parser/lark/
+ https://pypi.org/project/lark/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+# dev-python/regex doesn't support pypy
+BDEPEND="
+ test? (
+ dev-python/atomicwrites[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/regex[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # require dev-python/js2py which is a really bad quality package
+ tests/test_nearley/test_nearley.py
+ )
+
+ epytest
+}
diff --git a/dev-python/lark/metadata.xml b/dev-python/lark/metadata.xml
index a619139b1f21..8513f1149157 100644
--- a/dev-python/lark/metadata.xml
+++ b/dev-python/lark/metadata.xml
@@ -5,6 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">lark</remote-id>
<remote-id type="github">lark-parser/lark</remote-id>
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 ed4e886f4063..000000000000
--- a/dev-python/latexcodec/latexcodec-2.0.1.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_{8..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 f7e16316a63a..abb574d0db45 100644
--- a/dev-python/lazy-object-proxy/Manifest
+++ b/dev-python/lazy-object-proxy/Manifest
@@ -1 +1 @@
-DIST lazy-object-proxy-1.7.1.tar.gz 41995 BLAKE2B f3945b3ddc8335be184542e23eb823effe83262a80f048e92441d60bee2ace2f0c9b09fc00a7d356e91a66676361979bc10555dc24ac65e2fdbdfa9ba0cf9e02 SHA512 cf80f2e43795cef09c0a6dde32276d54f5d66a2cf017d3e815868ec9925d989f7256bbf3e416c4445d13e0c9241733029d9a99f2556258f59c2c5267b3c35391
+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.7.1-r1.ebuild b/dev-python/lazy-object-proxy/lazy-object-proxy-1.7.1-r1.ebuild
deleted file mode 100644
index df4af16bb32a..000000000000
--- a/dev-python/lazy-object-proxy/lazy-object-proxy-1.7.1-r1.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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 a7e82330672c..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 b6c36fdb5f67..000000000000
--- a/dev-python/leather/leather-0.3.4-r1.ebuild
+++ /dev/null
@@ -1,27 +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_{8..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.3.4.ebuild b/dev-python/leather/leather-0.3.4.ebuild
deleted file mode 100644
index 1766784895a1..000000000000
--- a/dev-python/leather/leather-0.3.4.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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 cacb30a5f45e..9e7551f1078f 100644
--- a/dev-python/leechcorepyc/Manifest
+++ b/dev-python/leechcorepyc/Manifest
@@ -1,2 +1,2 @@
-DIST leechcorepyc-2.10.2.tar.gz 119984 BLAKE2B e9bba5dd548ce5ce8c3a367d1ae21b66fca796e5614fe3cc86cdc16ddd1b589261534b551992a3964542f6d61fb6fb64bc9e2e03f8775486761107a4ffbeb958 SHA512 16048f3494452ff75fa946d65dfa36a7b0dd30c132db10c01fdc1dbe0de051c69856bf7b9830d68ee17ec1e4ce5fb29ba17a14f0facb928b81e4094ac5009716
-DIST leechcorepyc-2.12.0.tar.gz 120774 BLAKE2B 7e7de1388acb73bb391ae5451c5b4f3f4b6c4891a1c420f2d662c930a37d4db702731c70861d8467b82b4e29dc1c22560215b1f8fe9ec8f7675fe69b63844ae3 SHA512 bb8c4c76ab8ec610f8c879c75dbed36006b16a165c20ac17ccd8a8978e1e0b4f5543c8aa8b054ea4cf58d38e908e8b92ba13898697c2465776add1bc964762b1
+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.10.2-respect-CC.patch b/dev-python/leechcorepyc/files/leechcorepyc-2.10.2-respect-CC.patch
deleted file mode 100644
index 62c5669ae6c1..000000000000
--- a/dev-python/leechcorepyc/files/leechcorepyc-2.10.2-respect-CC.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff --git a/leechcore/Makefile b/leechcore/Makefile
-index 4f4ff0f..bb04781 100755
---- 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
--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
-diff --git a/leechcore_device_rawtcp/Makefile b/leechcore_device_rawtcp/Makefile
-index 6ce9a8b..b3e7990 100755
---- 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 =
-diff --git a/leechcore_device_sp605tcp/Makefile b/leechcore_device_sp605tcp/Makefile
-index b3e4db4..f727c04 100755
---- 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 =
-diff --git a/leechcore_ft601_driver_linux/Makefile b/leechcore_ft601_driver_linux/Makefile
-index 7afbf33..6b62aa8 100755
---- 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.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.10.2.ebuild b/dev-python/leechcorepyc/leechcorepyc-2.10.2.ebuild
deleted file mode 100644
index 8503b6007130..000000000000
--- a/dev-python/leechcorepyc/leechcorepyc-2.10.2.ebuild
+++ /dev/null
@@ -1,35 +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_{8..10} )
-
-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
-# dont't depend on the library here. But we must be aware this module doesn't
-# use the system library.
-DEPEND="virtual/libusb:="
-RDEPEND="${DEPEND}
- ${PYTHON_DEPS}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.10.2-respect-CC.patch
-)
-
-src_configure() {
- tc-export CC
-
- distutils-r1_src_configure
-}
diff --git a/dev-python/leechcorepyc/leechcorepyc-2.12.0.ebuild b/dev-python/leechcorepyc/leechcorepyc-2.12.0.ebuild
deleted file mode 100644
index 25fcfee44ade..000000000000
--- a/dev-python/leechcorepyc/leechcorepyc-2.12.0.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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/Manifest b/dev-python/lesscpy/Manifest
index 7041fba9bb05..97a0ae499107 100644
--- a/dev-python/lesscpy/Manifest
+++ b/dev-python/lesscpy/Manifest
@@ -1 +1 @@
-DIST lesscpy-0.15.0.tar.gz 176879 BLAKE2B 942775e090d3fbc8af033163186d43650bf20967689459bedd87dba14063c199fa322a17310fde422e3d45370cc7fee3482ff2a388518c49b2b16fb40f241a69 SHA512 3e225dcd435b9fbf9b21ad7cae86612eee923946b0bafd502221a95df4df739bae8df62f33fe77a90ee8a1c12de05ba556b2d76a95b85c9d68d27ce6ae46a747
+DIST lesscpy-0.15.1.tar.gz 177240 BLAKE2B 3199c3daecb3703039d13be6a23619e2a0e590c2b8f5450cd526e3bdedb22f8f782291ba820a8e1dcd06bca6542fb91eacd9d20b7f1f05cff701038d45e8e3cb SHA512 3a88c14d1e47a28d5e427e9cd0e1c2553dd3fc937085c54975c3e2612d623673e0a2fe05d7bb60dcdeda0f352b1be0354595ba9fac38483e7ab0a21529036e65
diff --git a/dev-python/lesscpy/lesscpy-0.15.0.ebuild b/dev-python/lesscpy/lesscpy-0.15.0.ebuild
deleted file mode 100644
index 355dc111b941..000000000000
--- a/dev-python/lesscpy/lesscpy-0.15.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="A compiler written in Python for the LESS language"
-HOMEPAGE="https://pypi.org/project/lesscpy/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/ply[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]"
-
-distutils_enable_tests unittest
diff --git a/dev-python/lesscpy/lesscpy-0.15.1.ebuild b/dev-python/lesscpy/lesscpy-0.15.1.ebuild
new file mode 100644
index 000000000000..8f8d8abf760a
--- /dev/null
+++ b/dev-python/lesscpy/lesscpy-0.15.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="A compiler written in Python for the LESS language"
+HOMEPAGE="
+ https://github.com/lesscpy/lesscpy/
+ https://pypi.org/project/lesscpy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/ply[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
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 60ae1296caf4..000000000000
--- a/dev-python/libarchive-c/libarchive-c-4.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~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 34633d5034c7..000000000000
--- a/dev-python/libcloud/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST apache-libcloud-3.6.0.tar.bz2 1873596 BLAKE2B 7ca67d0a84d1af9a216882efb35ff48f4a795eacf34132b78429e0158b1093b3eec316541a52673e61edfc5bfcb326052ee874fe59b1e4a65b407bdaccf38774 SHA512 3a4b4ecf35194e70b6cb70f0619238e1c0140891c08438d4b1ef308fffc9dfb973a5c1534b6ee7864797925b7f7be77eb79a2c4d621627d8042da3927b3f2ff4
diff --git a/dev-python/libcloud/libcloud-3.6.0.ebuild b/dev-python/libcloud/libcloud-3.6.0.ebuild
deleted file mode 100644
index 07010b5ebe29..000000000000
--- a/dev-python/libcloud/libcloud-3.6.0.ebuild
+++ /dev/null
@@ -1,60 +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_{8..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/libcst/Manifest b/dev-python/libcst/Manifest
new file mode 100644
index 000000000000..12a368a8f32b
--- /dev/null
+++ b/dev-python/libcst/Manifest
@@ -0,0 +1,114 @@
+DIST aho-corasick-1.0.4.crate 171175 BLAKE2B b3d450533f0799a18fa6ceba41ce841573a3b9fe9bc66745aba9b5a1ef4d86b107aa68c049bd30df7bc86229c71264142e40da8e1d145e776017269a01aed86e SHA512 7cb8feb3289a508b1345b3cc04b59f2f730b80f561b17c7605ce23bf92780b5b3714ec84f5e3c5f4ba0c3abd47ac44fd0064a8bf4c5a7d00bd580774c6a3aee8
+DIST anes-0.1.6.crate 23857 BLAKE2B 9ef464a964709b408c7d7846b9b1e54e52d6ae8f21f22ccfe509ef7197d4694f439084dbdb01fdf88829d181965ea9d1452253789a46fdf6d0520e3413c50d61 SHA512 f9dfaaca9ca327881ec30efaf24e208daae668b1e9d6963c8b0ca9f9fd13be777c793076a87980429f0dfa4db28ef5331ce6652a76da4d5a87485b23fc2fde29
+DIST annotate-snippets-0.6.1.crate 21894 BLAKE2B 4684eb9c7aaaf7e34808338d05c523482709de2c79245df30e1d1148b79de77fc4bff88adefdb85d0675799749c9ed8bd1a14be0d75f68c2c7664ea5db13ec16 SHA512 3354bc87d4ff32f73db98546a6e434f3ecfe6d290f08df5ebaf6afec15dfbe105e6b4e91133f442246a7c2e534730550010ef18ff075f1f7d6267799962e2b23
+DIST anstyle-1.0.2.crate 13983 BLAKE2B 4274b101d1cab2b62f9bb7637dab35f4b16e8c08a080355a2ea53e2b7b353ff230aa77fb3a244e0d6ff0dcd27abe5895eb306c630aa0822d0c608f041d4abfea SHA512 09220abfc844192ca698589897845752e02666b4ecd6529af4cde9f260ef36694e6e631c7503fc0e438ac72c88c419043b78399385cb248e789e86404503935a
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST bitflags-2.4.0.crate 36954 BLAKE2B 1d6cfeb0a17dc53a6249a83c8c7ad7c102985ffcfd7f7f76506889684235e78fe489d23b5a5f9018f0bd526a38d6b1449784c62322fb01f4bb507c0af8bd545c SHA512 0c3d6667abea48811a792749702136ee3db97518b33bc4c7d35737505bf56315e0e5810deeea28b7a1b540ec0e21bd319ba0b3c5c4aef0ba8ed5499ffdfd9b0c
+DIST bumpalo-3.12.0.crate 81604 BLAKE2B 2370094f0c23a3e9b75c8e523e54637189543d9df90ae7ddc349d316054d3d1abd1319e51cf1578f1630be0673fd7f65d130469b2729aa32617372e8bc5dd5f7 SHA512 37f2228f251340e82c27f2b34da2af6eb520077b3809331547cbe4887c0b4791b1a7d75a017decccef162cd02a088d504214b7a44b484a7d93eb6a278b329ee4
+DIST cast-0.3.0.crate 11452 BLAKE2B fe6edddd0589fa436cda32342d7beaabe4003afdbdf1d7c5db7e8748adf23b1b2cdcdd286235837c735d2143f29e692c152a5d56fb0458a54961e4dea303b2cb SHA512 4a3e19bc1e9e5ecc03aaef9bcdce01624ac0e6858c065fa1c41693db0ac172b9735ce872064561347cd9e79f00a274129011f6e4ccf9e61d960c8bb684b6d396
+DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST chic-1.2.2.crate 10269 BLAKE2B 2c792e22b71347e34769e4c43d12dccb92c9c2a3e502f144e5078e71bb6192700d3e783c5c3d6046c0c7070d27f1b19c1dffddd59f4fc4a9b755353c9c0b8340 SHA512 f143424b5d0e5366328a1bea169bd99ab214214c51223974ca847b36e3225f4946a57542a673fb2fb43e0b620782de4e4c87ed4ef22e97905aede4419a8c0603
+DIST ciborium-0.2.0.crate 30130 BLAKE2B 69896bd45dc95fb38df5f6b7f0952866c8efcb65490ad64447e1a645b5558c00a56d81aafe1ff6d2477daab4050c1f69598f0a3f2a74f644e090006291b9af0d SHA512 05f906ca1eec19e903652f2cfe86de36c25f6019af0e10212720bfdb2260a90426cea3acbab6acf64cb059fd138883e5cd4e46032b9a2d7a021715243ca6ecc1
+DIST ciborium-io-0.2.0.crate 2738 BLAKE2B 6f59c4e8d9c91bec47775d96d1089fa3989d347f7138f73f73cda02842a0409d96f32ce25f371a8a7dd5b34706c457b6815aeafeac36a61e309e828f9cc2edd3 SHA512 814059cf5c32c3ca2eab6877eeb73074d38f3419c04137ba345f83c7dc0222b983166e869e0ae9f22d9c604a162555926bff92a3ff57c076d72c9cb39072db63
+DIST ciborium-ll-0.2.0.crate 10740 BLAKE2B f2ab6870bf68d238d51617e17a6a50fb7894d11d7428305fa0ef590b825fa9351dcfec02e27d5cdf716bf392d0a996ecee2a475297de02ed99c65d8fc06f2c08 SHA512 73a7507332c8d941c82e7ff8cc707168f8d231db7531fd28eaba1be341f1511cd494c61f531852e0c5e37a65153addf259ebceac70f70185ede287d93b911845
+DIST clap-4.4.0.crate 54523 BLAKE2B 0292f888fc6426d4e79fbc82fe382be091c222371d2920cfca93cce9a16b3781d7d9bdddb1be62c4593a18d1bc0be0424139ef26745cb26e2ffbe33e684e30df SHA512 359d61374fe40f00a3b3af0e2962e80829cdd34f91b05c7c2347cf58568913037acda79409e44b25f7529901def008c0da0acf5837f784acc45d14936172f2eb
+DIST clap_builder-4.4.0.crate 162489 BLAKE2B 0856a43db80c074ee98477a5a83260b56c8fbf73b00855e0120969fb643211955403045c7354878d4774d81df2e3035b9aa361172cd5286adf164565391f6d8b SHA512 2a79dda8d5dc4a0fc7d43f714d003096bacbb6a2c58f5085732f1a9b73d5f8f6346f4d9195a2e5a8d683cc206d59e54e400c9c748c0bc7abb176f6ed62bb3c33
+DIST clap_lex-0.5.1.crate 11793 BLAKE2B 8e3d2dc120401fdd0cf0bf069119c8b7eafa13e5f682c56499062fc09acc05f443caafa6fca791ea53e693a83de69e98fd0488726a4170db037c37118ce0edf1 SHA512 ea5e49e9a8536093f7de89be30add7c3d880b232b0ce393b0429fd4402db2518036998689817bdfd472b6400224fd3c42fec1b5f8538dc433c31dadeb6281e80
+DIST criterion-0.5.1.crate 110088 BLAKE2B b99018b6a6f97fe47d90a2135e3d483ee624d43088d7881bafb2c35ba385629f1a4353110bf190c04903abc4ee99ad1735bc9c5afc6c2854a1aa9221fd714617 SHA512 6a1a32437bdb95f8472bafb5b04bb5999a6ff6fee4ca5965028ec53b4867d01b529241d01809a003722ec7d5710c323274b6f3b50ca0935919a9dee693f4d3b0
+DIST criterion-plot-0.5.0.crate 22706 BLAKE2B 28a50375f2871ce6f168aafabff46f4368bf55cac379c67a2b4396403259372759dba3355786e695b566b1cddee9091a469755a04c06ee949f00aee8e9a28699 SHA512 971e96dcc64a5afa7488f1a99475f0f5639c0ef63f9eeebcada351868697cbff397e99827cc07c0a52e7d7d1a87856fe1fc48c22075776b3bc9c94af62d79f14
+DIST crossbeam-channel-0.5.5.crate 90326 BLAKE2B 0dfbb516facd1b8b7ad7259a434839a4fc279f61389edbbd4241aab771f03daea6a897f9ed039d43b65f736400b160b6c053cb01544f5636ae2260eb96f3802c SHA512 c38bfc10bb1fcfaf067679165eb31b54b4ef05bf6e8e3465f856e3fc717d4f521b2eb98bd441a738eb7fac34472b7b9a030873c3595a267f19b26908713e2218
+DIST crossbeam-deque-0.8.1.crate 20852 BLAKE2B 0e7a2616b82c5e501c0f74935adfea3ee09db5475408be83db8f1b6faab4cd5509de2e029bdf6df90435e474ef91f3fc8d482ce3a72966b2a3bec5967666bdc4 SHA512 44a4fe1d4ab7457e2b0950be787b76b15e1bb0b1c108d032381ce3fe99bf7bf76f3d1718085660083d813e2639e66fdd3635d9186e85a9eb7267063b117eaca4
+DIST crossbeam-epoch-0.9.9.crate 46185 BLAKE2B 1baff196581d02bd7adb32a7e05976dc2c2ab1a289a59d0b0050a22c010e73e6fb01a0005f837c5b7b4836896584fe83587ce39fc6918f6659c1256c5ce3a5d8 SHA512 d32003cf7bac8690c3d8a2cd9393bf06f2a5da8b6371aff68de28be379a86b5b183b67fa6cf397b1a164379e0b095f4c9e6bc7803e229b3867d2c69cdc235085
+DIST crossbeam-utils-0.8.10.crate 40672 BLAKE2B fbc65ab8a68d66f27cfc8495652ec5ff31a3b8c4de41464bf3a9f673249c2fd5ba4bff7ec8c7b838d5903328346214f91fe075bbe7a05a9b11055b7b17376ac6 SHA512 e0ac772262677e7228e4f2e06099ca788f4906f40fe5dbfb0891431c993c7e4d755d3ad93f55570ae06c1f06df14801edb3ba4f28271c4e83c80dbba2fffe24c
+DIST difference-2.0.0.crate 147616 BLAKE2B d720202ba8d73fb9b3cc6a982208e4fbe22eda4b3e296f4238a7b2d8ed0339827ca5a3d93a983396901614a9eabe36a0baf55ecc5f55075ebf7fa1e4c0699eb2 SHA512 cc9956757770ecf237d8f46abef25ce219193c877be6cf83163e87c494956cca3202951ac01bba0728e7202fcde2261009c1b4599f389cf979858f25936a5482
+DIST either-1.6.1.crate 13641 BLAKE2B e5f40c40a5edb6dcb07a10bf79183cbe42438f1f70f3932dce72f6f6e91f75f24d17d82bc447507def4dad4345ffc9dd9162dde778afb253bdb1218e91887949 SHA512 4bfe56920e30cbc8eb4f90162db618f7dca653b42db35ab6a7045d3fd9a24ceb1778b1f79613850bdb1a87ad3794fa0d73015e46c48d513f368d8c3776fc9ddf
+DIST errno-0.3.2.crate 10424 BLAKE2B 3061d5a5abee015bf41c11ef31dd0f38a738c51992e3bf9f9ec98f67a87b88341c97901211718a5f103b8cf021c875f8fc799fb217ad69fd27371326b5aa40e7 SHA512 b728704f11cfb2bffd421ad39e7bab79b11e548e336e9dd1cfb902bdfbb78a8afb102ae5684fbd6ac4b01b12603a1011a1faa21cfd0702bb25a300364b17ff84
+DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c SHA512 f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916
+DIST glob-0.3.0.crate 18724 BLAKE2B 1f1dd380e7d668a0c2cff9134279ebda958b4bccdd4a65ff01f9665b45ec4cce8ffbd47eb46e52cf516c5fd5803561e6bcb60cdee21ddfbb8601a95d45500620 SHA512 87098ffdbc518442995c422120cef71f83069c8f88a1970ecec5105b0f284ddd92bcee929f5c230d5b90ae1ead7e1214c3eea26f4a8b26715a00c1ab8b09bc46
+DIST half-1.8.2.crate 41874 BLAKE2B c3c5c01771f05b7af652abb8e5490dde7afd04de130537e67845fe7ed58904e7ad66c7286a4e7deca3641876a6d12c5b6e95883fee2809c8e685d2f79cf96610 SHA512 5eb128e41b8b7f9769a669834b2f8380b115395bf2a2a181732bf6c71234d978dbc4c527fddadaa7bd7fae9add77958b27616bfa1767fd123d3cfb887663292e
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
+DIST hermit-abi-0.3.2.crate 13783 BLAKE2B 43089507a5ca0731a9e9a54fdc8f4dd5f807244797eba5bdcc072c2c2b3761481df65b8cc65900769777d9d21f8345b502cb1915ec36747160e87f179469a661 SHA512 22901ec8976a7c96e93c9e07a2c5d3db49d7af60ce60c7ee6f61c3cbe93190d1f285e737c1c8b2236d540ab14e5d92e42828ec05f1b212332a862baf2b1b57f6
+DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
+DIST is-terminal-0.4.9.crate 8109 BLAKE2B 0fa495da123f6fe5e3ba5f643f1ee097fc4f8e8aa54d9525b6108855a6a2e58556534a5e8dbfe7b5f8e2f1932003ac63f6aa3384317de7b385cf724bee294468 SHA512 0803ea53945715333d9b5fb18feec7230a49cb1a5f7308e2ea8d06a650e376794dd372be111e85622fd21320228706dd589423510dd010cd6ea112f185c46966
+DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
+DIST itertools-0.11.0.crate 125074 BLAKE2B 8e686f176764e92e4da3697eb781e1bc30d6c57ac61d97343b4fc3a48e4febf669d5771fa8620005c620cce52c236760ee2e1bc344cf602e878bc168a2e69cab SHA512 8ece00ba0a7cf481ad4586da24385a6f0b1719b9c3f0c25b9b5b373dd1a0ca7b9687a77cd179853392890b7bf4d31e0356a4e5fd540465b4ac62bd74ef717fd8
+DIST itoa-1.0.2.crate 11112 BLAKE2B e277db8e2f506d4d20b6888b609d9726d594e1cb2c9f21df60a8cf8dcbad1808d8c1bdb0b7857ce7734b92c0f23fb1ec56f8564e779f27eea953d0ffbfcd3f84 SHA512 44a732a102d60b58e72fe76c43a1d185fa12ff08d04eeacf03234368552f84d3de87a2ea0a6e7a56b8cfa74cb6f6697005afcee26f45afe0c2fc7dce5da3b593
+DIST js-sys-0.3.58.crate 78794 BLAKE2B d664fda1e19a7ebb621596cd4773e7ebe86b3749ec8e0e45477d170aa472a80a75bd0ca7f6ca47c9aace5e3962451039b1bf44615ac77ee4db21f46d673943e5 SHA512 74656493c36d9110aae99f58cf1f72a1c89bd971c574ceef8194f68387bcefaa5e93aee736b41a1de1c192113257bd544948dd79a227b5451d13ba2319b58a15
+DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
+DIST libc-0.2.149.crate 715592 BLAKE2B 21dd5d4f9351f3c75790077c7b025046db665f2d48d7a72cda7667bc60febf79d82708cf7d39a323a594397cd590bd3d2a2f85349b4473b90ea4da918382ed0a SHA512 0def64d400d473d6eed30e985522d36801ee6472b15f90e74dc4592e0a8ffbaf30b731be280de52b30255cf60aeca8efe817b67049227dc7000c807e007d7289
+DIST libcst-1.3.1.tar.gz 765034 BLAKE2B 0a7a4b26402d0f7cae851eb2d5a45b845ce42878a30cd9608eec85d637e43874f4d2ba591486684da1bca4711b08046e518892a5a1864a91af9fc17d5108eb53 SHA512 c5ac467bab0ff2808db4510620444cb7705d1af88f0e3f41c43c9ab493206d58561ca2ffb9ee98f14286ee182b4271103d9ca3c3935fef5a8f8dcf60dfae5b50
+DIST linux-raw-sys-0.4.10.crate 1407767 BLAKE2B 8bc633d99bc1ee1a6fdfa19501fd034a4475fa9ebe18a206e4254309d91aee7a91fc70faf9775efa5157a1b2fb7e5f827bde40a770b066643356113f2cf38b5d SHA512 107f61add087bff55869798d5c71bc6ac9ecb27a603d8f9071b856189de8b7b0a7f9243fa1433700f52a0c3020eff5604dbf6e0653109d0dd277b98ab45fae21
+DIST lock_api-0.4.7.crate 25371 BLAKE2B 9ed08433ffa70af60193dcf307287991a3154f0ef16b485f32a6c83e64962661a6e08ef83a6b217d6cbf5bd964c0638d8ed86b290087677c1fb3218321c4bbf8 SHA512 b1a5227fd131edaa70e017f7ddb43af8b4efa58488007b898ca1dfc818a3a441b732b7adbf1270e72a68ee5d2a99a5d48f33b2bca8e2cf78694953d20d27636d
+DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
+DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
+DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
+DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST num-traits-0.2.15.crate 49262 BLAKE2B 942ab170b2acce1cb40e6847f766bf810a79edd293d34f3a27864f464c16fe2b99fb13171ba429cc6d584248de879434beaadf1b231a4001b0e8389ed6c1be04 SHA512 5228498af0f15daeac3c9210f3e6e71cfaaeb30beea81dd37f8eb06b9592c8bf3226a47597cd8592ad4c513964a9a40f1ab2c33102ef3dfe3800d22c8d4528e8
+DIST num_cpus-1.13.1.crate 14752 BLAKE2B 27490aeee349d944c29e50b44e9a84371030459353a9316ffaa0245ce499df4424e39c25a81be59cd0f9a19c3214c78bdc7a84b632059282be476d8f918c44d6 SHA512 91ffe0ec792228621d6c2d5cc544ef4744203d19fc9c86e0aad2610038c43aca0448b6c27d82979417a0f6c939ea73523303a44c28df0d1c1b8d09814d5306d9
+DIST once_cell-1.16.0.crate 32120 BLAKE2B 59bfc8a44f1fec72442e3d34bf4be3a5af073f854f07b3618b2857c759dca4a0fa6ba358514ae28c25d745b01bb7b390ffe9ed6e296d163fd3dd67e49092b87a SHA512 bc199570ee43bde9245a2c4637ae738e370ce9988635c8342349ceb6fb158f376247b69f9ec4ea0e6d76b934decdc77a524299ebde96c0a2c2d29d9501b9a568
+DIST oorandom-11.1.3.crate 10068 BLAKE2B 443ced49f63015823866257a36a88e566f75adaa79511c1c73f1190ec8855ca590d2b6ece07c2ad5e9e47a89f7891af6e9e43b7d74d9ac57cb3551e60b50aca1 SHA512 51ae60ef51da56d7673f36a6c5b99b743580c5f5be54fdcb54b69e5e2f6bbba3267f96b74e7cd6dee6962dfa6696fd9ed073f22726a2861b8f2601946a8efab9
+DIST parking_lot-0.11.2.crate 39869 BLAKE2B 67c555e87b68f5763a7790563fd8d542e126bcb77f91267f3b76c51fd73060a2c32dcb91f9d0db7ea772e555d91576c8d7ff48053a9c35fbd3b749d2459a660c SHA512 526b176363dffa59501c18324bb723a3846ef5b0ff9bf1d890e40ad10e7023284f7c8012eda87520eaa94515ee828d9ef52692a9ed590a55e176383d6d472f9e
+DIST parking_lot_core-0.8.5.crate 32466 BLAKE2B 44d9cb65444ea93fded7e216e3bdbe2256ba1611f5cb6f80d67a01e71d428b81e6c7fc73cb928e2125f34bac0abf4d1da39f622e813dff89b01fed7632308b7e SHA512 c4315df551748d1ae77655e4d9f8c90f911498856e5358009e9e02e410bb8085f006f369188b0753a298371ebd74a5c383d848b65e31b55f3462381308c83a00
+DIST paste-1.0.9.crate 17752 BLAKE2B 5480193f6e99b13a887413c5b3522a0e9c670ba9685a86bee1c0b0353e1e2b9505de914b30db18106346b65d0c1e3ca0b7a3d88561a174e9d5a4cb1145f81997 SHA512 7e35cd5ac36b2414b67aa0cbbd6ba42dfd6f0a652f258d0a76134a3f185f49f0fb9a75e40cb03c262adc834ac53561b08eef3f487e62215726d662ac181f8a59
+DIST peg-0.8.1.crate 17093 BLAKE2B 9cef0848d005fac3cd767dff16c1226bac39b1fbf9ab4730a03226249c672fc7d75c964eee0a6c109e631a43a1d9a161cb1093d2e98c29e03631af47c133b681 SHA512 e2b88ee2f55e1761b46191bd79a945261bbc7ce327a98cbd47394e5d60608a47cc845cdb0d834149e43d694ff542fb9eadbbc2b628facfe492f89a6bd1786d38
+DIST peg-macros-0.8.1.crate 27881 BLAKE2B 70705aa86c901bd54cfc8e1bc37d5cfcc4e932e2953e4b2f70be862df938d5e0b57258d0ff7812f217ae19b9dbb3f2a40161a2392d4877b040892d8c61e22593 SHA512 84f7fb240ea3c543df4d28f3bbcd80fa6d68133af3557c214eca2298a8e988dbbea84fda85fc87d1f1149dcf4cf6e8b83e23c3a75525409aa0d02758fcf2cfc1
+DIST peg-runtime-0.8.1.crate 4019 BLAKE2B 48293433e655ee0a243361f1af0fd35160a32a41cb40d5acbbffafec0d9adac9c7b01668288f4108d896c1509abccedac5ba9c08b2ab38482efafee2394c66bc SHA512 360677e388c0d98053bf60d7ae003bafae38e892d4f30e5f31f6fe26f13e236aa1e0dfc7c4d741604b4df601a1cbee376b5a32078ec6b0abe0b2062ab0d136cc
+DIST plotters-0.3.1.crate 8595577 BLAKE2B 7c500c43c2b2875d9dc17e4eab57cbd8a470c6064deadf4e78c429abe2f1e97511f64bc67782b4e03e7cc47c8ac54aadfa5f7cc8c27d3b4453d2ee8252896c99 SHA512 c7bcdf9da56c2d1c03053f61256d44d2384fac1a9a7e0db058090c13b359bce76a2a96bbcbfde04fdcde0a9dd3db8a1a22bc57508b0b6e4a374c8b35ec6c9707
+DIST plotters-backend-0.3.2.crate 13524 BLAKE2B cfd42df0fcea4e5ee944a6b8c48e3b7fcecefd6d97f07e1c333067193c211da9eba29fb56e9fc8b861cfa2d1baa3c042fddb494bb66b9109656b26bde7901f7d SHA512 116bc6866094a2ec40a9ab9363378566ff37eeb4a4e3805562dd3e95f1d5e8664b54d3dc858a2c9974b125e308e46b77c294de2a655f836d342712c32f0242a3
+DIST plotters-svg-0.3.1.crate 7596 BLAKE2B ac8dffc5dea833c0506c472567056be0804e5519828b68f7b3bec9ee63dd59f9aa828c10732a50e004214512df06c7eaf164eb9613cda75b2753270fa358c0d6 SHA512 4d3cd02534440dc26f5eaa3b4966081901626c61d9fabe0092fed87c48929cb9be070d9c34486fc7c7bef308337ff4890d30f9581a613549e507db60dd9d8876
+DIST proc-macro2-1.0.70.crate 44343 BLAKE2B fff0dec06b21e391783cc136790238acb783780eaedcf14875a350e7ceb46fdc100c8b9e3f09fb7f4c2196c25d4c6b61e574c0dad762d94533b628faab68cf5c SHA512 ae9366856853f7d96caf7a7581843d36bfc7843f8683897b19ffc666c03b0b1eff502ddb18ca4c1c1a239a368f03f6cc258b0e2795f64b61c6a31404462eec5f
+DIST pyo3-0.20.2.crate 434326 BLAKE2B 3114fd6f3fb8ae7d1b35c9d2ac5ba6a49c5ac911ee3a5b941c5063263ca7cce47fa4b4f7ec34cbfe3083f3d1303fd7f061639fba833a04fedb9d5098f5784028 SHA512 cc5151a116179157046ec92677e5a72318b4cdb13a7d7e3bb83778739b5758040e5020f667dd83554a66b758581a08f5de05eb38e7b339813cec85e0712e6355
+DIST pyo3-build-config-0.20.2.crate 30029 BLAKE2B 846eb95d1417a658763417a2750dca1c55201105a3978d61b1db5e3962680ede188f8285dd7deec778ea9860d43e40513b88f5a54f0b1881b08416760bdbbedf SHA512 9dbc669ec69d38716c3909fa8f3b6c5be13c717b20bfd5dd11edab59b8eb35247d7996acd260fec88f92eb3e71248c86e9b40c1a700827889e2990bba20ecddf
+DIST pyo3-ffi-0.20.2.crate 64601 BLAKE2B cf1141ad34a13dcb46de0d1e15dda192ca41a7441bfc92a9295861876dcc690d1d5d6d39dafa51cd70c4627353efa91563eaefee8c39f655d12818003f9524da SHA512 ee6386b6fdb80689d104f9cd5229f02e1893d00a52be710bd36882c47305abbe24ef2f3cdef8200fddc0bb97e29001fa3a2fd9d3d2673ecd9a104a070420d01e
+DIST pyo3-macros-0.20.2.crate 7925 BLAKE2B 00fc60becfa39bf452786d8a612247785f1737cc3e627700d0d144ab2efaadfb34ce8a8f46e932382a1ea99caebfe1946fbc517b5c26fadb0822ecaa8b2e9df0 SHA512 dd9ea9acda95dfc53689a4c26d8c2139f8a90a05ab06737037f19b8bccd5e52b0da5f297a29194b958f5f8b59cbb566b5f409b3f17a863eddf855ecb755d2719
+DIST pyo3-macros-backend-0.20.2.crate 49710 BLAKE2B 711b18984e61219555df4b62667f7f376951c6cb47e6dd947fc24618b923c4f4f790eb1aba1901abea4761632cdb58cfa81cce91f33586da3022e6c7d126bc9f SHA512 c6ca2a2cdae8630fba3f8e4122e81b60ef2ef0905ad2a3fbcfae134456d5ca9e73690b61590e391f3b9d82c24725809f18544c5dfa0b36ffdb1914844fe65d3a
+DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
+DIST rayon-1.7.0.crate 169488 BLAKE2B 518f0eda1fcbd1b1b230587ea18cab0023a699e796c819bf35a6492b7edb051137446bfbc49aaab0a68aef8280c970ad14301a9f8f7461d537af119a65b33a38 SHA512 d999c811b701d0aa4e547234bdc20a7df56728e142c4aa882bae081b7b057e8c3a72f4a62fb35535e57501e8c2ba7ff072068b59d6b5374e9ca6bb66cc0984d3
+DIST rayon-core-1.11.0.crate 73118 BLAKE2B 313d65bb6e3a010569b317b32ac91c72e38282f4fcddbcb56ffa97de42d88c0d34f35f76b62e1ad60ee96b596aa681caf2071a8d5dfdca085fb1fbafb07c3ee4 SHA512 00ac782f49d688da90e823980e83b5ccd858f93769e2d801061fdef78728cff37d3a9fa4fd47a5cddb058f28f3289de349f8c8fdd94fa2f8c400d73bc4529800
+DIST redox_syscall-0.2.13.crate 23759 BLAKE2B b59c3e923b7bddc84285377eca86e649c21ee7dd61924245d43c6554124adf689f9b92841ca64876b34797249698511b322f6e8e639d71e45e1ae9da5f8b7834 SHA512 6551f503ba52c4edc0cb4a418ff212188ddc7be80dcb39eaf3bfb82faa9a76cdf359f604d6b32be6c6a335b54180c9399a0e32670333a5a08351957308486100
+DIST regex-1.9.3.crate 252676 BLAKE2B dd419b02b7dbd28a71e14c90bc538e98a63c0b9cc2ea01e7d8f6a0075c723c42c3d7bcbb45391431dec3008e6709e9d1d396d8e505f7f8d5d3a629ededf74b4d SHA512 ef5ece7d2b80a136d437ac42c5395cb01f6d357dcc490c8f6c89657f3f97af6befcc699008535c27583d7354e979418d1d933e36e8774ff2bb62750b9009d5d6
+DIST regex-automata-0.3.6.crate 607174 BLAKE2B 6d02512501b45b0e87d8746c894009ec669fbfdeb742966e8ba8960ebf692f3b2c3df44ce5ee03e7d5320136709ad83b532dbc322a779e3c21ff0f65768c0d0e SHA512 ab3da2e63ff2c6a4da2c149dd34e565303f961f38547db7b34fbe984cf90aac107d4ec116111c765c9b71c4bf26022742151e1d4c5d01a6beac0a8a0887e30ce
+DIST regex-syntax-0.7.4.crate 343365 BLAKE2B b50c01f02e08729496e8bcf023949d088463bf62348b4a1043fe5205650da37863b2ca51f683662a4df33bd56085e0501e50410106c9c471a0daec4c71dfe945 SHA512 b33713c71f6f753820ca6405e8415e5eeed457efd01e81b0b720e48c135b9bb0973962269587ddca31350233aec6d3f598596cb48310db0633bf67f8970f0e18
+DIST rustix-0.38.19.crate 357358 BLAKE2B 02968a58324ee719d424d0087ee7fed8b83979ab5be2aab3738cb577ef2c09f01eeaf1bbf12aef6c56c61c01b80600beef22f663301db0dcc429c6232ecb3b60 SHA512 1ea995a053d1bb36ff1459b5b25b2ec7d02e28a2973554737688f61079bdf1b87c8c139b0284beeea26a404ba3b9e2e4d4d61b13524dd20e15acc2b7218118af
+DIST ryu-1.0.10.crate 48485 BLAKE2B cbc0ab4e0b2031f4ca3a34914bd61395d14706d42e2414757aa23a67530d549382d61b630159c92a169d1dd3315951b0071ff18349d2b090ae262de536aa29e2 SHA512 1bd0af71a20715251dd42596df6e7677e44f712bbb40b0d9544109c1b2478a7bd2c9393535f0d4f3bfe2d1b75b3a2b899044051715a7da7d165d6d586e0775f2
+DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
+DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST serde-1.0.145.crate 76568 BLAKE2B 2d38e4ced18d204d8c36122ad09fc00f0378c7e9014d3bc67fb7c3e5ab0f923aeabb6a5fefc8699e80e220b12601d01dbe3ae5267a124164bee2e4d9897aa0fd SHA512 8146c39249ad54028717bcfd916fa5abd8b1ddaec54c4d0de485bf10cb6a85676a53068a07b9563e1717fedb4746ef672ae0c285a8998543cf92d7a157f2d442
+DIST serde_derive-1.0.145.crate 54860 BLAKE2B 0c80f1b8844e044bce28c3fd8e46ac732de21736622fd7b2235c41d9a909d7ad224e8e7ba5fa3e5de2cfba5e48a4116f97e9b7eb31b0201c01bc98d40a78d16d SHA512 267389f8cd6d3a7b7d4a4d3226346999294e2fbef7446ff1cd1183dfb4fd17409f5891f6c2cae113b79cffdaca07f2037fd2f4108f93723e6baa5153bb9a61c6
+DIST serde_json-1.0.81.crate 144480 BLAKE2B 3c95d56e65c6673ebe9ef0aa41ba184c5246cbcfb0dd9edf8e87ca6cab736d195ce8b6349846806ba7047854d579517d2d19bbfa932c90b700f06e54cf49b131 SHA512 9f224b2182db2fdddfe1878d05d857c52a60a38f9b4fdfc87c09c20efc8b6ec2419bc60e4b18a0852ed080b09332773eac372f8356af5ac0ddf3da8212345cb8
+DIST smallvec-1.8.1.crate 28295 BLAKE2B c776b37e8cda81fe1df6ace794739b7e0cb1e3c5d5c1ffa57656ef0c0d0aec354c2c93ae23ff895996ab50a26ced28b913fab89ced27cb2f1d15568ab45957c7 SHA512 e93cbce48b81fe1a26d6016ad15b27ede8ae7162933e8923d3eb9c93f61910fee177c1aff16a1dd60c9917e41f8b7e474601a60c6d6d6867ef33c6d2e5fdf688
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.41.crate 246016 BLAKE2B 9d389f2e2a0acb4c84c309456e8ffcc88c5d4d541535ed136832d7a6054dde45a598bb68e8a6f3062ca2a96e1ceae947d54b3aec9bad65b0c51d6733aa6c80db SHA512 6bbaf69ca783025dfb81ac3612ac60bfbed31b2d87792909b35c12892dadebdaff2ddf9463105e536b671dce5870610ab90fe29471284bbd3014dca8d6993f1a
+DIST target-lexicon-0.12.4.crate 23020 BLAKE2B ad9780b9478b00b4fdcb07bd016d83216695413090ac29cca06388c3790e2832c978b1c7e69f6d34bb6fc9adc39c0a0b6b6636e50a9715a9f5f16445dba22d19 SHA512 194fe1946ad8d9fdb383bf8a65374e24d216382c1ed5379dabc98d58842512624c32838b8d6d0658d866f6559d37f1343a30c5809e8914dd85790399252b3e06
+DIST termcolor-1.1.3.crate 17242 BLAKE2B 5aef69c0004081bd3cc4d531d13d63627cc02313868c0faab62358d13abfa7b4ba82f142c2801d25a6ae46ecbc8b7bdbeaa21c9105ea3b8950ab6a38cdb88513 SHA512 5838fcbfd70f300cb4b62aab50565db52074c56b152ccc8ac1173e4676c0d5a636271bf5a645a77da6e1d4edbf0091af2cd4dd6d73b85c3d198c760898c06f3a
+DIST thiserror-1.0.37.crate 18752 BLAKE2B b8d792715cfdffccba72af132e414a6ef28f8e4dfc0608bea49bda1bde5b6acb13da24feaabf4467b8aeace9b6d90a97e2202f7d24bfb753cc4019c2243bda25 SHA512 07f0cf9da1bf1029d70c1b6f0c54bc41ed759214683f35cf6b321ec2d69173e3da0abf80a692115a1e4630400b1fbf462878053853fdc6026edb40f7e13be72e
+DIST thiserror-impl-1.0.37.crate 15428 BLAKE2B d91e9f058e1a2b722f604d9a399c0f291c5309299c4bc103427f8927ba41c9937c7e7cd4c0f394dfb9d96799be8a3d5b33f8e869045f58228a43354dead5117b SHA512 37d90875118fe45b51afa89dd0acfbe4d9852b899ad391b419b5181a92bda115cf5569ffef57caf6020964d5d847c2b1f191c99e2c0caf7d4166f531bd19f952
+DIST tinytemplate-1.2.1.crate 26490 BLAKE2B af39d96f33f63238e455a4e38fde1d1730fd9661ae68be7b05df6ef9d2ab1a04db1332cc4ec9deb6da3a8e22b124df81b0fa8916d8491b808742bb733c8e48be SHA512 0cc080057e096f0796e72004343e1a8332c2e8a12e43f6ade150ebf632e9c29c7ad04de0b940cd57df81efdc4d07a6607da9b86a30d8383e39ac3d7be185edb9
+DIST toml-0.5.9.crate 55667 BLAKE2B f2bbcac136e0182cad9b51f07943610c8700b68afd08fdbb822b47bb79d215e8132376da8ac61fd550e86c353a83b007297b6ac92ef5d503e1b90e746c40c649 SHA512 7151bcafbe2bdb1d2bb91562daebd357c884819af047843f1b4a56bc3812d4153eaf70683d0f9bff51bd1048700920322d64d41da13ebb4cbf34f0f7822d7ce7
+DIST trybuild-1.0.71.crate 38006 BLAKE2B d3c4b93148a17e176f76c947d267a83a82606c2a31e8e487bbff1eea4e9385b6de7d7f0226d14cb89fb7552490209c06d2ff300302df86865d434021a390e566 SHA512 d46bc06b5f3f1ed92231745a7f7cbace77d365242742eedc5f6d7c0246549aa69d3713e3179c5449956d70122cec217d800b0111a0717c5f2f88dc2e55d986c7
+DIST unicode-ident-1.0.1.crate 33770 BLAKE2B e028e9f1d6c01a7a37c8f9ecd6b1d99041b45674bc7699066bb7479822cb8d5a1b4083db1117d9d44ab05096d8a37a9bd5d93dfe8cc5db6bb58950b4f5d5c8e8 SHA512 505650712a51c6f309c97bf72029de1eede33c71b84de9733f5f987859a61225e3d07d369b85a89797d870ea436f30b5b5046306f3d5fd672551a4b30c43e428
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST walkdir-2.3.2.crate 23516 BLAKE2B 473f2b51aafd6ac17e5c3da8d545d179b31486b3a65ab39fbd8bd7fbb2ebcc24bebf01781200a26a68f0b1cb464f5763a919aead3b03eba5a7e1be6efec5500b SHA512 6c44071354faf37720ec4117ded34c8d530489542ee107ac26a7a56ef4a882b9003e22e84f1d61f6078643521343e35aa1f7b57c838779e78e5937a667bf82da
+DIST wasm-bindgen-0.2.81.crate 165467 BLAKE2B 4b02ad703362d89c280bff92552a632b6cc50a586db4a476fa4f476118b94a89707712c1f6ff65c49a4d6001e9c9e16922a35e36b315b8f544e261ceb43dd5a4 SHA512 dd9a9902789dc8c7c3a8107c52018783b505efcc534c94c95ce55ad735c51489c928f767c319d97f78868a58d4aff7a71b2d1513350c30adb9122401b493906b
+DIST wasm-bindgen-backend-0.2.81.crate 25737 BLAKE2B dbfbd09a4d5a1c585fbd8cf8a29dd375c887e77fb5759c74bfbf0dbf012a0340df06f063e1a4908a80a2ff8298689cfb92ef67707e5d2e163abe155523c2029c SHA512 0d3b14b530adb2a32ad3ea169f0555973a25232613ff4269600dc1e86a6d75e4717be2388f132b6bab9a12625f645f644f59dc30a0b4ff3f20c20106083bcfa3
+DIST wasm-bindgen-macro-0.2.81.crate 11796 BLAKE2B 3fb6a60ca59279d3921dd65f7e7d4d91a457e31524671d465c5ce8fb31db7f28f49d80fc0161c2faa9f5a7dbad4c44584f0fed6177e8908de2a421951c62479d SHA512 f1164f7a4413685ec34e22c462b4a4cbaa79eba47079d90b7e15304db222afcc8e966f3bc994a231f21e29ba68a844b3e6622f840e0c335d09201c1dfa046ea3
+DIST wasm-bindgen-macro-support-0.2.81.crate 17855 BLAKE2B 2afb7807913ba01d99ea93030461842b7eeb405f4be0f0d671e1d430b6cc0aa111518c9549b71c8a94dda418c149050fc9d0613e10cdc7fd0dce354d87b8c4c0 SHA512 1fac5ac8b546e4fe55484649d7e2a39537b49797e20a2859a17ac98cc8c25cb3d91dca09e94c33651b9963efed6045ddd79bf646489bbd11065c62e66a59cda4
+DIST wasm-bindgen-shared-0.2.81.crate 7194 BLAKE2B bc31b0e75cafc2dcd207ffcf44b9ae84de4e5bebebe471404736352e9aaa1c2da45e22892a548c05cda24750be028dcaf66e6529d1ff2f833986ab2085b74fb9 SHA512 5ca631a720623e42caf737d3f8faa4961a051eb71b6b0854e4f697f753889cd58df980962d39650acce7712449ae50cf86effa542bd85e451cdb86767aa7ab34
+DIST web-sys-0.3.58.crate 696212 BLAKE2B a76b29a2a1b46239e1e6b134004bf43bd127466d9920077196e59b3ff419e059f433f94a68c24f3a6361d4f751ad3b69c6bfa67cacec0f0a2a58c87f319cd475 SHA512 58215a0d34bf0478514affa8d85f46017ab565b1dafd36f98a1d0f93e04f909b8b09348c06a189700111b5a8bee2049640a3a3a1433c4939e60bb12f32092b05
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
diff --git a/dev-python/libcst/libcst-1.3.1.ebuild b/dev-python/libcst/libcst-1.3.1.ebuild
new file mode 100644
index 000000000000..48d70b9be0ed
--- /dev/null
+++ b/dev-python/libcst/libcst-1.3.1.ebuild
@@ -0,0 +1,182 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+CRATES="
+ aho-corasick@1.0.4
+ anes@0.1.6
+ annotate-snippets@0.6.1
+ anstyle@1.0.2
+ autocfg@1.1.0
+ bitflags@1.3.2
+ bitflags@2.4.0
+ bumpalo@3.12.0
+ cast@0.3.0
+ cc@1.0.83
+ cfg-if@1.0.0
+ chic@1.2.2
+ ciborium-io@0.2.0
+ ciborium-ll@0.2.0
+ ciborium@0.2.0
+ clap@4.4.0
+ clap_builder@4.4.0
+ clap_lex@0.5.1
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-channel@0.5.5
+ crossbeam-deque@0.8.1
+ crossbeam-epoch@0.9.9
+ crossbeam-utils@0.8.10
+ difference@2.0.0
+ either@1.6.1
+ errno-dragonfly@0.1.2
+ errno@0.3.2
+ glob@0.3.0
+ half@1.8.2
+ heck@0.4.1
+ hermit-abi@0.1.19
+ hermit-abi@0.3.2
+ indoc@2.0.4
+ instant@0.1.12
+ is-terminal@0.4.9
+ itertools@0.10.5
+ itertools@0.11.0
+ itoa@1.0.2
+ js-sys@0.3.58
+ lazy_static@1.4.0
+ libc@0.2.149
+ linux-raw-sys@0.4.10
+ lock_api@0.4.7
+ log@0.4.17
+ memchr@2.5.0
+ memoffset@0.6.5
+ memoffset@0.9.0
+ num-traits@0.2.15
+ num_cpus@1.13.1
+ once_cell@1.16.0
+ oorandom@11.1.3
+ parking_lot@0.11.2
+ parking_lot_core@0.8.5
+ paste@1.0.9
+ peg-macros@0.8.1
+ peg-runtime@0.8.1
+ peg@0.8.1
+ plotters-backend@0.3.2
+ plotters-svg@0.3.1
+ plotters@0.3.1
+ proc-macro2@1.0.70
+ pyo3-build-config@0.20.2
+ pyo3-ffi@0.20.2
+ pyo3-macros-backend@0.20.2
+ pyo3-macros@0.20.2
+ pyo3@0.20.2
+ quote@1.0.33
+ rayon-core@1.11.0
+ rayon@1.7.0
+ redox_syscall@0.2.13
+ regex-automata@0.3.6
+ regex-syntax@0.7.4
+ regex@1.9.3
+ rustix@0.38.19
+ ryu@1.0.10
+ same-file@1.0.6
+ scopeguard@1.1.0
+ serde@1.0.145
+ serde_derive@1.0.145
+ serde_json@1.0.81
+ smallvec@1.8.1
+ syn@1.0.109
+ syn@2.0.41
+ target-lexicon@0.12.4
+ termcolor@1.1.3
+ thiserror-impl@1.0.37
+ thiserror@1.0.37
+ tinytemplate@1.2.1
+ toml@0.5.9
+ trybuild@1.0.71
+ unicode-ident@1.0.1
+ unindent@0.2.3
+ walkdir@2.3.2
+ wasm-bindgen-backend@0.2.81
+ wasm-bindgen-macro-support@0.2.81
+ wasm-bindgen-macro@0.2.81
+ wasm-bindgen-shared@0.2.81
+ wasm-bindgen@0.2.81
+ web-sys@0.3.58
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.5
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.48.0
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="A concrete syntax tree with AST-like properties for Python"
+HOMEPAGE="
+ https://github.com/Instagram/LibCST/
+ https://pypi.org/project/libcst/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT Apache-2.0 PSF-2"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pyyaml-5.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/black[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/libcst/native.*"
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # fuzzing, require hypothesmith
+ libcst/tests/test_fuzz.py
+ # require pyre-check
+ libcst/metadata/tests/test_type_inference_provider.py
+ # requires `python -m libcst.codegen.generate` which has extra
+ # deps and needs patching to work in our venv
+ # TODO: figure out if we don't need that for revdeps anyway
+ libcst/codegen/tests/test_codegen_clean.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ # fixtures
+ ln -s "${S}/native" . || die
+
+ nonfatal epytest
+ local ret=${?}
+
+ rm native || die
+
+ [[ ${ret} -ne 0 ]] && die "Tests failed on ${EPYTHON}"
+}
diff --git a/dev-python/libcst/metadata.xml b/dev-python/libcst/metadata.xml
new file mode 100644
index 000000000000..923d8d0e6462
--- /dev/null
+++ b/dev-python/libcst/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Instragram/LibCST</remote-id>
+ <remote-id type="pypi">libcst</remote-id>
+ </upstream>
+</pkgmetadata>
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/libevdev/metadata.xml b/dev-python/libevdev/metadata.xml
new file mode 100644
index 000000000000..d243c4c9307f
--- /dev/null
+++ b/dev-python/libevdev/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>x11@gentoo.org</email>
+ <name>X11</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="freedesktop-gitlab">libevdev/python-libevdev</remote-id>
+ <remote-id type="pypi">libevdev</remote-id>
+ </upstream>
+</pkgmetadata>
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 3f1af0d09dc0..000000000000
--- a/dev-python/liblarch/liblarch-3.1.0-r1.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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 60d2cdba745a..000000000000
--- a/dev-python/libnacl/libnacl-1.8.0.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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 4d0c41bea140..000000000000
--- a/dev-python/libpillowfight/libpillowfight-0.3.0_p20210816.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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/libpillowfight/metadata.xml b/dev-python/libpillowfight/metadata.xml
index 534689778b6a..231c5364b135 100644
--- a/dev-python/libpillowfight/metadata.xml
+++ b/dev-python/libpillowfight/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">pypillowfight</remote-id>
+ <remote-id type="gnome-gitlab">World/OpenPaperwork/libpillowfight</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/libpy_simdjson/Manifest b/dev-python/libpy_simdjson/Manifest
deleted file mode 100644
index 388003c93ddc..000000000000
--- a/dev-python/libpy_simdjson/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libpy_simdjson-0.4.0.tar.gz 3319968 BLAKE2B bb24af861cda5973af73718f098a514e74e852f59703c694a7bd4875f183cb0daacab7cedca9757df42557f6d1d9e2408e15443977a1dbdd6bb12cd09a488774 SHA512 c3a8c1a24f338d1fdcd0a07c64da8887b0e6e44dc701ddc23f27d569319c01d9f7ff9198de6d828e2925c2fd6444b64e3273f4e16fc9d5c1a173c6edfaccd83f
diff --git a/dev-python/libpy_simdjson/libpy_simdjson-0.4.0.ebuild b/dev-python/libpy_simdjson/libpy_simdjson-0.4.0.ebuild
deleted file mode 100644
index 9b3c74690bbe..000000000000
--- a/dev-python/libpy_simdjson/libpy_simdjson-0.4.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for simdjson using libpy"
-HOMEPAGE="https://github.com/gerrymanoim/libpy_simdjson"
-SRC_URI="https://github.com/gerrymanoim/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="
- dev-cpp/range-v3:=
- dev-libs/simdjson:=
- dev-libs/libpy[${PYTHON_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-BDEPEND="${DEPEND}"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # benchmark tests have extra dependencies
- rm libpy_simdjson/tests/test_benchmark.py || die
-
- sed -e 's:werror=True:werror=False:' -i setup.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/libpy_simdjson/metadata.xml b/dev-python/libpy_simdjson/metadata.xml
deleted file mode 100644
index 2b81aa958c23..000000000000
--- a/dev-python/libpy_simdjson/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">libpy-simdjson</remote-id>
- <remote-id type="github">gerrymanoim/libpy_simdjson</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/libsass/Manifest b/dev-python/libsass/Manifest
index ab82a1ada608..92e51663d386 100644
--- a/dev-python/libsass/Manifest
+++ b/dev-python/libsass/Manifest
@@ -1 +1 @@
-DIST libsass-python-0.21.0.gh.tar.gz 55774 BLAKE2B 3c584ff3b6c09bc768554a3a4f7ef28ecea0726f59206da8540f9c1b4db74ab1235695074dd6b95db74f174066bb856c9854026525da82e7763f341920f0bd53 SHA512 d5b7a1bf0dc736a6a38e2e609f0a213306de31d5ad84cfdcd96f9ff72a1c38f15bad3cf25a1cec6dca5a9f3b00a8509afff2b4ea5e4db80e218e3ae603d55856
+DIST libsass-python-0.23.0.gh.tar.gz 54783 BLAKE2B b2113d295370391c6b92c2561873cc1c58c3acdcc5c4adb6c50e717bb963bbf5d4e29e97290e2b4743508c0f1a73be373233205a79c31b6f6a0262559adcf924 SHA512 fb0836cce26ef8cdfb90cb50842e66f83ed47d06327272a49db3f2cf4b7f1bc29560d0126f00ff13db626d0624ff154c342a0f2433802d4c1b582b8d74a50337
diff --git a/dev-python/libsass/files/libsass-0.20.0_rename_sassc.patch b/dev-python/libsass/files/libsass-0.20.0_rename_sassc.patch
deleted file mode 100644
index 46efe8700328..000000000000
--- a/dev-python/libsass/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/libsass-0.21.0-r1.ebuild b/dev-python/libsass/libsass-0.21.0-r1.ebuild
deleted file mode 100644
index b40687bd9fcf..000000000000
--- a/dev-python/libsass/libsass-0.21.0-r1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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}"/${PN}-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/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
index 0c2334d8a4a5..4e80ccda26d2 100644
--- a/dev-python/libsass/metadata.xml
+++ b/dev-python/libsass/metadata.xml
@@ -10,6 +10,7 @@
<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 4cbadf022712..5ae36e7af8b9 100644
--- a/dev-python/libtmux/Manifest
+++ b/dev-python/libtmux/Manifest
@@ -1,5 +1,11 @@
-DIST libtmux-0.12.0.gh.tar.gz 214161 BLAKE2B 7040da2ee782b2e6bc73c70de0f5d5713c989a0959b0e731ac060f442e82e99829689f924cc2aeef6e79339b4f419df4143e2d5a9e356ad27cccb9cb3802e2f2 SHA512 f6f80daa3aaa99dd81ec0eb6a119ab1ad5fcd6c656d280b06a40c2b3bdc8d3ca7ae06089ea74482bfff005997f07e346338330d9ecf1c6745a6f3b7719b9cd0a
-DIST libtmux-0.13.0.gh.tar.gz 240339 BLAKE2B 5b975bef4835ed8b74f05fd56bd824028fa64b56c700396d0387661cdf41a4a43d81dce10462c89a90ce352b00ca0fea0334fa02e7259464a62369637b2435ce SHA512 bc5fce8c201f7c69fcbc15605808544baf19896e51c44daeebc4c133ee1db70dbffa8eea2641862cf27ca9fe341f4721cde432682e5aea84b2573f83ad25555f
-DIST libtmux-0.14.0.gh.tar.gz 241472 BLAKE2B 910005f944eefc8e7a92e476fb5d6c1693b1d1a6a82a27445487b9d16037610d6bd79301dea3c14a3be297ff8c774ba9e80f2036b6cf6259822c31ff673eaacf SHA512 726df5781a6c1a80f31035c6dda6e423e30c49d7d6e9865cfb17777a96dc36cc4a4f22f1330a87d3d1fa2f513ac34a7e1c4a51c9bd3dc1d2be79c67767061b76
-DIST libtmux-v0.10.3.tar.gz 225258 BLAKE2B 40d591ee1f8a6068947b61416d6247b2475cc99031a67c167dc527631e50075f18c46fe6fc16193867d83a1a735b0a23fbfbc77f4539f788f05375f1f68b77d2 SHA512 2c8f28ce8c313404caffa42e5fd4a1dfa5d48bdc48203f8db595cb97b44886d63608771f23d62d76a56513b7e4578e48a31cacd224eca92425f110efd0a5db69
-DIST libtmux-v0.11.0.tar.gz 234278 BLAKE2B 4939d38894fd6a1492ff282c98243b2d5b3b6f787691031c74337629aed710d3caebeb3bfce571e8f38fe07ecc341b6b3f8aa0bc42979fa362f5f0679aabf21e SHA512 e09749ce4cf7cf7756e4e40e50c6eb0a00435f2b00c8436667b6b77a94078e9c380a811107f8129ea0d347355f3ce8bb213b8fb36de2becf3cf1a2dbebd97867
+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
+DIST libtmux-0.37.0.gh.tar.gz 283496 BLAKE2B ef8c9c05cc20f549fc13ffb05276e1ba5b24c366c9cf44eb5ffe609cfe0e603ab7a90747b5df03afa62a6a9d8c81904e7fa7e4598092d3b11c0e9295e413d88d SHA512 8876ad13613d367d6a6ea5945b5a0a495460b5ad68a14d89d20a41f0e5b421e0007041e4e8356e88a8eefb2b2422be306aebd2452e3be556f1cc4fd232327499
diff --git a/dev-python/libtmux/libtmux-0.10.3.ebuild b/dev-python/libtmux/libtmux-0.10.3.ebuild
deleted file mode 100644
index 12b09f6f2d19..000000000000
--- a/dev-python/libtmux/libtmux-0.10.3.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-DISTUTILS_USE_SETUPTOOLS=pyproject.toml
-inherit distutils-r1
-
-DESCRIPTION="python api for tmux"
-HOMEPAGE="https://libtmux.git-pull.com/"
-SRC_URI="https://github.com/tmux-python/${PN}/archive/v${PV}.tar.gz -> ${PN}-v${PV}.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
-
-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
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/libtmux/libtmux-0.11.0.ebuild b/dev-python/libtmux/libtmux-0.11.0.ebuild
deleted file mode 100644
index 4ec1b4d3e99f..000000000000
--- a/dev-python/libtmux/libtmux-0.11.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-DISTUTILS_USE_PEP517=poetry
-inherit distutils-r1
-
-DESCRIPTION="python api for tmux"
-HOMEPAGE="https://libtmux.git-pull.com/"
-SRC_URI="https://github.com/tmux-python/${PN}/archive/v${PV}.tar.gz -> ${PN}-v${PV}.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
-
-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
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/libtmux/libtmux-0.12.0.ebuild b/dev-python/libtmux/libtmux-0.12.0.ebuild
deleted file mode 100644
index 38f4f726af96..000000000000
--- a/dev-python/libtmux/libtmux-0.12.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="python api for tmux"
-HOMEPAGE="https://libtmux.git-pull.com/"
-SRC_URI="
- https://github.com/tmux-python/${PN}/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
-
-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
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/libtmux/libtmux-0.13.0.ebuild b/dev-python/libtmux/libtmux-0.13.0.ebuild
deleted file mode 100644
index 4dce1d6a69c4..000000000000
--- a/dev-python/libtmux/libtmux-0.13.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="python api for tmux"
-HOMEPAGE="https://libtmux.git-pull.com/"
-SRC_URI="
- https://github.com/tmux-python/${PN}/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
-
-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
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/libtmux/libtmux-0.14.0.ebuild b/dev-python/libtmux/libtmux-0.14.0.ebuild
deleted file mode 100644
index be24d300e9a1..000000000000
--- a/dev-python/libtmux/libtmux-0.14.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="python api for tmux"
-HOMEPAGE="https://libtmux.git-pull.com/"
-SRC_URI="
- https://github.com/tmux-python/${PN}/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
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/libtmux/libtmux-0.21.0.ebuild b/dev-python/libtmux/libtmux-0.21.0.ebuild
new file mode 100644
index 000000000000..c3ba25a16ac9
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.21.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=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.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/libtmux/libtmux-0.37.0.ebuild b/dev-python/libtmux/libtmux-0.37.0.ebuild
new file mode 100644
index 000000000000..60bbba2f66cb
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.37.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..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 95cd7e51cc42..1ab3d3ac1343 100644
--- a/dev-python/libvirt-python/Manifest
+++ b/dev-python/libvirt-python/Manifest
@@ -1,16 +1,12 @@
-DIST libvirt-python-7.10.0.tar.gz 218394 BLAKE2B be1b64489503ca2e8bcaafc516ab228052b4e3e486aef1ef5310a95051a9549fe262feb009356f3735a3656e7b445ef6943b1932373be3618c36445042da8565 SHA512 db3c6ccffa3c2f38b788964f7a9cedee3e8de64fb5ecb65ac859eeac1450bea1ade8a7259a6035d7ee25af7d861b2e87f6eba24c21cab3f483c1a97318181d7e
-DIST libvirt-python-7.10.0.tar.gz.asc 833 BLAKE2B cf9d661bafd7e2ee52e895d3b5aa7d569226f90b4924a95c4178fb724847bfdcd085b04ae33a315480b20115318604809bc4a7edce5c801fd1286581cd8989a5 SHA512 f36d47b4b78daa1e848954acb3032750fc9bec58723b9bd04c48ca1a9b45e1a0252b85adef239080f6aef199c836d04db283510b099c69792e1c4b403c7d3685
-DIST libvirt-python-7.7.0.tar.gz 217406 BLAKE2B 4e3e887f9778ca817028d9147913618dcbdc83d05ce01b05b80661bb4cc823de6dc0e9d9b0837bf344774e5a8cdbaec7d4a7e55ce902b2867159795b85800cdc SHA512 07aa75a19dc94f3bde49b1af50fa73a6c920059b3b9ca943354c59f174d756aa5d1dca1394844dc3197b6a22c440028d347480a17858bc18fe1b5b19cf7d797f
-DIST libvirt-python-7.7.0.tar.gz.asc 833 BLAKE2B 159f5b5ec60d3b7966f3f99c185eddb8d2d03480b203473ae47e6139b21f8a4ee8bb8ba28ccacb88ad42c7b47d45862ccb48c90151203fb4e2295f355984e538 SHA512 b58579e648b82ec51de5f15e30dee39f7c42edf47ade4ad6f580bef21191f649b03eb05906bf31baa19afb6fadb57662c5326edb53b056a7235308d9c3bd551d
-DIST libvirt-python-8.0.0.tar.gz 218832 BLAKE2B be86e423607f90fb9e93fdb3b1ea768eed078ef3a4a05c5ee258ad48f650aeb15314ce9c0c45b3e986a18b81ae69c705c6cbe02d429fd71eb9dd7b9118fe91a3 SHA512 9eb85ae3048274a239908b658c0dacf0588538b356fc59c388900bca7164612d7370f3dddd2eb4c81e88fff7671118517bf0f5fd4382c5a88102212349dff4ec
-DIST libvirt-python-8.0.0.tar.gz.asc 833 BLAKE2B 12aec1acbf41811d9aa33a99038e1987624a2964579ef8ec236ba63fa8507cbe47d17e654221753a8d53af7d44ec53c2daca54f3b2dce18d8aea3e6d1012beaa SHA512 d6652f5d694a2b12d595fd78eb8ebc4f03ee02d20ed06187edfca5611b4784469af1cfd8c3ba009b799e7adf500775ede9d9c53544b995a072dc599797460d16
-DIST libvirt-python-8.1.0.tar.gz 221567 BLAKE2B aaf296f60c991c2877a2bb4ed47f1f2c4f75dd16b6831f53baab23883030cf20675ea61f636f0483e0c9a2f362638c860dd68eeb23b5ad82f43c66cd5f91b825 SHA512 507742d7b6503fdab45dad0b1e3b320f49a5cb01c1e0077f777bf41d53d2e6be4df0671e379d9a69330623ae362b725c7511d44d2c48489b21a657cf17efbd93
-DIST libvirt-python-8.1.0.tar.gz.asc 833 BLAKE2B a4fb10816ee50c1979926db87fa85e838e6caf74d086b612f07fb37730003030c16ce9f538fa8765a705b9a51d398e0284410a53aed31ac3452af4a4e5aae30e SHA512 2ca4bf7393f60267e0d7d32dcc50219847a86dbde76e1a83a9723c07133ff90d930dde32f454631c474fd36ac3837ccf94629576ddfb93288dfdb2490ce20724
-DIST libvirt-python-8.2.0.tar.gz 223589 BLAKE2B 6c8d39e6af1167aa24a1c0710177188aa0a73e54d9dbd6015d6a3b60726b78c45442fc756e68c61d54352a5fa9466f538ff986712e775bc54d46c885bcbcc8da SHA512 8d3eceb36651dbb903f51ec198dcf6bcd4dc3d3b31ce6a41df10928bbbf43b32a2f80c006c1fb9fc3e1cf2d7ffed95efc1209e0d20018135fb32c50876987d58
-DIST libvirt-python-8.2.0.tar.gz.asc 833 BLAKE2B 262a8072b58b19f871a72ed81d8dcab907130ce6f25f6478c72e6f3e7d8d51226fda1844a37baf82667d2f35ef3e64e84e47de1d33217a356ea1d78fec6aa548 SHA512 11ea846816a3300940b9792a5a778c633bb2d9e0523f442588ae82f8fb46ecc0256267b2efece655331112e3912c9bfcf46247555e48d1861999d1363f6034b1
-DIST libvirt-python-8.3.0.tar.gz 231579 BLAKE2B 0bd169b66f490e100eab95f94f412d27836a302d57c4771a35154995122fa23a4b9f8c836b622bbb1d7790664ab5c8c25f7158b2c11dcbfcf48ebf6bb6dc32db SHA512 8b50e4142f14e60bc50065bb3708bb04deb3f72061b056492cca52b866bf86f0b7b47e2f8de39d4f8898cf860f7247d0cb243eb2ad6a9329b27fc890f727ebd8
-DIST libvirt-python-8.3.0.tar.gz.asc 833 BLAKE2B bb19bef914e39d04b6580dcce1813bc21c5213a2b4c88d44686eeecc9ffc9383db3bab62d46840138a9a9e80d6429662aec43d586dddc041bca4543ff49c465b SHA512 65d417a6849614f94a59dca94cb258b7de487fbc409cd2cfc8c3e9cbdc76ae83c6c2c40a0cf4c12877d2fa78bbcf371512ca6f71973466d2151be690a8b4422c
-DIST libvirt-python-8.4.0.tar.gz 231985 BLAKE2B 64d37074e04cdb02332987dc46e6dd7b38dbc8fa4de0e6e1cbde1caba370f5eed650c4a135f6101c355f189a91fbba82dcac3d50f8c0d0678ce4def448a4b168 SHA512 6c831ae45549ab0c4d720826e2f5cb219eaab0943b8c71fe70c02fd49097fb5565ee6f651b19e34f72d6b0133bf3b4bb8bfe56b37723b24eaf336f65ab0a5865
-DIST libvirt-python-8.4.0.tar.gz.asc 833 BLAKE2B fa6f5e10ca3e06c017e9988e676dd2beca2bcb88f4d55d7a1740d42b4ea56ff0cdb4fd7698392ce1eead7a81fafcc1475eb6270329f56e191a4a4551120e982b SHA512 855869856ff41338c4ed1b707db4a0ace97a60e51d19183a0c1f904695b8a367249ae6266a45d79449443325cc85485db89dc73b09ac318c206cc03ab36ef179
-DIST libvirt-python-8.5.0.tar.gz 235414 BLAKE2B 616c8415f94a6c53b9bcd6ff7433993a3d40eb49ff13eaf81eee52c52806fb1d281216e8bd591deeee6058e2cb5161310d0ae1217467cd1f0525c00d7252214d SHA512 0e922301243200229c01659e57b4abad69a85931ea3ffcb70b117f313971d266d036dc6c1dbe42d48380d5ad9ed72326603101eb33d6a68dd6b7253a6e197aff
-DIST libvirt-python-8.5.0.tar.gz.asc 833 BLAKE2B 5b3c37ee02d6a5cefcc81945b9f4c67f19d297f03ad16e2666e87c3ea54ac609d774d3bb90a47e4098914460fd0928f66641f52185fe367cad9794636a809836 SHA512 4fae1d23f7ef2fccb38dee397173f3571b64969672cbe297e3622b9a0194e4a434329de543e886a4a20a9e1e0e3f1fec10a08d924ec0e728b9e29a44877c7e24
+DIST libvirt-python-10.0.0.tar.gz 246385 BLAKE2B 0d3411d5d138fe57c6a5b73423479939182a4b9fde29c74ea832db3664db7da392bb15f0381c3ead949c36554cfdbf322441380293ffb016377dc9d4a6b57756 SHA512 4c3f51b2669ad7dc571f05ddeb75bb375640d27f77c1511e6682d8c7a77074210c48ea6c2e125ce8b04a1512df8a6a41e6a2d291e853dcaff84da213c89a6097
+DIST libvirt-python-10.0.0.tar.gz.asc 833 BLAKE2B f90f76364c84dff7f7346ea06a630b7085f9c6c7c9bf671cc152287f2123a4f8d1fd8734c3a2771468a8e4748fb7e8628738403b45e688dc36d3972999ff24bf SHA512 fd6048d6a8f73145e7e0512e55a86740a923c671b75aa505cb58291e9809d9927400eabf636db94d9e7093b3eb2c11df0e36d8de24ba9944ae05a8885201ebab
+DIST libvirt-python-10.1.0.tar.gz 246933 BLAKE2B f95757c6e88271874f2e6c5efd52f4b075dee96902287b66f535f3d154eea58f7fa5156c7303c108eed34552917227cd0e1abbf4ce78d619dd113d24763780bb SHA512 b1a316703f577ebeafc6f96b5988f3716c24acfea674834c9034d488c456ca1d0386d602942ff4e0d2e947252a2d7049af4c6531407f9ff9a3b981c7c6c3fd37
+DIST libvirt-python-10.1.0.tar.gz.asc 833 BLAKE2B ae970da8b897efa3c8abf596fa653e2fed23e11dc1e1531093ce7fb1c3f9c76659fb71aab828a02c141bd59695eb6989a39f2c99fdd8494e40a8ded43c727fb8 SHA512 deb6af1a7d59bae6498175c842be7995262d0503a0614267b4fa8a157d5d094d8aacd34184b4149a0821750d57ba3ad36af1fec1f7e9532625bb620229bf404d
+DIST libvirt-python-10.2.0.tar.gz 246954 BLAKE2B a6987539386acae3f06d97fa3fbe9b53eb93b3877ee0e4f0c2a068104f12c5c7b116392fc078c30ef297c108128eaf29075974502dee75e84c96c8288ab70809 SHA512 36c79491a9be24fc118cbaddcd96c02c7df05c3808cd8f7dbc2d143330aa8f4a6cf8ea90fc1901dcb43d9c2b52edd1a013d01b88a82b1d3ec6a2ab88b671ac61
+DIST libvirt-python-10.2.0.tar.gz.asc 833 BLAKE2B 0aaf3853f27e7f2157fed61e1a4dedd80cc70a95b2a265a46d04eb97d0e4b583779eb072f7c94f478c20340f09266079204d9c1805987c3a512f96c4d7f670d4 SHA512 b9fd2d958c3afd23e18559d913dabd3409d68c2eb0094e485f5131e8278f25569c88d443b1ac1b30cad87cd02d9335c5e09a3ea87e37a3a73df650f57d647b11
+DIST libvirt-python-10.3.0.tar.gz 238840 BLAKE2B 35f4b15609550f9f255ee046fda4df22099926779ded4e7a75c02cdfef9156a366f3aa62a92d75bb7bfaa4c5220679ac3231844dc35c0f7db6dd362c81b9ed77 SHA512 5c5b4b6e52887a5fe0436581ef6233e78abbf702db87936743329e62a1e3c66c124ed6e2c2b92d6215027e6cbe459c536a8436ac3cea63269bff78ec3c9efc98
+DIST libvirt-python-10.3.0.tar.gz.asc 833 BLAKE2B 75f38beedc069543f634f0b880e439a6dbc4aea6eec29bbc229a5169f09aa55c5207a3f445f5e70da2b4cb94e7397bdd937f7d5088f7cd7b4f57d3d57e6196c1 SHA512 adeb63e8ecbdbac498d0971bea837f6a8ef5fa673bbade52a623e2f7a70600c443b87ca32cfe9c61c33f9f785eb1215815bf12fbd3cc4d9d4f60a3b898bb3cfb
+DIST libvirt-python-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-10.3.0.ebuild b/dev-python/libvirt-python/libvirt-python-10.3.0.ebuild
new file mode 100644
index 000000000000..83f8a3a26364
--- /dev/null
+++ b/dev-python/libvirt-python/libvirt-python-10.3.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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-7.10.0.ebuild b/dev-python/libvirt-python/libvirt-python-7.10.0.ebuild
deleted file mode 100644
index 6dbe00052c00..000000000000
--- a/dev-python/libvirt-python/libvirt-python-7.10.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-DISTUTILS_USE_SETUPTOOLS=no
-
-MY_P="${P/_rc/-rc}"
-
-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"
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
- verify-sig? ( sec-keys/openpgp-keys-libvirt )
-"
-
-distutils_enable_tests setup.py
-
-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-7.7.0.ebuild b/dev-python/libvirt-python/libvirt-python-7.7.0.ebuild
deleted file mode 100644
index 2173880e6e4b..000000000000
--- a/dev-python/libvirt-python/libvirt-python-7.7.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} )
-
-DISTUTILS_USE_SETUPTOOLS=no
-
-MY_P="${P/_rc/-rc}"
-
-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"
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
- verify-sig? ( sec-keys/openpgp-keys-libvirt )
-"
-
-distutils_enable_tests setup.py
-
-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.0.0.ebuild b/dev-python/libvirt-python/libvirt-python-8.0.0.ebuild
deleted file mode 100644
index 6000240c3d04..000000000000
--- a/dev-python/libvirt-python/libvirt-python-8.0.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-DISTUTILS_USE_SETUPTOOLS=no
-
-MY_P="${P/_rc/-rc}"
-
-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"
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
- verify-sig? ( sec-keys/openpgp-keys-libvirt )
-"
-
-distutils_enable_tests setup.py
-
-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.1.0.ebuild b/dev-python/libvirt-python/libvirt-python-8.1.0.ebuild
deleted file mode 100644
index 13e15986dc34..000000000000
--- a/dev-python/libvirt-python/libvirt-python-8.1.0.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
-
-# Please bump with app-emulation/libvirt!
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-DISTUTILS_USE_SETUPTOOLS=no
-
-MY_P="${P/_rc/-rc}"
-
-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"
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
- verify-sig? ( sec-keys/openpgp-keys-libvirt )
-"
-
-distutils_enable_tests setup.py
-
-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.2.0.ebuild b/dev-python/libvirt-python/libvirt-python-8.2.0.ebuild
deleted file mode 100644
index c444cb5e424b..000000000000
--- a/dev-python/libvirt-python/libvirt-python-8.2.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# Please bump with app-emulation/libvirt!
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_SETUPTOOLS=no
-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}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
- verify-sig? ( sec-keys/openpgp-keys-libvirt )
-"
-
-distutils_enable_tests setup.py
-
-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.3.0.ebuild b/dev-python/libvirt-python/libvirt-python-8.3.0.ebuild
deleted file mode 100644
index cd3ceb1cc71e..000000000000
--- a/dev-python/libvirt-python/libvirt-python-8.3.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# Packages which get releases together:
-# app-emacs/nxml-libvirt-schemas
-# dev-python/libvirt-python
-# dev-perl/Sys-Virt
-# app-emulation/libvirt
-# Please bump them together!
-
-PYTHON_COMPAT=( python3_{8..11} )
-DISTUTILS_USE_PEP517=setuptools
-MY_P="${P/_rc/-rc}"
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/libvirt.org.asc
-inherit distutils-r1 verify-sig
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt-python.git"
- RDEPEND="app-emulation/libvirt:=[-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.4.0.ebuild b/dev-python/libvirt-python/libvirt-python-8.4.0.ebuild
deleted file mode 100644
index 59818c6c51d9..000000000000
--- a/dev-python/libvirt-python/libvirt-python-8.4.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Packages which get releases together:
-# app-emacs/nxml-libvirt-schemas
-# dev-python/libvirt-python
-# dev-perl/Sys-Virt
-# app-emulation/libvirt
-# Please bump them together!
-
-PYTHON_COMPAT=( python3_{8..11} )
-DISTUTILS_USE_PEP517=setuptools
-MY_P="${P/_rc/-rc}"
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/libvirt.org.asc
-inherit distutils-r1 verify-sig
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt-python.git"
- RDEPEND="app-emulation/libvirt:=[-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.5.0.ebuild b/dev-python/libvirt-python/libvirt-python-8.5.0.ebuild
deleted file mode 100644
index 59818c6c51d9..000000000000
--- a/dev-python/libvirt-python/libvirt-python-8.5.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Packages which get releases together:
-# app-emacs/nxml-libvirt-schemas
-# dev-python/libvirt-python
-# dev-perl/Sys-Virt
-# app-emulation/libvirt
-# Please bump them together!
-
-PYTHON_COMPAT=( python3_{8..11} )
-DISTUTILS_USE_PEP517=setuptools
-MY_P="${P/_rc/-rc}"
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/libvirt.org.asc
-inherit distutils-r1 verify-sig
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt-python.git"
- RDEPEND="app-emulation/libvirt:=[-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-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 59818c6c51d9..cd5a82350d8e 100644
--- a/dev-python/libvirt-python/libvirt-python-9999.ebuild
+++ b/dev-python/libvirt-python/libvirt-python-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,20 +10,20 @@ EAPI=8
# app-emulation/libvirt
# Please bump them together!
-PYTHON_COMPAT=( python3_{8..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
inherit git-r3
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt-python.git"
- RDEPEND="app-emulation/libvirt:=[-python(-)]"
+ 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 0cb835a32350..6dcd4de36899 100644
--- a/dev-python/license-expression/Manifest
+++ b/dev-python/license-expression/Manifest
@@ -1 +1 @@
-DIST license-expression-30.0.0.gh.tar.gz 153630 BLAKE2B 4231bf14e69705fbf40cc4af5f17a1070c780d595db5ab0098b318eeb7289740b86319c683e61aaf844a1cc5b8598d832f14e4eeac354aff37f7b82e5437df1d SHA512 ce6e3a48c1e035e98c3831180bdafb1d70afe94b1d0148c47941129a8223b8b39e11af9407b255ed7a3d1247873c18848f8236c0a805e9b2333c6d59506aad12
+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 e4908fea38c8..000000000000
--- a/dev-python/license-expression/license-expression-30.0.0.ebuild
+++ /dev/null
@@ -1,34 +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=( pypy3 python3_{8..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 ~arm64 ~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..accd2b2f3f35
--- /dev/null
+++ b/dev-python/line-profiler/Manifest
@@ -0,0 +1,2 @@
+DIST line_profiler-4.1.2.gh.tar.gz 100514 BLAKE2B 4e9fa1f2bcc39658f50b5832a8c2ee15090e03532d574cfa06db846beb191b8e2f19c82e5b03f91f2fc7b9de2a024e86909191982a03702690820972e10b7b2b SHA512 feb3f799770057b1b2dbc5601e497ce8fbc3f802e48e652b30486d453710c811bf46f3c22c0e706bbcce8cf4ef3c6e118bcc4917d8d72ff8bb0bb975324dfa16
+DIST line_profiler-4.1.3.gh.tar.gz 103226 BLAKE2B 209fe81bfd29cad1fe5866af792294d956a8f5d4d20948335a418aa0c7c3c5ff23e271c49cfc6cf228287cb1031e00a0f540fc88f52ccc3a0c329443de17b188 SHA512 cc8367b40558647f097e33152bd1d8b241720a1ed79c1f1930a7958e333cecdf38bc7d1ab0a8ebfb11e3251fa076966076ec42a8b633dfcb9de0c598c02b8b93
diff --git a/dev-python/line-profiler/line-profiler-4.1.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/line-profiler-4.1.3.ebuild b/dev-python/line-profiler/line-profiler-4.1.3.ebuild
new file mode 100644
index 000000000000..be13f5e4f4d7
--- /dev/null
+++ b/dev-python/line-profiler/line-profiler-4.1.3.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+MY_P=line_profiler-${PV}
+DESCRIPTION="Line-by-line profiler"
+HOMEPAGE="
+ https://github.com/pyutils/line_profiler/
+ https://pypi.org/project/line-profiler/
+"
+SRC_URI="
+ https://github.com/pyutils/line_profiler/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/ipython[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/ubelt[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export LINE_PROFILER_BUILD_METHOD=cython
+
+python_test() {
+ cd tests || die
+ epytest
+}
diff --git a/dev-python/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 131d8cf98b8a..000000000000
--- a/dev-python/line_profiler/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST line_profiler-3.5.1.gh.tar.gz 51241 BLAKE2B a3f3cceab9d34062a0b96ce772941bb945f96f7e88f59bb72d08a09fb96db3d9354ce33b0c0088065df5aeb7349c7da37d8697654d9f5130d8bd0b7997306d13 SHA512 4618e57e52b7d7d5ece034735a4ce38dd3a8af57e5b897790be4c8e1ee1757d822d7c1bb76d3c7248432c49c13708bffb9bebbbbf61442de98c5a6ec657cbd57
diff --git a/dev-python/line_profiler/line_profiler-3.5.1.ebuild b/dev-python/line_profiler/line_profiler-3.5.1.ebuild
deleted file mode 100644
index d367af0ab0f5..000000000000
--- a/dev-python/line_profiler/line_profiler-3.5.1.ebuild
+++ /dev/null
@@ -1,51 +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_{8..10} )
-# force it to match scikit-build
-CMAKE_MAKEFILE_GENERATOR=ninja
-
-inherit cmake 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}]
-"
-# technically, the package claims to support non-scikit-build build
-# but it's clearly unmaintained and broken at the moment
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/scikit-build[${PYTHON_USEDEP}]
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/ubelt[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- cmake_src_prepare
- distutils-r1_src_prepare
-}
-
-python_test() {
- cd tests || die
- epytest
-}
diff --git a/dev-python/linkify-it-py/Manifest b/dev-python/linkify-it-py/Manifest
new file mode 100644
index 000000000000..e0addc5ca664
--- /dev/null
+++ b/dev-python/linkify-it-py/Manifest
@@ -0,0 +1 @@
+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.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/linkify-it-py/metadata.xml b/dev-python/linkify-it-py/metadata.xml
new file mode 100644
index 000000000000..988228a91da1
--- /dev/null
+++ b/dev-python/linkify-it-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="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">tsutsu3/linkify-it-py</remote-id>
+ <remote-id type="pypi">linkify-it-py</remote-id>
+ </upstream>
+</pkgmetadata>
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 198367ea9888..1eab4b42dc8e 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -1,3 +1,12 @@
-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 llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
+DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
+DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
+DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
+DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
+DIST llvm-project-17.0.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.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-18.1.5.src.tar.xz 132061072 BLAKE2B bfdd987d5992a4d94ae8b14792df3be67a8e8fdf1daef9834cdaa2132df1b7ddb72ba0aabbb34b171a73d0f3b2b0f61e7160f0b278a67fd4850e3f501fd21531 SHA512 9e2f1e251b3754a24a0b39676d78c98692887c05c85cf0bee50fd44d9635290019930d4dabd1ff4ba3c9c1067e7e0e09aa1bbcd3d76687f919a1d44ba85eee20
+DIST llvm-project-18.1.5.src.tar.xz.sig 566 BLAKE2B ad935db71ec3b9fc885d696af440764a71fe7cafc5b3ca0b25a2963100d9cb3790392daebcac1341716c95a8da3c6243f5a8667fea1ed18b93fc8baa495414c9 SHA512 3cbca1059d940f3bd7bd72d68f2828039b66304980cc5f43769649e5494fc7d71117bf8aba5cc7f7a2ffca52f60ba30fadf3b28f984fd49ddb14300e30b45237
+DIST llvm-project-338561657685c1831a53563b1bc36ffc7470239e.tar.gz 209715501 BLAKE2B 49152479d4f2cae430e783784d0cfcc129134f5cc0bf12c72701cd15e59cb3e1be2f61385ba9baa93d1d1193e89374ac8877b909650c163b681d1fcd26732cdc SHA512 d34bbe82e85c5b9d493029ad7b46e802f06f7e7a8a48515d0043c58c3251271f8f3e1e11c47eb91bd3db2477f819d33b43ddebb276eb9601c5ad141e463c9682
+DIST llvm-project-76aa042dde6ba9ba57c680950f5818259ee02690.tar.gz 210235525 BLAKE2B fbbb8e70e0a08bde1fa2277746f692399fa15015b69693f5e8d3297abf02dfb7b36c535880f5c6924c870652dd3106936776d57c34b22234a5419f75b3561bb7 SHA512 9107551ceb2b28aa735006144b3344801ea861d7b49eae4881831af507314fb8da2bf5e8a3a407aeebd2eee01fbfad2ca90269d2331fe43cca5c2cc49dd257b7
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 5accb2c0a42f..000000000000
--- a/dev-python/lit/lit-13.0.1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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 4ba84a917af2..000000000000
--- a/dev-python/lit/lit-14.0.6.ebuild
+++ /dev/null
@@ -1,42 +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_{8..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.0.9999.ebuild b/dev-python/lit/lit-15.0.0.9999.ebuild
deleted file mode 100644
index 8ace6ca8b915..000000000000
--- a/dev-python/lit/lit-15.0.0.9999.ebuild
+++ /dev/null
@@ -1,42 +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_{8..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-15.0.7.ebuild b/dev-python/lit/lit-15.0.7.ebuild
new file mode 100644
index 000000000000..cb3bb23824a5
--- /dev/null
+++ b/dev-python/lit/lit-15.0.7.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_{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="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-16.0.0.9999.ebuild b/dev-python/lit/lit-16.0.0.9999.ebuild
deleted file mode 100644
index 8ace6ca8b915..000000000000
--- a/dev-python/lit/lit-16.0.0.9999.ebuild
+++ /dev/null
@@ -1,42 +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_{8..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.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.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-18.1.5.ebuild b/dev-python/lit/lit-18.1.5.ebuild
new file mode 100644
index 000000000000..5476bd8c23e4
--- /dev/null
+++ b/dev-python/lit/lit-18.1.5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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_pre20240427.ebuild b/dev-python/lit/lit-19.0.0_pre20240427.ebuild
new file mode 100644
index 000000000000..3d0315962098
--- /dev/null
+++ b/dev-python/lit/lit-19.0.0_pre20240427.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_pre20240504.ebuild b/dev-python/lit/lit-19.0.0_pre20240504.ebuild
new file mode 100644
index 000000000000..3d0315962098
--- /dev/null
+++ b/dev-python/lit/lit-19.0.0_pre20240504.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 646fdf9b9636..000000000000
--- a/dev-python/littleutils/littleutils-0.2.2.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 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 276ed7291d94..000000000000
--- a/dev-python/livereload/livereload-2.6.3.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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}]
- www-servers/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 317098362685..000000000000
--- a/dev-python/llfuse/llfuse-1.4.2.ebuild
+++ /dev/null
@@ -1,58 +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_{8..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 81672dc4af58..cd6420e0bfa4 100644
--- a/dev-python/lmdb/Manifest
+++ b/dev-python/lmdb/Manifest
@@ -1 +1 @@
-DIST lmdb-1.3.0.tar.gz 881422 BLAKE2B ad864956d44ec55e36a856125dd21b8e51af37a274f8b546edc68cd2025b19b97cb60f49f51558345b32922f7c968f442e15cdda84e9416280069adc7371a033 SHA512 31a821641e398087a9b8e76341d693c3be48089ffa5b5624043b276d5acb4d7fa25cbbd156dff39a82bf678402eb64d8ca922252a594ecc098946a67cc4d4cf1
+DIST lmdb-1.4.1.tar.gz 881549 BLAKE2B a821473c2c026a3c5f0b2686414c4dd102ae82cba7db12fbaadd5dde5b03f22e9eae630ca87424cc55d3964b40437cfbd833ab7fb237544771cf48429810af96 SHA512 96b39a45c6e7c0fcc0b6f913337d07adb5c8883d0b6a95102b0227b6b92ac3fcdcaf09c132e44f2d3779b5066692b407bb1afd19ae8d87feda56047652a07354
diff --git a/dev-python/lmdb/lmdb-1.3.0.ebuild b/dev-python/lmdb/lmdb-1.3.0.ebuild
deleted file mode 100644
index 531cacd55a1b..000000000000
--- a/dev-python/lmdb/lmdb-1.3.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( pypy3 python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for the Lightning Database"
-HOMEPAGE="https://github.com/jnwatson/py-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"
-
-RDEPEND="
- >=dev-db/lmdb-0.9.28:=
- $(python_gen_cond_dep '
- dev-python/cffi[${PYTHON_USEDEP}]
- ' 'python*')"
-DEPEND="${RDEPEND}"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-python_compile() {
- LMDB_FORCE_SYSTEM=1 distutils-r1_python_compile
-}
-
-python_test() {
- epytest tests
-}
-
-python_install() {
- # This is required when the CFFI extension is used (for PyPy3)
- LMDB_FORCE_SYSTEM=1 distutils-r1_python_install
-}
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 d546c944bfae..21f73849cdd7 100644
--- a/dev-python/lmfit/Manifest
+++ b/dev-python/lmfit/Manifest
@@ -1 +1,3 @@
-DIST lmfit-1.0.3.tar.gz 292475 BLAKE2B 6d97fe671b0d5bb7751d0ead97ab83d8100e2bb16b81bed61ff07ee6355bffd99258ab554032c9b8a35bb4376a1efef0ab988b3eb6d5a9e26f52314719e45dae SHA512 33febdd68104bb41ca379a8acd03a8bb985ba8785d607ab110b63bc7b3b39b9d95161a683fe015613bee6d99100ede82d1f3574515a6bfb9160300a5791fcc55
+DIST lmfit-1.2.2.tar.gz 336346 BLAKE2B 78819c8be935f330b2f0eaad09ff9201c80e12d571571d8ee5088100c4d19a6a78d2e860e7b240fb6f2eea5f27bd0fc72538fdb04e6cc4e3e1d801f4f5fc5110 SHA512 f667bf8eb9c4090beda33de8a32c284a1f1eb2f1643085191943517acf61e125c7bafed37b634267fdc69e49338397248673fc62f8afc8fc8cc6733726cd0313
+DIST lmfit-1.3.0.tar.gz 628754 BLAKE2B e5fa707c8f778227e89c996e4c2763b71562b01e67cbe3558825e2ee278999c5732717953607104ba553faee2984151a978e04c44a624ea95d1bc4fc9f2feb60 SHA512 198b290a8970dc954705824f09b86ee2bd9e12fc71635fe89e38a5911f88103861daab6f292a6e4c93bc3e3413676b33f680cea7adae3137feb251d792f76270
+DIST lmfit-1.3.1.tar.gz 629917 BLAKE2B 6cb5f478bf0b31ce6fe6ccfc97d216fae63f8efa159b30151896254352d3d0e1667d276101f93d357a0dabc39462bd110f115ff6e89c18739c1728f089f54d89 SHA512 b6766224ecd4c75e09a935ab86041852f22491870191c6b6b8cc0e5a873e7c69cb6f11517afa987289c63fb249a8ceef7c336e1c7c4e19d33a2e1bc04fbe6aa6
diff --git a/dev-python/lmfit/lmfit-1.0.3.ebuild b/dev-python/lmfit/lmfit-1.0.3.ebuild
deleted file mode 100644
index 266f2a8ebaa6..000000000000
--- a/dev-python/lmfit/lmfit-1.0.3.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Non-Linear Least-Squares Minimization and Curve-Fitting for Python"
-HOMEPAGE="https://lmfit.github.io/lmfit-py/ https://github.com/lmfit/lmfit-py/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="
- >=dev-python/asteval-0.9.22[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.18[${PYTHON_USEDEP}]
- >=dev-python/uncertainties-3.0.1[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4[${PYTHON_USEDEP}]
-"
-# past from future needed for tests, bug #737978
-BDEPEND="
- test? ( dev-python/future[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests pytest
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/lmfit/lmfit-1.3.1.ebuild b/dev-python/lmfit/lmfit-1.3.1.ebuild
new file mode 100644
index 000000000000..93e1d36d7e10
--- /dev/null
+++ b/dev-python/lmfit/lmfit-1.3.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Non-Linear Least-Squares Minimization and Curve-Fitting for Python"
+HOMEPAGE="
+ https://lmfit.github.io/lmfit-py/
+ https://github.com/lmfit/lmfit-py/
+ https://pypi.org/project/lmfit/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/asteval-0.9.28[${PYTHON_USEDEP}]
+ >=dev-python/dill-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.19[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.6[${PYTHON_USEDEP}]
+ >=dev-python/uncertainties-3.1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/lmfit/metadata.xml b/dev-python/lmfit/metadata.xml
index f20098ac7922..03e21f01eca5 100644
--- a/dev-python/lmfit/metadata.xml
+++ b/dev-python/lmfit/metadata.xml
@@ -9,6 +9,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">lmfit/lmfit-py</remote-id>
<remote-id type="pypi">lmfit</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/locket/locket-1.0.0.ebuild b/dev-python/locket/locket-1.0.0.ebuild
index 89a030b3840e..a26d8463b7d2 100644
--- a/dev-python/locket/locket-1.0.0.ebuild
+++ b/dev-python/locket/locket-1.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..10} )
+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 23f6213dad63..25378bb65c27 100644
--- a/dev-python/lockfile/lockfile-0.12.2-r3.ebuild
+++ b/dev-python/lockfile/lockfile-0.12.2-r3.ebuild
@@ -1,23 +1,22 @@
-# 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_{8..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 ~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 615dd05d8b6f..aa0d850885b1 100644
--- a/dev-python/logbook/Manifest
+++ b/dev-python/logbook/Manifest
@@ -1 +1 @@
-DIST logbook-1.5.3.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.ebuild b/dev-python/logbook/logbook-1.5.3.ebuild
deleted file mode 100644
index c6cca63be0e0..000000000000
--- a/dev-python/logbook/logbook-1.5.3.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-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}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-IUSE=""
-
-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
-
-python_prepare_all() {
- # Delete test file requiring local connection to redis server
- rm tests/test_queues.py || die
- distutils-r1_python_prepare_all
-}
-
-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
new file mode 100644
index 000000000000..62341194ab94
--- /dev/null
+++ b/dev-python/logfury/logfury-1.0.1-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_USE_PEP517=setuptools
+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/
+"
+SRC_URI="
+ https://github.com/reef-technologies/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/testfixtures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # remove pin for old Pythons (sic!)
+ sed -i -e '/setuptools_scm/d' setup.py || die
+ distutils-r1_src_prepare
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
diff --git a/dev-python/logfury/logfury-1.0.1.ebuild b/dev-python/logfury/logfury-1.0.1.ebuild
deleted file mode 100644
index c3e902babc3e..000000000000
--- a/dev-python/logfury/logfury-1.0.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Boilerplate library for logging method calls"
-HOMEPAGE="
- https://github.com/reef-technologies/logfury
- https://pypi.org/project/logfury/"
-SRC_URI="
- https://github.com/reef-technologies/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/testfixtures[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # remove pin for old Pythons (sic!)
- sed -i -e '/setuptools_scm/d' setup.py || die
- distutils-r1_src_prepare
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-}
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 5b8af95e8cbb..000000000000
--- a/dev-python/logical-unification/logical-unification-0.4.5.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 df963952b368..000000000000
--- a/dev-python/loguru/loguru-0.6.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 5e075ff90665..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 ddf2f8ca14a6..6f1944666588 100644
--- a/dev-python/loky/Manifest
+++ b/dev-python/loky/Manifest
@@ -1 +1 @@
-DIST loky-3.1.0.tar.gz 139211 BLAKE2B 32e95312c40d6f8d8f9fc8daf5a1e85f1b874cbb902a4885621983d84a5fa9da42f05ff7d5d6bf58cf04a320c04c6e698ff0105cdad9ddd3248a109cc71c9883 SHA512 8bf6b032bb4f770d89c8de93d95c5805fa90dae34f2754f14c3a9fe7860230e8ce8ea97e1b09fa2cdf67f8aecdbd6d1e47ae4fb746fb1c6912d2dd65033f5b6f
+DIST loky-3.4.1.gh.tar.gz 143933 BLAKE2B b55dc9fe431769de6bc7f8d9854c40a361566d9c0325c7037255c5ce2b9875ff071743892ec5db53be7744955558195eb40fc5467917eeba3d533c68f285a1ec SHA512 435dc24a0532e6a40a67613fd1e13a06439ffe00c28b90fa36ff02255b67e0dd99d515f5659a36aa1049a9df73b16c1088989a1379a8492ebc5dbf1e53a37a06
diff --git a/dev-python/loky/loky-3.1.0.ebuild b/dev-python/loky/loky-3.1.0.ebuild
deleted file mode 100644
index 7d1bdf178dce..000000000000
--- a/dev-python/loky/loky-3.1.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Robust and reusable Executor for joblib"
-HOMEPAGE="https://github.com/joblib/loky"
-SRC_URI="
- https://github.com/joblib/loky/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/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
- )
-
- # high memory test needs a lot of memory + is broken on 32-bit platforms
- epytest --skip-high-memory -p no:xvfb
-}
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..b899863d3c74
--- /dev/null
+++ b/dev-python/looseversion/looseversion-1.3.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=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/lunr/Manifest b/dev-python/lunr/Manifest
deleted file mode 100644
index 1299ac30e9de..000000000000
--- a/dev-python/lunr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST lunr-0.6.2.tar.gz 45968 BLAKE2B dd9328182f58ff623bf81c5cfdf31e7a8b004f5aa9e64934f09ffda3626143f5dc5ab92339208b886a91e00100cff65295b65d416faa3f38bbe4fe6c39299826 SHA512 6b7c29d30a8a64b71246ff884e473cceeef5e00e382ad54474e7855dcafcf3817dcc14c29c1bb2eb3371f1cb5ab1485a7840dbe41d345a4503294052aa9cd644
diff --git a/dev-python/lunr/lunr-0.6.2.ebuild b/dev-python/lunr/lunr-0.6.2.ebuild
deleted file mode 100644
index 54c7583f9e3d..000000000000
--- a/dev-python/lunr/lunr-0.6.2.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="A Python implementation of Lunr.js"
-HOMEPAGE="https://github.com/yeraydiazdiaz/lunr.py"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="dev-python/nltk[${PYTHON_USEDEP}]"
-
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/acceptance_tests
- tests/test_stemmer
-)
diff --git a/dev-python/lunr/metadata.xml b/dev-python/lunr/metadata.xml
deleted file mode 100644
index 388a29f37a98..000000000000
--- a/dev-python/lunr/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">lepture/python-livereload</remote-id>
- <remote-id type="pypi">lunr</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/lxml-html-clean/Manifest b/dev-python/lxml-html-clean/Manifest
new file mode 100644
index 000000000000..377c78223a4e
--- /dev/null
+++ b/dev-python/lxml-html-clean/Manifest
@@ -0,0 +1 @@
+DIST lxml_html_clean-0.1.1.tar.gz 14086 BLAKE2B 5ff4c01847298fc7c63b3243805ae9cd9013a4bc0b263d3235344cb6a46b4e09d4f2c5d559e4fb311f7dc1c92262feaa53caa3562dff1e65b302af65abbd025a SHA512 f297a17f84cec472026d12246f95013bf6c0cab932dccb6432a1140503d62255a3a9357798047044175ce8f9d1d86d3ea9a73a732ec299d65263ccf637315e95
diff --git a/dev-python/lxml-html-clean/lxml-html-clean-0.1.1.ebuild b/dev-python/lxml-html-clean/lxml-html-clean-0.1.1.ebuild
new file mode 100644
index 000000000000..be9038fb8598
--- /dev/null
+++ b/dev-python/lxml-html-clean/lxml-html-clean-0.1.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Separate project for HTML cleaning functionalities copied from lxml.html.clean"
+HOMEPAGE="
+ https://pypi.org/project/lxml-html-clean/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/lxml-5.2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/lxml-html-clean/metadata.xml b/dev-python/lxml-html-clean/metadata.xml
new file mode 100644
index 000000000000..fb6f3eebe669
--- /dev/null
+++ b/dev-python/lxml-html-clean/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" 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="pypi">lxml-html-clean</remote-id>
+ <remote-id type="github">fedora-python/lxml_html_clean</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/lxml/Manifest b/dev-python/lxml/Manifest
index 4c8176cb7443..119dc61cde67 100644
--- a/dev-python/lxml/Manifest
+++ b/dev-python/lxml/Manifest
@@ -1 +1,4 @@
-DIST lxml-4.9.1.gh.tar.gz 960663 BLAKE2B bb464757f9188a76661732d237f3b0f9010f51dd9c5426b578ca8fdb486d28fcfec81d4dd817b2fa0601ed9d7890e01ce71e4ea4c842b92e59dd5437200bad22 SHA512 f52d54908f92997f610638a9a3054cb73723ae81a5ad9e77918b0603ec7441b0e7d2143f8a8ac66c05cd6a0b3b298d348397b7e2df19f83c21e336514c47d910
+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.1.ebuild b/dev-python/lxml/lxml-4.9.1.ebuild
deleted file mode 100644
index 8fe4d849c3d5..000000000000
--- a/dev-python/lxml/lxml-4.9.1.ebuild
+++ /dev/null
@@ -1,108 +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_{8..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
- has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
- 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..48345b052c05
--- /dev/null
+++ b/dev-python/lxml/lxml-5.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_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 optfeature toolchain-funcs
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="
+ https://lxml.de/
+ https://pypi.org/project/lxml/
+ https://github.com/lxml/lxml/
+"
+SRC_URI="
+ https://github.com/lxml/lxml/archive/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/lxml-${P}
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples +threads test"
+RESTRICT="!test? ( test )"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+DEPEND="
+ >=dev-libs/libxml2-2.10.3
+ >=dev-libs/libxslt-1.1.38
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ ')
+ )
+ test? (
+ dev-python/cssselect[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.1-pypy.patch"
+)
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
+}
+
+python_prepare_all() {
+ # avoid replacing PYTHONPATH in tests.
+ sed -i -e '/sys\.path/d' test.py || die
+
+ # don't use some random SDK on Darwin
+ sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
+ setupinfo.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local DISTUTILS_ARGS=(
+ # by default it adds -w to CFLAGS
+ --warnings
+ )
+ tc-export PKG_CONFIG
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake html
+}
+
+python_test() {
+ local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ cp -al "${BUILD_DIR}"/{install,test} || die
+ cp -al src/lxml/tests "${dir}/" || die
+ cp -al src/lxml/html/tests "${dir}/html/" || die
+ ln -rs "${S}"/doc "${dir}"/../../ || die
+
+ # 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
+ optfeature "Support for lxml.html.clean sanitizer" dev-python/lxml-html-clean
+}
diff --git a/dev-python/lxml/metadata.xml b/dev-python/lxml/metadata.xml
index 5d72e3dc7260..f7dc349c9fdb 100644
--- a/dev-python/lxml/metadata.xml
+++ b/dev-python/lxml/metadata.xml
@@ -6,6 +6,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="cpe">cpe:/a:lxml:lxml</remote-id>
<remote-id type="pypi">lxml</remote-id>
<remote-id type="github">lxml/lxml</remote-id>
<bugs-to>https://bugs.launchpad.net/lxml</bugs-to>
diff --git a/dev-python/lz4/Manifest b/dev-python/lz4/Manifest
index 3efbe55c2f4e..7ffa09f55d9e 100644
--- a/dev-python/lz4/Manifest
+++ b/dev-python/lz4/Manifest
@@ -1,2 +1 @@
-DIST lz4-4.0.1.tar.gz 164309 BLAKE2B 6338c2d74dedf1dc92f455378ef87c691291fdd16faebff8992aa927bf95c707b346af6bb35c512d8095b60a1878615d1081ba64f99c083e580eeacfb5cf11a5 SHA512 caa08a8a531ca2887ce7e596b7a3d9d8f8f2b93c6ea48c3fb0f8bbe6e6f2a18fb6b3c055e57841f8ce74f70367738a28dbb5fb1f07cbf785434642e6034b558e
-DIST lz4-4.0.2.tar.gz 164309 BLAKE2B ea08c9786ee224aaf668a74269413c836a4288ab1a3c27497012621bdda9c8c1729c4cb6ba49cb74e7e5302fabbfddba94f8ed94a9612fdf21018a5cbdc70566 SHA512 f2fdd133b9c7389cd7d45b41e61944093b65bcbf529146740fa3721e683a9b4554166c2ad719298e6153e61facc4a4cb021ffd969cd16d4a5b6555fd8f14728f
+DIST lz4-4.3.3.tar.gz 171509 BLAKE2B 7db336fd488ca1ba6bb80ba6a6e66bf1499004bb1ba46a3451c90721d7bb76f49ac5fc5bb5f884e350a29b565a7db14fccb907da925f7b5d14474e030e967e77 SHA512 9bdacf6766cca5d1c59f0a0f795910da104ce51d4c43057c4c07fed98765881a702604d60d22a10dea937c4d683e3fcf07c26a6c7a7b5a15b45759fcedb55900
diff --git a/dev-python/lz4/lz4-4.0.1.ebuild b/dev-python/lz4/lz4-4.0.1.ebuild
deleted file mode 100644
index 10c11eec6203..000000000000
--- a/dev-python/lz4/lz4-4.0.1.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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.0.2.ebuild b/dev-python/lz4/lz4-4.0.2.ebuild
deleted file mode 100644
index 55d987ab74fc..000000000000
--- a/dev-python/lz4/lz4-4.0.2.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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.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 c53d59ced1a0..000000000000
--- a/dev-python/m2crypto/m2crypto-0.38.0.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2018-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 dd63d8aca6e2..37e5a01e8007 100644
--- a/dev-python/makefun/Manifest
+++ b/dev-python/makefun/Manifest
@@ -1 +1 @@
-DIST makefun-1.14.0.tar.gz 73792 BLAKE2B 8a3f947d53787efc1be6d76c4c817063a21d0e135815d196988aa2c6d1e0998344010dfd1e2f33f31c0d47fcad8b7e4c0c7c9e408bdd3ea60f668c3ec8ae09dd SHA512 49b239a559e0ec5e28c29c210161c3530e1d89b39a22f16382f0569a47a6d696917d86c9abefb7ac6dc59f904276f8a853a2dc09b1d9c2332e422757f6eb9a08
+DIST makefun-1.15.2.tar.gz 74602 BLAKE2B 1992eebfdbff6062ed60e1f66891995a91b7155792ef7b6e701d1d3ee5939ab40d3ab976674e25a5b97030cd7de59db2c69f3c215681cef2f80f2b64523f822b SHA512 b6cb588ebf491176b06e97201846b2a5cee65f60e34b5dbcc4878d8a55e7f9fcf4b58126cb3a4ca47f5d2726422dff9ee685566c5d093dbd8fd75119ecc796b2
diff --git a/dev-python/makefun/makefun-1.14.0.ebuild b/dev-python/makefun/makefun-1.14.0.ebuild
deleted file mode 100644
index 1e07ee20454f..000000000000
--- a/dev-python/makefun/makefun-1.14.0.ebuild
+++ /dev/null
@@ -1,31 +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_{8..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 -i -e '/pytest-runner/d' 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 a2ad1ad53957..d8a9380730ab 100644
--- a/dev-python/mako/Manifest
+++ b/dev-python/mako/Manifest
@@ -1 +1 @@
-DIST Mako-1.2.1.tar.gz 489560 BLAKE2B c8006d5f7a814a1466ad6643200693f014c4a23f284701a9bea6a27246c196c87e5c4bf8e12ae0525563ce60c93944a58b1fa45afc6caf3362aa1d761148910a SHA512 02393054c9e3857ee412f494b01d702b5f367165d2f57a5ff9df34ba1a042b60c7b6c059ce2c53bcb91e3a4a21179eca884ee051bf5f5f3522c05253088d38a5
+DIST Mako-1.3.3.tar.gz 389980 BLAKE2B 1c890f159e808a7026e46a489d49ec19a346ce0a8be8d2ea1ef870435830a9021b0877a3d395c9273609be9dc4b11d1e5359d89a9b571a73f05de11152988800 SHA512 fa8bf3997f7a3edc18057f53e8450d72d5c86019229fef91eaa141f0b65a081ca9425c14245227b35aedcccc7dbe52e90bc7dfee34598b490e93cd01fc4a8321
diff --git a/dev-python/mako/mako-1.2.1.ebuild b/dev-python/mako/mako-1.2.1.ebuild
deleted file mode 100644
index 61bedd65c827..000000000000
--- a/dev-python/mako/mako-1.2.1.ebuild
+++ /dev/null
@@ -1,58 +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_{8..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=(
- # change in pygments
- test/test_exceptions.py::ExceptionsTest::test_format_exceptions_pygments
- )
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- test/test_exceptions.py::ExceptionsTest::test_alternating_file_names
- )
- local EPYTEST_IGNORE=(
- # lingua is not packaged in Gentoo and the skip is currently broken
- # https://github.com/sqlalchemy/mako/pull/357
- test/ext/test_linguaplugin.py
- )
- 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..cfeb5449315c
--- /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 07a9ac4016a6..000000000000
--- a/dev-python/mamba/mamba-0.11.2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{7..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 c86ae3090eb8..d64a4c497634 100644
--- a/dev-python/mando/mando-0.7.1.ebuild
+++ b/dev-python/mando/mando-0.7.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="examples"
RDEPEND="
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/manuel-1.12.4.ebuild b/dev-python/manuel/manuel-1.12.4.ebuild
deleted file mode 100644
index 53d57dc4f904..000000000000
--- a/dev-python/manuel/manuel-1.12.4.ebuild
+++ /dev/null
@@ -1,37 +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_{8..10} )
-
-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}]
- )
-"
-
-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/Manifest b/dev-python/mapbox_earcut/Manifest
index 2e96eda8bf7e..c972a5a3bb86 100644
--- a/dev-python/mapbox_earcut/Manifest
+++ b/dev-python/mapbox_earcut/Manifest
@@ -1 +1 @@
-DIST mapbox_earcut_python-1.0.0.tar.gz 11418 BLAKE2B af1b2c34fe5807145de4b8db3f4b8803c3c03a89f6f3c9fa053ec256eaa5089867d570b9ff66d19a11808e1a452039cf6d194494fbe964cc18f233a528203293 SHA512 8f3687ac11497ad73c2a3dd1d1203dccf655da623d1638e638978a59388e0c057ca6f895782b609d59a2a4be478d6daf2294523a946c8a5d232dcfe718e4eec9
+DIST mapbox_earcut_python-1.0.1.gh.tar.gz 11794 BLAKE2B c54c2333ac08f551737ff6ba0e5179464c0330fefeb11e5cff9ad6d3927e8a5d5323cbceffd271a25103e75da44f2a4efa17b8c338f888f69f71ee7bc1e21682 SHA512 cdb32585cbaf74c15e59af0ae70d983dd2f9bc9cfe1b59b3eadc4d442f7d962241854b589a035deae67cacd9334833b911d0981f0d417fe587348fc7d24f0c0a
diff --git a/dev-python/mapbox_earcut/mapbox_earcut-1.0.0.ebuild b/dev-python/mapbox_earcut/mapbox_earcut-1.0.0.ebuild
deleted file mode 100644
index 2bd337492c06..000000000000
--- a/dev-python/mapbox_earcut/mapbox_earcut-1.0.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-MY_PN="${PN}_python"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Python bindings to the mapbox earcut C++ library"
-HOMEPAGE="https://github.com/skogler/mapbox_earcut_python"
-# No tests in PyPI and GitHub release tarballs
-SRC_URI="https://github.com/skogler/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
-BDEPEND="dev-python/pybind11[${PYTHON_USEDEP}]"
-
-DOCS=( CHANGELOG.md README.md )
-
-distutils_enable_tests pytest
-
-S="${WORKDIR}"/${MY_P}
diff --git a/dev-python/mapbox_earcut/mapbox_earcut-1.0.1-r1.ebuild b/dev-python/mapbox_earcut/mapbox_earcut-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..21a9a14ecf70
--- /dev/null
+++ b/dev-python/mapbox_earcut/mapbox_earcut-1.0.1-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+MY_P="mapbox_earcut_python-${PV}"
+DESCRIPTION="Python bindings to the mapbox earcut C++ library"
+HOMEPAGE="https://github.com/skogler/mapbox_earcut_python"
+SRC_URI="
+ https://github.com/skogler/mapbox_earcut_python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+DEPEND="
+ dev-python/numpy:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/pybind11[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+DOCS=( CHANGELOG.md README.md )
diff --git a/dev-python/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.ebuild b/dev-python/markdown-it-py/markdown-it-py-2.1.0.ebuild
deleted file mode 100644
index ce22f739c605..000000000000
--- a/dev-python/markdown-it-py/markdown-it-py-2.1.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..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="amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/attrs-22[${PYTHON_USEDEP}]
- dev-python/mdurl[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-regressions[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Unimportant tests needing a new dep linkify
- tests/test_linkify.py::test_token_levels
- tests/test_port/test_fixtures.py::test_linkify
-)
-
-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 645d14e68120..bd927655745d 100644
--- a/dev-python/markdown/Manifest
+++ b/dev-python/markdown/Manifest
@@ -1,3 +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.4.tar.gz 322529 BLAKE2B db7d5a6f9c6e60916756d208b90ad5134349df83f2cf720ec23421de3e48cae4cc812b73423f1e1731b643642560697295499955dc3c40846efe40e23e3a9f43 SHA512 5ef87d89518a758009ec0d52ce1141b48777088e82c8dc4862d2b388f9a6b82ebaf66a7382342303076c8f71ca7afe5c79133f33b23dced5eb21ddcd8bdaa426
+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 ab927ec51b5c..000000000000
--- a/dev-python/markdown/markdown-3.3.7.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=( python3_{8..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 50697fc675c3..000000000000
--- a/dev-python/markdown/markdown-3.4.1.ebuild
+++ /dev/null
@@ -1,45 +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_{8..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.4.ebuild b/dev-python/markdown/markdown-3.4.ebuild
deleted file mode 100644
index 80d3ecb64f9a..000000000000
--- a/dev-python/markdown/markdown-3.4.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=( python3_{8..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.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 6a2ef23abf71..8da43ed84ea6 100644
--- a/dev-python/markdown2/Manifest
+++ b/dev-python/markdown2/Manifest
@@ -1 +1 @@
-DIST markdown2-2.4.3.tar.gz 102973 BLAKE2B 7a856a9d0bd539e3de1e358aa7d4968aca62b67a30dc64a905633040a6a525b2ac1ec0d4cd7d8d4ed9b38e68e5df3f187cf0f56e1816a4ec10efe4e849356580 SHA512 b5eb5cb6ac52878a224aa6b4642ade86593de5340594271940b3ef25809a9e37b9b3cbb04f4fa9880a50a4fee8ed85c1c6d76b19065b0fd703363faf4d812679
+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.3.ebuild b/dev-python/markdown2/markdown2-2.4.3.ebuild
deleted file mode 100644
index 6ee542b38514..000000000000
--- a/dev-python/markdown2/markdown2-2.4.3.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_{8..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[${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 d0782d812b3b..bbad5d1fac50 100644
--- a/dev-python/markups/Manifest
+++ b/dev-python/markups/Manifest
@@ -1 +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 9284fd8ef027..000000000000
--- a/dev-python/markups/markups-3.1.3.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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
new file mode 100644
index 000000000000..6513b424c7ac
--- /dev/null
+++ b/dev-python/markups/markups-4.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_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+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="$(pypi_sdist_url --no-normalize "${PN^}")"
+S=${WORKDIR}/${P^}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/markdown[${PYTHON_USEDEP}]
+ dev-python/python-markdown-math[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/textile[${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/markupsafe/Manifest b/dev-python/markupsafe/Manifest
index 4d362dbc1aa0..f4ec7c22901f 100644
--- a/dev-python/markupsafe/Manifest
+++ b/dev-python/markupsafe/Manifest
@@ -1,2 +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.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 74b14b8eac66..000000000000
--- a/dev-python/markupsafe/markupsafe-1.1.1-r1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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 be418d3cf5f0..000000000000
--- a/dev-python/markupsafe/markupsafe-2.1.1.ebuild
+++ /dev/null
@@ -1,27 +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_{8..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 978fef22a0d1..697bd8b45f51 100644
--- a/dev-python/marshmallow/Manifest
+++ b/dev-python/marshmallow/Manifest
@@ -1,2 +1,2 @@
-DIST marshmallow-3.16.0.tar.gz 180106 BLAKE2B c3d9b9c1645e7df103940b8e637f3de027f23e5da4a6ebd25412fef9d2d61483ec934af5c37f781121928a7b2f98b44793a8671173a5c548936ce0bbd0d2290d SHA512 5d3c7babff9117261afb902090bffcdba4eee2984d13862f4974fc043c6e56420707a6d3aba4a6046d947ef9414386c24895fc9a2538e36e505692e76d70f409
-DIST marshmallow-3.17.0.gh.tar.gz 180037 BLAKE2B 17fa577a969d82555312b362b41e6c61c209566ba418c9aa14ef1195b7317477a9e7c7d669e5643bee0d12454fee79bcf35a9eb625ad499347299e6727afb6bc SHA512 3fceb6dcb3df7339d0c002ac90ed9960bdcc174b29ad0fc3222a435d3980b892ae07c1080483b7a5a71455a475ae1086869432cefab898a1008ad33c7efc1f99
+DIST marshmallow-3.21.1.gh.tar.gz 183822 BLAKE2B 786287604312b4c54167458c35caf5ac3eb2c9ce63c1b9bd0b8fc33e208e5f694e84842c75c93fd91535bc231ebf703ea3ea0b352d100b59f103e280b840b170 SHA512 6de06ced6a58ef0c312ee4c1edfbe011401bba08c27fcf2dd2c3e44cb072cded1cf5f16a4d4945344d56f0d26b5eb165f6d031b50c215f122c7cc6fe25389318
+DIST marshmallow-3.21.2.gh.tar.gz 183818 BLAKE2B 01e14514d836c36c9f24a6e0a527271bd17ea5ce1ce35cabb6200a886c85ef970e7d54191307d1580568f05b501ec6028c7f126475ac64c160fec75c247a4c20 SHA512 b151f7e712dc5dd5d7f592942a6a4b09d462b684f542406c8bc57237e4b2402eb287d02e4ca2ef65e10dccb1e200b9ff8ae24f69160af1c6aa02fc5dfdc9eeba
diff --git a/dev-python/marshmallow/marshmallow-3.16.0.ebuild b/dev-python/marshmallow/marshmallow-3.16.0.ebuild
deleted file mode 100644
index 98fb29348702..000000000000
--- a/dev-python/marshmallow/marshmallow-3.16.0.ebuild
+++ /dev/null
@@ -1,30 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A library for converting to and from native Python datatypes"
-HOMEPAGE="https://github.com/marshmallow-code/marshmallow/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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.17.0.ebuild b/dev-python/marshmallow/marshmallow-3.17.0.ebuild
deleted file mode 100644
index f924d3b5509e..000000000000
--- a/dev-python/marshmallow/marshmallow-3.17.0.ebuild
+++ /dev/null
@@ -1,36 +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_{8..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.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/marshmallow/marshmallow-3.21.2.ebuild b/dev-python/marshmallow/marshmallow-3.21.2.ebuild
new file mode 100644
index 000000000000..2adebae08366
--- /dev/null
+++ b/dev-python/marshmallow/marshmallow-3.21.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..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 c9fb0311408f..f2bb96d1af9a 100644
--- a/dev-python/matplotlib-inline/Manifest
+++ b/dev-python/matplotlib-inline/Manifest
@@ -1 +1 @@
-DIST matplotlib-inline-0.1.3.gh.tar.gz 7337 BLAKE2B 995b6e5ce9068760e701e3b429d2187bdc7e7c5b989d54a9fb1f8b5f385f91c6a3621a54d5a1e62c9000737f5f42d9ceae5be7f36b664b7e06ff9c712e6d76ac SHA512 684821204faa3cb35c46663b8c8cb8f0ba5d4f761d15bc708de69c98753685c89da1d330087bcfa970792de592188768dc068accc471d55360f551e44cf4a79a
+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.3-r1.ebuild b/dev-python/matplotlib-inline/matplotlib-inline-0.1.3-r1.ebuild
deleted file mode 100644
index 4b448be54c8b..000000000000
--- a/dev-python/matplotlib-inline/matplotlib-inline-0.1.3-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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 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..8f1788e982c8
--- /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 aadb19159e1e..14aeadc14202 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,3 +1,3 @@
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
-DIST matplotlib-3.5.1.tar.gz 35320470 BLAKE2B ebf69b62ac587c61ecf8442abaab302019f63a3c9d8db6f7f7fb32f4d14da554fd8305ea6dfed2ff86a5af4e7e4d2b81f14802692fe50c986f7da8545bd26c00 SHA512 a317dbd748e5fc1fafcf80020cb6d38a8888431487beded97acd59d759e67e54f59506b642e4a03d4351c1ac050d15e3f2e2b5443433debc78ddad52881c8d82
-DIST matplotlib-3.5.2.tar.gz 35210006 BLAKE2B e3f90a0cf1d28f041a8cdd6920a8a4efe16169bb4acf85f7b2562196db306eeb692218728ea33c7b62214e7894e83a104954cbef38c45ccbb4f630bd35c0c36b SHA512 32844dfa85dbc43360c1773d748a58d2ab089111c51c825da62956c778a0eeaf10ca33a5c6c094295388a80d5873a2e1b17484e02b653e9e8e5ba98659329974
+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.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.5.0-test.patch
deleted file mode 100644
index 214117d772ca..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.5.0-test.patch
+++ /dev/null
@@ -1,248 +0,0 @@
-From 5487db555adb0385892216e7819a1bf6cea41116 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_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/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
- lib/mpl_toolkits/tests/test_mplot3d.py | 2 +-
- 12 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 17f8e5c631..b44cd454ef 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -868,7 +868,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
-@@ -4163,7 +4163,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_contour.py b/lib/matplotlib/tests/test_contour.py
-index 6396105f12..45b7022d03 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -341,7 +341,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 cb8f63893a..ef56c50d25 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)
-@@ -1000,7 +1000,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 21c8ab748d..a05cb4c571 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 88c3ec2768..b536ba3ff0 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/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index 3c4aa9a9eb..94ad419ceb 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -324,7 +324,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')
-diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
-index 5fee82f519..ed55a7bf68 100644
---- a/lib/mpl_toolkits/tests/test_mplot3d.py
-+++ b/lib/mpl_toolkits/tests/test_mplot3d.py
-@@ -1357,7 +1357,7 @@ def test_errorbar3d():
-
-
- @image_comparison(['stem3d.png'], style='mpl20',
-- tol=0.0 if platform.machine() == 'x86_64' else 0.003)
-+ tol=0.003)
- def test_stem3d():
- fig, axs = plt.subplots(2, 3, figsize=(8, 6),
- constrained_layout=True,
---
-2.34.0
-
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.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.1-r2.ebuild b/dev-python/matplotlib/matplotlib-3.5.1-r2.ebuild
deleted file mode 100644
index ce449939b282..000000000000
--- a/dev-python/matplotlib/matplotlib-3.5.1-r2.ebuild
+++ /dev/null
@@ -1,289 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="https://matplotlib.org/"
-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? (
- >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- )
-"
-
-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/flaky[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
-"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-distutils_enable_tests pytest
-
-pkg_setup() {
- unset DISPLAY # bug #278524
-}
-
-use_supported() {
- case ${1} in
- wxwidgets)
- [[ ${EPYTHON} == python3.[678] ]]
- ;;
- esac
-
- return 0
-}
-
-use_setup() {
- local uword="${2:-${1}}"
- if use_supported "${1}" && 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.0-test.patch
- )
-
- # requires jupyter-nbconvert
- rm lib/matplotlib/tests/test_backend_nbagg.py || die
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
-
- sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
- -i lib/matplotlib/tests/test_*.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || 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
-}
-
-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 = $(usex test True False)
- [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 --build-lib="${BUILD_DIR}"/lib
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- # necessary for in-source build
- local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- # 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
- ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
- distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(argv=['-m', 'not network'], verbosity=2))" || die
-}
-
-python_install() {
- wrap_setup distutils-r1_python_install
-
- # mpl_toolkits namespace
- python_moduleinto mpl_toolkits
- python_domodule lib/mpl_toolkits/__init__.py
-}
-
-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
-
- find "${D}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild b/dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild
deleted file mode 100644
index 490ee1bc6338..000000000000
--- a/dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild
+++ /dev/null
@@ -1,282 +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_{8..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? (
- >=www-servers/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}]
- >=www-servers/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"
-
- 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.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..734778e897fe
--- /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/matplotlib/metadata.xml b/dev-python/matplotlib/metadata.xml
index a175feb0f0c1..5792b1da5a09 100644
--- a/dev-python/matplotlib/metadata.xml
+++ b/dev-python/matplotlib/metadata.xml
@@ -18,7 +18,7 @@
<use>
<flag name="excel">Pull <pkg>dev-python/xlwt</pkg> for the exceltools toolkit</flag>
<flag name="gtk3">Enable <pkg>x11-libs/gtk+</pkg>:3 support</flag>
- <flag name="webagg">Enable webagg backend that uses <pkg>www-servers/tornado</pkg></flag>
+ <flag name="webagg">Enable webagg backend that uses <pkg>dev-python/tornado</pkg></flag>
</use>
<upstream>
<remote-id type="pypi">matplotlib</remote-id>
diff --git a/dev-python/matrix-common/Manifest b/dev-python/matrix-common/Manifest
index 8f3aea5f9006..c3e0efaf5102 100644
--- a/dev-python/matrix-common/Manifest
+++ b/dev-python/matrix-common/Manifest
@@ -1 +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 161d2ed85388..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/metadata.xml b/dev-python/matrix-common/metadata.xml
index 88ed39af8ea2..8feff6de3d0d 100644
--- a/dev-python/matrix-common/metadata.xml
+++ b/dev-python/matrix-common/metadata.xml
@@ -1,14 +1,11 @@
<?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>
<remote-id type="github">matrix-org/matrix-python-common</remote-id>
diff --git a/dev-python/matterhook/matterhook-0.2-r2.ebuild b/dev-python/matterhook/matterhook-0.2-r2.ebuild
index 6000976deeb0..e41c6fc62449 100644
--- a/dev-python/matterhook/matterhook-0.2-r2.ebuild
+++ b/dev-python/matterhook/matterhook-0.2-r2.ebuild
@@ -1,16 +1,15 @@
-# 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_{8..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/Manifest b/dev-python/mccabe/Manifest
index 5ecec9341694..7d09297cd122 100644
--- a/dev-python/mccabe/Manifest
+++ b/dev-python/mccabe/Manifest
@@ -1,2 +1 @@
-DIST mccabe-0.6.1.tar.gz 8612 BLAKE2B 6828dfd852cf9b47de10bd889dd4c32dc1ee95910fbd27e0921cd7d9975a0831b1c2763eda5b2d77d7e4b44b5a9d0e89f0818cab71de655954cc87cacfe8d382 SHA512 d8fc251a29790887c14c5932c5172b4cd578cd37ccf14cb96e80f0b97f27023427ea032d14e1e2a99d72627b055eb285f60db69e679ecd79d90a34b0255703d8
DIST mccabe-0.7.0.tar.gz 9658 BLAKE2B b4664a00d4760e2f662681875b548b67ad76d6b8a0ee46bf160e3232ad75172512ad7b4a99759dc13607cf06f3c772210b76a7051582d0bbd221091772543c07 SHA512 3e4141033c63434fad183f62dece872554302aeee8cb789586ac7d6d748d198799e2797df1d58458f4d431734f8899f11022d76666c848d43e6271304776346d
diff --git a/dev-python/mccabe/mccabe-0.6.1-r2.ebuild b/dev-python/mccabe/mccabe-0.6.1-r2.ebuild
deleted file mode 100644
index 4a2bda6049ea..000000000000
--- a/dev-python/mccabe/mccabe-0.6.1-r2.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{8..10} )
-
-inherit distutils-r1
-
-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 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-LICENSE="MIT"
-SLOT="0"
-
-RDEPEND="dev-python/flake8[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -i -e '/pytest-runner/d' setup.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/mccabe/mccabe-0.7.0.ebuild b/dev-python/mccabe/mccabe-0.7.0.ebuild
index 8713a242dc81..f226517744e6 100644
--- a/dev-python/mccabe/mccabe-0.7.0.ebuild
+++ b/dev-python/mccabe/mccabe-0.7.0.ebuild
@@ -1,17 +1,16 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( pypy3 python3_{8..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 ~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 c04b4ab0815a..c41343c6b8c4 100644
--- a/dev-python/mdit-py-plugins/Manifest
+++ b/dev-python/mdit-py-plugins/Manifest
@@ -1 +1 @@
-DIST mdit-py-plugins-0.3.0.gh.tar.gz 50654 BLAKE2B e84842e7cada1d9239f1d449c1a21ed654ab13017ea92f82190053b37371bc7e06d7afb65f6f56f7fa935666d24d05dca99628121bd4092a1143c289588ddfa4 SHA512 dd6aa738c6d93e45437326b1be52e0a9fc411aa3beacb61690919c272979c97ac1b38116b1ebb01c7d8fe724d4af9621c81ccd45131a690df8a2c0c325eef0e8
+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.0.ebuild b/dev-python/mdit-py-plugins/mdit-py-plugins-0.3.0.ebuild
deleted file mode 100644
index f61d57f5aac8..000000000000
--- a/dev-python/mdit-py-plugins/mdit-py-plugins-0.3.0.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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="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/Manifest b/dev-python/mdurl/Manifest
index d074177f4a22..efa2e7b9c247 100644
--- a/dev-python/mdurl/Manifest
+++ b/dev-python/mdurl/Manifest
@@ -1 +1 @@
-DIST mdurl-0.1.1.gh.tar.gz 15265 BLAKE2B 1a0126c674c69f43df08be248e88bc65529ea25703f6d43f1cd5917181b547b55541a4dae953a4e20e1f18bdc3eac17e54e6347d9e90fe2957c6935bee3edaf2 SHA512 ae7ee5672f59595d96fa3fd8b45154d3175881432dea60c72ef6dbd0b22124a20183539c83552bb9a8dfa1fc1c4ac3132201ce389a6678853c55c0224aa04622
+DIST mdurl-0.1.2.gh.tar.gz 15236 BLAKE2B 797ff496e116c0aa4c5045e9dc34f0762b1492d74fc0b85a081fb7447c3880618e0e4936205afb92b75524e0381fe4ab94d0d47faae9a6ed6d7b2fc51a5efba3 SHA512 e301ca3ab6d80df1ad28b9c2725d66b6e6cf139d93e5f7fd2a70333678616a3f6db64f15250972eee3cd1cf1eaff6ec587415629e6802dcf07995edff6865ff2
diff --git a/dev-python/mdurl/mdurl-0.1.1.ebuild b/dev-python/mdurl/mdurl-0.1.1.ebuild
deleted file mode 100644
index 69825963d362..000000000000
--- a/dev-python/mdurl/mdurl-0.1.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Markdown URL utilities"
-HOMEPAGE="
- https://pypi.org/project/mdurl/
- https://github.com/executablebooks/mdurl/
-"
-SRC_URI="
- https://github.com/hukkin/mdurl/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"
-
-distutils_enable_tests pytest
diff --git a/dev-python/mdurl/mdurl-0.1.2.ebuild b/dev-python/mdurl/mdurl-0.1.2.ebuild
new file mode 100644
index 000000000000..b158718cedf0
--- /dev/null
+++ b/dev-python/mdurl/mdurl-0.1.2.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=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Markdown URL utilities"
+HOMEPAGE="
+ https://pypi.org/project/mdurl/
+ https://github.com/executablebooks/mdurl/
+"
+SRC_URI="
+ https://github.com/hukkin/mdurl/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
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 145d45c87c2c..000000000000
--- a/dev-python/mdx_gh_links/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST github-links-0.3.gh.tar.gz 6756 BLAKE2B 6b9f7e86d2ec96a6b1b9fd21f20f1964e5fbf4b3ebb33bcd6dccd2e8b811acff7e39606acbf8f48a602afb21733dbd6375e2d1ef30a2a551547fbf9582b525c6 SHA512 8f738298d8a1512e2757a3a7fed091e3a90d59b20b3d03f1a75e087b30b9f9d4876d46ced04994f98a4454a9bf4ebabc305ebf28b4441eb93e5df87822c35459
-DIST mdx_gh_links-0.2.tar.gz 4961 BLAKE2B 02a391d3a0dde532cecbd4f025a7624a90aea698815ddb797cc4f74e2be80f5b55013b9cb3d358f92dcdb43fa9a160880c881ed3ac2a4f2c306f16dad06e1f3b SHA512 0a6be387e4b3d5f31601a365679733647f9669d61537ef3b630321d61f1d645f633098b92cf2fbd61faeb8469094bd89a5df8a561d15b8908645314ded4dd42a
diff --git a/dev-python/mdx_gh_links/mdx_gh_links-0.2-r1.ebuild b/dev-python/mdx_gh_links/mdx_gh_links-0.2-r1.ebuild
deleted file mode 100644
index b64e20480cfe..000000000000
--- a/dev-python/mdx_gh_links/mdx_gh_links-0.2-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=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="An extension which adds links to GitHub users, repositories, issues and commits"
-HOMEPAGE="https://github.com/Python-Markdown/github-links"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- dev-python/markdown[${PYTHON_USEDEP}]
-"
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 91a3a8bef9dd..000000000000
--- a/dev-python/mdx_gh_links/mdx_gh_links-0.3.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 a01afec72077..dfb4695da01d 100644
--- a/dev-python/mecab-python/mecab-python-0.996-r1.ebuild
+++ b/dev-python/mecab-python/mecab-python-0.996-r1.ebuild
@@ -1,15 +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_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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..9762e1d2e5e7 100644
--- a/dev-python/mechanize/Manifest
+++ b/dev-python/mechanize/Manifest
@@ -1 +1,2 @@
-DIST mechanize-0.4.8.tar.gz 218055 BLAKE2B bd91738092ac473ee6e65ee5f175479515f735a0433b112241f17061adf7e60ef6fa410fa549f088390b6ef6c8b2ff95e00335a626322ad170c88923c96e8e44 SHA512 71087481d27359b3ce795eae440ebb3a146f8dd5a6d5ac5dc91ae3c63f2c487beb472aa06b2925d6121faa038a0a8be50f6cecc54ee7209eb2b61e16242ffaa3
+DIST mechanize-0.4.10.tar.gz 218291 BLAKE2B 7a6f293ac5622b4ac01d1b84327e4dd41132eb2fdfaf9826e6c7a8b088890ae8b4b5f4e90aca930761d532702138f0be6f9394e48ee2defc48dcb5f19ee22a79 SHA512 76d13ac8ac06e8e3836ba814259e1ec8495ebbfc259d4f8652f3ed23863b6a5f6fc5983409083ad9f5d0312db6581b0e7b32bfe6d46ecd190006188ac4cf3fc8
+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/files/mechanize-0.4.9-test.patch b/dev-python/mechanize/files/mechanize-0.4.9-test.patch
new file mode 100644
index 000000000000..369cbe9495e1
--- /dev/null
+++ b/dev-python/mechanize/files/mechanize-0.4.9-test.patch
@@ -0,0 +1,23 @@
+From 1324b09b661aaac7d4cdc7e1e9d49e1c3851db2c Mon Sep 17 00:00:00 2001
+From: Martin Weinelt <hexa@darmstadt.ccc.de>
+Date: Sun, 21 Apr 2024 13:05:45 +0200
+Subject: [PATCH] Fix test_ftp mime type expectation on 3.11+
+
+Closes: #94
+---
+ test/test_urllib2.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/test_urllib2.py b/test/test_urllib2.py
+index e9b96fd..c46a2fc 100644
+--- a/test/test_urllib2.py
++++ b/test/test_urllib2.py
+@@ -864,7 +864,7 @@ def connect_ftp(self, user, passwd, host, port, dirs, timeout):
+ ["foo", "bar"], _sockettimeout._GLOBAL_DEFAULT_TIMEOUT, "", None),
+ ("ftp://localhost/baz.gif;type=a", "localhost", ftplib.FTP_PORT,
+ "A", [], _sockettimeout._GLOBAL_DEFAULT_TIMEOUT, "baz.gif",
+- None), # TODO: really this should guess image/gif
++ "image/gif" if sys.version_info >= (3, 11) else None),
+ ]:
+ req = Request(url, timeout=timeout)
+ r = h.ftp_open(req)
diff --git a/dev-python/mechanize/mechanize-0.4.10.ebuild b/dev-python/mechanize/mechanize-0.4.10.ebuild
new file mode 100644
index 000000000000..27279bb94b4f
--- /dev/null
+++ b/dev-python/mechanize/mechanize-0.4.10.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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 -v || die
+}
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 327456a039dd..000000000000
--- a/dev-python/mechanize/mechanize-0.4.8.ebuild
+++ /dev/null
@@ -1,33 +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_{8..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..801db8146541
--- /dev/null
+++ b/dev-python/mechanize/mechanize-0.4.9.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="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}
+ )
+"
+
+PATCHES=(
+ # https://github.com/python-mechanize/mechanize/pull/95
+ "${FILESDIR}/${P}-test.patch"
+)
+
+python_test() {
+ "${EPYTHON}" run_tests.py -v || 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 f5bc0daf2d7d..ee03b22a0ce5 100644
--- a/dev-python/mediafile/Manifest
+++ b/dev-python/mediafile/Manifest
@@ -1 +1 @@
-DIST mediafile-0.9.0.tar.gz 568726 BLAKE2B 22466b54c890c8a1bef88a0d08e729d0b1efab12309299c64ea227a5662c263402e8e4ace4b7c9d2d0d06ba41b6f74465ebf88d090f0fd4f41d91fb6cba941ef SHA512 8b432d81c7c1fc8340a2003220a0d96b448ac64e551b0b95528a37fa5923a97358fac574573dece344cda88f4f206f1cf7bc457bdd310a7a003c395908864218
+DIST mediafile-0.12.0.gh.tar.gz 568721 BLAKE2B 659ba62622a85786073b3ecc09cf0d09b16fb1ae832e1b62ef40546745bc271d33587efb12ef70fb7306fd2bb419db1b5b11bfc886048f46f956162d9f01e76e SHA512 a89d683154f71214f018cdee28c0faffa0a3ffeda20798cb135a711d9449b742186b5715858dce9ab06908e7d2c0f09a17f038adcd05369c185cd25b59146dbe
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/mediafile/mediafile-0.9.0-r1.ebuild b/dev-python/mediafile/mediafile-0.9.0-r1.ebuild
deleted file mode 100644
index 427466aacfae..000000000000
--- a/dev-python/mediafile/mediafile-0.9.0-r1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Read and write audio files' tags in Python"
-HOMEPAGE="https://github.com/beetbox/mediafile"
-SRC_URI="https://github.com/beetbox/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-RDEPEND="
- >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
- >=media-libs/mutagen-1.45.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 aaf7b94d12d1..000000000000
--- a/dev-python/memory_profiler/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST memory_profiler-0.60.gh.tar.gz 142585 BLAKE2B aa7fd9e547eecadc184d4da5830c582a9a9ab9565f3dc9c763caaa7e75698ed6b499d2555e4a93b39d2f80f85fad025b84043e0812cb25dd1511f4ebf8da5a85 SHA512 407e44a410cdb4c7c8cc5ff40198c28012f8b0c6bba88d2d1612681eb621a1b802ef137be62fc64ca9e3c362ca3814433bc12169d7c3827bf97293c5bbb8bfbc
diff --git a/dev-python/memory_profiler/memory_profiler-0.60.ebuild b/dev-python/memory_profiler/memory_profiler-0.60.ebuild
deleted file mode 100644
index 65cfca08bfe4..000000000000
--- a/dev-python/memory_profiler/memory_profiler-0.60.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="A module for monitoring memory usage of a python program"
-HOMEPAGE="https://pypi.org/project/memory-profiler/ https://github.com/pythonprofilers/memory_profiler"
-SRC_URI="
- https://github.com/pythonprofilers/memory_profiler/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-IUSE="examples"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-# 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..f49c0a0d9b61
--- /dev/null
+++ b/dev-python/merge3/Manifest
@@ -0,0 +1,2 @@
+DIST merge3-0.0.14.gh.tar.gz 16109 BLAKE2B 482ad2aa32cbfc535c0c96d8c7d25fff4dad3e3ea00ccc48c7c89086e143e2d4c13b49eef79532123f282ac81b3797f6358fccf7115c1b2776c80df76ea6cc82 SHA512 62ed82925838329be7cf1e9456bb6bb02e85a41a0c54cff94f32624c29d9c15c47c3f3f7ec6b1e8f421f3648000964e1afff36a913ca49bf3fb95a52faa71b83
+DIST merge3-0.0.15.gh.tar.gz 16783 BLAKE2B 6c6a7ac8e8be8d4711c8dbf69fb38eb3b90b93281295d5ae172f371d3c8a1647a2f0e3c14725b760d9dcc0dfd77583170487956e9de87f21720d6db1be19e3eb SHA512 d87ead80219e14b210840333396e274d46ef282c12a3de61ae06efb186f0bfd9c65f3ccbd7566ec62766201ed33a962bdc3ea3c30efbd241fd0018b69b94e3e4
diff --git a/dev-python/merge3/merge3-0.0.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/merge3-0.0.15.ebuild b/dev-python/merge3/merge3-0.0.15.ebuild
new file mode 100644
index 000000000000..e3d8a68d3396
--- /dev/null
+++ b/dev-python/merge3/merge3-0.0.15.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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 db5b47458877..000000000000
--- a/dev-python/mergedeep/mergedeep-1.3.4.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 ~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 84625e49dfbd..b8ad34b49b9d 100644
--- a/dev-python/mergedict/mergedict-1.0.0-r1.ebuild
+++ b/dev-python/mergedict/mergedict-1.0.0-r1.ebuild
@@ -1,19 +1,21 @@
-# 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_{8..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 24f6d8fde63d..000000000000
--- a/dev-python/meshio/meshio-5.3.4.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 1e3d198dbc6f..bdef3c3bfc09 100644
--- a/dev-python/meson-python/Manifest
+++ b/dev-python/meson-python/Manifest
@@ -1,4 +1,2 @@
-DIST meson-python-0.6.0.gh.tar.gz 26783 BLAKE2B d5c5b95d5d609487a0efee1ce05b133794705cdb16f2d05d6e08b9201541e31f61a832c7770b4b5ad675f8dd91860c30c67769ce8fc0af2c48e65b0aad187ddb SHA512 25042ea030d2ad323c67daa0a520db936a4a4efa0de1c9f631c47fac22d797e01d1f1707ed407e2931164a35b3916e19a774ee16ab1d45fc91e41c75add57fa1
-DIST meson-python-0.7.0.gh.tar.gz 28959 BLAKE2B 6b60855d19c7dbbc4c8aca474ad55d4ce2a5db553ba86d2831adea7138d540433733d3b8e4077bf7314a6e6b68cd15b538b336afecaff3b262ae6d2157d8d5f0 SHA512 df529a3d31c67199cf72700734ea62b0de4f8eb03b437af9b53968e37c0350cbe60ba7385f8c3026d66fe2050df4c59912bf65e4a6e62ce19bace52fdcfef2e7
-DIST meson-python-0.8.0.gh.tar.gz 29367 BLAKE2B bf501ef73baa5481f5367b642cefca5a8b8655b4d74776aea21f0be4608c3e42d765f17ffdd037f39e7fc9c48d162293f93af61a30533e1823a66de5151ec1f9 SHA512 1709cdf3b357970566b25958cead88be2062e35ee8576275d0ca2571eca1f6a0211986b2693af0944026f2693511729b9d5cb30279952c65a287fa510c19186d
-DIST meson-python-0.8.1.gh.tar.gz 29353 BLAKE2B 13d6ab25da404301bddb2fb7eaaeb5af256efb5ce6d09581e4a8fa90d21c3a45cc8f455b09dc99b454e8457b55eb41261743c6ffd612c6c674ac9a28bcb98f51 SHA512 e46f6dbbcc2b5f89b17c7ea3f00e8ff9d68cad458bcbfe462e09de8e0074316c15f71fd88304ccf65cc42d98b193bcc0b3547be3ec2519e8c25d31556beb1468
+DIST meson-python-0.15.0.gh.tar.gz 73063 BLAKE2B 280c01b08fb8264d268797d199b59f7d02cac88e49333de4a38f9e22a1e724586b7ffcddc4e9a411c0d660560892134cb742136334aad8caacd9db37580fce8f SHA512 f1fce89bb0a3d279b9900c4ecec78e5f24da92d72f64ebf6c27648b4201a75a65204c3fac08aaa3e8d70dbeef245c3235e39994c7c0b9cba27c0df528211c7f7
+DIST meson-python-0.16.0.gh.tar.gz 74975 BLAKE2B af74d62a4567bc0a7524e815f1bb4ef3ae7290ccea38c00c3b0013f5e7777d6a41c1631b0c1d83fdd930836599752e3bba3c381c137d275103409a986df4e040 SHA512 99ea4304f15e2e13adf031e7c8cacbbc48c0c80f42a81f9d84242b6279ac9c1a13e3f162be5f472a1e498dc7cf3cba6799bf765b3fd441ac10cd87dc0db38678
diff --git a/dev-python/meson-python/files/meson-python-0.16.0-pyproject-metadata-0.8.patch b/dev-python/meson-python/files/meson-python-0.16.0-pyproject-metadata-0.8.patch
new file mode 100644
index 000000000000..834aed4d2fb4
--- /dev/null
+++ b/dev-python/meson-python/files/meson-python-0.16.0-pyproject-metadata-0.8.patch
@@ -0,0 +1,68 @@
+From ba14bfdffceb571a5e8c1406c76b7b77634bcb7f Mon Sep 17 00:00:00 2001
+From: Daniele Nicolodi <daniele@grinta.net>
+Date: Mon, 15 Apr 2024 22:34:36 +0200
+Subject: [PATCH 2/2] TST: Adapt to changes in pyproject-metadata 0.8.0
+
+---
+ tests/test_metadata.py | 8 +++++++-
+ tests/test_sdist.py | 9 +++++++--
+ 2 files changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/tests/test_metadata.py b/tests/test_metadata.py
+index 0c278da6..088e82f7 100644
+--- a/tests/test_metadata.py
++++ b/tests/test_metadata.py
+@@ -3,6 +3,7 @@
+ # SPDX-License-Identifier: MIT
+
+ import pathlib
++import re
+
+ import packaging.version
+ import pyproject_metadata
+@@ -48,5 +49,10 @@ def test_missing_version(package_missing_version):
+ pyproject = {'project': {
+ 'name': 'missing-version',
+ }}
+- with pytest.raises(pyproject_metadata.ConfigurationError, match='Required "project.version" field is missing'):
++ match = '|'.join((
++ re.escape('Required "project.version" field is missing'),
++ # pyproject-metatadata 0.8.0 and later
++ re.escape('Field "project.version" missing and "version" not specified in "project.dynamic"'),
++ ))
++ with pytest.raises(pyproject_metadata.ConfigurationError, match=match):
+ Metadata.from_pyproject(pyproject, pathlib.Path())
+diff --git a/tests/test_sdist.py b/tests/test_sdist.py
+index 6e337617..fb698b53 100644
+--- a/tests/test_sdist.py
++++ b/tests/test_sdist.py
+@@ -3,6 +3,7 @@
+ # SPDX-License-Identifier: MIT
+
+ import os
++import re
+ import stat
+ import sys
+ import tarfile
+@@ -30,7 +31,7 @@ def test_pep621(sdist_full_metadata):
+ with tarfile.open(sdist_full_metadata, 'r:gz') as sdist:
+ sdist_pkg_info = sdist.extractfile('full_metadata-1.2.3/PKG-INFO').read().decode()
+
+- assert sdist_pkg_info == textwrap.dedent('''\
++ metadata = re.escape(textwrap.dedent('''\
+ Metadata-Version: 2.1
+ Name: full-metadata
+ Version: 1.2.3
+@@ -65,7 +66,11 @@ def test_pep621(sdist_full_metadata):
+ # full-metadata
+
+ An example package with all of the PEP 621 metadata!
+- ''')
++ '''))
++
++ # pyproject-metadata 0.8.0 and later uses a comma to separate keywords
++ expr = metadata.replace(r'Keywords:\ full\ metadata', r'Keywords:\ full[ ,]metadata')
++ assert re.fullmatch(expr, sdist_pkg_info)
+
+
+ def test_dynamic_version(sdist_dynamic_version):
diff --git a/dev-python/meson-python/files/meson-python-0.5.0-defaults.patch b/dev-python/meson-python/files/meson-python-0.5.0-defaults.patch
deleted file mode 100644
index 07077ba4fdc2..000000000000
--- a/dev-python/meson-python/files/meson-python-0.5.0-defaults.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-See https://github.com/FFY00/meson-python/blob/main/mesonpy/__init__.py#L452.
-
-(Also: https://github.com/FFY00/meson-python/issues/54)
---- a/mesonpy/__init__.py
-+++ b/mesonpy/__init__.py
-@@ -452,7 +452,7 @@ class Project():
- f'--native-file={os.fspath(self._meson_native_file)}',
- # TODO: Allow configuring these arguments
- '-Ddebug=false',
-- '-Dstrip=true',
-+ '-Dstrip=false',
- '-Doptimization=2',
- *setup_args,
- )
-@@ -464,7 +464,7 @@ class Project():
-
- @functools.lru_cache(maxsize=None)
- def build(self) -> None:
-- self._meson('compile')
-+ self._meson('compile', '--verbose')
- self._meson('install', '--destdir', os.fspath(self._install_dir))
-
- @classmethod
diff --git a/dev-python/meson-python/files/meson-python-0.7.0-defaults.patch b/dev-python/meson-python/files/meson-python-0.7.0-defaults.patch
deleted file mode 100644
index 8a9b4fc21d5a..000000000000
--- a/dev-python/meson-python/files/meson-python-0.7.0-defaults.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-See https://github.com/FFY00/meson-python/blob/main/mesonpy/__init__.py#L452.
-
-(Also: https://github.com/FFY00/meson-python/issues/54)
---- a/mesonpy/__init__.py
-+++ b/mesonpy/__init__.py
-@@ -532,7 +532,7 @@ class Project():
- @functools.lru_cache(maxsize=None)
- def build(self) -> None:
- """Trigger the Meson build."""
-- self._meson('compile')
-+ self._meson('compile', '--verbose')
- self._meson('install', '--destdir', os.fspath(self._install_dir))
-
- @classmethod
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..fee6f138958d
--- /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/meson-python/meson-python-0.6.0-r1.ebuild b/dev-python/meson-python/meson-python-0.6.0-r1.ebuild
deleted file mode 100644
index 9ff05d7701f0..000000000000
--- a/dev-python/meson-python/meson-python-0.6.0-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Meson PEP 517 Python build backend"
-HOMEPAGE="
- https://pypi.org/project/meson-python/
- https://github.com/FFY00/meson-python/
-"
-SRC_URI="
- https://github.com/FFY00/meson-python/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/pyproject-metadata-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
- >=dev-util/meson-0.60.0[${PYTHON_USEDEP}]
- dev-util/patchelf
-"
-BDEPEND="
- test? (
- dev-python/GitPython[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.5.0-defaults.patch
-)
-
-distutils_enable_sphinx docs \
- dev-python/furo \
- dev-python/sphinx-autodoc-typehints
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # https://github.com/FFY00/meson-python/issues/86
- tests/test_sdist.py::test_contents_unstaged
-)
diff --git a/dev-python/meson-python/meson-python-0.7.0.ebuild b/dev-python/meson-python/meson-python-0.7.0.ebuild
deleted file mode 100644
index 70f7d41728e8..000000000000
--- a/dev-python/meson-python/meson-python-0.7.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Meson PEP 517 Python build backend"
-HOMEPAGE="
- https://pypi.org/project/meson-python/
- https://github.com/FFY00/meson-python/
-"
-SRC_URI="
- https://github.com/FFY00/meson-python/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/pyproject-metadata-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
- >=dev-util/meson-0.60.0[${PYTHON_USEDEP}]
- dev-util/patchelf
-"
-BDEPEND="
- test? (
- dev-python/GitPython[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.7.0-defaults.patch
-)
-
-distutils_enable_sphinx docs \
- dev-python/furo \
- dev-python/sphinx-autodoc-typehints
-distutils_enable_tests pytest
diff --git a/dev-python/meson-python/meson-python-0.8.0.ebuild b/dev-python/meson-python/meson-python-0.8.0.ebuild
deleted file mode 100644
index 70f7d41728e8..000000000000
--- a/dev-python/meson-python/meson-python-0.8.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Meson PEP 517 Python build backend"
-HOMEPAGE="
- https://pypi.org/project/meson-python/
- https://github.com/FFY00/meson-python/
-"
-SRC_URI="
- https://github.com/FFY00/meson-python/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/pyproject-metadata-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
- >=dev-util/meson-0.60.0[${PYTHON_USEDEP}]
- dev-util/patchelf
-"
-BDEPEND="
- test? (
- dev-python/GitPython[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.7.0-defaults.patch
-)
-
-distutils_enable_sphinx docs \
- dev-python/furo \
- dev-python/sphinx-autodoc-typehints
-distutils_enable_tests pytest
diff --git a/dev-python/meson-python/meson-python-0.8.1.ebuild b/dev-python/meson-python/meson-python-0.8.1.ebuild
deleted file mode 100644
index 0a2cc859b64c..000000000000
--- a/dev-python/meson-python/meson-python-0.8.1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Meson PEP 517 Python build backend"
-HOMEPAGE="
- https://pypi.org/project/meson-python/
- https://github.com/FFY00/meson-python/
-"
-SRC_URI="
- https://github.com/FFY00/meson-python/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
-
-RDEPEND="
- >=dev-python/pyproject-metadata-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
- >=dev-util/meson-0.60.0[${PYTHON_USEDEP}]
- dev-util/patchelf
-"
-BDEPEND="
- test? (
- dev-python/GitPython[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.7.0-defaults.patch
-)
-
-distutils_enable_sphinx docs \
- dev-python/furo \
- dev-python/sphinx-autodoc-typehints
-distutils_enable_tests pytest
diff --git a/dev-python/meson-python/metadata.xml b/dev-python/meson-python/metadata.xml
index e2b414a5e2c6..6d2819790d18 100644
--- a/dev-python/meson-python/metadata.xml
+++ b/dev-python/meson-python/metadata.xml
@@ -5,7 +5,7 @@
<email>python@gentoo.org</email>
</maintainer>
<upstream>
- <remote-id type="github">FFY00/meson-python</remote-id>
+ <remote-id type="github">mesonbuild/meson-python</remote-id>
<remote-id type="pypi">meson-python</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/metakernel/Manifest b/dev-python/metakernel/Manifest
index e35243893c12..c47c9c82a18f 100644
--- a/dev-python/metakernel/Manifest
+++ b/dev-python/metakernel/Manifest
@@ -1,3 +1,2 @@
-DIST metakernel-0.29.0.tar.gz 197295 BLAKE2B 486c57b3d0c4c41aa73c129cceccebbf818a4932beb35f5114723e43e37f496d04df50d3cfd09b7d4c254f5dea02d1c7b43f9f6e9c9e7af8e946fd79179a892b SHA512 0748663e79776680f9c52cbc4b0ee76f33ece0a489740068d60455c5003ff27e3fbe8f8c1f0f51ffe9448dbf32109e7d15e8d851198e1947d638fe91dfb4e39c
-DIST metakernel-0.29.1.tar.gz 190413 BLAKE2B 726ad01bb4f53add8a538c59aa92c801293e9ec45d54d86d1e6f81ffd9d22c2066ec4cbb744f7e79bbb0ed2253093b463498d0023d7dfb4ef3733350b460a6e0 SHA512 cde9e0ee89edfd829a371b72f098a44423b107bf18b35d5f318764925f716add1d860cf5b508c562b8788b68c00ac4e97dfafc5fab775931a104e0590dc87bad
-DIST metakernel-0.29.2.tar.gz 189938 BLAKE2B cbcce893865d82198a79c892b40c67809202e4d947a590fce52d2ca85bd919bac5556d0fb27b53a91a4e7f5b4409c48c84bcb6ae28c04aed159507bf1f65102c SHA512 d4ea32ea4f9b00cf223419f641f297a65737f8acb1774bd0dc209006a33ac0e41853da0d077492149fd3bd141de0e181a15df092618b2977899a68768c750ca9
+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/files/metakernel-0.25.0-disable-brittle-tests.patch b/dev-python/metakernel/files/metakernel-0.25.0-disable-brittle-tests.patch
deleted file mode 100644
index 673a96e22af3..000000000000
--- a/dev-python/metakernel/files/metakernel-0.25.0-disable-brittle-tests.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/metakernel/magics/tests/test_parallel_magic.py
-+++ b/metakernel/magics/tests/test_parallel_magic.py
-@@ -2,7 +2,9 @@
- from metakernel.tests.utils import get_kernel, get_log_text, EvalKernel
- import os
- import time
-+import pytest
-
-+@pytest.mark.skip(reason="requires starting an ipycluster")
- def test_parallel_magic():
- kernel = get_kernel(EvalKernel)
- # start up an EvalKernel on each node:
---- a/metakernel/tests/test_parser.py
-+++ b/metakernel/tests/test_parser.py
-@@ -41,8 +41,6 @@
- if not os.name == 'nt':
- code = '/usr/bi'
- assert 'bin/' in p.parse_code(code)['path_matches']
-- code = '~/.bashr'
-- assert 'bashrc' in p.parse_code(code)['path_matches']
-
- for f in os.listdir('.'):
- if f.startswith('.'):
diff --git a/dev-python/metakernel/metakernel-0.29.0.ebuild b/dev-python/metakernel/metakernel-0.29.0.ebuild
deleted file mode 100644
index 442871c6c8cd..000000000000
--- a/dev-python/metakernel/metakernel-0.29.0.ebuild
+++ /dev/null
@@ -1,34 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Metakernel for Jupyter"
-HOMEPAGE="https://github.com/Calysto/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}]
-)"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.25.0-disable-brittle-tests.patch )
-
-distutils_enable_tests pytest
diff --git a/dev-python/metakernel/metakernel-0.29.1.ebuild b/dev-python/metakernel/metakernel-0.29.1.ebuild
deleted file mode 100644
index fdb191f48f38..000000000000
--- a/dev-python/metakernel/metakernel-0.29.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Metakernel for Jupyter"
-HOMEPAGE="https://github.com/Calysto/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}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.25.0-disable-brittle-tests.patch
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/metakernel/metakernel-0.29.2.ebuild b/dev-python/metakernel/metakernel-0.29.2.ebuild
deleted file mode 100644
index 8a7ea2d46121..000000000000
--- a/dev-python/metakernel/metakernel-0.29.2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Metakernel for Jupyter"
-HOMEPAGE="https://github.com/Calysto/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}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.25.0-disable-brittle-tests.patch
-)
-
-distutils_enable_tests pytest
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 902dd82d6148..000000000000
--- a/dev-python/micawber/micawber-0.5.4.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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
new file mode 100644
index 000000000000..5aa1724421c4
--- /dev/null
+++ b/dev-python/mido/Manifest
@@ -0,0 +1 @@
+DIST mido-1.3.2.tar.gz 124216 BLAKE2B f6eb230ad8ec02a9a2f0e5e1b332a70334433a1decddb341b1c315b878bdc2e7aefed3527c408a3da9264e7344439a69bf28bd2b4d810c29e4f4278aee8303b9 SHA512 5f31057a972f8ecdadcd135f2ffd68f70388bb8777f6bc7fa14c84aa8c57988a4f7443283dd093930352989d8a097177c6543a38440184c705cfaf82e3aaff83
diff --git a/dev-python/mido/metadata.xml b/dev-python/mido/metadata.xml
new file mode 100644
index 000000000000..0751ee0b29fc
--- /dev/null
+++ b/dev-python/mido/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>
+ <upstream>
+ <remote-id type="pypi">mido</remote-id>
+ <remote-id type="github">mido/mido</remote-id>
+ </upstream>
+ <use>
+ <flag name="portmidi">Support using <pkg>media-libs/portmidi</pkg> as MIDI back-end</flag>
+ <flag name="rtmidi">Support using <pkg>media-libs/rtmidi</pkg> as MIDI back-end</flag>
+ </use>
+</pkgmetadata>
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 8a6211005aa2..dbdeca61cf48 100644
--- a/dev-python/mimerender/mimerender-0.6.0-r1.ebuild
+++ b/dev-python/mimerender/mimerender-0.6.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..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/Manifest b/dev-python/minidb/Manifest
index 6dd535753525..8d3be5a4b696 100644
--- a/dev-python/minidb/Manifest
+++ b/dev-python/minidb/Manifest
@@ -1 +1,2 @@
-DIST minidb-2.0.6.tar.gz 12019 BLAKE2B 00e070d1cbe1966d44228f6ad13b9280ee8d79b1b37a72d685dc53b05d329e6ee02f77a7cac729e6c4e651d66d88d1fcd7be7f704e91b3ef2dddd8c928bfed50 SHA512 17c845d5bd45a99020a96a1e1aeaf2d7663f41dc23828b4ec00e49bebb066e021d751b9a1e1ee846973306198224f91543d20219beaa40b4d245cccc4f746b93
+DIST minidb-2.0.7.tar.gz 12282 BLAKE2B 349aff4ec7497fc74edd632f719a6f67a2e7c1dff38ea1ea579c820e00dbad4e7269355e4b19ccfe53cf637f0ebdd6cd512e1af84456ef70c05d8e19024ae94d SHA512 dc04d2d51fdc4ecf30e234cb25e17bf0cd5c320dfca6bdd306b61eced89fe8f1fb5df93111ec0c04f1b258ecde467203a968e61b913feee87301dec7e93d9412
+DIST minidb-2.0.8.tar.gz 15404 BLAKE2B 5cf612036ed18ddd8f42da1ceab398cfe092acbdc11ac75693d1aa3c84960a375db6816dbe1a0ed244d83a4c6958661ba2db6e489ee4b5ab7df359332382f524 SHA512 04cdf6ae3a537aa421cd9ca9c283ac3c721ce35a6e23bf71f56ff70ee94dfad4672feb9cea7490e6747f9c2cfaabc7d163559cce3a40cf643df0287cbea6f994
diff --git a/dev-python/minidb/minidb-2.0.6.ebuild b/dev-python/minidb/minidb-2.0.6.ebuild
deleted file mode 100644
index 6ce89b4ea5db..000000000000
--- a/dev-python/minidb/minidb-2.0.6.ebuild
+++ /dev/null
@@ -1,20 +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_{8..10} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1
-
-DESCRIPTION="Simple SQLite-based object store"
-HOMEPAGE="https://thp.io/2010/minidb/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/minidb/minidb-2.0.7.ebuild b/dev-python/minidb/minidb-2.0.7.ebuild
new file mode 100644
index 000000000000..893a70346d32
--- /dev/null
+++ b/dev-python/minidb/minidb-2.0.7.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} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple SQLite-based object store"
+HOMEPAGE="
+ https://thp.io/2010/minidb/
+ https://pypi.org/project/minidb/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/minidb/minidb-2.0.8.ebuild b/dev-python/minidb/minidb-2.0.8.ebuild
new file mode 100644
index 000000000000..fade9deceb5d
--- /dev/null
+++ b/dev-python/minidb/minidb-2.0.8.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple SQLite-based object store"
+HOMEPAGE="
+ https://thp.io/2010/minidb/
+ https://pypi.org/project/minidb/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/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..cc27edc8ca71
--- /dev/null
+++ b/dev-python/minify-html/minify-html-0.15.0.ebuild
@@ -0,0 +1,45 @@
+# 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="
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Extremely fast and smart HTML + JS + CSS minifier"
+HOMEPAGE="
+ https://github.com/wilsonzlin/minify-html/
+ https://pypi.org/project/minify-html/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/${P/-/_}-crates.tar.xz
+ "
+fi
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0
+ Unicode-DFS-2016
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/minify_html/minify_html.*.so"
+
+src_prepare() {
+ sed -i -e '/strip/d' Cargo.toml || die
+ distutils-r1_src_prepare
+}
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 39dbf4f14330..000000000000
--- a/dev-python/minikanren/minikanren-1.0.3.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 372612099916..6c7b4f0631ce 100644
--- a/dev-python/minimock/minimock-1.3.0-r1.ebuild
+++ b/dev-python/minimock/minimock-1.3.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..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
index 8263aaeaa324..1bfa020c464e 100644
--- a/dev-python/miniupnpc/Manifest
+++ b/dev-python/miniupnpc/Manifest
@@ -1,2 +1,2 @@
-DIST miniupnpc-2.2.3.tar.gz 101360 BLAKE2B d2a7f64d56be524c5c4aadfecd40da4e1ad040fd7eab64be5b5716cb06047e86e3ed6a9c17f697fd3210af0fb0a6ae032b6ef0a5c1f0d96a2e185db97b0d06e8 SHA512 8b9555d336d5dfe8017a16727f964cddacb3f2bf3528fe3dd2416480da5763b24e1740345e470f2123c170d79d88444e41dbbce4536e6069590925e4805bc5ee
-DIST miniupnpc-2.2.3.tar.gz.sig 543 BLAKE2B d10bcb765e0d7a1eb68dc6269080b71535fced443e801a09677872bc498c866a02f22d851db963fb126331f28d2314542507713f514560d9d6eca2262287dc8b SHA512 636ad425b430629ee91b2755b543e9754aa88e243972f47839a2ad958757a12ff598f962e9328e5ad0fa3e0b2f895854c9cb3ca099048e7c132c8ce27806986e
+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/miniupnpc/files/miniupnpc-2.2.3-shared-lib.patch b/dev-python/miniupnpc/files/miniupnpc-2.2.3-shared-lib.patch
index 6fbb17e60e9f..48002fb47a82 100644
--- a/dev-python/miniupnpc/files/miniupnpc-2.2.3-shared-lib.patch
+++ b/dev-python/miniupnpc/files/miniupnpc-2.2.3-shared-lib.patch
@@ -25,10 +25,7 @@ index b84146f..73b05b7 100644
setup(name="miniupnpc",
version=open('VERSION').read().strip(),
author='Thomas BERNARD',
-@@ -27,9 +20,8 @@ setup(name="miniupnpc",
- license=open('LICENSE').read(),
- url='http://miniupnp.free.fr/',
- description='miniUPnP client',
+@@ -30,6 +23,5 @@ setup(name="miniupnpc",
- cmdclass={'build_ext': make_then_build_ext},
ext_modules=[
Extension(name="miniupnpc", sources=["src/miniupnpcmodule.c"],
diff --git a/dev-python/miniupnpc/miniupnpc-2.2.3.ebuild b/dev-python/miniupnpc/miniupnpc-2.2.3.ebuild
deleted file mode 100644
index 6721d93ac38c..000000000000
--- a/dev-python/miniupnpc/miniupnpc-2.2.3.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-
-inherit distutils-r1 verify-sig
-
-DESCRIPTION="Python bindings for UPnP client library"
-HOMEPAGE="http://miniupnp.free.fr/"
-SRC_URI="http://miniupnp.free.fr/files/${P}.tar.gz
- verify-sig? ( http://miniupnp.free.fr/files/${P}.tar.gz.sig )"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-IUSE=""
-
-RDEPEND=">=net-libs/miniupnpc-${PV}:0="
-DEPEND="${RDEPEND}"
-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/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 279edf81e1fd..000000000000
--- a/dev-python/misaka/misaka-2.1.1-r1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{7..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 0808b2900d27..000000000000
--- a/dev-python/mistune/mistune-2.0.4.ebuild
+++ /dev/null
@@ -1,22 +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_{8..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/Manifest b/dev-python/mitmproxy_wireguard/Manifest
new file mode 100644
index 000000000000..a032cfea6eb1
--- /dev/null
+++ b/dev-python/mitmproxy_wireguard/Manifest
@@ -0,0 +1,195 @@
+DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1
+DIST aead-0.5.1.crate 15474 BLAKE2B 8a7d1646e227bad87c400470788cadfc9d341a9ff2e94f1b8cb2f8f458c5d19e3d0659092a8ca0418a4664b02894509c0a45e846a12c086aab6968069ae6e979 SHA512 3a517a141eafee7e1f9b05fad61c5424352d3ee96667b5a057a5ce7c39b9705f975d5fb29a2a5c7824bef9c0268437b32ce1ee04078ac5571b06e1cd4c852e04
+DIST aho-corasick-0.7.20.crate 111440 BLAKE2B 3f5d54fea2793ce1c2c4d5b3049b910f45a5721e7538cb2557df63dc3069ab3f6b66aceb5e9a48f21c43ae29778fd045428ea103b2a6de81659e605e30e64ca6 SHA512 ad31f3d1b3fe41e593d4ca7e721bbad62936f2e6a17fd1e0997353edb6fc906d1bef2b79f0ac7c7676abe637bbabb23ff22059947be379a2441011f8178983c5
+DIST anyhow-1.0.68.crate 43882 BLAKE2B 0ccd8fcb746344dfa85674fa7c95aa648aed8d40134b8c1c1c0852f6c7d22f5622ca1704ec65c254fc20946b1733299e1517364d74f726952d5a951ef89a2fe5 SHA512 b8cfc132ebeac823edf18cba7e335d1939fcbb095ed4ea859f4dc4cde5b1ff35fd68f0743577c69085f74f019768a3359936bf6dc1b2aceb7e2b28ace7f74a0f
+DIST arc-swap-1.6.0.crate 67342 BLAKE2B 6afd6570c3cef4ae722d4168c3320be1343c4f6043892e5e5b52879b8210a896e083d720797b41a41db04a08eefdcfbacbfdee1a7f2180e9755c868d6fded872 SHA512 5e09cef9fa12d1204db24f3397158a3f45d12dd0fa61eadd691bba120a43fdaa916ab09997e7a63d61a3fb7dada4e3266181f4ef413850c4bc5e59d2c6c5b9df
+DIST async-stream-0.3.3.crate 12142 BLAKE2B 982831c5161e4fe3fadd5cb62678ba6d17c08e8d00de6cdf67ea2fcfc99cb878f7a87ed6eb29474f38081e0236bcf8e98e1ca2ae7d14f72bae2a6443557f2382 SHA512 fcc1e2c4e845ef309ece18824dcb769d84bf2370427f339658c489909028daa5e86e9dd4150c62c4279f4f498d4a73a200d9036271107d16134f56713aa6a0d0
+DIST async-stream-impl-0.3.3.crate 4072 BLAKE2B 33577ae90f52bf9c50e2b264b65ccf2fc999b97548be32e1e23907d645262b1e699d4992670cd1b7b65edab00eca53fba823d68f2534b98daff6bee02858e043 SHA512 d61bbd6d26eff8170a26fe98b1f8701d7e1082c27777108b059d8bfd166eafbe22172586d9e8e2a31c32cb7ea9e9ff9d689fcd070ce7ae5b526f7f3c68f1b212
+DIST async-trait-0.1.61.crate 27660 BLAKE2B 27fafd735c572eaa47a551d6235f679f264a561e4b2ab496550457d9c846d7a4a8c6303cc2a8adad0bef2cc41479ae066770ac0fd00522482162502fe190e4c9 SHA512 c84c3f9a822e737822c00bdd62ea427e316dab106085743ce462bfb457dcc06722ff914ad5af08e2b97790cbb67b66fb46786979ab49bf7af67b025eeb016732
+DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST axum-0.6.2.crate 133629 BLAKE2B c252a16696cbd5b8198671fe57c0697bafa8958a5114c78942719b4ff891fc6098a8f1885df71c151480edae231fdb73a7ac6a20770f9a1f7da6f0942dfa45ec SHA512 e0db9381e858ecfed7634c6f08a7b22e2b185a3cfbc0df540151023234ccca3b00567bda0b8bc170f858e5fcc91e85599ab6d10771da56fb3f817d7f6d41f6a6
+DIST axum-core-0.3.1.crate 20365 BLAKE2B 939b9f8bc59258033caa07437dcdd20fa073f0bbfc9b5aed2be6114cd321c924a3fcc2ada0ccd0ba768661c30ee4108e46a3dcc9f2cc5a171d90d137ed832d42 SHA512 b62061ff92867098354f04d0f4fa4546c1cf184a5c954dc83b52b90d1cb999b6f2d5ef52a38c4976af19763f1a7352ee590e30f589a82c4007f886747a82a30e
+DIST base64-0.13.1.crate 61002 BLAKE2B 3b3a5b26e2ef18e9b4f1ede72b1bd160a1494751878e8441d463f8a514e6cb9ac859231536989e19fb1261fd864617fe31440df1b5855a0ec625521fc6fcef91 SHA512 1eb76aff9a84057f2ccb7082e9c57b015c2d71a28173089b02e7aacd09a7d311bedf0a943529611ada29f8d7b536d7ae4de256d98eee8450003a3a9a652bda4b
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST blake2-0.10.6.crate 47234 BLAKE2B e1464e4ae61acf4a646ce548f1e7eeafe277737bff626e7e6813516ad4458459243bf13aeb3d8a8fa40860482b519a3e614e54dd4e906b4a8ff59c2d0df9ac1d SHA512 e88cc9de1bf8a5a86b6d22001fd23bb30c32868bfc55685b7a79d624332aec3122af98bc0618e2b62d5d5731b68ae738e7821bdccffbb83a2fd61a6f8afdb0c6
+DIST block-buffer-0.10.3.crate 10465 BLAKE2B 32f0089971bb759244b73a75bdbbeb2d24f0422e92ceb0ae0afe3c698e3fabb371112a2eba3dab16a3859420d492c0ac984bfbb25e59e0c31951501cc652aab7 SHA512 e29faab70f8f2965a58089728274ec34bc97d681526687868c9cb1a2c145db00717f97e77b79a04fa52bd76817d796e104b509cd2a3163085b214f8eb68ac04f
+DIST boringtun-0.5.2.crate 56585 BLAKE2B c8e2330581553df9a49f1f8d9540354d949c66ca3632db35ff8c8e52941279a27f264b8bf15e94ad05bb4b29953707d2e3bfee266cebf9dae6d847d2b99e884e SHA512 90e37c03acff34e420d7307d12322ffbc79aec7ae1be5911b0d6b276878d92804b6e3571f85aa7c4d6f376b520b4829240fba8ed7dfcc75c654709315d81de61
+DIST bumpalo-3.11.1.crate 81207 BLAKE2B ba76008fb5a975aca12b6f893779e18dd353a22a42cbbeecd5870622a7cbc0cd7e37036af600c570b8a55f26ea8d07f44a9aa1a8373d977b6f75bd4276730292 SHA512 70e90bee1fa4e783ff5a3b18f192b9347bafab7daaa907e74913a415a66c29acfb073fcfb46150801aa7649ab0d2ec8a610de239551565dd167bac72ab13a9bc
+DIST byteorder-1.4.3.crate 22512 BLAKE2B d39c546ba7346df315297fc53da4bfc77ecb1f38567ddb788549ee31cae2719a8bc0b7d1f1705abb3cff033aa57af004987d90748f5a31765273b3223a011c0d SHA512 8c8000eb8ecf40351c9ce36a3a8acd7a02f81786d1b11aab85adfeffa0f2267ed74df29b2ca5d1d38128484d1d3cad2b673aa0d0441dcd0620dfd3934bb888fa
+DIST bytes-1.3.0.crate 57563 BLAKE2B 29abe4d9fd8583c23c5229bd81eca3b41bef01bd11bb5337d5e4a87fa34ccc8989ad9cbeb52dc66a06c0570fb2f91ba0dacb079b957f5c77fca912202535cfeb SHA512 902c9af417f7aef25e47b15ed2256da5ae171fa866f2f511d6da5cb0a9271d7da214b10c774bff5d0ce186be1eb60c88f7aed848c264e1000bcbcfe0d25f9f76
+DIST cc-1.0.78.crate 61375 BLAKE2B fd4765cf5ae0dc7018bc6b56298cd0fa9bf6fe23545e845670d98ce73baee55354e77c6d87cf047f10b074f3d742deca8b5631a250c69b347b4a1fc653965d43 SHA512 b85bec4c75cb1d1e252419052e9dd22b6892e54ea36195ff483a04f785b5b103e82b30b778459fd45324ffeb2463aa4f5696baeff2779c25ffe9f65eb99ae893
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST chacha20-0.9.0.crate 25452 BLAKE2B 3556f3f4a2cc5af3897a3dc43eebee6b4b511b8c9613bc2f2ec66fb77ff27fbcf455813d367d7f2e1659fcbd22dbe2e7483f40ad7870c1f307ea83c4676cc674 SHA512 fa5317af2c0d9193740cd471bb25451ddcc4edb0a2fa43d8451583e3233b05f7dd494f58d4a91e80872d6e597218488409c90f33717e8631ea3ad0842608aca8
+DIST chacha20poly1305-0.10.1.crate 68485 BLAKE2B 580cdcb819afaf514e920e7c86686cb397355fea531c5642c419eecfa131cf30118913bb0cae542f50bcdca775f8d5db1bab967d6d833e8012b4c2ba41e87b4a SHA512 8c2ff7100eff5ea953baf559b0984c5b5ac0dd231d8ff179688d87ca7812966d4cd64aaa0c56778f7a83c8138ebed4f2b87a2d4a005251f51e1fc8e74914d629
+DIST cipher-0.4.3.crate 19206 BLAKE2B 72872751c936c1ff15eeb850acaa6faf38160a8ba291b8541533dbb1c8257ccae33563bfb606ea6b0e181c3e232aca8ab06535602d0816211168754a1d79f05e SHA512 1ac7725e76867ed7c93979c0ec81208e2732cca75cc7a18e28daf1ca4d6f0c32d43b5dd7aa043c6e47faf328ab7e6b32fb4b67280f5d8f1928413a4d73212228
+DIST console-api-0.4.0.crate 28170 BLAKE2B 3f95f642664c9718c02fac872f247e7955b85bbdc7f4b87d0b8b8bcec1abe29dd4407e41c77653f54b4947615fa20faaf0967f6284b686b621272a1b4351cbf5 SHA512 2e0c4e04c67086cecf8994f5deb9e0eb7e93a26c657ff01d08345f8b22fb49e71e460a714d7d0876d5efeefa5c0d5bc487851144778bece7003e3711b1baa12b
+DIST console-subscriber-0.1.8.crate 48558 BLAKE2B d6231e00768291c26880e6775427863cf0d1e75309555558c8fc2c17abf63562bd647eb2ca6aeb4c4fa37447013008ad9133b13173f905c6bc3d2bbf5a54f32c SHA512 fd16404d926f108421387c421330abbfefbfb5744f3bd847550bffdfec16dd4a056361b8e9693faf9c577134c10d3031bb5f0505c6655f8351677534fd3fa288
+DIST cpufeatures-0.2.5.crate 11251 BLAKE2B 2724be40d3bc0e2fda957f645e1cd6472450dee68db3592ab607bdac444283f571f3c904e47981a3fdaa06cab4032734a54470e3dd6e1b67fd856daf010e1277 SHA512 d02327a27ca9fc3c587dcbd10da6b1370671cd7b1df8dfc9078b47180744d0572ef41a7ec205ae9f1c571e5b7f4bc81278ab4c6b076c6ccac0167100e346e74e
+DIST crc32fast-1.3.2.crate 38661 BLAKE2B ce3762b03d24d5367d89738991c060f4b3af7840e0a7ac7fc17d01ed438caf964bbaefad0fc4d0c438dafa5a578429ddd353c71197f8b54b1ec441395f2f7ee0 SHA512 a683943e252afdb1b9d626a07533ed11cf7a63af603c19640056c5d2b9c884ad9aff33ac54c0853ffca2f6cf94b0730eae6c05abf3e53e55e709d180c8152357
+DIST crossbeam-channel-0.5.6.crate 90292 BLAKE2B 7da87ab15c384754d2493dd1a30e83550cd4b2b749b7f0c24de131f054e3a2e521e1bb4ba10094378c8f4c7bdf19218e35b10562c50b4ad1d2871bf6f821e488 SHA512 de6a42ffede95750a13e3b9af6ab26cbc498125860cd8e4d227c7361bd831e558254a48bdef5cf901585a915003071b0efa321f2011f282218c364780f62f44a
+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 curve25519-dalek-3.2.0.crate 517530 BLAKE2B 568ca1e1f159e62682eebe93860802c6873c5675e83ecff747ab859ff7eae52eefa40e6311ef7b0429de1d0b8dc79ebfd80f8162d466ba8822b1cf64b758b0d4 SHA512 376242559e8956bb7260d7db82ed748f18107210a12fb744a741825448e63663f4cfc7e4df62ba79defbbd1ec9732174faa84592d0f84742d3ce1ce69aec7154
+DIST digest-0.10.6.crate 19527 BLAKE2B 402009105a6ac055be062769dd4f162aabb977b9afe29f451eeb3e6b5dd1a579c371c5ec996b9c1bdba3b4ded83830ed2e1934a0505480bffba1e0d16775a8f7 SHA512 21d3c1dc64e640300c51e8a009af464d6e3cd2b10aa67c87a038165c11409d6e5faad1967236724a9a4cab8fdd88826cac1db4798245fd53ac2ff1a9b2b68b76
+DIST digest-0.9.0.crate 13247 BLAKE2B c5f2fa8a5bc12021d99ea63f08fa8c8b5b3353d90cf9d58ba84252b3f81b88b52f28c15c24c61fcee44f7d547a0bad11def7fa8f4616d070db163e48f89ab64b SHA512 8637a322c429f51ecb0fa4c3b58fabef01368c1a093492fad65f48eeeec2366fd1b7876e6e47723e089ec5ce11f881bfe4dcebdc605811252b797db027746a45
+DIST either-1.8.0.crate 15992 BLAKE2B 5b9254d54ced1f23447cc78fca74f12085c37e3c2da441b30521819025ebb808e8cbd9cbcec811f8b3951030914c1736b8bda61744d1323af8c5b8b0a3ef3ee9 SHA512 5089b218af067b51ee39c085568a1a6f542e8f68b362207bd7126cbcd2b76783cd21cc1517a1d088ce4dad1714be03a3660f50e9498a0bb43a8676cd7ec490d2
+DIST env_logger-0.9.3.crate 33291 BLAKE2B ab0f0f85771bbdc6c7709f7cd4c86d9eaf436b073ce614f9297f60e95b6c9e6141d8810d1dccc575893c796358ab65ba56a281630ab75350e8f421167e5d9c52 SHA512 a3ee86e77d980c2eefe4be32d75422aa0f9a60a43fd11bafaa3c9e556584cf65c36976a6aa650f87426edfd82de0cbb919e0906cdba6db8b486b4dd4b2583bbe
+DIST flate2-1.0.25.crate 70210 BLAKE2B 992525ffeeb4433a222487cdfb0c3927ad77f914e1db94f612d80e81faef4a2c955c755c2b800251e3416d0b22726d5f7d7e432a81c3582c54b7de95ab7a324e SHA512 d81a463360ee2778f609ff297e04548120d1fda1f9e020fb2f429ea51189b8fe6cae57252fcd924d71fb65ad0f93ff7cdc7235913f8b78fa82925939cf884af7
+DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334
+DIST futures-0.3.25.crate 51664 BLAKE2B 8324abc819143df0f11e76ec19a50a9d6df87dd243610ca756d54f519058ddc25ce72a7652698dd3dbd00631eb50f05c7b4567cd87a65858fcb4ed89e2d51fe6 SHA512 1b41edee2927cc68da7101fd9ce8616a61b4102bc378429b8b53adbabda584a5e1df98bcdb2b0ec73466c5a51e996dead7b2d286c7025fcafaffe5e64d715997
+DIST futures-channel-0.3.25.crate 31974 BLAKE2B b0c8f2b3ac8b0b010aab83c6e8d2d7329d49b1c9727393f81f9af8c80b232508ff475fea86448540d2e9016d645ad8afb5bbf746e618078db78631a9b3616481 SHA512 1275e91c90a060a01922747d160435c04bba4686990912e5ba0a4fbbd91ebdbf4f5abbf3530e5f842445f7482e60afdcdbd836586b42f0277e5fdb1a2fcb7239
+DIST futures-core-0.3.25.crate 14623 BLAKE2B efc97e52dd0aeee34402018897a276a68cf94bf13fe37b4c0e4d971cc2dbc8cdf54d0744f0846049ff75192c0fcba906b3556f000fa8657f89a54d9356f8f578 SHA512 3b3c758c493255024df26a763023a5d403fcf1a9fd105b08c518bdd5891ada4fddfcbfc8cde6101157a209ab6d1555831bfeb49372b17e902b4fdd8a83cded4b
+DIST futures-executor-0.3.25.crate 17744 BLAKE2B 3ae27b7f4cca071c7f411e783781f2ba774da2d6ecfc9b8b9ae7cd9a4d81a58be3e9c967c1dfd24ab339b09d8d0f8cb10e5c3a7e34b5d1e9a96e28d2bc575869 SHA512 66b9bdce86c41d5574734a6878562fee45182a3a6ad3b5cf57895aabafa5ae610f440dd226887e547c3aabee792628a5f7b4406c4ddd909501afb66dcb26b64b
+DIST futures-io-0.3.25.crate 8911 BLAKE2B 4100c46b7ac6908e849d3c50bce6d563419a2eea7d05d27844408287cd41bc29310754012031e3068c0d6b90307c9de36261400d438046af74d6a86b0e60f31f SHA512 ad19dc9de5e3559ac453478aa5d154c28a174a9d6492c028cf4d7c6d9e2ec1ce3ba80aa79c0035f82a1bbf86e55e4a65c9eae488bc5dabd399419cfa8cf652e0
+DIST futures-macro-0.3.25.crate 11256 BLAKE2B 310fe02b66c014c00dac0c4795ced9ca9bf46dc48f964f50d6300009df2db8505987849823faaa3a0dc312cac7cedfea0cb892d2b0f2c4445bbdd5471953115f SHA512 603863a3249df6dea4ed249b71236526ad506faa5cdc430b3a0c96845e21ffcf800407eb31ca7f0cd45c989bdc1ea68884233ab0fd0abd1d61700830293e968e
+DIST futures-sink-0.3.25.crate 7854 BLAKE2B af109917de26c608b21d2fd1be304428a6d78095168a0b14eb709136789acda0a6bee4332802c3fa3f1e65ad9057e765b43728b8aa6ebd6bebeb2f25d5f96adc SHA512 fc318461bcec3344c0658135944ce7ebf6756c9d1950c2c5e3ab3ddc7d4ef5b0f0858d09f14d7bbc9a9fec7da19236a10dec0e125e5550c965bae95255eb0089
+DIST futures-task-0.3.25.crate 11844 BLAKE2B 60635ba309e978f1b4ba72b29b9d5cce1d870d8398986eb1845d8194080ffd9845d8d2cde19ad0333843bc642cd08a8e5aa44b8c85763ef459c39de4a5cd5042 SHA512 d2278d52397390d7cc1028bcccf1aec009b16ffc33873b8a96cc4f456d7cf501b86660507489d8b284e0798e7fe68c04796471050b6fd2d0529c761d89f9efed
+DIST futures-util-0.3.25.crate 155866 BLAKE2B 574e7cddaae172827179c1d012c8088ea84141d453b154b4358350f53f94d13b776339b0fe16b6e18429e2f83cf5fa35bd5079537a044f240c1471014e3b6a2a SHA512 3e233a3093f3889af6bb5adf661c1cc32f821b00975bea05eee14c2b38e25974b65c10234eb060c52dea4c665ebd09895df666f8583559b7f7d7636070ea51a8
+DIST generic-array-0.14.6.crate 15889 BLAKE2B 7beac5446f5da4d077598af43c238eb7e71a12b0b91e6be5dbfc1ca33dc21d128fc93c9c8b18caac4b88830c8c8a643f2033acaca1d9a9f3d95329d042276156 SHA512 254e6fb6658f083f26e022916795c9ebfac241b9df2d811aac8316b17e1375e1c5aa54d72f1bf6c2627a88484a7df4b14eca231c90578e9aa3d9997047fa0f20
+DIST getrandom-0.1.16.crate 25077 BLAKE2B 0cbe96c27e78100c181a064e5fe524efa9a7a267fe60f8336d2ae0125883acd5d575ff17d1d56607255d9b2c30cb9d962026fdea1a5c3c29a5e0760d27c3136a SHA512 c5450c522c07c7a38b326f9a9062bac7d089630219d577ea4b55abad4e0c31d17b7cde385fc43912dfa100b42334e7a52422c55fda8b738caae428c6f9addb53
+DIST getrandom-0.2.8.crate 30553 BLAKE2B 30211bc6a8ceb5ba765cbf068405cfc08842b2521c5850647971f4cb4bc9a5b0a9195ccfbc1461de019eeb7744ee69f934922ff21677259d7b815800516df4dc SHA512 cd7aea29f79a33a0de2a52a0a82f2b57ea8f27908ccfe00a5f42248766df88b225023603ec56d6fc634ef9c1eb67ad0135c90d4c695f6f659db0767e7fda44c5
+DIST h2-0.3.15.crate 162238 BLAKE2B 67f4ec2210e83e16d8a931e4c83c21b3404d826278262174da6cd034de588b944fd6f8c2a416930870b7c8c9200ee9f2b0cfbdb42a94ae2b83f29b3e50455776 SHA512 54e006a0e70448386a8a8ce57434e75352e09e2a6f4457035fad47dc793b5ed69ef9cfb31dbc91b7d0d9a58ab5c2dd18e78190410356f871c14165186d40e6c8
+DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
+DIST hdrhistogram-7.5.2.crate 316864 BLAKE2B 30e084cc658f42c9b29fcea5d0363045b25042a0a6d0faa3ad8140b70fad03242e4f1854a7bdc513c2046e93ad489128e75b4eee2cc8fafaf6d48480125d23c3 SHA512 3c039a26aa0af1dea71ea211cca16c0d86433d7fdcf5c7e5804df9ce46b09a0e6d5f5b123d5664cb5b88e16356a2ea410631a4d6c84a3f9a4ce970c3669740b6
+DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
+DIST hermit-abi-0.2.6.crate 13027 BLAKE2B 4df5306639511a5f69594e903f8ce62482cbbfbfe272a91a12f407483dbac4e87c2d7e5668cc06ca5c0fc149ca93a3152fe6ad4bb3b96cacf56a22cb635e5b7f SHA512 bad8442bb822a9c99f6536db16523c80f5139af6a139bcc359c03725c59ff935816e2ecc5c491dc362ac75ab2dff41ab1e9dd29431f5e9a109b60eb9b7a8dc28
+DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6
+DIST hmac-0.12.1.crate 42657 BLAKE2B 5d432a666dbcf9077a98e1f8a4aaa3afc88f3d88553cf7a2356d117c66f38efafe686c148598ad67ae89d64ee3edf56387a6f89b75dd9ab5eee63e13953dcead SHA512 77d4bf51f4633a8c36712ce3178945141df31cd645eafcf4bd130b8ecd7cb498bf1ee6f2d9c8dfbbc9f97ac638919fcc81bd3ee600a1b27c3be3fa87313aa0b8
+DIST http-0.2.8.crate 105591 BLAKE2B 254dff38c4d7dff28e4ddee0769a2f5e2e9e4abc6aab38e965cb7efa4069d1b59d422f30fdc73b5db5bb6c3fd02633dbfdbefd59bfd6ba352c3e5c9241d39d97 SHA512 8e8d01803552299807b07a9fddb45d92af089e43344eecacf2bee07b0e745f33558d26a5cde987ac0dd50f939fdac2de6855c8b44f7362e86d05efdde8a7d956
+DIST http-body-0.4.5.crate 9242 BLAKE2B decb7a27f123c38afc1f7f36ad570bac6d5513e57334870621477c17e0363a8abe4d6a3360bb1c87707d188be66ff100f42237727304e07d8515c1faaa179d48 SHA512 d01de0747155283331086f2849d1dccc0387feda576f60d84cdd1bc8817ac82ae131c294b5cf9ddabb7ac91bfdef67bc2ea5fcbbb04f41b473d4c5f5b2ac13d5
+DIST http-range-header-0.3.0.crate 7120 BLAKE2B 56099f75bdd71a87aa2950146f4d9012e16319f0ae2599ca951f6a19c75da419fbeea37f738d6ad6878da996692b4fa8f45da112c10d64583315ce45bb99ccd1 SHA512 8b2fe5341a2a9e988dbce9b9d0dd8673c68aa247fe0d2c2b1ac8b87886837a86622b03346e4f991420c53f3fc33d4829aeff7580da0f82dadd8eb7dbeab74af9
+DIST httparse-1.8.0.crate 29954 BLAKE2B 82c48fdd6d28e94c42df180415ea3e30d471ace2fee09d7d8d33aff0a8e9a15d3029c90f3bb036b4f587c8902094a2ec21e4ca6ca7b654a82562bd84fe208ef9 SHA512 849159d9876e0474c71f3c7aa3a7271699b807b293832d88d52e4326ed410b25f9d7b9ad75a143a51fb5c8ea5016c2513348edbc050d3b62dc9a6737ae98ee8f
+DIST httpdate-1.0.2.crate 10673 BLAKE2B fbe2230262cd041e1ea8d6f9782376c25b0e841d711961464fd5cdae0e9effa33f50841d8adceb6b9753cdab911f3456c86bed0d2b8acc9be5f81da8e62a1b9c SHA512 4d650dbe7ec1d0f457bab71cd009fd92ee296fbe0a6b0c0ce4d71aa3bee720094a03968c08e542be60869350e05b4a1739542c6415e401407345f5643e15f8fd
+DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c
+DIST hyper-0.14.23.crate 186136 BLAKE2B 2f1d5a5175911e07f12bfb0f1e12f88bf2b5f895b766b2d5b483d7d60926d1e11f6ea59dde6a941f68846242f608f3b619cef004eb7b8b890718ea7b59d9d2f8 SHA512 aa2eee244461d82dd56efa1ac30f25fffe2ba881ce0623d02097237582eafd9313bbb52ee72d0c509cd1b43a10f715e9dc84dfb13c838cd7b834db565fb4c09e
+DIST hyper-timeout-0.4.1.crate 13805 BLAKE2B 3ef4ba5ed9f9b8187c50a3af20bd88ca2608403ad668252a9db3bf6b0dee7a13c6905c4e9172e0b1b38a72998e03ff933f991b3bf2af161e8789574f7a5b7816 SHA512 dc0b989b4be7e250ebe92856c800117b666c83b93d8217c4e92c63cc84a617b30f1bc5754a071fccc4b03fbb160b9df758f72d87abb5ad59354c6e0a2563e10f
+DIST indexmap-1.9.2.crate 54627 BLAKE2B dbfa551d33305db06b59d07c1b4bf8d4596a67ff1caa03062d07f6d78b4604ac0533d1c1fe3c371702dd7e65a012bfb960d79c76db37e264d0b44be576969285 SHA512 946c54881a347892dfcb55648a2b881d3a4d113424b8c76d8957980a834895318d11336dc438a04601916cca787420708ad7e271f965c38bfeae511ec1dedf85
+DIST indoc-1.0.8.crate 13748 BLAKE2B 785203ebe8a6fae2a5c898d2c42264014e424c48fdf80a232069eafa207833d9613df499e60305e8ab5eeca9591e11e3305f4554eb28f208294ecc66bcd259bd SHA512 50f932fd16228e06f6049a685f1e0a8bb849fc1b8c0d72a1c68a9581efcb00dbb8534c7ee2421e2b9b3827402ee8dffb62a3858b5c5727aee4ba43fb3d50a9dc
+DIST inout-0.1.3.crate 10743 BLAKE2B ac2fa5cadd98088ea3f6eb94ca46b3a9ceb6547ba49f0de311d86474d71024d1a087ce9b8d44ec808008db69146e9c81446bcfeebeb2fd74d2e8d0ad2c4975ed SHA512 1db5bc2bd87aae145b3b0be6669a9a722df2aac8f970fda210aaf945c372e641b941cee822917926dfa1ab8381c6e99cc7df4b18d2f4e2fbef17fdec36ed2beb
+DIST ip_network-0.4.1.crate 23969 BLAKE2B 5dedd7e1ce36f745fec6922162333ab14b9d2f6622991ee2f9dbff1716d89b03afc27fc3da28b17d27dda94c3d77343395436ae7c5b2d3fe3c857213b342f96a SHA512 fe6875d1f3b42b9cc7f9ccefd50c67d6b6503880594d4d807db50ca247776e68a5dd4e147686b9e0029f831b5a84c61254e389e600b013d2f46396302d05d48d
+DIST ip_network_table-0.2.0.crate 5692 BLAKE2B 2a6734e6405b79e05abc828d28a71934a448427b12b89aba6c5a4d8fd6a404469a640b23b83df35d14c2ae395e2690fd2bbb156728d23390b5edf7ae197acce4 SHA512 7f6c801edee44619d5d7137011f18757f7a4b695f5603affa2ad3b69d95e3f121b2e6754fdc225e7fb3356e73881bc8a9dd5843f1bab1a2c7e9d7dfce4cef47e
+DIST ip_network_table-deps-treebitmap-0.5.0.crate 21076 BLAKE2B 673460b0c12603fecad29ebcdf873cd647c6201c0cd819408ff86bd7e94b69e8fd53e5c9fe8e38d032dac98d53311165f8f068400d802b120584543bab874c9d SHA512 8bcb502b27bcdba98abaed019a56fc755e734be2c7148ab13c7b7ae17a7bd6504f24db226369c48351def38837164b4294068c908b0b130c7bae1c5cb38aecc3
+DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
+DIST itoa-1.0.5.crate 10622 BLAKE2B 0d08db487ee791a252389e40e08e47a649d9eb90faad16bfbdfdfde46366082d2e3561fb8a62da80b122e7771052c50a0483e9618260d094820e20748d99882e SHA512 b90841e3a016a9a68cb090e4bf78959bbadecb3391cba71e0deeb5ac2723379ccd3251ec18a0bd055fba7cb6e71608ab1d7db990ad4d03cf2fd1289bd5834540
+DIST js-sys-0.3.60.crate 79257 BLAKE2B 714facdab00d567d074de4a25b69487400c23194d0f58ca784159483f9e02289acadce084b1514d8816cc9e0597800de82a5298b071b7df19a24df93541f23c1 SHA512 543dfd444539fad27bafcbbf112366f53d4ccf4bc63f8bb17820d818c3e1804656697ed6268a793f383ddf6b6227f7e9b3a11fb6fbb24e10732fdbd971801665
+DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
+DIST libc-0.2.139.crate 638983 BLAKE2B e92b296cf8c916e10e859722ed75f4790401662ff7aa2fe8ed84ef9b94a00538768be33c272f0881e42da887c8c43e1fd44d061343386216492a76fe5d308598 SHA512 ff5fae517c49c382dee9b1d7479b65b0a818780453e5c00c416847d02f42186e2fcf19a8a8dc5e9cc2611300690c6ad324f9c0f0e8172e913a1b781fb7c0b5b4
+DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
+DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
+DIST managed-0.8.0.crate 14199 BLAKE2B 51fa074b19c486f6eb0e338047a4d3650c4132293261f6206df469f373e1f6547311316e243772415fdc21eb11684d7d0c1ce13ad19ba45567bcbdc3953eb245 SHA512 7050e3ed9ad75f3a7362f1c0c83a80e2011ff776f7f4c1d17ad901967ce0de6969d7d9a7774e3f26ca9c763b1d4914c7d4dc9ccfa8f4a10a6ea24373fe70fac5
+DIST matchers-0.1.0.crate 6948 BLAKE2B ec3a5d01d2fedbb4dbf5bb185afbb9401410463a61f51674e0df6a571db352b2bbabfb99cdbdcfb4e511ae783165bf0258f5163f240a229b9087f9edbd0df41a SHA512 84214c1a84952d85631aa1ab5115df7cda223ac64e2acf055b6129ba1aa26ddc87615a8b51ca890ce3fee0419053fa7fe1599ae128f1d211b58c07b0c4af3b19
+DIST matchit-0.7.0.crate 19113 BLAKE2B 007e36539c203b80b9de36b6ca19f36b38152d27ec17b4254344a4471c2e4358931a0539ee85e130514ce8a89bff01b5b339407fd932e3bec836236651606a3a SHA512 0174a509c4b2f97b83285f08f0eca6627c75f6c89bbfcf8cb6acb52bc53cf337081a0c7293c571294c5515c053e4f144015ee4242bf4936cb556e8c11a361ba5
+DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
+DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
+DIST mime-0.3.16.crate 15206 BLAKE2B 9a599ca82fd0dd6d3d2dea68a47b8441b1024d016ee1fb23cc6431b39ead20c9b3fe1ff3397af79c2c1b2cd277c440d4fff69f6b28c550ddbe15f680923c834b SHA512 cb1d691610cb82720e553247336fc5eab63407ad37febf2eb50aaa4e329cca70959ecd8bb8c7af5753acec2c8e86fc9a0f8ad9ad2de93fe9295ce84033d6054c
+DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c
+DIST miniz_oxide-0.6.2.crate 54536 BLAKE2B 8127ebec5a2cee1c2101d9533da573e01ef1a0fcb169bb0fb1419973ddd2e6953d8dfe85f9509a5d1226643ad290f0ee1479fc68f1788ade7ddf9633d90bfe1e SHA512 250782e214572acdd11df87c2788cd5f78e8388d9b285d0a850918219678e262e8b9905cc88728f5b70d13920ef9d19c43d243dad8fbcc18f8c8462662ce1419
+DIST mio-0.8.5.crate 93993 BLAKE2B 6c20d66c3b5753234c0ab0461642b63e84383128db775c6e01d50bade5a69081f7da1626f87244c2c45c2451690e8cdca02e2d1ca20f279ba6f8401fb006c7cc SHA512 e92bbc1d06ad8d4311d76f878d514d0c91e47de2c511c54bb53096ad689012c3d1ffeec18e2de05a5f66c03ad83150cd45d31edd203e9b9522ece13be00bcede
+DIST mitmproxy_wireguard-0.1.20.gh.tar.gz 107728 BLAKE2B fa120bb91fad377859f69dae12ed08161db750dff25e0f335deb489d04537f27489f910495d2567a4e76168cd9d7cb1d3d4b4949c419b1f163cc5daf0e68a06c SHA512 157f1e7b1d4a47920bee39c506643954c28395eeca58c4024f2bcdb1d170d2842c110652b28eec4307838f378c8187a79bb8c99b4fc9db8dd95cd2bda097097d
+DIST nix-0.24.3.crate 266843 BLAKE2B 1eb1667a60d07c4541a0cb0cf0bed2c7c5256411028becdb229febd0f6215e8e176d3bf691f3bad2fc64841209bf364ff8345a3e92afb2bf8d3705fd734c8ef5 SHA512 6ecda3a14ce00002265e46a066b443cd3c092a306e25d9206b74ae31b8468fd5105b597ff1e7097588bbb6ef5e52fa48ebad908303b61db53361b525f44c13ad
+DIST nom-7.1.2.crate 117341 BLAKE2B c7956334c92b7f7d427e1eb7618785bc240217a398e6a5bbe58454af99d06ac997c58ce239355f5f8ce4fd29b54ccbdfd7a07d289810fd46cb83554efb02715b SHA512 7fdec020468d6a16fa1d2602478bf07324605f37ef6e2ea9dfc6aaa3a772fd6d54b5facf6b5f717368e39f269fc9218ffb6d1854db60cf2d45ae83e5991d75fa
+DIST num-traits-0.2.15.crate 49262 BLAKE2B 942ab170b2acce1cb40e6847f766bf810a79edd293d34f3a27864f464c16fe2b99fb13171ba429cc6d584248de879434beaadf1b231a4001b0e8389ed6c1be04 SHA512 5228498af0f15daeac3c9210f3e6e71cfaaeb30beea81dd37f8eb06b9592c8bf3226a47597cd8592ad4c513964a9a40f1ab2c33102ef3dfe3800d22c8d4528e8
+DIST num_cpus-1.15.0.crate 15680 BLAKE2B a4d98b29ad534de9bc262f58f615ec06bde5d5a2f5252f09b5a0a6ecb06a9daf9709ad9045eb08f7cb744d8a838854b9095aa73918e06624a84efbc11a9a5c1d SHA512 fd4772868def9460a6ee17ef6fc00b0bc74115eec891bb3fdb07ba5b5fe4057a2ac69eb31ba8beddbd3189c7be4545888e5724879f3a89132fbc9b32aa7bb10f
+DIST once_cell-1.17.0.crate 32736 BLAKE2B 767fc8f362ce5ed7a9eafceb2f0764a2a1c7f4070e22d1e6e2498b3c841c5f761e77fb66a34b899a75d48f1563f6b9b73b90aa9431055d4e0269c47a1b043c1f SHA512 291d87380c0ea17fb3ffc9fdff8620d2ff55601c06ef65b2f0c54254fecd5b488645c6e94c6026b82071893f4d420491ff712399a782e14efa1e323e5c299c46
+DIST opaque-debug-0.3.0.crate 5767 BLAKE2B fb5d32c876a271b41582563f5d6978d75bc1cba2cc34167f491bc198e6eded45b9dea65effa3aa972ede20978808b37ad1aadb6837f926fa3378ffd382076d41 SHA512 9909b06668a4f97b4d0e916de3e1d0a922a5a0b911a7ce190de786f62ceaccd382cbd0dbe01ab0f15e5472c10848482da2307a6d897928b6b7d5365bc0321cae
+DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
+DIST parking_lot_core-0.9.6.crate 32414 BLAKE2B c87976a3ffd1f6c9b2099490b44e125bd55c84a40aed321be4421f3499eb149694d045409e8da84983084afbc80e0666af97fc6f3d3b90f3dbbbf9d669a3c0d3 SHA512 a3ffa7196580583ee614399a35a3d7a494663932a20dabf326737c8a12bf90ce84924a376c7701d54b207a679d1b90e91cee25475be2d77ffc91ec89268da847
+DIST percent-encoding-2.2.0.crate 10075 BLAKE2B 397e59acc3953868c709244b89a2e0db3304c0b574ecba761026b570a485f2cb5b0b2a0159586d1f342ec395ef02ace536da3bc1c72093e1cf93f8b37b26b0ec SHA512 890a5256d2b4290e12e04a02c3529f3a017faa2b6016a4dd0f08b36509f0b1107eacfcb4702024d6a21ff8852a11f263c1adc096b16ef8d12c45a734c087fe68
+DIST pin-project-1.0.12.crate 56972 BLAKE2B 1f6b106cd55b9692bb1d671bfd51011d9f89cfe8bbbe030c64e7ea57b6efb0765838b03812708a7aa38c197d3b43328a9d88fdf93abb51f4d1a3061301b74414 SHA512 434ce0a0e16441c7aa6f12dc98584a0e7986e9491eb08d5143e3f64e1f73dfa4db9d0fb2098f16e5a36f3653201aff735437d2d1d366c11160c09534c75fbfe7
+DIST pin-project-internal-1.0.12.crate 27956 BLAKE2B ac5cf33b5981e32ecf802a9de1576f696006ffc035b33173b1606a1d12c7b12c53a217f5723e8ebd622a121345f440b200ab3972410a2f161a5ed83fa8769ed6 SHA512 f3f4839c5fa7e3232a323283ad9636cd03e1bab79b439cc2d2ea954d60a3dfd417aa4680b7a34a3baa48d7e02266cf16e56b719a905f04157c708c90c02e45a9
+DIST pin-project-lite-0.2.9.crate 27713 BLAKE2B d6985b5add432fb6287d1b0c9fb0cc91a195f82c5a748a9ea430e4ba884717ec7b16d730b5ea62de5b2bfead1771da2d115b3776e12e605f70f2538f374a28fa SHA512 cef0b77233adca712db1183f780732ea577cf1b27c2643de221d54c837c75ce749f907e24a967be7474812c7682cba613a3fc5d553a9578a1b80569da0e562e4
+DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70
+DIST poly1305-0.8.0.crate 32633 BLAKE2B 80dd7526a31112de4ebb9ec800456c1118b588e7aaeb879ef4b1b93bc34ec9f9f8a1451259ff5da7a1c97a5d94ecf6be648e86aedd7e55ea501a94f314aa863f SHA512 0081afdfb9ae16b24ca9cd78c17d72b2bde865dd58f8e66008934cd2e4b49dc96b57a612b9c53e466f3f896d10ba9f61956ddc225cee7f128fd9f84a27ea6966
+DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
+DIST pretty-hex-0.3.0.crate 6677 BLAKE2B 67cb77ce1d2ffb17f03aba1da53f88b5f2b08e84fd98d367fc236b97f194c1c59e25eeda914b3b4a76dc6d550af393b22cef7d6ead289a2219b4445e90c159b0 SHA512 f6712b51429130950d47049cff5d98859c8b326d297c84f1c733964f2d22ce9b1b077c105a70ad4a3aa0b8e3a94b7239c7118581d523b982a62e170cfb0ff872
+DIST proc-macro2-1.0.49.crate 41977 BLAKE2B e31c81d3b836404bd2c28363eb0cf2637cb7fb1ff5fb39333158be2b40b15f6f8f582edaec51cabd32d7b215df39c08a9632208fe4da36fc435dc32a48483a6b SHA512 b490d5cbaa790163aaa49c1595e694dfaded61c59fc23f9b6d359f4b774ee6eb20ae8efc5f5ebd59c8ca75da85baad61c065451c1cde03b3b6148e2aaa2c9e1b
+DIST prost-0.11.6.crate 27507 BLAKE2B ac7ecc890aa56ff1096278f22d868f80e6c5e120dcd3c16f5e9daf43e11f097b6c505908d4c6a046a45c2b4a0dea02c8c6c5b82b0b4e14191d4d13496b18ffc9 SHA512 f726a064ac136a653b11ae20aec354a606b21e91a76cf62d0878bac91745b4f2c6417642255b709efec2d95ae0f2385ea18151aa84f6beb8fd53b7f6ff173522
+DIST prost-derive-0.11.6.crate 19513 BLAKE2B 5056fea26e4fc45836bcc5165d74fc97c9d74a43a52cdcbcaf1278af18858c043e59afc4aeb71c8bfc58a8e0cb7d9f2d8b56b39b93ab0ab36bc85e42b26fb8a1 SHA512 5716641e326b17313ec817e6a8dd84c1bc3545c0a0607e1a2fd6d3945e701e4660773da84d857f0682881cc031e8a014e877e6028ce8e4cc3a3343501677b787
+DIST prost-types-0.11.6.crate 40556 BLAKE2B b8d3591918a869416cc7e6590b0c9afba21169c97e8b000fd4a11cbe962a8018340aad7110dd08aefc1ac047b07f3d05926d82f816f423c06bafc1d491eb39ec SHA512 ef01d97d90c14dae180045b261a3f9c94ef17df219b7af4c58fac0d348b54cf0ee66729270db8bd8b136b2025643baf78475a7c56177ebf15a9306197136868b
+DIST pyo3-0.17.3.crate 408939 BLAKE2B e67ce34c626dbede3c76abf66ba5078827e8a75644ff9fbd83eccf3d53096a3c2e0991da8b3489ea9984c665751308bcf4aa9c3d31dd62c72127694156a7a0a9 SHA512 5c83ea76202edce13c370d023562a9009382e36fdf3fcd7c4dea844ab8e5e048db4cc79a9c0ea98fb7017a83da16924ba0981ad98bd83e75e2fac434738e9740
+DIST pyo3-asyncio-0.17.0.crate 52314 BLAKE2B a6c054694d1eae1812f4cf48b485d65fbb213c44bd3de84eebc6f45cb96d2ab60f54c39aab14eabb35c4d0bc5f8c1f26e23b812fa943e7a6db8a57b8169e6279 SHA512 c08a12fd37703ce721a188fec06b3b1e2d046b42dd72c1800b1471bab04ee102bc6c5a4492508ad5bf18e2e1aab4e8bc189653d4d04123136bf97644ecee7e79
+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-log-0.7.0.crate 13774 BLAKE2B 4f70c0fcef4c735e2b36704fda16f987a24acacfafac3cf25cbdef5f95d2a70e05736d171bec48a23d0d85e25acda90d98b4ea2b19f7b5bdfbac2520c0a745e9 SHA512 a9170e53a8f745a3f8c271acb629461b902d403e76b47c218660d1e9ab17fa67e44c250b60c15c11c35e68c18135c357c7a6797a91018d42b660b5331e4ee507
+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 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.5.1.crate 21116 BLAKE2B e74791f941a79971f2741172d489d546373c9abcb0dfbffcb7b97b858ec800b2e0c97df4ac636f3aa1b8dd6c14685edf317336d577f31b5c6cb7d89a157e547a SHA512 4f7500b35e165e6c817fdd67a50745d5497d24e554bb554705097e37258751e8755c4d6b8a69fcb5e1977708ba78620bc35d640e4e018fcd4e88d9dbdbebdcbf
+DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
+DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
+DIST regex-1.7.1.crate 239648 BLAKE2B d68591ab0627f0bbcead8e81de2b9f6c7eb7be2d29b2c1700e06ffb541c073ecc054dfc76aba8f55ac0630b191d4136805bd04c7d1b9f6cbb1ca2437668ab244 SHA512 ee19bc6d24b981a151324ad4115488383227ec33dfba0225b35b6252f0d363b8d906db59a45170139c7a687fe681a983c2392d2921c7365db38c7c0e9745066f
+DIST regex-automata-0.1.10.crate 114533 BLAKE2B 0e357229f6825f14339b1d7c40730b83e62bba12115d01ed20313320766e769a653a2fcd2c9d19af51a82c38e9e42c1a31d005e1f44f5b6fbb3ead7c9c74027f SHA512 56d64da361afce82c6cb49e70b99ce1fca3e1969c54bba5f9971db135f8544c65f49feb8827789947b3d1dcefc9c49a7a434a7ffe0d09c5900345a1733723c5f
+DIST regex-syntax-0.6.28.crate 299288 BLAKE2B 8554370e269e888e603c403089aa6eb4a087ae65fec016a428e424289990a07826e37a2e51cd353c7d530d5b3421e2db6a8f9d50e62379867bb5b6cbc57f2436 SHA512 ba5fb1622a330b67a4eb820551c7f20dbfdc6b38eb697b9bfddea4cf0060b473472045e93aaf6cb9727ae609e06ed285e1e42f06f34ac730ac39fb90425bbe85
+DIST ring-0.16.20.crate 5082615 BLAKE2B 6011eb7148c2d2ab410e564a06604f4350e07ea030e4d7dcb30574b977f0b0c7e53e09f6e6dbb2d068cdf110262876c48dfaeeef1b691932a056fe149916d934 SHA512 d97d1b08eb796d4c107426ff2c015ab1f221612500c8a57fca8e3f064e8c0f5ae2a5e6071d013313cd9f4be8fed4ba03beae84bd446f56b2b2ca5d483c328191
+DIST rustversion-1.0.11.crate 17485 BLAKE2B 940646bc3783dfc663b179e4624ed03d3726bc745517581fd3d6eef607fea2b2c75e636f1e1dd2d9e30cded59e2b9fb64b964f47693baf2928b515eba0e89f09 SHA512 60b94f8378cb1d0ee61dad768e14f50bd043d4c0e4a4e0ef4979d7366886909e1b186abe2c65cd36ef077bc2663f1610f3bc4328ab2f078b94405384a07dcd76
+DIST ryu-1.0.12.crate 47070 BLAKE2B 02b0eec6bf266b7c482aea15ff83de4bf3cd6f607f8cd6f17f1c3ffc60cc64b62b15738907b4069f5816dd81669ed4f5b00c4bbc8705abaebe3a0846f56e8e29 SHA512 070f0b2b52e47cc9a6d8f003439d257c27aec15ffb030a92481ac22d5052436156e25127ea3ea7986cc514d2a7a924f9328710d743c216d7b1379beacae79829
+DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST serde-1.0.152.crate 77091 BLAKE2B 89c01ce359042ebe6b1b64ea710580886f965a98e1d6085c58a75269a9b43401e2cace080c4c93ee51982855fb7e2f09fdefe9bd237bbf30c5537f3a4258283b SHA512 b47bd58fdc1a81d96cc0c9d14c8b19153b6689e893851975b1d7c7010c4448750e7fa09056dd4f13ed475a4aea2a3950952ff528832976919a6e78504a37bea7
+DIST serde_derive-1.0.152.crate 55586 BLAKE2B f133c6cdb87d435ea0c05144e685047fec22b93df7c61df4aa139358c2732326c98d0f62fda629da0f648aaacfc9d6f312813940238f45b359546dd435e7a516 SHA512 2f4dffb5671b4758f0b7dc0939f6b5cfe3b3ba02a53c62c75b5a0ec89d2db26bdd95f3e269d1fd4b07ec921bc0ca5f0741c26fdfcd25bd6532ac698c6c701e91
+DIST serde_json-1.0.91.crate 144654 BLAKE2B 857f25cb43f8153ed4266fdc38b0a426ea04edd9e7954ceeab384729abb51ead1378a819eca6ced5cf20ed0cf237548b4c81ad507e3f4684aeb9bfd7e4958684 SHA512 b0bfa3d64fe9fb0d09ec8dcb6e41eba75ad0f0c4e34e0ffd5e2a3230057d7499a57ffda8c1615bea5195ef398afe414f3b0a143a39865123c1c5f976ea1a0337
+DIST sharded-slab-0.1.4.crate 52479 BLAKE2B 766d81761909006ac740cce13e8361734c3c7072cd07c8c8f611f09772e16f11aa93cabdc5273b9446f5da391b26b7e7d619be523488d8b3558c64c18f20d591 SHA512 123a9ddb126d1adf41a30a632604264d66a06bacc497db6373e9dd36164197f8321f2fc826a16247674f0f69d9f6e30aca37810f787693c4a5c2cee8c5887c55
+DIST signal-hook-registry-1.4.0.crate 17912 BLAKE2B c50ade90e580e5f009832d812299b33529e53f68e6f1b7f5f9b5ac9ee0de502825c7bbd66199a65d4494152809eaf3dcfb676152c5b4f66c7a38b33551fcdd30 SHA512 b564379e5df1061739734179a69897badf9e2e6b469e091954428b05c3c7143885396df4bd008d77e08dae53729d2267d50fc8563121b086e25d8a5adabf6d6d
+DIST slab-0.4.7.crate 16647 BLAKE2B f567cc822e7b84f64a0b0372c22a0463d260871455a33df025808a0476dcbbd4e051a117d8896d96d6d3d0655b7c296cd691ca22edc54486440f4e2e0f5d1e1b SHA512 659a9ca3323fc2cd236f6cb9eb6feeae8a1f5fa046fa239a34cd7a5ab8a7eadb9e5977e8d5cc41e9138900dd7c75ebc0601480771c5fdd2e084ee76619b82521
+DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
+DIST smoltcp-0.8.2.crate 235251 BLAKE2B cb69e5d9314cdeef98a332933edf82a1b0e02fe6db5fcba23c4ddcd8ec627be476f57db15c691a1bc2cc6bd48fa112f88fa7d57ce5d84f31819f53192ea68ea4 SHA512 c364da587aa40bb238fc6c70dfce060e3cd211575749f1fecbe3ddb70cd2788b40673581f09e6e029303cefee70d7fbc25b1170be10c9210b20fcae6ccbae40e
+DIST socket2-0.4.7.crate 44619 BLAKE2B 9bf2560812db2c91498d12274e02d17c279efe5817d882faabc465de71b1cb8045f6eab3c8e6031f6fd18e0e77913f42daab07f01e8d83bfa5ea44cc6966466f SHA512 44487f2de30cd327cad1af31ad36aaaa0bf10c33b5c23b024ada8d7e41d064fb2adbc9edb14aa8aa1eba679d8530c373c7187fc68d9709ae736a5c1a2cf37088
+DIST spin-0.5.2.crate 12004 BLAKE2B d67d9156ca6dbcf4022711cce797cd423a4977115abac4cafaa507aa2e1071b637275637a20934d4d0d6d2bf82c98c74a4506720326d1804952aa0fd5fc4895c SHA512 fc57f7906da2b7a298c5f89215e881e8827b4d9f934dbf138338e0ee30122d8459483be566268fa374b41d63d8dbf65d42e0b322535ba35c827d7edb2176f267
+DIST subtle-2.4.1.crate 12630 BLAKE2B 05a90232bfdc2cf67522e2972bddcd8dc9a165b1d1cf775d0b1c8358fc7c4d0559b2b899126b6688b8ef77b8b7580b3b300f74a599a7ee77f99c064a3917693b SHA512 7fd8234b7ffa3ca7e473539cad958df0842186e1dd735905e0d4977564f40a5f2e18b58180fcbe52614a00964dc150bd9f6964500847ea658f22bffe030f5c6a
+DIST syn-1.0.107.crate 237539 BLAKE2B 5a65968806c72fedf69638661f827a0426b9e49c2f9a5e5208f986105f8facca2bdf241f92f74bde790e9a0dd68240d4827a345a939c087364360e19a5cbeff3 SHA512 58132adb76643521a6a9cbc0316431318ac25f8517bba3cbb98e7e28ed536f9e24f643e898fa21a2f74cc8c1aeafaecf9b4199b23048c7be8c0bab2fe3aa7623
+DIST sync_wrapper-0.1.1.crate 6556 BLAKE2B bbc909e458b182a7bbe6ae69b964db1c3ce4b5864625bf8029a17eb1846d0bbedc7488b69f560d70413f4cb22ec75c3eedaede8a14efd105c708159df90566ff SHA512 e43bd83a70feba54ecd41513b64902e0411e893a1e3d24dc1e303c402f6cdcf2a5afaaa1bc423b3e88f9be68617b95a2a5a7ec339cd793b22a7516782bf4b8ae
+DIST synstructure-0.12.6.crate 18429 BLAKE2B 7666cd83f82910e036e5b57600dec9a1c2e559453ccc2f1201e2ee4ba64f2ee62cfc1046ded5cae64dd183967b9d71cbfe4b60a88bcb93706eedd0c4ab69be4f SHA512 6ec5dd7ade904fb6d79c2be595886289846e064b8c4100f780d8adfcbb41e6ca67f4b1d682212f4673c2169f889a042049b31161ec3cebc3f399751124f01f9c
+DIST target-lexicon-0.12.5.crate 23224 BLAKE2B b1d31ec4ca5a529882b76a6a6bc8bbf978cfe8d7c9da0227879898ce1f2180e4d43225360bb4b4a7e9f3229ad1f4297b57c77d285c471c9c724759b0e987f6f0 SHA512 6df675ab1ebab2ff2844c3dfdaf58de3c340868ad9cd7b8c0d63d4fc9fa25e78027643d34c19b4634913c5294de7b330fb5a100984df58e4c943b3ab21ebfaca
+DIST termcolor-1.1.3.crate 17242 BLAKE2B 5aef69c0004081bd3cc4d531d13d63627cc02313868c0faab62358d13abfa7b4ba82f142c2801d25a6ae46ecbc8b7bdbeaa21c9105ea3b8950ab6a38cdb88513 SHA512 5838fcbfd70f300cb4b62aab50565db52074c56b152ccc8ac1173e4676c0d5a636271bf5a645a77da6e1d4edbf0091af2cd4dd6d73b85c3d198c760898c06f3a
+DIST thread_local-1.1.4.crate 13106 BLAKE2B 64c19368f8cec46f23b3052759c4c4ef0de50748432790e6ea11b12477239b177d54e60b9046fdcb2f495b8e0b37ad82809d03602edab9fc85cf814e3bd94fe2 SHA512 db7ff3eb88a73d9313dd58d72397614c5aae6be1d64ead7f16535cae2857be3b27d189e7955308591ec64a0d67777fd2a62a2b124ca73facb9a2d8e0458bdbb5
+DIST tokio-1.24.1.crate 625490 BLAKE2B e83d992e08392136016d832a92a69cef0dcd19e2c66d87a21fb4f49fccd6ac973af70e60dd4487546762f2489bf2e2d3e0a02fee219505c94d0a69c90c0de803 SHA512 6b423a36ab8eb27ad05eb059833da5399c9d3e0a9e90c1d2b8263538764ac839d5fb61b2b515e9ebd1692b7defe84e0321e0b552091e488f1ec5b5e0117787c2
+DIST tokio-io-timeout-1.2.0.crate 8993 BLAKE2B 52d5c5564c55c8450eef53cb60676d671c2225b2842bcd65380d2aa544d20698f138b5498521862d726e57fde97f6914541b5edeb226a197020205c2acec8cd5 SHA512 861b8b2c7af6ace78ae223fa567f26fd347de92b3e67c788a140a7cf5bc6320926387ec633ac5bf32fc2b0b28b4f3be450b7c4cdc755eba4412eac7c390dcfd8
+DIST tokio-macros-1.8.2.crate 10071 BLAKE2B c35e8043195b61bdf3e863f2224c41e3fc5ae0b32b02e53c2bebd36ad9f486e573cdd0e15b7a49e640696edc050e0d8dbfb5b33f1d12887a8ce418edb80abc53 SHA512 753888eed2d7a39e616851918b707c7634d30a54d8d276414b17ce310a2a6fa586bdce4f29b4fbc23f175654caeaa4b0589e571e2a346d99e948297a80f24994
+DIST tokio-stream-0.1.11.crate 33918 BLAKE2B a20fb1618faa8e652c5bdf5222f04f939a932f0cfd2b734fd71bbd299914f42cc0e7d22545d524ccf0c661ad4b05662bac8b8df6dd250ac3ba07164621a9c619 SHA512 4fffb2be939c91a2ae935ad4b2f53bb0e94cd94397a261852ca7bd8b5e334b55c6dfe25277f855015bbac9219e4ad1005eaa0531ce62740bdd694e1a07615c98
+DIST tokio-util-0.7.4.crate 93424 BLAKE2B d7a894c95fc5c974ce0194eccf46461769c8db15f7222fa792c7777f9ef266dccb09424dbbfea5ed2d99faa5e375ca23a8f541c16689585cacfc38fe2f4dc9a9 SHA512 910b997574a4ef8a638c5483146b4b39ab9cfeaec5fa41812f4c6835d9dcc648adf77ad8f6d914b58d435e0127d9f162beb396bf97fb74e34256ee1857f118db
+DIST tonic-0.8.3.crate 88259 BLAKE2B ba0f10f2a4024fa29d891d2f6b129face1734fb135989932726f6932f9953357abee606b9860f0663b3f3709c538e11c3bf4d92081fa213d220bf4af6819167b SHA512 9fbf740716c9aa8201b38a001bb9704d86530c45c3a941078aae4eeafeb3370ceec73aab2ead5a6fdfc0e9e8c307af68287d2bfe2bc501de63d611d907151279
+DIST tower-0.4.13.crate 106906 BLAKE2B 6a8f4455dcc69f6c03af703fcfb0e6b214c2ce599611ef78fd41cf411ccf06bdce241e03a1d85d36cfeadc72db9f3d9b7ed94c4fcec466c070f2357ff6e27360 SHA512 592f23eee5efa6a4f0d2ffb0d965da7e0f75a90a4320a0d0dacdd5add66513ae40902d21af2bf683573133ee984866987df2ae8eb8e632cba7a9d196985aff8c
+DIST tower-http-0.3.5.crate 107116 BLAKE2B 949d3af681b33f1c8de93075c603d14cf6db80600b4cfbeff425856ab06d684228b4660b809a301bef57e66b304175450a7c7d5c9dbfec5fef52116fa230b256 SHA512 9dc84734881997d8bffefb6268dfa1607423e996ed70582d2c44e3c3c07758caf650c14c7323dd0644ce653ca0b51ca1f01d12d6075f4b94b505e2c69c0c2117
+DIST tower-layer-0.3.2.crate 6023 BLAKE2B 3450211e07a40419526cf1afe063c56357dd5add53470a4146ced3d294edeb95dbd645ab46ae0e42e4877dde63b1577adb21d9cf50116c4cfe4165e115d54ea9 SHA512 d5429b40569f67937e752c2d61c39a474af32bea5ba3940dbdf5a4037fde1ef7173cbd8fcdb87d0ea15c01bf84f2d55abd51fefbab2f27aa54e656eb1748c43e
+DIST tower-service-0.3.2.crate 6847 BLAKE2B d4571704eb4bf7f729f4535a04b7eb94f644d71ba8c5604297843351adf4bcce7ff64ec4e5435783ee6ada1b0a5c97726cfaade391525c6b2bca933cd5e8ec19 SHA512 f4578421603067fa708c4ad9eca5ca096b5262b6d51a404f37d9fbb6c64f027cec6114991e4b7f8324cb756c033971a384f1804add28e00d0cd6b2ee01d9e005
+DIST tracing-0.1.37.crate 73888 BLAKE2B 60c74379bf84d7b152f0b4d5b4d4669a1227dce0f3b5c10210338193853ca332de7eed3cc3b6160ee3719da7fdfe565665a887f2f82fb1e1c716c421048a2e87 SHA512 2116045f51b35e90fc933cc136d045d09c0aaa33400a9056051d887fea2d2982b394830e4d4c3bcb4b831e62b9c19f6c751c2d216169f663aa18c4067aed7d75
+DIST tracing-attributes-0.1.23.crate 30450 BLAKE2B fa21c4074eefbc1110268cfc79291c909503428b26560cf68cf04640a6387d04c29e22b8f86fd48cc1b8c0fd4bb67fca428c9f8009b3c99879352b9d9f68c5ea SHA512 55e92b4e0410805f8cf9eb8ee50cabcf08d1f6c6b4b38c5a51c70f59d06c82096af1f3b9b7dd4267945cf631fa8d99f78ae9b3d0760f9c7ed4d6da6e5e6ff3cb
+DIST tracing-core-0.1.30.crate 60351 BLAKE2B eadd1ad68830f4fa9972d207fac3b5be6b0f6d3d2ee4299f2fcd6d03313db6850ae0bb278ae618615e0bc2cd83ffbde0928857fe8e01dd9591a9e80114e0ff88 SHA512 9a14edf6338eff6636473f4ea844dfe337e434c14f40e7b9af6d7e6cf25f745f37bbe372bc63c01043667bea2f5b248b8afa8d6aae4cac3dc5193e3383ef1c65
+DIST tracing-futures-0.2.5.crate 11637 BLAKE2B 2b23233705674cadf5dc8092d3990f375e780de2b9bdfcbfdd5f4bc9bd0f15a14c6bc8e36963bcd332e729b33b90ecd10b2250495e0657eaeb302e666313534e SHA512 8a437a029e18dcac3a3be7a3355a63e75432ff892316c9f2929c7557e3895b1bb5efb59a7588372bd9efc386b5cab54c2b382be99ef8fa643e66ae5656e506bb
+DIST tracing-subscriber-0.3.16.crate 193572 BLAKE2B 55e582a5989b68ba9fd44defda52a8ec6e85322cb6d629b35c20e75b0852252f97bd21ea5d7587a1712b02e795e534948549e867277caef28592d0e6a50e9aed SHA512 e7e2c00c027cf36e3e97a6779a2ce97bc8b094eed608e940fa0b994188103632c75e565c76944d5f6ddfa2fc6e3b44049c10d35d9e3f3a639eb5249d675e4c45
+DIST try-lock-0.2.4.crate 4467 BLAKE2B 7afbe36d02ccf31351c7c7ca4415578383bb4d0fbf89ba2c5c7835dbf410326fb0f6cb302baf7c1edccc4b193a2ab8079545fd67f26a74457d116204f3c6e745 SHA512 fbd989589eb0a1fb226de65537d51eceab632603e69710b37708d6109ed09c07333189675d5e560e35cc836e5cd211c726d8ce247186b5ea4529328d46c22632
+DIST typenum-1.16.0.crate 42477 BLAKE2B acc6dcd4521493c438a8a3d997ab0456fdbff3db66aee9b81ba219714d47522c3ca8fe26f8ce84edfda416ff9a22747caf3ecc9cc4bcd1e7647ac351d5aef407 SHA512 93da3ed62573acbc9d5d31257fb72ae9cfc7d59e4040c1f32d93e8fec94795e1aa20a3bf76ddc64c4b383184306bb2a66e51fd61b64dd4ce46a1bca8238b57b2
+DIST unicode-ident-1.0.6.crate 42158 BLAKE2B 6e4ef61fcac69b4ccbf743a2c2f857a6ea9fcbac9b9890f5b7208cc0732c6892aa5889b3030e87c8c29ce4ce24ddb7adec6bcf47b7aefe9cb5d19f920f12cfbd SHA512 ee1dc78fe535f46bdaf3e19dd8dfc859bf3133d9271026cadf626a07ba586c39caca4e45d905156a6276cf852f9cebef196b2229c3ba4b5e2b26c956fd6cff86
+DIST unicode-xid-0.2.4.crate 15352 BLAKE2B 80c327b39f3b8f2cdb5747cde968cfa1efe7b65b6bee9136adc881fa19f66aa5b1010d9d08de55a61b322d665b5b0cb0395e9ac471f6333c40d8dca5d97e123c SHA512 e67bd1258e1961807d9d5fe583a89ab5b82b2a529ecd32cadfc79aa5331380eb4a2db9fd96b74c8eace47f2f29021587d69bcdbf79f7e2650e92a25f7839d03c
+DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
+DIST universal-hash-0.5.0.crate 9137 BLAKE2B 5dbee71bfa7ef4f4c28e01d73cc602c660ff8483c471d50a8e28ef1eb5c7eccbc2e1bcdfcfc431e9898878e164c61aebd2a2203effdb3494633fd3da54d66cdd SHA512 61e51323e213efbc94cfe9ceab59f49dcbc5bea05f47efdac6b939cd46ff74abd2f501656da67e670206cfaf3f5109251291f73b163538ef3148f4bbeb05346c
+DIST untrusted-0.7.1.crate 7924 BLAKE2B e0152791e781a4805120e3437b7e0219db3aa0282af4faaf2cfb15718421ff26abc56021c546f6aebb411f5abd27020273ba0f785e012a4b0089e96c2db4faa6 SHA512 5ebe3266912e4e78fdfdd13f9fcc07e9cf489d19d5e9ff346486f47aa58a0aca35278d561612c49eb3cab5a6759ac974d3b92bfabc399e1bc0808428dc347be0
+DIST untrusted-0.9.0.crate 14447 BLAKE2B 8e9c3ae09435af0885bc4a6e3c8943805b48cfc00bdae228c7c43093254e1be15d7005d1026561ff369ec37865d8458203f421a9c89ae3db077f655449621aed SHA512 5929e4079c1c2ff933ae8d8f59a2ecc7a424e71a20d1b8821f75925af68bdf82604b024c008e5464b02e25ff093e561a352b685e755b3d0b27e4c30254689416
+DIST valuable-0.1.0.crate 27718 BLAKE2B ef5ded994c9a6dd302bed27f0d757447b0c86dfefa499c1ef0d25c3a6745ce61cfa2c926826534c9f605f9b89b4a19f91f06f94ae7c03f1ddc4c58fab3ae58bb SHA512 a97f65db1f1c5049a276dbb0e45e25c6fc6ce9d27ac1fcd77c945324cd8216ef60344065c79799ca04e338455e4f7422c44078eea32d5fc359dd0211ee7eb387
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
+DIST want-0.3.0.crate 6550 BLAKE2B d97ac51dd5e49bec27cd196711110679013bb7aca520235db3f38c7d4399a2a17b9cf599cd0811137df957f2341e75442d48483dc7aed6910f0eed7a78ddad37 SHA512 7e7af8ddcc6faed3e3d18384a000339617187b74b0adf111a02bc15fdb152c88007844d6fe6f35a47a13f3384a19ee4723b884623de7d45c6619d76aa6699404
+DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
+DIST wasi-0.9.0+wasi-snapshot-preview1.crate 31521 BLAKE2B 716bdd2ec46d0bc9911c5e5e29fc783840559931b2563d8619675fc11da9527ddbe653a0f1ce0b782ee0c5f7a3131aba2b0867d415f003aa9c2389357569e7dc SHA512 dbe641f796ee3a5daafcaafc911ecc6dff170340f477c2df7a61fb4858a85aefc2637c9e61973ecce66a987aa8e08a736273a4aad3ef47eaf61ed4268dbf9c47
+DIST wasm-bindgen-0.2.83.crate 169618 BLAKE2B f6158596c80a0385bee0a05bd9cf0b3beee83a7958efb40244956b4fec2c83baa1a1b4605eb604f313db3508a7911c78f645acbb19f6fc93eef27e9f7f0ac109 SHA512 ec93d1334417d0329e113d5f2da7f16c0f1209d71e5cbd21a2dc9278d877e70ca2327ff7863b40505504883ed51d6bf20dda98c22ef44011a47c604a7b44e82d
+DIST wasm-bindgen-backend-0.2.83.crate 25620 BLAKE2B 3cbba20a2f5344c0ed2791de7b04ee294746606289ba83a9c139b53b56edf31eab8d3b3802cec309d5395e2404bbd75b7fab5d748a9961b36906fabeb0e66493 SHA512 dd1b65733e4d0a198d61a5287bb75db3e03ef738d2c2dcd3ce3e873c27d41c90cfcbb775ad40b2a546190db8d7213e5866f8e3f9913c28fe4b43a49054bfea44
+DIST wasm-bindgen-macro-0.2.83.crate 12075 BLAKE2B 3b358ba7c2a3563840f54f11170cde78044a8f087659daa7c784fa252f5dd4b7f6200eba425d95b568e50fd43c04c32a509994ddaf5248120feaa67586402150 SHA512 eb83e06f998e858cf25494c1d171984269e72db798147d4d1d8aeeb25ea7a35c5986b882011e131968621742ceecff976430856b4e8b7d7fd7f1237767cf01b4
+DIST wasm-bindgen-macro-support-0.2.83.crate 18530 BLAKE2B f305c9fc1f7bba5bee65a1c76fc2216c98aa306a072286e1ced048ab191f49e7e4436bf2f67d4c1fff558f59b2cef5e9b40e9e940268128ab1ebeb3c64696107 SHA512 804014c75ae5f8c1c7f0fad3f3209887fa346d74029e5f6e1830e44f7318719e65c4a643c71d87cf388f131fd370af40d536bbc15fc11c25b91cb785f56a908b
+DIST wasm-bindgen-shared-0.2.83.crate 7194 BLAKE2B 4dd1cffea1edc98dcd4993bf6fdde8100fe00d1e97322ce8bc0bdefd0c659047c8c726e5da27b59fd7a6621c1e5385c18204e834c6c6fd1fb9de52f95b40e40d SHA512 2bfc1a068fa41a9ecacce7bda494fc0485c57ccb102c1d76c87a42e00ad30b944b0cb788642e8339d050a0e831ce8306844a77292ab9f79ed765b65cdb4765e7
+DIST web-sys-0.3.60.crate 700485 BLAKE2B 13942a583dd8462b0591a19759a41f41fb17d2356b3bcd78402e420fdf5726782e5b4ed211c3716a81c1cdf64ce9b8adecaa3fa22756a3ec84eb7c3e12e3018c SHA512 d883363f99300e2d50bc5bf198f0fb8d6c53e5a778217e340573560ac07db26a71c98419fa2ced32820472126d6f97ad5773ad082521be0a1c9a374af9d61df9
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST windows-sys-0.42.0.crate 3006791 BLAKE2B 7a0962364ecc416cf0ae7e49cce1298a12d819003e488f6e77aff1a52710f00378638b6a05db5557a031e1b75659587657971ddc63eaab35495133762f99a7b2 SHA512 b07b119688f3e3ad234d36979947f34e8e19988fb62101afbe18ec8afc9c8a4261128939df8bbb849d5c5982422cb4c50dbcba70f2bf401fbb7c605df1b2b354
+DIST windows_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 x25519-dalek-2.0.0-pre.1.crate 88717 BLAKE2B 6b4970f31dd1ae23016bee1e879dd7486e2bde5fefe7de5b934321bcf8360e6c033631856b05bc4e176fc4e4803a75139ac07659be2006d3ba5eee6c883bd6f8 SHA512 f8355a79c469d1e3c9ff38a435b0520a7db05467156e7974f9e56a13a5c3fa82934fa6522523e8bb10570b3b9fcb6fbf95dd357ba0cd18455ff97255b48f0371
+DIST zeroize-1.5.7.crate 18861 BLAKE2B 5f203d91aae732b928e2acd02656a486f0f930b8daea96b927552f5790862489d83c7bd48b0c7c62a3273e7a04833a16149ce489847f17fbb037e88922d359a2 SHA512 e0688681bceba324d36ea4dc552791801dc93b5882d106b79dd317af99cb718b711899bfd09917a811d23096693448801e64f0651bd9eeae7895618821d88fa9
+DIST zeroize_derive-1.3.3.crate 10380 BLAKE2B 5ed1fd50f483e1eeec54584adb3d6e20f12987037edf859bd0ca1e9274c41be332edfd4a294d25a96ec811ab06299185148702f4317dbcf1c5e0a23e7e8116b0 SHA512 cfe53287c80866868ca435414efba32267f68b6b95dca9c11201365c9fc21444b1ca926fe8a2dd64c0978a8691e351108538bc7e1fc6f60feb83dde93f56b3c3
diff --git a/dev-python/mitmproxy_wireguard/metadata.xml b/dev-python/mitmproxy_wireguard/metadata.xml
new file mode 100644
index 000000000000..ca0a0fc771f9
--- /dev/null
+++ b/dev-python/mitmproxy_wireguard/metadata.xml
@@ -0,0 +1,9 @@
+<?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">decathorpe/mitmproxy_wireguard</remote-id>
+ <remote-id type="pypi">mitmproxy_wireguard</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild b/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild
new file mode 100644
index 000000000000..18f4d27e3683
--- /dev/null
+++ b/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild
@@ -0,0 +1,232 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{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-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
+
+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}
+"
+
+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"
+
+RDEPEND=""
+BDEPEND="dev-python/setuptools-rust[${PYTHON_USEDEP}]"
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/${PN}/${PN}.*.so"
+
+src_test() {
+ cargo_src_test
+}
diff --git a/dev-python/mkautodoc/Manifest b/dev-python/mkautodoc/Manifest
index f84f4c0fbcc0..074cfd2d8fa4 100644
--- a/dev-python/mkautodoc/Manifest
+++ b/dev-python/mkautodoc/Manifest
@@ -1,2 +1 @@
-DIST mkautodoc-0.1.0.tar.gz 5654 BLAKE2B c0ae754e800ea25e9cccc621b4fd5c8d1561c57808b301ac5a3036ca18fda1adc432006e13b777a83dcc2cd6960a34745e17dfbcbbda24098902198d4fc9d743 SHA512 7ccb0a03016e2984d88d78eca2a8ee01e2153ff574c912358640c158b2084e3c365ace0fdb89cb74bb1950c68775d9d3cb11201cbf3c6d136dc7886a3294dc89
DIST mkautodoc-0.2.0.gh.tar.gz 6914 BLAKE2B dc00da8415933775dba4d3dd1e2082b74c1c32da5953e68e1cf01727c6ba0471b83b9c45641975945a914a2403159f96c347a48f0fd743bdf446da2ee3f9e801 SHA512 d0151294fb530c0bf1f10fbf026426487acc68c5b2da0067847ade86a4327a0c826a0f51e7cc0f519594a3a38a1a1d3d304bd5be47bdfc1979b6fa20eb57187f
diff --git a/dev-python/mkautodoc/mkautodoc-0.1.0-r1.ebuild b/dev-python/mkautodoc/mkautodoc-0.1.0-r1.ebuild
deleted file mode 100644
index 05071c660cc5..000000000000
--- a/dev-python/mkautodoc/mkautodoc-0.1.0-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
-
-PYTHON_COMPAT=( python3_{8..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Auto documentation for MkDocs"
-HOMEPAGE="
- https://github.com/tomchristie/mkautodoc/
- https://pypi.org/project/mkautodoc/
-"
-SRC_URI="https://github.com/tomchristie/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-python/markdown[${PYTHON_USEDEP}]"
-
-BDEPEND="test? (
- dev-python/mock[${PYTHON_USEDEP}]
-)"
-
-distutils_enable_tests pytest
-
-python_test() {
- PYTHONPATH="${WORKDIR}/${P}/tests/mocklib:${WORKDIR}/${P}" \
- distutils-r1_python_test
-}
diff --git a/dev-python/mkautodoc/mkautodoc-0.2.0.ebuild b/dev-python/mkautodoc/mkautodoc-0.2.0.ebuild
index f5e837d4c962..6943c42ff665 100644
--- a/dev-python/mkautodoc/mkautodoc-0.2.0.ebuild
+++ b/dev-python/mkautodoc/mkautodoc-0.2.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..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..d031514580f8
--- /dev/null
+++ b/dev-python/mkdocs-ansible/Manifest
@@ -0,0 +1 @@
+DIST mkdocs-ansible-24.3.0.tar.gz 45471 BLAKE2B 54b6320a7b1f03d4f05b5a7617100575178206742bebda007cd276e9c1a663e82f46149fc6ec3e7e3d22f01be63afb6a72febe72f3e3969ea3acb6a75b1c38ec SHA512 a391bb28b2870efebf621998f810521667beb8b3b9603f5b35e169a9ab23b2f640531a2441b11b8044b36c49eacccd3da72b0224a0ac664d59fd97de7eb0b094
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-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 1bcbb3dc774b..000000000000
--- a/dev-python/mkdocs-bootstrap/mkdocs-bootstrap-1.1-r2.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 8976a0763c55..b604fd186298 100644
--- a/dev-python/mkdocs-bootswatch/mkdocs-bootswatch-1.1-r2.ebuild
+++ b/dev-python/mkdocs-bootswatch/mkdocs-bootswatch-1.1-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..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-get-deps/Manifest b/dev-python/mkdocs-get-deps/Manifest
new file mode 100644
index 000000000000..8c70f83de18a
--- /dev/null
+++ b/dev-python/mkdocs-get-deps/Manifest
@@ -0,0 +1 @@
+DIST mkdocs_get_deps-0.2.0.tar.gz 10239 BLAKE2B 2fceb113b499f5c7433ef5ffbde60c8c1f2ae0817285ee41d4889c01283783959673609721766e70dc5888285d497e2b94c5462140d3119922b16c0071b13624 SHA512 3fdf445923b82544fc9feaddd6a99638901f9c88a34f404c38ce510934245bd836d1491a9c5561f7b49ae0aa006c58a83ac946449713b0504c0da788d8233d5e
diff --git a/dev-python/mkdocs-get-deps/metadata.xml b/dev-python/mkdocs-get-deps/metadata.xml
new file mode 100644
index 000000000000..3433311b0649
--- /dev/null
+++ b/dev-python/mkdocs-get-deps/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">mkdocs/get-deps</remote-id>
+ <remote-id type="pypi">mkdocs-get-deps</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mkdocs-get-deps/mkdocs-get-deps-0.2.0.ebuild b/dev-python/mkdocs-get-deps/mkdocs-get-deps-0.2.0.ebuild
new file mode 100644
index 000000000000..298af6a7d30d
--- /dev/null
+++ b/dev-python/mkdocs-get-deps/mkdocs-get-deps-0.2.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="extension that lists all dependencies according to a mkdocs.yml file"
+HOMEPAGE="
+ https://github.com/mkdocs/get-deps/
+ https://pypi.org/project/mkdocs-get-deps/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/mergedeep-1.3.4[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-git-authors-plugin/Manifest b/dev-python/mkdocs-git-authors-plugin/Manifest
index 0771e66b560f..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.6.4.tar.gz 27799 BLAKE2B 02456df969fac72fc29906ed6faa34ead8d04dcd005fdc39bf72393e5252934c398995cb07133107af99672328d03b96e9a19625a7a83ee438278cf4f8587f50 SHA512 948b59bed123acc4b02a01248b831ac27fd98a24653fbae315424a1da33573d109667ff8b836be454e7c9b56a6f68f45200effe8649fd4fe6d5551d1b93a6cd5
+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.6.4.ebuild b/dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.6.4.ebuild
deleted file mode 100644
index 7665ec5dad4d..000000000000
--- a/dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.6.4.ebuild
+++ /dev/null
@@ -1,52 +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_{8..11} )
-
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="dev-python/mkdocs-material"
-
-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}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-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
- )
- doc? ( dev-vcs/git )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # mkdocs-git-authors 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-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..1c46bf53e9eb 100644
--- a/dev-python/mkdocs-git-revision-date-localized-plugin/Manifest
+++ b/dev-python/mkdocs-git-revision-date-localized-plugin/Manifest
@@ -1 +1,2 @@
-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
+DIST mkdocs-git-revision-date-localized-plugin-1.2.5.gh.tar.gz 377312 BLAKE2B 272c4f71ac668500e3f8d9eb9af1b26fdea8378206ddbeaa97076a46b06f3730a2b52eba2155008e5b05f6aa9f1f5b34c35b10732be1879b6d5cd6b9e7be98ed SHA512 5a6c225847cb34af61f296d8ecc75c82f3374301d19718e1b9e79084098466b4cc8759d7efb4ba4331e0c5d53d78d7bd2cbdba4558635efd7e7965d7197a461f
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 38f0810143ed..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-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517="setuptools"
-PYTHON_COMPAT=( python3_{8..11} )
-
-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 ~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-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.5.ebuild b/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.5.ebuild
new file mode 100644
index 000000000000..89c26801632f
--- /dev/null
+++ b/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.5.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 ef7366b3cd64..000000000000
--- a/dev-python/mkdocs-i18n/mkdocs-i18n-0.4.4.ebuild
+++ /dev/null
@@ -1,25 +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_{8..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 ~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..0550312c50b0
--- /dev/null
+++ b/dev-python/mkdocs-macros-plugin/Manifest
@@ -0,0 +1,2 @@
+DIST mkdocs-macros-plugin-1.0.4.tar.gz 556036 BLAKE2B f0cd0eabbd208c2c84d28e2ef4eac8e23fa8c13918b02a69d8e69f5e7c635d9551dc986b19edf9d5ee5da43c80d49b62f4f277e995584ebef749d9d2bed1881d SHA512 553ca51462f0f0e26284046ea49d36afec973cf0345c1c6c5d9a094f32bf731972f7ae3ba148bb85a77e440982de3f24a4da8ea4e30c4f025153c1ce46164f32
+DIST mkdocs-macros-plugin-1.0.5.tar.gz 566013 BLAKE2B f984cced060f09060bd63c7c204799dd9b318fa98229b2a86b034165190a76ccac7c8d37bf084c56ba0673105a818c0a0d210121d01e6b677349488aa0730160 SHA512 38fa2f2522f08b418ef8dc8fd222ba6b0feb2cb81bcaed98017e9641b66f249e77d93334850a6e6e8dcb91f2d3cfc16e3348b5a1f0103bb93512465a8b095f35
diff --git a/dev-python/mkdocs-macros-plugin/metadata.xml b/dev-python/mkdocs-macros-plugin/metadata.xml
new file mode 100644
index 000000000000..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-macros-plugin/mkdocs-macros-plugin-1.0.5.ebuild b/dev-python/mkdocs-macros-plugin/mkdocs-macros-plugin-1.0.5.ebuild
new file mode 100644
index 000000000000..83f8ce26363b
--- /dev/null
+++ b/dev-python/mkdocs-macros-plugin/mkdocs-macros-plugin-1.0.5.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Mkdocs plug-in allowing the use of macros and variables in Markdown"
+HOMEPAGE="
+ https://mkdocs-macros-plugin.readthedocs.io/
+ https://pypi.org/project/mkdocs-macros-plugin/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+# TODO: enable these once the relevant deps have been packaged
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/mkdocs-0.17[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/termcolor[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-material-extensions/Manifest b/dev-python/mkdocs-material-extensions/Manifest
index c59cddd6ba99..2050c099dc49 100644
--- a/dev-python/mkdocs-material-extensions/Manifest
+++ b/dev-python/mkdocs-material-extensions/Manifest
@@ -1 +1 @@
-DIST mkdocs-material-extensions-1.0.3.tar.gz 11983 BLAKE2B 0a9594c85df0782543275598368497bc5bd902c2e96dd75628b94eefc2f7998b948cc659577db6b27fe2787fe2a6547bdecac823f4a9533bb6b8d781922f9a6a SHA512 af6ec96db5628527d6dbdeb6557276cdf297ab5926cebf5508d6e5c4c5b8493b9f55b967230e2853d28bcbb17129a32778936ccd0264ab75c870be2eecf2e8ef
+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.0.3-r1.ebuild b/dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.0.3-r1.ebuild
deleted file mode 100644
index 39d03444e9ba..000000000000
--- a/dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.0.3-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-DISTUTILS_USE_PEP517=setuptools
-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}.tar.gz"
-
-RESTRICT="test"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~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 e15b7881df2f..d5c1761958de 100644
--- a/dev-python/mkdocs-material/Manifest
+++ b/dev-python/mkdocs-material/Manifest
@@ -1 +1,4 @@
-DIST mkdocs-material-8.3.9.gh.tar.gz 8347276 BLAKE2B 51c953aad234a177d6b74bc8ef5e836ea6ee9f3c9e53b843efe25214069bfd94c3695fbe0dde0d3daec54c030bc35f5c4be668592afda45fa7ba7bbeb63a0475 SHA512 e7012a6f7db41b2bc4a43d0463f08fb3f7102ca3d7957ecdb2c88343a96ea774c8f724e498b2254a6bc6464d88681a605e52e4632c56cf0c60c6bf4269ac01a9
+DIST mkdocs-material-9.5.18.gh.tar.gz 14861438 BLAKE2B 758f28f266780a398325cae5395a15454c0c317b60c4a30006fef0002b9d8f4e350265e05cba160e2efbc6aa05aa83373df7b1086499bc3bcb3465a9f17e57f5 SHA512 6d18b3a672a750b3a43fe6ea8bf437b13d20c63871e762a2e805e30757315e4ff4037695319a42c186fc45459ba5ea11e6fa567b27fded2441d1ebce86d33fab
+DIST mkdocs-material-9.5.19.gh.tar.gz 14862903 BLAKE2B 079a00b66a97e967101cde17a9dcb0187c2f9e30dcc1ecec37407df5adddd1f5d1845abb202273f3a3804edd05cd12639b4cde0e61eab0357a914cf24162928a SHA512 b97bf81f63b2868db051e0f31b003dc3e3c6d6a853575b959702c7feaa74cbd69f5961ff3de93ec2596d0f027aa98f5aa73df5166971dbd8a27ada4ee45f6a83
+DIST mkdocs-material-9.5.20.gh.tar.gz 14862657 BLAKE2B cfcd1acb8f3d685e364d9a627cc87b9df86566bb250fc09262975d60f5b432c54c398674a8a9bf033fd1027c1ea762a95627fb55ec26fa1f630842e6c82d9fdb SHA512 163589085fd688610f64c7d264807c11bc7c1f19a7c007952f983c60466853a727204404a58d66bdc4c12179241e752eb38973904fa0ccbdc8de863c4f2ed732
+DIST mkdocs-material-9.5.21.gh.tar.gz 14865463 BLAKE2B d83c518474697e65c614cebd1e74abd827163bc5df9a69bc84bcb9d252e1115def196bbaa5e5f0a7e0b247b7952d55f13d0d4288d37af41ad443bcb6d8a022c5 SHA512 b7d5f31bec769091ce42dbac15602194718bc0d66835d3fcfc8744dccd38ebc81e40437f698225c29d8d344d481ca6c20a964d5a9b469f0915c10410b63ab567
diff --git a/dev-python/mkdocs-material/files/mkdocs-material-8.5.7-simplify-build.patch b/dev-python/mkdocs-material/files/mkdocs-material-8.5.7-simplify-build.patch
new file mode 100644
index 000000000000..b731b9a37be8
--- /dev/null
+++ b/dev-python/mkdocs-material/files/mkdocs-material-8.5.7-simplify-build.patch
@@ -0,0 +1,19 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index c5bd914c0..3757e983b 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -55,13 +55,7 @@ tags = "material.plugins.tags.plugin:TagsPlugin"
+ material = "material"
+
+ [tool.hatch.version]
+-source = "nodejs"
+-
+-[tool.hatch.metadata.hooks.nodejs]
+-fields = ["license", "description", "authors", "keywords", "urls"]
+-
+-[tool.hatch.metadata.hooks.requirements_txt]
+-filename = "requirements.txt"
++path = "gentoo_version.py"
+
+ [tool.hatch.build.targets.wheel]
+ include = ["/material"]
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.3.9.ebuild b/dev-python/mkdocs-material/mkdocs-material-8.3.9.ebuild
deleted file mode 100644
index 65c7c88b4dd1..000000000000
--- a/dev-python/mkdocs-material/mkdocs-material-8.3.9.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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-2.11.1[${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}]"
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..28c6850f9d71
--- /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-material/mkdocs-material-9.5.19.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.5.19.ebuild
new file mode 100644
index 000000000000..46c2a0851fa9
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.5.19.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.20.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.5.20.ebuild
new file mode 100644
index 000000000000..46c2a0851fa9
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.5.20.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.21.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.5.21.ebuild
new file mode 100644
index 000000000000..46c2a0851fa9
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.5.21.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 70592b54a856..4a27a03e9cd4 100644
--- a/dev-python/mkdocs-minify-plugin/Manifest
+++ b/dev-python/mkdocs-minify-plugin/Manifest
@@ -1 +1 @@
-DIST mkdocs-minify-plugin-0.5.0.tar.gz 3387 BLAKE2B bce05582eab831976b430d5c331c0e51cecf790f4db6f3bd089ff6f0f5421c0b824c9bf6637a6b00555eee203b23cbd5fc3a0e81fcb5a8697ab7c06e94a9d2e0 SHA512 a31770c9de39439ba5eb4e35acd088aa7df2d7fa39f7942819c0b25429abb7b2b0626765f26f4d4fc77fd11e48dfdf90f9eb93e999cf7b641bb630c852eec50a
+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.5.0-r2.ebuild b/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.5.0-r2.ebuild
deleted file mode 100644
index a0d8ee6df7a4..000000000000
--- a/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.5.0-r2.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/csscompressor-0.9.5[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.0.4[${PYTHON_USEDEP}]
- >=app-text/htmlmin-0.1.4[${PYTHON_USEDEP}]
- >=dev-python/jsmin-2.2.2[${PYTHON_USEDEP}]
-"
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 7f7ccff748d3..e52621e6aa8a 100644
--- a/dev-python/mkdocs-redirects/Manifest
+++ b/dev-python/mkdocs-redirects/Manifest
@@ -1,2 +1 @@
-DIST mkdocs-redirects-1.0.4.tar.gz 7028 BLAKE2B b1f266b2bd68ecaf722d28f3fde7f5ab6eb51c800027d09838282f12f8705d2f9ed6f3d45c809ec575e73c70a05ab23d0700f0d6e15a0f36e1fa2f8becabb5b0 SHA512 965989351c62ad83dab4f02526ad118f90d3b9eca9863189565a04d7013aa5de0fb2ac1a8480f308e72aef125ecd74c53a7d2db0b279835074272d30c9eb87ab
-DIST mkdocs-redirects-1.0.5.gh.tar.gz 6624 BLAKE2B 2f974dcf2dc438d3d8e2289793150b0a5a0394027552a8f3878f83fc0ab78b0e1c38f29bcd155adccf40e5259e93e81b419741784584f924f5eb18a0059f3107 SHA512 3365f19792438262528236cb9531f12ef31bf368d849387855a58b6427cbe7be6b55292fe5174804f42b29acf0a921ce9987e8b3a7ed3870444fcf94d4a52df6
+DIST mkdocs-redirects-1.2.1.gh.tar.gz 7420 BLAKE2B c91701b5aeff6998d890d44fa9286b0a7924a2c66ee9d54777495b338152be0cde3f897e4516327e63a38ab362a156a0e44f041bc4af5bda32d7ae188a20369e SHA512 52b078f75fdf950780fd9f295cb528607aff641c46bd2d00df0a38ca2817280b1245c006b6bae6f63c37f4e61857aeb0271ca9fba4397e3185b173016c3ea437
diff --git a/dev-python/mkdocs-redirects/metadata.xml b/dev-python/mkdocs-redirects/metadata.xml
index d0c823bedf06..fdf0381d98e7 100644
--- a/dev-python/mkdocs-redirects/metadata.xml
+++ b/dev-python/mkdocs-redirects/metadata.xml
@@ -6,7 +6,7 @@
<name>Andrew Ammerlaan</name>
</maintainer>
<upstream>
- <remote-id type="github">datarobot/mkdocs-redirects</remote-id>
+ <remote-id type="github">mkdocs/mkdocs-redirects</remote-id>
<remote-id type="pypi">mkdocs-redirects</remote-id>
</upstream>
<stabilize-allarches/>
diff --git a/dev-python/mkdocs-redirects/mkdocs-redirects-1.0.4-r1.ebuild b/dev-python/mkdocs-redirects/mkdocs-redirects-1.0.4-r1.ebuild
deleted file mode 100644
index 08319014e15a..000000000000
--- a/dev-python/mkdocs-redirects/mkdocs-redirects-1.0.4-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~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.0.5.ebuild b/dev-python/mkdocs-redirects/mkdocs-redirects-1.0.5.ebuild
deleted file mode 100644
index a1097be70143..000000000000
--- a/dev-python/mkdocs-redirects/mkdocs-redirects-1.0.5.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~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..5a2d90684aae
--- /dev/null
+++ b/dev-python/mkdocs-static-i18n/Manifest
@@ -0,0 +1,2 @@
+DIST mkdocs_static_i18n-1.2.2.tar.gz 1370000 BLAKE2B 2be26c971ad28a306b6d34adb4c8359954f4a7333f031f1939c08a470388004f9ac825da3c5b4e6a88e5dd41dfb12ac972938bf39b80c91ef16b760ea3c6c46a SHA512 7a356590b306c92d4cd664c90538110bf613220930c17a5285aeb4f9ad092ea9b93efd2390beed6609f176aa26ab4f51be60c89e2d2da19a1d78ac2603fe891b
+DIST mkdocs_static_i18n-1.2.3.tar.gz 1370068 BLAKE2B 500046d2a84ec8654a8d51f7a57bc2da04cb0f65a2103b05305494db5ac1217b5e0834b3363683513a33bd87cecfad2eb1ff4b8928a81293b756e268d45e674a SHA512 1728846c7be845abd498cca523087e37049ed2fc3b32235188e633365cb28eab13d4da28921e8406f2bbfce296de48d9280ac562dbe825b4de486d0a8cde92a3
diff --git a/dev-python/mkdocs-static-i18n/metadata.xml b/dev-python/mkdocs-static-i18n/metadata.xml
new file mode 100644
index 000000000000..a47c902ad629
--- /dev/null
+++ b/dev-python/mkdocs-static-i18n/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ultrabug/mkdocs-static-i18n</remote-id>
+ <remote-id type="pypi">mkdocs-static-i18n</remote-id>
+ </upstream>
+ <stabilize-allarches/>
+</pkgmetadata>
diff --git a/dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.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-static-i18n/mkdocs-static-i18n-1.2.3.ebuild b/dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.3.ebuild
new file mode 100644
index 000000000000..ebaafc9439a1
--- /dev/null
+++ b/dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517="hatchling"
+PYTHON_COMPAT=( python3_{10..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 51b01bb3aea6..85bbbffbd546 100644
--- a/dev-python/mkdocs/Manifest
+++ b/dev-python/mkdocs/Manifest
@@ -1,2 +1 @@
-DIST mkdocs-1.3.0.tar.gz 4085674 BLAKE2B e34605c2d1122ff86ed5cfb6134cdda67450e8f32d7628626ff4ac8c36c45b127312ad693efe35237b714adb9efd244f12f90cf8ecacf6009b75786db30ebb1b SHA512 d33d728eaff4e39106c1187cf04f579706ce28af364852c67706ab85f6b9ccdcd26ae84cd4d5ea7572e52fde1d1137eb3e424679dd4c8ef043c9637aac062270
-DIST mkdocs-1.3.1.gh.tar.gz 4088396 BLAKE2B b54d0090318fef205d84c4e914f916f91309bdfe6857cd2592fea24e6fb68baaa2eede6dc768681c85ae37adf794546a6ac82dd34d300f421969991f9a796cae SHA512 6eb041f9d0a628eb3a2e6585fde0959f5ef35501edf2c69db640059d98523e2cfa723bc49aedfac1dea4804dcf3c51791e4a052b77ef97bd85a0f4ace2a4d9ad
+DIST mkdocs-1.6.0.gh.tar.gz 4494411 BLAKE2B 2a0d55c54509827fcff39c04812be6cff6b1ccbf823cc05a48fa154745a49aed08d811147fc5f64db138ede952dc89241b156f8e0e01e42a468f73309eece0fb SHA512 330dfb7cd390b320ca9c2bfd2dc248d877b95713ec3c1d2c9d5b28be52a42276c58412bc77527a492e4b1b31608e3093dbad2a983bfe6396577ec7464e274609
diff --git a/dev-python/mkdocs/mkdocs-1.3.0-r1.ebuild b/dev-python/mkdocs/mkdocs-1.3.0-r1.ebuild
deleted file mode 100644
index 41fd1b9bcc69..000000000000
--- a/dev-python/mkdocs/mkdocs-1.3.0-r1.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-DISTUTILS_USE_PEP517=setuptools
-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}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-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-3.3[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.10.2[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.2.1[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.10[${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-3.10[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.5[${PYTHON_USEDEP}]
- >=dev-python/mergedeep-1.3.4[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Tests fails if additional themes are installed
- sed -i -e 's:test_get_themes:_&:' \
- mkdocs/tests/utils/utils_tests.py || die
-
- # Skip this network test, "does not appear to be an IPv4 or IPv6 address"
- sed -i -e 's/test_IP_normalization/_&/' \
- mkdocs/tests/config/config_options_tests.py || die
-
- # livereload has been dropped in this release, this test is a remnant
- rm mkdocs/tests/livereload_tests.py || die
-
- # fix apparent typo in test (importing wrong thing)
- sed -i -e 's/from localization import/from mkdocs.localization import/g' \
- mkdocs/tests/theme_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.3.1.ebuild b/dev-python/mkdocs/mkdocs-1.3.1.ebuild
deleted file mode 100644
index 02a4adfa756e..000000000000
--- a/dev-python/mkdocs/mkdocs-1.3.1.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-DISTUTILS_USE_PEP517=setuptools
-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 ~riscv ~x86"
-
-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-3.3[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.10.2[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.2.1[${PYTHON_USEDEP}]
- <dev-python/markdown-3.4[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.10[${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
-
-python_prepare_all() {
- # Tests fails if additional themes are installed
- sed -i -e 's:test_get_themes:_&:' \
- mkdocs/tests/utils/utils_tests.py || die
-
- # Skip this network test, "does not appear to be an IPv4 or IPv6 address"
- sed -i -e 's/test_IP_normalization/_&/' \
- mkdocs/tests/config/config_options_tests.py || die
-
- # livereload has been dropped in this release, this test is a remnant
- rm mkdocs/tests/livereload_tests.py || die
-
- # fix apparent typo in test (importing wrong thing)
- sed -i -e 's/from localization import/from mkdocs.localization import/g' \
- mkdocs/tests/theme_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.6.0.ebuild b/dev-python/mkdocs/mkdocs-1.6.0.ebuild
new file mode 100644
index 000000000000..a7275a53f53d
--- /dev/null
+++ b/dev-python/mkdocs/mkdocs-1.6.0.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..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.6[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-2.0[${PYTHON_USEDEP}]
+ >=dev-python/ghp-import-1.0[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.11.1[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml_env_tag-0.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.5[${PYTHON_USEDEP}]
+ >=dev-python/mergedeep-1.3.4[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-get-deps-0.2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Tests fails if additional themes are installed
+ mkdocs/tests/utils/utils_tests.py::UtilsTests::test_get_themes
+ mkdocs/tests/utils/utils_tests.py::UtilsTests::test_get_themes_error
+ mkdocs/tests/utils/utils_tests.py::UtilsTests::test_get_themes_warning
+
+ # Does not work in emerge env
+ mkdocs/tests/config/config_options_tests.py::ListOfPathsTest::test_paths_localized_to_config
+
+ # TODO
+ mkdocs/tests/build_tests.py::testing_server
+ mkdocs/tests/livereload_tests.py::testing_server
+)
+
+python_compile_all() {
+ default
+# if use doc; then
+# # cannot just do mkdocs build, because that fails if
+# # the package isn't already installed
+# python -m mkdocs build || die "Failed to make docs"
+# # Colliding files found by ecompress:
+# rm site/sitemap.xml.gz || die
+# HTML_DOCS=( "site/." )
+# fi
+}
+
+python_test() {
+ epytest '-opython_files=*tests.py' mkdocs/tests
+}
diff --git a/dev-python/mkdocs_pymdownx_material_extras/Manifest b/dev-python/mkdocs_pymdownx_material_extras/Manifest
deleted file mode 100644
index eff82620c112..000000000000
--- a/dev-python/mkdocs_pymdownx_material_extras/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-DIST mkdocs_pymdownx_material_extras-1.0.7.tar.gz 17995 BLAKE2B a7a8715ec07b9ef5551eadb37e618f45ca2f8f3c707aa5269eb7d2587db70ba29cfaa8027bb606c4264bbf93d7b3950d7a5dc03640b71afc677658b044d064fa SHA512 33fe8fddd0ee5856fdfb02068e2698f26a8db139458d7736715b776fbc2d8ae8ccb3170dbb786c52338e4e7a1612006046eb429f2268469f6f2bb5ba7f8e256d
-DIST mkdocs_pymdownx_material_extras-1.1.3.tar.gz 40029 BLAKE2B faa17e6e4d27a5d5e34a98a6830e34b934f8623fafb87a73051eb424cf95d29c5dd185bbfbbe49dd3e93eeee00a8310ac0543d480ab70e5abee4047b1cecc774 SHA512 340818ebcd8f9cf175e5049028d0932a0d6208de3d8f86cf5ea47747680079c6b9b3bf27e0c32ee10ee6a1bc7ab8ffc6cc3aa48470be43ed32adfde74f44d5dd
-DIST mkdocs_pymdownx_material_extras-2.1.tar.gz 24220 BLAKE2B bc16a3f4b7f471a14b3f5189ce7749f49a72b33c0b4ac9d67f6c7324004532103136898a2cec49adabba37c93c2ac1189e637ed4f2c6f4611f1fcbb9628ac707 SHA512 e10545455adf58643147a802ab422a3b3e293a8853c5e20c0c91cb97f8ee1bd3cb1f2ce23bb73f30f0b92872ab549e8d8fbd41bd783b1d9af3e995e313ebfa4b
-DIST mkdocs_pymdownx_material_extras-2.2.1.tar.gz 24497 BLAKE2B af9c932a7f5686f3524d247cfee5e0d91681a0ae185f7f25405fd8355cd4c5a4de869f0f50de41a7cf7ab27275f532c0922bbfb84d7e7d74d25cfb292538fca1 SHA512 001f23d0b80fc082fc34e69903fb097fe67d4931cb2f02edd200f9c856f5e6393b2b6c6edd81e12ab609e7fefc27bceb494a6ad59bb7596b60200560dfb17465
-DIST mkdocs_pymdownx_material_extras-2.2.tar.gz 24492 BLAKE2B 13c9580f91d90641630dcf0c98fc40955ea01061b22592efd997d17d9bb6dee79bf9b8ad572ea33d2f1de2792eb63d358d8e334c5d49dd0eb7985bb681093132 SHA512 31a1c4b9e70ac4a604743a80665b733e5d72203aba2b62e4884c9005692f5e2e171f0b075a237458be6d52580afcae75f143bdde173ecf90ae05e62861099021
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-1.0.7.ebuild b/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-1.0.7.ebuild
deleted file mode 100644
index 3e74628e4576..000000000000
--- a/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-1.0.7.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8} )
-
-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="https://github.com/facelessuser/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- >=dev-python/mkdocs-material-5.0.2[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-1.1.3.ebuild b/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-1.1.3.ebuild
deleted file mode 100644
index 3e74628e4576..000000000000
--- a/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-1.1.3.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8} )
-
-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="https://github.com/facelessuser/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- >=dev-python/mkdocs-material-5.0.2[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.1.ebuild b/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.1.ebuild
deleted file mode 100644
index 678dbe8e1266..000000000000
--- a/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.1.ebuild
+++ /dev/null
@@ -1,23 +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_{8..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 ~riscv x86"
-
-RDEPEND="
- >=dev-python/mkdocs-material-5.0.2[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.2.1.ebuild b/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.2.1.ebuild
deleted file mode 100644
index c1fa5d7e7041..000000000000
--- a/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.2.1.ebuild
+++ /dev/null
@@ -1,23 +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_{8..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 ~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.2.ebuild b/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.2.ebuild
deleted file mode 100644
index c1fa5d7e7041..000000000000
--- a/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.2.ebuild
+++ /dev/null
@@ -1,23 +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_{8..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 ~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..d693cb6915fb
--- /dev/null
+++ b/dev-python/mkdocstrings-python/Manifest
@@ -0,0 +1,2 @@
+DIST mkdocstrings-python-1.10.0.gh.tar.gz 150022 BLAKE2B fc75c3a797a8c473121b6f00c17ff6b876170d2efde2a7c541667cdbdb1c730d3f843ed6c795d9a1ae8ceb22e56c50d91a0b7e29f4d6ec7aa1eb0f46e7a3c0a6 SHA512 743cadbf0c4318001a265b114d380107b3ed57b0b2ba4e73eb698a1e12074ba6bfe11277a4d245614226913d029483281058b1bc865a67f63de59698b89735dc
+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.10.0.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.10.0.ebuild
new file mode 100644
index 000000000000..4b251a4812fe
--- /dev/null
+++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.10.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.44[${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-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..99f9b832c5ec
--- /dev/null
+++ b/dev-python/mkdocstrings/Manifest
@@ -0,0 +1,3 @@
+DIST mkdocstrings-0.24.3.gh.tar.gz 88575 BLAKE2B a8567868e1572104773a0ca739966a4d6f5c13e02f29dfb0cfd68fe8cbe9c44805adb8fa029489e057b136e37f3587edebc2ec3e18d73d5eadc05a494a4d2ea5 SHA512 a93b1b07137c8403c5e049a57f0c26c629cbc37112181eae141390bd2863826d17c32e93a626a3627c56242a4227954885e81000122227ce1cd7dc8698c67b37
+DIST mkdocstrings-0.25.0.gh.tar.gz 89714 BLAKE2B 536bce1178b7f9ca3cf25d73ea6c5a9533f80b4453520ac4681cac845c9a3016cdc184bb676528953e5b79efb27c4acd87912205c231e295ffca9cd4549cb31a SHA512 2e938bbcc2d6b3fb5c7805a5371f458f962af7db288fdfa3ae1ca38d948d0c6d8280425171276d2181f5213da971dfbb6554b23130d66177d1da8a2f235bb1d1
+DIST mkdocstrings-0.25.1.gh.tar.gz 89869 BLAKE2B 248436eeabafbb7cbee27362b43d2feadeadda7692b5843621bd97261e17a93783c38f37850700c6e79b7f23f15fdc8f21567329afba9b4fb0618f277acc1865 SHA512 155dc5d15fd71f9c5dbd5d5f70f380ad5197fc0c1dc0fe722205b30decbd19307daa631d3a4a40206cdf36981f414ea1a4c001d8cef517ffed569e96ea0e8302
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.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/mkdocstrings/mkdocstrings-0.25.0.ebuild b/dev-python/mkdocstrings/mkdocstrings-0.25.0.ebuild
new file mode 100644
index 000000000000..80d4bac4ae7b
--- /dev/null
+++ b/dev-python/mkdocstrings/mkdocstrings-0.25.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=pdm-backend
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Automatic documentation from sources, for MkDocs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/
+ https://github.com/mkdocstrings/mkdocstrings/
+ https://pypi.org/project/mkdocstrings/
+"
+# Tests require files absent from PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/mkdocstrings/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/click-7.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.11.1[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.3[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-1.1[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.5[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-autorefs-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-6.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/markdown-exec[${PYTHON_USEDEP}]
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+ dev-python/mkdocstrings-python[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )
+"
+
+# mkdocstrings documentation generation requires several currently
+# unpackaged mkdocs extensions and plug-ins, and this test
+# makes use of mkdocs configuration
+EPYTEST_DESELECT=(
+ tests/test_plugin.py::test_disabling_plugin
+ # WTF, it tries to unlink installed files from installed package?!
+ tests/test_handlers.py::test_extended_templates
+ # Needs unpackaged mkdocs-callouts, mkdocs-literate-nav, and possibly more
+ tests/test_inventory.py::test_sphinx_load_mkdocstrings_inventory_file
+ # Internet
+ tests/test_inventory.py::test_load_inventory
+)
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/mkdocstrings/mkdocstrings-0.25.1.ebuild b/dev-python/mkdocstrings/mkdocstrings-0.25.1.ebuild
new file mode 100644
index 000000000000..80d4bac4ae7b
--- /dev/null
+++ b/dev-python/mkdocstrings/mkdocstrings-0.25.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..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..2d151239c361
--- /dev/null
+++ b/dev-python/ml-dtypes/Manifest
@@ -0,0 +1,3 @@
+DIST eigen-7bf2968fed5f246c0589e1111004cb420fcd7c71.tar.bz2 2239233 BLAKE2B 3a7e81c302cb11ae1d6ef9433a9ec41506c1f37d04cfb8744ac3fcf7dbe9430c1b48d7197ca3b8e1f9354398bac3d0dbc3e0599c0b649acd6175e906befe2973 SHA512 29ee89770726e6e0f5135b7fab24649f3e69223caed90d2daa6f0014783e69fe98f0551de49bd4e393d7b7938f2943caf1ed00f3933fa771ac14fae3c63fd5dd
+DIST ml_dtypes-0.3.2.gh.tar.gz 71606 BLAKE2B cbf5414d09160a2e4e878261c5842efd664a424064aae727d9d1188304a5e888ca955b3bf199956c2beed53c78c0f8afeb8860245d57553b10ca7262ba1e8bce SHA512 d42f6734edc5c159f15b9c020deb2595f32bbcdf53ecfaea840afb38314a855d09315693129393f755fdc3295b5965073b404822aacf1a149c7f9bab89c48fd5
+DIST ml_dtypes-0.4.0.gh.tar.gz 72894 BLAKE2B a2d70369f8fc72b8234d198ee4517dd3666b6e5a82ea8bca28973966e141426ef5517d441cfdd4cc00146d534194378c191b29f695f1d8c6b9d2785c84d2548c SHA512 a4674c352a641ceab212ff1da25168823d43016dbe00ae06885ef787f1bc0814ae61e595d5f9d43710da29c12e70e3c616e1c634560b911bdb25f4c40b6ba324
diff --git a/dev-python/ml-dtypes/metadata.xml b/dev-python/ml-dtypes/metadata.xml
new file mode 100644
index 000000000000..9175a762fe69
--- /dev/null
+++ b/dev-python/ml-dtypes/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>perfinion@gentoo.org</email>
+ <name>Jason Zaman</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jax-ml/ml_dtypes</remote-id>
+ <remote-id type="pypi">ml-dtypes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ml-dtypes/ml-dtypes-0.3.2-r1.ebuild b/dev-python/ml-dtypes/ml-dtypes-0.3.2-r1.ebuild
new file mode 100644
index 000000000000..0ce0838a1b4c
--- /dev/null
+++ b/dev-python/ml-dtypes/ml-dtypes-0.3.2-r1.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-2:=[${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/ml-dtypes/ml-dtypes-0.4.0.ebuild b/dev-python/ml-dtypes/ml-dtypes-0.4.0.ebuild
new file mode 100644
index 000000000000..59a125005a21
--- /dev/null
+++ b/dev-python/ml-dtypes/ml-dtypes-0.4.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+MY_P=${PN/-/_}-${PV}
+EIGEN_CommitId="7bf2968fed5f246c0589e1111004cb420fcd7c71"
+
+DESCRIPTION="A stand-alone implementation of several NumPy dtype extensions"
+HOMEPAGE="
+ https://github.com/jax-ml/ml_dtypes/
+ https://pypi.org/project/ml-dtypes/
+"
+SRC_URI="
+ https://github.com/jax-ml/ml_dtypes/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ https://gitlab.com/libeigen/eigen/-/archive/${EIGEN_CommitId}/eigen-${EIGEN_CommitId}.tar.bz2
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ dev-python/numpy:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ test? (
+ dev-python/absl-py[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ rmdir third_party/eigen || die
+ mv "${WORKDIR}/eigen-${EIGEN_CommitId}" third_party/eigen || die
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ mv ml_dtypes/tests . || die
+ rm -r ml_dtypes || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ epytest
+}
diff --git a/dev-python/mmtf-python/Manifest b/dev-python/mmtf-python/Manifest
index 28b9e35b5b68..587aa022c631 100644
--- a/dev-python/mmtf-python/Manifest
+++ b/dev-python/mmtf-python/Manifest
@@ -1,2 +1 @@
-DIST mmtf-python-1.1.2.tar.gz 46309 BLAKE2B b21d53f7cfbdf6f6bd4f0f3ac31a846e83ce0ee98faf77fa8d06de7520c4aa64a259e8b43a744a440a6cf1a10ad461697334683364698a68222b690301bc5554 SHA512 92afcce48c2de186cbf9c2cb39c94c5df14ae0eb613862d41b674b7d2f338855ed81be23fb14d16d2dfc8d33415d3904537ef4a422e3a52b78d461b609e968ca
DIST mmtf-python-1.1.3.tar.gz 46032 BLAKE2B a19d7e02b08bf7e4d0c820aa2fd06e0f01a10f807efcc0ebed8c2841dc82b0c27ff690934f941d360086217801c3722060a18805dc4144655b0707cc759b93e2 SHA512 44558ea3e38e8eb6431e597253473e49d4a4e3835f790f375f923d3c3702b3c096d5ecaac090a8fabc1cd285d6cfa8dbd3f7d6186d765b92d718ca6d34ad063b
diff --git a/dev-python/mmtf-python/mmtf-python-1.1.2-r1.ebuild b/dev-python/mmtf-python/mmtf-python-1.1.2-r1.ebuild
deleted file mode 100644
index fd6c4965d1ce..000000000000
--- a/dev-python/mmtf-python/mmtf-python-1.1.2-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-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"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-python/msgpack[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/numpy[${PYTHON_USEDEP}]
- )"
-
-python_test() {
- "${EPYTHON}" mmtf/tests/codec_tests.py -v || die "Tests failed with ${EPYTHON}"
-}
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 ac234e7f5a34..5f3d397262c7 100644
--- a/dev-python/mmtf-python/mmtf-python-1.1.3.ebuild
+++ b/dev-python/mmtf-python/mmtf-python-1.1.3.ebuild
@@ -1,15 +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=setuptools
-PYTHON_COMPAT=( python3_{8..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 6e034d8a6680..87e3897664da 100644
--- a/dev-python/mock/Manifest
+++ b/dev-python/mock/Manifest
@@ -1 +1 @@
-DIST mock-4.0.3.gh.tar.gz 80318 BLAKE2B bc0dc8b97129eaa2f0f9c89898157ea5de398f59f4e2ebc07318cf745b74d1f1bcc989774600ec88ce1956f9fe16f9464f101ea5df5cd23b3a58b432d19feb8a SHA512 adfdab253eb3bc1b6cb767c58ffa3a8a5c5f88da0f04ea6680e0d87da59177972d2d99bfe0a770ac2ed4f809ca6a090a9d0f789eea8f4365ef2c54f8e8792e89
+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 ef0f66319384..000000000000
--- a/dev-python/mock/mock-4.0.3-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=( python3_{8..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.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
new file mode 100644
index 000000000000..1b7ff8b138eb
--- /dev/null
+++ b/dev-python/moddb/Manifest
@@ -0,0 +1,2 @@
+DIST moddb-0.10.0.gh.tar.gz 14174575 BLAKE2B cffcdb27d3bd43da412d9ce689ba06d59ee013d4b78b75fddc8749243aaa6abb50c576811ef8e8e88c66ff41b578a79daec4ce0dbe56f444c94eeabedb0fef89 SHA512 5b21aea8a76c2b28579dbb3587956042126b65248684c2c6caef43793b8e7dd1d318434783c252ef191ee7832ea9fe1a434797797a9a76804133a53ede7674f9
+DIST moddb-0.11.0.gh.tar.gz 10528613 BLAKE2B 109c1758362e2655209173d581f1234f15725b8d0b25ed8024ecdfc4da45e30530c87fa9b8a19b556f4cfa60549c38bc552751a39a5dad28f04e58f53d1f484f SHA512 fe064fb7b02553d614477f122013c98257c6fd4d428538681ea97706425480d7fb4a25f49b8673dfba706e33766420c930cee1fae0c93a6b3d2f766b609596ca
diff --git a/dev-python/moddb/metadata.xml b/dev-python/moddb/metadata.xml
new file mode 100644
index 000000000000..7fdd458f8299
--- /dev/null
+++ b/dev-python/moddb/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="pypi">moddb</remote-id>
+ <remote-id type="github">ClementJ18/moddb</remote-id>
+ </upstream>
+</pkgmetadata>
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.11.0.ebuild b/dev-python/moddb/moddb-0.11.0.ebuild
new file mode 100644
index 000000000000..ce605c46602e
--- /dev/null
+++ b/dev-python/moddb/moddb-0.11.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python scrapper to access ModDB mods, games and more as objects"
+HOMEPAGE="https://github.com/ClementJ18/moddb"
+SRC_URI="https://github.com/ClementJ18/moddb/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# Connects to moddb.com
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+BDEPEND="test? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+)"
+
+EPYTEST_DESELECT=(
+ # These tests require valid moddb.com login information
+ "tests/test_base.py::TestLogin::test_login"
+ "tests/test_client.py::TestClient::test_get_watched"
+ "tests/test_client.py::TestClient::test_get_updates"
+ "tests/test_client.py::TestClient::test_posts"
+ "tests/test_client.py::TestClient::test_friends"
+ "tests/test_client.py::TestClient::test_messages"
+)
+
+distutils_enable_sphinx docs/source dev-python/sphinx-autodoc-typehints
+distutils_enable_tests pytest
+
+python_test() {
+ # Dummy moddb.com login information
+ export USERNAME="portage"
+ export SENDER_USERNAME="portage"
+ export PASSWORD="testing"
+ export SENDER_PASSWORD="testing"
+ epytest
+}
diff --git a/dev-python/mongomock/Manifest b/dev-python/mongomock/Manifest
deleted file mode 100644
index 7c350974ac7e..000000000000
--- a/dev-python/mongomock/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST mongomock-4.0.0.tar.gz 145478 BLAKE2B fad07cd15f250f81dd483814d6a3c15e69a86f4ee9a27308a3a08961f11a38c1abfc3bfa0a36dd81e14c902946c9aefd6ac29a9dde95dbf3e5b0781e7f9c8aca SHA512 e489dd9f312762f0322dfcc34b85912b5e47fa838bd48561aab9c195f19002c8e5f3617a1cc45929e9476aede7733286b5f6246f54be7396c422da5920bd89d5
-DIST mongomock-4.1.2.tar.gz 133271 BLAKE2B cd13b4b671f4e5ea4b12af939947be38629dd64bf9af0e9d5dd9d2035b8ac3d4c727666f8ecca663db370750d5a75bcbeeddf32c26b80bbe103c94c5b7e76992 SHA512 677f4bd1050da43785a0de542be7cbb67ea195d1191ccad1c1caa4aebae2fcb24e2a26cc3d2d8db64fa6ebceeed0fc79250c8c1defd16ccf16690aa048602ef3
diff --git a/dev-python/mongomock/metadata.xml b/dev-python/mongomock/metadata.xml
deleted file mode 100644
index 6f92b7bbb7a1..000000000000
--- a/dev-python/mongomock/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">mongomock</remote-id>
- <remote-id type="github">mongomock/mongomock</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/mongomock/mongomock-4.0.0.ebuild b/dev-python/mongomock/mongomock-4.0.0.ebuild
deleted file mode 100644
index 83be201d3df2..000000000000
--- a/dev-python/mongomock/mongomock-4.0.0.ebuild
+++ /dev/null
@@ -1,33 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Library to help testing Python code that interacts with MongoDB via Pymongo"
-HOMEPAGE="https://github.com/mongomock/mongomock https://pypi.org/project/mongomock/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-BDEPEND=">=dev-python/pbr-5.1.1[${PYTHON_USEDEP}]"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pymongo-3.10.1[${PYTHON_USEDEP}]
- >=dev-python/sentinels-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.14.0[${PYTHON_USEDEP}]"
-
-src_test() {
- # Use NO_LOCAL_MONGO to disable tests that need a MongoDB instance.
- # TZ=UTC needed for date/time tests to pass
- TZ=UTC NO_LOCAL_MONGO=1 distutils-r1_src_test
-}
-
-distutils_enable_tests pytest
diff --git a/dev-python/mongomock/mongomock-4.1.2.ebuild b/dev-python/mongomock/mongomock-4.1.2.ebuild
deleted file mode 100644
index 35fdd8c4ec3b..000000000000
--- a/dev-python/mongomock/mongomock-4.1.2.ebuild
+++ /dev/null
@@ -1,34 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Library to help testing Python code that interacts with MongoDB via Pymongo"
-HOMEPAGE="https://github.com/mongomock/mongomock
- https://pypi.org/project/mongomock/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
-
-BDEPEND=">=dev-python/pbr-5.1.1[${PYTHON_USEDEP}]"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pymongo-3.10.1[${PYTHON_USEDEP}]
- >=dev-python/sentinels-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.14.0[${PYTHON_USEDEP}]"
-
-src_test() {
- # Use NO_LOCAL_MONGO to disable tests that need a MongoDB instance.
- # TZ=UTC needed for date/time tests to pass
- TZ=UTC NO_LOCAL_MONGO=1 distutils-r1_src_test
-}
-
-distutils_enable_tests pytest
diff --git a/dev-python/more-itertools/Manifest b/dev-python/more-itertools/Manifest
index e83ed95fa51d..80eeb3b1cb52 100644
--- a/dev-python/more-itertools/Manifest
+++ b/dev-python/more-itertools/Manifest
@@ -1 +1 @@
-DIST more-itertools-8.13.0.tar.gz 101264 BLAKE2B 28c212e76f18081301c6d946e06112beb2a6a3fef3b99582d5ea98c2142e1e47b0f5300f441a4d206f5950120466212a9fde40eae53bce0098097063468f56f5 SHA512 2f3473cdd67ddcb2c658f60638b91a25c4ce9d9a92bbda5ca937dd4748857408bfe8dd9d4e699f53bd9f10d7b433db57e499bd28f184b8faa58b2004f2c92004
+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..36b8551dc13b
--- /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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="More routines for operating on iterables, beyond itertools"
+HOMEPAGE="
+ https://github.com/more-itertools/more-itertools/
+ https://pypi.org/project/more-itertools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests unittest
diff --git a/dev-python/more-itertools/more-itertools-8.13.0.ebuild b/dev-python/more-itertools/more-itertools-8.13.0.ebuild
deleted file mode 100644
index fda8ede7b374..000000000000
--- a/dev-python/more-itertools/more-itertools-8.13.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2022 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_{8..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 c9b165858ccf..ad4f35bf2870 100644
--- a/dev-python/moto/Manifest
+++ b/dev-python/moto/Manifest
@@ -1,2 +1,3 @@
-DIST moto-3.1.16.tar.gz 2318840 BLAKE2B 775c952c7c5df36a859bfbb4417d613207f51643c129f37fd88398c9185109ee99be948db234573f02fd301a1541c1d50dde0d5fe296561f3382320fc671beec SHA512 c893b6de5bc5bf7bc025e320825d388de878affc83d1b54457f898891d306ce0c8dcb4aecfc33119cd2df78e5a9b0d07031cc45db4d965c0cab0bcb6154b0d34
-DIST moto-3.1.17.tar.gz 2353251 BLAKE2B 9ea4b0eb7cd4598e9af967451b2193e80864171eb670c24c36178be49f295cca0aa4bbdb6c1d3c5b7ef1e88eea859a0e512e196044c3b141c08fbe85098c172a SHA512 fcc7975c27c0b93933c2d56427d2b49c65f4dc8281c2f573e82fda7709d6202fc02e0c89312db4d40f3b17a55ba6a998da11b42074a9dfb2ceebfbdf812b184f
+DIST moto-4.2.14.tar.gz 4933741 BLAKE2B 4c50a808dc8f27cfbcd0ba234d268084ee9a32f36cb5d6af61aacc4ee79f7bf5cf1045147c4642472129eee37bef8bc2c1953d140260d39d7f333ae0f5e5cf95 SHA512 d4079118ed1d2eef9134575e33dc0ed749bff0293d753baa63a630dbb987914b9933445027abdc344bb93fa1d6e483baf8a337a444c9dd055dda50b095ff9937
+DIST moto-5.0.5.tar.gz 5188450 BLAKE2B 052cb9cbc5752ce46283f4d3fd43e92ba3a492437d19e6284eb6907dfc4dc84e50ac6b64f0c78df3f8b1dd8140008528bd00090e112f6642b9acebe8e268e8a0 SHA512 c3c57d79864e63abae128c6d683314d06b6ee9fd40e496485e8499196b54df5e7281abb0d0ca6f5f096685799041552becfd2404a0828964232246868c70adb9
+DIST moto-5.0.6.tar.gz 5212834 BLAKE2B 8bd5734c0c7615e2ca42f715e8865989ce8a07a2733dbc8f9bce3d3c8e4718543cbbc37cc342620ecf51df64f23c21f237f32a56f165f751472bd2b793140606 SHA512 41a29faf5a206690197315693a91d0e9a71ccb24dbbd790f568502d91a0b40cad0fbea60f6af75412f4e6cb11da00677db24dfc9c3d0a884533b39e4904e2ec3
diff --git a/dev-python/moto/metadata.xml b/dev-python/moto/metadata.xml
index 7bc6dbe19ce4..52f3afd75b43 100644
--- a/dev-python/moto/metadata.xml
+++ b/dev-python/moto/metadata.xml
@@ -12,6 +12,6 @@
<!-- no allarches: package had portability problems before -->
<upstream>
<remote-id type="pypi">moto</remote-id>
- <remote-id type="github">spulec/moto</remote-id>
+ <remote-id type="github">getmoto/moto</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/moto/moto-3.1.16.ebuild b/dev-python/moto/moto-3.1.16.ebuild
deleted file mode 100644
index 83bce6f57fce..000000000000
--- a/dev-python/moto/moto-3.1.16.ebuild
+++ /dev/null
@@ -1,90 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Mock library for boto"
-HOMEPAGE="https://github.com/spulec/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/boto[${PYTHON_USEDEP}]
- dev-python/cfn-lint[${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/pytz[${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
- # 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_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]"
- )
-
- # pytest-django causes freezegun try to mangle stuff inside django
- # which fails when django is not really used
- epytest -p no:django -m 'not network'
-}
diff --git a/dev-python/moto/moto-3.1.17.ebuild b/dev-python/moto/moto-3.1.17.ebuild
deleted file mode 100644
index d32692d1217f..000000000000
--- a/dev-python/moto/moto-3.1.17.ebuild
+++ /dev/null
@@ -1,90 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Mock library for boto"
-HOMEPAGE="https://github.com/spulec/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/boto[${PYTHON_USEDEP}]
- dev-python/cfn-lint[${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/pytz[${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
- # 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_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]"
- )
-
- # pytest-django causes freezegun try to mangle stuff inside django
- # which fails when django is not really used
- epytest -p no:django -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.5.ebuild b/dev-python/moto/moto-5.0.5.ebuild
new file mode 100644
index 000000000000..846cf73e5152
--- /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/moto/moto-5.0.6.ebuild b/dev-python/moto/moto-5.0.6.ebuild
new file mode 100644
index 000000000000..31ff40e7e342
--- /dev/null
+++ b/dev-python/moto/moto-5.0.6.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/Manifest b/dev-python/mpdlcd/Manifest
index 48aaf4c73f1b..0792edb63c23 100644
--- a/dev-python/mpdlcd/Manifest
+++ b/dev-python/mpdlcd/Manifest
@@ -1 +1 @@
-DIST mpdlcd-0.5.2.tar.gz 30748 BLAKE2B 5609ac149a9aa806e516202adf1b9d0f4fc88e8370f331edc836082d7b3b85c519097149dd2b5cb838d8a9ff353421e17daf9236397e4b37e2923948f8dc9dac SHA512 e000120eee1ce99b549c5ac0cd00fba394ce1a373cce3dde819f6aabd6fc3b616e59ade6d6868b1e9f14afea4897cf541f2c3f5d0eaebcbbd03b15781a63b6fc
+DIST mpdlcd-0.5.2.gh.tar.gz 30748 BLAKE2B 5609ac149a9aa806e516202adf1b9d0f4fc88e8370f331edc836082d7b3b85c519097149dd2b5cb838d8a9ff353421e17daf9236397e4b37e2923948f8dc9dac SHA512 e000120eee1ce99b549c5ac0cd00fba394ce1a373cce3dde819f6aabd6fc3b616e59ade6d6868b1e9f14afea4897cf541f2c3f5d0eaebcbbd03b15781a63b6fc
diff --git a/dev-python/mpdlcd/mpdlcd-0.5.2-r1.ebuild b/dev-python/mpdlcd/mpdlcd-0.5.2-r1.ebuild
deleted file mode 100644
index 4acf00858c18..000000000000
--- a/dev-python/mpdlcd/mpdlcd-0.5.2-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A small tool to display the MPD status on a LCDproc server"
-HOMEPAGE="https://github.com/rbarrois/mpdlcd"
-SRC_URI="https://github.com/rbarrois/${PN}/archive/${P}.tar.gz"
-S="${WORKDIR}/${PN}-${P}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="dev-python/python-mpd"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- distutils-r1_python_install_all
-
- doman man/mpdlcd.1
-
- insinto /etc
- doins mpdlcd.conf
-
- newinitd "${FILESDIR}"/mpdlcd.initd mpdlcd
- newconfd "${FILESDIR}"/mpdlcd.confd mpdlcd
-}
diff --git a/dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild b/dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild
new file mode 100644
index 000000000000..0308856d49b0
--- /dev/null
+++ b/dev-python/mpdlcd/mpdlcd-0.5.2-r2.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 small tool to display the MPD status on a LCDproc server"
+HOMEPAGE="https://github.com/rbarrois/mpdlcd"
+SRC_URI="https://github.com/rbarrois/${PN}/archive/refs/tags/${P}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="dev-python/python-mpd2"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ # Fix QA 'The license_file parameter is deprecated, use license_files instead.'
+ sed -e 's/license_file/license_files/g' -i setup.cfg || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ doman man/mpdlcd.1
+
+ insinto /etc
+ doins mpdlcd.conf
+
+ newinitd "${FILESDIR}"/mpdlcd.initd mpdlcd
+ newconfd "${FILESDIR}"/mpdlcd.confd mpdlcd
+}
diff --git a/dev-python/mpi4py/Manifest b/dev-python/mpi4py/Manifest
index 7e2384ad85d3..19f3f4338db2 100644
--- a/dev-python/mpi4py/Manifest
+++ b/dev-python/mpi4py/Manifest
@@ -1 +1 @@
-DIST mpi4py-3.1.3.tar.gz 2461368 BLAKE2B 3ff7f6519a1ee96249567b1c65401fd1242c433bbb0a55c9d0a9b07f167ec44c71aefc24ac5fb354ceeb591dbfe97a4306f8455bb00559789367e91b78d80c16 SHA512 7a15224692016253120e8e88be1f7201e6f4548c1fb5ed15f04f416000b0d9e259dd8e80c0e237b1a960143e52b4a840d2a541359833387ac12868af1c059cea
+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 c1d94939330e..000000000000
--- a/dev-python/mpi4py/mpi4py-3.1.3.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_{8..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? (
- dev-python/nose[${PYTHON_USEDEP}]
- 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 61e5f809bfab..000000000000
--- a/dev-python/mpmath/mpmath-1.2.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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 86768358659a..6cc2db5e4196 100644
--- a/dev-python/mrcfile/Manifest
+++ b/dev-python/mrcfile/Manifest
@@ -1,4 +1 @@
-DIST mrcfile-1.3.0.gh.tar.gz 148140808 BLAKE2B 8ede240df4a3d0132a3bfa230377f496db84c56074450e5744c696158b2afd2c091719fbb314a04eff7f21f10eaeaa9cc6347e45bf82b0c4972db4ecc4a111a4 SHA512 57fff6e7c71b41681c94c60fbb69d0712ec7e342329624d8c20e212560eaa0f2b573d02ec5fcce39b9b7077e66d9bab463afc227d6b1f24134eddb17e56fdff1
-DIST mrcfile-1.4.0.gh.tar.gz 148151643 BLAKE2B d9a5c8c3535402e00f971da0032e32b8c4e86fbabf9774b00fa5c7565e560e2bcbf50cba07458926bcda0c62071b18144a7d6016a1e8928ca031e8e54e63b0c4 SHA512 078e5f1c933b42116908995665cf0f222208e35b6e79e65724f26b6e9a2f7a19f5e1763369b99f4a03449f2fb10c2dac2201de88086d08da727fa5580a07e440
-DIST mrcfile-1.4.1.gh.tar.gz 148152857 BLAKE2B 6bfa9216465f147964ff3ad0065e6e2cae3a5c5ba226ddeead2c7f6c38f49f19cb83ee1dfb2f74adca87dba1504d908b846225f2b7b281153a8896bb49eb9653 SHA512 d0d3c12e38b2d9195c4ae65586e25abf483108582af467b22cb60cbc82572243ba213d5c89bff24c80f9189a961ac3bf78f7a884ddd3ea32666c5199facad7d3
-DIST mrcfile-1.4.2.gh.tar.gz 148153125 BLAKE2B 07d6c68b8c8fa8b99f4b10ee400c09938f9d560482cd85e4e879461c00b2226e30241085b24baefb50edbfe058d85e1d5f2b9c43f6cd8e64614ac47bd5567080 SHA512 f1e43de26bc61afa1a4ac68bce2ba71044bfc36a02def225c9f4fde8bbfdbec3f8dd996aad62cb16f71f3144c456e7b5a2eb5a7cbdfee9e0bf6d96a7a2595c3c
+DIST mrcfile-1.5.0.gh.tar.gz 148148453 BLAKE2B 45cb7483e0aa5d6a2ac4e077bd0e2a9a8a265c4fdb69fc467e1dd3bab79960478d69ed0ec5e4f97ff528a02255c1c0b3e839e808ff0380e7ea2926b569a5478f SHA512 90e85e74c413b74e9ea86996b9e1ed4ac8f8cc0e7537f1916482d5e89d1fa99814c23ad2e51d912485a02644eeb65925067190bb3a7b222310aca4946b037ecc
diff --git a/dev-python/mrcfile/mrcfile-1.3.0.ebuild b/dev-python/mrcfile/mrcfile-1.3.0.ebuild
deleted file mode 100644
index b220244e71b1..000000000000
--- a/dev-python/mrcfile/mrcfile-1.3.0.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_{8..10} )
-
-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.12.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/mrcfile/mrcfile-1.4.0.ebuild b/dev-python/mrcfile/mrcfile-1.4.0.ebuild
deleted file mode 100644
index fb7859a0b5f8..000000000000
--- a/dev-python/mrcfile/mrcfile-1.4.0.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_{8..10} )
-
-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.4.1.ebuild b/dev-python/mrcfile/mrcfile-1.4.1.ebuild
deleted file mode 100644
index 62786145a366..000000000000
--- a/dev-python/mrcfile/mrcfile-1.4.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_{8..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.4.2.ebuild b/dev-python/mrcfile/mrcfile-1.4.2.ebuild
deleted file mode 100644
index 62786145a366..000000000000
--- a/dev-python/mrcfile/mrcfile-1.4.2.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_{8..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 120918926a91..000000000000
--- a/dev-python/msgpack/msgpack-1.0.4.ebuild
+++ /dev/null
@@ -1,47 +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_{8..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="amd64 arm arm64 ppc ~ppc64 ~riscv 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*')
- )
- test? (
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-
-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 22fc597d6ba5..0289532bf4e6 100644
--- a/dev-python/mss/Manifest
+++ b/dev-python/mss/Manifest
@@ -1 +1 @@
-DIST mss-6.1.0.tar.gz 90421 BLAKE2B c99bc7a1950215402cc4fe3b512951a723fa1f5ffd8ab747fc29ed8d4e51f786ef84b69e3ef2238d7cf9d6ebb5765dcdb4d1d3cc3e9a2caf66cd658fa6753f5f SHA512 2b84fec6e162480cb608c0ff605f528f3122c8397a81bb0cb6cf9223cdf097a633ea2e29a95925297439dc038a0be4cc628d3455827a8548cb3d8e62cd68d9d7
+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 689e03b7f6a7..012fc6882c8f 100644
--- a/dev-python/mss/metadata.xml
+++ b/dev-python/mss/metadata.xml
@@ -1,12 +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 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-6.1.0.ebuild b/dev-python/mss/mss-6.1.0.ebuild
deleted file mode 100644
index 92c872443229..000000000000
--- a/dev-python/mss/mss-6.1.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="An ultra fast cross-platform multiple screenshots module in python using ctypes"
-HOMEPAGE="https://github.com/BoboTiG/python-mss"
-SRC_URI="https://github.com/BoboTiG/python-mss/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-S="${WORKDIR}/python-${PN}-${PV}"
-
-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
-
-python_test() {
- virtx pytest -vv
-}
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 8fee64a96967..5de60752053a 100644
--- a/dev-python/multidict/Manifest
+++ b/dev-python/multidict/Manifest
@@ -1 +1 @@
-DIST multidict-6.0.2.tar.gz 56840 BLAKE2B 1fa9b0d92a94ed022849a851f925e132b629216ddd0d5d4772304fd3361a129692f8b49fca2765118ab1cbc306879924d0aa7c6b57b648158a093a9f311a8d30 SHA512 508f18c5f731e7438bc7cb84b29aff22422769a8ea4c0ba7c875361d1bb1da78bed2db8b4ca34b833effd03ca3e7f00dabaad64bfce54b3e8d208cdc808083c9
+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.2.ebuild b/dev-python/multidict/multidict-6.0.2.ebuild
deleted file mode 100644
index efa818c5a11f..000000000000
--- a/dev-python/multidict/multidict-6.0.2.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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}.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 243c2b845cc5..000000000000
--- a/dev-python/multipledispatch/multipledispatch-0.6.0-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="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 43f92bae1c42..000000000000
--- a/dev-python/munch/munch-2.5.0-r2.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_{8..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 f8d408677de7..00d44a124e4d 100644
--- a/dev-python/munkres/munkres-1.1.4-r1.ebuild
+++ b/dev-python/munkres/munkres-1.1.4-r1.ebuild
@@ -1,16 +1,24 @@
-# 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_{8..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 ad9de7346a31..680b1061b77e 100644
--- a/dev-python/mygpoclient/mygpoclient-1.9.ebuild
+++ b/dev-python/mygpoclient/mygpoclient-1.9.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_{8..11} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
@@ -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 6f06f70e857c..07f452a7a8ed 100644
--- a/dev-python/mypy/Manifest
+++ b/dev-python/mypy/Manifest
@@ -1,2 +1,2 @@
-DIST mypy-0.961.gh.tar.gz 2767264 BLAKE2B 333e860f2416d065fd26f29f818e88c25f223c8f558bd174280ccfbe856c823253095830cc9cc44dd453b3661583d7626e5679ce1e44479b62ed75139051a9a2 SHA512 f7f57d38777256a45c950a45e832b6f1b9465a6663056472a9b32dc8c1d38b4d28ed856f4de12202de5910eeb6197a22073e12924a1e3f58d5631aaa938c0f2a
-DIST mypy-0.971.gh.tar.gz 2808674 BLAKE2B 7f3b183a4c5342ddfc501b8091c078ac55803db86d43042220e18e3e616664ce91ddeb341b45b1d80c7686f8c2f3606af074a5dcb9c9eaacd6307578d3689981 SHA512 5088efbd74385b5a8c155ae6e756deed274bf3e597df13e57970a29c029c34c91453c45fc1d2d03b7d83cd786b8930a387a781e1b9cb72102c1f07263a346c6d
+DIST mypy-1.10.0.gh.tar.gz 3062151 BLAKE2B ddc7354b2b62247387fd04b309c50d4ffa5c1b8af58873cc8787bd17c04069b528850bfb586925aa7df6634a65af6a1e951e4d6036d5bd0e688b8608980510bd SHA512 c936c299d9d4b6911505ef7b7df6f8d7344bd199a2d654e66467291f6e6ba4432dfa7aed5a504e6ec9518d9d53ac85f771e7b31dc6a72e06e79c443547bc2b66
+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.961.ebuild b/dev-python/mypy/mypy-0.961.ebuild
deleted file mode 100644
index e51f025cb461..000000000000
--- a/dev-python/mypy/mypy-0.961.ebuild
+++ /dev/null
@@ -1,62 +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_{8..10} )
-
-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-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-3.7.4[${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/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-0.971.ebuild b/dev-python/mypy/mypy-0.971.ebuild
deleted file mode 100644
index 75044659afd0..000000000000
--- a/dev-python/mypy/mypy-0.971.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-3.7.4[${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.10.0.ebuild b/dev-python/mypy/mypy-1.10.0.ebuild
new file mode 100644
index 000000000000..92b997a47608
--- /dev/null
+++ b/dev-python/mypy/mypy-1.10.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/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.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/mypy-1.9.0.ebuild b/dev-python/mypy/mypy-1.9.0.ebuild
new file mode 100644
index 000000000000..b9f21a0e93c7
--- /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 94a678b25e73..edb1536892fa 100644
--- a/dev-python/mypy_extensions/Manifest
+++ b/dev-python/mypy_extensions/Manifest
@@ -1 +1 @@
-DIST mypy_extensions-0.4.3.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-r1.ebuild b/dev-python/mypy_extensions/mypy_extensions-0.4.3-r1.ebuild
deleted file mode 100644
index d3b1859e996a..000000000000
--- a/dev-python/mypy_extensions/mypy_extensions-0.4.3-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-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}.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 unittest
-
-python_test() {
- eunittest 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 0f08dd07173d..000000000000
--- a/dev-python/mysqlclient/mysqlclient-2.1.1.ebuild
+++ /dev/null
@@ -1,91 +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_{8..10} )
-
-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..70070c31d18d
--- /dev/null
+++ b/dev-python/myst-parser/Manifest
@@ -0,0 +1,4 @@
+DIST MyST-Parser-2.0.0.gh.tar.gz 815453 BLAKE2B 8f5dd823c3c79d843b45a7a4819d5677b51a12f78db2c1ce9700eb6faa8c4f0bc167fb1d8cd947e89ffab85aec947ab527b67dc73ef4db97a393f700a4331738 SHA512 c47bdd773565e93c4714d318a70f9a8adab1be6e2a63c23175667fc4afb5da4d66b84e11176782c8202e9fd68883e74d444911ddfb0b91356c2ba07fa65f7ea4
+DIST MyST-Parser-3.0.0.gh.tar.gz 823619 BLAKE2B 95d8f1c5a2ab442225079495fa4ebf3619d554bd3e6f469f6215a2458bad4fde3ca555dca591ac20537026765a8fda8a4fa9d85ca592251d9b699bba90782c59 SHA512 a91abfcb99b9b53cee6877d469c32a95c69c2fcbc9cfe6217451c0995e49dec89fe98cd5a1a5e408845985a10fbc21d4e3d8063f1d7a3d96781cb44352b3e806
+DIST MyST-Parser-3.0.1.gh.tar.gz 823769 BLAKE2B 2b8d84dc6a61abd7d168317bb80632172f01f109751b40c108828d0b2fb9c8536da32ff6c873cd3bc20b70c2613b25167eeee999ea9f2d59dfc914ac231120b2 SHA512 4c2b08e9307685c2ef02eee89becba1d6e9f67eba7ab6d5bb5b425f232ac0922bb31cb5df5d60a5ed0846a9314475bcd2cb073a0101f514455c2598340e4b441
+DIST myst-parser-2.0.0-sphinx-7.2.patch 22443 BLAKE2B 994f0b2c419832e61cb006b1b45c01274970900bdcfcef3422d5331e88962a46884afbf5b27b5cb98ed349a426444ca4ff21810526cc34eae4cf074102f7b3de SHA512 707b2a69c81352d2900c91088ca137f6455e0006b0e7c798b6f03b9f0cac85489c27db662f5e6ab6e2cd52e10f1594aa54d5c6821c07c110ad138d0cf129ac65
diff --git a/dev-python/myst-parser/files/myst-parser-2.0.0-sphinx-7.3.patch b/dev-python/myst-parser/files/myst-parser-2.0.0-sphinx-7.3.patch
new file mode 100644
index 000000000000..3b9d9551311e
--- /dev/null
+++ b/dev-python/myst-parser/files/myst-parser-2.0.0-sphinx-7.3.patch
@@ -0,0 +1,81 @@
+diff --git a/tests/test_renderers/test_fixtures_sphinx.py b/tests/test_renderers/test_fixtures_sphinx.py
+index bd0f85eb..65aba83a 100644
+--- a/tests/test_renderers/test_fixtures_sphinx.py
++++ b/tests/test_renderers/test_fixtures_sphinx.py
+@@ -22,7 +22,12 @@
+ def test_syntax_elements(file_params, sphinx_doctree_no_tr: CreateDoctree):
+ sphinx_doctree_no_tr.set_conf({"extensions": ["myst_parser"]})
+ result = sphinx_doctree_no_tr(file_params.content, "index.md")
+- file_params.assert_expected(result.pformat("index"), rstrip_lines=True)
++ pformat = result.pformat("index")
++ # changed in docutils 0.20.1
++ pformat = pformat.replace(
++ '<literal classes="code" language="">', '<literal classes="code">'
++ )
++ file_params.assert_expected(pformat, rstrip_lines=True)
+
+
+ @pytest.mark.param_file(FIXTURE_PATH / "sphinx_link_resolution.md")
+@@ -100,6 +105,8 @@ def test_sphinx_directives(file_params, sphinx_doctree_no_tr: CreateDoctree):
+ ),
+ "",
+ )
++ # changed in sphinx 7.3
++ pformat = pformat.replace("Added in version 0.2", "New in version 0.2")
+
+ file_params.assert_expected(pformat, rstrip_lines=True)
+
+diff --git a/tests/test_sphinx/sourcedirs/heading_slug_func/conf.py b/tests/test_sphinx/sourcedirs/heading_slug_func/conf.py
+index f6612b4c..33aed04b 100644
+--- a/tests/test_sphinx/sourcedirs/heading_slug_func/conf.py
++++ b/tests/test_sphinx/sourcedirs/heading_slug_func/conf.py
+@@ -2,5 +2,6 @@
+
+ extensions = ["myst_parser"]
+ exclude_patterns = ["_build"]
++suppress_warnings = ["config.cache"]
+ myst_heading_anchors = 2
+ myst_heading_slug_func = make_id
+diff --git a/tests/test_sphinx/test_sphinx_builds.py b/tests/test_sphinx/test_sphinx_builds.py
+index fcc1e463..b4e7c10d 100644
+--- a/tests/test_sphinx/test_sphinx_builds.py
++++ b/tests/test_sphinx/test_sphinx_builds.py
+@@ -162,7 +162,12 @@ def test_references_singlehtml(
+ docname="other/other",
+ resolve=True,
+ regress=True,
+- replace={"other\\other.md": "other/other.md"},
++ replace={
++ "other\\other.md": "other/other.md",
++ # changed in sphinx 7.3
++ '="#document-index': '="index.html#document-index',
++ '="#document-other': '="index.html#document-other',
++ },
+ )
+
+ get_sphinx_app_output(
+@@ -170,7 +175,12 @@ def test_references_singlehtml(
+ filename="index.html",
+ buildername="singlehtml",
+ regress_html=True,
+- replace={"Permalink to this headline": "Permalink to this heading"},
++ replace={
++ "Permalink to this headline": "Permalink to this heading",
++ # changed in sphinx 7.3
++ '="#document-index': '="index.html#document-index',
++ '="#document-other': '="index.html#document-other',
++ },
+ )
+
+
+@@ -469,7 +479,9 @@ def test_gettext_html(
+ regress_ext=".html",
+ replace={
+ # upstream bug https://github.com/sphinx-doc/sphinx/issues/11689
+- '"Permalink to this heading"': '"Lien permanent vers cette rubrique"'
++ '"Permalink to this heading"': '"Lien permanent vers cette rubrique"',
++ # which was fixed to a different translation in sphinx 7.3
++ '"Lien vers cette rubrique"': '"Lien permanent vers cette rubrique"',
+ },
+ )
+
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-r1.ebuild b/dev-python/myst-parser/myst-parser-2.0.0-r1.ebuild
new file mode 100644
index 000000000000..4257951ca376
--- /dev/null
+++ b/dev-python/myst-parser/myst-parser-2.0.0-r1.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=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
+ https://github.com/executablebooks/MyST-Parser/pull/811.patch
+ -> ${P}-sphinx-7.2.patch
+"
+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[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ <dev-python/markdown-it-py-4[${PYTHON_USEDEP}]
+ >=dev-python/markdown-it-py-3.0[${PYTHON_USEDEP}]
+ <dev-python/mdit-py-plugins-0.5[${PYTHON_USEDEP}]
+ >=dev-python/mdit-py-plugins-0.4[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ <dev-python/sphinx-8[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ <dev-python/linkify-it-py-3[${PYTHON_USEDEP}]
+ >=dev-python/linkify-it-py-2.0.0[${PYTHON_USEDEP}]
+ dev-python/pytest-regressions[${PYTHON_USEDEP}]
+ dev-python/pytest-param-files[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-7.2.6[${PYTHON_USEDEP}]
+ dev-python/sphinx-pytest[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/executablebooks/MyST-Parser/pull/811
+ "${DISTDIR}/${P}-sphinx-7.2.patch"
+ )
+ if has_version '>=dev-python/sphinx-7.3'; then
+ PATCHES+=(
+ # https://github.com/executablebooks/MyST-Parser/pull/915
+ "${FILESDIR}/${P}-sphinx-7.3.patch"
+ )
+ fi
+
+ default
+
+ # unpin docutils
+ sed -i -e '/docutils/s:,<[0-9.]*::' pyproject.toml || die
+}
diff --git a/dev-python/myst-parser/myst-parser-3.0.0.ebuild b/dev-python/myst-parser/myst-parser-3.0.0.ebuild
new file mode 100644
index 000000000000..eba761f257cc
--- /dev/null
+++ b/dev-python/myst-parser/myst-parser-3.0.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..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.18[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ <dev-python/markdown-it-py-4[${PYTHON_USEDEP}]
+ >=dev-python/markdown-it-py-3.0[${PYTHON_USEDEP}]
+ <dev-python/mdit-py-plugins-0.5[${PYTHON_USEDEP}]
+ >=dev-python/mdit-py-plugins-0.4[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ <dev-python/sphinx-8[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ <dev-python/linkify-it-py-3[${PYTHON_USEDEP}]
+ >=dev-python/linkify-it-py-2.0.0[${PYTHON_USEDEP}]
+ dev-python/pytest-regressions[${PYTHON_USEDEP}]
+ dev-python/pytest-param-files[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-7.3[${PYTHON_USEDEP}]
+ dev-python/sphinx-pytest[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ # unpin docutils
+ sed -i -e '/docutils/s:,<[0-9.]*::' pyproject.toml || die
+}
diff --git a/dev-python/myst-parser/myst-parser-3.0.1.ebuild b/dev-python/myst-parser/myst-parser-3.0.1.ebuild
new file mode 100644
index 000000000000..eba761f257cc
--- /dev/null
+++ b/dev-python/myst-parser/myst-parser-3.0.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..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.18[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ <dev-python/markdown-it-py-4[${PYTHON_USEDEP}]
+ >=dev-python/markdown-it-py-3.0[${PYTHON_USEDEP}]
+ <dev-python/mdit-py-plugins-0.5[${PYTHON_USEDEP}]
+ >=dev-python/mdit-py-plugins-0.4[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ <dev-python/sphinx-8[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ <dev-python/linkify-it-py-3[${PYTHON_USEDEP}]
+ >=dev-python/linkify-it-py-2.0.0[${PYTHON_USEDEP}]
+ dev-python/pytest-regressions[${PYTHON_USEDEP}]
+ dev-python/pytest-param-files[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-7.3[${PYTHON_USEDEP}]
+ dev-python/sphinx-pytest[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ # unpin docutils
+ sed -i -e '/docutils/s:,<[0-9.]*::' pyproject.toml || die
+}
diff --git a/dev-python/myst_parser/Manifest b/dev-python/myst_parser/Manifest
deleted file mode 100644
index 9aaf628894c5..000000000000
--- a/dev-python/myst_parser/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST MyST-Parser-0.18.0.gh.tar.gz 768448 BLAKE2B efb5d1907b5779b1816f1cc4fd5ede9543cf246e4029f4bf6d763a8aacdf54b5c8c5efa2fea61de4bf257f5979871409ee907b3349cdb4f099ac689131d0805a SHA512 919494467de3f0cd97c9c8062626b88c22fd0596e120b7ca117b8bce18d9fad9faf06a36e4c5bd8a4dad838c888524c780beceaf3e7acb42232bd3c903fabc3f
diff --git a/dev-python/myst_parser/myst_parser-0.18.0.ebuild b/dev-python/myst_parser/myst_parser-0.18.0.ebuild
deleted file mode 100644
index 7217c0a65cc4..000000000000
--- a/dev-python/myst_parser/myst_parser-0.18.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..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="amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/docutils-0.19[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/markdown-it-py[${PYTHON_USEDEP}]
- dev-python/mdit-py-plugins[${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-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 34ac5df3aa48..f077fa77391f 100644
--- a/dev-python/nagiosplugin/nagiosplugin-1.3.3.ebuild
+++ b/dev-python/nagiosplugin/nagiosplugin-1.3.3.ebuild
@@ -1,20 +1,23 @@
-# 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=( pypy3 python3_{8..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 76642bd0fcf3..96db0f311d77 100644
--- a/dev-python/natsort/Manifest
+++ b/dev-python/natsort/Manifest
@@ -1 +1 @@
-DIST natsort-8.1.0.tar.gz 145241 BLAKE2B dcf9ffdb58cfe4d0f7ca0ed74701c8137a87716831dc747c5fb68d187a93c1b7414fa3625c0ed385e727e97c36feb99e9ecc6a41dd3d9da342d357646b5aaf32 SHA512 a065899b124e6a6ee8560ce1882650e35f0c36ddfd3c56462820886b076cd8cdb0121825e30e298af576e07915cc5bc1e90fe3f0b1f7bfb89f816c00665baa22
+DIST natsort-8.4.0.tar.gz 76575 BLAKE2B 924058bd0770866d7945edc7886c5d517bf6c886b85c09f7fb0c3f4e7e7e3678993b62bf905245569e36a4acc6437f80e8671f928837d5708d1fe318c7b83320 SHA512 a005abc0fe7ccbb58d1926698a841d90f7f3eac72f062044a6716f0676e0b0766f3e7e14867fb2a0ff1124deaf9796d096744d68b2f6eea001841abed49345c8
diff --git a/dev-python/natsort/natsort-8.1.0.ebuild b/dev-python/natsort/natsort-8.1.0.ebuild
deleted file mode 100644
index 39f3832df847..000000000000
--- a/dev-python/natsort/natsort-8.1.0.ebuild
+++ /dev/null
@@ -1,29 +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_{8..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Natural sorting for Python"
-HOMEPAGE="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 ~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/Manifest b/dev-python/nautilus-python/Manifest
index 9458ca5396a8..26b2dff5b382 100644
--- a/dev-python/nautilus-python/Manifest
+++ b/dev-python/nautilus-python/Manifest
@@ -1 +1,2 @@
-DIST nautilus-python-1.2.3.tar.xz 269320 BLAKE2B 3d355bb8c0e67c488bb818d55c2bc97d8d4bfa14aeed8d6cb80d999a4b91ef5dc2f576d3dcca0e44ac004830ae326a93110aeb0cbe1987f100475cbee1b59ba2 SHA512 9c6a1a4bbf74a8c9c7d94a74c6994f0b1fc9de522c9f05d0ccbcdf3d60b1073dcf8058739ac0ee16f54b2632f2b9dd994bbe2bcd98cc165db543567bb1545443
+DIST nautilus-python-4.0.1.tar.xz 32236 BLAKE2B 822812ac86bbfa9e3978468968ec9291cf2f95ab4954cffeebe62f4d297b5816ad1a59cf04bbc31a146c0858e45509a4b5988789f17e7b76c4221e9c6fb1e285 SHA512 24e64af1c1cb8c70a4ea53bb064baf681d8848b2e8b549f682913a4883260b3f2384f985285d17e03736e414503ab82ea79bade9bcbe482a2cbecbb0a8356cea
+DIST nautilus-python-4.0.tar.xz 32184 BLAKE2B cc910de82e54cd687d23541a0b283a70dc5a0626acebf8787110ae1b5a4c080741c0879968816e217a4da968a77169d79b6614dd055f1ae57999a9a49f2553cb SHA512 f70f825b821f266caafd1b347066de01462b8256ec126072042d09dd7fd6c9324847d5ddab65671589d0a411f8b8fed428dbc94806ac679d646861c66c3a0dd5
diff --git a/dev-python/nautilus-python/files/nautilus-python-1.2.3-gcc10-fnocommon.patch b/dev-python/nautilus-python/files/nautilus-python-1.2.3-gcc10-fnocommon.patch
deleted file mode 100644
index 7e0f760aca2e..000000000000
--- a/dev-python/nautilus-python/files/nautilus-python-1.2.3-gcc10-fnocommon.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From bd4820186751034c6b5acb9c71b1aeab03c56523 Mon Sep 17 00:00:00 2001
-From: Andreas Henriksson <andreas@fatal.se>
-Date: Mon, 11 May 2020 14:57:45 +0200
-Subject: [PATCH] Fix build with gcc 10
-
-Bug-Debian: https://bugs.debian.org/957578
-Forwarded: https://gitlab.gnome.org/GNOME/nautilus-python/-/merge_requests/7
-Last-Update: 2020-05-11
----
- src/nautilus-python-object.c | 10 +++++-----
- src/nautilus-python.c | 13 +++++++++++++
- src/nautilus-python.h | 22 +++++++++++-----------
- 3 files changed, 29 insertions(+), 16 deletions(-)
-
-diff --git a/src/nautilus-python-object.c b/src/nautilus-python-object.c
-index f343070..da185ad 100644
---- a/src/nautilus-python-object.c
-+++ b/src/nautilus-python-object.c
-@@ -40,7 +40,7 @@ int __PyString_Check(PyObject *obj) {
- #endif
- }
-
--char* __PyString_AsString(PyObject *obj) {
-+const char* __PyString_AsString(PyObject *obj) {
- #if PY_MAJOR_VERSION >= 3
- return PyUnicode_AsUTF8(obj);
- #else
-@@ -389,7 +389,7 @@ beach:
- #define METHOD_NAME "update_file_info"
- static NautilusOperationResult
- nautilus_python_object_update_file_info (NautilusInfoProvider *provider,
-- NautilusFile *file,
-+ NautilusFileInfo *file_info,
- GClosure *update_complete,
- NautilusOperationHandle **handle) {
- NautilusPythonObject *object = (NautilusPythonObject*)provider;
-@@ -408,12 +408,12 @@ nautilus_python_object_update_file_info (NautilusInfoProvider *provider,
- pygobject_new((GObject*)provider),
- py_handle,
- pyg_boxed_new(G_TYPE_CLOSURE, update_complete, TRUE, TRUE),
-- pygobject_new((GObject*)file));
-+ pygobject_new((GObject*)file_info));
- }
- else if (PyObject_HasAttrString(object->instance, "update_file_info")) {
- py_ret = PyObject_CallMethod(object->instance,
- METHOD_PREFIX METHOD_NAME, "(N)",
-- pygobject_new((GObject*)file));
-+ pygobject_new((GObject*)file_info));
- }
- else {
- goto beach;
-@@ -434,7 +434,7 @@ nautilus_python_object_update_file_info (NautilusInfoProvider *provider,
- #endif
-
- beach:
-- free_pygobject_data(file, NULL);
-+ free_pygobject_data(file_info, NULL);
- Py_XDECREF(py_ret);
- pyg_gil_state_release(state);
- return ret;
-diff --git a/src/nautilus-python.c b/src/nautilus-python.c
-index 843e3c6..510cdfb 100644
---- a/src/nautilus-python.c
-+++ b/src/nautilus-python.c
-@@ -22,6 +22,7 @@
- #endif
-
- #include <Python.h>
-+#define NO_IMPORT_PYGOBJECT //To avoid a multiple definition, nautilus-python-object.c also includes and does the import.
- #include <pygobject.h>
- #include <gmodule.h>
- #include <gtk/gtk.h>
-@@ -42,6 +43,18 @@ static gboolean nautilus_python_init_python(void);
- static GArray *all_types = NULL;
-
-
-+PyTypeObject *_PyGtkWidget_Type;
-+PyTypeObject *_PyNautilusColumn_Type;
-+PyTypeObject *_PyNautilusColumnProvider_Type;
-+PyTypeObject *_PyNautilusInfoProvider_Type;
-+PyTypeObject *_PyNautilusLocationWidgetProvider_Type;
-+PyTypeObject *_PyNautilusMenu_Type;
-+PyTypeObject *_PyNautilusMenuItem_Type;
-+PyTypeObject *_PyNautilusMenuProvider_Type;
-+PyTypeObject *_PyNautilusPropertyPage_Type;
-+PyTypeObject *_PyNautilusPropertyPageProvider_Type;
-+PyTypeObject *_PyNautilusOperationHandle_Type;
-+
- static inline gboolean
- np_init_pygobject(void) {
- PyObject *gobject = pygobject_init (PYGOBJECT_MAJOR_VERSION, PYGOBJECT_MINOR_VERSION, PYGOBJECT_MICRO_VERSION);
-diff --git a/src/nautilus-python.h b/src/nautilus-python.h
-index 4c181f8..c940a06 100644
---- a/src/nautilus-python.h
-+++ b/src/nautilus-python.h
-@@ -43,37 +43,37 @@ extern NautilusPythonDebug nautilus_python_debug;
- #define debug_enter_args(x, y) { if (nautilus_python_debug & NAUTILUS_PYTHON_DEBUG_MISC) \
- g_printf("%s: entered " x "\n", __FUNCTION__, y); }
-
--PyTypeObject *_PyGtkWidget_Type;
-+extern PyTypeObject *_PyGtkWidget_Type;
- #define PyGtkWidget_Type (*_PyGtkWidget_Type)
-
--PyTypeObject *_PyNautilusColumn_Type;
-+extern PyTypeObject *_PyNautilusColumn_Type;
- #define PyNautilusColumn_Type (*_PyNautilusColumn_Type)
-
--PyTypeObject *_PyNautilusColumnProvider_Type;
-+extern PyTypeObject *_PyNautilusColumnProvider_Type;
- #define PyNautilusColumnProvider_Type (*_PyNautilusColumnProvider_Type)
-
--PyTypeObject *_PyNautilusInfoProvider_Type;
-+extern PyTypeObject *_PyNautilusInfoProvider_Type;
- #define PyNautilusInfoProvider_Type (*_PyNautilusInfoProvider_Type)
-
--PyTypeObject *_PyNautilusLocationWidgetProvider_Type;
-+extern PyTypeObject *_PyNautilusLocationWidgetProvider_Type;
- #define PyNautilusLocationWidgetProvider_Type (*_PyNautilusLocationWidgetProvider_Type)
-
--PyTypeObject *_PyNautilusMenu_Type;
-+extern PyTypeObject *_PyNautilusMenu_Type;
- #define PyNautilusMenu_Type (*_PyNautilusMenu_Type)
-
--PyTypeObject *_PyNautilusMenuItem_Type;
-+extern PyTypeObject *_PyNautilusMenuItem_Type;
- #define PyNautilusMenuItem_Type (*_PyNautilusMenuItem_Type)
-
--PyTypeObject *_PyNautilusMenuProvider_Type;
-+extern PyTypeObject *_PyNautilusMenuProvider_Type;
- #define PyNautilusMenuProvider_Type (*_PyNautilusMenuProvider_Type)
-
--PyTypeObject *_PyNautilusPropertyPage_Type;
-+extern PyTypeObject *_PyNautilusPropertyPage_Type;
- #define PyNautilusPropertyPage_Type (*_PyNautilusPropertyPage_Type)
-
--PyTypeObject *_PyNautilusPropertyPageProvider_Type;
-+extern PyTypeObject *_PyNautilusPropertyPageProvider_Type;
- #define PyNautilusPropertyPageProvider_Type (*_PyNautilusPropertyPageProvider_Type)
-
--PyTypeObject *_PyNautilusOperationHandle_Type;
-+extern PyTypeObject *_PyNautilusOperationHandle_Type;
- #define PyNautilusOperationHandle_Type (*_PyNautilusOperationHandle_Type)
-
- #endif /* NAUTILUS_PYTHON_H */
---
-2.26.2
-
diff --git a/dev-python/nautilus-python/metadata.xml b/dev-python/nautilus-python/metadata.xml
index f453528b934f..6bd821e4a103 100644
--- a/dev-python/nautilus-python/metadata.xml
+++ b/dev-python/nautilus-python/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/nautilus-python</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/nautilus-python/nautilus-python-1.2.3-r1.ebuild b/dev-python/nautilus-python/nautilus-python-1.2.3-r1.ebuild
deleted file mode 100644
index e51196b9f0b9..000000000000
--- a/dev-python/nautilus-python/nautilus-python-1.2.3-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GNOME2_LA_PUNT="yes"
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit gnome2 python-single-r1
-
-DESCRIPTION="Python bindings for the Nautilus file manager"
-HOMEPAGE="https://projects.gnome.org/nautilus-python/"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm64 x86"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# Require pygobject:3 and USE=introspection on nautilus for sanity,
-# because no (user) plugins could work without them; configure itself
-# requires pygobject:3 or :2 and >=nautilus-2.32
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- ')
- >=gnome-base/nautilus-3[introspection]
- ${PYTHON_DEPS}
-"
-DEPEND="${RDEPEND}
- >=dev-util/gtk-doc-am-1.14
- virtual/pkgconfig
-"
-
-# https://gitlab.gnome.org/GNOME/nautilus-python/-/merge_requests/7
-PATCHES=( "${FILESDIR}"/${P}-gcc10-fnocommon.patch )
-
-src_install() {
- gnome2_src_install
- # Directory for systemwide extensions
- keepdir /usr/share/nautilus-python/extensions
-}
diff --git a/dev-python/nautilus-python/nautilus-python-4.0.1.ebuild b/dev-python/nautilus-python/nautilus-python-4.0.1.ebuild
new file mode 100644
index 000000000000..549f843e14db
--- /dev/null
+++ b/dev-python/nautilus-python/nautilus-python-4.0.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit gnome2 meson python-single-r1
+
+DESCRIPTION="Python bindings for the Nautilus file manager"
+HOMEPAGE="https://projects.gnome.org/nautilus-python/"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 ~x86"
+IUSE="gtk-doc"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Require pygobject:3 and USE=introspection on nautilus for sanity,
+# because no (user) plugins could work without them; meson.build
+# requires pygobject:3 and >=nautilus-43.0
+RDEPEND="
+ >=dev-libs/glib-2.44:2
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ >=gnome-base/nautilus-43.0[introspection]
+ ${PYTHON_DEPS}
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ gtk-doc? ( dev-util/gtk-doc )
+ >=dev-build/gtk-doc-am-1.14
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature gtk-doc docs)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ mv "${ED}/usr/share/doc/${PN}/"* "${ED}/usr/share/doc/${P}" || die
+ rm -d "${ED}/usr/share/doc/${PN}" || die
+
+ # Directory for systemwide extensions
+ keepdir /usr/share/nautilus-python/extensions
+}
diff --git a/dev-python/nautilus-python/nautilus-python-4.0.ebuild b/dev-python/nautilus-python/nautilus-python-4.0.ebuild
new file mode 100644
index 000000000000..b69fde0145da
--- /dev/null
+++ b/dev-python/nautilus-python/nautilus-python-4.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit gnome2 meson python-single-r1
+
+DESCRIPTION="Python bindings for the Nautilus file manager"
+HOMEPAGE="https://projects.gnome.org/nautilus-python/"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+IUSE="gtk-doc"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Require pygobject:3 and USE=introspection on nautilus for sanity,
+# because no (user) plugins could work without them; meson.build
+# requires pygobject:3 and >=nautilus-43.0
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ >=gnome-base/nautilus-43.0[introspection]
+ ${PYTHON_DEPS}
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ gtk-doc? ( dev-util/gtk-doc )
+ >=dev-build/gtk-doc-am-1.14
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature gtk-doc docs)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ mv "${ED}/usr/share/doc/${PN}/"* "${ED}/usr/share/doc/${P}" || die
+ rm -d "${ED}/usr/share/doc/${PN}" || die
+
+ # Directory for systemwide extensions
+ keepdir /usr/share/nautilus-python/extensions
+}
diff --git a/dev-python/nbclassic/Manifest b/dev-python/nbclassic/Manifest
index da66ecf0d3f8..3012650e398e 100644
--- a/dev-python/nbclassic/Manifest
+++ b/dev-python/nbclassic/Manifest
@@ -1 +1 @@
-DIST nbclassic-0.3.7.tar.gz 15973 BLAKE2B a26a975fa8711c41a199e0b88b5ec83aefa4b812fce6ab4a765aa4920fae6b863519dbae556d663bf761a866a26ee6fe7c322c947312b89770a34f2a5b570455 SHA512 3ceaeeafa7e56d17cda29e4c86b4cb5f44517721b47e41ad1ac535704b8f460d88a5feb280ad8a9cef78366581e08c94837cab4ef2eae8dbce2ded183a787ea2
+DIST nbclassic-1.0.0.tar.gz 20201455 BLAKE2B 8d87668cdf2347c6d9dcc7f335d9bf346c1622217b71c18a91f7703f90ab5d2c71830f9743d6b408033ab153fe7180a9f07edc016704b9d0469bbf15c1641ef8 SHA512 fc80cd6311ab9cac9e0fdcf4d37cffc383c90327da8c27901239b84486e4afe23372665b0e1464ec78845816e829c4f3cf8672b4a0ad7e396fdb962b2f4f5a1b
diff --git a/dev-python/nbclassic/metadata.xml b/dev-python/nbclassic/metadata.xml
index 434ef7ba1288..4479f2c3a472 100644
--- a/dev-python/nbclassic/metadata.xml
+++ b/dev-python/nbclassic/metadata.xml
@@ -8,6 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">nbclassic</remote-id>
- <remote-id type="github">jupyterlab/nbclassic</remote-id>
+ <remote-id type="github">jupyter/nbclassic</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/nbclassic/nbclassic-0.3.7.ebuild b/dev-python/nbclassic/nbclassic-0.3.7.ebuild
deleted file mode 100644
index 1e6c6948383c..000000000000
--- a/dev-python/nbclassic/nbclassic-0.3.7.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_PEP517=jupyter
-inherit distutils-r1
-
-DESCRIPTION="Jupyter Notebook as a Jupyter Server Extension"
-HOMEPAGE="https://jupyter.org/"
-SRC_URI="https://github.com/jupyterlab/nbclassic/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/jupyter_server-1.8[${PYTHON_USEDEP}]
- <dev-python/notebook-7[${PYTHON_USEDEP}]
- >=dev-python/notebook_shim-0.1.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
- dev-python/pytest-tornasync[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- distutils-r1_python_install_all
- # move /usr/etc stuff to /etc
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
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 d2413da27530..75f383a77563 100644
--- a/dev-python/nbclient/Manifest
+++ b/dev-python/nbclient/Manifest
@@ -1 +1 @@
-DIST nbclient-0.6.6.gh.tar.gz 78247 BLAKE2B 06793fe792dcb8606d74e85a7a5c4d8f3ba850f81191bf205706e404e67bfe3d6914dff5790c5d6dca62d7797482518b5d87b06da34f06a5cb44a8a0ff6855e4 SHA512 8ca0333a47920994d8afe7c8943b366d4669e7ad91daab1a36c57480b70e51dfd05c7cd44acd2a2005b8c0a6b41c4fe6be0fc22b75a3efe291e9c35dd334643c
+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.6.6.ebuild b/dev-python/nbclient/nbclient-0.6.6.ebuild
deleted file mode 100644
index 857a17b52553..000000000000
--- a/dev-python/nbclient/nbclient-0.6.6.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/jupyter_client-6.1.5[${PYTHON_USEDEP}]
- >=dev-python/nbformat-5.0[${PYTHON_USEDEP}]
- dev-python/nest_asyncio[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.2.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/testpath[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- 'nbclient/tests/test_client.py::test_run_all_notebooks[Interrupt.ipynb-opts6]'
-)
diff --git a/dev-python/nbconvert/Manifest b/dev-python/nbconvert/Manifest
index 272b192caddc..fa0044cf08df 100644
--- a/dev-python/nbconvert/Manifest
+++ b/dev-python/nbconvert/Manifest
@@ -1 +1,2 @@
-DIST nbconvert-6.5.0.tar.gz 908377 BLAKE2B a91c6c93e9e33f90c5c7f19743e20aa6cf88e5dd29be4ee777744d96037dddd15294858776c8391d79f5436e929fb1b623a3f11f6c4cbcf60728dba2204b6e2e SHA512 4e0d26d581435525f819c05207890cc7cbeaff786a16c354f0356c9bc50111a724a92b7e15445a0cf0ebf1e1c2f0ff064a2c8722267f66dd8677ad82b5e61714
+DIST nbconvert-7.16.3.tar.gz 854257 BLAKE2B 77bf80e4e7ed93b3aa3731cf74e84a9e1e588c2a43a6d83dafd3511690fa2e9e040344251d4544c0e4e7e1546907be31d065d7bbce2818abbbc4a41c8d6de15d SHA512 571c56fe172586d0929c986cc40aa42687e30d98cf13ba4053535efe3d0353c4c137ae85d6445038c6611479ea30ed438b91dffdf7e4b145e92ae5e4f450d42c
+DIST nbconvert-7.16.4.tar.gz 854422 BLAKE2B f04a8fbffde70e08736d13a3db3278c9248f742b27688eb56760b9ff46c58aec63aa05a4cff256e5929009c3f76d760ce71209f3c49b40af374f06b073ddd661 SHA512 f9793ce89f18530492e1e9aeba3759ac6ae8aa8e0459be52928689a58b0d816128d275bdf9061ec9f33a047e0b6c8d4d83e5a81da556700e0add48374f15fcd8
diff --git a/dev-python/nbconvert/files/nbconvert-6.5.0-mistune-2.patch b/dev-python/nbconvert/files/nbconvert-6.5.0-mistune-2.patch
deleted file mode 100644
index 4a3f4731b32d..000000000000
--- a/dev-python/nbconvert/files/nbconvert-6.5.0-mistune-2.patch
+++ /dev/null
@@ -1,339 +0,0 @@
-From 6e5ba41803cc8c3192f001b3ede9b74454220bda Mon Sep 17 00:00:00 2001
-From: Tiago de Paula <tiagodepalves@gmail.com>
-Date: Mon, 9 May 2022 09:39:31 -0300
-Subject: [PATCH] Update to Mistune 2.0.2 (#1764)
-
-Co-authored-by: Steven Silvester <steven.silvester@ieee.org>
----
- nbconvert/filters/markdown_mistune.py | 212 ++++++++++++++------------
- setup.py | 2 +-
- 2 files changed, 119 insertions(+), 95 deletions(-)
-
-diff --git a/nbconvert/filters/markdown_mistune.py b/nbconvert/filters/markdown_mistune.py
-index 382a5388..636e1e8c 100644
---- a/nbconvert/filters/markdown_mistune.py
-+++ b/nbconvert/filters/markdown_mistune.py
-@@ -21,7 +21,7 @@ except ImportError:
- from cgi import escape as html_escape
-
- import bs4
--import mistune
-+from mistune import BlockParser, HTMLRenderer, InlineParser, Markdown
- from pygments import highlight
- from pygments.formatters import HtmlFormatter
- from pygments.lexers import get_lexer_by_name
-@@ -34,158 +34,183 @@ class InvalidNotebook(Exception):
- pass
-
-
--class MathBlockGrammar(mistune.BlockGrammar):
-- """This defines a single regex comprised of the different patterns that
-- identify math content spanning multiple lines. These are used by the
-- MathBlockLexer.
-+class MathBlockParser(BlockParser):
-+ """This acts as a pass-through to the MathInlineParser. It is needed in
-+ order to avoid other block level rules splitting math sections apart.
- """
-
-- multi_math_str = "|".join(
-- [r"^\$\$.*?\$\$", r"^\\\\\[.*?\\\\\]", r"^\\begin\{([a-z]*\*?)\}(.*?)\\end\{\1\}"]
-+ MULTILINE_MATH = re.compile(
-+ r"(?<!\\)[$]{2}.*?(?<!\\)[$]{2}|"
-+ r"\\\\\[.*?\\\\\]|"
-+ r"\\begin\{([a-z]*\*?)\}.*?\\end\{\1\}",
-+ re.DOTALL,
- )
-- multiline_math = re.compile(multi_math_str, re.DOTALL)
-
-+ RULE_NAMES = ("multiline_math",) + BlockParser.RULE_NAMES
-
--class MathBlockLexer(mistune.BlockLexer):
-- """This acts as a pass-through to the MathInlineLexer. It is needed in
-- order to avoid other block level rules splitting math sections apart.
-- """
-+ # Regex for header that doesn't require space after '#'
-+ AXT_HEADING = re.compile(r" {0,3}(#{1,6})(?!#+)\s*([^\n]*?)$")
-
-- default_rules = ["multiline_math"] + mistune.BlockLexer.default_rules
-+ def parse_multiline_math(self, m, state):
-+ """Pass token through mutiline math."""
-+ return {"type": "multiline_math", "text": m.group(0)}
-
-- def __init__(self, rules=None, **kwargs):
-- if rules is None:
-- rules = MathBlockGrammar()
-- super().__init__(rules, **kwargs)
-
-- def parse_multiline_math(self, m):
-- """Add token to pass through mutiline math."""
-- self.tokens.append({"type": "multiline_math", "text": m.group(0)})
-+def _dotall(pattern):
-+ """Make the '.' special character match any character inside the pattern, including a newline.
-
--
--class MathInlineGrammar(mistune.InlineGrammar):
-- """This defines different ways of declaring math objects that should be
-- passed through to mathjax unaffected. These are used by the MathInlineLexer.
-+ This is implemented with the inline flag `(?s:...)` and is equivalent to using `re.DOTALL` when
-+ it is the only pattern used. It is necessary since `mistune>=2.0.0`, where the pattern is passed
-+ to the undocumented `re.Scanner`.
- """
--
-- inline_math = re.compile(r"^\$(.+?)\$|^\\\\\((.+?)\\\\\)", re.DOTALL)
-- block_math = re.compile(r"^\$\$(.*?)\$\$|^\\\\\[(.*?)\\\\\]", re.DOTALL)
-- latex_environment = re.compile(r"^\\begin\{([a-z]*\*?)\}(.*?)\\end\{\1\}", re.DOTALL)
-- text = re.compile(r"^[\s\S]+?(?=[\\<!\[_*`~$]|https?://| {2,}\n|$)")
-+ return f"(?s:{pattern})"
-
-
--class MathInlineLexer(mistune.InlineLexer):
-- r"""This interprets the content of LaTeX style math objects using the rules
-- defined by the MathInlineGrammar.
-+class MathInlineParser(InlineParser):
-+ r"""This interprets the content of LaTeX style math objects.
-
- In particular this grabs ``$$...$$``, ``\\[...\\]``, ``\\(...\\)``, ``$...$``,
- and ``\begin{foo}...\end{foo}`` styles for declaring mathematics. It strips
- delimiters from all these varieties, and extracts the type of environment
- in the last case (``foo`` in this example).
- """
-- default_rules = [
-- "block_math",
-- "inline_math",
-+ BLOCK_MATH_TEX = _dotall(r"(?<!\\)\$\$(.*?)(?<!\\)\$\$")
-+ BLOCK_MATH_LATEX = _dotall(r"(?<!\\)\\\\\[(.*?)(?<!\\)\\\\\]")
-+ INLINE_MATH_TEX = _dotall(r"(?<![$\\])\$(.+?)(?<![$\\])\$")
-+ INLINE_MATH_LATEX = _dotall(r"(?<!\\)\\\\\((.*?)(?<!\\)\\\\\)")
-+ LATEX_ENVIRONMENT = _dotall(r"\\begin\{([a-z]*\*?)\}(.*?)\\end\{\1\}")
-+
-+ # The order is important here
-+ RULE_NAMES = (
-+ "block_math_tex",
-+ "block_math_latex",
-+ "inline_math_tex",
-+ "inline_math_latex",
- "latex_environment",
-- ] + mistune.InlineLexer.default_rules
--
-- def __init__(self, renderer, rules=None, **kwargs):
-- if rules is None:
-- rules = MathInlineGrammar()
-- super().__init__(renderer, rules, **kwargs)
--
-- def output_inline_math(self, m):
-- return self.renderer.inline_math(m.group(1) or m.group(2))
--
-- def output_block_math(self, m):
-- return self.renderer.block_math(m.group(1) or m.group(2) or "")
--
-- def output_latex_environment(self, m):
-- return self.renderer.latex_environment(m.group(1), m.group(2))
--
--
--class MarkdownWithMath(mistune.Markdown):
-- def __init__(self, renderer, **kwargs):
-- if "inline" not in kwargs:
-- kwargs["inline"] = MathInlineLexer
-- if "block" not in kwargs:
-- kwargs["block"] = MathBlockLexer
-- super().__init__(renderer, **kwargs)
--
-- def output_multiline_math(self):
-- return self.inline(self.token["text"])
--
--
--class IPythonRenderer(mistune.Renderer):
-- def block_code(self, code, lang):
-- if lang:
-+ ) + InlineParser.RULE_NAMES
-+
-+ def parse_block_math_tex(self, m, state):
-+ # sometimes the Scanner keeps the final '$$', so we use the
-+ # full matched string and remove the math markers
-+ text = m.group(0)[2:-2]
-+ return "block_math", text
-+
-+ def parse_block_math_latex(self, m, state):
-+ text = m.group(1)
-+ return "block_math", text
-+
-+ def parse_inline_math_tex(self, m, state):
-+ text = m.group(1)
-+ return "inline_math", text
-+
-+ def parse_inline_math_latex(self, m, state):
-+ text = m.group(1)
-+ return "inline_math", text
-+
-+ def parse_latex_environment(self, m, state):
-+ name, text = m.group(1), m.group(2)
-+ return "latex_environment", name, text
-+
-+
-+class MarkdownWithMath(Markdown):
-+ def __init__(self, renderer, block=None, inline=None, plugins=None):
-+ if block is None:
-+ block = MathBlockParser()
-+ if inline is None:
-+ inline = MathInlineParser(renderer, hard_wrap=False)
-+ super().__init__(renderer, block, inline, plugins)
-+
-+ def render(self, s):
-+ """Compatibility method with `mistune==0.8.4`."""
-+ return self.parse(s)
-+
-+
-+class IPythonRenderer(HTMLRenderer):
-+ def __init__(
-+ self,
-+ escape=True,
-+ allow_harmful_protocols=True,
-+ embed_images=False,
-+ exclude_anchor_links=False,
-+ anchor_link_text="¶",
-+ path="",
-+ attachments=None,
-+ ):
-+ super().__init__(escape, allow_harmful_protocols)
-+ self.embed_images = embed_images
-+ self.exclude_anchor_links = exclude_anchor_links
-+ self.anchor_link_text = anchor_link_text
-+ self.path = path
-+ if attachments is not None:
-+ self.attachments = attachments
-+ else:
-+ self.attachments = {}
-+
-+ def block_code(self, code, info=None):
-+ if info:
- try:
-+ lang = info.strip().split(None, 1)[0]
- lexer = get_lexer_by_name(lang, stripall=True)
- except ClassNotFound:
- code = lang + "\n" + code
- lang = None
-
- if not lang:
-- return "\n<pre><code>%s</code></pre>\n" % mistune.escape(code)
-+ return super().block_code(code)
-
- formatter = HtmlFormatter()
- return highlight(code, lexer, formatter)
-
- def block_html(self, html):
-- embed_images = self.options.get("embed_images", False)
--
-- if embed_images:
-+ if self.embed_images:
- html = self._html_embed_images(html)
-
- return super().block_html(html)
-
- def inline_html(self, html):
-- embed_images = self.options.get("embed_images", False)
--
-- if embed_images:
-+ if self.embed_images:
- html = self._html_embed_images(html)
-
- return super().inline_html(html)
-
-- def header(self, text, level, raw=None):
-- html = super().header(text, level, raw=raw)
-- if self.options.get("exclude_anchor_links"):
-+ def heading(self, text, level):
-+ html = super().heading(text, level)
-+ if self.exclude_anchor_links:
- return html
-- anchor_link_text = self.options.get("anchor_link_text", "¶")
-- return add_anchor(html, anchor_link_text=anchor_link_text)
-+ return add_anchor(html, anchor_link_text=self.anchor_link_text)
-
- def escape_html(self, text):
- return html_escape(text)
-
-+ def multiline_math(self, text):
-+ return text
-+
- def block_math(self, text):
-- return "$$%s$$" % self.escape_html(text)
-+ return f"$${self.escape_html(text)}$$"
-
- def latex_environment(self, name, text):
-- name = self.escape_html(name)
-- text = self.escape_html(text)
-- return rf"\begin{{{name}}}{text}\end{{{name}}}"
-+ name, text = self.escape_html(name), self.escape_html(text)
-+ return f"\\begin{{{name}}}{text}\\end{{{name}}}"
-
- def inline_math(self, text):
-- return "$%s$" % self.escape_html(text)
-+ return f"${self.escape_html(text)}$"
-
-- def image(self, src, title, text):
-+ def image(self, src, text, title):
- """Rendering a image with title and text.
-
- :param src: source link of the image.
-- :param title: title text of the image.
- :param text: alt text of the image.
-+ :param title: title text of the image.
- """
-- attachments = self.options.get("attachments", {})
- attachment_prefix = "attachment:"
-- embed_images = self.options.get("embed_images", False)
-
- if src.startswith(attachment_prefix):
- name = src[len(attachment_prefix) :]
-
-- if name not in attachments:
-+ if name not in self.attachments:
- raise InvalidNotebook(f"missing attachment: {name}")
-
-- attachment = attachments[name]
-+ attachment = self.attachments[name]
- # we choose vector over raster, and lossless over lossy
- preferred_mime_types = ["image/svg+xml", "image/png", "image/jpeg"]
- for preferred_mime_type in preferred_mime_types:
-@@ -197,13 +222,13 @@ class IPythonRenderer(mistune.Renderer):
- data = attachment[mime_type]
- src = "data:" + mime_type + ";base64," + data
-
-- elif embed_images:
-+ elif self.embed_images:
- base64_url = self._src_to_base64(src)
-
- if base64_url is not None:
- src = base64_url
-
-- return super().image(src, title, text)
-+ return super().image(src, text, title)
-
- def _src_to_base64(self, src):
- """Turn the source file into a base64 url.
-@@ -211,8 +236,7 @@ class IPythonRenderer(mistune.Renderer):
- :param src: source link of the file.
- :return: the base64 url or None if the file was not found.
- """
-- path = self.options.get("path", "")
-- src_path = os.path.join(path, src)
-+ src_path = os.path.join(self.path, src)
-
- if not os.path.exists(src_path):
- return None
-diff --git a/setup.py b/setup.py
-index 7220a875..2dfa2534 100644
---- a/setup.py
-+++ b/setup.py
-@@ -245,7 +245,7 @@ setup_args["install_requires"] = [
- "jupyter_core>=4.7",
- "jupyterlab_pygments",
- "MarkupSafe>=2.0",
-- "mistune>=0.8.1,<2",
-+ "mistune>=2.0.2",
- "nbclient>=0.5.0",
- "nbformat>=5.1",
- "packaging",
---
-2.35.1
-
diff --git a/dev-python/nbconvert/nbconvert-6.5.0-r1.ebuild b/dev-python/nbconvert/nbconvert-6.5.0-r1.ebuild
deleted file mode 100644
index 548aa27d3dad..000000000000
--- a/dev-python/nbconvert/nbconvert-6.5.0-r1.ebuild
+++ /dev/null
@@ -1,82 +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_{8..10} )
-
-inherit distutils-r1
-
-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 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/bleach[${PYTHON_USEDEP}]
- dev-python/defusedxml[${PYTHON_USEDEP}]
- >=dev-python/entrypoints-0.2.2[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/jupyter_core[${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[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/pandocfilters-1.4.1[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.1.1[${PYTHON_USEDEP}]
- dev-python/testpath[${PYTHON_USEDEP}]
- www-servers/tornado[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pebble[${PYTHON_USEDEP}]
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- >=dev-python/jupyter_client-4.2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-mistune-2.patch
-)
-
-src_test() {
- mkdir -p "${HOME}/.local" || die
- cp -r share "${HOME}/.local/" || die
- 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'
- )
-
- epytest --pyargs nbconvert
-}
-
-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-6.5.0-r2.ebuild b/dev-python/nbconvert/nbconvert-6.5.0-r2.ebuild
deleted file mode 100644
index 1ff7e9b6c3c5..000000000000
--- a/dev-python/nbconvert/nbconvert-6.5.0-r2.ebuild
+++ /dev/null
@@ -1,83 +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_{8..10} )
-
-inherit distutils-r1
-
-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 ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/bleach[${PYTHON_USEDEP}]
- dev-python/defusedxml[${PYTHON_USEDEP}]
- >=dev-python/entrypoints-0.2.2[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/jupyter_core[${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[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/pandocfilters-1.4.1[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/tinycss2[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.1.1[${PYTHON_USEDEP}]
- dev-python/testpath[${PYTHON_USEDEP}]
- www-servers/tornado[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pebble[${PYTHON_USEDEP}]
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- >=dev-python/jupyter_client-4.2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-mistune-2.patch
-)
-
-src_test() {
- mkdir -p "${HOME}/.local" || die
- cp -r share "${HOME}/.local/" || die
- 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'
- )
-
- epytest --pyargs nbconvert
-}
-
-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.16.4.ebuild b/dev-python/nbconvert/nbconvert-7.16.4.ebuild
new file mode 100644
index 000000000000..90b36a68a170
--- /dev/null
+++ b/dev-python/nbconvert/nbconvert-7.16.4.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..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/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 f4d2cdfa60ff..000000000000
--- a/dev-python/nbdime/nbdime-3.1.1-r1.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
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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}]
- www-servers/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 e50566c9192b..801b196148ab 100644
--- a/dev-python/nbformat/Manifest
+++ b/dev-python/nbformat/Manifest
@@ -1 +1,2 @@
-DIST nbformat-5.4.0.gh.tar.gz 134574 BLAKE2B f61275ad501381f05dc22a79f24c175fa71610f09cf125a40aaa90d0e02d3b27d82d918c1036b0516d4f879609f65c1ce62de86b033012e25d353af453828b2e SHA512 f601438193bfcb11f1ceed74995ab6862ff8c916f9bddabe38fd70bb997f4407bede4318ae7034d75424b20b75846010ddda2a45b8fe8de6dd9310617b00fb9d
+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
new file mode 100644
index 000000000000..dc2bfb7c0ab7
--- /dev/null
+++ b/dev-python/nbformat/files/nbformat-5.7.1-no-node.patch
@@ -0,0 +1,27 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index e30d156..97e57de 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,10 +1,10 @@
+ [build-system]
+-requires = ["hatchling>=1.5", "hatch-nodejs-version"]
++requires = ["hatchling>=1.5"]
+ build-backend = "hatchling.build"
+
+ [project]
+ name = "nbformat"
+-dynamic = ["version"]
++version = "5.10.3"
+ description = "The Jupyter Notebook format"
+ license = { file = "COPYING.md" }
+ keywords = ["Interactive", "Interpreter", "Shell", "Web"]
+@@ -58,9 +58,6 @@ test = [
+ [project.scripts]
+ jupyter-trust = "nbformat.sign:TrustNotebookApp.launch_instance"
+
+-[tool.hatch.version]
+-source = "nodejs"
+-
+ [tool.hatch.envs.docs]
+ features = ["docs"]
+ [tool.hatch.envs.docs.scripts]
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..a57a73f984eb
--- /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 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/fastjsonschema-2.15[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.6[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-5.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-nodejs-version[${PYTHON_USEDEP}]
+ test? (
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/pydata-sphinx-theme \
+ dev-python/sphinxcontrib-github-alt \
+ dev-python/sphinxcontrib-spelling
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # requires pep440 package, which is not really relevant for us
+ tests/test_api.py
+)
diff --git a/dev-python/nbformat/nbformat-5.4.0.ebuild b/dev-python/nbformat/nbformat-5.4.0.ebuild
deleted file mode 100644
index 4fd7bd5ef555..000000000000
--- a/dev-python/nbformat/nbformat-5.4.0.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-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 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/nbsphinx/Manifest b/dev-python/nbsphinx/Manifest
index 13970bb75d3a..3345f43faaf5 100644
--- a/dev-python/nbsphinx/Manifest
+++ b/dev-python/nbsphinx/Manifest
@@ -1 +1,2 @@
-DIST nbsphinx-0.8.9.tar.gz 177348 BLAKE2B 9571813137832a81bc5eeb0882711df0a37ee492de1c8c65aab755636d614239e9cf961d57baf0eec05b8070a915213beae5ae94cd21d1f0e1bb57726698951e SHA512 10240ea849929579d2f76a0fdf5045cc9fca7d31c05b3a4073bb7aae67446c7be807a2d1afde60396926499bd42f1a9b514f5594c457eb5070d32126e5340309
+DIST nbsphinx-0.9.3.tar.gz 171956 BLAKE2B 404e1692259b963f5ad9ad1ad370da1ff21ad93ac6b1081256d18cd66e2057eba8b4fec5e6ea987f73c3dea2a197108de6388e26b22eef46a8dd29800db4554d SHA512 a1dd3f96b1a7ad38cbe860eab620dda859fdad3bc22d07ddd4fc1bb9a3c7e9f66d24412370cb7701182d31870153e6388381574359356a1f0a0055111b404a7a
+DIST nbsphinx-0.9.4.tar.gz 179315 BLAKE2B 727e2d6e70bec199159940afdfc92409124d940e4a1bcfd0288e779c5ac9be41802e5f347d486df0ec54a641cc82b6e5cfecbdcf4dc3dbacf74d0a8c884b3018 SHA512 b643d749eef8ec8ac63594f75d38d13c7b623203f7a46d7190b5da2cc3a7882623a8cf54f240678488db1cf5e37091473002510079f7294a0bc5780982661c86
diff --git a/dev-python/nbsphinx/nbsphinx-0.8.9.ebuild b/dev-python/nbsphinx/nbsphinx-0.8.9.ebuild
deleted file mode 100644
index ad62d79a1aa6..000000000000
--- a/dev-python/nbsphinx/nbsphinx-0.8.9.ebuild
+++ /dev/null
@@ -1,29 +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_{8..10} )
-
-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/nbsphinx/nbsphinx-0.9.4.ebuild b/dev-python/nbsphinx/nbsphinx-0.9.4.ebuild
new file mode 100644
index 000000000000..bb191b4769e1
--- /dev/null
+++ b/dev-python/nbsphinx/nbsphinx-0.9.4.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Jupyter Notebook Tools for Sphinx"
+HOMEPAGE="
+ https://github.com/spatialaudio/nbsphinx/
+ https://pypi.org/project/nbsphinx/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/docutils-0.18.1[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-5.5[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.8[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/nbval/Manifest b/dev-python/nbval/Manifest
index 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 d5b82cd22c6d..000000000000
--- a/dev-python/nbval/nbval-0.9.6.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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/ndg-httpsclient/Manifest b/dev-python/ndg-httpsclient/Manifest
deleted file mode 100644
index 3aac79eb3cd3..000000000000
--- a/dev-python/ndg-httpsclient/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ndg_httpsclient-0.5.1.tar.gz 26665 BLAKE2B 1c7f0a8d41b945d2b2a51cd69397ab0943cb91e25013c931f055c5608bc3a0106a99d9b126e8caaac9f8d9b409ec117631fb23f19dfd3194b783548ce3536050 SHA512 b2b4c1b1df87ea1a94811b9ae831e7bf32af27258f487fd5ec319e0e6e0d79dfdb1f7bfadaf397d0693a8a7f0720df170a7fc946aaf10c82e3957ac5464f672e
diff --git a/dev-python/ndg-httpsclient/files/ndg-httpsclient-0.5.1-expiration-test-fix.patch b/dev-python/ndg-httpsclient/files/ndg-httpsclient-0.5.1-expiration-test-fix.patch
deleted file mode 100644
index b1328e89a6fd..000000000000
--- a/dev-python/ndg-httpsclient/files/ndg-httpsclient-0.5.1-expiration-test-fix.patch
+++ /dev/null
@@ -1,282 +0,0 @@
-Patch is from upstream:
-https://github.com/cedadev/ndg_httpsclient/commit/370c1ec9713e68f8d9f2cd9984cb42a269cea384
-
-Note that we drop the useless gen-csr.sh script for now, as it doesn't do everything
-we'd need it to anyway.
-diff --git a/ndg/httpsclient/test/pki/ca/7e15277f.0 b/ndg/httpsclient/test/pki/ca/7e15277f.0
-index b9b6ac9..9a4ab56 100644
---- a/ndg/httpsclient/test/pki/ca/7e15277f.0
-+++ b/ndg/httpsclient/test/pki/ca/7e15277f.0
-@@ -1,20 +1,30 @@
- -----BEGIN CERTIFICATE-----
--MIIDLjCCAhagAwIBAgIBATANBgkqhkiG9w0BAQsFADA3MRQwEgYDVQQDDAtOREcg
--VGVzdCBDQTEMMAoGA1UECgwDTkRHMREwDwYDVQQLDAhTZWN1cml0eTAeFw0xNjEy
--MTUyMTMyNDNaFw0yMTEyMTQyMTMyNDNaMDcxFDASBgNVBAMMC05ERyBUZXN0IENB
--MQwwCgYDVQQKDANOREcxETAPBgNVBAsMCFNlY3VyaXR5MIIBIjANBgkqhkiG9w0B
--AQEFAAOCAQ8AMIIBCgKCAQEAv8L7md7A3NvKIYndyjHV7f1xVH6gJ8JPrecxAiVs
--nidsYUm8saBV/dFf1jPMQ6hdjIuxLXlopLxThkHlCes/OTxLzBFLvFQQaxLExTsX
--OmgeM4q20a2JLTqkmItPIYDVTYgi0EaF+I9Z1BwWGEfYr3uTizpr48rnzpXgRwrZ
--rjRc53zLKpeqyBs7Qmg5Jlzmk/A+UWJ2ryCWLY9KFE3uPstybYpwq7YayD6upVwc
--vedhh+zpXU3E9r/cnlZ4sKSP2M1QSOTb2l5XnlOU/MLODYW70uItNqs1j1XPuHYh
--/ikO+jmjPUtL0IE47+LcaMU6BpaOCLzcjsSn/DDMYcDB7wIDAQABo0UwQzASBgNV
--HRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU9S+bGqsW
--uQzR/yHDdHoU6afNTE0wDQYJKoZIhvcNAQELBQADggEBAF2scAHd7xjgnJqAUX0b
--7f7QKjpuYHrt48tH+pFOh5j3IgdOqTgRLc/N8lEqoH4M0lKZKbBerM9FiQ4eXCwy
--3Rswn3wXPvi3HJGgvZYUt8J6KY5+syHU4iuzuSHOjznC0lLZkRz6kfZHX+paqro4
--1CsHhCt3ew17QMWEP6UtfZfBCg+kiEfBtSsTUIth0HgdH033PWh5v+nOzGN+3o2t
--ORlzpttV+0RLlsw54l51I6rCEnfKOKtEy491JUs2whUwzp9v8tG4jev3PDVWhSSS
--6jaSNvW4v7SDH0pnw52ZWzaRtA/pV/dCQOlqJ87wDNPdoVGpwqtYF/7Zdw2ty4gU
--oSM=
-+MIIFLjCCAxagAwIBAgIBATANBgkqhkiG9w0BAQsFADA3MRQwEgYDVQQDDAtOREcg
-+VGVzdCBDQTEMMAoGA1UECgwDTkRHMREwDwYDVQQLDAhTZWN1cml0eTAeFw0yMDAy
-+MjcxMDM4MDhaFw0yNTAyMjUxMDM4MDhaMDcxFDASBgNVBAMMC05ERyBUZXN0IENB
-+MQwwCgYDVQQKDANOREcxETAPBgNVBAsMCFNlY3VyaXR5MIICIjANBgkqhkiG9w0B
-+AQEFAAOCAg8AMIICCgKCAgEAoLeKc7StJLjyWuPBc+0pg8y5QJ4VQFzOc1jXbhqo
-+GugSvV/BpTqAPPCbd5hkET8nMIHkZ6EkXWNlxvYvrqKOKnrTvw3WUjEmsdoHkaXA
-+hq+v1IHbPbCQbB+RCCObuxlZ9Y72llUrODATb7dc9Odc4LCLPR/9+FjncB1d5b4x
-+Qt74VolID0dCd5dmMqy+lUYjsyLSycItmWcamdMEEPCop6AXlkAq3Q3eQDxaHtly
-+IOmyrYv2EWnFH5FRevhJdTnb48FdUTDya3T+BWpRqzF/Rh3NmI05JTbmSutCOs8m
-+SgSyi0JTNgaOaLlbtYVBLEkETUHPWABWwrXghIMIHaw3BZas2a9nlKE6zQSBxjsC
-+M/jJopgCDjLIxCw/SZ/Koovye/yvhMKYo71YnQCIv+1pIaL7GMrxMQZzrJiUVlpY
-+XtCyjx+5uiD4WuKCq6/aEKUd3o6ZdmNhkG8R0uBmivwxAmuMoMssCZC2GG7dBG+a
-+FlAG0OW+qzez4njjVwT7ePaO/ggRm6yJRNo7s3+SlEppV/orKLH4+O7FJm2HwTIB
-+Z3HSObrOJtjlcjM5pzhAFC4M0ul9vnCcnaFmhzB7bH7h8X7RaqECuHIhhfWTUiEP
-+f+riC5C962eGMqJH3zzPaXCKFVgyYXtphRZJYzf3oU4bGn69uumPl47McLd9lseR
-+uLkCAwEAAaNFMEMwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYw
-+HQYDVR0OBBYEFIYdooV3qYYhM6aq0LTBYQWA9j1BMA0GCSqGSIb3DQEBCwUAA4IC
-+AQAzqykz00ztLxbAEVc8QbfxMYVa5QYp4Ljdl7Wb4IPb4WY6fDkkJ1wRNg/KWZov
-+CkTsiFvQSG5eHEVDLPUjW4WJ+eJI3uPeNjUTB+9i88pjbLqP1VBeiNdpTcOAu4w8
-+cosK1wk6K3LNHATXZArD+8mHEFAHinuqlYwkBekIPBgMgbKr/WlaowV7fkIAUpxm
-+K2W7oLt3ZvWmFrsFcywLsyXmA8EC3d5svQ01YLHE7xJUcjatKSJyc+0dnMNy+ZZN
-+6NTPCefHwi5ShWWmkwtmvCChzePpYP/tBqkAIHLB7js2nHLZYtJYT1CqOGHdy3bL
-+DWHYU527Dj949K03/ZE8jkBqzQje5uAw9bqluydXXkAtMO8rMktIsEjZuMsyzD1b
-+Z8qdeHvwHQjnA1fvMuAO2QDTb8zGc8Mcn2/Jbj9ZD61cej75GWPIDolwSmMIA7fT
-+HyyD8NiOnqM1tGQZQWGTlwZidH6Z7jUASZd+J/+pVKyFmA6ecgo54/w/wTQSv/6S
-+ZWGp4ZYdjdpZ/coX2kbulej+Z3m0m4WB66LbvKD8zCYymRu5ULtS59QElliDKERS
-+U41awYtdgP/R/cz/SBoYxPvY/n1sOWT0mQp1+ctehDf+tDMirjOst71eq6n/85CR
-+NuP+k4yntJuzOjuxZ2MI8iuGDrqi/rFx2AhXXNCkCFDArw==
- -----END CERTIFICATE-----
-diff --git a/ndg/httpsclient/test/pki/ca/ca.key b/ndg/httpsclient/test/pki/ca/ca.key
-new file mode 100644
-index 0000000..4e79919
---- /dev/null
-+++ b/ndg/httpsclient/test/pki/ca/ca.key
-@@ -0,0 +1,52 @@
-+-----BEGIN PRIVATE KEY-----
-+MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQCgt4pztK0kuPJa
-+48Fz7SmDzLlAnhVAXM5zWNduGqga6BK9X8GlOoA88Jt3mGQRPycwgeRnoSRdY2XG
-+9i+uoo4qetO/DdZSMSax2geRpcCGr6/Ugds9sJBsH5EII5u7GVn1jvaWVSs4MBNv
-+t1z051zgsIs9H/34WOdwHV3lvjFC3vhWiUgPR0J3l2YyrL6VRiOzItLJwi2ZZxqZ
-+0wQQ8KinoBeWQCrdDd5APFoe2XIg6bKti/YRacUfkVF6+El1OdvjwV1RMPJrdP4F
-+alGrMX9GHc2YjTklNuZK60I6zyZKBLKLQlM2Bo5ouVu1hUEsSQRNQc9YAFbCteCE
-+gwgdrDcFlqzZr2eUoTrNBIHGOwIz+MmimAIOMsjELD9Jn8qii/J7/K+EwpijvVid
-+AIi/7WkhovsYyvExBnOsmJRWWlhe0LKPH7m6IPha4oKrr9oQpR3ejpl2Y2GQbxHS
-+4GaK/DECa4ygyywJkLYYbt0Eb5oWUAbQ5b6rN7PieONXBPt49o7+CBGbrIlE2juz
-+f5KUSmlX+isosfj47sUmbYfBMgFncdI5us4m2OVyMzmnOEAULgzS6X2+cJydoWaH
-+MHtsfuHxftFqoQK4ciGF9ZNSIQ9/6uILkL3rZ4YyokffPM9pcIoVWDJhe2mFFklj
-+N/ehThsafr266Y+Xjsxwt32Wx5G4uQIDAQABAoICADoHa08xyl57BM66c4wW8qlr
-+Dux857FwkP5m8ooHx/DHIJUN8Q5mnAzk102MUX1ErzK9g6nDLi0mCYaYN0k32lsO
-+NExEg8DzjEQlNBxrm6NF5he1t2KD0PGpSCWHLeCVW7zlHLXVFKDaAvqQW1j1/LwI
-+Io40ce/sscvyXofob0L03Pfp44HYufASU00ywDGHvLYeebttiCdeaeVmoo43Rr4X
-+eMzAaHmeW0QYRnXjD2lA2En/Qh6xcQJf5uqeoW9ZL8MBe18obC9Oc7Wi2NAWNB0t
-+/6D4RMziEK62WRiA2RNatNjBXugf3+WCH9HfxlNmHc6DV4kvviPZpbJS2WhVWRvx
-+8fgodN3nT6Rbl+bgc1yy8BUHzoBecRELStpZFapsYnEhXzXJkmLtwxVF5gIvVwMR
-+fKJKTFqpVzfD+XFP2VonbDrhgIHSEK3TtKmks7tkB/swz3ftIQiTvGq3Oca+22so
-+8P4xVRsmzAoyumeJgK0pW12hg891HKQzrcITiO2XO5TM+3RszOJq7/KSi4d7ebS0
-+Cd/+g0F3VrfI32VTQv2eS6YKHyHxzZIwq1OdRDQCl8ZCMUk72MpF80rjJfZCXgII
-+/Yq65ez60eW+JsF5Ua+jaSFfjAjQiFxLyUUZxY0yIybzNWsDeyy2+kqya+rvvc8c
-+3LQc0pkJiROaWXr6NOcBAoIBAQDPpv+RdON4DLA5DZjs9nDlh2Q9jxHoRPIcPVUJ
-+shQUILjCQxeYyeOww7g/p0BhA/3BHhJSxCKkvHbo3OD0S/G2TOmpHjifR9Lvv5vm
-+pN/t5EJYJHbXUIA7XKq9wHLvg8W1cA+RjPaGGlTIoCZNTXh11p741fUxdcNtOCPH
-+p+OBE1nVZFotpZllKafL6n4vRurwpt/Ip6pygCMKQ8fllkNmSX4UwXxNPBgJyO+J
-+mW1Vp2EMHqVOr5mZaj0hH6iddazsBIF2cFbz8bnP06kuhDqKzXQR6T2FelycFyfl
-+OH0vC1E6F/cr7YfDxcxSBrtHTnxmUk4vJc0nlT78FiLwH/dhAoIBAQDGIvw+t5ue
-+gG9DIEjd5eJyI9rCOdyMy67gavbkLywzzfAmIpD23zMoPp1yyhB1oXMGjWns5AJz
-+vZ+9I+aiLoxGHFumq5FnWgxq6GSOb+xgmL8SiwRSjjc850vGjkWRNpx7/hcD0T7m
-+qAAHxYOowtW4FRg4xmJM3YIK/NQ3gYz0Kqn61BnXwrbJSga91fTybtXqTIPCoK7G
-+cJQMIXijChl2HahtL2dn+e3VNktLmRqYcG1gGOcS0qZKgLikiZaXJobm87AHVB8J
-+gnpN7GjeQekilE6zYg1v9mJ4KGtn9jlc+z5in8M9gzxh1UMtJGmo7eLiKpxjnnI4
-+MmOqfmfvB7hZAoIBACfLyY8G59FKHTvR70z6rghPOlbR5IyvKfdfibyh9FcnLkGM
-+uij+CDUITXdlhmERcsBgEwLps/n+ZIucSUCIjXpyoxVWRWPBUBvCjQ5W6tOcu1pJ
-+Ir2BIBJAYDideWmNx4ZOQ62RZm2s/jK0/qIyBrQOvcjSuHsSJrH34GOTOXazTrQm
-+12GIKy3IHfBmsGg/Hyef06OQ/omTJSQCeXz2n1QrIY64xinHKpQ1fjLQxLN1sJOy
-+C9xYqwdL5QtEFfyXYNyawHUCcqet2/6IghP4I4AWf/guyyuZl8YSagL0IImzkY2g
-+qi4xB6PtdIsD30B7Ojwh6fn/NKIxaDDHzUpX1gECggEBALrBzTsce52J99Wwv54Q
-+ikIF07PRMDax4jL7/50TbbmiumJnoHZh6elcI7JIDf2iYTZi4t38COepa8Cu7zwd
-+XfDT1/ugqdxd/2hhhi7QBmECeM90o21hSWWpqj4Majw22obw+CaL+5sT7Xtly/St
-+OR9bGsqhC5TiESpkJ2/uN7sJ39BiTb2Wdg4DLZmP62L737wJxQQVyseW46UPg5NB
-++L/hspi/3tsds/SNSamHNY9MIXw73MpcLYv6CpBkc8Ii+XMFbP1raBnhl4CNfkdI
-+nwQOAKSKnpnTBfu2NY73ghhHZQU3C6OWaLradog9Uy58k6eUfHZVqdmYfWL95N9k
-+SnkCggEAQ9oqCgTs1H8pEVZPGGAGMjoFJT69HH+tKI3I/kLTEkJFP5zVz/jlFWqD
-+E5E935r9WexLSHazZFwb6CAaeJuzuYKfZmOgCKSPmHLkop1jR1yBqvzjXPPqJo9b
-+Si6igNS7ufEw1uM8ru+/wCYrUA20sVQSeECNL1B1re1Av8AtMvNCJxkclo5o6A5P
-+mFygoVlpPasKJr8dzMExtcLdtHl6XbpNS55kcO/JpnevhUTVpq3URvpsf21xmFuj
-+fy27gWvcokG9WLpuPyd90ShzocJyjLRXteFcjHkPtNwUJc3QGh8xlPoqs7MfSA76
-+ep2Pg4lXDl4+iO5SDobGse4Ka/Pkkw==
-+-----END PRIVATE KEY-----
-diff --git a/ndg/httpsclient/test/pki/localhost.crt b/ndg/httpsclient/test/pki/localhost.crt
-index 99711dc..74a393a 100644
---- a/ndg/httpsclient/test/pki/localhost.crt
-+++ b/ndg/httpsclient/test/pki/localhost.crt
-@@ -1,19 +1,30 @@
- -----BEGIN CERTIFICATE-----
--MIIDDTCCAfWgAwIBAgIBADANBgkqhkiG9w0BAQsFADA3MRQwEgYDVQQDDAtOREcg
--VGVzdCBDQTEMMAoGA1UECgwDTkRHMREwDwYDVQQLDAhTZWN1cml0eTAeFw0xNjEy
--MTYwMTA3MzJaFw0xOTEyMTYwMTA3MzJaMDUxDDAKBgNVBAoMA05ERzERMA8GA1UE
--CwwIU2VjdXJpdHkxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEB
--BQADggEPADCCAQoCggEBAMOuihdNsoWgVg+DsRBc4kckQ5oiCVsx9NiRkUoCE3mu
--dQb6pCRhoD3vjMMt18Ajr9xNMtqTtP3lqQ4iId4bd3WaNc2L4a9698QOnpY+Z70T
--0pFckNvVcC+5kXHPCFsm/jIVsjJDdPQWM0fFqPGZTwQ8ssS5P9jdB2JHchHFOCWd
--IYYO0jY1BEJ1AXeK4XzfU0/00s0LnleLrbEpNB9ckQaSbLU7I9o7fDr/5+WbV8tI
--C5OG/ZZW7jlc4t4TLpzkUatBGW3c2PKJPgtWBAbtScxbtHB4mXV6iwmp3hlLT6tx
--vKD+b8TFpxGPdoOfIHX6/hjMJa+kr4Z4MDHeNfHu6eUCAwEAAaMmMCQwDAYDVR0T
--AQH/BAIwADAUBgNVHREEDTALgglsb2NhbGhvc3QwDQYJKoZIhvcNAQELBQADggEB
--AHm7NNZvti4QfopARMIcuokWHac18Ka7HBRE04WxLw9vKuYYu1m7d/0sUhk3KuBB
--ANOyzlt5y7ecEIAqxGe0m1yftD4Dgj33wB7kHvbIKUceKI563PM757RgDm6C70/p
--3OwOCcx2FsSaKLFBdtahzv1cMriN7JpEoa1qT3MnmFyaK8hEaXxbRGwDDAXRgOix
--ftOkNc5w0glQ7dl9CYq2QvsnMtG327pvyo6lBTKNjFzppZ/msOagPONuAcrtLAiU
--wTNk5Aqlj6a+Njtq/LJFdeyYsVxwuqvVnEsU+9FJFL8PYrWpG8fA1dIXaPS+06Oi
--vAMwOmVKhtgKvbaGcYa6efM=
-+MIIFDTCCAvWgAwIBAgIBADANBgkqhkiG9w0BAQsFADA3MRQwEgYDVQQDDAtOREcg
-+VGVzdCBDQTEMMAoGA1UECgwDTkRHMREwDwYDVQQLDAhTZWN1cml0eTAeFw0yMDAy
-+MjcxMDU2NTlaFw0yMzAyMjYxMDU2NTlaMDUxDDAKBgNVBAoMA05ERzERMA8GA1UE
-+CwwIU2VjdXJpdHkxEjAQBgNVBAMMCWxvY2FsaG9zdDCCAiIwDQYJKoZIhvcNAQEB
-+BQADggIPADCCAgoCggIBALAc2LCkaet7eZdOPQgSRcz2e1mJQ3qwMqT1BdMn+AG/
-+9ZMInCftXmJBHpb5WKeA4hclCP+sFUfaxt2TcJ7rNsPX6rkN5JFwMAIDMzjaq8Dr
-+1ZYjenTvInnb6tWIK2KP9nVdJRxSCXHIdN0pvJQdyi+3LOnTHyfHKIH9lTBLf2HY
-+Y1tpGFDWL/ywHbh7krUkIfC3vSx6xZXBNgStIH4gjpP2DxKfuPmSw1Kae2vOKcRJ
-+29PwB/H1TaPr0VvQTNN+cBC2oOehXpH/QRbU8Nye7uq4z/llKD5LMZAOJe7VUU5A
-+zxUH7DE27824CmS1ywd5JueyednsnsTjltEayQcnvAm/OEIr6rO0aDVmZH40i/W1
-++NdiWgGxt3OrvjU71BQAlaknshv2xDx9UNsLrQ+iOpDdsYxpD84s4Za0V+qnq1J5
-+QCSD7oaQLi4SG9nPLC+wpEhMCVGCHtClfL1NVSBYVycbPp1iLQP3xCiwV9058XVP
-+T2psI+PaPLeXp1ZNpEkRl+/UyAdDKqb3C6nE1tqNbTURhuL/ECFFHiH1k4mlGZfG
-+n2YL90ROqKFm6YdYE357vPrdjDbow32Cqt8wJqTE3mIaxZH+vLqKRezbU8fmo+7g
-+yEMePsCTWw0yXPyorioLAbFZBO5512sa09CXLGmeTaLs0215zaK81HnAgMwFWT+9
-+AgMBAAGjJjAkMAwGA1UdEwEB/wQCMAAwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0G
-+CSqGSIb3DQEBCwUAA4ICAQASq7gPmWVMjm6XzmHJ2LSIJAjGEmjWSNBf1rvbEItH
-+NjxzLu4VfiShgj9y53yWoNJSJGGGtoKmaNQK63x9GzTQbN60izXlW20FP32b9Idz
-+6y7Ta4JSqNx1Q/OW+ABsWZZ68Ob19XLr8QY5fog3Teh7Q0jzln/rxteB7OUTJ5QC
-+o5Nq7PDlg/R9buRZnHHb1tmBHbSbkXK9wjgSQMtbga2EQuewJ5KYHYUrdYsklg2u
-+wqnxtL7iND1dGcG2J3QKdC2fT1i7EdU5ZFvDxo9VOPvQmrIzzHKfyfgmOD3QhOrz
-+2rCcze86Vi8zlk0yk8oQNTjLndnJgSWYq0OFl7iape1ObblulILDhb80RI5N6pK2
-+WIb05Kl4Sm/bNcphi5KHtQlr7HzSNojr4qgHlo5KdQ6IW/ZOIGHgq6OjcifAIsKw
-+wkojOqriFdeKAiU83bWvxVUW/F9Yfe/hHCjjRxp6xMRoGTh63jGmAWxu/WR9GpFP
-+pfVsHLHg3p8tU4TusU1I5TuHZ/8B7atpFdlS5J8mc5bVB6oHYuaJVg4bbMGQIfll
-+m5CTfEKfTxkLjVtUGEhmoutb60qnXECNhUYFef69hMZ5VOUj4gAC8e2JKm/8yjG+
-+K9USxsK1YTAMIKBbLqNsJmOB8mz08CxPU8R6XCvzDPr4rqnG18IcUxAlbYiH77eA
-+qg==
- -----END CERTIFICATE-----
-diff --git a/ndg/httpsclient/test/pki/localhost.csr b/ndg/httpsclient/test/pki/localhost.csr
-new file mode 100644
-index 0000000..a3c5181
---- /dev/null
-+++ b/ndg/httpsclient/test/pki/localhost.csr
-@@ -0,0 +1,26 @@
-+-----BEGIN CERTIFICATE REQUEST-----
-+MIIEejCCAmICAQAwNTEMMAoGA1UECgwDTkRHMREwDwYDVQQLDAhTZWN1cml0eTES
-+MBAGA1UEAwwJbG9jYWxob3N0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC
-+AgEAsBzYsKRp63t5l049CBJFzPZ7WYlDerAypPUF0yf4Ab/1kwicJ+1eYkEelvlY
-+p4DiFyUI/6wVR9rG3ZNwnus2w9fquQ3kkXAwAgMzONqrwOvVliN6dO8iedvq1Ygr
-+Yo/2dV0lHFIJcch03Sm8lB3KL7cs6dMfJ8cogf2VMEt/YdhjW2kYUNYv/LAduHuS
-+tSQh8Le9LHrFlcE2BK0gfiCOk/YPEp+4+ZLDUpp7a84pxEnb0/AH8fVNo+vRW9BM
-+035wELag56Fekf9BFtTw3J7u6rjP+WUoPksxkA4l7tVRTkDPFQfsMTbvzbgKZLXL
-+B3km57J52eyexOOW0RrJBye8Cb84Qivqs7RoNWZkfjSL9bX412JaAbG3c6u+NTvU
-+FACVqSeyG/bEPH1Q2wutD6I6kN2xjGkPzizhlrRX6qerUnlAJIPuhpAuLhIb2c8s
-+L7CkSEwJUYIe0KV8vU1VIFhXJxs+nWItA/fEKLBX3TnxdU9Pamwj49o8t5enVk2k
-+SRGX79TIB0MqpvcLqcTW2o1tNRGG4v8QIUUeIfWTiaUZl8afZgv3RE6ooWbph1gT
-+fnu8+t2MNujDfYKq3zAmpMTeYhrFkf68uopF7NtTx+aj7uDIQx4+wJNbDTJc/Kiu
-+KgsBsVkE7nnXaxrT0JcsaZ5NouzTbXnNorzUecCAzAVZP70CAwEAAaAAMA0GCSqG
-+SIb3DQEBCwUAA4ICAQBQ+niVozKfjJP1VCTDb88/mAGEpEOGF+BXwN7EdQKAwZva
-+vAxQSpqt8h0EYyToPCV6P5GNzFQ/rRW2OYgWwXEHk3ptiQzcJzIF/F9CbE9vgYO5
-+Xvosxy3uyJr15sAoS+qL4jEXg7dDni+LesYYR5qx6l/5nYG/6ql0Z/K9+Z/1xrci
-+00Ml6+xq/oT1kc0JQYuUKnMXgQb6Mishyt+ESoRDFt6oFqlza7TNhC/Q3YxuOjqw
-+Hr3rc1T9L8ArYFMhwjCBSitJS9ojqtPyXTkE4ZrQoaAAl/jdwbiHQ81/PQErgrk4
-+3RkyokdrOkeK2CssJ402s8ybnbYzaI+wg4K7r4APsiOXAacfVObmPYzQLamqCNkE
-+hcGD6Yp9JpSgVWH+cTHa47slz3RjLxMW0EMfffYOlsWlxnlY+LHTMrphfd7otSlD
-+c3lSbUgURW6babKQBxOULR0AooaJK/uHgarb+6xNQoPTA7RSDfemfBGu+xAxIeE8
-+xPRXH6DYjhzwiHB8tFKcfdXX+MZCQ+QUHsbeVLVl+0kkw3J5bRTo5lS6menuzbPA
-+osnOO2IMBrhctgspj6MJg6lyFyWUDYzWn0JU6+rF/NHmnrlFgJ5in1eg1u783bXJ
-+0jKPpw1QAOz+gI2MHKx2Tpbu43UtAb/35GtW711e6lhm3gZUxjVQj7qhfW1pcw==
-+-----END CERTIFICATE REQUEST-----
-diff --git a/ndg/httpsclient/test/pki/localhost.key b/ndg/httpsclient/test/pki/localhost.key
-index 98a3db4..4be01f3 100644
---- a/ndg/httpsclient/test/pki/localhost.key
-+++ b/ndg/httpsclient/test/pki/localhost.key
-@@ -1,27 +1,51 @@
- -----BEGIN RSA PRIVATE KEY-----
--MIIEpAIBAAKCAQEAw66KF02yhaBWD4OxEFziRyRDmiIJWzH02JGRSgITea51Bvqk
--JGGgPe+Mwy3XwCOv3E0y2pO0/eWpDiIh3ht3dZo1zYvhr3r3xA6elj5nvRPSkVyQ
--29VwL7mRcc8IWyb+MhWyMkN09BYzR8Wo8ZlPBDyyxLk/2N0HYkdyEcU4JZ0hhg7S
--NjUEQnUBd4rhfN9TT/TSzQueV4utsSk0H1yRBpJstTsj2jt8Ov/n5ZtXy0gLk4b9
--llbuOVzi3hMunORRq0EZbdzY8ok+C1YEBu1JzFu0cHiZdXqLCaneGUtPq3G8oP5v
--xMWnEY92g58gdfr+GMwlr6SvhngwMd418e7p5QIDAQABAoIBAGgyO2PXQpU24DyY
--oiMVYoQBQmIDd7nwqvDa6mNfIaGsjLIvqlGZDmuMcAbKFVVBa3ZCQS70ce60aMWW
--1TPgqkab28RclMsNDnt+UWGtTy32LSyr/pKgX4F6LYFNfaST6c0fkmiDVPZYD+xK
--ywAC43ldHM/12JKQd0sUwh/GRXR4/Y9anWR4uLcfWCRU/7JVefdUe1VWeeelCMB4
--wCcv9aQeFKnKeRopg5sryMo0thXSJCrO7UTSBmyasgNlMjUFpIIlPZQrWKXBtN48
--NT7yGZ4j4RpSS8jhIxZASmyj1eyn2bZEk5SFcFM0wN78lOIOyGBB50QJBSEuKvHT
--suFBzI0CgYEA53PCyAxHcA4wfuZJgF24VTVUpyZEjjTBRtLrZxUrIagVph5iS9f8
--X8henBabaNBB/xsb17qPesCpqGJJEj2XpSKjTQdzmjCUZV8oZSLW87esXwm0Jfb6
--dmDqShwlph5l31ZG27I2uTMV8HE8PAOta5rBEFsEwEZDmwtsIvwu6NsCgYEA2G+Q
--ZbFelFC6+aGKPTPrPVzX45IMPRE23f3euTJdEA+T06BD60LC0jQlxmQghlDUZkxs
--s9ihPnj2nHuaxJyR4G+/56oba5Jds2ZAiU7FNGZpBHh5J6tUligRJ8cjdRiKJheb
--H6imcRiD++6P2PnQUPuSnfnxo+yxDotUxtfflD8CgYA3brIn10kEvWFAA0d3Rvru
--7Wbo4XFp3ZisrbdTaO57kRYeQwinwYLgLcz69S8jWz1zK7rvX+8dJyd6/I8jnzzC
--gBk8SZyWQSxJWxEBp+ZzWHogCOLsdMpnr65tMXCS6JTdeHxgAb65fFK002nptbfD
--Hb0/fY0Vv75RU9sCRgO2IQKBgQC+MALuKZdXsz0qIRZtw5LCQDSBiBPzEY5qMiym
--BqiadWXMP/eO4wJ5XlOXauLdxGdwYVXgD8tZL0hdp4wPmxng47H5q5QeyeZGv+KU
--BcDq09cSk567CiXxMNIqZyY0PlUfNf0dK8DeftFz72U+H/87OmXTJhB9oH7RrgPY
--G1gfVwKBgQDiCfLBoEfwOpif1XAglNdIv6J1M3rwS85txHlY8H91iiBaoKosLzdj
--ZTeqOn6ofsWj1NaR8OudZApZZT1gHjmDUnpzrQZvHn1gelsVwoZfXs1ZWX+J4giD
--Rt3aZFRc4uPVgVNLHf4kADWao5bwvbxWfx74J2LQ4QJ4rxFumeg8HA==
-+MIIJJwIBAAKCAgEAsBzYsKRp63t5l049CBJFzPZ7WYlDerAypPUF0yf4Ab/1kwic
-+J+1eYkEelvlYp4DiFyUI/6wVR9rG3ZNwnus2w9fquQ3kkXAwAgMzONqrwOvVliN6
-+dO8iedvq1YgrYo/2dV0lHFIJcch03Sm8lB3KL7cs6dMfJ8cogf2VMEt/YdhjW2kY
-+UNYv/LAduHuStSQh8Le9LHrFlcE2BK0gfiCOk/YPEp+4+ZLDUpp7a84pxEnb0/AH
-+8fVNo+vRW9BM035wELag56Fekf9BFtTw3J7u6rjP+WUoPksxkA4l7tVRTkDPFQfs
-+MTbvzbgKZLXLB3km57J52eyexOOW0RrJBye8Cb84Qivqs7RoNWZkfjSL9bX412Ja
-+AbG3c6u+NTvUFACVqSeyG/bEPH1Q2wutD6I6kN2xjGkPzizhlrRX6qerUnlAJIPu
-+hpAuLhIb2c8sL7CkSEwJUYIe0KV8vU1VIFhXJxs+nWItA/fEKLBX3TnxdU9Pamwj
-+49o8t5enVk2kSRGX79TIB0MqpvcLqcTW2o1tNRGG4v8QIUUeIfWTiaUZl8afZgv3
-+RE6ooWbph1gTfnu8+t2MNujDfYKq3zAmpMTeYhrFkf68uopF7NtTx+aj7uDIQx4+
-+wJNbDTJc/KiuKgsBsVkE7nnXaxrT0JcsaZ5NouzTbXnNorzUecCAzAVZP70CAwEA
-+AQKCAgA7nFgAWnZ7vZyniVUBMWYs/VU9Nkf/9DoAOeuR0JqSxQ3ziduJbEAhU9dt
-+1NKcR/S/Tsrf97hwTO45O9nIAOfVnHUX1EsEq4ukcr7YxLOUJn9yRWoCwJrT0ouH
-+YYMF5qLOkQuprV8DA44C+kiZfgfc5MywDMUj6racYWApK7TfQqZG36jaW9V8W4SD
-+2FgNNkDCwP6oWpocmXyWUp+H8a8xB/2MGUI8P+AbSqzyDaN3jGR7NWkLDjQMgxqn
-+UDdg8xAtqBOIs8dV9adregJZOva1vn6u9P2NMFiDYTaXw960dR1jCf55nhXHdT8X
-+Xa1uRyTTEkdKa1xGWp7HAqD+6gUsWw+fuavVMmMcgBm4tYSvFActBPZrpIuh6H1e
-+8g/ow+mnn1E/sfeu5vbvYCaq5mhchC7T9snI0FDH+eDqa9xBIqBA/f11IFE/kryA
-+zw2ZdieB5EtW9E8yMOdfVhTAj5y3nuBPcQPwlWVpoYY7PVX407qth3SpT7x8Xgan
-+lZFFraKvQ2MSI3iOrzHCinlsvc8SsmWJifDHAFxFmqead+Yi+M/BH0F8zkFikvmp
-+swWGE5znZX7EBiSVBwx7H6IFH+3HhAPVnADW4WIyykdoEydNczX0STuoj7XJdKiS
-+BPgse3aYfvy7bDpwUhdKbjT97Uvsm3Zj3HkEl8X1TMK2MtqUYQKCAQEA6PpoGQke
-+p2LRLsVdOekYG2M4uJDNtqEQ5qaZxrYEMupFPlcZv7JbIyqmE98hgKAaf+mE2fJq
-+Qn5puydgaLfsHjmcn3UUDTEvLnAx9Qrp79md5VFwOcAtTNA/eKhJSYujAMedJlFC
-+RcnHuxK3qWy0VODDx2qwqC+9GBUtH/fREQ8SXeJXfnGVwaR8vsWgtti3JefvcP21
-+pHKmA8EpAK7tEuJuKBbqabbNXfsBswpfKnlG4DwcEbIWyOZ6GjSJKQuVvDQ6dGcI
-+YW6wC0jiqvMr8g5KbpfXP9uWhOTMg5epQqn9ALEetpnRZ3pIzLauW/pKKhcm48wG
-+mnADLBsYLvyuFQKCAQEAwYPtbG2RhFhMfOJjZxOVx6h/0HDsfRYmV9YZXpSs9lJE
-+9em0hdoA2ZF+aO8kjgWpZzG/yEnn9ZYTrks6vD+Q+bxXmtGOgt5YgB9XcaOFzhMy
-+QbqN9ChqZ7FezhWnYVz05GA9WQ0YqNmC7wRN22DlYUkkSx8vViDTpcTxZrgq+KAS
-+7h3tpENsQ9W8VEzCnKk8UcvvvbrjLDZ9AdZhbsgWa6YMxzEHduS7XnRk4pzKsLoD
-+zE+Flu5f0TYZoivNCt2v8qZToUt+3x63clgSxssxh40HCkpq8X46EvGSySTADRN9
-+ZQTnxF+IxrsBg08DEkvYujUHyOx9gjSsdwPu1jPdCQKCAQAi9YAtUYsB/vf4lrD4
-+gZuWcHsQZtoXb2/DzHgCs0lKApFFW3iHpVG7oyisjqzOSjfvvbCrq456T9G5vZzf
-+2clad7aizsSlfh3gUAGPDYYw8WyZ/nBimg2yGwWLK2Vj3col0c4o88SICFEqJxLc
-+H22n1tpJ0B6V/iPXu0W8KEl8z9AnulD6rjyUhAQb9De7eCVzUKxDPi7FcFas9Y0b
-+hyQX01ZIObgPCNkkIwgMP6AsFWqnNx3XIev9VWg5Cm0SdaSQSx4CXXuKczuDVfp9
-+QGP1vGM62Rn5gQ/C/Toa/OTvFeba9bjwGYCskFLgNQFQ1+vNCRBS2kibX/d55M7q
-+LgxJAoIBACq29jdS0CYIX4nJZuuftRYHKX9XDbxmoTwONDdeVfdhHXuyhHhvMHTV
-+2rNK5iS7NzNiFdUeCyd4Ywu761EWLugRHL09uFlGvv447NJWp/he4F8F0MOuEB6n
-+VifjO7kQDbZDUAdSDrlmmbIsnwrnjno07N/wGEDIqi8TE736tPGAU+1fic8SWtl2
-+WkW5U9PEv13GyDp3ACIIPPuk2IjdfaVxV6y4M8+YmYs14fbraQotZR06CGDSaTAC
-+4xGa3X2ihW3oLNmTkoOpghCpRCvBOkOTa5Rn7Mc1d5gq3p2rkQDR5oHf3VDJTaWg
-+LatQS3tEZqhjgD5nhSSyf8cdhSCe/hECggEAW8H26QCB+oDaQjevURUbkT4a5tE3
-+sX9bGXlpAK+JE/hMJqxspNmXeTKm/GsMKT/JGaOIqstIYNsILjAihGbZj9OalOnX
-+re4rVYq5Cs7mDXVP7vLSeyX8Z6Y8qiWiwtx3UMwMXYs6+2qPbHFPr5Ult53rswaE
-+lIbGdYbPouEGPXxs4J0Xy4h+CQtCi5UVuR16gq2gPmqhMwLz19gXRPh3V+5hH32B
-+cgnqMKgAKxoJNpuPBL/v1OJ9YTFwFUokUMk3IzgTsblOXtxtpAlomv1lX6Y5JQxX
-+aBw0t8HRxMF+fdqq5xHEcgvp+CWqBNuPXdVPAH25nibsPuTgnPIb27PTew==
- -----END RSA PRIVATE KEY-----
-
diff --git a/dev-python/ndg-httpsclient/metadata.xml b/dev-python/ndg-httpsclient/metadata.xml
deleted file mode 100644
index fecb5a6e9fbb..000000000000
--- a/dev-python/ndg-httpsclient/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">ndg-httpsclient</remote-id>
- <remote-id type="github">cedadev/ndg_httpsclient</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/ndg-httpsclient/ndg-httpsclient-0.5.1.ebuild b/dev-python/ndg-httpsclient/ndg-httpsclient-0.5.1.ebuild
deleted file mode 100644
index 14a0369430dd..000000000000
--- a/dev-python/ndg-httpsclient/ndg-httpsclient-0.5.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Provides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL"
-HOMEPAGE="
- https://github.com/cedadev/ndg_httpsclient/
- https://pypi.org/project/ndg-httpsclient/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P/-/_}.tar.gz"
-S="${WORKDIR}/${P/-/_}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- dev-python/pyaes[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]"
-# we need to block the previous versions since incorrect namespace
-# install breaks tests
-BDEPEND="
- test? (
- !!<dev-python/ndg-httpsclient-0.4.2-r1
- dev-libs/openssl:0
- )"
-
-PATCHES=(
- "${FILESDIR}/${P}-expiration-test-fix.patch"
-)
-
-distutils_enable_tests unittest
-
-src_test() {
- # we need to start a fake https server for tests to connect to
- ( cd ndg/httpsclient/test && sh ./scripts/openssl_https_server.sh ) &
- local server_pid=${!}
-
- distutils-r1_src_test
-
- kill "${server_pid}"
- wait
-}
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 a7036334d63e..1f8ea433f9c9 100644
--- a/dev-python/neovim-remote/neovim-remote-2.5.1.ebuild
+++ b/dev-python/neovim-remote/neovim-remote-2.5.1.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_{8..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 a7036334d63e..c4c5cdfd52ef 100644
--- a/dev-python/neovim-remote/neovim-remote-9999.ebuild
+++ b/dev-python/neovim-remote/neovim-remote-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_{8..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 1853145ed30a..000000000000
--- a/dev-python/nest_asyncio/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nest_asyncio-1.5.5.tar.gz 7386 BLAKE2B c5d3704dae962ec82a515e2c056c24bd0fbabcf1cd2347379e1d58fc23c922325c89ed0941aead4dc90e0a94fc39ddb5e38fe4decc6e444b0c1261ae955520cb SHA512 8f28b4495f1d595f5943fb8a40c8894183398865059c42686483d6c4af6634b5119ff6e694b98662bfdd71046ec0bed70f5fcceb67971637c0fed91cb6d6eaea
diff --git a/dev-python/nest_asyncio/nest_asyncio-1.5.5.ebuild b/dev-python/nest_asyncio/nest_asyncio-1.5.5.ebuild
deleted file mode 100644
index 528c66ce4771..000000000000
--- a/dev-python/nest_asyncio/nest_asyncio-1.5.5.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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 ~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 b5daaf23f914..000000000000
--- a/dev-python/netaddr/netaddr-0.8.0-r1.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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 a818d058a960..000000000000
--- a/dev-python/netcdf4-python/netcdf4-python-1.5.8.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 c6dcd19b9ef6..000000000000
--- a/dev-python/netifaces/netifaces-0.11.0-r1.ebuild
+++ /dev/null
@@ -1,27 +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_{8..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/netifaces/netifaces-0.11.0.ebuild b/dev-python/netifaces/netifaces-0.11.0.ebuild
deleted file mode 100644
index 5beb4380a339..000000000000
--- a/dev-python/netifaces/netifaces-0.11.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{7..10} )
-
-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 )
diff --git a/dev-python/networkx/Manifest b/dev-python/networkx/Manifest
index b9dc5e14633d..9bf7a5408402 100644
--- a/dev-python/networkx/Manifest
+++ b/dev-python/networkx/Manifest
@@ -1,2 +1 @@
-DIST networkx-2.8.4.tar.gz 1951336 BLAKE2B f45708eb8a642ee2561caf6b82b8947cc0ed8a90e22ff3424c54db728f6ab91bbaf78c62da113d02325c8f56418690386143c74f2098c670fe102c4e5ec78b9d SHA512 3f874e08a55d924905506fabdba1540745f7a1a99745531b49442206b6cac9b911674441d2241bc2c3e8c173635d53f2e5677fe76936630236ffb3fa021b2f9a
-DIST networkx-2.8.5.tar.gz 1955125 BLAKE2B a98eb678f2d3b336e5675ac34b59677ead3d706347feb0150f553b49cad0f1936a5abf179eaa496e32b8e9d59103022e5103d9e2d758aac2df781f031254c2fb SHA512 0a4d50da0eff0ee7d79941d27bf07b5425493b92f482b4f91bd91a930e4e9c5eb1d3832aee44919aa708fd1e2d0a53fe2d77ff33864a54d0e3167b4108545dec
+DIST networkx-3.3.tar.gz 2126579 BLAKE2B 37d5d536e2564f9a219df70bb7f1b7c0717b99e9cdb7a4050aa321609a0ef34caecfda5a6ed8cb17f4d3b305b667adf8e40b58568dde8eb942d4a00b1ebdb255 SHA512 86306cabd7e15aa79cae4d84a42e8804b1e904fc2127725067a80e3ddf31f0fa72ebb9d21284018e72bdfc662c766a5be55564572aadaf7392dada7ea93d1ea4
diff --git a/dev-python/networkx/metadata.xml b/dev-python/networkx/metadata.xml
index b0d0d5f8a56f..226da59e47ee 100644
--- a/dev-python/networkx/metadata.xml
+++ b/dev-python/networkx/metadata.xml
@@ -15,7 +15,7 @@
mean a graph with weights (fields, properties) on nodes and/or edges.
The potential audience for NetworkX includes: mathematicians, physicists,
biologists, computer scientists, social scientists.
-</longdescription>
+ </longdescription>
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">networkx</remote-id>
diff --git a/dev-python/networkx/networkx-2.8.4.ebuild b/dev-python/networkx/networkx-2.8.4.ebuild
deleted file mode 100644
index 1c3e40a7eb8d..000000000000
--- a/dev-python/networkx/networkx-2.8.4.ebuild
+++ /dev/null
@@ -1,58 +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_FULLY_TESTED=( python3_{8..10} )
-# networkx skips tests w/ missing deps and the available ones all pass w/ py3.11
-PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" python3_11 )
-inherit distutils-r1 optfeature 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 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-BDEPEND="
- test? (
- >=dev-python/lxml-4.5[${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() {
- # virtx implies nonfatal
- nonfatal epytest -p no:django || 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-2.8.5.ebuild b/dev-python/networkx/networkx-2.8.5.ebuild
deleted file mode 100644
index 56ba57d5aeb2..000000000000
--- a/dev-python/networkx/networkx-2.8.5.ebuild
+++ /dev/null
@@ -1,59 +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_FULLY_TESTED=( python3_{8..10} )
-# networkx skips tests w/ missing deps and the available ones all pass w/ py3.11
-PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" python3_11 )
-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 ~ppc64 ~riscv ~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() {
- # 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.3.ebuild b/dev-python/networkx/networkx-3.3.ebuild
new file mode 100644
index 000000000000..aff22e69248e
--- /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/nltk-data/Manifest b/dev-python/nltk-data/Manifest
deleted file mode 100644
index 4b5a3ffbec68..000000000000
--- a/dev-python/nltk-data/Manifest
+++ /dev/null
@@ -1,111 +0,0 @@
-DIST nltk-abc-20200312.zip 1487851 BLAKE2B ba28be6f7d5fcd1840af11bae1e669233a151f9d6a5ae1a958ab5b5b8bf33eaac03a5172f87bd0dd481b1cd069fa107d0fadd6f5cf037eee4350652a58e21bcc SHA512 e2ee1fc1738c1ebfac50271e9c8d8396a603ceef2b1a6471fb38ba78a1a74e639f5c51bf93ada93f70832462bd7bc42621d1c5ccfeba0315abe8408f28788db0
-DIST nltk-alpino-20200312.zip 2797255 BLAKE2B 54cff649a36e0eefd74b217ee5c4fa1be464edebb5b4bbf004960487fe172e6e623b5fb9b104da34e109eac3dbed02397119b7998ed8db8b32dfd62ab436f4bd SHA512 0f0b40ca8c36068dabde193299fc00754b42f0ef42f562b96ec413b8f6400db9fe874fa750b198ac92fa7eb3cb8e4bf1ecd463aa95005dd4fb23825e47c4a772
-DIST nltk-averaged_perceptron_tagger-20200312.zip 2526731 BLAKE2B bc6bfc544c78df029727c4f809749902539310b1894803f83b07add698455bbd9ca0f5fbd358ef91978414714b2041c757a1bfbd1db985ba92e81fbf7ae937a8 SHA512 bda565462823373905ed73073aaa78fc390077f370fdd942e7681e7e9b6f78d41bc4b71e7aa9b4d601de5a5a886d4bbb14b062e1e7761629980a508054f7facc
-DIST nltk-averaged_perceptron_tagger_ru-20200312.zip 8628828 BLAKE2B 026ca0e6a511098029b45efa46dd336d37123575bd77682f8a6084c39327097c85052818921a5b0ce2f202924ddf2a24418025f8c979bef034aa0086cb583a17 SHA512 fd56c7f8188c2ddd6b6239189ffa701c56f2e47376a210bb0c92881969304874f720f27a6965e853db2bf43aff202f09dfea7bb30420590e1a75940493797db6
-DIST nltk-basque_grammars-20200312.zip 4704 BLAKE2B 024c6d86844bb3ea368b6dd71d065b4bd38b551576b3919f26e6c32139ebb3b5338c17453d766cef4dc7f5c358220b2738d16baf58c8cf794954e10a460100fa SHA512 52d07166551dadbf99830052595982b93c0f8c611c4051efc00dc2054a4a219b8a3ee57072f8bac51b34e5eb8e1e5631fc2668bf319d252fca201d798a58455a
-DIST nltk-biocreative_ppi-20200312.zip 223566 BLAKE2B ca749a1713992045363a7e4af7c912a750f6a17cc729f60fe1ccbe62cbb565a2c349c09764e91946753e630409382b4b1a1578a17b29e10d7bdba9818c6ef098 SHA512 b6dd5eee7849c1161afca851d22106671ba27cef63d4bf7f500b6c92625b31cbf4aa7593ae65c7eac25f532ce93f06faeb78e7131e35b5cc0c2d74a2c06d43d7
-DIST nltk-bllip_wsj_no_aux-20200312.zip 24516205 BLAKE2B cb52ef99d7505b956b31ecf0c02ae5538946ef6b9b639eaf7b2808795a3bb6e05188da20b8495d80a4a3077a6e8f1d53b2ebbadf5d14382e245841ae1919a839 SHA512 03bb1c3b6c27e0049e7b5fc7721e2903c1dea80b55fe35208a4acd67116618a646d98fc5184d3a43ac9ce3dc693fb8ca768a18f20d9d6eb69d91fd2a101cc9e5
-DIST nltk-book_grammars-20200312.zip 9103 BLAKE2B 4087df6322534a8b012df25587151afe6121ad857ed99cdac1cfa5c8f9aca4d2c623876fb65fa21b9f391c0e96401ef18a0f403bce343755fff38c7d85292012 SHA512 8cfa085e8203f9c415d18c0afb3e3cf9963214929f4de71cf5933234e3623e432cfca3a167cd7c2d9cdd4d22496cf959249790789782675cec392d0e0ef5549d
-DIST nltk-brown-20200312.zip 3314357 BLAKE2B f9c54f01d08ce2da90238a94e74c693ca60ad63b0cfdc141897942b4c01235f505d9b60f4ab0eb0aa63fc4b414922f5d71eed404486d4b31788f167e068c300c SHA512 f425e022f8f3eb459cf9ad7c90c326920430f7f0ad3e15d5961dfb5146ac355f7e13ba7681a78a26d3c5b146979eb778012aac4ce3dc5d59421a60798dede85d
-DIST nltk-brown_tei-20200312.zip 8737738 BLAKE2B 5386fc3c818e8f772760f8c8288fab1fb6f67d5f27e8aa47bc9366716b66c1b4c5fb52e0c9d52f1d2884ab426fe45afcb5d07dc497cf1a2e86dc4c06dd498cac SHA512 f3dcc36bcab63d481e4d833c8946f10163f732166114c8fdd63932fff9fba3c236593a082ebcdf96f74aea6d33e424b7be4c645fd0f5ee5090f0335544c02c47
-DIST nltk-cess_cat-20200312.zip 5396688 BLAKE2B b2c79b6d938b98118ed0f541ed75509bd47d2309123c97aff2aa1f03fe6da298c5270a9cd6fe3da91e57402b6bbf3953c88eab7e25c47b9a12720ff0367499e1 SHA512 6f14beaa98a5f0731fe126c7e10110045c7cac8f7893bea0a6895bc64e6953622f989e93c2e77f6d66d5a3024acc11422584d6563fc3efa84766757e2c5d4127
-DIST nltk-cess_esp-20200312.zip 2220392 BLAKE2B 16695534a2267c20d204e6ce19a19fbf053d3f4e06d8b52bf480f9c775b05381a902f56b0793aabb20ad07ed6334c3f24217dcfffb33bf32bfb3aaa6736dcbf0 SHA512 daca83bbe8d725fad5775f5c71946ae534764a758ccf428b3f48674eaa4a5a8342cb35f38ae9715ffa75030771b91f1303bb2b98a55922337e6b39dfa2e7a94a
-DIST nltk-chat80-20200312.zip 19209 BLAKE2B a9dc4eb6d0a6d081cff840a8cd6b3249ca2e26a6aa783f33fba770f3c56917537cfb00706464767b70d4b10339b443615272b909fc43efe5ce1e8d8dbcb8df2e SHA512 2d590ac4a785132be92764dda5577f2d7e7209cc1d58302296707d9ba8dd312dc01cdb104183922de88ba72f7cc3cd4b8fd95b2b18fd41321a27f4b964e4a500
-DIST nltk-city_database-20200312.zip 1708 BLAKE2B 070a7d51fa2d39b891a52178a535c11ad7122b34fb1f847b87b86e84db85d140d8b2ca8b029375bb517d38a1c92afdd86f358068f6ea097873713037978a5df2 SHA512 ca87a07da6b1fa1ad786d43d2d7083797a4b81f033248d6951fe2162a3b4b35d20eb46d74dc9cb7c9eda202a8b6cfe8899a3b02cb768be9d1f0b4be1a290ec2e
-DIST nltk-cmudict-20200312.zip 896069 BLAKE2B bcef4718794c180f8641dedf2d85bd338d440c470715bd34eb843b2487cd2b2e746808f9420adebe0757987d09def5c5547e797f4cfd49b91ff3274538836211 SHA512 d3b5d3f9675e242487953ffea9b93e8a8f66462fb09321303064c618e2483e13456d7bbb307b2791926a1e843fdc1df0cb29cf185e2adb6fd08f6286295f42c8
-DIST nltk-comparative_sentences-20200312.zip 279121 BLAKE2B b7b12e9922a2688586aedde8a50e01c29387793955b45c87eee2ad43e41353cba7a449e5746f41eb1b239263274fb91b4a69bda2359b6abd90e46b38acc061eb SHA512 38b383a8cde09c1e8269f047b89c364177507c57a330c361792e92116743adec6ee25202ddf672af041798cc558b63e1e35478283cfb365ef33f8657a462e978
-DIST nltk-comtrans-20200312.zip 11904518 BLAKE2B ae26bec3290d83673d0d894d62c22fac36d0fa4fa03e3989c0b924de65fac12f496bd730fa7512737dbebd59bd48e6b621e4234b0e26ab840c672fab555fbcb8 SHA512 c631d2d21f5a997548ad979e116e9ac642808bea0faa07fa93c57e0d455abb151b9c7d6badbc0b4ff4390994cb7736e722217a9c3da1c8d51da94d6e85629664
-DIST nltk-conll2000-20200312.zip 756607 BLAKE2B 31b4254f9eeb6a3c728193cb89a6e5eff59100c108ac7b19707e86d04f314bb2362e4e6a4770632308a535121ff2e847d8cdbea52835097429fe2111b1e580ac SHA512 421eb51171614175c27bc82fe69e1a6d22b426777c5e62f850ecc288f348feee3cfdf29e8fae9f59c53d47684ba031e108d8a29c5b9c27fc0d2f0225ab83f4c6
-DIST nltk-conll2002-20200312.zip 1867449 BLAKE2B 127a22ebf3fc2ac99e0b24641f2da1d122c67cbfd25eb59bb81ea430f1a08ed74c64b54b87b6457a903a164d2fcd08d4cec6ff7b98943024bc10a4cf54fc729a SHA512 0b9e575ed09771ca4ae5b6f5acf66466def823d9daae20eba4ac291fd501f2b651e018874b3f91dfb42b998abe8c9e0fb1ff9f2ef883f462b29c01547ba0d4d4
-DIST nltk-conll2007-20200312.zip 1242958 BLAKE2B dc01ab90a2d82f2fbe0b4276dc8c139626193f696197629b9bdcb75ae5da14739b319a4455dca870ae968c3fb00473836c56fce6e02f9ef5cc86fc7e44261d72 SHA512 3be03a672c9a4b823ed8c7cd3b571a7c0120415ef293f0e3044bf967f69b6efd413ee57cfe27a1407ec6fa2aad8e625019ddfcf0eec7a48ef8d745064adefba2
-DIST nltk-crubadan-20200312.zip 5288655 BLAKE2B 2f5103c9801b965ce5d893b690dedc5f8524b1266e32a01251834c80cf291963657b3c1366ef6ed21f9f89c9ab4a696de72a752ce53b651d596ade99edaace2e SHA512 cbb6a8c53a89bb68238853da2409b3bf04e832ede977bee673ad966a74f4c732ee6ba844b8171de26a641fc24f2e9f6d4755adeef3524583f8765d3237057726
-DIST nltk-dependency_treebank-20200312.zip 457429 BLAKE2B a60a95f9bcbb72b4ee19a91c380eb620261687f23bd867ae4cf2d7937b60b8dacafb52c09d7bcbcb9fbbbda4e57954ee55a900d70e69e7e290e53c668dd0775f SHA512 b225ace2e2413f0b9ae0e142d81052e64a1bcacb71caf7b07a577c18dec45dc429116abfd12edd3bb1442a111f4fa6e3e33e2b5f113e26dfc4e917268d821736
-DIST nltk-dolch-20200312.zip 2116 BLAKE2B a79b5d5de2ab03be43e5fdb1b34c70a458af6efce0e35f42f3c4d748c84cd950c98981f969fea2b0507ee405438f84b50e526aa94a93f99de7567ccb5c462215 SHA512 29254c95d11fd2001f486a5c682f7ab7f23fa13472ac4142db3702e2fa994f74ffabc2f571f1feb94a2e65fcb8da97c57a519f24504379b0e369fd27f9f867f0
-DIST nltk-europarl_raw-20200312.zip 12594977 BLAKE2B 295e274880ae34c9618a70cabc1b1075e35c442158aabe437972caebbf36d09c4f5f5b66d8ae7ac953f4312f9dac8f5e0c6d3346a444afe98ac700fb3e622539 SHA512 47dcd5420df6ab294f75204355cf346257a821d491f65b856c41a77237df1d7aeb352ed1353da55bfb68fa9f0d8782b9aac9c33bd49af3b395cc780dc421e26d
-DIST nltk-extended_omw-20220704.zip 11251284 BLAKE2B 11dafcc49c3608e5178b2cf82a943a95afd900f80308bf40d56b29a4518029832fe52241df728f6c38114e60b9c03617337717d987221918a11810b77b1b33ea SHA512 b1f53bef1cc43a5bf9996cc037364f4668e1055385d43e3276a1c58e4345b6ee09d8b577ccdebe8e65bf3367b8da37c05c6dabd282e469808143805303bfeec5
-DIST nltk-floresta-20200312.zip 1882021 BLAKE2B 092886cb15c6215b4fe979ce62a1a137de97c4749c372426211d36117d367697d19ebe6a9337f702ee9dfc133318b1e7de51393c5a41afc31a960e10ebe7c498 SHA512 1a71453b9629d622c3468b1e00501683e0415996a62a30c498486354b82f0b3be76080dddc60117c8c9f29de3b34a2166a5de87376a0daeaf8b92bfe5dac668a
-DIST nltk-framenet_v15-20200312.zip 69337891 BLAKE2B 046087cb20013f3a597034458dd09b4cb7378b19f91f5ebf7196a92a02741a67b671f094262ac5d8e0e376743048c56dd1d65e6c37efb3b254bb3f8f6434addf SHA512 4b55a435f17afbb9cf5fb59691a03776784830cfa6f1f7b9c9c64770fa6dbb640bb3256a099328e44a0a6692ed52703b9f253e5229ef71ee300ace34027ba462
-DIST nltk-framenet_v17-20200312.zip 99207152 BLAKE2B b1a32c535d37fddba5c77922f3a6097859d8bf59a4bcf37dca4ff394fcf027fc68d781b3b6c0a8d5cd9a423a944687994ec6a2023dd45808dc697b4c90f28286 SHA512 3696c5bb0fdd59058a8723ba3ca962a0d6422b36d8dcfad0427caa21dae9579b85f2f9af431aa1fc1cb76e823676a996c5a26aca99782017270d03ef3bd77f0d
-DIST nltk-gazetteers-20200312.zip 8265 BLAKE2B aa4f8db99a7ae8c26911d33abb67713bc80ffe3d87b2b21f21360682327b51229c16e7bf2330ae44d998e4d9c9bdc0879000a07197891a70ef9788bf8f7aca80 SHA512 dee3a050b56bec85a97e85d867e404bbb4f5041bf4886f5a00eb3e4149db1ff6f8a5bfa67f0210c48539cbf0140aa2082e2d3e65b4919dc5d7a258dc9616257c
-DIST nltk-genesis-20200312.zip 473239 BLAKE2B 5234c2bcc31ae738bbd6cdfe1ee231a75ceacc74334e3b03fcefb409427406aee1700e0d8ca8fad1444736005b53fdb0fbdb9068085837f4bf7292cf61351b8b SHA512 e74f6a8f304bca292bf8e138a739a97633075cf9374c95f43ec75473cd7bbeb0921fe24f7864659e640e694d227e61debd67bc41150bd898b7241a274e28196f
-DIST nltk-gutenberg-20200312.zip 4251829 BLAKE2B 54448e919010f12faa92c0ffd4adb31a7d1d76c262d5ac99c10129d188830107621f90e4ba611ffc1541c25037fc916b451169a8ae1df276747890fea2b5e06f SHA512 7b4442d18b89f9bb8261f23ad2f4d513b470461255633cbebe2b0c310f003effe819f7a86b39a62a6cde1b3fdbf099dabbdaaed520268c99fd1bb933baa97ead
-DIST nltk-ieer-20200312.zip 166156 BLAKE2B 4c63be6f0f16e59584b7f97c21da0cf60a1efd3678ce662d683d8a6a9d05d333690b26ebb037d3047b26e3b51163ffa666f048ad8a89ee6c851ddd3edd2faf58 SHA512 b55545f0ac03282fb85c4a86bb69fd9988db8cc504114bff7b763007e20f559efa61b8ae5b7955c251c1c2dd9d23246e23515b1cd5d8d28225c20ec236c05cd8
-DIST nltk-inaugural-20211221.zip 346476 BLAKE2B 6f14827fcd8edf9300725c6ffcfa899f5878537aaefc40b165581af60866ca7e7b0ed316a2b8dd87ff858667ce7a5f4035090a1cc3a404afa64b28d34dcf8747 SHA512 5440bff001209e42ee86c2501d2cd628cf639734c194c11097a862f6759f09a6adef1da0702b77211774f84d5d9d4ee55e89085b39d8a911811def1bd07ac8e2
-DIST nltk-indian-20200312.zip 199187 BLAKE2B 9f70f1f28bcb96d828ca2ed96d6f89cd8eca8391b64842c742e940aaf59f31e142a4919ab5a21bce954bbe2ed85add162ac67c9549758f9aa44b3e90d45d44a7 SHA512 08e9342567bcc607e9007aea8415af2cad1f8a289104b47a61bf569f1391629ebbe25f19aacf53e2b14725edfdf18076331f044e1c2e42d07c96d5c875ff8f9e
-DIST nltk-jeita-20200312.zip 16531215 BLAKE2B 7cf98b389d5c4b41d9d613c14c5116b83c520cfe7418ef982a6acc1294d8ecdb8a5d6d396409c9f13ca83df999793619d5eb5483612e87874766afe565c68362 SHA512 491e6dc27d70ebfd139be4dcd179b02c383f38edbe4290aed85638ecd7c987259b025e4f6f3f1d5bfe2b7aa3eff7188109205417d0acb64759988150f2753129
-DIST nltk-kimmo-20200312.zip 186958 BLAKE2B ca288f48c09a33b86449c780e5c8612c3521e22bfe70918629bf3144b75b5566a942c3cc1440a13c2d81e3a69c77928c336850cc9fac4c232deb77293bfbe4e6 SHA512 fe38d5298ffb6dd62223c2002278d9ddf2695f341a29477f44434644bc6766cfe2c73091067f9eb8aea201735eef5012f96ba267f2e6ea3aec41ac206a43cac2
-DIST nltk-knbc-20200312.zip 8760788 BLAKE2B edef7da714f81de69ca7f2d40d3c15dbe9e8ba30a044d72deb96572504ac1f539a3f51e75eceeabb196e3cc3ce4ec2756abd4e22833bc7cf9547b0805ae20784 SHA512 76f2be8b8841fad1a4ffe9b31711614d19090d1571f9d076686f6276908b8b2fa3c7258dc037f1ae7e4eee63aefc041203982bd9d2ea155c944bb713cb1f37e8
-DIST nltk-large_grammars-20200312.zip 283747 BLAKE2B dca821271941708d4ad44a2b0694a9471787ee4fac8ca3f98761404df3ee676f6e9bd529359a42292d00584ddd63658cd5ea4b455205c73f119cc4b15829c716 SHA512 86ac15613a918a924b6ffcfa4eca1491f76b4d3f92d9c3fed25257dbb0ebcf20fc69800f4bac07acb2915e3d75d41d309afb61d5354d71eef396ec3866e57f8a
-DIST nltk-lin_thesaurus-20200312.zip 89154019 BLAKE2B 7c039636911fbd96caaae6453f009fdb721efa7ae7b697c61279130f17cae5b6d96a8c8c12506212335925bd1ec7e58e609b72236cc0585bd26a8d144e4382ab SHA512 7972391164c7fcc90be80f4b673551cfbbaaf78653331023119a4296d6434c5a123dbdd4e631efc732531d1a5d0eb7ed1c9b46a2680d6493f3cb2bcf5c6f6d45
-DIST nltk-mac_morpho-20200312.zip 3013904 BLAKE2B a4a7e59cadf913179dd62a31c7e666e9dc134812405c3cdd78de2e772e457ff31d42b98e4f224756d921c584fd13c3708482007d575386bd21201c38492ab4a5 SHA512 cb892e0f414d12848d62012409cc1f19ce4c42490dd9ebb233110f75029670b1d413d82602a3b6cfbcc17fce448d7d5c2d1a811059280e154406eaa0e1b5c4a5
-DIST nltk-machado-20200312.zip 6151774 BLAKE2B 14642a214ec7e10b6451d1077e814dcfb2a5eb5f728ab368e5777d047c445b8d3e9f8808bfe9230107497a42fb87ad5c30295893352688923ee7efd456539fb3 SHA512 8ef0b5e768edd4a8b6c6831a6a4a1913ce82a57fc63f08cc29ad8442c49bd4eee27930c674f2ac141fb1f58eebde5486d12e6aa41681cb601ae9ef9562843a69
-DIST nltk-masc_tagged-20200312.zip 1602143 BLAKE2B 502d648d3af1689d81fa9e8f05f6c0dac51781f378e7cca0199a203eb98fbd61b038b075114e69f612b699c18a8353c5ab8314816422d402f84f9fd700004763 SHA512 558ee5fc652ca736f0f0238854e75d5d6e7f85e03bd19274b09bca616aaa8edd513db972f89c13232e616945cc3463fb4bfda96c2b3d897448d3b5d9ce370f20
-DIST nltk-maxent_ne_chunker-20200312.zip 13404747 BLAKE2B ef15eac5306f04adf23cce1810e80a5566b07b96616a27faf30ef6cde055eedecd82cb2b7d3f0ab8227e1e0d31fe998f0f4a93ed3ea80ba7d7f9d802fbee130c SHA512 2ac628c6a1d68a262031cb9dd0b3544da182cfe239a21996c7b7ccb540ce92b9fecb7a7f038ffdaa5c5e3a4d8b7194c7d699fb268004ab3bdb6cd671409c15d7
-DIST nltk-maxent_treebank_pos_tagger-20200312.zip 10156853 BLAKE2B ca58a0ca3e280d4acf77fc15102ab52d5fbbf2d83a6dfb91228eb7ca3585f8b1e567847c037221b3cf1650d086c1de2fcef3098a3859603f58a2cf24a6b77719 SHA512 ebcda9d7f843e47fb560530b9b75b44ae97e92102d341453202bdc42aa2e996c76833285134ca5c213d7af5b420065b28170cade92a67ba9a667b1b987b8331d
-DIST nltk-moses_sample-20200312.zip 10961490 BLAKE2B 29d4a055788f7fd87b2969a1396eb655dec29ff206e705c31bbfbecd88ab18e4dbfd7409f5c21cd5a53e3461c183628fe689634ccdbb8f24cdeef56bba230730 SHA512 54abd8add66ab286f3e016aa3fb7e74be0d4062117f382b13dc34b0091e823144f203e6c9b2c8ccaed6ffdd23e9667fee4aef57c7c95d7a3f4703eff7ee082a6
-DIST nltk-movie_reviews-20200312.zip 4004848 BLAKE2B fcdc45d77db5c89ec96ee327487e3ee17b89110c8b83f188bac868f476425e732a734e667ae3fab84cd0a2e7fdd49baf33304ffb443d17a3ebf3505a54c8e9d4 SHA512 d1271c8bc2585220418eae6f5b12137bee874ad6097875615bc254fad6a4f33e3a11878c41666fef4d16254d8489784fd3e296378ea1967acf73ba494140a1ab
-DIST nltk-mte_teip5-20200312.zip 14800561 BLAKE2B 32de06f0cc6111a4ccc1cbc99070e17018eafa45ebde6f99f8027beaacffbde1db7db9d6d2ad1044f431c52297d1809ed76a3b78543506c620bbddce88c8ea41 SHA512 10ffd9801bc665c4a3af47c0591a04144ead556cbc80604218d97f334139513c7a23ce90c76b2bfe873b16f94bdee5cae00bd99ae9da8c7d0e1e21aabfe99d74
-DIST nltk-mwa_ppdb-20200312.zip 1594711 BLAKE2B 2d9c4820da713072269a096c6c3414195888cfc4341a2d7a30e6be89efe0d9793e1cf830bf6fb396aac3da9236667c1246fad7c6d474810291e5addd250cbcd8 SHA512 4fbc2ea7c211298847c5fdfb187ea3d08fe385611fbc51d1a21efbf77c45ca886e4765007204ed03b03ee6431804d8cb4239416e95b7eea20f2f612549a60727
-DIST nltk-names-20200312.zip 21326 BLAKE2B 37389f44337724fac26eaad5a4c310ea244b471877dabcacbb05e927e486f28b696bb7898809c8f4e739566ad09bc2f5d5103e0f5c77fcf280127328e2709fa2 SHA512 72513955d69d57787ff6d74b563c53bef7e350acd7dbe1eeef0a00253a9862663d59588551d5deeb02b88fb691d72b630a65315f513b11dd6d683af5f2e4a6ea
-DIST nltk-nombank.1.0-20200312.zip 6728397 BLAKE2B 4dfb61fb651817086ad20957d02a39c99dff83ec45dc1a01e1dac055e0d7d9ef8108ef8df5218ce57b2b0866b748f5f76663a58e08f5e1731272173888e714e9 SHA512 81bcf29898ba1205ccbc8486d14518e95b0189b97b172a54580d4cb4584f4ef32a5284fe0abed0b954e67a318de8f10de5df1a20e6c08976df09cd2c9c66cb32
-DIST nltk-nonbreaking_prefixes-20200312.zip 25437 BLAKE2B 9f26efbcc429f2d36a5584014604d2ca9d4de3864aa6192a114e9e2cd55ff1df50d4321a8c40dbe96225fad6be51f7be66f8a4d58146e370a1d33a9305f7f95f SHA512 4cddfdacf1c7fe4e93a31333413a83ebea2ea7907f4e6fe99e1c6ff4aed8efc951f4399478cdb88e5d5dc01cfb734b6672f4007b2a17c4784896fecaf4a93cdf
-DIST nltk-nps_chat-20200312.zip 301366 BLAKE2B eadf0d0ee54c982765a124321fe6de161bfbfbfb0385d5d7e171666945ef313b960ba7b820e4fed02885ffc213173e2a7c97822513ae6e81e68858af21d9f424 SHA512 a716f3aaba3aedbbdaeaff1c6f1ef607476aa989eaef1c2971b827215f3167952477b203f1543d0fd27e5594c3efa01349c6a0efc1ac423048808f18eae94643
-DIST nltk-omw-1.4-20211221.zip 26634772 BLAKE2B 4d5fe648987b9aaa589d612f439560287200fe947a80182b941b0660a97a739ddda00a472209a26715aa72c44f37cdb5dbce9df89cb7bfbcdb7f4fa2908bb96e SHA512 d25c591c894fedeaf8649ef26653c51b74282e8af43bd0a8867eb16f79a89c4b567328a7c83f7651ec9e41dc746cba87b0c8bdbbe736db7f18c62a56820a92e6
-DIST nltk-omw-20200312.zip 12110409 BLAKE2B 5ae634fdd89fcd2be2dea1511b2c434755e16b92804ea6bb5e2139113c644885d142e6290ab1d00c418f9df5241ebf6b7e227da120dc95d1e907d8f62a3d0cb8 SHA512 05b1b014e55738c49b34ea0371b95bd1d1aadfb0cc57325ec110ffbbb1250690e3a4aab45e877eb5433de08c7afe3ffa161e29976a0e28db9803fb637b24c843
-DIST nltk-opinion_lexicon-20200312.zip 24947 BLAKE2B 47f5a381647075f4bea0230939098a6e83b47860165595e72f076a5436e2aad78148606d86ec331b1cc323963cb2a7500669c6fc2aff2e889bbaec8fd8571722 SHA512 75b98afa24c4e0284b2858770d7655c5c399066f56c1b9aa03dd51d80f211a694856695f8192570f67f02f0827ab02c3f3b65feb5a56c04bebfae3b58ca56ba1
-DIST nltk-panlex_swadesh-20200312.zip 2861668 BLAKE2B e9ee3b2296c8738319a86dfb39d34fc5bcd346e725e0ad0df74571106ef05b71126aff70914e914cff436674c0d70c71ca36121331ab0327932505a2bdb26be1 SHA512 d096be1c6ea54814e448f61048f05df9107c0ca5f75eb3051a009efd4643c94188dde03505b0a4ae29d301268ffc5153eeee7012aae18310f9288fd4ccdb2287
-DIST nltk-paradigms-20200312.zip 24902 BLAKE2B 73b0e811f80b0dc64ae62f8a0ccb3906b723badd9b1ffd358194f7ea54373ecff4b75dcd4f06e3382793ea7bd31af98c6d31ebac5c793dd1446153e6d4371b13 SHA512 56ee67f12d2e794e3498183ee8cd90e7d691ab06f576ec413580fe1fa7ff49cbec01fc44c5b323fcd764600946a1866338c0babd6eb4cd658e006e4420205fba
-DIST nltk-pe08-20200312.zip 80735 BLAKE2B eff34d07cd6717e1e661ffb8b187f96f84b88fc53fec2d3c15c1591d3117c461a996cb1b9c4890c41f2d82e1a8253c3583149ef34c8c42858855ebac5659923a SHA512 c0d5fd7df03b0d3e69a45e4f3463cd3a9de76a4d66c39c0b0641ede9ddab34bae1df14d85c85c78b4d375b478b4a4cbefdbc5100aff6c4e59e550903537d3416
-DIST nltk-perluniprops-20200312.zip 100266 BLAKE2B 36459b87d3cffed0e1331c322b0eece674d2cf7a9ec9a8bf5ebebd6bb11dd417fdb0ce471bd7078a24e02b5477d162885a327fcb0b89ec5e845f81c58e74544a SHA512 3e18cb45063d3e2ea0dd5160d85efd672a1a4f94436f732470ef63c8dcb2b3faf92db38d2d4e9363759140a9380d212809cbcca0f4459fc35bbe9a77fa107b42
-DIST nltk-pil-20200312.zip 1510205 BLAKE2B 389a0df127ac521de7de262d7400252a7353b8842e5b27f948cfdddb7bf565702e08ad9341f0be6e0c7725882cda5a3db960c258d0ee42eb8023729291bf0640 SHA512 1964ed66f604e6c39c9cdc8a5a4d9603f00893d02129349d84cf4cce68034c04889e9346df7719d6f468c03ddbec4a892035f3330cb408a7f6aab0bfcb3b865d
-DIST nltk-pl196x-20200312.zip 7051453 BLAKE2B 2f5cb39fcea51d27992f5dd410dee8706c0c8146d216e4353f4e235a2df1833915ddc87cd20d78b9d7a503c10a6444842bf7d64fa6dbbb5bb1f28077b524f345 SHA512 2fbb2eec61562422ddbb7fad804c450a9b513dc10597c3341b811a3aa64a28ccaa836d736ac79319edba73c8c8eb85d4103573cfae51d649cfcbdd3a758e018d
-DIST nltk-porter_test-20200312.zip 200510 BLAKE2B dee1fda2cc678a4cdefbf2cf3084b1c8df08bdb195d2aa42fd3314870d5dd96f8d8219987b3285f9b040f3e493a97f0f306b0ee8309fb73a44ee25aa24fa97b2 SHA512 8be4d1faad2b64bb3b9bfb2831c5b870d4213929fd087a9c62e217b85df9f1c1946c9cbdefcc51c110b4980f44bccc45a61c683cfc951b0913270fc11517bee6
-DIST nltk-ppattach-20200312.zip 781714 BLAKE2B 26613312b15d391883679d26e528949cd8b50ed88b45776f87c40180f12a4a79dcd721a7d9849b97d6b86d5ddff871d29db674ae750b0dec94f042a78ab67458 SHA512 9afa462379522276c8cbb8e8dc14a57cd221272da40056a1ea82daaee44a8464283927a9fcd94b426257bc3a04374db058cfc4fa31435cf8993942d05444befd
-DIST nltk-problem_reports-20200312.zip 1032942 BLAKE2B 45b4536712c6eaa0c4b385792a22608737b3790c0e3b644695ac18b3327c216407d56c4b3a89c0d9123eaad4957104421b0c218822ab9f96000e9c0f422f332a SHA512 766c45a016171c7440ed2604db11f1ab1cf39d287bf9d10c87bc29fa76b0661a048fcc484328427c39d59556efec928a5fc687ba2d36e555c75826a28df2372a
-DIST nltk-product_reviews_1-20200312.zip 141287 BLAKE2B 18e83e267d3edadd7eb99dd87f9094b0fb426006e21497d373c190d17859dc50adc6dcac7101e2e0621df06c812287a7f969ea9c4149521b649ee7683c8c92b2 SHA512 511a719b2694bee35a39057a770005f0234beebc289e01aceddd432adabc5e580e99cc8a06c960855764709432b24b62508daa5414cd4b1e491379c3f07649de
-DIST nltk-product_reviews_2-20200312.zip 170698 BLAKE2B 395d5ac71b759a546a3e25fb6ef584eef5f6076fde9e3952f12a3b094360e493cf306fd07a3d266f46ceb37d94f000faf387b99ed7b4b9dec5cfa661b74d8318 SHA512 24ddd6e62a62ef81ec88fa5991507f3e7e479caf778d3738bb30ddc74898e03a8629a532147a0e0b899b3b2e0933fbefdd0ec0b0e774fc726c4145d66bf5cd29
-DIST nltk-propbank-20200312.zip 5323498 BLAKE2B 7abde7caca8fa267bdcfdacc507ecef133d80989909563380f9ac296213ddd94680c25b0e9eb339d2ed7f851eda185966f6be63ed86fae5d9d397d8758ec75bf SHA512 6bb6f88648c1f6044d30dbc56ce1924240ddc1420c7abe8ebecf3684d69bc2dc20f1c575a6ae368a39fff40c5ef09f80d94bf317a37301639321085f102b54bf
-DIST nltk-pros_cons-20200312.zip 746276 BLAKE2B 7a1aec593396f25c75949bde9627b0568e4d406fb2d42ccb6e7be6ff7d3b118bdfbf34b574e40cdb27d8e65e5a370f820c839bfbc0140b2b177c9dbdd89e3516 SHA512 9eea1070b67e648d5e6e84d5a336d95c9eb3192cd0fa4a66f298076ac5907783ecda5cfe1b6e66209a99ec4e326666b14e1cc89ffb4cc8b2b91fed7db77db75f
-DIST nltk-ptb-20200312.zip 6289 BLAKE2B cc4c91569a5a9bad0f3cfce8e0d98179a53b3caddfb66ece085b293b882e46328a108c3be86261dfd869ea2fcc33d3687bc41adac3ada88ea748cd3480c88836 SHA512 dd59d84f20ec52c38063f0961954c063f614b94696307a63fae21839c51c81435d0205fa276f6811d9da7fd083e93f51f0603b5c35dcddc539a9bf59b9dffb6e
-DIST nltk-punkt-20200312.zip 13707633 BLAKE2B 22a0b3aec8a72735fb39aeeb596601452a70cd69e91206e94c5204153da8dedea3b7ec00c460fe19962e223adfd9cffc05a00daa4df48e3f2da500da51e99d2f SHA512 d477823c0cab57a374822cf58dd8bad35b86a504a51dda10de33b27cfd2ca4c89bba946c09f1ed3b28ab4d1cc1e5f3d3781c5f78ebe87458e1df9d48c8841782
-DIST nltk-qc-20200312.zip 125456 BLAKE2B ae02a2cd727e1832ede5fa5b3ef561059c9c714ced80bca311a360dacec6e176c034d802838335437cb8fa25ea877c3774fbac6790cdf6b9b75a3908e76e2dcd SHA512 8cca288f51164f7a18e1c99f2b6a35a3d890bcc5471b5be26883dd87d9b5e06214d15cc1133598fee330f0daf74ceaaa862410f6d95dfd56842a2cb84dd67390
-DIST nltk-reuters-20200312.zip 6378691 BLAKE2B adcb783246f4fd6e73b32fa9419570d9c7e9ecff1c9e2ae39a587f9036ab5eaf9a6ed87b7794dfe2f0ba965cffca68e51c243e3396c179a0282555601caee55f SHA512 21b5a4e114137cd8a52b6e3567c2d72dbe7eac8a3234952896126d9d598fbfa72a7c1e6b7c424b8b016ed345d7350cc562c6d039e2fd6ec0d73c68e13e58605e
-DIST nltk-rslp-20200312.zip 3805 BLAKE2B bf4500dd0e28cb4f018b8d13c5b920294163e7a9735dda12935f6b25ce5c71f2181e3bcb33444d490ba7bb1a029ef50dcdb2df4bddb09bfaf9d91b91531b8461 SHA512 83994b9cf2c925e559c68a03abb1499e3cd308fdb5ac6e698c3b5e2458393d9eae2420b02b4c46fd04527913133a1f19b3a2e5312f07e222e8cf072886f94973
-DIST nltk-rte-20200312.zip 386303 BLAKE2B 384e22acb3ab9e37aeed26e85253a19bf14a4c0fff1030db5c530faa12380d7c8334278514e2e3a25ed6169f7310f960a116b10e1d021f5521f1271f2c039a05 SHA512 a091b04f9c63e4ee193f40cff7a60905a9f5bfbc687a27c7d66cc6f6896e5abd489dbb820f98baaa2a4d855e09b92203c3756d6eec31ed4f4c9dab9e689438d2
-DIST nltk-sample_grammars-20200312.zip 20293 BLAKE2B e59884ec6ed4e7699a7d066f332d09ca26e3abf53a801b37e8592c79f2a812a0fdb17d4f730ef5d820def8b78578c4ef8e60519e74a352f731884f91eccae75a SHA512 c4a99d38f6a85c6639d50b6fe9d0ce14bc87eb9dcb4a1a2dbc6756d756f903d6541d352401a42b20eb4a0df0ad1f41d75d33915b080345a9f88f4ad15f146b34
-DIST nltk-semcor-20200312.zip 4397021 BLAKE2B ef1a1915309bc4b829a6eae9cea0ce4a0a9e5caef731dfc107e634a6e6c2fc68173715d66b10d71931e4e46ef9eb09c13baf91fb909868a5d920d5a371e37a0f SHA512 a6d45b8c1043d94493fea3abebfb6fd1d690192243739d98f0df8a3e89de3a07da17078bce9797373c2312a249cdfbee41c952f1acce4e17c5cfd12e02d7267f
-DIST nltk-senseval-20200312.zip 2151350 BLAKE2B ec21463f7ffe27e3dda47e38e356346491ce64412f6d4f537fb73e72a0d6dad2667d75895add461dfebc729d44b091365020f7e9c93c7e7bcddb00c74f90ee30 SHA512 4c69145668cbc9d25d4d6893caea417258fc34c23527538f5799d96da19f45aeb271d08f48ea434ee21b7cb499579631556aa517c294743bc64e0f840854ba9b
-DIST nltk-sentence_polarity-20200312.zip 490256 BLAKE2B 56a1b4668875d5c73b220710e8af84410a273f394d68d7e9decb47c5370f0f7c1982d37710ab903d78dac0108ec2e1a26e8f1cdd3fee172487397c8b2ae01ee7 SHA512 d3772edc13d46fb835f40a9c6714b95885d3ba2eded37a24c8aad6d3e63ca49a9c79387218e2f67bda2e52d52449daf1dd1e603a4819ae46da78f4e0a38ba599
-DIST nltk-sentiwordnet-20200312.zip 4686546 BLAKE2B 98a45d9a5be971bd9e76ad5c154359c1800aa96ab1e8e301215e435cae6d659cc0fb38604435da4e9a391741a72ef7fcb842a1cf119348a7039f717843035f12 SHA512 cd0ff31abec3b85e3114546918c9152360e3da45fbbaf7b4c76a13a6d288f1d9ea7a4633638080cd0205cc293b4123445106e9b5daddb2ae379d6a08d1c992a5
-DIST nltk-shakespeare-20200312.zip 475458 BLAKE2B c60acbf2d90f5fffdae43bdf85191dbd694ec5ae19e37b145ad04af6d8481988f0c2ce644baff2e31707e86d95a9b3b03c1da4faaa46be92da2291cce565955e SHA512 72cbbdb237b78df1f6bf27b5504606f805433746b9862dd1ce544ab712783a41fb165f3a4f282a7f1bd58c7dfe6036c14ecb07a82c109f6d326eb95e470002fb
-DIST nltk-sinica_treebank-20211221.zip 906706 BLAKE2B 0c00bc7d39765b86eb99f55e82522d390cf0270fd2e2688d5825481b6f11e54aaa71b3f9ac95af170be543353746777da130bb6b294b0529330c712f9edaaab8 SHA512 22d44e23e89691f775a0e54971fada692aecd7cfa5181d49e9a53d0a96dc3be1beaa1e1ec6840f9b2756c5c16c93f96b571f6b08c175701485afc0c32261cac8
-DIST nltk-smultron-20200312.zip 166207 BLAKE2B d0c3e75dd108965e260d913e0c02137da8707a751a4f53a1f59ff6a26af9997e2f0193980b5087277b87b74d9aab3e3c8d066d7264311cec2a94f0f9d21caf44 SHA512 8872717994269caff4ccf3f52cef273b2ef007efeb8ab89392cb4db3b8e3ba4b8859ab2fd70762b8941bee4558aebba3021869772be17a64e1056968aa605e19
-DIST nltk-snowball_data-20200312.zip 6785405 BLAKE2B 44c10439b142540ac7eece967efa1431fd8f45342f0a90875dacf29ad374fe4c7d30af11d42ba45e0f1ec1836d56b2ff684ee352c5e8536cfb5db5eb7632285b SHA512 6c8a9259d88f6f7f499867d83b731de99d7fa4e8827ecedf836f653fc1a810efa9f6c5c6e2720a9e6610bc00978956b6a119bd08b70e3e241c4e9faccddd81d8
-DIST nltk-spanish_grammars-20200312.zip 4047 BLAKE2B d8a8dbb558850a6a60f1fe5ab0f617f3a0f3c64bc7d49980cf793d374c6679d1bd42afb7e61776737b5eec162f2520abf2ee3acc92ea9ee0f397c3089b3b5b28 SHA512 4513347156e9351c259c0e2448198d68354bbc95e0a54561c31a88f13f333ebcba3e294c820cb62036665f2904eb6a7137546cd580e361c0423c30a8aed950b2
-DIST nltk-state_union-20200312.zip 808757 BLAKE2B 2d352af0ced736d3c11a821eaba0b035b3b5b6b0f20db3bd5d4ac2451f99daf68bffd3ad984bd404ecc4a1e67ca9281c529af2cc9e295a3a7330f36ee9640bc8 SHA512 a6fc83e6230e57ba66a7af62f0d2a5d44a14530ed1e0e914590b3f8b5bf939967c126a5e6f6899ba9134843893f65212e836d311109393c1200191a5c3163485
-DIST nltk-stopwords-20220704.zip 34276 BLAKE2B 529a26163c01123bb9b800cfc8f7f5a23701246194c0b55012b418384ca48c56eb5c27a5f104e81ba974cec845e7025829e9d396a384d331903982cd29c98623 SHA512 8b76207f53d05c251aac078d9b8537f100a202cc2a43892af0c79da8d99ae8335225a1bc8a56f1be4cd1ef45c9c987b6c9c334e0f9fa59746bb33694c58a556b
-DIST nltk-subjectivity-20200312.zip 521628 BLAKE2B 0a8777a5b91b1b825fbde41cc927d496480129f0a810349bddde2036ed16f37611f2bc3b007e74fe36523612529a92433d32d094be72d247f5faef8220c3c491 SHA512 a3cc4d2d20f26c5eabd86fbced2c013e69d46e607013278eb35831a62e57523a17aec1b580ba62c7a867e61a561e1b222d8430f0c1e2d429a9479e12b008c5b7
-DIST nltk-swadesh-20200312.zip 22828 BLAKE2B 1cd9d5355c6b53694ec545ca001b0807b4912a7878ba075b0f81ce8b9b22a5c7a18cf52cf2449483a1c89cd20d8d86986dc3d827fa93a7ef5824fddbc0922025 SHA512 90cb32532a5378d05ce34b84b5f8363dbb32f24afac58b0dcc5cdccba98fd7d37def7f4fbe76b11c8c64059bd19df745562bfbf5f4c721d65ce9f4be1348ab76
-DIST nltk-switchboard-20200312.zip 791161 BLAKE2B 211116a751ae246fa31b6aca96b396d3642d89ad112588a09f8d91a5b76dc41c7fb4d36c16c6358cd8e0da8056bc83598ed0dc635cf7b1fd8469a0e80b5f1761 SHA512 690e5392dc082c4ac550bde2848aa65117e7a25cbc4bce0887581c531d03be64e21f044ac0a3286648255f0edd7766b1161f5575ad5fd680c7303b34c3226b8f
-DIST nltk-tagsets-20200312.zip 34531 BLAKE2B 7966055f926f33cba5929f16623afdb232c6168049e07728fc6629641eb5e8bbeb47fa4c2e3ebb89b7f5f49855565ebdef17c9a9ac7e7cad58fd42ab53d5c333 SHA512 03a5a9643c3f242ae699f4d2f5269aacd167e1ddfdb826759dc5a51271e37efb89ac7d3d316e7573b00bb92ed2138c8c72cb0b67b7f28ca8ac93ed0a6d48c798
-DIST nltk-timit-20200312.zip 22251869 BLAKE2B a4ab4f5c1973bd748893f15ac47eedf7e1bc6de1ea40caa9e5687535a5e2e4f159ad98aed5b2ca78133146b76fc593e279502d3cd238fa3a96c5825d8b31d773 SHA512 0f7f853dec95431f2c3f404ec275a06ae43c3d4a506e787f94689521b381bc9cb4b76fc93b9829bcdc3265f8465e11e0ddc2e0d8a36c88b544dec21d679b9b7f
-DIST nltk-toolbox-20200312.zip 250616 BLAKE2B 34b0bda4cd229ab8beada332e43a1040a4cde652129b70b06e8409bf467423af6f15c8001ee9b162cd2714c9ac556e6d0c484572b36c85126851d1299e676e66 SHA512 33f50ff645bc359894de098000e117d7a077e9422a3318524b06bb895c10c33a583faa134d79f620ec95ef5b3ba9d502d15e68b531e6429845181da9b163307e
-DIST nltk-treebank-20200312.zip 1740034 BLAKE2B cd40ad3df05dae4d5e4f7a3a4154eb4ac239b0f41b1798da72e023c7878afb549d29ddba73111dba1e2f34554538f1f949d2622363deb1db9a8f5ac1b4dd455a SHA512 f2b3793329259c16b2544cfb544270e9c4b4d25eccbd997c086d3d5915981ceb038f719c097d4c71429aa9e7c4f0e19918db06b249166a2f6153d6b618c96a77
-DIST nltk-twitter_samples-20200312.zip 16007673 BLAKE2B dc100181ff129c2e9774c643cd0841220496443902ba57818c327929782b4d6e0434ac083c47cd362401d4aa804635fd2e008342755f1cd7962f23e0bb57e3f6 SHA512 1c950e0135e8da58540ca618a1d52f0359afde44b429bede4005182924736d3edbc0fe52638a2101664490fe7e2eb25d7ab704909b241b9349b8c5aa7a185892
-DIST nltk-udhr-20200312.zip 1170177 BLAKE2B cab5f8b4ffa9c0c303620a499f61bbe654545a5689aaa710df743054836a7843e826d97ee91f7b84ba2dcd32ffce432f1932c53797e791de2776eaf183870988 SHA512 730f83cb663974edc099427fad0a3c1cd16769f5ef82446a78aa0e12f01b68a4c52037bdb5e3717dd6b08c42655b03d9d0f2f5869c01b117ae2ab8a428df0dcc
-DIST nltk-udhr2-20200312.zip 1653975 BLAKE2B 43ee8c9c490a6a8ee5f0d9273bab83f77ba3d977da7eaeded3239b8c16f3432ef36478d0d290b1df9fe9af4e0c5de1902b8fe699788b7681003e5c8c426574e3 SHA512 eda644aedba1d0b9d2605dc6b1c8c77943692b4404c4a9c904c82956432c9ba7e27bb0f496e63d3eef7f29b4b34eb929f8d9228b4fd56613d5d4f743fa1d87e0
-DIST nltk-unicode_samples-20200312.zip 1212 BLAKE2B 715c6030baf56d766dce7b920500c29dc98ce4edc9b41fb4c858960a4630469fe5a269be6d0b2d33b54ee0208014b1e43f5d9ec49b878442963ea21e4e3acda6 SHA512 88cac1ef0f43fc491285c0638807f88f52d1baba8964cb2cf37c4ee3e8cd8c080071f108fb553fdc14ed17cb0e80343097c08ac7c1613b0abbd84f559e38fba8
-DIST nltk-universal_tagset-20220704.zip 19095 BLAKE2B 829bb169ec42005fd5c0bc827d0820eab49acce562240b942dcccc4d3bd96b3f17d24fe46f21d528264ebe976df79e2bb00da33a889759cc20cbb06f40a6ac41 SHA512 2a0094744c0e697e0cbc2c49002f41d52973a87dc940636b5edb1a162f7ac4f165911555be590c5b66d69cede918ed9cf2d3ccd59f91286eba274ef44c8df28c
-DIST nltk-universal_treebanks_v20-20200312.zip 25908853 BLAKE2B 20f8a6c0e759ab15560e71f48527e26a0dac554b8996dcebcacd2c5d5e3cea8947481734a03680843176025fde6d5e484e9414dd239043dca380c79053d71d8f SHA512 3dcabe02ff8bb1044f7d9e1c5af294af05291ff33a6c8dc16d3a3c855ccbf3a8261d92ea926e15e0d7f9228ae81e7863a283b156812ad30575c9ea947ecbcc55
-DIST nltk-vader_lexicon-20200312.zip 90486 BLAKE2B aaa4a07a600d6ef53373250afd62a1a5e76cbeb28b56c06879d07a6cea593d7041300e6eaf2ce39b87dc0c04a536fae111df80604e7f517878e680fb9db16019 SHA512 55d41757736806a2a0dbcaedef28000b4461eb44dce308c9e06315feb55f843914f743c37b6cf220fc9e61c04f8f7f41dd338438059e2e803fc2b4e91f739923
-DIST nltk-verbnet-20200312.zip 323661 BLAKE2B af5b26a63853d1bc3fc99c9cba3c50a82bc148cb6d95a26045c9aa29ba83408db76b098354e99f07696d5e2373ed9d8a35ed8504ac9b20e1b4d16252a238bc85 SHA512 00368fb2d5cf1bf818f1d72762d2c40a98067937d71a65ece2ca0f4bfab6f8957b32ba66741901af34258cf3309d00dae433b1092d0b7adb145a791dc3bf859b
-DIST nltk-verbnet3-20200312.zip 482025 BLAKE2B 256b922160c6c8288d1a80d2eaab686988e1bdac2c7cd04b99f1662815e77881d97d4655a22480f3c3ba5fa5117d1098f416e5c460ca725e299e94a5e9bbd12b SHA512 aa8f0eab8d132d30039ae93d077970183ea87e26b3918b9760cd9c86cfe2a8b09e49569f8c4e12af9c3b964d9d341dfe10772377843ae9b6d888a439acf63268
-DIST nltk-webtext-20200312.zip 646297 BLAKE2B ca072fc38c144b659c76c36c9161641c91f814fd84e5cb8bebe5dfe9382e5813bfaafafba2cb8b2e23d014f071c5b5a9589b78a2028418ad61147b0de35b95bc SHA512 7c88ff4920d2b61bf7e7cf8265100d8781c061c0742852a8b49142eb9a4d48e34ecc0c6257cbb7d7c2e7ea7ee87e942305b03451522776fe09a91ca86c2fbe4b
-DIST nltk-wmt15_eval-20200312.zip 383096 BLAKE2B 119943db4240171077569b3302c678644c2c9547ba67bfd055751059e0a3ad3ab6a19e4eedf9108d313d46dcd36cf19e11d973981da8c70a01c4cb790a7bd739 SHA512 362395d4c77ebe92f4c19fa8c2000082dc7a2343acc19cccb596ca00db6c40c231b904d807f46e2691cc4c4a0c79d14873b2a1983a494f2ca1485d540d787ceb
-DIST nltk-word2vec_sample-20200312.zip 49396025 BLAKE2B 0512b9bb7121a528190079f578e82b4e8f8021bfc0062cfa5613d260f3eee17460aecfeaacb65d950e79d27a653c78633a88c3638ec16377e2dbc3006387ebaa SHA512 09c30a4ab8f9fb6a5b36974b5953260d01cb4f285827fb90a374d054ad775ac978602ab56c452f46f4f8601312e232fd739d2f54dafa44ab8b7b01831cf0d9d1
-DIST nltk-wordnet-20200312.zip 10775600 BLAKE2B dac56a8fb1fa6882b1871c394ad2acb2d3be739c424570e27c89fb6983df5f896a8f359092ba82752ddfc0531d83563a219e85f80124202f29bda93181efe4dc SHA512 1923a8bcd56fa0b9a9de91f53070dce28c3a7efbab11d2ef55c87134b1bf30de0f40abab59c39eb15dce54aec9491d8a5a259de212ff4cb25cde0ad09317009a
-DIST nltk-wordnet2021-20211221.zip 11332750 BLAKE2B f4296728b803ef5a48cf312e2dd1471e8a240a0486e0c45b13c4c9998b8577ac30f87d151ffb2957e319e2b7b82706eba82b7b21530bfb3600d7cff2f4aefa0b SHA512 f27e847e0fd3fda83848af8bf94793d0e89c5f89b7868e222ba60be59122587f524e124e9d84f0b904b3a48808aae1c7d849f5851e2f3119ec99b3c30baac400
-DIST nltk-wordnet31-20211221.zip 11058667 BLAKE2B fb2dca62f602e05226dd62802f42e5f74d11cc535e71b1dc634a202a8c52a7912b1eb0b71edb3c564520c7c05251d9a9928abe88398b816a43035a6db4bda1b3 SHA512 dffea47ded52a042594dced94bc877686d78e6dc9d5a9db5f2a1718190f411cc991b04028d0a4407a8354afd695258e2a5ae881d5f6d9eaf0c3d30de1a8cbf96
-DIST nltk-wordnet_ic-20200312.zip 12056682 BLAKE2B c2dc2a646015b23699a72f636b588ec5718c70e6941d9d56863257e1e0396c8cf59ac1dc6ed74e5d7f0c2ee9129d63221a03967bf66a3d335e99160f295ed44d SHA512 1c94451a13af6c76bff60a0cab2e70402a3d9abd2e8fc62a5473f24ab4229feb0afe4faa8d389734697a6cf86d2c8b1dc700bb3afa3cbc279b75d7e0ec19fc6d
-DIST nltk-words-20200312.zip 757777 BLAKE2B eaaaaab6c26e206e9b6ce45daf779e3cc6706a06132afeabf013026d0009caee2d678f3c4ea9125b9654f7143bef29ec7a5706b79e5650ea556c6821b7754e6f SHA512 2810f05d3fc7ee6b6f8636fa1ff7b4e8c8cdac12b415cc54d15c69102290122ea138ec4fa36cb483f790c1ac10b0f83ae4c2c3e0e8df7e67e90e962ee5dbb0be
-DIST nltk-ycoe-20200312.zip 477 BLAKE2B 574835aa011a06a06363e26facd6a6f583a1dc1cac2de39adff59d8ab48eefac030b43d935a2f79af855259f2a9a571193dae2811589483af97406ff05c76c9e SHA512 e39ce165074d10ff63cb84ea52905d7ecb937797c8123ed113c5609afe1f63ac44d04d48a681002c4eac21dc9076ac74164b886c6f9ce42f3a102c38d1e8e756
diff --git a/dev-python/nltk-data/metadata.xml b/dev-python/nltk-data/metadata.xml
deleted file mode 100644
index 5ec226b982fb..000000000000
--- a/dev-python/nltk-data/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>
- <use>
- <flag name="extra">
- Install the complete set of data files. Otherwise, only
- files required by tests are installed.
- </flag>
- </use>
-</pkgmetadata>
diff --git a/dev-python/nltk-data/nltk-data-20220704.ebuild b/dev-python/nltk-data/nltk-data-20220704.ebuild
deleted file mode 100644
index fdbb6fd0da4e..000000000000
--- a/dev-python/nltk-data/nltk-data-20220704.ebuild
+++ /dev/null
@@ -1,223 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit check-reqs
-
-DESCRIPTION="Data files for NLTK"
-HOMEPAGE="https://www.nltk.org/nltk_data/"
-
-# at least some of the files have poorly documented licenses
-# TODO: create a USE flag for free-ish subset
-LICENSE="all-rights-reserved"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-IUSE="extra"
-RESTRICT="bindist mirror"
-
-BDEPEND="app-arch/unzip"
-
-# https://github.com/nltk/nltk_data/commits/gh-pages
-
-PACKAGES_ZIP_2020=(
- # wget -O - https://www.nltk.org/nltk_data/ | xml sel -t -m '//package[@unzip=0]' -v @subdir -o "/" -v @id -n - | sort
- corpora/comtrans
- corpora/conll2007
- corpora/jeita
- corpora/knbc
- corpora/machado
- corpora/masc_tagged
- corpora/nombank.1.0
- corpora/panlex_swadesh
- corpora/propbank
- corpora/reuters
- corpora/semcor
- corpora/universal_treebanks_v20
- sentiment/vader_lexicon
- stemmers/snowball_data
-)
-
-PACKAGES_UNPACK_2020=(
- # wget -O - https://www.nltk.org/nltk_data/ | xml sel -t -m '//package[@unzip=1]' -v @subdir -o "/" -v @id -n - | sort
- corpora/abc
- corpora/alpino
- corpora/brown
- corpora/cess_cat
- corpora/cess_esp
- corpora/chat80
- corpora/city_database
- corpora/cmudict
- corpora/comparative_sentences
- corpora/conll2000
- corpora/conll2002
- corpora/crubadan
- corpora/dependency_treebank
- corpora/dolch
- corpora/europarl_raw
- corpora/floresta
- corpora/framenet_v15
- corpora/framenet_v17
- corpora/gazetteers
- corpora/genesis
- corpora/gutenberg
- corpora/ieer
- corpora/indian
- corpora/lin_thesaurus
- corpora/mac_morpho
- corpora/movie_reviews
- corpora/mte_teip5
- corpora/names
- corpora/nonbreaking_prefixes
- corpora/nps_chat
- corpora/omw
- corpora/opinion_lexicon
- corpora/pl196x
- corpora/ppattach
- corpora/product_reviews_1
- corpora/product_reviews_2
- corpora/pros_cons
- corpora/ptb
- corpora/qc
- corpora/rte
- corpora/senseval
- corpora/sentence_polarity
- corpora/sentiwordnet
- corpora/shakespeare
- corpora/state_union
- corpora/subjectivity
- corpora/swadesh
- corpora/switchboard
- corpora/timit
- corpora/toolbox
- corpora/treebank
- corpora/twitter_samples
- corpora/udhr
- corpora/udhr2
- corpora/verbnet
- corpora/webtext
- corpora/wordnet
- corpora/wordnet_ic
- corpora/words
- grammars/book_grammars
- grammars/large_grammars
- grammars/sample_grammars
- misc/perluniprops
- models/bllip_wsj_no_aux
- models/moses_sample
- models/wmt15_eval
- models/word2vec_sample
- stemmers/porter_test
- stemmers/rslp
- taggers/averaged_perceptron_tagger
- taggers/averaged_perceptron_tagger_ru
- tokenizers/punkt
-)
-
-PACKAGES_UNPACK_2021_12=(
- corpora/inaugural
- corpora/omw-1.4
- corpora/wordnet2021
- corpora/wordnet31
- corpora/sinica_treebank
-)
-
-PACKAGES_UNPACK_2022=(
- corpora/stopwords
- taggers/universal_tagset
-)
-
-PACKAGES_UNPACK_EXTRA_2020=(
- chunkers/maxent_ne_chunker
- corpora/biocreative_ppi
- corpora/brown_tei
- corpora/kimmo
- corpora/paradigms
- corpora/pe08
- corpora/pil
- corpora/problem_reports
- corpora/smultron
- corpora/unicode_samples
- corpora/verbnet3
- corpora/ycoe
- grammars/basque_grammars
- grammars/spanish_grammars
- help/tagsets
- misc/mwa_ppdb
- taggers/maxent_treebank_pos_tagger
-)
-
-PACKAGES_ZIP_EXTRA_2022=(
- corpora/extended_omw
-)
-
-add_data() {
- local x version=${1}
- shift
-
- for x; do
- SRC_URI+="
- https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/${x}.zip
- -> nltk-${x#*/}-${version}.zip"
- done
-}
-
-add_data 20200312 "${PACKAGES_ZIP_2020[@]}" "${PACKAGES_UNPACK_2020[@]}"
-add_data 20211221 "${PACKAGES_UNPACK_2021_12[@]}"
-add_data 20220704 "${PACKAGES_UNPACK_2022[@]}"
-SRC_URI+="
- extra? ("
-add_data 20200312 "${PACKAGES_UNPACK_EXTRA_2020[@]}"
-add_data 20220704 "${PACKAGES_ZIP_EXTRA_2022[@]}"
-SRC_URI+="
- )"
-
-CHECKREQS_DISK_USR=3G
-CHECKREQS_DISK_BUILD=${CHECKREQS_DISK_USR}
-
-unpack_data() {
- local x version=${1}
- shift
-
- for x; do
- local cat=${x%/*}
- local pkg=${x#*/}
-
- mkdir -p "${S}/${cat}" || die
- cd "${S}/${cat}" || die
- unpack "nltk-${pkg}-${version}.zip"
- done
-}
-
-src_unpack() {
- unpack_data 20200312 "${PACKAGES_UNPACK_2020[@]}"
- unpack_data 20211023 "${PACKAGES_UNPACK_2021[@]}"
- unpack_data 20211221 "${PACKAGES_UNPACK_2021_12[@]}"
- unpack_data 20220704 "${PACKAGES_UNPACK_2022[@]}"
- if use extra; then
- unpack_data 20200312 "${PACKAGES_UNPACK_EXTRA_2020[@]}"
- fi
-}
-
-install_zips() {
- local x version=${1}
- shift
-
- for x; do
- local cat=${x%/*}
- local pkg=${x#*/}
-
- insinto "/usr/share/nltk_data/${cat}"
- newins "${DISTDIR}/nltk-${pkg}-${version}.zip" "${pkg}.zip"
- done
-}
-
-src_install() {
- dodir /usr/share/nltk_data
- mv * "${ED}/usr/share/nltk_data/" || die
-
- install_zips 20200312 "${PACKAGES_ZIP_2020[@]}"
- if use extra; then
- install_zips 20220704 "${PACKAGES_ZIP_EXTRA_2022[@]}"
- fi
-}
diff --git a/dev-python/nltk/Manifest b/dev-python/nltk/Manifest
deleted file mode 100644
index ef1d47b1d343..000000000000
--- a/dev-python/nltk/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nltk-3.7.tar.gz 2851947 BLAKE2B 4cd4fed9f26de7996bcabbd71d500c072489e79ae0edb29f09577e465227c948efa7130af6975b029e77fb79db015437a9e3311eb28048d02dcc2356441d0908 SHA512 66d79afa59f18f2bf7d086dcb22813c7b92239c05669daa62866dbda06c0ca22367317749cf19db3e41a7bdb405d4f87f72b695aa58fd0669bf36de64f1f9888
diff --git a/dev-python/nltk/metadata.xml b/dev-python/nltk/metadata.xml
deleted file mode 100644
index c0f249f45d9f..000000000000
--- a/dev-python/nltk/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">nltk</remote-id>
- <remote-id type="pypi">nltk</remote-id>
- <remote-id type="github">nltk/nltk</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/nltk/nltk-3.7.ebuild b/dev-python/nltk/nltk-3.7.ebuild
deleted file mode 100644
index 0eb34545c3f7..000000000000
--- a/dev-python/nltk/nltk-3.7.ebuild
+++ /dev/null
@@ -1,62 +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_{8..10} )
-PYTHON_REQ_USE="sqlite,tk?,xml(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Natural Language Toolkit"
-HOMEPAGE="https://www.nltk.org/ https://github.com/nltk/nltk/"
-SRC_URI="https://github.com/nltk/nltk/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
-IUSE="tk"
-
-RDEPEND="
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/joblib[${PYTHON_USEDEP}]
- dev-python/regex[${PYTHON_USEDEP}]
- dev-python/tqdm[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/joblib[${PYTHON_USEDEP}]
- >=dev-python/nltk-data-20211221
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/twython[${PYTHON_USEDEP}]
- sci-libs/scikit-learn[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- )"
-PDEPEND="dev-python/nltk-data"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Internet
- unit/test_downloader.py::test_downloader_using_existing_parent_download_dir
- unit/test_downloader.py::test_downloader_using_non_existing_parent_download_dir
-)
-
-src_prepare() {
- # requires unpackaged pycrfsuite
- sed -i -e '/>>>/s@$@ # doctest: +SKIP@' nltk/tag/crf.py || die
- # replace fetching from network with duplicate file URL
- sed -e 's@https://raw.githubusercontent.com/nltk/nltk/develop/nltk/test/toy.cfg@nltk:grammars/sample_grammars/toy.cfg@' \
- -i nltk/test/data.doctest || die
-
- distutils-r1_src_prepare
-}
-
-src_test() {
- cd nltk/test || die
- distutils-r1_src_test
-}
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 443c714661da..000000000000
--- a/dev-python/nnpy/nnpy-1.4.2.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 dcfed7db2fc3..000000000000
--- a/dev-python/node-semver/node-semver-0.8.1.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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 ad8fe458dec7..000000000000
--- a/dev-python/nodeenv/nodeenv-1.7.0.ebuild
+++ /dev/null
@@ -1,25 +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_{8..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-random/Manifest b/dev-python/nose-random/Manifest
deleted file mode 100644
index 2c54bf9c19dc..000000000000
--- a/dev-python/nose-random/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nose-random-1.0.0.tar.gz 3776 BLAKE2B 18dc40b13fcb970c4d2edeb6be9c6f3e710b36d14dcdc4a56c6e3ecf811ab2acd6be3e1c1cea2231eb5dc10581c77f201220354c77f3d9f67d89d894ed8b4f24 SHA512 9c62413fb00c3b774954ae7a65b08b122ae0dd2b24377efba8de345597b4ce4952aad09a0c2fea7f9d92f57a3664908fccd6eabadf32074a35978c958ea2b66f
diff --git a/dev-python/nose-random/metadata.xml b/dev-python/nose-random/metadata.xml
deleted file mode 100644
index d36e8f010987..000000000000
--- a/dev-python/nose-random/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>
- </maintainer>
- <maintainer type="person">
- <email>chutzpah@gentoo.org</email>
- <name>Patrick McLean</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-python/nose-random/nose-random-1.0.0.ebuild b/dev-python/nose-random/nose-random-1.0.0.ebuild
deleted file mode 100644
index 994ea1d08497..000000000000
--- a/dev-python/nose-random/nose-random-1.0.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_SETUPTOOLS=bdepend
-inherit distutils-r1
-
-DESCRIPTION="Nose plugin to facilitate randomized unit testing"
-HOMEPAGE="https://github.com/fzumstein/nose-random"
-SRC_URI="https://github.com/fzumstein/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="dev-python/nose[${PYTHON_USEDEP}]"
-
-# no tests
diff --git a/dev-python/nose/Manifest b/dev-python/nose/Manifest
deleted file mode 100644
index 4582b3faa04e..000000000000
--- a/dev-python/nose/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nose-1.3.7_p20211111_p1.gh.tar.gz 327855 BLAKE2B acddcaa0718f23f281ea34a977354b3ef88c95d4ef712afd8354effe6df7883d473b50caaa3b5c79fcc4c36a9d45bee4eb5865a6ef66e371dae12ed1a0a0418a SHA512 752eb1337fd481a1b8498ead330d716cf4180c18faabde257e9a1139928b9fa38e2e145d36c1ea8e3867a36d4843134ee26e9e9f83ff84d21f0fe246d2392d15
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_p20211111_p1-r1.ebuild b/dev-python/nose/nose-1.3.7_p20211111_p1-r1.ebuild
deleted file mode 100644
index 483709a85a70..000000000000
--- a/dev-python/nose/nose-1.3.7_p20211111_p1-r1.ebuild
+++ /dev/null
@@ -1,58 +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_{8..10} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-EGIT_COMMIT="94fd6746619ee8728f2b8740ebf2d1582b03cb15"
-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..b28d6cdfd690 100644
--- a/dev-python/nose2/Manifest
+++ b/dev-python/nose2/Manifest
@@ -1,2 +1,2 @@
-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
+DIST nose2-0.14.2.tar.gz 167874 BLAKE2B b2d1d1d026de10e9d73a312205b0562c377775016b8adea0b64213cb32930e9a58823021fa970f23e8acd79d2ea2a3df1f294732fcb2f96c454a2345f65091db SHA512 728d6c3f1c037630b6b3a4fc3012a488d91dfdcef5fe1d1f6473b317f71ac6ba16a33d33721de7422caec019eac00137e95190eb2c98edd67c4c5f7f8ee09440
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 1307fbb90263..000000000000
--- a/dev-python/nose2/nose2-0.11.0.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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 29b7385b53db..000000000000
--- a/dev-python/nose2/nose2-0.12.0.ebuild
+++ /dev/null
@@ -1,48 +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_{8..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/nose2/nose2-0.14.2.ebuild b/dev-python/nose2/nose2-0.14.2.ebuild
new file mode 100644
index 000000000000..1dfbe3a968eb
--- /dev/null
+++ b/dev-python/nose2/nose2-0.14.2.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="Unittest with plugins"
+HOMEPAGE="
+ https://github.com/nose-devs/nose2/
+ https://pypi.org/project/nose2/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/coverage-4.4.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme \
+ dev-python/sphinx-issues
+
+python_test() {
+ "${EPYTHON}" -m nose2.__main__ -vv || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/nose_warnings_filters/Manifest b/dev-python/nose_warnings_filters/Manifest
deleted file mode 100644
index de4dcd39a455..000000000000
--- a/dev-python/nose_warnings_filters/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nose_warnings_filters-0.1.5.tar.gz 3895 BLAKE2B 90fe9d0255227159cb4465648f45aa33623bf31b2182a7579d2f7f17687a832b2c96e9c2b3f0b5c477d808907d92bc8567d2aeed6bd13dcd28878394e9726fb6 SHA512 7ada463840bb2e3a1c7e357c231f9c7d4c7ce9f24fe7fe1e33404df41711663c8232001f9a258898f49ce89bb542a942240cf7312ee41bc75f86ca2015378405
diff --git a/dev-python/nose_warnings_filters/files/nose_warnings_filters-0.1.5-setuptools-newline-desc.patch b/dev-python/nose_warnings_filters/files/nose_warnings_filters-0.1.5-setuptools-newline-desc.patch
deleted file mode 100644
index de05a2f5d26b..000000000000
--- a/dev-python/nose_warnings_filters/files/nose_warnings_filters-0.1.5-setuptools-newline-desc.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 1f9ac02..829c5e8 100644
---- a/setup.py
-+++ b/setup.py
-@@ -17,7 +17,7 @@ from setuptools import setup
-
- setup(name='nose_warnings_filters',
- version='0.1.5',
-- description='Allow to inject warning filters during ``nosetest``.\n\nPut the same arguments as ``warnings.filterwarnings`` in ``setup.cfg``\nat the root of your project. Separated each argument by pipes ``|``, one\nfilter per line. Whitespace are stripped.\n\nfor example:\n\n::\n\n [nosetests]\n warningfilters=default |.* |DeprecationWarning |notebook.*\n ignore |.*metadata.* |DeprecationWarning |notebook.*\n once |.*schema.* |UserWarning |nbfor.*\n error |.*warn.* |DeprecationWarning |notebook.services.contents.manager*\n\nIf you prefer another name for the configuration file, you can tell nose\nto load the configuration using the ``-c`` flag: run the tests with\n``nosetests -c nose.cfg``.\n\ndetails configuration.\n======================\n\nEach line of warning filter is separated in maximum 4 sections, that\nmatch the first 4 sections of ``filterwarnings``:\n\n.. code:: python\n\n filterwarnings(action, message="", category=Warning, module="", lineno=0, append=False)\n\nfields 2 to 4 can be omitted, ie to say 1 line can be of the following\nform:\n\n::\n\n action\n action| message\n action| message | category\n action| message | category | module\n\nthe value of each fields is treated the same as for ``filterwarnigns``\nexcept: - whitespace are trimmed. - if the ``category`` has dots, the\ncorresponding class try to be imported. If it does not have dots, the\nname is looked up in ``builtins`` or ``__builtins__``\n\ntest are failing\n================\n\nFor some reasons in some systems tests are failing; it seem that this\npackage have difficulty to self-test. That\'s likely due to the fact that\nthe tested package need to be in different namespaces, and by\nself-testing we break this assumption.\n',
-+ description='Allow to inject warning filters during ``nosetest``',
- url='https://github.com/Carreau/nose_warnings_filters',
- author='Matthias Bussonnier',
- author_email='bussonniermatthias@gmail.com',
diff --git a/dev-python/nose_warnings_filters/metadata.xml b/dev-python/nose_warnings_filters/metadata.xml
deleted file mode 100644
index d74e7290804d..000000000000
--- a/dev-python/nose_warnings_filters/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">Carreau/nose_warnings_filters</remote-id>
- <remote-id type="pypi">nose_warnings_filters</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/nose_warnings_filters/nose_warnings_filters-0.1.5-r3.ebuild b/dev-python/nose_warnings_filters/nose_warnings_filters-0.1.5-r3.ebuild
deleted file mode 100644
index 624c566790e8..000000000000
--- a/dev-python/nose_warnings_filters/nose_warnings_filters-0.1.5-r3.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_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="A python module to inject warning filters during nosetest"
-HOMEPAGE="https://github.com/Carreau/nose_warnings_filters"
-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/nose[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.1.5-setuptools-newline-desc.patch
-)
-
-distutils_enable_tests nose
diff --git a/dev-python/noseofyeti/Manifest b/dev-python/noseofyeti/Manifest
new file mode 100644
index 000000000000..74bdef1796bd
--- /dev/null
+++ b/dev-python/noseofyeti/Manifest
@@ -0,0 +1,2 @@
+DIST noseofyeti-2.4.8.tar.gz 35866 BLAKE2B 6f11c7eb1db03ed27a8838e8b774cea97189609d8b7204facc3784968119878944b28231ab1f0d42f3eaa2679fee15df465e9069d1b4473ce8e5cd1749ace0b5 SHA512 78c685da52e993dc28c758dbf4395bbd544d0f4e9993f17a7f1ce267d03ba1c4a5e43cfcb2b2110e6fc21dcc60c6fcdd2bafb3f2d8ab2535a9429430ffc9308a
+DIST noseofyeti-2.4.9.tar.gz 35853 BLAKE2B d0c22bd6ea0cc41b1034dcfe397d2de72284630523a9210bb7c7290a0dd86414876e2c9c6ac3e63cd640eeb72bfed4617feea467f1a983bfd35f2f4239e28452 SHA512 2f6ff27fe08c91957d6c2f6dfea7fb4eba268245fc4444991799a2a102d616e536dcf49099c31962e8c8106564e8545edc1d2238a1a76278e0929d6387117bac
diff --git a/dev-python/noseofyeti/metadata.xml b/dev-python/noseofyeti/metadata.xml
new file mode 100644
index 000000000000..c74af1cdd5de
--- /dev/null
+++ b/dev-python/noseofyeti/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">delfick/nose-of-yeti</remote-id>
+ <remote-id type="pypi">noseOfYeti</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/noseofyeti/noseofyeti-2.4.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/noseofyeti/noseofyeti-2.4.9.ebuild b/dev-python/noseofyeti/noseofyeti-2.4.9.ebuild
new file mode 100644
index 000000000000..97c4ffc90e9f
--- /dev/null
+++ b/dev-python/noseofyeti/noseofyeti-2.4.9.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..8d89e9804f54 100644
--- a/dev-python/notebook/Manifest
+++ b/dev-python/notebook/Manifest
@@ -1 +1 @@
-DIST notebook-6.4.12.tar.gz 14389641 BLAKE2B 1cda6a1eb1f4e7ccce964153bdce8de243588ffd4abcc5ab6687ba0ea347d68c5dd239c2af5bf93809409d850747db28df72be5c2ec03bfd06b725976ae1c599 SHA512 1314cfebe97ddada61e1013fdfd606bed08908c06b58e59f2fda6e63c43a1158eeed6a93a5cddbb609ecad0347bf80ee3a74747104fd29942629734c1ea749f0
+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 3de25560fa62..000000000000
--- a/dev-python/notebook/notebook-6.4.12.ebuild
+++ /dev/null
@@ -1,97 +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_{8..10} )
-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 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}]
- >=www-servers/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/nbconvert-4.2.0[${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}]
- )
-"
-
-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.3.ebuild b/dev-python/notebook/notebook-7.1.3.ebuild
new file mode 100644
index 000000000000..cfe050133550
--- /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 0b785dd05afb..000000000000
--- a/dev-python/notebook_shim/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST notebook_shim-0.1.0.tar.gz 12275 BLAKE2B 47e975cd91b9ee1e6436db099b13ff664b25c96f3fd7fa39b54d5daad5154976bdf877607156688d118c6bfc458f941151fc9763c596458432e70e17de77eb59 SHA512 7814b5bb4d4c4dd39b1ce3629e77513bdc3069a553208ee5a2bb6432fda5d20dcf48bbf5d8f61b9bc1f2ea666abd8706a8e8ba627b27ff4561eb4982ba04b1dc
diff --git a/dev-python/notebook_shim/notebook_shim-0.1.0.ebuild b/dev-python/notebook_shim/notebook_shim-0.1.0.ebuild
deleted file mode 100644
index 58ed446a042d..000000000000
--- a/dev-python/notebook_shim/notebook_shim-0.1.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_PEP517=jupyter
-inherit distutils-r1
-
-DESCRIPTION="A shim layer for notebook traits and config"
-HOMEPAGE="https://jupyter.org"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/jupyter_server-1.8[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- >=dev-python/jupyter_packaging-0.9[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
- dev-python/pytest-tornasync[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Defining 'pytest_plugins' in a non-top-level conftest is no longer supported:
- mv ${PN}/conftest.py . || die
-
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- # move /usr/etc stuff to /etc
- 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 5bc052252be0..1ce93e8a0361 100644
--- a/dev-python/notify2/notify2-0.3.1-r3.ebuild
+++ b/dev-python/notify2/notify2-0.3.1-r3.ebuild
@@ -1,29 +1,35 @@
-# 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_{8..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 x86"
+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 ab1afd09bcd2..000000000000
--- a/dev-python/nototools/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nototools-0.2.16.tar.gz 9712796 BLAKE2B 654f449a00741dfa4a9b3b8c2a80d40907698098d1c4ee94363657d88b24fe1f26287af5e7795484846d394573a868ff82fa9a8c0a51b953325d6f6f97d7f7c8 SHA512 3c70c29f8411ae3eedc2738e0b2f42f9c0b675494bbdc107a8b43612fba08401c704ec94db63bb92aa1648b168f9e0d9e8139b8c61dc3b43973876d105324554
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.16.ebuild b/dev-python/nototools/nototools-0.2.16.ebuild
deleted file mode 100644
index 04fbc372331c..000000000000
--- a/dev-python/nototools/nototools-0.2.16.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8..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
new file mode 100644
index 000000000000..dfd5526dccf7
--- /dev/null
+++ b/dev-python/nox/Manifest
@@ -0,0 +1,3 @@
+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/metadata.xml b/dev-python/nox/metadata.xml
new file mode 100644
index 000000000000..ab6d02e2c276
--- /dev/null
+++ b/dev-python/nox/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">wntrblm/nox</remote-id>
+ <remote-id type="pypi">nox</remote-id>
+ </upstream>
+</pkgmetadata>
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 541ea66f942e..000000000000
--- a/dev-python/nptyping/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nptyping-2.2.0.gh.tar.gz 65224 BLAKE2B 11b77690dc83492a13f5a58839655c210d3bd48368e14d0c97be4b5e51f4de54d4e4a238f5865826309b40dc7bb50376ca45827e9e74360dad215bd798610809 SHA512 3c29689994ca87418614e55811b66d03087d127b9e620c2dc3407e3e3ff984cdecd789b0dbd955db460f865a34941f061a7496362ef9944351f59a0e4c3ef483
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.2.0.ebuild b/dev-python/nptyping/nptyping-2.2.0.ebuild
deleted file mode 100644
index bb8b900b140f..000000000000
--- a/dev-python/nptyping/nptyping-2.2.0.ebuild
+++ /dev/null
@@ -1,50 +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_{8..10} )
-
-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
deleted file mode 100644
index e4f0722f3031..000000000000
--- a/dev-python/nspektr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nspektr-0.4.0.gh.tar.gz 6763 BLAKE2B 6393a2d16825cbd580758ba09a7f2277417fc0eb4e7c6f23d49ff1af89a7c6947d4c0bae7158424b96f8f0e3e3aab6ac3f5bb624a8d7edf61eb571b28e690d70 SHA512 c106091e949ce8236c1cf54543bebd2b63484dff95e161fb57668bd6bcb4b17ddf0ecc440c15a0df36cc8c4398ccc439b642eab49b528ba2cbedc75ff009179d
diff --git a/dev-python/nspektr/metadata.xml b/dev-python/nspektr/metadata.xml
deleted file mode 100644
index 65c8f4e628fc..000000000000
--- a/dev-python/nspektr/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">jaraco/nspektr</remote-id>
- <remote-id type="pypi">nspektr</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/nspektr/nspektr-0.4.0.ebuild b/dev-python/nspektr/nspektr-0.4.0.ebuild
deleted file mode 100644
index ed21349dff5a..000000000000
--- a/dev-python/nspektr/nspektr-0.4.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2022 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_{8..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/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 97883cb51cbd..000000000000
--- a/dev-python/ntlm-auth/ntlm-auth-1.5.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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}"
-
-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 b5c4c8472001..000000000000
--- a/dev-python/ntplib/ntplib-0.4.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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/nuitka/Manifest b/dev-python/nuitka/Manifest
deleted file mode 100644
index a2e7708d4099..000000000000
--- a/dev-python/nuitka/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST Nuitka-1.0.1.tar.gz 3893766 BLAKE2B 7d48344231fca1efce8d783a197813a1aa77c992fad84c1a958740287ea8079566c98bb6ac1e017030a6d6dba84bdef6a7711542adaa8a59612aed19da96f425 SHA512 0d3ba38733fdee4f6f4bff80fd2c7729177209e101f0eefe2c5a74fd449d038710eb979e1b313c1534bfe079ea3a7f88cda07ba2977c153032a56db0b75f739c
-DIST Nuitka-1.0.2.tar.gz 3893195 BLAKE2B 7d3f154ecb128da34f1495d977ec81bc54dcd95d5d53d3ef437a0a55f11f91529eb12c985eba6256d53d2746e0b2925a50ab4fd19967f602c552a57c1ec51408 SHA512 a1cd4ba3b2ced48fd2b8fdd2438f8b6108ce3638fb59507bd2398cc8d3e9c9eb9b93d86446e960d26df351c2769799df3a8ca248482eee531dd6bbc276036a90
diff --git a/dev-python/nuitka/nuitka-1.0.1.ebuild b/dev-python/nuitka/nuitka-1.0.1.ebuild
deleted file mode 100644
index 5b987e13729d..000000000000
--- a/dev-python/nuitka/nuitka-1.0.1.ebuild
+++ /dev/null
@@ -1,49 +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_{8..10} )
-
-inherit distutils-r1 flag-o-matic optfeature
-
-DESCRIPTION="Python to native compiler"
-HOMEPAGE="https://www.nuitka.net"
-SRC_URI="https://nuitka.net/releases/${P^}.tar.gz"
-S="${WORKDIR}/${P^}"
-
-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 "${PN}/build/inline_copy/lib/scons-2.3.2/SCons" || die
- eapply_user
-}
-
-python_install() {
- distutils-r1_python_install
- doman doc/nuitka3.1 doc/nuitka3-run.1
-}
-
-python_test() {
- append-ldflags -Wl,--no-warn-search-mismatch
- ./tests/basics/run_all.py search || die
-}
-
-pkg_postinst() {
- optfeature "support for stand-alone executables" app-admin/chrpath
-}
diff --git a/dev-python/nuitka/nuitka-1.0.2.ebuild b/dev-python/nuitka/nuitka-1.0.2.ebuild
deleted file mode 100644
index 5b987e13729d..000000000000
--- a/dev-python/nuitka/nuitka-1.0.2.ebuild
+++ /dev/null
@@ -1,49 +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_{8..10} )
-
-inherit distutils-r1 flag-o-matic optfeature
-
-DESCRIPTION="Python to native compiler"
-HOMEPAGE="https://www.nuitka.net"
-SRC_URI="https://nuitka.net/releases/${P^}.tar.gz"
-S="${WORKDIR}/${P^}"
-
-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 "${PN}/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/numexpr/Manifest b/dev-python/numexpr/Manifest
index 634719c086b6..e2be3861ed5b 100644
--- a/dev-python/numexpr/Manifest
+++ b/dev-python/numexpr/Manifest
@@ -1 +1,2 @@
-DIST numexpr-2.8.3.gh.tar.gz 112551 BLAKE2B c433e27dafe14e0760cd825992a4dcf3e35ae7a32c1bb768c6f5632e8505be5b10dc08a89c97836f019e53d77cf4aa811cc0822832d605934e35ae93e1cbb661 SHA512 4753159f8247ed18dba01d4db21e8e0a149a253cfc064719c9ccdcdd779d109aca64d2306820d912c274b5b6037a9dc849285ef015fec1e1dc9f0c8bad246393
+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/metadata.xml b/dev-python/numexpr/metadata.xml
index 347c251f2861..c915004aa716 100644
--- a/dev-python/numexpr/metadata.xml
+++ b/dev-python/numexpr/metadata.xml
@@ -17,7 +17,7 @@
writing the expression in C and compiling it with a specialized
just-in-time (JIT) compiler, i.e. it does not require a compiler at
runtime.
-</longdescription>
+ </longdescription>
<upstream>
<remote-id type="pypi">numexpr</remote-id>
<remote-id type="github">pydata/numexpr</remote-id>
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..5fb449524d53
--- /dev/null
+++ b/dev-python/numexpr/numexpr-2.10.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=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Fast numerical array expression evaluator for Python and NumPy"
+HOMEPAGE="
+ https://github.com/pydata/numexpr/
+ https://pypi.org/project/numexpr/
+"
+SRC_URI="https://github.com/pydata/numexpr/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+DEPEND="
+ >=dev-python/numpy-2.0.0_rc:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ # broken with > 8 CPU threads?
+ # https://github.com/pydata/numexpr/issues/479
+ sed -e 's:test_numexpr_max_threads_empty_string:_&:' \
+ -e 's:test_omp_num_threads_empty_string:_&:' \
+ -i numexpr/tests/test_numexpr.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ pushd "${BUILD_DIR}/install/$(python_get_sitedir)" >/dev/null || die
+ "${EPYTHON}" - <<-EOF || die "Tests failed with ${EPYTHON}"
+ import sys,numexpr
+ sys.exit(0 if numexpr.test(verbosity=2).wasSuccessful() else 1)
+ EOF
+ pushd >/dev/null || die
+}
diff --git a/dev-python/numexpr/numexpr-2.8.3.ebuild b/dev-python/numexpr/numexpr-2.8.3.ebuild
deleted file mode 100644
index a61bf9b9bad3..000000000000
--- a/dev-python/numexpr/numexpr-2.8.3.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 8a0b4194803f..e74b88d9cd74 100644
--- a/dev-python/numpy/Manifest
+++ b/dev-python/numpy/Manifest
@@ -1,32 +1,5 @@
-DIST numpy-1.21.5.zip 10652289 BLAKE2B c5bded91e5d06670ea3ace51560411c61985dd89ff0455b833838320f1714cf788a21a60aefd7a0ff30ad0abb93c9d296f60e637944000efa090b6c259c1f47c SHA512 03affa9d0bbf42a8d35f5454f1527df28539e306dc2b313fa775625201a5fe9eb7376f443bba5d50e08567546708811beb7201819eeb2af5a0653b7d91249f78
-DIST numpy-1.22.0.zip 11291139 BLAKE2B 91cd2188aaa59d7be18761b74865295f400e309e34bf79067493221c5f0eb875a5c726dd8e322db84fa9714800347954b6a9896aadf914e87872497f7e65527c SHA512 dcea1a6cd257f6353caccc30b2adb1cf2e9d52191ec9f968839c85b1f776ebf8c5ac8bbf0751c2c6f292ae671e4006d26eb06691ca1504e4d65baf4cec3f9803
-DIST numpy-1.22.1.zip 11443674 BLAKE2B 3f2e5fbd449c078fd97670be14e87fd9bccc8418dc37f87199557642f0f951f5fd21b89eff938c30171eda3174c526db91e470e9e9cdc297b8abd9b4fe364ad5 SHA512 0d8b5ffb6f8377b3d6d6cb62fd7eef083f8a3b787542b7887e0d214c6fa78b63b6f726302bca554c0c11c57e4611926c8d8ff4abf5dd59842b8b58086391434d
-DIST numpy-1.22.2.zip 11447735 BLAKE2B 43dee4d06139822b1eec8280591ddbf6629bc8b92c5c279bf2c5e2f5b0afb4c30c2af2e783002a836280dc6affb60f51a49a37821dcf647563aa19b77aa489c8 SHA512 4ad584527d4395404c2d5d8fe5eb1aae1defac39361a987bdaa4d1f133c03fdc32c3d554c0edb544b55946f46fb3121c98526ebc1ee06e174087c727bf9b88d7
-DIST numpy-1.22.3.zip 11451867 BLAKE2B 0212cf2882410f9d9083fe40b3630733d0e407cab32c7aa10affc138e6305fdcba119a7a2d1b6c3dd5b99765d9204afa5ac8e389369ca933e779e5a647271605 SHA512 fdeefd0ffad798a078376fe16ad840551309d3bbf551eca09d92a35048ee75c3739ab0becedb23448d82999da148827e69ded8842201c3dda72b46b4eb9be93f
-DIST numpy-1.22.4.zip 11458830 BLAKE2B c999a42119e8d71942e4df4802ea22eef6c1ab65e11ad1f8364dd811c3df0eae1c7499055e76b523dc011bc9574f4060e17ecc3ea8bd35f5247fa17e3e188364 SHA512 bb2993459157c43f8c419de98be1c832f108b4eb6b96e1d20f406eccd782681ad8d0f8653637962ac592abe7d75719c17678ec97f035f6c87d4c7f939a1a8a48
-DIST numpy-1.23.0.tar.gz 10714532 BLAKE2B 8b7784adfe4aba8a21a50b460b908cd20eede912f46cc6840a65c03f4f128123ead64e61768ff839a6a79797680a5189ff39284be5819bacb6eb7e1902a09656 SHA512 899d0ca062b676b64de0da204339694dcb7e52f257625e971f9a8ad7267206a6ad2924353e4dd1e153b4a64ae318380899c9e1ee7a6f53fdeba4c19b34917583
-DIST numpy-1.23.1.tar.gz 10716841 BLAKE2B c8b17bc6f1626a32fd62ac3e952f6ee4a5886ba9ab9721be540831d3cdb19c4ea7cefcb422b12384fd4804d12f6f4b0d8f1e0110306e426a2b92d5f98acd62f7 SHA512 b34fb627e0e548bae3cf4555c4c71ab4a170ade86a9ff4011a5dfac6aba29e2e04b1151b9364cd1efff004efc1c04b3bab111facbcdc3297f8c38d7a09c83e17
-DIST numpy-html-1.21.0.zip 24270531 BLAKE2B 8a7a531afa559aebeb7a7b7ef94b2248df60a60fdfc190ca002dda625003df8b432fed393d6dd0c0c00fafbeb5064a61e3d99bba1a6c41e1e6e34ce091a43c89 SHA512 a165b95729a13806a03464cf39c20a0e18cfcf7701f05cd7777cd115bfaf0972f7155d201c7bd8d4177c5761f8800c982b3e3c29729a5e9ed356059842a44dcc
-DIST numpy-html-1.21.5.zip 24270531 BLAKE2B 8a7a531afa559aebeb7a7b7ef94b2248df60a60fdfc190ca002dda625003df8b432fed393d6dd0c0c00fafbeb5064a61e3d99bba1a6c41e1e6e34ce091a43c89 SHA512 a165b95729a13806a03464cf39c20a0e18cfcf7701f05cd7777cd115bfaf0972f7155d201c7bd8d4177c5761f8800c982b3e3c29729a5e9ed356059842a44dcc
-DIST numpy-html-1.22.1.zip 23724824 BLAKE2B 44ea3da0a703a024a629c8413dfffaf760458b185d19452da0e7e23c819e19833291e10ebd07bdda794077574b8852a368036dda8335c2753cd481740497502a SHA512 4077d9974bfd7f2c189025c3740350652e6f8e0b5727fbc9711a1c0118c1e4ecc281d4876baf1c6a5dc802d20178d6b04a2922f14e9c321cd3b68228b1e295c3
-DIST numpy-html-1.22.2.zip 23724824 BLAKE2B 44ea3da0a703a024a629c8413dfffaf760458b185d19452da0e7e23c819e19833291e10ebd07bdda794077574b8852a368036dda8335c2753cd481740497502a SHA512 4077d9974bfd7f2c189025c3740350652e6f8e0b5727fbc9711a1c0118c1e4ecc281d4876baf1c6a5dc802d20178d6b04a2922f14e9c321cd3b68228b1e295c3
-DIST numpy-html-1.22.3.zip 23724824 BLAKE2B 44ea3da0a703a024a629c8413dfffaf760458b185d19452da0e7e23c819e19833291e10ebd07bdda794077574b8852a368036dda8335c2753cd481740497502a SHA512 4077d9974bfd7f2c189025c3740350652e6f8e0b5727fbc9711a1c0118c1e4ecc281d4876baf1c6a5dc802d20178d6b04a2922f14e9c321cd3b68228b1e295c3
-DIST numpy-html-1.22.4.zip 23724824 BLAKE2B 44ea3da0a703a024a629c8413dfffaf760458b185d19452da0e7e23c819e19833291e10ebd07bdda794077574b8852a368036dda8335c2753cd481740497502a SHA512 4077d9974bfd7f2c189025c3740350652e6f8e0b5727fbc9711a1c0118c1e4ecc281d4876baf1c6a5dc802d20178d6b04a2922f14e9c321cd3b68228b1e295c3
-DIST numpy-html-1.23.0.zip 27964271 BLAKE2B 0aa26d7c39f2d6b119e404dfb9642967770881ee0d640157a9ed11d16f21cd43109bed3c08f89fda457ec470292d945e2bf8b2dab56e4b36192d5e8eb3757b44 SHA512 218a2e893816af767c7cedd1f2256e05f68e59491c29277c95de653a206aaff35c5fe3bc6afd6d6d5ea7957748ec565593eb30d004e36e94c894ea4a6884902a
-DIST numpy-html-1.23.1.zip 27964271 BLAKE2B 0aa26d7c39f2d6b119e404dfb9642967770881ee0d640157a9ed11d16f21cd43109bed3c08f89fda457ec470292d945e2bf8b2dab56e4b36192d5e8eb3757b44 SHA512 218a2e893816af767c7cedd1f2256e05f68e59491c29277c95de653a206aaff35c5fe3bc6afd6d6d5ea7957748ec565593eb30d004e36e94c894ea4a6884902a
-DIST numpy-ref-1.21.0.pdf 7326979 BLAKE2B 3c1130a576c46e0705ca1f12e7a3345beb1acdd23de2a81448e4e9755636dec313e277a0d3167dc3b211332b3fc415ac0d96e7c99e859b51a16a589426814182 SHA512 5dd37ca03f1f098fffce80aa6a1a6eb8ec66df4322da1c620bd1f507e89ee2ceb222de32c9b7974f085ddf146f0a789ea8eb27d792a13c1aa8a893c00f94f75f
-DIST numpy-ref-1.21.5.pdf 7326979 BLAKE2B 3c1130a576c46e0705ca1f12e7a3345beb1acdd23de2a81448e4e9755636dec313e277a0d3167dc3b211332b3fc415ac0d96e7c99e859b51a16a589426814182 SHA512 5dd37ca03f1f098fffce80aa6a1a6eb8ec66df4322da1c620bd1f507e89ee2ceb222de32c9b7974f085ddf146f0a789ea8eb27d792a13c1aa8a893c00f94f75f
-DIST numpy-ref-1.22.1.pdf 7537013 BLAKE2B 702398fddde349901f9303f4788a3ae3cc4bb78b4d310e169fcc6193fd62b33947c89ede45ba9aaea55e74f6a6abc755d3d94428adce9a8163678c6718aec2da SHA512 c1617817f94ccdfe2bbdebdc9c6869beefa1369d5ab0897c1573d8fb5cb3de153f90d5588aae84a0f498fba57ad6bc5c0c5c2c3aefb119e2913e4ddf007cc8e1
-DIST numpy-ref-1.22.2.pdf 7537013 BLAKE2B 702398fddde349901f9303f4788a3ae3cc4bb78b4d310e169fcc6193fd62b33947c89ede45ba9aaea55e74f6a6abc755d3d94428adce9a8163678c6718aec2da SHA512 c1617817f94ccdfe2bbdebdc9c6869beefa1369d5ab0897c1573d8fb5cb3de153f90d5588aae84a0f498fba57ad6bc5c0c5c2c3aefb119e2913e4ddf007cc8e1
-DIST numpy-ref-1.22.3.pdf 7537013 BLAKE2B 702398fddde349901f9303f4788a3ae3cc4bb78b4d310e169fcc6193fd62b33947c89ede45ba9aaea55e74f6a6abc755d3d94428adce9a8163678c6718aec2da SHA512 c1617817f94ccdfe2bbdebdc9c6869beefa1369d5ab0897c1573d8fb5cb3de153f90d5588aae84a0f498fba57ad6bc5c0c5c2c3aefb119e2913e4ddf007cc8e1
-DIST numpy-ref-1.22.4.pdf 7537013 BLAKE2B 702398fddde349901f9303f4788a3ae3cc4bb78b4d310e169fcc6193fd62b33947c89ede45ba9aaea55e74f6a6abc755d3d94428adce9a8163678c6718aec2da SHA512 c1617817f94ccdfe2bbdebdc9c6869beefa1369d5ab0897c1573d8fb5cb3de153f90d5588aae84a0f498fba57ad6bc5c0c5c2c3aefb119e2913e4ddf007cc8e1
-DIST numpy-ref-1.23.0.pdf 7715485 BLAKE2B 7fbb0ce29e86fc7cd4932a6a9f0221b579b6cae695231edfebf863e5b4c2920796d802ccf9ae3e05b331964ac7c4f51099578d91b6b7fb357c6de2110a5f7cba SHA512 6036c6a36f332b83f371c7530a6ba6f354b1334d667d2a52993a1e52aa9d94d524e216f768928a006c717ed4b4131879f6e491a294ecfd3a0d1b0f9f937a887a
-DIST numpy-ref-1.23.1.pdf 7715485 BLAKE2B 7fbb0ce29e86fc7cd4932a6a9f0221b579b6cae695231edfebf863e5b4c2920796d802ccf9ae3e05b331964ac7c4f51099578d91b6b7fb357c6de2110a5f7cba SHA512 6036c6a36f332b83f371c7530a6ba6f354b1334d667d2a52993a1e52aa9d94d524e216f768928a006c717ed4b4131879f6e491a294ecfd3a0d1b0f9f937a887a
-DIST numpy-user-1.21.0.pdf 5142404 BLAKE2B d670f1eb0f060599a640c52bdeba53b1758007fc2090a5b8fb6e135e71114149a0085811e4bc21396eabb1123ffb9edd39f8192d0165ab42dd066a9747eb3a3f SHA512 dde264abff1787efd50e913b6facf83522b3344ed88fd15d6fe73ecd44c6a3db1e4ce4251c9674bbcb122f72ab86c64142b2f4f992a6449405041f8e1f5f1ace
-DIST numpy-user-1.21.5.pdf 5142404 BLAKE2B d670f1eb0f060599a640c52bdeba53b1758007fc2090a5b8fb6e135e71114149a0085811e4bc21396eabb1123ffb9edd39f8192d0165ab42dd066a9747eb3a3f SHA512 dde264abff1787efd50e913b6facf83522b3344ed88fd15d6fe73ecd44c6a3db1e4ce4251c9674bbcb122f72ab86c64142b2f4f992a6449405041f8e1f5f1ace
-DIST numpy-user-1.22.1.pdf 3978348 BLAKE2B 87cc73cb1c406446eb9d86ea6cbaeac6ba13c7d2b2ffd47524483af1698c3efdfaafe61e987624c5ce01939494861413b271e9a96f49abbbe69d634b9be55c95 SHA512 8e04c0c90255038471de6ef0f8f4ed9e356d646b028bb16f667f3c59170eddaa0d86d48226462c5c17b8123b2a28a09982764979e9e76658b4e26cd0a976f3a1
-DIST numpy-user-1.22.2.pdf 3978348 BLAKE2B 87cc73cb1c406446eb9d86ea6cbaeac6ba13c7d2b2ffd47524483af1698c3efdfaafe61e987624c5ce01939494861413b271e9a96f49abbbe69d634b9be55c95 SHA512 8e04c0c90255038471de6ef0f8f4ed9e356d646b028bb16f667f3c59170eddaa0d86d48226462c5c17b8123b2a28a09982764979e9e76658b4e26cd0a976f3a1
-DIST numpy-user-1.22.3.pdf 3978348 BLAKE2B 87cc73cb1c406446eb9d86ea6cbaeac6ba13c7d2b2ffd47524483af1698c3efdfaafe61e987624c5ce01939494861413b271e9a96f49abbbe69d634b9be55c95 SHA512 8e04c0c90255038471de6ef0f8f4ed9e356d646b028bb16f667f3c59170eddaa0d86d48226462c5c17b8123b2a28a09982764979e9e76658b4e26cd0a976f3a1
-DIST numpy-user-1.22.4.pdf 3978348 BLAKE2B 87cc73cb1c406446eb9d86ea6cbaeac6ba13c7d2b2ffd47524483af1698c3efdfaafe61e987624c5ce01939494861413b271e9a96f49abbbe69d634b9be55c95 SHA512 8e04c0c90255038471de6ef0f8f4ed9e356d646b028bb16f667f3c59170eddaa0d86d48226462c5c17b8123b2a28a09982764979e9e76658b4e26cd0a976f3a1
-DIST numpy-user-1.23.0.pdf 4123384 BLAKE2B d4587c9f979e1ef4734768598d6e106f2b4b0c8222f901a6c4caf0920e41622201252c5bd172b16346e0357138b5ff27c59e56c851be5ae3b7712624bd9cc5b4 SHA512 58e1ab96d2cfbd96df205c86f0a1a09e204349f70d21df7f8481c21ded8b46f4b9ede3216d5cce6c2b9bfc0aacbecdfa198bdb2d4c258a0dd4acb6e3ba421f9c
-DIST numpy-user-1.23.1.pdf 4123384 BLAKE2B d4587c9f979e1ef4734768598d6e106f2b4b0c8222f901a6c4caf0920e41622201252c5bd172b16346e0357138b5ff27c59e56c851be5ae3b7712624bd9cc5b4 SHA512 58e1ab96d2cfbd96df205c86f0a1a09e204349f70d21df7f8481c21ded8b46f4b9ede3216d5cce6c2b9bfc0aacbecdfa198bdb2d4c258a0dd4acb6e3ba421f9c
+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.21.0-no-hardcode-blasv2.patch b/dev-python/numpy/files/numpy-1.21.0-no-hardcode-blasv2.patch
deleted file mode 100644
index 73c5cae90d00..000000000000
--- a/dev-python/numpy/files/numpy-1.21.0-no-hardcode-blasv2.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Originally added in: https://gitweb.gentoo.org/repo/gentoo.git/commit/dev-python/numpy/files?id=e5ce90a04e79f6413604e96e4803cb95ada7c859
-https://bugs.gentoo.org/567938
-diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
-index 82e864a5c..1d77e5854 100644
---- a/numpy/distutils/system_info.py
-+++ b/numpy/distutils/system_info.py
-@@ -501,33 +501,7 @@ def get_info(name, notfound_action=0):
- 1 - display warning message
- 2 - raise error
- """
-- cl = {'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,
-+ cl = {'flame': flame_info, # use lapack_opt instead
- 'x11': x11_info,
- 'fft_opt': fft_opt_info,
- 'fftw': fftw_info,
-@@ -947,10 +921,7 @@ def get_libs(self, key, default):
- 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.21.4-build-compiler-args-ceph.patch b/dev-python/numpy/files/numpy-1.21.4-build-compiler-args-ceph.patch
deleted file mode 100644
index 6a31d2efe970..000000000000
--- a/dev-python/numpy/files/numpy-1.21.4-build-compiler-args-ceph.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-https://github.com/numpy/numpy/commit/689d905f501b7abbddf0fdef241fa586a83e5cd6
-https://github.com/numpy/numpy/pull/20116
-https://bugs.gentoo.org/802150
-
-From 7dcf62379f41407d8f9583d1c2016e3d8ec48384 Mon Sep 17 00:00:00 2001
-From: Hector Martin <marcan@marcan.st>
-Date: Thu, 14 Oct 2021 14:58:52 +0900
-Subject: [PATCH] MAINT: Fix issue with C compiler args containing spaces
-
-Instead of doing a dumb string split, use shlex to make sure args
-containing spaces are handled properly.
----
- numpy/distutils/unixccompiler.py | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/numpy/distutils/unixccompiler.py b/numpy/distutils/unixccompiler.py
-index 733a9fc5094..4884960fdf2 100644
---- a/numpy/distutils/unixccompiler.py
-+++ b/numpy/distutils/unixccompiler.py
-@@ -5,6 +5,7 @@
- import os
- import sys
- import subprocess
-+import shlex
-
- from distutils.errors import CompileError, DistutilsExecError, LibError
- from distutils.unixccompiler import UnixCCompiler
-@@ -30,15 +31,15 @@ def UnixCCompiler__compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts
- if 'OPT' in os.environ:
- # XXX who uses this?
- from sysconfig import get_config_vars
-- opt = " ".join(os.environ['OPT'].split())
-- gcv_opt = " ".join(get_config_vars('OPT')[0].split())
-- ccomp_s = " ".join(self.compiler_so)
-+ opt = shlex.join(shlex.split(os.environ['OPT']))
-+ gcv_opt = shlex.join(shlex.split(get_config_vars('OPT')[0]))
-+ ccomp_s = shlex.join(self.compiler_so)
- if opt not in ccomp_s:
- ccomp_s = ccomp_s.replace(gcv_opt, opt)
-- self.compiler_so = ccomp_s.split()
-- llink_s = " ".join(self.linker_so)
-+ self.compiler_so = shlex.split(ccomp_s)
-+ llink_s = shlex.join(self.linker_so)
- if opt not in llink_s:
-- self.linker_so = llink_s.split() + opt.split()
-+ self.linker_so = self.linker_so + shlex.split(opt)
-
- display = '%s: %s' % (os.path.basename(self.compiler_so[0]), src)
-
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.22.1-revert-setuptools-upper-bound.patch b/dev-python/numpy/files/numpy-1.22.1-revert-setuptools-upper-bound.patch
deleted file mode 100644
index a2bc9c939aea..000000000000
--- a/dev-python/numpy/files/numpy-1.22.1-revert-setuptools-upper-bound.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Revert https://github.com/numpy/numpy/commit/eb6be7c4765665724cd12431bfefb050ba0f2d4b.
-
-See also:
-https://github.com/pypa/setuptools/issues/2372
-https://github.com/numpy/numpy/issues/20692
-
-In the ebuild, we're forcing SETUPTOOLS_USE_DISTUTILS=stdlib which uses
-the distutils version from within Python (which will be removed in 3.11)
-rather than the bundled-in-setuptools-60 version which breaks numpy.
---- a/setup.py
-+++ b/setup.py
-@@ -80,10 +80,6 @@ if os.path.exists('MANIFEST'):
- # so that it is in sys.modules
- import numpy.distutils.command.sdist
- import setuptools
--if int(setuptools.__version__.split('.')[0]) >= 60:
-- raise RuntimeError(
-- "Setuptools version is '{}', version < '60.0.0' is required. "
-- "See pyproject.toml".format(setuptools.__version__))
-
- # Initialize cmdclass from versioneer
- from numpy.distutils.core import numpy_cmdclass
diff --git a/dev-python/numpy/files/numpy-1.22.4-py311.patch b/dev-python/numpy/files/numpy-1.22.4-py311.patch
deleted file mode 100644
index 7af6431a5892..000000000000
--- a/dev-python/numpy/files/numpy-1.22.4-py311.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 42f3203a45231b338cf1a4c77fe81ca4b7fef4ef Mon Sep 17 00:00:00 2001
-From: Bas van Beek <43369155+BvB93@users.noreply.github.com>
-Date: Fri, 20 May 2022 02:42:37 +0200
-Subject: [PATCH] TST,TYP: Fix a python 3.11 failure for the `GenericAlias`
- tests
-
----
- numpy/typing/tests/test_generic_alias.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/numpy/typing/tests/test_generic_alias.py b/numpy/typing/tests/test_generic_alias.py
-index 52d3deae4..267230a95 100644
---- a/numpy/typing/tests/test_generic_alias.py
-+++ b/numpy/typing/tests/test_generic_alias.py
-@@ -20,11 +20,11 @@
- if sys.version_info >= (3, 9):
- DType_ref = types.GenericAlias(np.dtype, (ScalarType,))
- NDArray_ref = types.GenericAlias(np.ndarray, (Any, DType_ref))
-- FuncType = Callable[[Union[_GenericAlias, types.GenericAlias]], Any]
-+ FuncType = Callable[["_GenericAlias | types.GenericAlias"], Any]
- else:
- DType_ref = Any
- NDArray_ref = Any
-- FuncType = Callable[[_GenericAlias], Any]
-+ FuncType = Callable[["_GenericAlias"], Any]
-
- GETATTR_NAMES = sorted(set(dir(np.ndarray)) - _GenericAlias._ATTR_EXCEPTIONS)
-
---
-2.35.1
-
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/metadata.xml b/dev-python/numpy/metadata.xml
index 6c9950d11ac2..26b229a9cdab 100644
--- a/dev-python/numpy/metadata.xml
+++ b/dev-python/numpy/metadata.xml
@@ -16,7 +16,7 @@
arrays. There are also basic facilities for discrete fourier transform,
basic linear algebra and random number generation.
It is the successor of Numeric and numarray.
-</longdescription>
+ </longdescription>
<upstream>
<remote-id type="github">numpy/numpy</remote-id>
<remote-id type="pypi">numpy</remote-id>
diff --git a/dev-python/numpy/numpy-1.21.5.ebuild b/dev-python/numpy/numpy-1.21.5.ebuild
deleted file mode 100644
index cb8783f8a5e6..000000000000
--- a/dev-python/numpy/numpy-1.21.5.ebuild
+++ /dev/null
@@ -1,161 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-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/"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.zip
- doc? (
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-html.zip -> numpy-html-${DOC_PV}.zip
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-ref.pdf -> numpy-ref-${DOC_PV}.pdf
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-user.pdf -> numpy-user-${DOC_PV}.pdf
- )"
-LICENSE="BSD"
-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 ~x64-solaris ~x86-solaris"
-IUSE="doc lapack"
-
-RDEPEND="
- lapack? (
- >=virtual/cblas-3.8
- >=virtual/lapack-3.8
- )
-"
-BDEPEND="
- ${RDEPEND}
- app-arch/unzip
- >=dev-python/cython-0.29.24[${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.21.0-no-hardcode-blasv2.patch
- "${FILESDIR}"/numpy-1.21.4-build-compiler-args-ceph.patch
-)
-
-distutils_enable_tests pytest
-
-src_unpack() {
- default
- if use doc; then
- unzip -qo "${DISTDIR}"/numpy-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-python_prepare_all() {
- 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
-
- # disable fuzzed tests
- find numpy/*/tests -name '*.py' -exec sed -i \
- -e 's:def \(.*_fuzz\):def _\1:' {} + || die
- # very memory- and disk-hungry
- sed -i -e 's:test_large_zip:_&:' numpy/lib/tests/test_io.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- export MAKEOPTS=-j1 #660754
-
- distutils-r1_python_compile ${NUMPY_FCONFIG}
-}
-
-python_test() {
- local deselect=(
- numpy/typing/tests/test_typing.py::test_reveal[arrayterator.py]
- )
-
- if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then
- # Degenerate case. arm32 chroot on arm64.
- # bug #774108
- deselect+=(
- numpy/core/tests/test_cpu_features.py::Test_ARM_Features::test_features
- )
- fi
-
- if use x86 ; then
- 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
- )
- fi
-
- distutils_install_for_testing --single-version-externally-managed \
- --record "${TMPDIR}/record.txt" ${NUMPY_FCONFIG}
-
- cd "${TEST_DIR}/lib" || die
- epytest ${deselect[@]/#/--deselect }
-}
-
-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 )
-
- if use doc; then
- local HTML_DOCS=( "${WORKDIR}"/html/. )
- DOCS+=( "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf )
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/numpy/numpy-1.22.0-r1.ebuild b/dev-python/numpy/numpy-1.22.0-r1.ebuild
deleted file mode 100644
index 6037152ed67b..000000000000
--- a/dev-python/numpy/numpy-1.22.0-r1.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="threads(+)"
-
-FORTRAN_NEEDED=lapack
-
-inherit distutils-r1 flag-o-matic fortran-2 toolchain-funcs
-
-# Not ready yet
-#DOC_PV=${PV}
-DOC_PV=1.21.0
-DESCRIPTION="Fast array and numerical python library"
-HOMEPAGE="https://numpy.org/"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.zip
- doc? (
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-html.zip -> numpy-html-${DOC_PV}.zip
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-ref.pdf -> numpy-ref-${DOC_PV}.pdf
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-user.pdf -> numpy-user-${DOC_PV}.pdf
- )"
-LICENSE="BSD"
-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 ~x64-solaris ~x86-solaris"
-IUSE="doc lapack"
-
-RDEPEND="
- lapack? (
- >=virtual/cblas-3.8
- >=virtual/lapack-3.8
- )
-"
-BDEPEND="
- ${RDEPEND}
- app-arch/unzip
- >=dev-python/cython-0.29.24[${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}"/${PN}-1.22.0-no-hardcode-blasv2.patch
-)
-
-distutils_enable_tests pytest
-
-src_unpack() {
- default
- if use doc; then
- unzip -qo "${DISTDIR}"/numpy-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-python_prepare_all() {
- 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
-
- # disable fuzzed tests
- find numpy/*/tests -name '*.py' -exec sed -i \
- -e 's:def \(.*_fuzz\):def _\1:' {} + || die
- # very memory- and disk-hungry
- sed -i -e 's:test_large_zip:_&:' numpy/lib/tests/test_io.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- export MAKEOPTS=-j1 #660754
-
- distutils-r1_python_compile ${NUMPY_FCONFIG}
-}
-
-python_test() {
- local deselect=(
- numpy/typing/tests/test_typing.py::test_reveal[arrayterator.py]
- )
-
- if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then
- # Degenerate case. arm32 chroot on arm64.
- # bug #774108
- deselect+=(
- numpy/core/tests/test_cpu_features.py::Test_ARM_Features::test_features
- )
- fi
-
- if use x86 ; then
- 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
- )
- fi
-
- distutils_install_for_testing --single-version-externally-managed \
- --record "${TMPDIR}/record.txt" ${NUMPY_FCONFIG}
-
- cd "${TEST_DIR}/lib" || die
- epytest ${deselect[@]/#/--deselect }
-}
-
-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 )
-
- if use doc; then
- local HTML_DOCS=( "${WORKDIR}"/html/. )
- DOCS+=( "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf )
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/numpy/numpy-1.22.1.ebuild b/dev-python/numpy/numpy-1.22.1.ebuild
deleted file mode 100644
index 9aedc3d4d368..000000000000
--- a/dev-python/numpy/numpy-1.22.1.ebuild
+++ /dev/null
@@ -1,167 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="threads(+)"
-
-FORTRAN_NEEDED=lapack
-
-inherit distutils-r1 flag-o-matic fortran-2 toolchain-funcs
-
-DOC_PV=${PV}
-# For when docs aren't ready yet, set to last version
-#DOC_PV=1.22.0
-DESCRIPTION="Fast array and numerical python library"
-HOMEPAGE="https://numpy.org/"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.zip
- doc? (
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-html.zip -> numpy-html-${DOC_PV}.zip
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-ref.pdf -> numpy-ref-${DOC_PV}.pdf
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-user.pdf -> numpy-user-${DOC_PV}.pdf
- )"
-LICENSE="BSD"
-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 ~x64-solaris ~x86-solaris"
-IUSE="doc lapack"
-
-RDEPEND="
- lapack? (
- >=virtual/cblas-3.8
- >=virtual/lapack-3.8
- )
-"
-BDEPEND="
- ${RDEPEND}
- app-arch/unzip
- >=dev-python/cython-0.29.24[${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}"/${PN}-1.22.0-no-hardcode-blasv2.patch
- "${FILESDIR}"/${PN}-1.22.1-revert-setuptools-upper-bound.patch
-)
-
-distutils_enable_tests pytest
-
-src_unpack() {
- default
- if use doc; then
- unzip -qo "${DISTDIR}"/numpy-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-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
-
- # disable fuzzed tests
- find numpy/*/tests -name '*.py' -exec sed -i \
- -e 's:def \(.*_fuzz\):def _\1:' {} + || die
- # very memory- and disk-hungry
- sed -i -e 's:test_large_zip:_&:' numpy/lib/tests/test_io.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- export MAKEOPTS=-j1 #660754
-
- distutils-r1_python_compile ${NUMPY_FCONFIG}
-}
-
-python_test() {
- local deselect=(
- numpy/typing/tests/test_typing.py::test_reveal[arrayterator.py]
- )
-
- if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then
- # Degenerate case. arm32 chroot on arm64.
- # bug #774108
- deselect+=(
- numpy/core/tests/test_cpu_features.py::Test_ARM_Features::test_features
- )
- fi
-
- if use x86 ; then
- 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
- )
- fi
-
- distutils_install_for_testing --single-version-externally-managed \
- --record "${TMPDIR}/record.txt" ${NUMPY_FCONFIG}
-
- cd "${TEST_DIR}/lib" || die
- epytest ${deselect[@]/#/--deselect }
-}
-
-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 )
-
- if use doc; then
- local HTML_DOCS=( "${WORKDIR}"/html/. )
- DOCS+=( "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf )
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/numpy/numpy-1.22.2.ebuild b/dev-python/numpy/numpy-1.22.2.ebuild
deleted file mode 100644
index 051c5db86fe2..000000000000
--- a/dev-python/numpy/numpy-1.22.2.ebuild
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="threads(+)"
-
-FORTRAN_NEEDED=lapack
-
-inherit distutils-r1 flag-o-matic fortran-2 toolchain-funcs
-
-DOC_PV=${PV}
-# For when docs aren't ready yet, set to last version
-#DOC_PV=1.22.0
-DESCRIPTION="Fast array and numerical python library"
-HOMEPAGE="https://numpy.org/"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.zip
- doc? (
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-html.zip -> numpy-html-${DOC_PV}.zip
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-ref.pdf -> numpy-ref-${DOC_PV}.pdf
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-user.pdf -> numpy-user-${DOC_PV}.pdf
- )"
-LICENSE="BSD"
-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 ~x64-solaris ~x86-solaris"
-IUSE="doc lapack"
-
-RDEPEND="
- lapack? (
- >=virtual/cblas-3.8
- >=virtual/lapack-3.8
- )
-"
-BDEPEND="
- ${RDEPEND}
- app-arch/unzip
- >=dev-python/cython-0.29.24[${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}"/${PN}-1.22.0-no-hardcode-blasv2.patch
-)
-
-distutils_enable_tests pytest
-
-src_unpack() {
- default
- if use doc; then
- unzip -qo "${DISTDIR}"/numpy-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-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
- )
- 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 )
-
- if use doc; then
- local HTML_DOCS=( "${WORKDIR}"/html/. )
- DOCS+=( "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf )
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/numpy/numpy-1.22.3.ebuild b/dev-python/numpy/numpy-1.22.3.ebuild
deleted file mode 100644
index 5c87f668b01e..000000000000
--- a/dev-python/numpy/numpy-1.22.3.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="threads(+)"
-
-FORTRAN_NEEDED=lapack
-
-inherit distutils-r1 flag-o-matic fortran-2 toolchain-funcs
-
-DOC_PV=${PV}
-# For when docs aren't ready yet, set to last version
-#DOC_PV=1.22.0
-DESCRIPTION="Fast array and numerical python library"
-HOMEPAGE="https://numpy.org/"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.zip
- doc? (
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-html.zip -> numpy-html-${DOC_PV}.zip
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-ref.pdf -> numpy-ref-${DOC_PV}.pdf
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-user.pdf -> numpy-user-${DOC_PV}.pdf
- )"
-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="doc lapack"
-
-RDEPEND="
- lapack? (
- >=virtual/cblas-3.8
- >=virtual/lapack-3.8
- )
-"
-BDEPEND="
- ${RDEPEND}
- app-arch/unzip
- >=dev-python/cython-0.29.24[${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}"/${PN}-1.22.0-no-hardcode-blasv2.patch
-)
-
-distutils_enable_tests pytest
-
-src_unpack() {
- default
- if use doc; then
- unzip -qo "${DISTDIR}"/numpy-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-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 )
-
- if use doc; then
- local HTML_DOCS=( "${WORKDIR}"/html/. )
- DOCS+=( "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf )
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/numpy/numpy-1.22.4.ebuild b/dev-python/numpy/numpy-1.22.4.ebuild
deleted file mode 100644
index 7f1805a8fb6d..000000000000
--- a/dev-python/numpy/numpy-1.22.4.ebuild
+++ /dev/null
@@ -1,184 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-PYTHON_REQ_USE="threads(+)"
-
-FORTRAN_NEEDED=lapack
-
-inherit distutils-r1 flag-o-matic fortran-2 toolchain-funcs
-
-DOC_PV=${PV}
-# For when docs aren't ready yet, set to last version
-#DOC_PV=1.22.0
-DESCRIPTION="Fast array and numerical python library"
-HOMEPAGE="https://numpy.org/"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.zip
- doc? (
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-html.zip -> numpy-html-${DOC_PV}.zip
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-ref.pdf -> numpy-ref-${DOC_PV}.pdf
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-user.pdf -> numpy-user-${DOC_PV}.pdf
- )"
-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="doc lapack"
-
-RDEPEND="
- lapack? (
- >=virtual/cblas-3.8
- >=virtual/lapack-3.8
- )
-"
-BDEPEND="
- ${RDEPEND}
- app-arch/unzip
- >=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
- "${FILESDIR}"/numpy-1.22.4-py311.patch
-)
-
-distutils_enable_tests pytest
-
-src_unpack() {
- default
- if use doc; then
- unzip -qo "${DISTDIR}"/numpy-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-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
-
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # known problem
- 'numpy/typing/tests/test_generic_alias.py::TestGenericAlias::test_pass[__dir__-<lambda>]'
- )
-
- 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 )
-
- if use doc; then
- local HTML_DOCS=( "${WORKDIR}"/html/. )
- DOCS+=( "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf )
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/numpy/numpy-1.23.0.ebuild b/dev-python/numpy/numpy-1.23.0.ebuild
deleted file mode 100644
index 5ffe8b0b6d7e..000000000000
--- a/dev-python/numpy/numpy-1.23.0.ebuild
+++ /dev/null
@@ -1,192 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-PYTHON_REQ_USE="threads(+)"
-
-FORTRAN_NEEDED=lapack
-
-inherit distutils-r1 flag-o-matic fortran-2 toolchain-funcs
-
-DOC_PV=${PV}
-# For when docs aren't ready yet, set to last version
-#DOC_PV=1.23.0
-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
- doc? (
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-html.zip -> numpy-html-${DOC_PV}.zip
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-ref.pdf -> numpy-ref-${DOC_PV}.pdf
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-user.pdf -> numpy-user-${DOC_PV}.pdf
- )
-"
-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="doc lapack"
-
-RDEPEND="
- lapack? (
- >=virtual/cblas-3.8
- >=virtual/lapack-3.8
- )
-"
-BDEPEND="
- ${RDEPEND}
- >=dev-python/cython-0.29.30[${PYTHON_USEDEP}]
- lapack? (
- virtual/pkgconfig
- )
- doc? (
- app-arch/unzip
- )
- 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
-
-src_unpack() {
- default
- if use doc; then
- unzip -qo "${DISTDIR}"/numpy-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-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
-
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # known problem
- 'numpy/typing/tests/test_generic_alias.py::TestGenericAlias::test_pass[__dir__-<lambda>]'
- )
-
- 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 )
-
- if use doc; then
- local HTML_DOCS=( "${WORKDIR}"/html/. )
- DOCS+=( "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf )
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/numpy/numpy-1.23.1.ebuild b/dev-python/numpy/numpy-1.23.1.ebuild
deleted file mode 100644
index 329105563e47..000000000000
--- a/dev-python/numpy/numpy-1.23.1.ebuild
+++ /dev/null
@@ -1,192 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-PYTHON_REQ_USE="threads(+)"
-
-FORTRAN_NEEDED=lapack
-
-inherit distutils-r1 flag-o-matic fortran-2 toolchain-funcs
-
-DOC_PV=${PV}
-# For when docs aren't ready yet, set to last version
-#DOC_PV=1.23.0
-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
- doc? (
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-html.zip -> numpy-html-${DOC_PV}.zip
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-ref.pdf -> numpy-ref-${DOC_PV}.pdf
- https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-user.pdf -> numpy-user-${DOC_PV}.pdf
- )
-"
-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="doc lapack"
-
-RDEPEND="
- lapack? (
- >=virtual/cblas-3.8
- >=virtual/lapack-3.8
- )
-"
-BDEPEND="
- ${RDEPEND}
- >=dev-python/cython-0.29.30[${PYTHON_USEDEP}]
- lapack? (
- virtual/pkgconfig
- )
- doc? (
- app-arch/unzip
- )
- 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
-
-src_unpack() {
- default
- if use doc; then
- unzip -qo "${DISTDIR}"/numpy-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-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
-
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # known problem
- 'numpy/typing/tests/test_generic_alias.py::TestGenericAlias::test_pass[__dir__-<lambda>]'
- )
-
- 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 )
-
- if use doc; then
- local HTML_DOCS=( "${WORKDIR}"/html/. )
- DOCS+=( "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf )
- fi
-
- 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..9b86ed057d7a
--- /dev/null
+++ b/dev-python/numpy/numpy-2.0.0_rc1.ebuild
@@ -0,0 +1,167 @@
+# 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"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# +lapack because the internal fallbacks are pretty slow. Building without blas
+# is barely supported anyway, see bug #914358.
+IUSE="+lapack"
+
+RDEPEND="
+ lapack? (
+ >=virtual/cblas-3.8
+ >=virtual/lapack-3.8
+ )
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-build/meson-1.1.0
+ >=dev-python/cython-3.0.6[${PYTHON_USEDEP}]
+ lapack? (
+ virtual/pkgconfig
+ )
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ 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 b243fe9a964d..151561e8acfc 100644
--- a/dev-python/numpydoc/Manifest
+++ b/dev-python/numpydoc/Manifest
@@ -1 +1 @@
-DIST numpydoc-1.4.0.gh.tar.gz 70041 BLAKE2B 34df315b65a034da1bd4742dbbaef77164eaf16c8e56b0b941c6084bf32c0e116d7b4d9795d936380ea4a92ee73b31d61540ff87ed9c129c193f4ead211b47f2 SHA512 24a267149cd696bac552433cf64353aed6f0a3040127ff7cabc42dc0a44e8d7e0cc99d903a6554249c888ef7198adead5aba20c67b0af2e7c738a391e9a9ef02
+DIST numpydoc-1.7.0.gh.tar.gz 87818 BLAKE2B b31e9478324bc45d78904c16330c9ed1513eca5668f20472faf9e2a36c0ed7eb03b18cf1c314180ec35716a26bd05357d5ef93025efbb8fb09c885a614ac7ea9 SHA512 0858d7eaafdd93d5a0894bb107b8238f75bd7cd34afa64fee38effcf4bebf9b4db957768143a46eec46023e69b53599a79b07a39640887f3a0471b5996022247
diff --git a/dev-python/numpydoc/numpydoc-1.4.0.ebuild b/dev-python/numpydoc/numpydoc-1.4.0.ebuild
deleted file mode 100644
index ba68d1e747a5..000000000000
--- a/dev-python/numpydoc/numpydoc-1.4.0.ebuild
+++ /dev/null
@@ -1,51 +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_{8..10} )
-
-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-3[${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 134a99098d66..000000000000
--- a/dev-python/oauth2client/oauth2client-4.1.3-r2.ebuild
+++ /dev/null
@@ -1,52 +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_{8..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/Manifest b/dev-python/oauthlib/Manifest
index 2c92c9dd8b19..2137052efeb7 100644
--- a/dev-python/oauthlib/Manifest
+++ b/dev-python/oauthlib/Manifest
@@ -1 +1 @@
-DIST oauthlib-3.2.0.tar.gz 163829 BLAKE2B cf14aeea253bc25f696bb638f364ff74d1a695a0f72dc8a77e2a5433e20672a5cf4a7b25f222940a08a5a26b503e671258ef26ee96e121fa016fbec3d6c5c874 SHA512 abb052cbaccb00a61e9a6c0028102927310d2d864d853cd0826c9a8eae8a9e921da33b79be554a3c6f6067cbcf43b25140f5224c8ab1e7f0a4eb6ab227d418a3
+DIST oauthlib-3.2.2.tar.gz 177352 BLAKE2B 98c128eb0ec2a24f45fd63826eb2253e2e90afb37c1954a9d21f0046168bfff8d52a24b230b60f4d756e4730c0cc05b3484d2cb6ac3eb2d710ee113dea6598c9 SHA512 c147b96e0ab0d1a8845f525e80831cfd04495134dd1f17fd95eac62f3a95c91e6dca9d38e34206537d77f3c12dd5b553252239318ba39546979c350e96536b8b
diff --git a/dev-python/oauthlib/metadata.xml b/dev-python/oauthlib/metadata.xml
index 340ba69d3c38..c5153bb030ee 100644
--- a/dev-python/oauthlib/metadata.xml
+++ b/dev-python/oauthlib/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="cpe">cpe:/a:oauthlib_project:oauthlib</remote-id>
<remote-id type="pypi">oauthlib</remote-id>
<remote-id type="github">oauthlib/oauthlib</remote-id>
</upstream>
diff --git a/dev-python/oauthlib/oauthlib-3.2.0.ebuild b/dev-python/oauthlib/oauthlib-3.2.0.ebuild
deleted file mode 100644
index e3dd63873a2c..000000000000
--- a/dev-python/oauthlib/oauthlib-3.2.0.ebuild
+++ /dev/null
@@ -1,30 +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_{8..11} )
-
-inherit distutils-r1
-
-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"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
-
-# optional extras hard set as RDEPs. See setup.py
-RDEPEND="
- >=dev-python/pyjwt-1.0.0[${PYTHON_USEDEP}]
- dev-python/blinker[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- "
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests unittest
diff --git a/dev-python/oauthlib/oauthlib-3.2.2.ebuild b/dev-python/oauthlib/oauthlib-3.2.2.ebuild
new file mode 100644
index 000000000000..74d6c2f9c0ab
--- /dev/null
+++ b/dev-python/oauthlib/oauthlib-3.2.2.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} )
+
+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/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
+
+# optional extras hard set as RDEPs. See setup.py
+RDEPEND="
+ >=dev-python/pyjwt-1.0.0[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
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 56d96fed6d22..000000000000
--- a/dev-python/objgraph/objgraph-3.5.0-r1.ebuild
+++ /dev/null
@@ -1,47 +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_{8..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="amd64 arm arm64 ~ia64 ppc ~ppc64 ~riscv 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 2c0627be5fd8..eaba7f3c8e9e 100644
--- a/dev-python/oct2py/Manifest
+++ b/dev-python/oct2py/Manifest
@@ -1 +1,2 @@
-DIST oct2py-5.2.0.tar.gz 436128 BLAKE2B 674bd034a44aa9cdb5fd4258c96665fda1b1d79a13ae9fa8d36d168e39385a978ed75bf8748ecdd53f57720785ea8e6c5ffd85d81f3b3c307a748fbc8d328a86 SHA512 55c2ee68b4fd73a8901fa2f7f67fefde5fa37d5070434aee03bfa2a746ff5179f51ccb96541a112e416438eb912caa81e040a5a1cbcbfac36b0285d496ac96fd
+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.2.0-r1.ebuild b/dev-python/oct2py/oct2py-5.2.0-r1.ebuild
deleted file mode 100644
index 394f090b4be0..000000000000
--- a/dev-python/oct2py/oct2py-5.2.0-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-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.31.0[${PYTHON_USEDEP}]
- >=dev-python/scipy-0.17[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_sphinx docs \
- 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_test() {
- cd "${BUILD_DIR}"/lib || die
- pytest -vv || die "Tests fail with ${EPYTHON}"
-
- # remove cache which breaks python_install()
- rm -r .pytest_cache || die
-}
-
-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 eb436330b2f5..000000000000
--- a/dev-python/octave_kernel/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST octave_kernel-0.34.1.tar.gz 258197 BLAKE2B 3bb482784c8f3c5571d1278bf30596338fc5827b99507c13fdb7c8b5e58d5718ce5c0dfbd85a7a81a260aab1a4b465ff29043dfa6fe59cac07fe7793dcd8fbdf SHA512 fcd03450af3fa35d1638030fbd840e706ef975eeef364ec1e0fe01cca44d154cfc9186d8a0951a203fa14df52cc8561e4459fa295d719680c5076f5864365f0f
diff --git a/dev-python/octave_kernel/octave_kernel-0.34.1.ebuild b/dev-python/octave_kernel/octave_kernel-0.34.1.ebuild
deleted file mode 100644
index 3f0ef383a425..000000000000
--- a/dev-python/octave_kernel/octave_kernel-0.34.1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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"
-
-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}]
- )
-"
-
-distutils_enable_tests --install unittest
-
-python_test() {
- distutils_install_for_testing --via-venv
- virtx eunittest
-}
diff --git a/dev-python/odfpy/odfpy-1.4.2.ebuild b/dev-python/odfpy/odfpy-1.4.2.ebuild
index 2f6cde8ff7eb..7bc291eb64af 100644
--- a/dev-python/odfpy/odfpy-1.4.2.ebuild
+++ b/dev-python/odfpy/odfpy-1.4.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..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 651511a3ad71..000000000000
--- a/dev-python/olefile/olefile-0.46-r2.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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 3d8678cf8eea..293a21f2cbd2 100644
--- a/dev-python/openapi-core/Manifest
+++ b/dev-python/openapi-core/Manifest
@@ -1 +1,2 @@
-DIST openapi-core-0.14.2.gh.tar.gz 57519 BLAKE2B 06dfd284612ca11a271f075444db9b859ca5416e31594680d6b32abec1fe917105f213209d1bfcb9664b265ea3d62839579134e8e104754075cd692d1ba7a99a SHA512 19a2508d56053214993abed7d173d17b55a80dac6421681d7c64082f910bf9cb03c99d4006a2cd883d51d54f11a18f90188f141a78b9d69a9a031c284a14f8f1
+DIST openapi_core-0.18.2.tar.gz 84444 BLAKE2B bb05ba86eff3c70c780f1919a29b93f2137983318834c51204d7ad1094fc645d2dbcef93d92d03096826688fdfe1811c551eee68995fd46739314c2e4bc77cfc SHA512 552109c095c840a46759a54e247a3ac2d8cc36707ba89815740eef4b7fb421bd489929543892341fd89a578bff4043c8c81302fddaa1efe125238e050f152c27
+DIST openapi_core-0.19.1.tar.gz 107802 BLAKE2B c8cd318ab6a88272e45fbff16df7e0cef7d8bab6c7cef8d965443fa0ad7439182bd9639f8a912ad913eb3d7727c4aeb49d576a8721aac1d0ba9423dd344da44d SHA512 861e3793303ec89265be3a0846ad702e321ebc8536497d146ef10a4c9ab54900ad35ee9e90ef42e1f0856da8c0e746471e9820b0ac3e149adaa0b951a66b382f
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.2.ebuild b/dev-python/openapi-core/openapi-core-0.14.2.ebuild
deleted file mode 100644
index 8f30b58a2c65..000000000000
--- a/dev-python/openapi-core/openapi-core-0.14.2.ebuild
+++ /dev/null
@@ -1,63 +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_{8..10} )
-
-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"
-
-RDEPEND="
- dev-python/isodate[${PYTHON_USEDEP}]
- dev-python/dictpath[${PYTHON_USEDEP}]
- dev-python/openapi-schema-validator[${PYTHON_USEDEP}]
- dev-python/openapi-spec-validator[${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/django[${PYTHON_USEDEP}]
- dev-python/djangorestframework[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- dev-python/webob[${PYTHON_USEDEP}]
-)"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # falcon not packaged
- rm -r tests/integration/contrib/falcon || die
-
- # Theses tests fail to collect
- rm tests/integration/validation/test_security_override.py || die
- rm tests/integration/validation/test_read_only_write_only.py || die
-
- # There's a problem in the test suite here
- rm tests/unit/unmarshalling/test_unmarshal.py || die
- rm tests/integration/contrib/django/test_django_rest_framework_apiview.py || die
-
- sed -i -e '/--cov/d' setup.cfg || 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.1.ebuild b/dev-python/openapi-core/openapi-core-0.19.1.ebuild
new file mode 100644
index 000000000000..6779d832c696
--- /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 b65a1e6cac4b..371a9906cd90 100644
--- a/dev-python/openapi-schema-validator/Manifest
+++ b/dev-python/openapi-schema-validator/Manifest
@@ -1,2 +1 @@
-DIST openapi-schema-validator-0.2.3.gh.tar.gz 25501 BLAKE2B d961cabca647f59d4d4188f1941ce5b2475e02520bcc10e7cd29817c8ea8ebaaac5af1ffb0e3d5079ed2d1493414cdaf55336744b142385754585e748af8ac98 SHA512 e6dfe3d6cc99fa9723102ced42040203157639be68b0438d7bfae4499e51cdb6257a36dca10425a5d5e692cebb958468ebeee722116b99d800a6fcf972400c66
-DIST openapi-schema-validator-0.3.0.gh.tar.gz 27083 BLAKE2B 288f5d18874625c69eccf9be6442258ff8af735795eac0ee0449e5976584b1af22c1ea771bb79b4fa68623e60d417b140737e0d1ee85791027393650f0c1f747 SHA512 003ea97a1cac598eb3728d96291d8be56c6ba9e2d3cd4f77c1258962f67b460a887f4473fed39587870583e13a83403623c3b2f96fa8d02345583cd3bdaf008b
+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 b4e6776314fc..bbbd304e9938 100644
--- a/dev-python/openapi-schema-validator/metadata.xml
+++ b/dev-python/openapi-schema-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-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 62d30a279c6b..000000000000
--- a/dev-python/openapi-schema-validator/openapi-schema-validator-0.2.3.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{8..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.0.ebuild b/dev-python/openapi-schema-validator/openapi-schema-validator-0.3.0.ebuild
deleted file mode 100644
index b25ebd5a26c8..000000000000
--- a/dev-python/openapi-schema-validator/openapi-schema-validator-0.3.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{8..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 -i -e '/--cov/d' 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 61acc3985143..333cd068b6cc 100644
--- a/dev-python/openapi-spec-validator/Manifest
+++ b/dev-python/openapi-spec-validator/Manifest
@@ -1 +1 @@
-DIST openapi-spec-validator-0.4.0.gh.tar.gz 46051 BLAKE2B 43a1458ab1801700261f750e49d45b0cb4d02f1c17a16943b5232836061e0e1466fc973343bbd4bf7a8669b682bd6761cb905fdfb3b80c0b9720253cc2d5a926 SHA512 d2eaf22c75e72eb5061a916eb37b13179a5ba65eb8a00ec42e81c6b4168239bc8613388f2d77ce35113d260385b175280d8863a3deedf18ea5aa93a79f058419
+DIST openapi_spec_validator-0.7.1.tar.gz 37985 BLAKE2B e4e6995bba18ea9fb65be28b2156c73afd3c5074a3fbd5b83e03534a1bb5fdde2e5a586aa161e0f9fc64985d83ae995f46ff2704a4010a708f9e0cf18f97a8a8 SHA512 c2a4be4a945058a4e77857bf0d6dabf2bef27c25fbe72947db3ac011c5a60d2d0159ef0d1d44571152c5ffdc650f7d3d6c54f82834e499e9506fb474b7c9b270
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 c86f945de79b..000000000000
--- a/dev-python/openapi-spec-validator/openapi-spec-validator-0.4.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{8..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.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 4b9fd449a041..000000000000
--- a/dev-python/openpyxl/openpyxl-3.0.10.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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]
- )
-"
-
-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 b230a0860859..bd23e2b87cba 100644
--- a/dev-python/openstackdocstheme/Manifest
+++ b/dev-python/openstackdocstheme/Manifest
@@ -1,2 +1 @@
-DIST openstackdocstheme-2.4.0.tar.gz 1255985 BLAKE2B 6066ef5b4fc50093dd7a55d4e7824be9495f8cc9af5f20e1ee7ee5bacea1deb5d1e1a08e408470ba5923de9ece2658dc187bef9c6d5cb767d4c492543bbdc3c1 SHA512 34bc69fc3455c013ba05e6662ea362f0b9ac4070a9e70b34987846eec84197069622fbddd295251d2a363f08303c5a2e9b998b01207bdf6891ca68aa33682c78
-DIST openstackdocstheme-3.0.0.tar.gz 1256011 BLAKE2B ad00a9e5dc0902d99bd47ffbd7cd2cf7900a45f880744293871a869d03dfa449a91402e3eb50071e35c60d78c7858787fa3ae234f96e19f34cc40a2022069ec5 SHA512 0e4c5ca3f43e701692bb56d4e0823b52c55c49e9b4144d3920830903e178522f414930c0a253be415cd6d08534205f2d8e8fac107513bc32d1f667e8559a8c2f
+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-2.4.0.ebuild b/dev-python/openstackdocstheme/openstackdocstheme-2.4.0.ebuild
deleted file mode 100644
index 6f53ebadad60..000000000000
--- a/dev-python/openstackdocstheme/openstackdocstheme-2.4.0.ebuild
+++ /dev/null
@@ -1,25 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Theme and extension support for Sphinx documentation"
-HOMEPAGE="https://docs.openstack.org/openstackdocstheme/latest/"
-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.0.0.ebuild b/dev-python/openstackdocstheme/openstackdocstheme-3.0.0.ebuild
deleted file mode 100644
index e49accd0905f..000000000000
--- a/dev-python/openstackdocstheme/openstackdocstheme-3.0.0.ebuild
+++ /dev/null
@@ -1,25 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Theme and extension support for Sphinx documentation"
-HOMEPAGE="https://docs.openstack.org/openstackdocstheme/latest/"
-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 b6c1a81737be..975418fc6abe 100644
--- a/dev-python/openstacksdk/Manifest
+++ b/dev-python/openstacksdk/Manifest
@@ -1,2 +1 @@
-DIST openstacksdk-0.100.0.tar.gz 1065692 BLAKE2B 7941cb9a14f10924953ad114f9bce4847b7e26bbea4622790503209ab70a01c254f2ec59d3f794f64d1ecc8f320a9a2be2db8015cccad8b20fe06dc1e72683d0 SHA512 c3e47510518bc4abac78aab654f6f8aa7c0deec3f4355ec7ea064ffa32c1862a9015806fd04cc1975c3d7e688e9c5ee66e3837baa21ae6c82db8f39b4b8f8330
-DIST openstacksdk-0.99.0.tar.gz 1060314 BLAKE2B 0c8f641e301ba4fb8ca83e651f85f8ba98aa73904b2e94b15b17d99354aace5b73ba243c4e624e4c53dd7fb1deb147801aee93233f1fe019a0068873530bdb37 SHA512 5e15f29002231dbad15e7a2dadaa97e64ed191389d259222880a7e40984d6fbcd9d1602a041164e4f819141417d108a179171b4c1430947dc5c5e9cdc5409aea
+DIST openstacksdk-3.1.0.tar.gz 1215965 BLAKE2B 6bf5c3f85dcc2a027af10b675f7a3c7f7cf82bccc20558c0e094def02ff07fca4952ed71240bdf29600c3ef077575c49dce0dccb1683539bef756897813f4d1a SHA512 97ef0610115e1f1534900a6003d699028c6b331af0ef95fadb27babf0bf1467a304a3cc935f07270bf597053e2536e74de79333f67d116cf0b18583a3c8db878
diff --git a/dev-python/openstacksdk/openstacksdk-0.100.0.ebuild b/dev-python/openstacksdk/openstacksdk-0.100.0.ebuild
deleted file mode 100644
index c7e4af79b1de..000000000000
--- a/dev-python/openstacksdk/openstacksdk-0.100.0.ebuild
+++ /dev/null
@@ -1,86 +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_{8..10} )
-
-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-0.99.0.ebuild b/dev-python/openstacksdk/openstacksdk-0.99.0.ebuild
deleted file mode 100644
index c93382d4051c..000000000000
--- a/dev-python/openstacksdk/openstacksdk-0.99.0.ebuild
+++ /dev/null
@@ -1,85 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A collection of libraries for building applications to work with OpenStack"
-HOMEPAGE="https://github.com/openstack/openstacksdk/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-CDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${CDEPEND}
- >=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="
- ${CDEPEND}
- 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.1.0.ebuild b/dev-python/openstacksdk/openstacksdk-3.1.0.ebuild
new file mode 100644
index 000000000000..76434f8532c5
--- /dev/null
+++ b/dev-python/openstacksdk/openstacksdk-3.1.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A collection of libraries for building applications to work with OpenStack"
+HOMEPAGE="
+ https://opendev.org/openstack/openstacksdk/
+ https://github.com/openstack/openstacksdk/
+ https://pypi.org/project/openstacksdk/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/decorator-4.4.1[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.6.5[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonpatch-1.21[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+ >=dev-python/requestsexceptions-1.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.4.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Internet?
+ sed -e 's:test_create_dynamic_large_object:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+
+ # TODO
+ sed -e 's:test_generate_form:_&:' \
+ -e 's:test_create_static_large_object:_&:' \
+ -e 's:test_object_segment_retries:_&:' \
+ -e 's:test_object_segment_retry_failure:_&:' \
+ -e 's:test_slo_manifest_retry:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+ sed -e 's:test_servers:_&:' \
+ -i openstack/tests/unit/test_stats.py || die
+
+ # unhappy about paths due to test runner
+ sed -e 's:test_method_not_supported:_&:' \
+ -i openstack/tests/unit/test_exceptions.py || die
+ sed -e 's:test_repr:_&:' \
+ -i openstack/tests/unit/test_resource.py || die
+
+ # requires hacking
+ rm openstack/tests/unit/test_hacking.py || die
+
+ # fragile warning-based tests
+ sed -e 's:test_unsupported_version_override:_&:' \
+ -i openstack/tests/unit/test_missing_version.py || die
+ sed -e 's:test_create_unknown_proxy:_&:' \
+ -i openstack/tests/unit/test_connection.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstack/tests/unit
+}
diff --git a/dev-python/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
new file mode 100644
index 000000000000..82f33bea3144
--- /dev/null
+++ b/dev-python/opt-einsum/opt-einsum-3.3.0-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_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Optimized Einsum: A tensor contraction order optimizer"
+HOMEPAGE="
+ https://github.com/dgasmith/opt_einsum/
+ https://pypi.org/project/opt-einsum/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+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 0c44a6ee477c..000000000000
--- a/dev-python/opt-einsum/opt-einsum-3.3.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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/metadata.xml b/dev-python/ordered-set/metadata.xml
index d77de55c3312..69152c366102 100644
--- a/dev-python/ordered-set/metadata.xml
+++ b/dev-python/ordered-set/metadata.xml
@@ -9,7 +9,7 @@
<name>Gentoo Science Project</name>
</maintainer>
<maintainer type="person" proxied="yes">
- <email>ddenoncin@gmail.com</email>
+ <email>gentoo@denoncin.fr</email>
<name>David Denoncin</name>
</maintainer>
<maintainer type="project" proxied="proxy">
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 8952c7507163..b920e7c78860 100644
--- a/dev-python/ordered-set/ordered-set-4.1.0.ebuild
+++ b/dev-python/ordered-set/ordered-set-4.1.0.ebuild
@@ -1,20 +1,20 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
EAPI=7
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} 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..e14b8a0b309f
--- /dev/null
+++ b/dev-python/orjson/Manifest
@@ -0,0 +1,56 @@
+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 bytecount-0.6.8.crate 14694 BLAKE2B f534fadb45ce25036313c0c4d54ecfd2091069d5402e02606da36d73696c74e3162990dfdbc95dca4424b498983bf04019234af6eb71e38ca28fb7da61d181fb SHA512 5984dbb71fe22371db00ca56675f409cefcf7c093f406ce1abc330a0b1535f30a43a520fb64d66c04a181a4f05d956300e35f77b43aceeb161eaf8a2c64df614
+DIST castaway-0.2.2.crate 11091 BLAKE2B 3445e68aaf533caa1df958fb371622ef61c7778d515fd1efe39a12588e24fe07480738daba008e414a95e72af10d5ea29702425e5b91ebb277fe346ff74bc43b SHA512 dbce2a61a429eda7a8f21b4a35dced729267298be9793310afaff58843211a7177a9bb932a4bd9dfcedaaf1a2570b90261d4c1047c62474450ea835dcfc325a4
+DIST cc-1.0.94.crate 76456 BLAKE2B bf72e0007d9fe022a66ccc12be48acbc5dd1b716a47f18e4062b415405140764db6ed26bcab071307142167309c9c9ab55382c7973ad43fd15d06e3fe6b24b69 SHA512 67ce0e73904cf7fac81b0b914ec5fd4d9e59f358602199530f51d203a2e42be9814b04f65497a644a0e2720cc6e58c5e4bf1ad4782ded35b710b22c9b0f2bee5
+DIST cc-1.0.96.crate 76576 BLAKE2B e0171d68b04bf2435a858b3d50376580f0740588770064bb695ba49b6827bf1f92aa4e973c8dc55e1622e795d23fa8fe42abd122d5d016e800dd5ea86c4ceb3d SHA512 a3e8058165e61020bb10491dae50fcbffbb411d27d6dc44997a931f424e88cb36d89004165aae9c531244a7026920804222c819d12b1be3e3db571bec181d8a3
+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.34.crate 1378166 BLAKE2B 528692170cdb1d74ffb0b122a5aee61f50a2a7e4ce6db049ebea4a185e5c43d4ed99e515f08524053a110e061f788f861e62e0b04eb016e7a9e2678235a04577 SHA512 e23b87003814dd6e7e17924bd1f53989a5008dd1da07baa23c40d2a18dc1ab2d786d61e2c304b3f60e73be5f180ae2deea3b4499c0157b6afe3c9273d2f739f6
+DIST getrandom-0.2.14.crate 37307 BLAKE2B 5904388869335ea904d950ee83ad1867a0d3f6831b7139102b53f4bb4a2c12371c9396f1f1cbcc44e3ce69a4ea316651b1674722071bfa7562385ad4b6a88c33 SHA512 6c334415e09f570e3123e3c6c6eed1727533ac6c9c4142e16ae995c237a16effe146832a891be9fdde4335bd02b454e0fdd9160f20dc02f107ad106756221658
+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 libc-0.2.154.crate 743304 BLAKE2B 25ff132ec29b78dec455f0a1fc9fbfc744ee0d6eb410aba05ec6b1b08af9d83ec61e56f840f86cb833f590e8cdec7f67ce6e7b630ee227a36581650c81298b84 SHA512 891a36cf153a9f4d58793412c104504c57280994e428ce8ba208673a924b2de38cc21eece09b91696eaea3b2359606dbe9f1509f9bf364bdabdb366ef2dd0f61
+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.1.tar.gz 4917664 BLAKE2B ee730e23dcf3930bf5a4046c8ea21b5995fef5e244b4ae73dfd6add1606624e22c2628144c5a7c50d498e5857ed785d1f321437449e09839fe3121e3e231df2a SHA512 54b927f407a584b0751403b3473bdb26fa3827e07895a28255b7ef938dc404d36fd388e47ddd0e724916786a3e52ef9fe5f245d8d2732d1cb6880bedb75135cf
+DIST orjson-3.10.2.tar.gz 4930110 BLAKE2B 319a0874081c495d1a2528716cef0d2ae4c896e65644126b674a0a97e0e03d60d2be6ceb6eb0b5249885abc2816416ba2cd1ec3a5ac1fd57a80dcac5f14f9c19 SHA512 c38e78ea1110c00840dbbec1228eb23ccccc81e8d11494172db120d350510d5a5a9a9958e16949284306b8532e05cd03c6dbd82509e2e791c019d4c284ab2099
+DIST orjson-3.10.3.tar.gz 4930028 BLAKE2B a4ed1bad539d21647ef36a4e72ba1444f57d9b6b1292f6972b62de413bab7668396be5479b384e897bf88a397e7089f4e75e2ecb945ba561bbac5fe602f23faf SHA512 7c29ca375e18170088bfbd0adf58be0291668c77bdae30f74568731350ac384f70430fe3e52ff29733959685cd02bac33ddaae035b9f35824c8daf3c80419506
+DIST proc-macro2-1.0.80.crate 48227 BLAKE2B 1b4d2a1d613af8e03fab7a976707ed9ad4809ba50775992df54de10e5b8deabfcce423ca962fbce5c22090421cb0b8b26b8026d56562aa6569a8acfbb49d55de SHA512 d40181bbc4f83ee66be7721e8f89f9a08e368e12a8a0d4c1dcdb1c29cc72b1bcb8da598de1ad1a155a8182026ab7f8365f7a46fc76d589282fbffbd35aa228a0
+DIST proc-macro2-1.0.81.crate 48233 BLAKE2B 94319064772c757b6bf57eb9e759e827454f719d82210271ebab9c6ee4ecfddc9099522cdc8595123efe2efb64fd50eadd7e31419c5842ff1cb8fdd32e8daa0c SHA512 7edec4b786d9fe076ced4fa5c0d369c163fd1c27c895431245a8268ab2e16665b7c0a585552d46ceee6b8103979a4201f92abb381f0e678128abed359f514de7
+DIST pyo3-build-config-0.21.1.crate 30540 BLAKE2B 4019892096ee02c25ec6484eb56da12990fc84be5c5173f524e88e8b18e5b1b113d0db1962aff44253519bd1b5f3d4f01512ba86441927c19b04911d8282a039 SHA512 9eb4fbef1015deb1d7a414181926b6b4e44acc2347379783f2fe28e212986e62bb7e36d214d3bed613e9f213a9882084af9012042d9047846f7f4948f64112de
+DIST pyo3-build-config-0.21.2.crate 30581 BLAKE2B 993c1f7f15124336b70570ed3949cc0873c2b883e81dd3a350f347cf014fb9a82d487197fdaf475989b727b7ee8d9a5511a72422f76126b8788c4f40831baed8 SHA512 8b6bedb31235de3dd95bca6e19ea4eb7752227ceb9f1c928c4df2b277df5ee443e5c262e448012e4e54e3104213db4d745c9c42f79ab3029dee68f48ec3a2795
+DIST pyo3-ffi-0.21.1.crate 66163 BLAKE2B 7d47e140d6e39d2622a77349c20466e9e161d3732b3df7a4fba258ac4b41b5bfa57e4af87dae8ab932a27c965bc9e3e10cd38195c9037cb78246e0ad10260fd1 SHA512 6d0f6d1c9d6af1255a1d709e1da6dee82c9948ddcd2c8b38c760e5fe23b6a65b050f030b46a38697aa82b5c1927fc9a20dff92cfabf1a03ca92099583a516c68
+DIST pyo3-ffi-0.21.2.crate 66160 BLAKE2B 759622fa3a41bcdb48170983c4e194898415f8db16a7c57ace89a7945bd47374d9a14e5ecf24e80a178bde597cfa30d41f9e6617b458d365640bdbda048e6f6e SHA512 5cbc9dfb14569210776fd66341e77e61642a9920354251a65b91aa13a0fb1c373258d1a6b4f8feacdc4266d472193d8f20a6dd2cc180ccc3d43fb66237ae6d0d
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+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-1.0.200.crate 77611 BLAKE2B 57f4a76cf534ffda009a5441e694b0ac87b30e470c97d77bfd572eb54f039c3cec56f9bf5e035e4b3b257ddb341cb4b7fdb85ca3c4684167220dbb98d1e6a762 SHA512 d4d01d62e7338b147f83bdbe358813e70b7ac218ddbdeab534926d205d46f86e2086f73a01f453c9d4a3bfed07e10d57ebd1f86bdafd4fe96c6298f1e527b8eb
+DIST serde_derive-1.0.197.crate 55771 BLAKE2B 73708908b6d1e104af4c63b498bd25c5a728e07e22afdf92f15754c0f17636efe44c0560c1f0df1b9a30708e8e8894a62f1ea57c234b6dd861cb9c8dc044eb4b SHA512 669376e248b76a5ee8b9c93fd9fe6d35372e7267fbabc14730539ef28a94e405ee5e9c2cc2846897d59d6153742cdc6799f9e2c87f20b9dad119bd3a86c28994
+DIST serde_derive-1.0.200.crate 55785 BLAKE2B 45eca5504aff6bd099a42dfc794cf732c7e76e5ed362d16082ac069d29e1e6c22bb3e13dede4bc498df8f008bdba15479de618380f37c9742a34d97c9ca12efe SHA512 e70f0e092d81542a96b33610da8ddbf04023d8ecc1fa4a4f31978699c118f096e8534f9e3e4e479ee74280efb86d752dd1fce038ef2def329fdcc10c1aa50942
+DIST serde_json-1.0.115.crate 147100 BLAKE2B baa2dce9d85e331d1308f2ece9dbeff24bcc70e37be3f06c7e819ad9f4eb59fb1f00658736fd336a41a65e3616d1bf75a0c9adb359eb606e1418159a9455132f SHA512 d1a60e20af770fdfe0585853c87c5631e56944a3c1bbdf9e1e91003af8e924a8076335bd37563d167c760aad10d4c08fe59ebd47fc52e461bc3586b835808d22
+DIST serde_json-1.0.116.crate 146790 BLAKE2B 20492ac3c431fd3666599f079383a9d945549e02357127a58acaa7011684ef0caca221a253218402ceff6956ee8a20cc41ca3394b25bb69669be75ab22b66a1e SHA512 d383de754b0a50cc4ab3e6378b758ebd6178ad32ebed80cb4e32a9d8e81d0c689585ee5cd35f12b376e488d25ecfaca659be943c9bb4104b63a1c4f9ded2f337
+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.59.crate 255393 BLAKE2B 872c6fdf55eef2f050c02fd054f383ede1793286e787f447d242a0436186e67151ce4f47a63c7ac8ab00a87d2fa9452ccc166a32cc7f1c1de2e0f2581c01d2ee SHA512 0e9e1529a0ce43afeec5e9847f8f4c86939ebb1fa0236d25aab73a9fc253b97ebc62f1c741e137a5a3173e2342b33d776a488210ccbdcd36177a1df31188afdc
+DIST syn-2.0.60.crate 255808 BLAKE2B d7a8e415dd72267fd92da48ba8b3e6feb728f0639797db1aa74aeaa2a57935b7565eec37cbd32eec826154e2c54075b121737369eb15af36c322c34b3cfd7930 SHA512 20bfa02b03c193672a9922f9a5e196185341e082a262f7c00d7c2d467d9e2d77f4af3994634923cfaeee34aa9eab510415165f052ffd9b1ed0b1b581e272898d
+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.1.ebuild b/dev-python/orjson/orjson-3.10.1.ebuild
new file mode 100644
index 000000000000..03be60b91b13
--- /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/orjson/orjson-3.10.2.ebuild b/dev-python/orjson/orjson-3.10.2.ebuild
new file mode 100644
index 000000000000..65dee6590f2a
--- /dev/null
+++ b/dev-python/orjson/orjson-3.10.2.ebuild
@@ -0,0 +1,105 @@
+# 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
+
+src_prepare() {
+ # https://github.com/ijl/orjson/issues/480
+ sed -e 's:numpy\.NINF:-numpy.inf:' \
+ -e 's:numpy\.NZERO:-0.0:' \
+ -e 's:numpy\.PZERO:0.0:' \
+ -i test/test_numpy.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -s
+}
diff --git a/dev-python/orjson/orjson-3.10.3.ebuild b/dev-python/orjson/orjson-3.10.3.ebuild
new file mode 100644
index 000000000000..29864538faf2
--- /dev/null
+++ b/dev-python/orjson/orjson-3.10.3.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.8
+ castaway@0.2.2
+ cc@1.0.96
+ 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.154
+ no-panic@0.1.29
+ num-traits@0.2.18
+ once_cell@1.19.0
+ proc-macro2@1.0.81
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ quote@1.0.36
+ rustversion@1.0.15
+ ryu@1.0.17
+ serde@1.0.200
+ serde_derive@1.0.200
+ serde_json@1.0.116
+ simdutf8@0.1.4
+ smallvec@1.13.2
+ static_assertions@1.1.0
+ syn@2.0.60
+ 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 5d494178906f..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
+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 01193a9fc226..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
@@ -1,21 +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=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
+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 0adbb3d6b351..9256761c213e 100644
--- a/dev-python/osc-lib/Manifest
+++ b/dev-python/osc-lib/Manifest
@@ -1,2 +1 @@
-DIST osc-lib-2.6.0.tar.gz 98452 BLAKE2B b22bcce4a0cdc787422f4fa2d63cae8a289801f5e04bbb2623f261017887e936d2514016ee38aa5b2e4f6e87f137f1d9f59a289b589cd0d6ccce21c54065ccd1 SHA512 b97935da923bbd802ba32a70a91084ca60377a0995b1b204053409c87865dda2a88e8bbf9adf3ed6fb05169448a9d1793a9ea00bc0199f17f86201989159621a
-DIST osc-lib-2.6.1.tar.gz 98508 BLAKE2B 26ca0229c174ac17e17a3b3075e5a225add8272fbf6c28fd1cda40acff5c34092bc37ed7e8f4004734c5509213b9a92915c15e9f37e8e032d99f30fb143b7505 SHA512 ed62fe45ed324d2fa672b4d0366df2db0462e6fa40820ee028540afe853e394293d60d72168d09313fd86f204a55784fce7c038ed906a9b2f8b587f4958f3391
+DIST osc-lib-3.0.1.tar.gz 99513 BLAKE2B 8ecf2b67d5214c2f47dec6e4f2f7bb90c95e19b4c9e81fe3d33716b424ffd2419bf400a6bc3842e1744ae484653d4fcefa10ab6af53a3aafbab1e3ac707bdf04 SHA512 7b846289dd02723360cfb93d7ee5f53f3188a57af5bf7103514d22d9b3b044654d7ef05ecdfff74eb3a354d3ce8c75941632dd42af060f55f17ab0cae7aedeb1
diff --git a/dev-python/osc-lib/osc-lib-2.6.0.ebuild b/dev-python/osc-lib/osc-lib-2.6.0.ebuild
deleted file mode 100644
index 4b1581252d95..000000000000
--- a/dev-python/osc-lib/osc-lib-2.6.0.ebuild
+++ /dev/null
@@ -1,47 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A package of common support modules for writing OSC plugins"
-HOMEPAGE="https://github.com/openstack/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-2.6.1.ebuild b/dev-python/osc-lib/osc-lib-2.6.1.ebuild
deleted file mode 100644
index 20c842306de9..000000000000
--- a/dev-python/osc-lib/osc-lib-2.6.1.ebuild
+++ /dev/null
@@ -1,51 +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_{8..10} )
-
-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 e2ef7144db99..0f05f548d9c5 100644
--- a/dev-python/oslo-concurrency/Manifest
+++ b/dev-python/oslo-concurrency/Manifest
@@ -1,2 +1 @@
-DIST oslo.concurrency-4.5.1.tar.gz 59126 BLAKE2B 61f509b4ce76cd036b695bb5ad744374e029239a63a629a4b96d44c8ba29150095fe9d57000367c4d07dc7c358ef61cfa4868a2347f206327093ad32ffb85955 SHA512 88319915c90befb01a275666b4a760357c1e72f04d5faf27ab9c67629ecbf2dd3a73d077f3c57435231b55aa777a9642f26e91cc4cb27ad56eb801b2b98eca48
-DIST oslo.concurrency-5.0.0.tar.gz 59343 BLAKE2B 412fba38e0281b2c6d7b27182d159c99730a22ec3400586481f234998cd2f446de5cdd84aaa3abb1cdd93eb9eff1294c87ce51e165dc49caa078e69932ecd19b SHA512 570acbaf599a8a177ba6bc7c009edb43db5e077c06bee5c5895d81944daf78c8dde197bd9af730b17b5075fdaf527252aa44ea0edb79d73e16714582645afb7e
+DIST oslo.concurrency-6.0.0.tar.gz 60373 BLAKE2B 24002c424894826f86d9fa7601d107ab04159ace9388944b615d4c1e35f54d5d8438b1a5021a3c3b0ef755d9b92382b9804fe8f7a84075feb7d7d523a4d1cbe9 SHA512 6a706e0590f6e29ab560e4133ffdb8dbd6c2cb2dc7cd16acd803ca93800a38223f57eec8c79698c9fe5bf47b1cdcbb89e1a98d3ea36f03a9ccee9da9ab39a0d9
diff --git a/dev-python/oslo-concurrency/metadata.xml b/dev-python/oslo-concurrency/metadata.xml
index 1a7559b0153a..8d5c043e7277 100644
--- a/dev-python/oslo-concurrency/metadata.xml
+++ b/dev-python/oslo-concurrency/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>arthurzam@gentoo.org</email>
- <name>Arthur Zamarin</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/oslo-concurrency/oslo-concurrency-4.5.1.ebuild b/dev-python/oslo-concurrency/oslo-concurrency-4.5.1.ebuild
deleted file mode 100644
index c2a8701d0d14..000000000000
--- a/dev-python/oslo-concurrency/oslo-concurrency-4.5.1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Oslo Concurrency library"
-HOMEPAGE="https://pypi.org/project/oslo.concurrency/
- https://github.com/openstack/oslo.concurrency"
-SRC_URI="mirror://pypi/o/${PN/-/.}/${PN/-/.}-${PV}.tar.gz"
-S="${WORKDIR}/${PN/-/.}-${PV}"
-
-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}]
- $(python_gen_cond_dep '
- >=dev-python/eventlet-0.19.0[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- )
-"
-
-distutils_enable_tests unittest
-
-python_compile() {
- distutils-r1_python_compile
- if ! has "${EPYTHON}" python3.{8..9}; then
- find "${BUILD_DIR}"/install -name '*eventlet*.py' -delete || die
- fi
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- eunittest
-}
diff --git a/dev-python/oslo-concurrency/oslo-concurrency-5.0.0-r1.ebuild b/dev-python/oslo-concurrency/oslo-concurrency-5.0.0-r1.ebuild
deleted file mode 100644
index dc7ded7d9eb9..000000000000
--- a/dev-python/oslo-concurrency/oslo-concurrency-5.0.0-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Oslo Concurrency library"
-HOMEPAGE="https://pypi.org/project/oslo.concurrency/
- https://github.com/openstack/oslo.concurrency"
-SRC_URI="mirror://pypi/o/${PN/-/.}/${PN/-/.}-${PV}.tar.gz"
-S="${WORKDIR}/${PN/-/.}-${PV}"
-
-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}]
- $(python_gen_cond_dep '
- >=dev-python/eventlet-0.19.0[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- )
-"
-
-distutils_enable_tests unittest
-
-python_compile() {
- distutils-r1_python_compile
- if ! has "${EPYTHON}" python3.{8..9}; then
- find "${BUILD_DIR}"/install -name '*eventlet*' -delete || die
- fi
-}
-
-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 fc5fd42f7c34..4bf4788b8cae 100644
--- a/dev-python/oslo-config/Manifest
+++ b/dev-python/oslo-config/Manifest
@@ -1,2 +1 @@
-DIST oslo-config-8.8.0.tar.gz 160783 BLAKE2B ebc9cdd7ba9ad3e1bbca932f7c87dc5573a5453808baccd2885345efad4d62ad23819945b5a30645983489312d3fc083cdb414c13d1b772a8de49d74aa1f8797 SHA512 8ddb6a631421737fe9c08b5a5fadfa68a53ef6bac396b86b4d30b5be0449f0e000a40b09939513c3651eca49dd750c324a01656792a68ed42cdcf1539d65cf44
-DIST oslo.config-9.0.0.tar.gz 160832 BLAKE2B ea202f09505979850d415023953b2e7784c1f7aaeeb1a4b26fccb61de320a77dc232f30b546c031233793463b9b68751ced6bd7e0572c156a377ebcf68c48325 SHA512 7d07f3011c0fa7c839a12695199ae8181fbf40c309d6d8e7c6df910f4ad85ba16058f3bcd155bef9620e6f848e371b0d170ec1dde3f5317af522a6d979a7d7c6
+DIST oslo.config-9.4.0.tar.gz 161322 BLAKE2B 3edd3be09ebe777ebcb4cd79171bae764046f6ceb0f0c9ca8f88388f1a0bcd23d2bb4e4130ab81a7f3cf063ce0ee668ffbcd8c4bf9f633213e97dcd12e2575dd SHA512 d404876c34c82963af8b992091fd1186855b3ced9a6a574ca4fc152a5b50bfc1945aca04e163770d8bec948cb57904a83eae9e3d7c4c3b852c90987f73e66ba9
diff --git a/dev-python/oslo-config/metadata.xml b/dev-python/oslo-config/metadata.xml
index f38903345145..25cba1a5ec96 100644
--- a/dev-python/oslo-config/metadata.xml
+++ b/dev-python/oslo-config/metadata.xml
@@ -17,5 +17,6 @@
<upstream>
<remote-id type="pypi">oslo.config</remote-id>
<remote-id type="launchpad">oslo</remote-id>
+ <remote-id type="github">openstack/oslo.config</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/oslo-config/oslo-config-8.8.0.ebuild b/dev-python/oslo-config/oslo-config-8.8.0.ebuild
deleted file mode 100644
index 0a11e48aaf96..000000000000
--- a/dev-python/oslo-config/oslo-config-8.8.0.ebuild
+++ /dev/null
@@ -1,48 +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_{8..10} )
-
-inherit distutils-r1
-
-MY_PN=${PN/-/.}
-
-DESCRIPTION="Oslo Configuration API"
-HOMEPAGE="https://launchpad.net/oslo"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-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
-
-python_test() {
- local -x COLUMNS=80
- eunittest -b
-}
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 d65a29c95a7b..000000000000
--- a/dev-python/oslo-config/oslo-config-9.0.0.ebuild
+++ /dev/null
@@ -1,60 +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_{8..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 3d3e72c65b47..fc7816b78973 100644
--- a/dev-python/oslo-context/Manifest
+++ b/dev-python/oslo-context/Manifest
@@ -1,2 +1 @@
-DIST oslo.context-4.1.0.tar.gz 33573 BLAKE2B 8fa4f94f5cb5c82d95e55bbc553f97088ae8907b38ebc95b81674709c6fb4eeffab4f83f042c2069a9bcddfa827ca0c5c9e31ec12f21ad1c82dc111ea7d1732e SHA512 83ef0aafc94460bc16ac84841ffa78bad2594d7b81578552579251b2548779296552f86204788fe3acd1a393e7ca54d479475e8c062649d0fd2f4989c3cbebe9
-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-4.1.0.ebuild b/dev-python/oslo-context/oslo-context-4.1.0.ebuild
deleted file mode 100644
index 601a617e6c76..000000000000
--- a/dev-python/oslo-context/oslo-context-4.1.0.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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Helpers to maintain useful information about a request context"
-HOMEPAGE="https://pypi.org/project/oslo.context/"
-SRC_URI="mirror://pypi/${PN:0:1}/oslo.context/oslo.context-${PV}.tar.gz"
-S="${WORKDIR}/oslo.context-${PV}"
-
-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.0.0.ebuild b/dev-python/oslo-context/oslo-context-5.0.0.ebuild
deleted file mode 100644
index 713dff046f2b..000000000000
--- a/dev-python/oslo-context/oslo-context-5.0.0.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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 0dd4662cf5a3..000000000000
--- a/dev-python/oslo-i18n/oslo-i18n-5.1.0-r1.ebuild
+++ /dev/null
@@ -1,42 +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_{8..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 7dc3a671a5de..2a81363ab1d2 100644
--- a/dev-python/oslo-log/Manifest
+++ b/dev-python/oslo-log/Manifest
@@ -1 +1 @@
-DIST oslo.log-5.0.0.tar.gz 93053 BLAKE2B 640d88e3e7a0f45bbc1407d5e0298a157653d5c2c18a9347057447f0ffbd2d12d878ceefaab6df5e0df2337a85f63945e2af2fb1a58ab51ed2fe039b088c1667 SHA512 fd5cc985a6ba8fecbe052d1036620ae3fd5b6d7a2bbabbdc677fc7db399c6ad806ec032cb595f005ceda74b5477b120df65839cb7904049cab8c2e57a82e8d82
+DIST oslo.log-5.5.1.tar.gz 96952 BLAKE2B e36734c6b31f3773955085098898172b6936d9ed6dd7635a2ae026b615d36ee4da0cf8921aacc8b2cc16e0818b003b31718e95d0d539b266bc013df034c8a376 SHA512 c32cd84922b8a8976f6c79f97ccb8bba4dc68be17933ee4f35ca3abc923f807e8b3ae003ae83528d322642884dd16a9d788b57d478f4a0efcde12551b7b166cf
diff --git a/dev-python/oslo-log/metadata.xml b/dev-python/oslo-log/metadata.xml
index 239616833a37..b2aba2bd94b5 100644
--- a/dev-python/oslo-log/metadata.xml
+++ b/dev-python/oslo-log/metadata.xml
@@ -14,9 +14,9 @@
<name>Python</name>
</maintainer>
<longdescription lang="en">
-OpenStack logging configuration library provides standardized configuration for all openstack projects.
-It also provides custom formatters, handlers and support for context specific logging (like resource id’s etc).
-</longdescription>
+ OpenStack logging configuration library provides standardized configuration for all openstack projects.
+ It also provides custom formatters, handlers and support for context specific logging (like resource id’s etc).
+ </longdescription>
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">oslo.log</remote-id>
diff --git a/dev-python/oslo-log/oslo-log-5.0.0.ebuild b/dev-python/oslo-log/oslo-log-5.0.0.ebuild
deleted file mode 100644
index 6b0d791643f1..000000000000
--- a/dev-python/oslo-log/oslo-log-5.0.0.ebuild
+++ /dev/null
@@ -1,47 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="OpenStack logging config library, configuration for all openstack projects"
-HOMEPAGE="https://pypi.org/project/oslo.log/ https://github.com/openstack/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
-
-python_test() {
- eunittest -b
-}
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..0c210c595a11
--- /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 963fbbddfdae..4488597d2813 100644
--- a/dev-python/oslo-serialization/Manifest
+++ b/dev-python/oslo-serialization/Manifest
@@ -1,2 +1 @@
-DIST oslo.serialization-4.3.0.tar.gz 34114 BLAKE2B a123cdf8a52be65e5c8ce8073bd04db7013f88aae20ebbb8d32a8a4e30588d5e5c11ba8c60087264b0b55e98962172ecfa1030f48c223d52b6dbe814c69c9014 SHA512 78c8d08365755c2bd10fce1fbee403e3c8301bfe0f3b7dd9dccbd5aeb3e010cc00c7b295c3b33b472b50911f332aa3d40d761e49ca0252e522e9cd11017b807f
-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-4.3.0.ebuild b/dev-python/oslo-serialization/oslo-serialization-4.3.0.ebuild
deleted file mode 100644
index 68125caae558..000000000000
--- a/dev-python/oslo-serialization/oslo-serialization-4.3.0.ebuild
+++ /dev/null
@@ -1,43 +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_{8..10} )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Oslo Serialization library"
-HOMEPAGE="https://launchpad.net/oslo"
-SRC_URI="mirror://pypi/${PN:0: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.0.0.ebuild b/dev-python/oslo-serialization/oslo-serialization-5.0.0.ebuild
deleted file mode 100644
index e391854bfe3c..000000000000
--- a/dev-python/oslo-serialization/oslo-serialization-5.0.0.ebuild
+++ /dev/null
@@ -1,47 +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_{8..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 2a9241fbbdaf..e368b7f84e25 100644
--- a/dev-python/oslo-utils/Manifest
+++ b/dev-python/oslo-utils/Manifest
@@ -1 +1 @@
-DIST oslo.utils-6.0.0.tar.gz 101261 BLAKE2B 8a659b4bedf49e40c85ee40fe026205964d2f4a919170e4700c85e754f4bbffdf5bb9305aea00f7b36233feec93e42bf5e0c72591eeedc02709a7fcdba64d9b6 SHA512 9f9dcd585419372711af69917daf717d7c694cc604aed4db242e508ca6bdea3db9a52a29c354dbb5c80473a819c80dec9eccad7e6f6ca297c3469bcd2db5c7d5
+DIST oslo.utils-7.1.0.tar.gz 104775 BLAKE2B 6bdd137fd5ede65ea49faa872b8d93cec20ccc3b9564548384441e8e1b14526750a6d8e0263103a926bb52425c171a6e0d9dbcb0d373d1a9c8904774d03393b0 SHA512 7bd6e7e6cf097b239216d58ce8f9028eb0b2994115be15ac78d9b1bae4efb6f774fa72da4944ac79e9155d21a8e6dea3ac13b5445c8dd0f3452a6dd8143aabc4
diff --git a/dev-python/oslo-utils/metadata.xml b/dev-python/oslo-utils/metadata.xml
index 2f2757efe44c..8545d07a9c9e 100644
--- a/dev-python/oslo-utils/metadata.xml
+++ b/dev-python/oslo-utils/metadata.xml
@@ -17,5 +17,6 @@
<upstream>
<remote-id type="pypi">oslo.utils</remote-id>
<remote-id type="launchpad">oslo</remote-id>
+ <remote-id type="github">openstack/oslo.utils</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/oslo-utils/oslo-utils-6.0.0-r1.ebuild b/dev-python/oslo-utils/oslo-utils-6.0.0-r1.ebuild
deleted file mode 100644
index 628697fb08ba..000000000000
--- a/dev-python/oslo-utils/oslo-utils-6.0.0-r1.ebuild
+++ /dev/null
@@ -1,58 +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_{8..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? (
- $(python_gen_cond_dep '
- >=dev-python/eventlet-0.23.0[${PYTHON_USEDEP}]
- ' python3_{8..9})
- >=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
- if ! has "${EPYTHON}" python3.{8..9}; then
- find "${BUILD_DIR}"/install -name '*eventletutils*' -delete || die
- fi
-}
-
-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..e0bcbcbca98b
--- /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/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 a5d04babb6b3..000000000000
--- a/dev-python/oslotest/oslotest-4.5.0-r2.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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/osrf_pycommon/Manifest b/dev-python/osrf_pycommon/Manifest
deleted file mode 100644
index c0c27efe1e3c..000000000000
--- a/dev-python/osrf_pycommon/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST osrf_pycommon-2.0.2.tar.gz 45927 BLAKE2B 49d8ada07d5cae3b9ad0fac7bae38749517680d3c7d7b84f06f83e4f6d14534cd62fdc72bf4fe11faf0eac4d7e5ef133b9a2410e689fafdaadbb5c1a7838a371 SHA512 3efba5e7010bf96e264c01bad1f095e121e998f34125b6393e5154eb7632704ae18e5d72f17862f527d584bd2e2e216d115b8c87e523ddcfff6656d6db331091
diff --git a/dev-python/osrf_pycommon/metadata.xml b/dev-python/osrf_pycommon/metadata.xml
deleted file mode 100644
index eae3399db897..000000000000
--- a/dev-python/osrf_pycommon/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>ros@gentoo.org</email>
- <name>Gentoo ROS Project</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="github">osrf/osrf_pycommon</remote-id>
- <remote-id type="pypi">osrf-pycommon</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/osrf_pycommon/osrf_pycommon-2.0.2.ebuild b/dev-python/osrf_pycommon/osrf_pycommon-2.0.2.ebuild
deleted file mode 100644
index b096ab70236b..000000000000
--- a/dev-python/osrf_pycommon/osrf_pycommon-2.0.2.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Commonly needed Python modules used by Python software developed at OSRF"
-HOMEPAGE="https://github.com/osrf/osrf_pycommon"
-SRC_URI="https://github.com/osrf/osrf_pycommon/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # linting is something upstreams do
- # for us, it either means unneeded deps or breakage due to changes
- tests/test_code_format.py
-)
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 e63ca640f474..000000000000
--- a/dev-python/outcome/outcome-1.2.0.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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
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..96b79e70915a 100644
--- a/dev-python/ovs/Manifest
+++ b/dev-python/ovs/Manifest
@@ -1,2 +1,2 @@
-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
+DIST ovs-2.17.9.tar.gz 110350 BLAKE2B 68f6fb154c830877fa404a24e5283e17cbb9e9d0c138e26da897835741457bab53be99754959eb01bdc8c5ea61a67327655ad6b1deba941b37ba4e86dab61375 SHA512 05ba60f585b576757bf0d2799dda2d17f0b4fd06bbdeaf4810c64f48c1a74dbc8bdba4348800fcb0c343415317104556cf4f2ab2dcabd9d438a0c31de1c45cd6
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 b1d107f7d83b..000000000000
--- a/dev-python/ovs/ovs-2.13.3.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7,8,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 e7cd6f385273..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-2022 Gentoo Authors
+# Copyright 1999-2024 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
-
-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/ovs/ovs-2.17.9.ebuild b/dev-python/ovs/ovs-2.17.9.ebuild
new file mode 100644
index 000000000000..fee35f8f7973
--- /dev/null
+++ b/dev-python/ovs/ovs-2.17.9.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..12} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="OVS bindings for python"
+HOMEPAGE="https://github.com/openvswitch/ovs/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="dev-python/sortedcontainers[${PYTHON_USEDEP}]"
diff --git a/dev-python/owslib/Manifest b/dev-python/owslib/Manifest
index d9a4945dbb3d..0d51b16988ee 100644
--- a/dev-python/owslib/Manifest
+++ b/dev-python/owslib/Manifest
@@ -1 +1 @@
-DIST owslib-0.26.0.gh.tar.gz 948463 BLAKE2B 2cbdad2d8e9bc4b8a7e2db58dc75a7c053bde0b2cc772a01f230db044909615b96e62b08bb93233df153686a180a5e93af1bda6ea79b8565efacccfa18fcf4da SHA512 27362c47eae87dc6318d505dd1b0987de36d140d2d0fd5d7a5195470de39d73807fbcafa142366f6981cc36453c262a41133c6c68baf45a97d0fdaae5a0ebf4b
+DIST OWSLib-0.30.0.gh.tar.gz 995826 BLAKE2B 58066b461794d424e646cd148f1c0379c22c17bee144611e4bda71c8410f2d4dbd172e5cad14ff1e33fc3e2a7293985c943eace6284d1830a2533abbe95ecf27 SHA512 2fdad8ac282d78181e2b7953f22db063f760c2f61682967c7d99ac8e12d62345168db978d9599a4093005f520968d4e97fc588f9a9b7d81a87894b08028d42d8
diff --git a/dev-python/owslib/owslib-0.26.0.ebuild b/dev-python/owslib/owslib-0.26.0.ebuild
deleted file mode 100644
index 84f2660d1f89..000000000000
--- a/dev-python/owslib/owslib-0.26.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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/pyproj[${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 9cb854a5d2cd..41a6b61b6345 100644
--- a/dev-python/packaging/Manifest
+++ b/dev-python/packaging/Manifest
@@ -1 +1,2 @@
-DIST packaging-21.3.gh.tar.gz 80471 BLAKE2B a16ba1e74f0c868816131a7cb07b7aa0c14760cf3ad4c3d6737ac30ef99276c33b1f018d29e710f28e8d0cfb0e3e6b91e375d1d17e2b7ec6302164377cd503d0 SHA512 8960deacda26877b73d98a3b632e760e902a16ec7a04707f84044980e4d4fb33e4f584db115c9008066aa876079f28633bafe37fbd5ce9a23830b6b89eb4ae7a
+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 bfffb773d8e3..000000000000
--- a/dev-python/packaging/packaging-21.3-r2.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2022 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_{8..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-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..cf4d60443386
--- /dev/null
+++ b/dev-python/packaging/packaging-24.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core utilities for Python packages"
+HOMEPAGE="
+ https://github.com/pypa/packaging/
+ https://pypi.org/project/packaging/
+"
+
+LICENSE="|| ( Apache-2.0 BSD-2 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/setuptools-67
+"
+DEPEND="
+ test? (
+ dev-python/pretend[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest --capture=no
+}
diff --git a/dev-python/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 305c6ddee8c5..000000000000
--- a/dev-python/pafy/pafy-0.5.5.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_{8..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 348baedd9e97..000000000000
--- a/dev-python/pafy/pafy-9999.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
-
-PYTHON_COMPAT=( python3_{8..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..6a2c2661b922 100644
--- a/dev-python/paho-mqtt/Manifest
+++ b/dev-python/paho-mqtt/Manifest
@@ -1 +1,3 @@
-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
+DIST paho.mqtt.python-2.1.0.gh.tar.gz 167548 BLAKE2B 71127e4187746fc81e5dfd667178ad3f2bf8cc8fc2c803ee91afd54b9a30432394c53bda8751345aad8739c019081e5f1937bfcee1c91ef1849d12490739ab67 SHA512 50e7222de62d49975e6d34136357df6e95c34034768f06e7f1d39fac280aecfb366da134f8349e7e3f358f69840ee4707ba7567955bd70bb78c737ff3959e7f3
diff --git a/dev-python/paho-mqtt/paho-mqtt-1.6.1-r1.ebuild b/dev-python/paho-mqtt/paho-mqtt-1.6.1-r1.ebuild
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 42851e9557cc..000000000000
--- a/dev-python/paho-mqtt/paho-mqtt-1.6.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
-
-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..c8926a8ff34a
--- /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/paho-mqtt/paho-mqtt-2.1.0.ebuild b/dev-python/paho-mqtt/paho-mqtt-2.1.0.ebuild
new file mode 100644
index 000000000000..1ca9bdef58fe
--- /dev/null
+++ b/dev-python/paho-mqtt/paho-mqtt-2.1.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+MY_P="paho.mqtt.python-${PV}"
+DESCRIPTION="MQTT version 5.0/3.1.1 client class"
+HOMEPAGE="
+ https://eclipse.dev/paho/index.php?page=clients/python/
+ https://github.com/eclipse/paho.mqtt.python/
+ https://pypi.org/project/paho-mqtt/
+"
+SRC_URI="
+ https://github.com/eclipse/paho.mqtt.python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="EPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pallets-sphinx-themes/Manifest b/dev-python/pallets-sphinx-themes/Manifest
index fad308fac8b9..59ba0ef4f641 100644
--- a/dev-python/pallets-sphinx-themes/Manifest
+++ b/dev-python/pallets-sphinx-themes/Manifest
@@ -1 +1,2 @@
-DIST pallets-sphinx-themes-2.0.2.tar.gz 20655 BLAKE2B a5e2d3a02a5996df6e648b8cf9943260d6e0e475108921493300c7d9437837cc66e83b489ad335596c39eac29f3a6e23b7b4abc3cf1fe3bbb018fd874b44aefd SHA512 a37b0f4fe38c098c0508988faa54ed8b2e1ad9ba41f95f862734cf38fd093e2b7c42d408fc10e529aca810f4cc37d16e6d707ed9affa433adfcb481006cd4577
+DIST pallets_sphinx_themes-2.1.2.tar.gz 20043 BLAKE2B 7c3789beeefe6f0c558c869048aa2b1c8c9778d91b91476c373678c06e04527e025e9ed03dda217b198cdc00a29f37421a13c26a049d6b567f8a12d4f0ce6b27 SHA512 12f103c09d8e6138709100b741ba57a91a016c7f4b22ab8fa8ec95fb4348a8ab0881fee060b5ea48c4ecb404af95d0f01af0dabbe7fbb4e41bfe6f68abb8457f
+DIST pallets_sphinx_themes-2.1.3.tar.gz 20124 BLAKE2B c66fac3aa625812c48aceee75a8296d272a1c5819463b41c2892aeefef4633da1d74c781b1669dbe87aa7af302169469fb04b7cc0492970156efcc53271e8c0f SHA512 2b11d05af4023b54b6bb3f1edda509648458542b9ff255b709cc01797551755d80851612259f460e3d17e4a3b5da0833e12c15bf5df11b38641c4d34007dc12e
diff --git a/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.0.2.ebuild b/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.0.2.ebuild
deleted file mode 100644
index 496d3d1f939e..000000000000
--- a/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.0.2.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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.1.2.ebuild b/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.2.ebuild
new file mode 100644
index 000000000000..fc787fbb1408
--- /dev/null
+++ b/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_PN=Pallets-Sphinx-Themes
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx themes for Pallets and related projects"
+HOMEPAGE="
+ https://github.com/pallets/pallets-sphinx-themes/
+ https://pypi.org/project/Pallets-Sphinx-Themes/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-3[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.3.ebuild b/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.3.ebuild
new file mode 100644
index 000000000000..f727d044d1af
--- /dev/null
+++ b/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_PN=Pallets-Sphinx-Themes
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx themes for Pallets and related projects"
+HOMEPAGE="
+ https://github.com/pallets/pallets-sphinx-themes/
+ https://pypi.org/project/Pallets-Sphinx-Themes/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-3[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pandas-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 c824e7cd3610..000000000000
--- a/dev-python/pandas-datareader/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" proxied="yes">
- <email>gentoo@chymera.eu</email>
- <name>Horea Christian</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">
- 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 854753e74aff..000000000000
--- a/dev-python/pandas-datareader/pandas-datareader-0.10.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 bac761fd49a8..05856a547c23 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -1 +1,2 @@
-DIST pandas-1.4.3.tar.gz 4941520 BLAKE2B b134f7c04c2478b7105214ed62e9adcaed98ffb4179a785f7887850d66702bf0f185d60a3da6de6226742529008bac614b494453dca929e477960ff3b43ef93d SHA512 d8d7575ce2b813361641d4e438844e03ed79179f5dcc56f2e4923bfeceab6f825a9bcc419e9492ee5e0272ea7c9bb9eeab6a0e242a880a87999df2a492436d8e
+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/metadata.xml b/dev-python/pandas/metadata.xml
index cfad9c55411c..0824852ce83d 100644
--- a/dev-python/pandas/metadata.xml
+++ b/dev-python/pandas/metadata.xml
@@ -14,7 +14,7 @@
"labeled" data both easy and intuitive. It aims to be the
fundamental high-level building block for doing practical, real
world data analysis in Python.
-</longdescription>
+ </longdescription>
<use>
<flag name="full-support">Pull all packages to give pandas full support</flag>
</use>
diff --git a/dev-python/pandas/pandas-1.4.3.ebuild b/dev-python/pandas/pandas-1.4.3.ebuild
deleted file mode 100644
index c3b39bbb5a05..000000000000
--- a/dev-python/pandas/pandas-1.4.3.ebuild
+++ /dev/null
@@ -1,197 +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_{8..10} )
-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/"
-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
-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? (
- dev-python/statsmodels[${PYTHON_USEDEP}]
- >=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.24[${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
-
- # 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
- )
-
- 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 "${MAKEOPTS}" "$(get_nproc)")" ||
- 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..03fd67dd8c6b
--- /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 8b3a84608114..000000000000
--- a/dev-python/pandocfilters/pandocfilters-1.5.0.ebuild
+++ /dev/null
@@ -1,16 +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_{8..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 ~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/Manifest b/dev-python/parallax/Manifest
index 38fb9661bf72..e7b37510fc25 100644
--- a/dev-python/parallax/Manifest
+++ b/dev-python/parallax/Manifest
@@ -1 +1 @@
-DIST parallax-1.0.6.tar.gz 17371 BLAKE2B 7540b7248ddeecbef79bf6d302043c48e5aa228a9c217aa0df3161d399d326d8e5da7e06906ac1bd715976dd65d5282302c73df84d00d64de525e4e16a37ffdd SHA512 01f45d5fd801b5525adec12655e620219f8c2ccb9390b82ca78f19a7489278121dd45de6be387034da3691d9ccb1e8f912859c31e85a82bccd1a789da830349e
+DIST parallax-1.0.8.gh.tar.gz 15921 BLAKE2B af82ef5ab0d74f3df242e53385c646fc0fb9e43883f64854245922d443161259b53bfbc069f24081be0dbf4a9f2fac023c34b889041b88e0abfb9fe5a607eb5b SHA512 8b8d16d84af374691ba77714246545da661c73ac6f4f53f4b8221085e0f3d64e18f2a986749f5d98f5285e89da792d4600d05681fc0267242656bfed0b9da621
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/parallax/parallax-1.0.6.ebuild b/dev-python/parallax/parallax-1.0.6.ebuild
deleted file mode 100644
index fb448516f786..000000000000
--- a/dev-python/parallax/parallax-1.0.6.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit distutils-r1
-
-DESCRIPTION="Execute commands and copy files over SSH to multiple machines at once"
-HOMEPAGE="https://github.com/krig/parallax/"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="all-rights-reserved"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~x86"
diff --git a/dev-python/parallax/parallax-1.0.8.ebuild b/dev-python/parallax/parallax-1.0.8.ebuild
new file mode 100644
index 000000000000..2500aac1398d
--- /dev/null
+++ b/dev-python/parallax/parallax-1.0.8.ebuild
@@ -0,0 +1,18 @@
+# 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="Execute commands and copy files over SSH to multiple machines at once"
+HOMEPAGE="https://github.com/krig/parallax/"
+SRC_URI="https://github.com/krig/parallax/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+
+# Requires SSH connection to hosts for testing
+RESTRICT="test"
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 8c781e672213..000000000000
--- a/dev-python/parameterized/parameterized-0.8.1-r2.ebuild
+++ /dev/null
@@ -1,33 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Parameterized testing with any Python test framework"
-HOMEPAGE="https://github.com/wolever/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 aa0b682d200c..f03fc1283b0f 100644
--- a/dev-python/paramiko/Manifest
+++ b/dev-python/paramiko/Manifest
@@ -1 +1 @@
-DIST paramiko-2.11.0.tar.gz 350793 BLAKE2B 86358e08407f8a820a9b33a60e771ac3adb8f3e003ccbc4704ba69a52bd427f38a9c49a20e6a07220d07c25dbcc35a472b2091fa9f7bc1447bab0d7a1ce16b35 SHA512 59e439bd54d83938f91d6c9888f2278bafa4ca48582939580bdabc6207dbe6dc856f6006ad26b7ec91b9d39e92ca70dc6270c6b5d4f77a5e1fa0ec8bd084d4b5
+DIST paramiko-3.4.0.gh.tar.gz 374441 BLAKE2B a6ea03d40e477cb02c1293c46025909251f8eec2be70638bf850638d9fe8c15bfe0e278697e41f3595f482b8f0755d911b905b11db2324eca597fc9be2a22f24 SHA512 f78fccf653d05acee78dfb76fb662c85fbfea7901fd94460a2d2e526c9b25169993051d20c16cfe0b7745008b1ea3a745fc9a280386d98a06689aaadf78f6752
diff --git a/dev-python/paramiko/files/paramiko-2.11.0-invoke-tests.patch b/dev-python/paramiko/files/paramiko-2.11.0-invoke-tests.patch
deleted file mode 100644
index 80fe876ef8e3..000000000000
--- a/dev-python/paramiko/files/paramiko-2.11.0-invoke-tests.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 529558cc20e448e45e24dc7b7609cd62300838b8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Thu, 16 Apr 2020 09:46:39 +0200
-Subject: [PATCH] Skip tests requiring invoke if it's not installed
-
-Since invoke is an optional dependency and only one group of tests
-require it, skip them gracefully rather than failing if it's not
-present.
----
- tests/test_config.py | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/tests/test_config.py b/tests/test_config.py
-index 45fb262d..017d4bbf 100644
---- a/tests/test_config.py
-+++ b/tests/test_config.py
-@@ -6,7 +6,11 @@ from socket import gaierror
-
- from paramiko.py3compat import string_types
-
--from invoke import Result
-+try:
-+ from invoke import Result
-+except ImportError:
-+ Result = None
-+
- from mock import patch
- from pytest import raises, mark, fixture
-
-@@ -742,6 +746,7 @@ def _expect(success_on):
- return inner
-
-
-+@mark.skipif(Result is None, reason="requires invoke package")
- class TestMatchExec(object):
- @patch("paramiko.config.invoke", new=None)
- @patch("paramiko.config.invoke_import_error", new=ImportError("meh"))
---
-2.35.1
-
diff --git a/dev-python/paramiko/files/paramiko-2.11.0-pytest-relaxed.patch b/dev-python/paramiko/files/paramiko-2.11.0-pytest-relaxed.patch
deleted file mode 100644
index 6e746aff1863..000000000000
--- a/dev-python/paramiko/files/paramiko-2.11.0-pytest-relaxed.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 03741e48c83856e53fc3f1487d660165cb718c11 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 | 20 ++++++++++----------
- 3 files changed, 10 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 fdf19c45..e4af71df 100644
---- a/tests/test_client.py
-+++ b/tests/test_client.py
-@@ -33,7 +33,7 @@ import warnings
- import weakref
- from tempfile import mkstemp
-
--from pytest_relaxed import raises
-+import pytest
- from mock import patch, Mock
-
- import paramiko
-@@ -733,11 +733,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):
-@@ -757,15 +757,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.35.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.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/metadata.xml b/dev-python/paramiko/metadata.xml
index 05fe0aaee56e..139a32ac7fa6 100644
--- a/dev-python/paramiko/metadata.xml
+++ b/dev-python/paramiko/metadata.xml
@@ -10,13 +10,13 @@ This is a library for making SSH2 connections (client or server).
Emphasis is on using SSH2 as an alternative to SSL for making secure
connections between python scripts. All major ciphers and hash methods
are supported. SFTP client mode is now supported too.
-</longdescription>
+ </longdescription>
<longdescription lang="ja">
ã“ã‚Œã¯SSH2コãƒã‚¯ã‚·ãƒ§ãƒ³(クライアントã¨ã‚µãƒ¼ãƒãƒ¼)を作り出ã™ãŸã‚ã®ãƒ©ã‚¤ãƒ–ラリã§ã™ã€‚注
目点ã¯Python言語スクリプト間ã®ã‚»ã‚­ãƒ¥ã‚¢ãªã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’作り出ã™SSLã®ä»£ç”¨ã«SSHを利
用ã—ã¦ã„る所ã§ã™ã€‚有åãªCipherã¨Hash処ç†ã®å…¨ã¦ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™ã€‚SFTPクライ
アントもサãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™ã€‚
-</longdescription>
+ </longdescription>
<stabilize-allarches/>
<use>
<flag name="server">Enable server feature</flag>
diff --git a/dev-python/paramiko/paramiko-2.11.0.ebuild b/dev-python/paramiko/paramiko-2.11.0.ebuild
deleted file mode 100644
index 6576cc3aa7b1..000000000000
--- a/dev-python/paramiko/paramiko-2.11.0.ebuild
+++ /dev/null
@@ -1,62 +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_{8..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}.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.11.0-pytest-relaxed.patch"
- "${FILESDIR}/${PN}-2.11.0-invoke-tests.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 47663cbb6a34..000000000000
--- a/dev-python/parse/parse-1.19.0-r1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="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..3848625e961a
--- /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..13} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="Parse strings using a specification based on the Python format() syntax"
+HOMEPAGE="https://github.com/r1chardj0n3s/parse/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/parse_type/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 b0dd2c0d8eb9..000000000000
--- a/dev-python/parse_type/parse_type-0.6.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="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..f54fa6807930
--- /dev/null
+++ b/dev-python/parse_type/parse_type-0.6.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1 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/Manifest b/dev-python/parsedatetime/Manifest
index d922c13d248d..5a9b4e7998d6 100644
--- a/dev-python/parsedatetime/Manifest
+++ b/dev-python/parsedatetime/Manifest
@@ -1 +1 @@
-DIST parsedatetime-2.6.tar.gz 70732 BLAKE2B 099b2d4d434fabf3e3d587923a037608a982eee7986f5843f7a463acc52a736a0661261da557a16cfb310414778ef49b1d2bcde62bbf53807132004b526aa175 SHA512 ed7649feb8773fdb33d609ef0abe4d20f555744bd70e9766aba6b9a79d8415c7e2efea1d7ef5c6b5906f3bc90bff124ef92992ce17d83fe70575da2db918e543
+DIST parsedatetime-2.6.gh.tar.gz 70732 BLAKE2B 099b2d4d434fabf3e3d587923a037608a982eee7986f5843f7a463acc52a736a0661261da557a16cfb310414778ef49b1d2bcde62bbf53807132004b526aa175 SHA512 ed7649feb8773fdb33d609ef0abe4d20f555744bd70e9766aba6b9a79d8415c7e2efea1d7ef5c6b5906f3bc90bff124ef92992ce17d83fe70575da2db918e543
diff --git a/dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild b/dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild
new file mode 100644
index 000000000000..4fec265a5737
--- /dev/null
+++ b/dev-python/parsedatetime/parsedatetime-2.6-r1.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=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Parse human-readable date/time strings"
+HOMEPAGE="https://github.com/bear/parsedatetime"
+SRC_URI="
+ https://github.com/bear/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
+
+distutils_enable_tests pytest
diff --git a/dev-python/parsedatetime/parsedatetime-2.6.ebuild b/dev-python/parsedatetime/parsedatetime-2.6.ebuild
deleted file mode 100644
index 0f8a12dce664..000000000000
--- a/dev-python/parsedatetime/parsedatetime-2.6.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Parse human-readable date/time strings"
-HOMEPAGE="https://github.com/bear/parsedatetime"
-# Tests aren't detected in PyPI tarballs
-# https://github.com/bear/parsedatetime/pull/252
-SRC_URI="https://github.com/bear/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/parso/Manifest b/dev-python/parso/Manifest
index bdcfd4c9eab0..51f54440372b 100644
--- a/dev-python/parso/Manifest
+++ b/dev-python/parso/Manifest
@@ -1 +1 @@
-DIST parso-0.8.3.tar.gz 397648 BLAKE2B 8942408e27198075c92ef51f7a191cc7781eb3a5110119b91fd95f86e13ebe2fbfee11022a2bfec794150f60b3af8c4d5f324cb011703cd581c17f92232ae5bf SHA512 7874460053662d40c2cfcf0015e330e1c8201eeb07682e2079a636db553a82dc25b70b14ad0f0c82fb817f655359d695101a17f616abf9a39f49c61ae5fd49b1
+DIST parso-0.8.4.gh.tar.gz 398241 BLAKE2B 5a8a81f64b20b52cd3349b7bc059621733debfaf5cc271f3e89423d63e4af67391f7740c34b450b2a91fafe34b8986926e8f7c4ca0b8600eafd0171c01e664b0 SHA512 da96f0ab6cfbcf2a54ee73262a672bb4d9720aa91fd884a8c17165d597eece97569b7ee87fd7ea1c0be663c0cb2930a66a03b4e305070f59f346485817607db3
diff --git a/dev-python/parso/parso-0.8.3-r1.ebuild b/dev-python/parso/parso-0.8.3-r1.ebuild
deleted file mode 100644
index 8db1f3257f01..000000000000
--- a/dev-python/parso/parso-0.8.3-r1.ebuild
+++ /dev/null
@@ -1,34 +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_{8..11} 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}.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # py3.10 changed exception messages
- test/test_python_errors.py::test_python_exception_matches
- # With python3.11 this additional file is run by pytest,
- # but it is not actually a test and thus fails
- parso/python/token.py::parso.python.token.PythonTokenTypes
-)
diff --git a/dev-python/parso/parso-0.8.4.ebuild b/dev-python/parso/parso-0.8.4.ebuild
new file mode 100644
index 000000000000..2f535075cb4c
--- /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 5d69eea73f3b..32122a5f64a4 100644
--- a/dev-python/partd/Manifest
+++ b/dev-python/partd/Manifest
@@ -1 +1,2 @@
-DIST partd-1.2.0.tar.gz 36720 BLAKE2B dccc14704134d1453b92e896080a820b817efc78f86511307d4d1f6e2787f38935edaa8fdfb0ea4f2350ab99f5ad06cef98bb1eba4d4e45b2582a3ada2f5d907 SHA512 dbcf6a73e23aacd6502f0669abcb8e51547f280b1b7b94baa7ab5637cd838f8427ad1c4e39127fb7f8b164f3a83b66611b2c71667d31fe0137619fb6c457fab9
+DIST partd-1.4.1.tar.gz 36272 BLAKE2B 032f30988468d68b5b8a18ceeb28f75c6807bae8ec57a88c50beb1c4ed2f99721d5f50e1002cf74376867f54f5c5dbdaf823b999f8680766f13e8f5f9df74801 SHA512 0bf285a33731d3c000e6c2c1958cda0df21c3a2be31694ac31ce0cc45aa2b31b8631f962c25b9ecac3831474abb5872748bd3348f99e13faadee467a1f164492
+DIST partd-1.4.2.tar.gz 21029 BLAKE2B 47f4129beb7062415f6b7af8b1ad88faa299692abd6691bbb5ae56c991685d3c7ae7cab809c3ea67e90fc054c6018e1ed36ef0cb5be3c755eca06f1bc90fcfbc SHA512 ae7af568ea5c2c6127ea01bcb2a6703305f126414ecce8c648a14d39fd8dac987f6356011b6a61a1b1441f14a189a098bf9fe35f978a5794959e5da409668d2b
diff --git a/dev-python/partd/partd-1.2.0.ebuild b/dev-python/partd/partd-1.2.0.ebuild
deleted file mode 100644
index 54d33b7e497f..000000000000
--- a/dev-python/partd/partd-1.2.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
-
-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}]"
-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/partd/partd-1.4.2.ebuild b/dev-python/partd/partd-1.4.2.ebuild
new file mode 100644
index 000000000000..8ee284590257
--- /dev/null
+++ b/dev-python/partd/partd-1.4.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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-0.20[${PYTHON_USEDEP}]
+ test? (
+ dev-python/blosc[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/pandas-1.3[${PYTHON_USEDEP}]
+ dev-python/pyzmq[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/parver/Manifest b/dev-python/parver/Manifest
index 82ca9b54dc57..791ce8f5872f 100644
--- a/dev-python/parver/Manifest
+++ b/dev-python/parver/Manifest
@@ -1 +1 @@
-DIST parver-0.3.1.tar.gz 29110 BLAKE2B da444a77907beac0bebd2dba812c8843052e27de1b8b802b5bdd37feb4ffe1cfdcabb84a91b6e6fe21275bce22e3b43736617df756570c6438af7ffd81a1ba87 SHA512 2ea7eb7be0c58657f5261d7b4729da6caaf2fac67db3fc3f36d29627bdbeba45f6ecb0e4bb251575b621908eb1ff5fa5ede5fc2ef0e041156dcc00548fd34360
+DIST parver-0.5.gh.tar.gz 26048 BLAKE2B ff658dd477a707b7756717da73317c73fff521968ab7c16f55aa2d6ab3270d4961f16afd114dc2775d5beeb9208b2e459a0e3f262ebcbfe825015925a2ed2bbd SHA512 55fd52cb229c8358e89053f4c44d8cdb4bfbc8fd79ec40f4b7c6f18f2c848fb025e2be4e907b5cfbeb598e535fed67be4e10cea71d529a21e6d0712679c665d3
diff --git a/dev-python/parver/parver-0.3.1-r1.ebuild b/dev-python/parver/parver-0.3.1-r1.ebuild
deleted file mode 100644
index 196c3e7716aa..000000000000
--- a/dev-python/parver/parver-0.3.1-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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/${PN}/archive/${PV}.tar.gz -> ${P}.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}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-DEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pretend[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # unlock dependencies
- sed -i -e 's:~=:>=:g' setup.py || die
-
- distutils-r1_src_prepare
-}
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
deleted file mode 100644
index 8a09e521123b..000000000000
--- a/dev-python/passlib/passlib-1.7.4-r2.ebuild
+++ /dev/null
@@ -1,54 +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_{8..11} pypy3 )
-
-inherit distutils-r1 optfeature
-
-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"
-SLOT="0"
-IUSE="doc"
-
-BDEPEND="
- test? (
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/scrypt[${PYTHON_USEDEP}]
- !alpha? ( !arm? ( !hppa? ( !ia64? ( !s390? ( !sparc? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- ) ) ) ) ) )
- )"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken all the time by new django releases
- passlib/tests/test_ext_django.py
- )
-
- # skip fuzzing tests, they are very slow
- epytest -k "not fuzz_input"
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- use doc && dodoc docs/{*.rst,requirements.txt,lib/*.rst}
-}
-
-pkg_postinst() {
- optfeature "Argon2 support" dev-python/argon2-cffi
- optfeature "bcrypt support" dev-python/bcrypt
- optfeature "scrypt support" dev-python/scrypt
- optfeature "Time-based One-Time Password (TOTP) support" dev-python/cryptography
-}
diff --git a/dev-python/passlib/passlib-1.7.4-r3.ebuild b/dev-python/passlib/passlib-1.7.4-r3.ebuild
new file mode 100644
index 000000000000..981e5c61a393
--- /dev/null
+++ b/dev-python/passlib/passlib-1.7.4-r3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Password hashing framework supporting over 20 schemes"
+HOMEPAGE="
+ https://foss.heptapod.net/python-libs/passlib/-/wikis/home
+ https://pypi.org/project/passlib/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+IUSE="doc test-rust"
+
+BDEPEND="
+ test? (
+ dev-python/scrypt[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ )
+ )"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # fix compatibility with >=dev-python/bcrypt-4.1
+ # https://foss.heptapod.net/python-libs/passlib/-/issues/190
+ sed -i -e '/bcrypt/s:__about__\.::' passlib/handlers/bcrypt.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken all the time by new django releases
+ passlib/tests/test_ext_django.py
+ )
+
+ # skip fuzzing tests, they are very slow
+ epytest -k "not fuzz_input"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use doc && dodoc docs/{*.rst,requirements.txt,lib/*.rst}
+}
+
+pkg_postinst() {
+ optfeature "Argon2 support" dev-python/argon2-cffi
+ optfeature "bcrypt support" dev-python/bcrypt
+ optfeature "scrypt support" dev-python/scrypt
+ optfeature "Time-based One-Time Password (TOTP) support" dev-python/cryptography
+}
diff --git a/dev-python/paste/Manifest b/dev-python/paste/Manifest
index e21b78bba635..3162c86ac3e2 100644
--- a/dev-python/paste/Manifest
+++ b/dev-python/paste/Manifest
@@ -1 +1,3 @@
-DIST Paste-3.5.1.tar.gz 637755 BLAKE2B fc5f4afc064ced52322f7c2cb20c84d24538bdd3a5dadf7b47f62dd8b64ed62a2925102b785e366bc9b9257835529ae226a4d291bebd40d70bda16be781613c6 SHA512 7ae39691bb6067309a12bf76e2a110913c7be6ddcda6215eaf0228144ff26a1c7b50500729b65e27652dc7a7edf6fe26bd144d261e8754d7af8bac495d4613f9
+DIST Paste-3.10.0.tar.gz 651790 BLAKE2B a026f1121a0f6532a6afdd3cb87e0ae16437df0b69dccb900293ee7d1e35a56636bdd0fc379a340b63e400323ee9c728bca608a511d529e5457bba2c08e16deb SHA512 52a6b410564417659cb6f49d6e4b91268386f5e9a82be944b3128a11e37424766d42e9a9f082d682605258a96a57cde113f79c40e32fdaff023a04739c91325b
+DIST Paste-3.9.0.tar.gz 637286 BLAKE2B 8bb21f2f6d46750dfff8d9e6377141ea1bcf12848e070138be76823d4dd2bd6be510e420f6568cdab631ab627d45ef93be9815141c6ce31544c4ed38487875e8 SHA512 a9099b89e17f597e853d82cc5d99aaf84fa71ee25e92a382a47a482982800a7e766d8389530ef2a7ad145771ebbabdb1ae5d8370d9cd30121b94e18bcaef3f81
+DIST paste-3.10.1.tar.gz 652629 BLAKE2B a5589027838cbea6f90f919b94edaaba2f26b827cbf911247ec833fa34a5089ffacbc13f8e5369a80e234506e3450818362f1c63cb76e7cf2f619f922f1a965c SHA512 3d224fc017f8354a4737c83d3dcddd0dfa8baaa80a86f843e817ccba295b8e04d16bb10594f17f010da204a0854cf9d57c03a09d0dacb0e7af305a9b0f86422f
diff --git a/dev-python/paste/metadata.xml b/dev-python/paste/metadata.xml
index 372cf3b31af0..a16d4c84e24a 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">pasteorg/paste</remote-id>
<remote-id type="pypi">Paste</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/paste/paste-3.10.0.ebuild b/dev-python/paste/paste-3.10.0.ebuild
new file mode 100644
index 000000000000..21192970602d
--- /dev/null
+++ b/dev-python/paste/paste-3.10.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/pasteorg/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/paste/paste-3.10.1.ebuild b/dev-python/paste/paste-3.10.1.ebuild
new file mode 100644
index 000000000000..8c66dcfb4959
--- /dev/null
+++ b/dev-python/paste/paste-3.10.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..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/pasteorg/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/paste/paste-3.5.1.ebuild b/dev-python/paste/paste-3.5.1.ebuild
deleted file mode 100644
index a89c1a5d2dda..000000000000
--- a/dev-python/paste/paste-3.5.1.ebuild
+++ /dev/null
@@ -1,50 +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_{8..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.9.0.ebuild b/dev-python/paste/paste-3.9.0.ebuild
new file mode 100644
index 000000000000..157f28640748
--- /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 a05022e30e5e..98b72f7c9437 100644
--- a/dev-python/pastedeploy/Manifest
+++ b/dev-python/pastedeploy/Manifest
@@ -1 +1 @@
-DIST pastedeploy-2.1.1.tar.gz 32339 BLAKE2B d11affa480e5c9b7be53d0431090e4ec9d66f8862b1aadf6a993a09f9c952380d7698eaa7442614936a8316e2ac50404a096bf64bb3ef31f55cbee35b5982166 SHA512 0109e30cb5ae9bdd7f06a79f6236c90f96c3bcfe507258572b1329796a1821486d9762d954673ccbac76ee63c6a69e64fe5e2cae5402fecf4a5affe88cf46930
+DIST pastedeploy-3.1.gh.tar.gz 33634 BLAKE2B 11087275f0c0f73b44ecc4bdcd6c284534d81056ce2dc898b8a891261b2ec71502679a688e2183adc4572089846d2c06fe5b48648f78ea6667f29e142b656656 SHA512 da13c8181d1f003bf61f954655a1876f49253954c320c6a2db0ca2b92acf057e48dff97376da2f9dce6181e5349ffa2d8cddbf71d3360d6c0fa8d5dedbbb2ae3
diff --git a/dev-python/pastedeploy/files/pastedeploy-2.1.1-change-sphinx-theme.patch b/dev-python/pastedeploy/files/pastedeploy-2.1.1-change-sphinx-theme.patch
deleted file mode 100644
index d204fc135c62..000000000000
--- a/dev-python/pastedeploy/files/pastedeploy-2.1.1-change-sphinx-theme.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/docs/conf.py
-+++ b/docs/conf.py
-@@ -13,7 +13,6 @@
-
- import datetime
- import pkg_resources
--import pylons_sphinx_themes
-
- # If your extensions are in another directory, add it here.
- #sys.path.append('some/directory')
-@@ -83,8 +82,7 @@ pygments_style = 'sphinx'
- # Options for HTML output
- # -----------------------
-
--html_theme = 'pylons'
--html_theme_path = pylons_sphinx_themes.get_html_themes_path()
-+html_theme = 'sphinx_rtd_theme'
- html_theme_options = dict(
- canonical_url='https://docs.pylonsproject.org/projects/pastedeploy/en/latest/'
- )
---- a/setup.py
-+++ b/setup.py
-@@ -8,7 +8,6 @@ readme = open(readme_path).read()
-
- docs_extras = [
- "Sphinx >= 1.7.5", # Read The Docs minimum version
-- "pylons-sphinx-themes",
- ]
-
- setup(
diff --git a/dev-python/pastedeploy/pastedeploy-2.1.1-r3.ebuild b/dev-python/pastedeploy/pastedeploy-2.1.1-r3.ebuild
deleted file mode 100644
index 8fda2c1f81ff..000000000000
--- a/dev-python/pastedeploy/pastedeploy-2.1.1-r3.ebuild
+++ /dev/null
@@ -1,43 +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_{8..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/
-"
-# pypi tarball does not include tests
-SRC_URI="
- https://github.com/Pylons/pastedeploy/archive/${PV}.tar.gz
- -> ${P}.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
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-change-sphinx-theme.patch"
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme
-
-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/Manifest b/dev-python/pastel/Manifest
index ad6aaf29e8a7..daea3c0ecca5 100644
--- a/dev-python/pastel/Manifest
+++ b/dev-python/pastel/Manifest
@@ -1 +1 @@
-DIST pastel-0.2.1.tar.gz 125760 BLAKE2B f9b3c29444bb6bd0e710cd80d4e48cdc9099ad6512cd99b0224559b87504f5b61cfcb90165f97b101b8ff5e9f8b7e230878c5cf50ae2b0555447f5be28977cb0 SHA512 585834d035fe208313a77e0c824f6b67630a85697d4aef802800911cb1da72bfd6c9ba47fe5502359bdf244a98b8f6dea300a788ff1cfd56a8bc19eb7b7dcc16
+DIST pastel-0.2.1.gh.tar.gz 125760 BLAKE2B f9b3c29444bb6bd0e710cd80d4e48cdc9099ad6512cd99b0224559b87504f5b61cfcb90165f97b101b8ff5e9f8b7e230878c5cf50ae2b0555447f5be28977cb0 SHA512 585834d035fe208313a77e0c824f6b67630a85697d4aef802800911cb1da72bfd6c9ba47fe5502359bdf244a98b8f6dea300a788ff1cfd56a8bc19eb7b7dcc16
diff --git a/dev-python/pastel/metadata.xml b/dev-python/pastel/metadata.xml
index d74bdfb714a5..a375216c22e0 100644
--- a/dev-python/pastel/metadata.xml
+++ b/dev-python/pastel/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>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/pastel/pastel-0.2.1-r1.ebuild b/dev-python/pastel/pastel-0.2.1-r1.ebuild
new file mode 100644
index 000000000000..5a63c18616e4
--- /dev/null
+++ b/dev-python/pastel/pastel-0.2.1-r1.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=poetry
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Bring colors to your terminal"
+HOMEPAGE="
+ https://github.com/sdispater/pastel/
+ https://pypi.org/project/pastel/
+"
+SRC_URI="
+ https://github.com/sdispater/pastel/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pastel/pastel-0.2.1.ebuild b/dev-python/pastel/pastel-0.2.1.ebuild
deleted file mode 100644
index bb1eb0dae447..000000000000
--- a/dev-python/pastel/pastel-0.2.1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=pyproject.toml
-PYTHON_COMPAT=( python3_{7..10} )
-inherit distutils-r1
-
-DESCRIPTION="Bring colors to your terminal"
-HOMEPAGE="https://github.com/sdispater/pastel"
-SRC_URI="https://github.com/sdispater/pastel/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/patatt/Manifest b/dev-python/patatt/Manifest
index b644ed8bd4db..f47898242522 100644
--- a/dev-python/patatt/Manifest
+++ b/dev-python/patatt/Manifest
@@ -1 +1 @@
-DIST patatt-0.4.9.tar.gz 34316 BLAKE2B fd731f4e8932da610f31e5176e4b9bcfe8433366b61691fc545d55fdd89675ddd17a695408391528fd213e755e1d421d21551ccbc4aa96ffccc9b62213c17aed SHA512 d4280dd944cc774fa34228a50aa1573a27df2da5cb3a22dba2c3cefe4797ae902810904da776dbd89ad343b3886b6a0015996082307f83577e6a46ac533ba0d8
+DIST patatt-0.6.2.tar.gz 34852 BLAKE2B 2dceb179dcb96d33f7ed3bfcdd96b69520cd413ee79bed4ecd09c6385b46a9b0c32fedf74d582d1aa7fb7aeb5d4e212a96c139b62a8ae155933271d7a2d8b493 SHA512 53140c71818fd0f101a0628b770e557a3c177cd0e7207d5933eb9e73b296dd870e9bb2ff9e77fd0b25652d937d98bb07a1413e555d466f3d108c01ddfdb06f3a
diff --git a/dev-python/patatt/patatt-0.4.9-r1.ebuild b/dev-python/patatt/patatt-0.4.9-r1.ebuild
deleted file mode 100644
index 9d63be6a35cb..000000000000
--- a/dev-python/patatt/patatt-0.4.9-r1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-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"
-
-RDEPEND="dev-python/pynacl[${PYTHON_USEDEP}]"
diff --git a/dev-python/patatt/patatt-0.6.2.ebuild b/dev-python/patatt/patatt-0.6.2.ebuild
new file mode 100644
index 000000000000..f28ca2403e7e
--- /dev/null
+++ b/dev-python/patatt/patatt-0.6.2.ebuild
@@ -0,0 +1,18 @@
+# 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 pypi
+
+DESCRIPTION="A simple library to add cryptographic attestation to patches sent via email"
+HOMEPAGE="https://pypi.org/project/patatt/"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="dev-python/pynacl[${PYTHON_USEDEP}]"
diff --git a/dev-python/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 ba2038b565a1..000000000000
--- a/dev-python/patch-ng/patch-ng-1.17.4.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 b160fe0dfbad..000000000000
--- a/dev-python/path-and-address/path-and-address-2.0.1.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=( pypy3 python3_{8..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-py/Manifest b/dev-python/path-py/Manifest
deleted file mode 100644
index 38cd6ccae0ad..000000000000
--- a/dev-python/path-py/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST path-16.4.0.tar.gz 48289 BLAKE2B 5ae3272ecc92689c18ffc612b8b11923225dcface88fa47dc4f42b0dc960034fa6a3c856a9521ed83c9507616577efc3d1c0a5119b0c5605ea6f6b758cfe6d2b SHA512 bb78119f929fe3b160646b06db8911e737060695ae89c28bcce84835213dfbaa12a34300b540be6b51e9462c5b378b235e1e72536524750ec910255399c513d3
diff --git a/dev-python/path-py/path-py-16.4.0.ebuild b/dev-python/path-py/path-py-16.4.0.ebuild
deleted file mode 100644
index 6338c832adad..000000000000
--- a/dev-python/path-py/path-py-16.4.0.ebuild
+++ /dev/null
@@ -1,38 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P="path-${PV}"
-DESCRIPTION="A module wrapper for os.path"
-HOMEPAGE="https://pypi.org/project/path/ https://github.com/jaraco/path"
-SRC_URI="mirror://pypi/p/path/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-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}]
- !<dev-python/pytest-shutil-1.7.0-r1
- !<dev-python/pytest-virtualenv-1.7.0-r1
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/packaging[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # unreliable, not really meaningful for end users
- test_path.py::TestPerformance
-)
diff --git a/dev-python/path/Manifest b/dev-python/path/Manifest
new file mode 100644
index 000000000000..222189638047
--- /dev/null
+++ b/dev-python/path/Manifest
@@ -0,0 +1 @@
+DIST path-16.14.0.tar.gz 50076 BLAKE2B 0046501fc05e65a211360e84cd30e312c6b1a18d482a36b8451d338cd8c87749254fc31dbe497ec55d55880dab0eae3b88ce412b2058454c0c1ad01cb180d522 SHA512 1b35bf06413d3f5da5fd818b2327458ef92a3bcb7e0d8108e4db113e3819f3723384650f7f9e889862bfcd2bc761f2be46932d11023f5a1dcda6bb4c51074ec0
diff --git a/dev-python/path-py/metadata.xml b/dev-python/path/metadata.xml
index a0ad5ac4421d..a0ad5ac4421d 100644
--- a/dev-python/path-py/metadata.xml
+++ b/dev-python/path/metadata.xml
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..e5374882c3bc
--- /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/pathable/Manifest b/dev-python/pathable/Manifest
new file mode 100644
index 000000000000..28d17c8e2e1b
--- /dev/null
+++ b/dev-python/pathable/Manifest
@@ -0,0 +1 @@
+DIST pathable-0.4.3.gh.tar.gz 21412 BLAKE2B 6f62cd879723ff14c2fd7100c9ce7135d200fe04afb473180518ed2e80c5bc5836f82334b1dbbbc8fa80b428fa33db1a8ffafcd8b756cc00a24a809094f61dd2 SHA512 5481ba1e6f4ab4318b9a7bd1d1ddd152f715b001bc7edd1b1221501da1a95578ee6601ce4ce0bdb98773c7954212687d249418e69acef1b350fc5d6cb188dbfc
diff --git a/dev-python/pathable/metadata.xml b/dev-python/pathable/metadata.xml
new file mode 100644
index 000000000000..8ce0babd047a
--- /dev/null
+++ b/dev-python/pathable/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">pathable</remote-id>
+ <remote-id type="github">p1c2u/pathable</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pathable/pathable-0.4.3.ebuild b/dev-python/pathable/pathable-0.4.3.ebuild
new file mode 100644
index 000000000000..aec721f206ce
--- /dev/null
+++ b/dev-python/pathable/pathable-0.4.3.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=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+inherit distutils-r1
+
+DESCRIPTION="Object-oriented paths"
+HOMEPAGE="
+ https://pypi.org/project/pathable/
+ https://github.com/p1c2u/pathable
+"
+SRC_URI="
+ https://github.com/p1c2u/pathable/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -e '/--cov/d' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pathlib2/Manifest b/dev-python/pathlib2/Manifest
new file mode 100644
index 000000000000..812c9f55eb8f
--- /dev/null
+++ b/dev-python/pathlib2/Manifest
@@ -0,0 +1 @@
+DIST pathlib2-2.3.7-post1.gh.tar.gz 39281 BLAKE2B 71448eeb24cc149eb540b5b2f5f39cb1c7273ecbe9491eb049e8e1a721db4bde478bcd6cfadc7bc954c924eb26f1c5950fd4a8c5503a87dc3faec7866a23d0a8 SHA512 8eef6dcbd4b264365499ad0b53321fb1dce3b56377e91288a9d2b769775f9d697736e1136fe43d17147b8539fdad666e9b1f5fc22ecc63a601ce87434ba6aab1
diff --git a/dev-python/pathlib2/metadata.xml b/dev-python/pathlib2/metadata.xml
new file mode 100644
index 000000000000..f1aba8b00fba
--- /dev/null
+++ b/dev-python/pathlib2/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">pathlib2</remote-id>
+ <remote-id type="github">jazzband/pathlib2</remote-id>
+ </upstream>
+</pkgmetadata>
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/pathspec/Manifest b/dev-python/pathspec/Manifest
index a3d7b80ee86d..6e2bddebcee2 100644
--- a/dev-python/pathspec/Manifest
+++ b/dev-python/pathspec/Manifest
@@ -1 +1 @@
-DIST pathspec-0.9.0.tar.gz 29483 BLAKE2B 00b48f6987a074e23ac6f344a44ac8f265463bdd87907cb8a602c690a739d1a9a673182fc4d61a6e2ffc02acb6632591b873e435f9fc3893e1cc48015e120a16 SHA512 660f13525325c27b598048a3576fd704c3843e0b07770187d005f0e93996a90cee44e9a0725b6bf775982f586ed3b4ba7cccee966d7149e71e2b95d48030b2f2
+DIST pathspec-0.12.1.tar.gz 51043 BLAKE2B e5cf93dc0a24a51bdcbcec807514344ed4e39029a8f1abe8db7cf8fa4883ac2e74f8b1a3ad6cd44bcff538b5eecc5b091b145c6c8d170de574ce9217d58855cb SHA512 19d1a8ae5936e76eacd691b0e2fb33d0de376556751a9ae007f6b09d0aa36af7d171101df620cab3e93c9913be578ff3d6bba9d4460351ac248e5c9e015380ad
diff --git a/dev-python/pathspec/metadata.xml b/dev-python/pathspec/metadata.xml
index 07dc689f265f..5e9781c7e028 100644
--- a/dev-python/pathspec/metadata.xml
+++ b/dev-python/pathspec/metadata.xml
@@ -8,6 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">pathspec</remote-id>
- <remote-id type="github">cpburnz/python-path-specification</remote-id>
+ <remote-id type="github">cpburnz/python-pathspec</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pathspec/pathspec-0.12.1.ebuild b/dev-python/pathspec/pathspec-0.12.1.ebuild
new file mode 100644
index 000000000000..6d8492c5d961
--- /dev/null
+++ b/dev-python/pathspec/pathspec-0.12.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Utility library for gitignore style pattern matching of file paths"
+HOMEPAGE="
+ https://github.com/cpburnz/python-pathspec/
+ https://pypi.org/project/pathspec/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pathspec/pathspec-0.9.0-r1.ebuild b/dev-python/pathspec/pathspec-0.9.0-r1.ebuild
deleted file mode 100644
index 979c9262c50b..000000000000
--- a/dev-python/pathspec/pathspec-0.9.0-r1.ebuild
+++ /dev/null
@@ -1,22 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Utility library for gitignore style pattern matching of file paths"
-HOMEPAGE="
- https://github.com/cpburnz/python-path-specification/
- 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/pathtools/Manifest b/dev-python/pathtools/Manifest
deleted file mode 100644
index 24d7f7f0fbc0..000000000000
--- a/dev-python/pathtools/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pathtools-0.1.2.tar.gz 11006 BLAKE2B ad257edd9a62477a07343ecd6786c24ad2472da8844e3358980973c9daee9c52f3317976b2971f9afe33bfcd0dba1c1497230b105fd364a45c0d138abec41894 SHA512 e014cb17f3d61ce7979e36663f94a44d4f1116c35e3d2ec8c4ac207a81935dde246495ed06597e6edade1509f384b9e5729a97ffd3eec31b1d1c4a8372d1dfd7
diff --git a/dev-python/pathtools/metadata.xml b/dev-python/pathtools/metadata.xml
deleted file mode 100644
index 5fbeb518a68e..000000000000
--- a/dev-python/pathtools/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">pathtools</remote-id>
- <remote-id type="github">gorakhargosh/pathtools</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pathtools/pathtools-0.1.2-r3.ebuild b/dev-python/pathtools/pathtools-0.1.2-r3.ebuild
deleted file mode 100644
index b41eb1d3fb2c..000000000000
--- a/dev-python/pathtools/pathtools-0.1.2-r3.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pattern matching and various utilities for file systems paths"
-HOMEPAGE="https://pypi.org/project/pathtools/ https://github.com/gorakhargosh/pathtools"
-SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc x86"
diff --git a/dev-python/pathvalidate/Manifest b/dev-python/pathvalidate/Manifest
index d769b99ba926..c0fa5e10012e 100644
--- a/dev-python/pathvalidate/Manifest
+++ b/dev-python/pathvalidate/Manifest
@@ -1,2 +1 @@
-DIST pathvalidate-2.5.0.tar.gz 26130 BLAKE2B 122f0331807cf33e30f81409423224d48e5a3ed0836410e62ec804da7cdfc730b06fb1968c5220e7d8e79c3773c7011ec3c416c48286581554b8730d3c72bf61 SHA512 f71d6d532d3f096ec80277245bc69ddfe861f2417d11ac432b08e2e5a8776007f174754b701a6b7e3b3754b8b49c5105dcaf5039234fc5827091b2ad78bf58bd
-DIST pathvalidate-2.5.1.tar.gz 26716 BLAKE2B fb43ff796d1f56297c5b41d79f6c67d773cb911c66f501e1af991b735e652875bc1912b8a4d29e4ed0f36ea01aa21f365afa337ef6cc527224e1b40d7e096735 SHA512 b5fe5af2b5e43fdee80afdc8d642bdbf4bd32e9d835b8bb790da6d00c25c56b5a0e1d7964d8470d693de7b41872ee54be8e2d7b937daa35ba74b13072fc439a5
+DIST pathvalidate-3.2.0.tar.gz 31246 BLAKE2B 9b30ae5957e2e062ef38b784894aec538e47df03c26c76d82145c4ed7363c63035345db4229b705a6df10a75473e7c0a0f3b44884b6d2ac7ac83f8c138edbd8d SHA512 e3a898bb3a1a35b7851600d6c8a6254220905a95e0dca2e697e0aa95857e3a741e3b77c3c3f0aadc42f458fabd5f1b10d34f99434e7aa3891836470b7a33a77f
diff --git a/dev-python/pathvalidate/pathvalidate-2.5.0.ebuild b/dev-python/pathvalidate/pathvalidate-2.5.0.ebuild
deleted file mode 100644
index 4373e9dee10c..000000000000
--- a/dev-python/pathvalidate/pathvalidate-2.5.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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"
-IUSE="test"
-RESTRICT="!test? ( test )"
-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-2.5.1.ebuild b/dev-python/pathvalidate/pathvalidate-2.5.1.ebuild
deleted file mode 100644
index 642f62299d11..000000000000
--- a/dev-python/pathvalidate/pathvalidate-2.5.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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 2f87667a6744..0a49cedf738d 100644
--- a/dev-python/patiencediff/Manifest
+++ b/dev-python/patiencediff/Manifest
@@ -1 +1,2 @@
-DIST patiencediff-0.2.2.tar.gz 28799 BLAKE2B 28d8ef1bca5091e6b92167e7d48bbf1ebcc5b7a42c24c23ba82b4a29700e852170cdbc8019d197936c0e3ce0b406ea5d8b2189f7f9482b361feddbf8379bc4a6 SHA512 9b1e058604e114cc4ac6e5855d51cb1f9599fd692a48a1d68ff56f4e82cf568fa4d3858fe7bf233b784b07bf2825f7fd1d1ba0ca71371242ae46820ef469ebd6
+DIST patiencediff-0.2.14.tar.gz 29258 BLAKE2B 1b7aee1053d08bb5a3e40f62ef39d1f8fe38635a1b5303b33f67df1b8d63a311e3c6523fc5c40f7457c7213db18daa5e839f120fc09e8e1fb2c7524462165a07 SHA512 624db38a072906557a430555d52f914030d1933237cedda76804faafe26d1ff2ad4a569ec90ad887162e48a57078a1accc19e2f417ab095f5b6435912d280998
+DIST patiencediff-0.2.15.tar.gz 27483 BLAKE2B 34b2303be6c65975d9e2f93b089853883db91d7b0570784814e25f74a964427757ad0342db40c8ed02310e0243e51e42edeb1c2787377feff3280c3bd8c5ca80 SHA512 d0cecf461075e3965db16624978b260660bd3444e83fc6121d3efebb96d31b323b7b61fc9e65a4a0098a95284a342a2f321b92f2073c0264cdb1f4b05771938d
diff --git a/dev-python/patiencediff/metadata.xml b/dev-python/patiencediff/metadata.xml
index ca46e2601ba6..f7b63096ccec 100644
--- a/dev-python/patiencediff/metadata.xml
+++ b/dev-python/patiencediff/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>arthurzam@gentoo.org</email>
- <name>Arthur Zamarin</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<upstream>
<remote-id type="pypi">patiencediff</remote-id>
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/patiencediff/patiencediff-0.2.15.ebuild b/dev-python/patiencediff/patiencediff-0.2.15.ebuild
new file mode 100644
index 000000000000..fcd012081ca3
--- /dev/null
+++ b/dev-python/patiencediff/patiencediff-0.2.15.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python implementation of the patiencediff algorithm"
+HOMEPAGE="
+ https://github.com/breezy-team/patiencediff/
+ https://pypi.org/project/patiencediff/
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+distutils_enable_tests unittest
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ eunittest
+}
diff --git a/dev-python/patiencediff/patiencediff-0.2.2-r1.ebuild b/dev-python/patiencediff/patiencediff-0.2.2-r1.ebuild
deleted file mode 100644
index 0fed7fa1f361..000000000000
--- a/dev-python/patiencediff/patiencediff-0.2.2-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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.2.ebuild b/dev-python/patiencediff/patiencediff-0.2.2.ebuild
deleted file mode 100644
index 917b4b785ddb..000000000000
--- a/dev-python/patiencediff/patiencediff-0.2.2.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of the patiencediff algorithm"
-HOMEPAGE="https://pypi.org/project/patiencediff/ https://github.com/breezy-team/patiencediff"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-distutils_enable_tests unittest
diff --git a/dev-python/patsy/Manifest b/dev-python/patsy/Manifest
index 67873491e698..a53e0f32064c 100644
--- a/dev-python/patsy/Manifest
+++ b/dev-python/patsy/Manifest
@@ -1 +1 @@
-DIST patsy-0.5.2.tar.gz 397275 BLAKE2B 3aa5dc310729bd979c78004d5f1badb83b75b08d290cf8258191c87d61401f0b6ecd9490f1c4b932269e545c50a16694e44de9c076ca80648717c5f1af62fb69 SHA512 898df5536b0ff3a4d299e69c5f73a3d754cfbe78fe463fb4c4726cfd67d4e30c77cd3d7093131737207cb9f29c1374ab20a68ec5978007ea51878ec7c395f48d
+DIST patsy-0.5.6.tar.gz 398011 BLAKE2B c5fb15c57e270e3545cfdc8c13f8e745c94822be6684aa6703bdbc1da15ea63eb7a21d1e0bd1aaed2a4d919f4848fd9089dbcd3c304676e0a9512d13f94302bb SHA512 df73ddfa0e66088cb50133240e2d67e2a833d8f691e17b443cdc0661adf580eb8908b1e1082e8debd91439bbe7b990a9a455f16bd6773173c7e86273f2c1051b
diff --git a/dev-python/patsy/metadata.xml b/dev-python/patsy/metadata.xml
index f9b91ca76c88..f0b6f3b3c08d 100644
--- a/dev-python/patsy/metadata.xml
+++ b/dev-python/patsy/metadata.xml
@@ -13,8 +13,9 @@
A Python package for describing statistical models and for building
design matrices. It is closely inspired by and compatible with the
'formula' mini-language used in R and S.
-</longdescription>
+ </longdescription>
<upstream>
<remote-id type="pypi">patsy</remote-id>
+ <remote-id type="github">pydata/patsy</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/patsy/patsy-0.5.2.ebuild b/dev-python/patsy/patsy-0.5.2.ebuild
deleted file mode 100644
index 636a031ecab5..000000000000
--- a/dev-python/patsy/patsy-0.5.2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 eb2e1d7cf444..43faf5e46db1 100644
--- a/dev-python/pbkdf2/pbkdf2-1.3-r2.ebuild
+++ b/dev-python/pbkdf2/pbkdf2-1.3-r2.ebuild
@@ -1,20 +1,22 @@
-# 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_{8..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 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 61894ff9cbb6..3d2779411bd6 100644
--- a/dev-python/pbr/Manifest
+++ b/dev-python/pbr/Manifest
@@ -1 +1 @@
-DIST pbr-5.9.0.tar.gz 126893 BLAKE2B 3f1d39c037afa7fe6d45b0b039968243e99717b347d1f1ada25023a64e7e683c0d83d2ce177e0f7c5f4cb65cd2a0eedd594b463d5d72bdc86560d811bd3f0cd3 SHA512 b36cc331664b91899a884bb1bc6980174ba2463db35c591d480d0b5a49dd37781132893e488c6a9238fbd2ec16589652d66b01a8c2701d02ff5c0b04e9c6121b
+DIST pbr-6.0.0.tar.gz 123150 BLAKE2B ed41fcf9febc11fe664d3045a8ac01f7a549f770e359b29045508653bffa838d91797c4aec5d5d1eba97907e83fb199f78afa4fd6f0b6be6b93b2e5f781d4425 SHA512 35cb184b02c9bc38e839e652d1f114197b2a82255f824253e156666a07dee1d19823ab4f2fb17b1f4376c775295f533e006cb58136ee978f9989e98a3f782120
diff --git a/dev-python/pbr/pbr-5.9.0.ebuild b/dev-python/pbr/pbr-5.9.0.ebuild
deleted file mode 100644
index 1fa3a8120a3a..000000000000
--- a/dev-python/pbr/pbr-5.9.0.ebuild
+++ /dev/null
@@ -1,71 +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_TESTED=( python3_{8..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 ~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:_&:' \
- -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 dfdf55dc3b9c..000000000000
--- a/dev-python/pdfrw/pdfrw-0.4_p1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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..7336afbba102
--- /dev/null
+++ b/dev-python/pdm-backend/Manifest
@@ -0,0 +1,4 @@
+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
+DIST pdm-backend-2.3.0.gh.tar.gz 134657 BLAKE2B 346011ed97111e54c9cd063e216aa5943e6dd5ac1e531ceed225bf07420d07131aca0d6c23d24c0ba11e2e4a8c581b8c1cb1c8b7efa9c7a030d48ba982264dce SHA512 0169b97b662a0520c9810d566b74b6ef378db083954064ee37e8ed8cc40375a556500c307cebb9e269c3192b9f9b8659f575f0d24d67f970b3797e2354b53d54
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..2db5970ac2fe
--- /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-backend/pdm-backend-2.3.0.ebuild b/dev-python/pdm-backend/pdm-backend-2.3.0.ebuild
new file mode 100644
index 000000000000..68fac1eadef9
--- /dev/null
+++ b/dev-python/pdm-backend/pdm-backend-2.3.0.ebuild
@@ -0,0 +1,82 @@
+# 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
+ !s390? ( !sparc? (
+ dev-vcs/mercurial
+ ) )
+ )
+"
+# setuptools are used to build C extensions
+RDEPEND+="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ rm -r src/pdm/backend/_vendor || die
+ find -name '*.py' -exec sed \
+ -e 's:from pdm\.backend\._vendor\.:from :' \
+ -e 's:from pdm\.backend\._vendor ::' \
+ -e 's:import pdm\.backend\._vendor\.:import :' \
+ -i {} + || die
+ distutils-r1_src_prepare
+}
+
+src_compile() {
+ # this must not be set during src_test()
+ local -x PDM_BUILD_SCM_VERSION=${PV}
+ distutils-r1_src_compile
+}
+
+src_test() {
+ git config --global user.email "test@example.com" || die
+ git config --global user.name "Test User" || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local args=()
+ if ! has_version dev-vcs/mercurial; then
+ args+=( -k "not [hg" )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest "${args[@]}"
+}
diff --git a/dev-python/pdm-pep517/Manifest b/dev-python/pdm-pep517/Manifest
index db60da482c94..a9c93b8c8910 100644
--- a/dev-python/pdm-pep517/Manifest
+++ b/dev-python/pdm-pep517/Manifest
@@ -1,4 +1 @@
-DIST pdm-pep517-1.0.1.gh.tar.gz 307357 BLAKE2B f833179b0ea011c4304625f08d3eca85b17163d4af6144f72e6faa2fe1091f9607f53ae051fca4e837009c3132ad6f06ae69cc5288ca8731ffb1ff2ef555d0d0 SHA512 7d90829a351e95f7b53f53d356a60cb170036059f5e6311df46989253b33f126f384a93cd6aa22c95b1ec7aa501e13773ccafabbb41e5237e84537b73dc43f58
-DIST pdm-pep517-1.0.2.gh.tar.gz 307938 BLAKE2B 711cc77c4ec4a3002557b5537c931215254d6fd724bf80f5457750100d55aba580b0f5fdbf8b17a31e5b02b42a94b62bc72eb99693fb59c3ab76364666b51b15 SHA512 bb827a6130299acab18714c7380f81fa530b95e3bc1e78bca810c116472269f050df45d04ef69d90a1ad96dd6bc965a50edc01bc9c429b96eefb76d62c66b8ae
-DIST pdm-pep517-1.0.3.gh.tar.gz 314957 BLAKE2B d0beff961b3f324c4d4c74943387e82cbeca90e5441391347b2ea06639af9965ea27426cab9e8dbbdceb296eb1461319fb375a3e078d673bbdf386b578b8f35c SHA512 ca9983e95f803243fb04b1add424449adfac472a94973013f669440d18d2118bdaf6610830f686cc700e86973935df26a7fea0ceed415b2c7604330de3325d05
-DIST pdm-pep517-1.0.4.gh.tar.gz 314677 BLAKE2B dc6fad5bf6bd4aa6d9d490c6fb1df0d1a1543ae93f90ac4d53bbd515de6f6582a4fd032cc5c67aeebf71755fec6aac3b5a462a18eb08087c6a4da279e3c989ad SHA512 4edd016873c054f20efc39b8a044c2ff5dee70509c45ba1227e6982043dabb5ed0353afef4af73c88106ffe5a2c27f569077448fb27a0d58169710d2c6573c2f
+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.1.ebuild b/dev-python/pdm-pep517/pdm-pep517-1.0.1.ebuild
deleted file mode 100644
index 65915f36678c..000000000000
--- a/dev-python/pdm-pep517/pdm-pep517-1.0.1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{8..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 ~arm64 ~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-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.0.2.ebuild b/dev-python/pdm-pep517/pdm-pep517-1.0.2.ebuild
deleted file mode 100644
index 65915f36678c..000000000000
--- a/dev-python/pdm-pep517/pdm-pep517-1.0.2.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{8..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 ~arm64 ~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-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.0.3.ebuild b/dev-python/pdm-pep517/pdm-pep517-1.0.3.ebuild
deleted file mode 100644
index 9c2511ebf46b..000000000000
--- a/dev-python/pdm-pep517/pdm-pep517-1.0.3.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{8..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 ~arm64 ~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-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.0.4.ebuild b/dev-python/pdm-pep517/pdm-pep517-1.0.4.ebuild
deleted file mode 100644
index 65915f36678c..000000000000
--- a/dev-python/pdm-pep517/pdm-pep517-1.0.4.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{8..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 ~arm64 ~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-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..aae197e3b7eb
--- /dev/null
+++ b/dev-python/pdm/Manifest
@@ -0,0 +1,2 @@
+DIST pdm-2.15.1.tar.gz 2612654 BLAKE2B 043f4d3ca54cd277f8c6fdd35fb423497eb7b172e085df5bffdd21d9ff5103b112a659fb61c342991211c9630333c713272ba43c65eff52c8dd6b88e4f81e563 SHA512 b6a1028767f154a5a594cd8523d31cec16df46e1c63bb73541a516877879480ffc6916316289f67cda0ae5e4740cab448b029a694743b9816604b2eb175a8722
+DIST pdm-2.15.2.tar.gz 2613423 BLAKE2B 91c2d7137223ef143a3a3cb51915ab3b02ef7a6f97798b5a75af05b90c909ade0e1d0b52e6e011956bfb925e76e569dc65bc3258c4397013254c6c5483f1e0ec SHA512 dc58b46fc6a3e8c2ee664b70d7c2112fad3fce5445c390393c4a44230a5e1793baad46baa5b0581fcea49d414a04b0c5dce361b489d82daa4f61f511704c8080
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.15.1.ebuild b/dev-python/pdm/pdm-2.15.1.ebuild
new file mode 100644
index 000000000000..89154bdbedff
--- /dev/null
+++ b/dev-python/pdm/pdm-2.15.1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..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/pdm/pdm-2.15.2.ebuild b/dev-python/pdm/pdm-2.15.2.ebuild
new file mode 100644
index 000000000000..89154bdbedff
--- /dev/null
+++ b/dev-python/pdm/pdm-2.15.2.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 5f148c0355d0..000000000000
--- a/dev-python/pdoc3/pdoc3-0.10.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 0c183abbb064..88566b1c7056 100644
--- a/dev-python/pebble/Manifest
+++ b/dev-python/pebble/Manifest
@@ -1 +1 @@
-DIST Pebble-4.6.3.tar.gz 25888 BLAKE2B 71f9e4c77d7dcc841f8c3a5e9d3df764727c27fc1ee5bb8250e33d49ce006ee94c11309f469f2ebb79aa720fd58ac2741b240aaad8f6d3c18be68189f180b639 SHA512 92cbb5ac01cc6fe57055facb6bcb6a64e19eb5eb3a3ae5fead32d4dd1001a3c70fbf85ef832dffc6b6bb81af6b1c275e12a61eda421176548a7bd5a928056313
+DIST Pebble-5.0.7.tar.gz 32054 BLAKE2B d9211facf566551702b0305202c5765ef24f341201cc7a1593525a38a1e3b9ae69f33a739ebbc37cb3f60239ea19289741137f23275e3cd8a7bb5e14024295ee SHA512 2602512208808ce15150e35fb9bbd383a6b98850e7641ed26c46e520fe7e62483dfcb67aa77a2412a0c643fc862035487283f8e760feef3852f3ab9236f29176
diff --git a/dev-python/pebble/pebble-4.6.3.ebuild b/dev-python/pebble/pebble-4.6.3.ebuild
deleted file mode 100644
index e4885e4ca44c..000000000000
--- a/dev-python/pebble/pebble-4.6.3.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-MY_P=${P^}
-DESCRIPTION="Threading and multiprocessing eye-candy"
-HOMEPAGE="
- https://pypi.org/project/Pebble/
- https://pebble.readthedocs.io/
- https://github.com/noxdafox/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 d5a6b0580205..000000000000
--- a/dev-python/pecan/pecan-1.4.2.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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 de5320c36de3..55f7d59bd05a 100644
--- a/dev-python/peewee/Manifest
+++ b/dev-python/peewee/Manifest
@@ -1 +1 @@
-DIST peewee-3.15.1.gh.tar.gz 903784 BLAKE2B 2570f12089728dd56bbcdf8715b7874fe11bed4790b80780b5850445188305a98695cbaac2e7a9b1cd53d9ae601a6a1be796219386dfa07da45610013151062d SHA512 eabfa7ae532fc6d392c7c89844ac28533787dd1a8e08ba797d6f0c5f70b9e60d74e3ca98e1a1e71e66744a7b48a3544c228289d7ac415619bfd81da15d6cf0fc
+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.1.ebuild b/dev-python/peewee/peewee-3.15.1.ebuild
deleted file mode 100644
index f02e5148a095..000000000000
--- a/dev-python/peewee/peewee-3.15.1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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.3.ebuild b/dev-python/peewee/peewee-3.17.3.ebuild
new file mode 100644
index 000000000000..2943c28f7f6b
--- /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/pefile-2022.5.30.ebuild b/dev-python/pefile/pefile-2022.5.30.ebuild
deleted file mode 100644
index 02b10e9260f5..000000000000
--- a/dev-python/pefile/pefile-2022.5.30.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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 e80b72dea457..7f530f4c4bec 100644
--- a/dev-python/pefile/pefile-9999.ebuild
+++ b/dev-python/pefile/pefile-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_{8..10} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Module to read and work with Portable Executable (PE) files"
@@ -14,16 +14,13 @@ 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"
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/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 8e2494d08d88..000000000000
--- a/dev-python/pelican-minify/pelican-minify-0.9-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=8
-
-PYTHON_COMPAT=( python3_{7..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 3e628f72f341..000000000000
--- a/dev-python/pendulum/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pendulum-2.1.2.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 109a2fcd4182..000000000000
--- a/dev-python/pendulum/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">sdispater/pendulum</remote-id>
- <remote-id type="pypi">pendulum</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pendulum/pendulum-2.1.2-r1.ebuild b/dev-python/pendulum/pendulum-2.1.2-r1.ebuild
deleted file mode 100644
index 602bea9a4764..000000000000
--- a/dev-python/pendulum/pendulum-2.1.2-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=pyproject.toml
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Drop-in replacement for the standard datetime class"
-HOMEPAGE="https://pendulum.eustace.io/ https://github.com/sdispater/pendulum"
-SRC_URI="https://github.com/sdispater/pendulum/archive/${PV}.tar.gz -> ${P}.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 463cb98685b7..000000000000
--- a/dev-python/pep517/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST pep517-0.12.0.gh.tar.gz 24726 BLAKE2B 7d022ab88c68b7254df5d922db2f571e2bab2ee58b8a2ed0ce1adeadf89f22f11f6a609b558133acfed5342a9cf6a398d805949bdfb485a4abf272e2b9322e05 SHA512 6b224759733c1f5e346909788233b0acf49c60a0b6ef2d99d953b2e7bb570b2913fd0b133d5bc6884ec3de98adf2e41fa9506fed344b8fd76cc58dfcd1778e80
-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.12.0-r1.ebuild b/dev-python/pep517/pep517-0.12.0-r1.ebuild
deleted file mode 100644
index 1aa58f9baf68..000000000000
--- a/dev-python/pep517/pep517-0.12.0-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..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/pep517/pep517-0.13.0.ebuild b/dev-python/pep517/pep517-0.13.0.ebuild
deleted file mode 100644
index 80a7a6488acf..000000000000
--- a/dev-python/pep517/pep517-0.13.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..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 3edaca92588a..000000000000
--- a/dev-python/pexpect/pexpect-4.8.0-r3.ebuild
+++ /dev/null
@@ -1,51 +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_{8..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..a12292320218
--- /dev/null
+++ b/dev-python/pexpect/pexpect-4.9.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} 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
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # flaky test on weaker arches
+ tests/test_performance.py
+ # requires zsh installed, not worth it
+ tests/test_replwrap.py::REPLWrapTestCase::test_zsh
+ # flaky
+ tests/test_env.py::TestCaseEnv::test_spawn_uses_env
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # TODO: changes in python3.13's prompt?
+ tests/test_replwrap.py::REPLWrapTestCase::test_python
+ tests/test_replwrap.py::REPLWrapTestCase::test_no_change_prompt
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ 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 d853eb868079..000000000000
--- a/dev-python/pgspecial/pgspecial-1.13.1-r1.ebuild
+++ /dev/null
@@ -1,47 +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_{8..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 8d5b4e1cfbe0..000000000000
--- a/dev-python/pgspecial/pgspecial-2.0.1.ebuild
+++ /dev/null
@@ -1,55 +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_{8..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/Manifest b/dev-python/pgzero/Manifest
index 32ceddb74fd3..d0753acdb6b3 100644
--- a/dev-python/pgzero/Manifest
+++ b/dev-python/pgzero/Manifest
@@ -1 +1 @@
-DIST pgzero-1.2.1.tar.gz 2503205 BLAKE2B 616129da20cc5db67bfe826816bd454a76016d80a155296bbbe8e6febbb48aa2070fac1701b22ce7a522597f85b2e272151828f9dfbac367e33e3e0b35e9d260 SHA512 7988d114f6c037fe5ef4690ded878c63f73589e56fb7f79fa3604a7b4bc8433d75aabb80229159921a3dd6af4e3fe6740520a33f2a6b29aba034a63e6e154c33
+DIST pgzero-1.2.1.gh.tar.gz 2503205 BLAKE2B 616129da20cc5db67bfe826816bd454a76016d80a155296bbbe8e6febbb48aa2070fac1701b22ce7a522597f85b2e272151828f9dfbac367e33e3e0b35e9d260 SHA512 7988d114f6c037fe5ef4690ded878c63f73589e56fb7f79fa3604a7b4bc8433d75aabb80229159921a3dd6af4e3fe6740520a33f2a6b29aba034a63e6e154c33
diff --git a/dev-python/pgzero/pgzero-1.2.1-r1.ebuild b/dev-python/pgzero/pgzero-1.2.1-r1.ebuild
deleted file mode 100644
index fe32cc7764fa..000000000000
--- a/dev-python/pgzero/pgzero-1.2.1-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-MY_PV="${PV/_p/.post}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="A zero-boilerplate games programming framework based on Pygame"
-HOMEPAGE="https://pygame-zero.readthedocs.io/"
-SRC_URI="https://github.com/lordmauve/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pygame[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- media-libs/sdl2-image[png]
- media-libs/sdl2-mixer[vorbis]
- )
-"
-distutils_enable_tests unittest
-
-python_test() {
- # Allow the tests to pass without real audio or video.
- local -x SDL_AUDIODRIVER=dummy SDL_VIDEODRIVER=dummy
- eunittest
-}
diff --git a/dev-python/pgzero/pgzero-1.2.1-r2.ebuild b/dev-python/pgzero/pgzero-1.2.1-r2.ebuild
new file mode 100644
index 000000000000..814cb18b36a0
--- /dev/null
+++ b/dev-python/pgzero/pgzero-1.2.1-r2.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=( python3_{11..12} )
+inherit distutils-r1
+
+MY_PV="${PV/_p/.post}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="A zero-boilerplate games programming framework based on Pygame"
+HOMEPAGE="https://pygame-zero.readthedocs.io/"
+SRC_URI="https://github.com/lordmauve/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.gh.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pygame[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ media-libs/sdl2-image[png]
+ media-libs/sdl2-mixer[vorbis]
+ )
+"
+distutils_enable_tests unittest
+
+python_test() {
+ # Allow the tests to pass without real audio or video.
+ local -x SDL_AUDIODRIVER=dummy SDL_VIDEODRIVER=dummy
+ eunittest
+}
diff --git a/dev-python/phonenumbers/Manifest b/dev-python/phonenumbers/Manifest
index 8e72a74acefb..817850081967 100644
--- a/dev-python/phonenumbers/Manifest
+++ b/dev-python/phonenumbers/Manifest
@@ -1,2 +1,2 @@
-DIST python-phonenumbers-8.12.52.gh.tar.gz 4904385 BLAKE2B c063fee535e3d1dd30844ea7a974601962fb8fd6b56608046e0c488e638624456020100b2b775f979f770ea1690bda38044d4f7457341d1261132f4323a6de86 SHA512 638ec8e09d58adc5131e855a9436b45f1f0252c084638a13130df793d5357fc249e695668e2cce4902a534300c4683b64078e08620fdd2636857f6d328a45d82
-DIST python-phonenumbers-8.12.53.gh.tar.gz 4904940 BLAKE2B c8da67f781c71265faa4d24e5cadf7d2c4e707de6f6fc2efae37f0b846cafd6c00814188c2d89d98ec0fb7dbeef9fedc45dc908adf117643bc2b2a0ab56a4496 SHA512 aa699e5df1b612bbcf384e01b80251099872e67fd5632dab35e53861ab6b28157266ac0a1700f4371a0a2975f0484256fb46b6287b87dc8e69aca85323475490
+DIST python-phonenumbers-8.13.35.gh.tar.gz 4915497 BLAKE2B 3e867bbf4234d82ec13ad9d246cc0f9821bb08ad65595c34513769a1e49b042625a03283e586c868a3a2d54319570d5949ba0890f0c9d9fce8ef3a6ee91bd832 SHA512 c80eeef158fd0a6efa38f3e0c8ed347406b17b71db47bfcb7cda09faf4baa688c0f92fdb578c68ad3bb03684763e3522bf537faabb68d2f50c462c01305e474e
+DIST python-phonenumbers-8.13.36.gh.tar.gz 4915552 BLAKE2B f9948876d363bba6f4a06411b809235a99003ed3a984681fc359cac05e0692e0521888221770bdbcda21c748c1401109820d01fd84854fc81501475b425ebd49 SHA512 4c82e6ce5fb1691cb1b843914d55c52e1d7bf0b4590354df7df5895eb5a410e8efcb986c9e960f542a08311a8ae7f4d400c9d4a9564a229443f34c05b4c505f1
diff --git a/dev-python/phonenumbers/phonenumbers-8.12.52.ebuild b/dev-python/phonenumbers/phonenumbers-8.12.52.ebuild
deleted file mode 100644
index fa0f470bb38b..000000000000
--- a/dev-python/phonenumbers/phonenumbers-8.12.52.ebuild
+++ /dev/null
@@ -1,39 +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_{8..10} )
-
-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.12.53.ebuild b/dev-python/phonenumbers/phonenumbers-8.12.53.ebuild
deleted file mode 100644
index baab22b23fc7..000000000000
--- a/dev-python/phonenumbers/phonenumbers-8.12.53.ebuild
+++ /dev/null
@@ -1,39 +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_{8..10} )
-
-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.35.ebuild b/dev-python/phonenumbers/phonenumbers-8.13.35.ebuild
new file mode 100644
index 000000000000..154cbd60212d
--- /dev/null
+++ b/dev-python/phonenumbers/phonenumbers-8.13.35.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.36.ebuild b/dev-python/phonenumbers/phonenumbers-8.13.36.ebuild
new file mode 100644
index 000000000000..2fc9bdbaa7c9
--- /dev/null
+++ b/dev-python/phonenumbers/phonenumbers-8.13.36.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+MY_P=python-${P}
+DESCRIPTION="Python port of Google's libphonenumber"
+HOMEPAGE="
+ https://github.com/daviddrysdale/python-phonenumbers/
+ https://pypi.org/project/phonenumbers/
+"
+SRC_URI="
+ https://github.com/daviddrysdale/python-phonenumbers/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/python
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( ../README.md )
+
+python_test() {
+ "${EPYTHON}" testwrapper.py -v || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/phply/Manifest b/dev-python/phply/Manifest
index d0382784c415..0b166cf0d18a 100644
--- a/dev-python/phply/Manifest
+++ b/dev-python/phply/Manifest
@@ -1 +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 1875f9ed1ff1..000000000000
--- a/dev-python/phply/phply-1.2.5.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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
new file mode 100644
index 000000000000..13387549acf3
--- /dev/null
+++ b/dev-python/phply/phply-1.2.6.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=( python3_{10..12} )
+
+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 pytest
+
+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/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 604ec09e47d1..000000000000
--- a/dev-python/picklemagic/picklemagic-0.0_pre20160415.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 babf1152b1d3..000000000000
--- a/dev-python/pickleshare/pickleshare-0.7.5.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..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 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/path-py-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 439ce800ed84..000000000000
--- a/dev-python/picobox/picobox-2.2.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 4f11e91ad2cb..e97c85879e6e 100644
--- a/dev-python/pid/pid-3.0.4-r1.ebuild
+++ b/dev-python/pid/pid-3.0.4-r1.ebuild
@@ -1,19 +1,18 @@
-# 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_{8..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-r1.ebuild b/dev-python/piexif/piexif-1.1.3-r1.ebuild
deleted file mode 100644
index 3927fcd5f2b1..000000000000
--- a/dev-python/piexif/piexif-1.1.3-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{8..10} )
-
-inherit edos2unix distutils-r1
-
-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"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- app-arch/unzip
- test? ( dev-python/pillow[jpeg,${PYTHON_USEDEP}] )"
-RDEPEND=""
-
-PATCHES=(
- # From https://github.com/hMatoba/Piexif/pull/109
- "${FILESDIR}"/${P}-tests-pillow-7.2.0.patch
-)
-
-src_prepare() {
- edos2unix tests/s_test.py # to be able to patch it
- default
-}
-
-python_test() {
- "${PYTHON}" setup.py test || die
-}
diff --git a/dev-python/piexif/piexif-1.1.3-r2.ebuild b/dev-python/piexif/piexif-1.1.3-r2.ebuild
new file mode 100644
index 000000000000..b411af6ecfe3
--- /dev/null
+++ b/dev-python/piexif/piexif-1.1.3-r2.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=( pypy3 python3_{10..12} )
+
+inherit edos2unix distutils-r1 pypi
+
+DESCRIPTION="Exif manipulation with pure Python"
+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 arm64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ app-arch/unzip
+ test? ( dev-python/pillow[jpeg,${PYTHON_USEDEP}] )
+"
+
+PATCHES=(
+ # From https://github.com/hMatoba/Piexif/pull/109
+ "${FILESDIR}"/${P}-tests-pillow-7.2.0.patch
+)
+
+src_prepare() {
+ edos2unix tests/s_test.py # to be able to patch it
+ default
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/pika/Manifest b/dev-python/pika/Manifest
index fbf8ea30e8d6..257b429977e3 100644
--- a/dev-python/pika/Manifest
+++ b/dev-python/pika/Manifest
@@ -1,2 +1 @@
-DIST pika-1.2.0.tar.gz 144945 BLAKE2B c8b163e4efeb4630da7f1901dfc087c2f3e53d5828eba7ee519e6f696d6c86d48d72c8c1ed98df9c3c0a6889265b072f5c709abec98522992ba699691e96acb1 SHA512 3ea4ecc3b2c722e8b1ec7d220e0cad7c7ed315a4800cbff6903d351885dc6a792318da1767f4bf1a4a40510be444ee18f3881f654c4ec84de8c3005aa2a404bf
-DIST pika-1.3.0.gh.tar.gz 316588 BLAKE2B 0d808b45aa72d7d01fde41d85fbe07c44f7c87dac0b5e6bd40f09264370eaec55bb8d003cae36b0b9835615ab6a94c6f227c499866db63f8fc1c8a4e9592d324 SHA512 ebc12faf2d180dbc226afa34a37492f121d3a01f8884b90bfb0f31972bfb14d8cbff3fa00c2350314f7da4471b34e261328e50f878cd9df67ab896478f28e731
+DIST pika-1.3.2.gh.tar.gz 323647 BLAKE2B 30cd1154bd35708a29a924d6f0f646ebdd3737745ba588e5d56fd2ae6b2a138005352475b346738b5eea66adadedb0c50fa9411f659c4f6c6b81bc9bf048c7fb SHA512 86c1c33db808274052cbe18af68bef685fafa260f692d16dcd3ce6259107c343ebdd3482713a7948583566581defa6037f3344d03b11c50458432d044d8b2057
diff --git a/dev-python/pika/pika-1.2.0.ebuild b/dev-python/pika/pika-1.2.0.ebuild
deleted file mode 100644
index faf36d81feb9..000000000000
--- a/dev-python/pika/pika-1.2.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
-DISTUTILS_USE_SETUPTOOLS=bdepend
-
-inherit distutils-r1
-
-DESCRIPTION="Pure-Python implementation of the AMQP"
-HOMEPAGE="
- https://pika.readthedocs.io/
- https://github.com/pika/pika/
- https://pypi.org/project/pika/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
diff --git a/dev-python/pika/pika-1.3.0.ebuild b/dev-python/pika/pika-1.3.0.ebuild
deleted file mode 100644
index df253c49a033..000000000000
--- a/dev-python/pika/pika-1.3.0.ebuild
+++ /dev/null
@@ -1,59 +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_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Pure-Python implementation of the AMQP"
-HOMEPAGE="
- https://pika.readthedocs.io/
- https://github.com/pika/pika/
- https://pypi.org/project/pika/
-"
-SRC_URI="https://github.com/pika/pika/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="test"
-RESTRICT="test !test? ( test )"
-PROPERTIES="test_network"
-
-BDEPEND="
- test? (
- dev-python/gevent[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/nose2[${PYTHON_USEDEP}]
- dev-python/twisted[${PYTHON_USEDEP}]
- www-servers/tornado[${PYTHON_USEDEP}]
- net-misc/rabbitmq-server
- )
-"
-
-python_test() {
- nose2 -v || die "Tests failed with ${EPYTHON}"
-}
-
-src_test() {
- einfo "Starting rabbitmq"
- local -x RABBITMQ_LOG_BASE="${T}/rabbitmq/log"
- local -x RABBITMQ_MNESIA_BASE="${T}/rabbitmq/mnesia"
- local -x RABBITMQ_LOGS="${T}/rabbitmq.log"
- local -x RABBITMQ_PID_FILE="${T}/rabbitmq.pid"
- local -x RABBITMQ_ENABLED_PLUGINS_FILE="${T}/rabbitmq/enabled_plugins"
- /usr/libexec/rabbitmq/rabbitmq-server -p 5672:5672 &
-
- einfo "Waiting for rabbitmq to fully load"
- while ! { echo >/dev/tcp/localhost/5672 ; } &> /dev/null; do
- sleep 1
- done
- einfo "rabbitmq is ready"
-
- distutils-r1_src_test
-
- einfo "Stopping rabbitmq"
- kill "$(<"${RABBITMQ_PID_FILE}")" || die
-}
diff --git a/dev-python/pika/pika-1.3.2.ebuild b/dev-python/pika/pika-1.3.2.ebuild
new file mode 100644
index 000000000000..75b80c3792f5
--- /dev/null
+++ b/dev-python/pika/pika-1.3.2.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
+PYTHON_COMPAT=( python3_{9..11} )
+inherit distutils-r1
+
+DESCRIPTION="Pure-Python implementation of the AMQP"
+HOMEPAGE="
+ https://pika.readthedocs.io/
+ https://github.com/pika/pika/
+ https://pypi.org/project/pika/
+"
+SRC_URI="https://github.com/pika/pika/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="test !test? ( test )"
+PROPERTIES="test_network"
+
+BDEPEND="
+ test? (
+ dev-python/nose2[${PYTHON_USEDEP}]
+ dev-python/twisted[${PYTHON_USEDEP}]
+ dev-python/tornado[${PYTHON_USEDEP}]
+ net-misc/rabbitmq-server
+ )
+"
+
+src_prepare() {
+ sed -e 's/test_with_gevent/_&/' -i tests/base/async_test_base.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ nose2 -v || die "Tests failed with ${EPYTHON}"
+}
+
+src_test() {
+ einfo "Starting rabbitmq"
+ local -x RABBITMQ_LOG_BASE="${T}/rabbitmq/log"
+ local -x RABBITMQ_MNESIA_BASE="${T}/rabbitmq/mnesia"
+ local -x RABBITMQ_LOGS="${T}/rabbitmq.log"
+ local -x RABBITMQ_PID_FILE="${T}/rabbitmq.pid"
+ local -x RABBITMQ_ENABLED_PLUGINS_FILE="${T}/rabbitmq/enabled_plugins"
+ /usr/libexec/rabbitmq/rabbitmq-server -p 5672:5672 &
+
+ einfo "Waiting for rabbitmq to fully load"
+ while ! { echo >/dev/tcp/localhost/5672 ; } &> /dev/null; do
+ sleep 1
+ done
+ einfo "rabbitmq is ready"
+
+ distutils-r1_src_test
+
+ einfo "Stopping rabbitmq"
+ kill "$(<"${RABBITMQ_PID_FILE}")" || die
+}
diff --git a/dev-python/pikepdf/Manifest b/dev-python/pikepdf/Manifest
index e5d38b5fe5e7..e7a447ccb6e5 100644
--- a/dev-python/pikepdf/Manifest
+++ b/dev-python/pikepdf/Manifest
@@ -1,5 +1,4 @@
-DIST pikepdf-5.2.0.gh.tar.gz 2359546 BLAKE2B 953a5268eb7dc52934967b593237bb3006ee35e7a1657c0721ef4cdc874c9c51d7920fbdb7e38f67e221b01536166b8811a95021668491e8c783f51a08f49144 SHA512 f36ec09017aeac547c2b4ef17de7513293e8bf243707cb9c0c03826973be266847d8514002be546ac958a735e29765df94efdaecde6ad5f901c329dadc3e9451
-DIST pikepdf-5.3.1.gh.tar.gz 2360816 BLAKE2B 02b36814144acbf05cf50d8bca6542271208af0ed7548dd8f41493b6e95183851033a3d4f3335f10d4bf6798606e9031aa2b38d28a9e824692fe8f78f1e68077 SHA512 b0256533011dae384ce657200db69b6e3ac93b4364fe55a2e0fb8fb2d993550dcfe4e05b723b81d62ed1db3cd544023e81a9e70fd807bcfb618f125ae5a35117
-DIST pikepdf-5.3.2.gh.tar.gz 2886857 BLAKE2B 343006c8123bd814a93d1863442e9fdf80d93ae020ae6b4471cbae640653e74f3652c7c3e32d2e5ec68f5425f24a34543c0d712d78320d46db9bdb8db64ce1bb SHA512 3586a8f33550698d9b49852d741ebea7fd06e3afdbd7f1ed74ba7d9f8bbc086ff35ed964dd065f1e764f6690b3a708440eee97857591829a565acf2f0702ae33
-DIST pikepdf-5.4.0.gh.tar.gz 2891493 BLAKE2B 12aec9e7fe22c9e372886bdf3c32d509f13a92fe0526469445f801ecb3b92d8fb27ad817bee6fc1845a3057d6fe56cfde5712907e9a89fc16412a1528e988504 SHA512 5be5f1d79a4fb9119aa4aed8fd4e0d02f53a7affe39c8b019aad3717b20ec303e8dbd3ac19d57e099c591ea7a29cbaf786b40d5235850f756bc17fe5335324fd
-DIST pikepdf-5.4.2.gh.tar.gz 2901145 BLAKE2B d7559901f59e5bd08ef660b88a4e9d50ac1bb64b397bcd56c1ed707ea7c0d9eca61d7ffe9e98361c01f3b71b640a9da1376c130fa5dff3324bbe2d64ce267347 SHA512 9afbd565ae82c65f743ffe7dc37509a15b03a1057bbdf4243ebacf4e0d315f9dead31fcd0f8b34023850a4d85aec302c229b1df0f045db4b1a8c171b58732b48
+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-5.2.0-r1.ebuild b/dev-python/pikepdf/pikepdf-5.2.0-r1.ebuild
deleted file mode 100644
index 8968d3f1b5b7..000000000000
--- a/dev-python/pikepdf/pikepdf-5.2.0-r1.ebuild
+++ /dev/null
@@ -1,60 +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_{8..10} )
-
-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="amd64 ~x86"
-
-DEPEND="
- >=app-text/qpdf-10.6.2: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-6.4[${PYTHON_USEDEP}]
- dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- 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 -i -e '/-n auto/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pikepdf/pikepdf-5.3.1.ebuild b/dev-python/pikepdf/pikepdf-5.3.1.ebuild
deleted file mode 100644
index adeb8463feb9..000000000000
--- a/dev-python/pikepdf/pikepdf-5.3.1.ebuild
+++ /dev/null
@@ -1,61 +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_{8..10} )
-
-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="~amd64 ~x86"
-
-DEPEND="
- >=app-text/qpdf-10.6.2: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.3[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- 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
-}
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pikepdf/pikepdf-5.3.2.ebuild b/dev-python/pikepdf/pikepdf-5.3.2.ebuild
deleted file mode 100644
index 207407c0a350..000000000000
--- a/dev-python/pikepdf/pikepdf-5.3.2.ebuild
+++ /dev/null
@@ -1,59 +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_{8..10} )
-
-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="~amd64 ~x86"
-
-DEPEND="
- >=app-text/qpdf-10.6.2: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}]
- dev-python/tomli[${PYTHON_USEDEP}]
- 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-5.4.0.ebuild b/dev-python/pikepdf/pikepdf-5.4.0.ebuild
deleted file mode 100644
index 0dcfce946c36..000000000000
--- a/dev-python/pikepdf/pikepdf-5.4.0.ebuild
+++ /dev/null
@@ -1,61 +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_{8..10} )
-
-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="~amd64 ~x86"
-
-DEPEND="
- >=app-text/qpdf-10.6.2: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-5.4.2.ebuild b/dev-python/pikepdf/pikepdf-5.4.2.ebuild
deleted file mode 100644
index 0dcfce946c36..000000000000
--- a/dev-python/pikepdf/pikepdf-5.4.2.ebuild
+++ /dev/null
@@ -1,61 +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_{8..10} )
-
-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="~amd64 ~x86"
-
-DEPEND="
- >=app-text/qpdf-10.6.2: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..7c2198311e0c
--- /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/pilkit/Manifest b/dev-python/pilkit/Manifest
deleted file mode 100644
index 86d179b5802a..000000000000
--- a/dev-python/pilkit/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pilkit-2.0.tar.gz 160077 BLAKE2B def84c3444c5ffe7e1b9c016c2fe15de222d6765e7ce4652ef2f6864af59fdc89b9bde5c7a63097838ab3fc054c81529dcb4a13cd3fb3ee8a0f141f6b0030c10 SHA512 7732c67bc00db53c6849c907233381cca7f9055d55d479958a7b97db277524ac280753fd40c0023fe2b34f98b7261134f993585e658275ccd4c67f357c13de51
diff --git a/dev-python/pilkit/metadata.xml b/dev-python/pilkit/metadata.xml
deleted file mode 100644
index 31d4ed19ac57..000000000000
--- a/dev-python/pilkit/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>thomas@gstaedtner.net</email>
- <name>Thomas Gstädtner</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">pilkit</remote-id>
- <remote-id type="github">matthewwithanm/pilkit</remote-id>
- <bugs-to>
- https://github.com/matthewwithanm/pilkit/issues
- </bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pilkit/pilkit-2.0.ebuild b/dev-python/pilkit/pilkit-2.0.ebuild
deleted file mode 100644
index bb39f045ca7b..000000000000
--- a/dev-python/pilkit/pilkit-2.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A collection of utilities and processors for the Python Imaging Libary"
-HOMEPAGE="https://github.com/matthewwithanm/pilkit"
-SRC_URI="https://github.com/matthewwithanm/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-python/pillow[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP},jpeg,zlib]
- )"
-
-distutils_enable_tests nose
diff --git a/dev-python/pillow/Manifest b/dev-python/pillow/Manifest
index e73a55dc8b3e..deb1cb5bc2f3 100644
--- a/dev-python/pillow/Manifest
+++ b/dev-python/pillow/Manifest
@@ -1,2 +1,4 @@
-DIST pillow-9.1.1.tar.gz 49753799 BLAKE2B 969a338f768951c340177d0590c50ba1213f48810870ac3fdbc2556c57344e356e0cf1ef080bde29bf89291adbf9f64b2dd1f950260d2ce5c0eb28d197f2dfe2 SHA512 8c05c0af6be992667d764046c6d7c189e1486d6ab987474c15e3bc8a64b9955d4c91d94b94ea46ef6d1c6f343ba424240dfa7d758c666bec40fa580728206a5f
-DIST pillow-9.2.0.gh.tar.gz 50018953 BLAKE2B 72dc1175c08276531c5949f0eb19bdce37afb25303614d489375c57aba19c5f708db7d149a033490f95848bdd6b4249dd36993205069e7f471a2efd602cb3ac4 SHA512 02926d6c88aa8bc0df05b0ecd04b9852821a6400a24c6e70b66d4092eb3174139dee116adfa94ba8b7f3df8f6725cc68b32705f308f4347153e0112d987fc5f2
+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.1.1.ebuild b/dev-python/pillow/pillow-9.1.1.ebuild
deleted file mode 100644
index 0359d0ccbbe6..000000000000
--- a/dev-python/pillow/pillow-9.1.1.ebuild
+++ /dev/null
@@ -1,118 +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_{8..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/"
-SRC_URI="https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz -> ${P}.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:0 )
- jpeg? ( media-libs/libjpeg-turbo )
- jpeg2k? ( media-libs/openjpeg:2= )
- lcms? ( media-libs/lcms:2= )
- tiff? ( media-libs/tiff:0=[jpeg,zlib] )
- truetype? ( media-libs/freetype:2= )
- webp? ( media-libs/libwebp:0= )
- xcb? ( x11-libs/libxcb )
- zlib? ( sys-libs/zlib:0= )
-"
-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() {
- "${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-9.2.0.ebuild b/dev-python/pillow/pillow-9.2.0.ebuild
deleted file mode 100644
index 8570ccdbf02c..000000000000
--- a/dev-python/pillow/pillow-9.2.0.ebuild
+++ /dev/null
@@ -1,125 +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_{8..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:0 )
- jpeg? ( media-libs/libjpeg-turbo )
- jpeg2k? ( media-libs/openjpeg:2= )
- lcms? ( media-libs/lcms:2= )
- tiff? ( media-libs/tiff:0=[jpeg,zlib] )
- truetype? ( media-libs/freetype:2= )
- webp? ( media-libs/libwebp:0= )
- xcb? ( x11-libs/libxcb )
- zlib? ( sys-libs/zlib:0= )
-"
-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() {
- "${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 e5feb840c0e3..991aaabcdf2c 100644
--- a/dev-python/pip-run/Manifest
+++ b/dev-python/pip-run/Manifest
@@ -1,2 +1 @@
-DIST pip-run-8.8.0.gh.tar.gz 22145 BLAKE2B 18b915a29a1767022a609e356005e87f035c3d9bab6dd5ab44f9f42668f4d64c4ee5360cb92b217aa2b7b94e0fbfdb5f0e494e668d9bed8badc38ab36cced353 SHA512 301083a34dea08035819024f17d8108f9751a765cdfc8f2e273b948c7746111efedd80765a63c3ac145bdf7d2b41c9a0b2b20286181c4c94cbc5501fb81eb74d
-DIST pip-run-8.8.1.gh.tar.gz 22443 BLAKE2B 4f87e3ec9867971916a0d5c463cdae63c7bb95ba457ff6e04101c1c37ea8728e2db2bad805b10bb6843b5ded1cb095d0f493b02c8a6e73aa4b782b849aa5ffb4 SHA512 ae964ca96f0be33fdb33974061e75486c443fda5edf0cf43247e8bd293d9a6a87d2cd421100578ed5179f13c9f46ff10ec730e0b403982da7e8aac22651268ea
+DIST pip-run-12.6.1.tar.gz 38868 BLAKE2B 852e8207fc5951a4007f761c18dd06b483a0658d3ab3f51e667b5f0a204fe2f2c530ade5d2d36005c2a25d564cb779b5d2911aeaf5e046477631958172414352 SHA512 b4dcdf0d96061b7049bd8ad25e20f36fe305fe04148937cab3be91ab8fc95849b07b14d2948eb0d5172d36f5ef561b80cff07b1203c62f117c52eb5d265e9356
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-8.8.0.ebuild b/dev-python/pip-run/pip-run-8.8.0.ebuild
deleted file mode 100644
index 4ce3a99ddf97..000000000000
--- a/dev-python/pip-run/pip-run-8.8.0.ebuild
+++ /dev/null
@@ -1,44 +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_{8..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-py[${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-8.8.1.ebuild b/dev-python/pip-run/pip-run-8.8.1.ebuild
deleted file mode 100644
index 4ce3a99ddf97..000000000000
--- a/dev-python/pip-run/pip-run-8.8.1.ebuild
+++ /dev/null
@@ -1,44 +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_{8..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-py[${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/Manifest b/dev-python/pip/Manifest
index d45ad2c97c73..3116dbf3047d 100644
--- a/dev-python/pip/Manifest
+++ b/dev-python/pip/Manifest
@@ -1,7 +1 @@
-DIST pip-22.1.2.gh.tar.gz 9346675 BLAKE2B f709f8977d467d5a3170884bb75cd2f74a2f40801ae02a3725d442e18e4073f9c4a39cd1c9d2ce3949eb888be69d151f67d0cf2d0cbad7e2ec1ec6e78150b5c7 SHA512 7dd13150023f1cca8f5e01da7688ae418b5d0b36364efcfc15374a5147c7cabd46ff1d34e6499bc8e182dc0d34a366f5fe21d8ab4de4d112d269a97200401305
-DIST pip-22.2.1.gh.tar.gz 9279141 BLAKE2B 61906027e36c8b3b82f3d17a59cbc995864622184c7f4099e9dfbb5082d1953dff72551558b8fe0d463d7defcd8b9403a978e4a8c7d79af5cd6b9dbbbcc9c7b5 SHA512 77996ce7e1aa4b5aab0c55dfee5e9bfe9f5f09f33cb796ce78bba7365f37ce9f1cce4eeaf5fdbeddde0819ecc6a30ffdafa6b7e25f93c672fcc8646303a7946e
-DIST pip-22.2.2.gh.tar.gz 9279218 BLAKE2B 2179b0d3f5f05bbd678f1785b4dbc0613078c09c83b45faa62d766182dfeb564095abda809ed99f45644abcb06c125efc528aeaed3ad40ab1c9e8972e33ccbb2 SHA512 bd59e28b55475b77a8f11ea771cbad3b2602ff974e219f9a55288963a9522c9279a5b00fde40fb65cfebefae0e905d3da3c06fe50b402aa5326b25f70a98a015
-DIST pip-22.2.gh.tar.gz 9278410 BLAKE2B e32fe63e81593a0ec9c0110af0f07f1a47ddd3d6c660c11e9eb9142c251b7f45e3a1cc343193b123364a6a3a69490add7d4ebb368aac027c448f00f7cd163d7c SHA512 2ff3f9c2dc84c65c14c978e8c58cd3cee6cfff9753655c726763d6d7780d147479f32c47873d402ad9e0821fef940b971a7df93fabd6b998f07dea5af1251c9b
-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-21.3-no-coverage.patch b/dev-python/pip/files/pip-21.3-no-coverage.patch
deleted file mode 100644
index 8292f97f9488..000000000000
--- a/dev-python/pip/files/pip-21.3-no-coverage.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 8473691148031ed4db5bd8870fbeef9484b9c831 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 23 Oct 2021 08:11:11 +0200
-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 076aeaf19..77c41dc15 100644
---- a/tests/conftest.py
-+++ b/tests/conftest.py
-@@ -340,13 +340,6 @@ def wheel_install(tmpdir_factory: pytest.TempdirFactory, common_wheels: Path) ->
- return _common_wheel_editable_install(tmpdir_factory, common_wheels, "wheel")
-
-
--@pytest.fixture(scope="session")
--def coverage_install(
-- tmpdir_factory: pytest.TempdirFactory, common_wheels: Path
--) -> Path:
-- return _common_wheel_editable_install(tmpdir_factory, common_wheels, "coverage")
--
--
- def install_egg_link(
- venv: VirtualEnvironment, project_name: str, egg_info_dir: Path
- ) -> None:
-@@ -362,7 +355,6 @@ def virtualenv_template(
- tmpdir_factory: pytest.TempdirFactory,
- pip_src: Path,
- setuptools_install: Path,
-- coverage_install: Path,
- ) -> Iterator[VirtualEnvironment]:
-
- venv_type: VirtualEnvironmentType
-@@ -389,13 +381,6 @@ def virtualenv_template(
- [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_egg_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.33.1
-
diff --git a/dev-python/pip/files/pip-22.2-no-coverage.patch b/dev-python/pip/files/pip-22.2-no-coverage.patch
deleted file mode 100644
index 20a5fa4beabf..000000000000
--- a/dev-python/pip/files/pip-22.2-no-coverage.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 75292c12ee2062f7d035b326b652ba6cffb8480d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 23 Oct 2021 08:11:11 +0200
-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 210ff0f4e..e5c0d2ef0 100644
---- a/tests/conftest.py
-+++ b/tests/conftest.py
-@@ -382,13 +382,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_egg_link(
- venv: VirtualEnvironment, project_name: str, egg_info_dir: Path
- ) -> None:
-@@ -404,7 +397,6 @@ def virtualenv_template(
- tmpdir_factory: pytest.TempPathFactory,
- pip_src: Path,
- setuptools_install: Path,
-- coverage_install: Path,
- ) -> Iterator[VirtualEnvironment]:
-
- venv_type: VirtualEnvironmentType
-@@ -431,13 +423,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_egg_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-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.1.2-r1.ebuild b/dev-python/pip/pip-22.1.2-r1.ebuild
deleted file mode 100644
index 92328155e736..000000000000
--- a/dev-python/pip/pip-22.1.2-r1.ebuild
+++ /dev/null
@@ -1,130 +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_TESTED=( python3_{8..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"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-SLOT="0"
-IUSE="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}]
- !alpha? ( !arm? ( !hppa? ( !ia64? ( !s390? ( !sparc? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- ) ) ) ) ) )
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- local PATCHES=(
- "${FILESDIR}/pip-21.3-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_install.py::test_double_install_fail
- tests/functional/test_list.py::test_multiple_exclude_and_normalization
- # Internet
- 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
- )
-
- 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-22.2-r1.ebuild b/dev-python/pip/pip-22.2-r1.ebuild
deleted file mode 100644
index 67d8b8ae610c..000000000000
--- a/dev-python/pip/pip-22.2-r1.ebuild
+++ /dev/null
@@ -1,134 +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_TESTED=( python3_{8..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="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}]
- !alpha? ( !arm? ( !hppa? ( !ia64? ( !s390? ( !sparc? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- ) ) ) ) ) )
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- local PATCHES=(
- "${FILESDIR}/pip-22.2-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
- )
-
- 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-22.2.1-r1.ebuild b/dev-python/pip/pip-22.2.1-r1.ebuild
deleted file mode 100644
index 8d3b6ef3e28e..000000000000
--- a/dev-python/pip/pip-22.2.1-r1.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2022 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_{8..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="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}]
- !alpha? ( !arm? ( !hppa? ( !ia64? ( !s390? ( !sparc? (
- 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
- )
-
- 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-22.2.2.ebuild b/dev-python/pip/pip-22.2.2.ebuild
deleted file mode 100644
index 8d3b6ef3e28e..000000000000
--- a/dev-python/pip/pip-22.2.2.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2022 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_{8..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="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}]
- !alpha? ( !arm? ( !hppa? ( !ia64? ( !s390? ( !sparc? (
- 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
- )
-
- 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 d51b2b150e3d..a78ee4044bd4 100644
--- a/dev-python/pipenv/Manifest
+++ b/dev-python/pipenv/Manifest
@@ -1 +1 @@
-DIST pipenv-2022.6.7.gh.tar.gz 12253349 BLAKE2B d1efa1a6e38727c5b5d26c6ec6ad6dfb904ff1e8aed93416ac5bb470d87db0a8583fec8552bc53ee0277e4e7abf7d0a1068a9a3c5dfa2260dfcd0890748df4ae SHA512 2b9c42bd88d8643d07f2eb375040b5b26a88980f5f6e4ee8e99bcbbc17ab268f6dbfa582d1974d2cbfd18691dd06d8b9e3b6c25cec17d64fa3e5541529fe05fc
+DIST pipenv-2023.12.1.gh.tar.gz 10728288 BLAKE2B dc9425303e24652b797c9f9f9f6cc6f13f30e32775fe0458ee472af5d859ee245c58f3adb6040390bd53d3e1efd6493f930c7336e69956516b36e26e70ca14b7 SHA512 caadbeb32c0445abfae65d86df8d9a5875e71c1a0a281193194ae61c0b095c8f9361a5dd67f92acd5b64d8dc1d877324e959357470894d7d60ceb1a619c831db
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.6.7-r1.ebuild b/dev-python/pipenv/pipenv-2022.6.7-r1.ebuild
deleted file mode 100644
index b87dfbce7e3c..000000000000
--- a/dev-python/pipenv/pipenv-2022.6.7-r1.ebuild
+++ /dev/null
@@ -1,93 +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_{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"
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/cached-property[${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/idna-3.2[${PYTHON_USEDEP}]
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
- $(python_gen_cond_dep 'dev-python/importlib_resources[${PYTHON_USEDEP}]' 3.8)
- dev-python/iso8601[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.2[${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/toml[${PYTHON_USEDEP}]
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26.7[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.36.0[${PYTHON_USEDEP}]
- >=dev-python/zipp-3.6.0[${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 cerberus cached_property click colorama idna importlib_metadata importlib_resources iso8601 pexpect dateutil pyparsing requests toml tomli tomlkit urllib3 zipp )
- 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
-
- # not actually used by pipenv, but included in pipenv
- rm -vR "${S}/${PN}/vendor/wheel/" || die
-}
-
-python_test() {
- epytest -m "not cli and not needs_internet" tests/unit/
-}
diff --git a/dev-python/pipenv/pipenv-2022.6.7.ebuild b/dev-python/pipenv/pipenv-2022.6.7.ebuild
deleted file mode 100644
index 287a53485539..000000000000
--- a/dev-python/pipenv/pipenv-2022.6.7.ebuild
+++ /dev/null
@@ -1,89 +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_{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"
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/cached-property[${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/idna-3.2[${PYTHON_USEDEP}]
- dev-python/iso8601[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.2[${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/toml[${PYTHON_USEDEP}]
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26.7[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.36.0[${PYTHON_USEDEP}]
- >=dev-python/zipp-3.6.0[${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 cerberus cached_property click colorama idna iso8601 pexpect dateutil requests toml tomli urllib3 zipp )
- 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
-
- # not actually used by pipenv, but included in pipenv
- rm -vR "${S}/${PN}/vendor/wheel/" || die
-}
-
-python_test() {
- epytest -m "not cli and not needs_internet" tests/unit/
-}
diff --git a/dev-python/pipenv/pipenv-2023.12.1-r1.ebuild b/dev-python/pipenv/pipenv-2023.12.1-r1.ebuild
new file mode 100644
index 000000000000..e1fda83fb9bb
--- /dev/null
+++ b/dev-python/pipenv/pipenv-2023.12.1-r1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 multiprocessing
+
+MY_PV=${PV/_beta/b}
+DESCRIPTION="Python Development Workflow for Humans"
+HOMEPAGE="https://github.com/pypa/pipenv https://pypi.org/project/pipenv/"
+SRC_URI="https://github.com/pypa/pipenv/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+PATCHES=(
+ "${FILESDIR}/pipenv-2023.9.8-inject-system-packages.patch"
+ "${FILESDIR}/pipenv-2023.9.8-append-always-install-to-pip-extra-args.patch"
+)
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/click-didyoumean[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4.4[${PYTHON_USEDEP}]
+ dev-python/dparse[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}]
+ ~dev-python/pipdeptree-2.16.2[${PYTHON_USEDEP}]
+ ~dev-python/plette-0.4.4[${PYTHON_USEDEP}]
+ >=dev-python/ptyprocess-0.7.0[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ ~dev-python/pythonfinder-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep ' dev-python/tomli[${PYTHON_USEDEP}] ' python3_{9..10})
+ >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/python-dotenv-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26.0[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+# IMPORTANT: The following sed command patches the vendor direcotry
+# in the pipenv source. Attempts to simply bump the version of the
+# package without checking that it works is likely to fail
+# The vendored packages should eventually all be removed
+# see: https://bugs.gentoo.org/717666
+src_prepare() {
+ sed --in-place -e "s/import click, plette, tomlkit/import click\n\import tomlkit\nfrom pipenv.vendor import plette/g" pipenv/project.py || die "Failed patching pipenv/project.py"
+
+ local pkgName
+ local jobs=$(makeopts_jobs)
+ local packages=( cerberus colorama click click_didyoumean dotenv dparse markupsafe \
+ pexpect pep517 pipdeptree plette ptyprocess pydantic pyparsing pythonfinder \
+ requests urllib3 shellingham tomli tomlkit )
+ for pkgName in ${packages[@]}; do
+ find ./ -type f -print0 | \
+ xargs --max-procs="${jobs}" --null \
+ sed --in-place \
+ -e "s/from pipenv.vendor import ${pkgName}/import ${pkgName}/g" \
+ -e "s/from pipenv.vendor.${pkgName}\(.*\) import \(\w*\)/from ${pkgName}\1 import \2/g"\
+ -e "s/import pipenv.vendor.${pkgName} as ${pkgName}/import ${pkgName}/g" \
+ -e "s/from .vendor import ${pkgName}/import ${pkgName}/g" \
+ -e "s/from .vendor.${pkgName}/from ${pkgName}/g" || die "Failed to sed for ${pkgName}"
+ done
+
+ distutils-r1_src_prepare
+
+ # remove vendored versions
+ for pkgName in ${packages[@]}; do
+ find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName}$" -prune -exec rm -rvf {} + || die
+ # package names can be foo-bar, their module will be however foo_bar
+ find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName/_/-}" -prune -exec rm -rvf {} + || die
+ done
+
+ find ./pipenv/vendor -regextype posix-extended -regex '.*cached[_-]property.*' -prune -exec rm -rvf {} + || die
+
+ find ./ -type f -print0 | \
+ xargs --max-procs="${jobs}" --null \
+ sed --in-place \
+ -e "s/from pipenv\.vendor import plette, toml, tomlkit, vistir/from pipenv\.vendor import plette, toml, vistir\\nimport tomlkit/g"
+
+ # remove python ruaml yaml
+ sed --in-place -e \
+ "s/from pipenv\.vendor\.ruamel\.yaml import YAML/from ruamel\.yaml import YAML/g" \
+ pipenv/patched/safety/util.py || die "Failed sed in ruaml-yaml"
+ sed --in-place -e \
+ "s/from pipenv\.vendor\.ruamel\.yaml\.error import MarkedYAMLError/from ruamel\.yaml\.error import MarkedYAMLError/g" \
+ pipenv/patched/safety/util.py || die "Failed sed in ruamel-yaml"
+
+ rm -vR pipenv/vendor/ruamel || die "Failed removing ruamel-yaml from vendor"
+
+ for fname in Makefile README.md ruamel.*.LICENSE vendor.txt; do
+ rm -v pipenv/vendor/$fname || die "Failed removing pipenv/vendor/${fname}"
+ done
+
+ sed --in-place -e "s/pipenv.vendor.pythonfinder.utils.get_python_version/pythonfinder.utils.get_python_version/g" tests/unit/test_utils.py || die "Failed patching tests"
+
+ rm -Rfv pipenv/vendor || die "Could not vendor"
+ rm -Rfv examples || die "Could not remove examples"
+ rm -Rfv docs || die "Could not remove docs"
+}
+
+python_test() {
+ epytest -m "not cli and not needs_internet" tests/unit/
+}
diff --git a/dev-python/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 ac45149907b0..02d933036402 100644
--- a/dev-python/pivy/Manifest
+++ b/dev-python/pivy/Manifest
@@ -1 +1,2 @@
-DIST pivy-0.6.7.tar.gz 6618410 BLAKE2B 22ebe63a75fa624b772cb3d3ff6f03336258f6c8b638613413c19fcea072f83f73396bc91d35f0e06bc27ec57471ae67965ee492e62a7e73919f7827de645175 SHA512 606eac3527b5906ad6884c25775b5625bfd2a1b1c78f75017b05e662d622c75d30e70fd5785ec2145902f5a02d99098b52cc776aee12fab02f0319762ee104b0
+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.7.ebuild b/dev-python/pivy/pivy-0.6.7.ebuild
deleted file mode 100644
index 3ea7eff6d17b..000000000000
--- a/dev-python/pivy/pivy-0.6.7.ebuild
+++ /dev/null
@@ -1,59 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Coin3D bindings for Python"
-HOMEPAGE="https://github.com/coin3d/pivy"
-
-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"
- KEYWORDS="amd64 x86"
-fi
-
-LICENSE="ISC"
-SLOT="0"
-IUSE="+quarter soqt test"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- || ( quarter soqt )
-"
-
-RDEPEND="
- >=media-libs/coin-4.0.0
- quarter? ( media-libs/quarter )
- soqt? ( >=media-libs/SoQt-1.6.0 )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-lang/swig
- dev-util/cmake
- test? ( ${RDEPEND} )
-"
-
-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}"/${P}-find-qmake.patch
-)
-
-DOCS=( AUTHORS HACKING NEWS README.md THANKS )
-
-python_test() {
- # visual_test.py is interactive
- # pyside_test.py currently fails
- # quarter_tests.py needs pyside2, which currently lacks py3_11 support
- for f in tests/coin_tests.py; do
- "${EPYTHON}" "${f}" || die "Test ${f} failed with ${EPYTHON}"
- done
-}
diff --git a/dev-python/pivy/pivy-0.6.8.ebuild b/dev-python/pivy/pivy-0.6.8.ebuild
new file mode 100644
index 000000000000..73dc11cf83dd
--- /dev/null
+++ b/dev-python/pivy/pivy-0.6.8.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Coin3D bindings for Python"
+HOMEPAGE="https://github.com/coin3d/pivy"
+
+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
+ https://dev.gentoo.org/~andrewammerlaan/${P}-python312-unittests.patch
+ "
+ KEYWORDS="amd64 x86"
+fi
+
+LICENSE="ISC"
+SLOT="0"
+IUSE="+quarter soqt test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( quarter soqt )
+"
+
+RDEPEND="
+ >=media-libs/coin-4.0.0
+ quarter? ( media-libs/quarter )
+ soqt? ( >=media-libs/SoQt-1.6.0 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-build/cmake
+ dev-lang/swig
+ test? ( ${RDEPEND} )
+"
+
+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 )
+
+python_test() {
+ # visual_test.py is interactive
+ # pyside_test.py currently fails
+ # quarter_tests.py needs pyside2, which currently lacks py3_11 support
+ for f in tests/coin_tests.py; do
+ "${EPYTHON}" "${f}" || die "Test ${f} failed with ${EPYTHON}"
+ done
+}
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 928cc9635956..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-2022 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_{8..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/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/metadata.xml b/dev-python/pkgcraft/metadata.xml
new file mode 100644
index 000000000000..39d39075985d
--- /dev/null
+++ b/dev-python/pkgcraft/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>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pkgcraft/pkgcraft-python</remote-id>
+ <remote-id type="pypi">pkgcraft</remote-id>
+ </upstream>
+</pkgmetadata>
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 ed104b7ab701..39de2683d043 100644
--- a/dev-python/pkginfo/Manifest
+++ b/dev-python/pkginfo/Manifest
@@ -1 +1 @@
-DIST pkginfo-1.8.3.tar.gz 375734 BLAKE2B a3e9779bcb7cd326d8bd8137fa388055032fd4ee7732d47a341807201a97f1d44652d8e46adefd301cf7cd3c1d041e49a6ed2b8752e12347a8a2a2349cf397bd SHA512 54a67bdf078b38600651cb94afa62e9d86fce512022b1e79eb4565289ae3fad2325647654704488968e18cd85cbba4bd0ce28392fd09ae9638ee449e802273eb
+DIST pkginfo-1.10.0.tar.gz 378457 BLAKE2B 976bde677c365b78bde56604cef46892c95f796af59836946e1302cea868882a06d3f8cdbb330e3af011691dc8123f2555d0ebf6bacfaeff5a4e010a9bdd7030 SHA512 d1350166bc6d37d8c7f227bfee332f5d289e1a513a13db1ba75992dbb24b30b42b2b95d2fe55ca249c83132e880a46975d4146e0cb9d5b1d103da2e9ce36a858
diff --git a/dev-python/pkginfo/metadata.xml b/dev-python/pkginfo/metadata.xml
index a5d27a3bba00..beedff34f048 100644
--- a/dev-python/pkginfo/metadata.xml
+++ b/dev-python/pkginfo/metadata.xml
@@ -1,12 +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">pkginfo</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">pkginfo</remote-id>
+ <remote-id type="launchpad">pkginfo</remote-id>
+ </upstream>
</pkgmetadata>
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.8.3.ebuild b/dev-python/pkginfo/pkginfo-1.8.3.ebuild
deleted file mode 100644
index 6c2807d22d3f..000000000000
--- a/dev-python/pkginfo/pkginfo-1.8.3.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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/pkgutil_resolve_name/Manifest b/dev-python/pkgutil_resolve_name/Manifest
deleted file mode 100644
index d515ae6e546e..000000000000
--- a/dev-python/pkgutil_resolve_name/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pkgutil_resolve_name-1.3.10.tar.gz 5054 BLAKE2B 3e10c593f2389899349315dd1304233e6ca7c56ea36658cf7e7a429f00c9a3d560ef0d51f841dbd4f825501495aad41cc050266bb43b2d7deebb5026d218ae30 SHA512 878d54678d33297528dc9d1c07b45455989d3ece48dedfc468e9fbbad7cb5d17a75d66563ee841b5d65fc07fbf45cb91523f009088cb16f83846edc1f2fef7f2
diff --git a/dev-python/pkgutil_resolve_name/metadata.xml b/dev-python/pkgutil_resolve_name/metadata.xml
deleted file mode 100644
index cd502a3ab5c1..000000000000
--- a/dev-python/pkgutil_resolve_name/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">graingert/pkgutil-resolve-name</remote-id>
- <remote-id type="pypi">pkgutil_resolve_name</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pkgutil_resolve_name/pkgutil_resolve_name-1.3.10.ebuild b/dev-python/pkgutil_resolve_name/pkgutil_resolve_name-1.3.10.ebuild
deleted file mode 100644
index 12fd284d8f2c..000000000000
--- a/dev-python/pkgutil_resolve_name/pkgutil_resolve_name-1.3.10.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-# backport from python3.9
-PYTHON_COMPAT=( python3_8 )
-
-inherit distutils-r1
-
-DESCRIPTION="Resolve a name to an object"
-HOMEPAGE="
- https://github.com/graingert/pkgutil-resolve-name/
- https://pypi.org/project/pkgutil_resolve_name/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
diff --git a/dev-python/platformdirs/Manifest b/dev-python/platformdirs/Manifest
index bb7c55d33e49..003455160061 100644
--- a/dev-python/platformdirs/Manifest
+++ b/dev-python/platformdirs/Manifest
@@ -1 +1,2 @@
-DIST platformdirs-2.5.2.gh.tar.gz 20335 BLAKE2B 5d11e39d3e7482646e90d57642f0a956633408de5ec9f3cc1954e451ebb3bc3234a453c1e62997bcc74a32082f5d044a1e68ef6d7e75e27876495ad6ffb3c8f5 SHA512 7162050adff66124601359f0c1f73e671444d286e9f00c2694647df233c25e1eae673baf829e3e74e2a54d15a1633d0202dba986d4ed8a2864fc47859af0fd4e
+DIST platformdirs-4.2.0.tar.gz 20055 BLAKE2B 07338fc1ad6f5edf3dfe9de9e74326af4c22a4b6db0979a2b0926d248e7bc27f6f40e9e47e62979657c0804e3d296dfba5b18f57fa64b1fdcd205d52ae21fe17 SHA512 615742163cc4eb0ee97c4dba069d59a08e0056e05a3fbeab32dcab854ed56976e8707dd70afd65dbd0732bf1ad1a42c565fb3d980b7b668aa2cdecc5cc1de4f0
+DIST platformdirs-4.2.1.tar.gz 20398 BLAKE2B 6ae25a07afb0878a3c5347f4cc48e81117a5be42affe6b7873e1e62d9b4e8e63f380eb2a4062a472823c1d3e1eaaf499463ec93ca7e3c7c115c51a1c8fb10284 SHA512 c6c671022a74ba35610469f08e9a275daa19f0362a98208096fab147a77abfc96c12a0312fdf65668b3e457e0c06d938f141efec1217ef1a7598a77f65786130
diff --git a/dev-python/platformdirs/platformdirs-2.5.2.ebuild b/dev-python/platformdirs/platformdirs-2.5.2.ebuild
deleted file mode 100644
index 2361230d32d8..000000000000
--- a/dev-python/platformdirs/platformdirs-2.5.2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8..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[${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/platformdirs/platformdirs-4.2.1.ebuild b/dev-python/platformdirs/platformdirs-4.2.1.ebuild
new file mode 100644
index 000000000000..5b2eb5cac9bf
--- /dev/null
+++ b/dev-python/platformdirs/platformdirs-4.2.1.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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
+HOMEPAGE="
+ https://pypi.org/project/platformdirs/
+ https://github.com/platformdirs/platformdirs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ test? (
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "hatchling' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "${PN}"
+ version = "${PV}"
+ description = 'A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".'
+ EOF
+ # sigh
+ cat > src/platformdirs/version.py <<-EOF || die
+ __version__ = version = '${PV}'
+ __version_tuple__ = version_tuple = (${PV//./, })
+ EOF
+}
diff --git a/dev-python/plette/Manifest b/dev-python/plette/Manifest
new file mode 100644
index 000000000000..5547cd1597ef
--- /dev/null
+++ b/dev-python/plette/Manifest
@@ -0,0 +1,3 @@
+DIST plette-0.4.4.gh.tar.gz 36359 BLAKE2B dc630b9e98db9a8f6047fe0bb31c2ab29d695745b59d457c9cac218922c0d578a474f80ddc419364fb8ef92c5952c5cea33ee571cce2d698015466edb738885a SHA512 c4342ce040966730d2eba638c718c1db9340051baa89238b99e64cf8ef734fe448f0aaeae224e9f6b51c9e38458e9caeb2c8d6abbd5db76249529aaee90ed5c0
+DIST plette-1.0.0.gh.tar.gz 54297 BLAKE2B 7ade29df8bfc20d5c98f5f3290acea2f5e884f71b13c0950373f41240de54f3ea672d16c0557fef2e1be25aef0da68d4a7449ebea2f206d92901d7f11f6cc2bb SHA512 72a3f270f76dbf32cb418628f1b24046111a46633603b07fd44fd4ed50d946653afaec070bce8e67a1ecff3ec8607f2476d3b25760c76726218873898bef97ed
+DIST plette-2.0.2.tar.gz 12905 BLAKE2B 48d8e50b24a2b61a12f798467ed443a7a043bd6efca7cb99ce35e5e05edb44af327e3a2e5bdfde0e6db4a4be527ab668edd6433c195fe4f72975170bcb6acbed SHA512 9f273af721b29b81ef8921fa9bf42856711242cef04372c5e1c632e907d889554beeb4d85c47cc9f2003984004dfa97a239643d9307389be9a6710dec26b5b28
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/plette/plette-2.0.2.ebuild b/dev-python/plette/plette-2.0.2.ebuild
new file mode 100644
index 000000000000..52bd74861510
--- /dev/null
+++ b/dev-python/plette/plette-2.0.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Structured Pipfile and Pipfile.lock models"
+HOMEPAGE="
+ https://github.com/sarugaku/plette/
+ https://pypi.org/project/plette/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ dev-python/cerberus[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/plotly-geo/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-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-geo/plotly-geo-1.0.0.ebuild b/dev-python/plotly-geo/plotly-geo-1.0.0.ebuild
deleted file mode 100644
index 046e184a245c..000000000000
--- a/dev-python/plotly-geo/plotly-geo-1.0.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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/Manifest b/dev-python/plotly/Manifest
index d8fa0379655a..548cf839d364 100644
--- a/dev-python/plotly/Manifest
+++ b/dev-python/plotly/Manifest
@@ -1,2 +1,2 @@
-DIST plotly-5.2.2.tar.gz 7293292 BLAKE2B baef3accf8f5a3085908fcea558f8003687e18a1f97471c620c378c10d23d4222ef87dc47d64f45199b594414890db5b8ca5e3d7867c871d926c2ae441128c4a SHA512 4d6d79f7cc2063e73e7c17ff90a7d13324497ea8034d8ce62d79ec62b0530a59b2eaec8913fb05efb804cf5be8387b6f96d1710f41b9993233b5a13cf64dd310
-DIST plotly-5.8.2.tar.gz 7574127 BLAKE2B 1a9d05009148a65b2f4206165a3e02ea7e130663e9658af64bddc0df6f1b720ca29e1cf30150634403b4bdda96156899f0e2e2d12b81cfd04a4bc9812057a79d SHA512 f262cbe20fa51861a319911e04446d4aa564b878dc1aa8e750a5d03af9747ec439fda941ab63d20ecb5374417174a2bd1c4f5549af5ba0f57f135d10ae0877a0
+DIST plotly.py-5.21.0.gh.tar.gz 30912188 BLAKE2B 2c193cad821a94a58d3c72ade06f8cc752d7490290a9abd44733ca80c38fcf1af94af0d5f76b80f1542e959dd2d8fa02752cebf8aa9ea28abd1a568073683c14 SHA512 38841fae844452550004fd22126c12c19fa65dae8985e8449eb5ff5be53dcb04a20658afc13a675c6086db2c623e0902e4138cd28f3b4c9d0a9a0013c1465c13
+DIST plotly.py-5.22.0.gh.tar.gz 31113116 BLAKE2B 67c0ad0d29b9b5041d1e310336a859c11399cced422f51d9f0906f61474868858f6f62da0172bec3e48f38eb5d1f7c68b497b6014b64f8cf48ef510a41f639ee SHA512 447072a78a5914aea5546edc6c51ea36475d12fd7e4b9f845ebe8396fb531c9b7ba942b6b5f9680f897acd9e2aefb8c09d08aadf106a78531faa8995d5ac218e
diff --git a/dev-python/plotly/plotly-5.2.2.ebuild b/dev-python/plotly/plotly-5.2.2.ebuild
deleted file mode 100644
index 7320a8a0913e..000000000000
--- a/dev-python/plotly/plotly-5.2.2.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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"
-# The GitHub tarball contains the tests, but it excludes other things which have
-# to be fetched with npm and therefore it does not work in the network-sandbox.
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.15.0[${PYTHON_USEDEP}]
-"
-
-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.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/plotly/plotly-5.22.0.ebuild b/dev-python/plotly/plotly-5.22.0.ebuild
new file mode 100644
index 000000000000..b5d3d8183854
--- /dev/null
+++ b/dev-python/plotly/plotly-5.22.0.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+MY_P=plotly.py-${PV}
+DESCRIPTION="Browser-based graphing library for Python"
+HOMEPAGE="
+ https://plotly.com/python/
+ https://github.com/plotly/plotly.py/
+ https://pypi.org/project/plotly/
+"
+SRC_URI="
+ https://github.com/plotly/plotly.py/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/packages/python/plotly"
+# The tests are not included in the PyPI tarball, to use the GitHub tarball
+# we have to skip npm, which means that the resulting install will
+# unfortunately lack the jupyterlab extension.
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/jupyter[${PYTHON_USEDEP}]
+ dev-python/jupyterlab[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ <dev-python/numpy-2[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/shapely[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ dev-python/scikit-image[${PYTHON_USEDEP}]
+ )
+"
+
+# README ends up a broken symlink
+DOCS=()
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.8.0-fix-versioneer-import.patch
+)
+
+EPYTEST_IGNORE=(
+ # Needs porting to newer numpy
+ _plotly_utils/tests/validators/test_integer_validator.py
+
+ # kaleido not packaged
+ plotly/tests/test_optional/test_kaleido
+
+ # plotly-orca not packaged
+ plotly/tests/test_orca
+)
+
+EPYTEST_DESELECT=(
+ # Also needs porting to newer numpy
+ plotly/tests/test_io/test_to_from_plotly_json.py::test_object_numpy_encoding
+
+ # kaleido not packaged
+ plotly/tests/test_orca/test_to_image.py::test_bytesio
+
+ # Fails if not already installed
+ test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
+ test_init/test_lazy_imports.py::test_lazy_imports
+
+ # Minor matplotlib incompatibility
+ plotly/matplotlylib/mplexporter/tests/test_basic.py::test_path_collection
+ plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
+ plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
+
+ # In python 3.11 the produced error is slightly different
+ plotly/tests/test_core/test_errors/test_dict_path_errors.py::test_described_subscript_error_on_type_error
+
+ # TODO
+ plotly/tests/test_io/test_to_from_plotly_json.py
+
+ # two subtests that require 'vaex' and 'polars' respectively
+ plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_from_vaex_and_polars
+ plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_with_hover_data_from_vaex_and_polars
+)
+
+# There are sphinx docs but we are missing a bunch of dependencies.
+# distutils_enable_sphinx ../../../doc/apidoc
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Do not try to fetch stuff with npm
+ export SKIP_NPM=1
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ mv "${ED}"/{usr/etc,etc} || die
+}
diff --git a/dev-python/plotly/plotly-5.8.2.ebuild b/dev-python/plotly/plotly-5.8.2.ebuild
deleted file mode 100644
index e1e8c3e4f454..000000000000
--- a/dev-python/plotly/plotly-5.8.2.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_{8..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"
-
-# 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/pluggy/Manifest b/dev-python/pluggy/Manifest
index 8bceab03d73b..05385367cebd 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.5.0.tar.gz 67955 BLAKE2B c63e7605b7631adf7fe3a91dae92d2ce8172510574e0b23ded159479077f91c88948487a7a4e1da30dca7da0339cb78fbb521538e67bc2bde37986970403d48f SHA512 032d41e1f2bed56eff22463c4645516e9415ee253e0a3fe5ba83a8de5e21700baae1f6384c979d2c6f622e4216a2b745eec489bc04f52a576d423e771365cc7a
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 3be1018aeb52..000000000000
--- a/dev-python/pluggy/pluggy-1.0.0-r2.ebuild
+++ /dev/null
@@ -1,27 +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_{8..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.5.0.ebuild b/dev-python/pluggy/pluggy-1.5.0.ebuild
new file mode 100644
index 000000000000..e0d7e60a4771
--- /dev/null
+++ b/dev-python/pluggy/pluggy-1.5.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Plugin and hook calling mechanisms for Python"
+HOMEPAGE="
+ https://pluggy.readthedocs.io/
+ https://github.com/pytest-dev/pluggy/
+ https://pypi.org/project/pluggy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pluginbase/pluginbase-1.0.1-r1.ebuild b/dev-python/pluginbase/pluginbase-1.0.1-r1.ebuild
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 b0a0602f7938..000000000000
--- a/dev-python/pluginbase/pluginbase-1.0.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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 f90c5ed59283..16ece1eb9a1a 100644
--- a/dev-python/plumbum/Manifest
+++ b/dev-python/plumbum/Manifest
@@ -1 +1,2 @@
-DIST plumbum-1.7.2.tar.gz 323051 BLAKE2B a16d9210606ac67abd425fcff109d40836dc969729cc5bf78a5d224c0beabf09d56d35f17809994d758153c6e18e4af91403f7ae0111912447367be68f6592c1 SHA512 77e75988255ca78fa5c253c6d076d63f8f9250a2b153ef23e40f35315e255ea09403d854a19bb265fd658bb9e5f0f705dc7530ecacc40b4b48e33acdf50dddf9
+DIST plumbum-1.8.2.tar.gz 317675 BLAKE2B d21a105d9919f70ad480d5de7ce157f2ae6c56cd248a2b70ad037c83a5e4b56bd8bdb3d9587860db383b04dd6528828426b47895c345f8bf7dc4931310be343d SHA512 636d10ea1c727cb24d4692537f3c0005077f86c3d9d2ae244f86ef5dd9621f8b51e0b5efffaa7acf66d6ba5552fddd641d4a1796c7fd760ac0a27d029f685c20
+DIST plumbum-1.8.3.tar.gz 318895 BLAKE2B 7c3df70e5bcaf5dfd9c6898f0d2044c647f08a4eaa0eb6bcb616c9971edfc20aa7651dc70a193e06c1d1f97b155a86a6d93d14622ff40da1328b1aa0e6534e6b SHA512 e59dd98939739636c3f1541e24f3c5a4b0c9bbe54b77d378875a57f167ca1916adbca6b33c7779d37e5daebd949c9a9d77bfffc404e55d319027658b5a504088
diff --git a/dev-python/plumbum/plumbum-1.7.2-r1.ebuild b/dev-python/plumbum/plumbum-1.7.2-r1.ebuild
deleted file mode 100644
index 1e6e36a83392..000000000000
--- a/dev-python/plumbum/plumbum-1.7.2-r1.ebuild
+++ /dev/null
@@ -1,53 +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_{8..10} )
-
-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 setup.cfg || 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/plumbum/plumbum-1.8.3.ebuild b/dev-python/plumbum/plumbum-1.8.3.ebuild
new file mode 100644
index 000000000000..744229f04666
--- /dev/null
+++ b/dev-python/plumbum/plumbum-1.8.3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..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
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Need sshd running
+ tests/test_remote.py
+ tests/test_utils.py
+ # Windows specific
+ tests/test_putty.py
+ # Needs sudo without password
+ tests/test_sudo.py
+ # Wrong assumptions about env handling
+ tests/test_env.py::TestEnv::test_change_env
+ tests/test_env.py::TestEnv::test_dictlike
+ tests/test_local.py::TestLocalPath::test_iterdir
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -p pytest_mock -p timeout
+}
+
+pkg_postinst() {
+ optfeature "remote commands via ssh" dev-python/paramiko
+ optfeature "progress bars in jupyter" dev-python/ipywidgets
+ optfeature "colored output in jupyter" dev-python/ipython
+ optfeature "images on the command line" dev-python/pillow
+}
diff --git a/dev-python/ply/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 523724d24970..894dd485bd96 100644
--- a/dev-python/ply/ply-3.11-r2.ebuild
+++ b/dev-python/ply/ply-3.11-r2.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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_{8..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 61bc5e92d5be..000000000000
--- a/dev-python/plyr/plyr-1.0.6-r1.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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"
-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"
-
-RDEPEND="media-libs/glyr:="
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]"
-
-distutils_enable_sphinx docs
-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 8f28f74a64ec..26cea8b6ee3a 100644
--- a/dev-python/plyvel/Manifest
+++ b/dev-python/plyvel/Manifest
@@ -1 +1 @@
-DIST plyvel-1.4.0.tar.gz 151155 BLAKE2B 1bba3fef97518d5ec291f0ebc0ebd54511678ef16e2925a1027706c917e89bbdeb20b63bcf8d1e22f8c3ef41a88695d8d64065ac9ffb9bebdc652be0f4de4eed SHA512 6532007bb103f2b0121c41ae0a23fa67dfd2c27b1472b43265f6fb5928e4f28514744887f190fb087c8640cba2e62923a1ffe14f59a70b123dc9ad7798e329d5
+DIST plyvel-1.5.1.tar.gz 200128 BLAKE2B d9fec1af0542a93ca25247abd7e17a9f868de2878d6dcbb846cad3326057d36b52ff0b85bfd342f0ed447ebf9925584b6fb95a47b6d424bb9b24f9aa35fa30c1 SHA512 8f613197e85d085ea47e5a5d6b2bf0310f52fb51eeda6ed7f8cb559c192583f3cb25b66227876c01a08f6a355aafd5092673b7d5341b9b6e5d24546b7755d275
diff --git a/dev-python/plyvel/plyvel-1.4.0.ebuild b/dev-python/plyvel/plyvel-1.4.0.ebuild
deleted file mode 100644
index d519b1159a59..000000000000
--- a/dev-python/plyvel/plyvel-1.4.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Disable PyPy3 for now because it is not stable enough:
-# https://github.com/wbolster/plyvel/issues/140
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python interface to LevelDB"
-HOMEPAGE="https://github.com/wbolster/plyvel"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND=">=dev-libs/leveldb-1.21:="
-DEPEND="${RDEPEND}"
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
-
-python_test() {
- # With the default import mode, plyvel is imported from ${S} which causes
- # a failure because it doesn't contain the compiled _plyvel extension
- pytest --import-mode=append -vv || die "Tests fail with ${EPYTHON}"
-}
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 f308f527ed85..000000000000
--- a/dev-python/pmw/pmw-2.0.1-r3.ebuild
+++ /dev/null
@@ -1,46 +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_{8..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 ac21eab576ec..000000000000
--- a/dev-python/pocketlint/pocketlint-0.24.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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 ~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 ce01c439d500..000000000000
--- a/dev-python/pockets/pockets-0.9.1-r2.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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
new file mode 100644
index 000000000000..39add067ef57
--- /dev/null
+++ b/dev-python/pockets/pockets-0.9.1-r3.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
+
+# No tags upstream, https://github.com/RobRuana/pockets/issues/5
+COMMIT="777724c8eabaf76f6d0c5e4837c982d110509b2e"
+
+DESCRIPTION="Collection of helpful Python tools"
+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
+"
+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 -e 's/description-file/description_file/g' -i setup.cfg ||die
+ default
+}
diff --git a/dev-python/podcastparser/Manifest b/dev-python/podcastparser/Manifest
index c1657a4dee23..1b2bea5faa8b 100644
--- a/dev-python/podcastparser/Manifest
+++ b/dev-python/podcastparser/Manifest
@@ -1 +1 @@
-DIST podcastparser-0.6.8.tar.gz 29809 BLAKE2B 19eda892dcc83f5371d23147a9044bd1249c05885aa7e72edc868e05744bf691336ceb8b445dca4c51612846bc7e8c087fa0c36fa44568a4f95b0e8f3eb155cf SHA512 8c1152c6d7229faf375af5c3f02642debd081915dcb55ba706863620af6039eb710648bf970d1cd8018d43dd36ba579a456e3db0e82c7efcb6ac94a5cd23b1e8
+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 32d5a3f2eadf..000000000000
--- a/dev-python/podcastparser/podcastparser-0.6.8-r1.ebuild
+++ /dev/null
@@ -1,19 +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_{8..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/podman-py/Manifest b/dev-python/podman-py/Manifest
deleted file mode 100644
index 063dfa4a54ff..000000000000
--- a/dev-python/podman-py/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST podman-py-4.0.0.tar.gz 172208 BLAKE2B 79e153c9b8e064398f31ad270d0f84f1bcc8ba830d4240914004c5d4eb1fffa32496c5e88b8191b074b521510e2bf0b8ea211a481af8a0ba70e7b0d6c26efe10 SHA512 e1dd48c931871206aae11fbcc31a711eecda89e9c60f62d5616dc3219e073d3ba74d38f63a05d4688e97fb678d2e03f8cd883456f7e75f2d7e313aa859ca3e8f
diff --git a/dev-python/podman-py/podman-py-4.0.0.ebuild b/dev-python/podman-py/podman-py-4.0.0.ebuild
deleted file mode 100644
index e099fdce4995..000000000000
--- a/dev-python/podman-py/podman-py-4.0.0.ebuild
+++ /dev/null
@@ -1,43 +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_{8..10} )
-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}.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/toml-0.10.2[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.24.2[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/requests-mock[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- podman/tests/unit/test_volumesmanager.py::VolumesManagerTestCase::test_get_404
- )
-
- # integration tests require a workable podman server,
- # and it doesn't seem to work in ebuild env
- epytest podman/tests/unit
-}
diff --git a/dev-python/podman/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 64fbfa17da5b..43ce99e68b9f 100644
--- a/dev-python/poetry-core/Manifest
+++ b/dev-python/poetry-core/Manifest
@@ -1 +1 @@
-DIST poetry-core-1.0.8.gh.tar.gz 414941 BLAKE2B 1f663d927aee1f18a9ff38cbf95809538bf9c9e8079d040c240fbc1ffa9e492c6fd20c69f89ddf7e68ddea05beee3b909fdee02e93f47437fffa687dc492ec9a SHA512 6dfed1e1124c37a5f0ec535ede8848e25466da3df6fa6629f6330ce32f05a4d82725d64407e5bcf294d6e467b52966642505ee29f563d3794c4e7aca78045285
+DIST poetry-core-1.9.0.gh.tar.gz 371033 BLAKE2B 67e4674bcc45f6ce1737a26d8f1fd1ce6e6469d692cabe461fb2959b03ab3ca26b9e3848d9cbf533c5fd9bf7d75ac8b70a6aad0cce1930472971cc1ad530aedf SHA512 a2d63480f0df36fabe61c234377a4fa9ea0a1ddce449006162d6e49e849c92ad9c77d0a93aba7c51561bac16a77d5db00a95594bd5e2de328e1664f3f41f689b
diff --git a/dev-python/poetry-core/poetry-core-1.0.8.ebuild b/dev-python/poetry-core/poetry-core-1.0.8.ebuild
deleted file mode 100644
index e5d93f22a8f1..000000000000
--- a/dev-python/poetry-core/poetry-core-1.0.8.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( pypy3 python3_{8..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
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/lark[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
- dev-python/pyrsistent[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pep517[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Those "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 poetry/core/_vendor || die
- sed -e '/__vendor_site__/d' -i poetry/core/__init__.py || die
-
- distutils-r1_src_prepare
-}
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..d09e00f2fab6
--- /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[@]}" python3_13 )
+
+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..948b21bd7e21
--- /dev/null
+++ b/dev-python/poetry/Manifest
@@ -0,0 +1,2 @@
+DIST poetry-1.8.2.tar.gz 1516966 BLAKE2B 6ca39b426a4117d0c2c3f12b9151d621d629f746e51ca77cda8d7f67ae2493ea9ecb7dd02f69cad3f346579fc3bb16b1117c0dad0a148763bb439c35eac673a5 SHA512 0151c264c2f353753ab7c5a248cdd30e60e33505fd915d841e789a37b18cc06f28b4f987144cd3dbf915e23f6947f6b17cb8fa316b34ce866b6b3559e73b8ddc
+DIST poetry-1.8.3.tar.gz 1518910 BLAKE2B 87c06f9d72c7fbe9f821d8a1de66028d64dfb06a274d67f14d49030c0d9a21f702fc9a5c35fa3a1e75d11c8db01516182f8523e9c466398b305d908e0e02d211 SHA512 72e604e246ec8426a29151caae81bf6b0495d17af519a41a7b934f8d50496dbf77605ea3f2e03bd41fb75a0c97d274987ac0359004544ea6ea19dcc118129e05
diff --git a/dev-python/poetry/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.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/poetry/poetry-1.8.3.ebuild b/dev-python/poetry/poetry-1.8.3.ebuild
new file mode 100644
index 000000000000..8576900acfe7
--- /dev/null
+++ b/dev-python/poetry/poetry-1.8.3.ebuild
@@ -0,0 +1,94 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..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"
+
+RDEPEND="
+ >=dev-python/poetry-core-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/poetry-plugin-export-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/cachecontrol-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/cleo-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/crashtest-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/dulwich-0.21.2[${PYTHON_USEDEP}]
+ >=dev-python/fastjsonschema-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/installer-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/keyring-24.0.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pkginfo-1.10[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26[${PYTHON_USEDEP}]
+ >=dev-python/requests-toolbelt-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/shellingham-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.11.6[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2022.5.19[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.23.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/deepdiff-6.3.1[${PYTHON_USEDEP}]
+ >=dev-python/httpretty-1.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-3.1[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ # unpin
+ sed -e 's:\^:>=:' \
+ -e '/poetry-core/s:":">=:' \
+ -e 's:,<[0-9.]*::' \
+ -i pyproject.toml || die
+
+ distutils-r1_src_prepare
+}
+
+EPYTEST_DESELECT=(
+ # Tests require network (they run `pip install ...`)
+ tests/installation/test_chef.py::test_isolated_env_install_success
+ tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_directories
+ tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_git
+ tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_git_with_subdirectories
+ tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_non_wheel_files
+ tests/installation/test_installer.py::test_installer_with_pypi_repository
+ tests/installation/test_pip_installer.py::test_uninstall_git_package_nspkg_pth_cleanup
+ tests/masonry/builders/test_editable_builder.py::test_builder_setup_generation_runs_with_pip_editable
+
+ # Works with network, but otherwise: Backend 'poetry.core.masonry.api' is not available.
+ tests/installation/test_chef.py::test_prepare_sdist
+ tests/installation/test_chef.py::test_prepare_directory
+ tests/installation/test_chef.py::test_prepare_directory_with_extensions
+ tests/installation/test_chef.py::test_prepare_directory_editable
+
+ # Internal test for lockfile being up-to-date
+ # Meaningless, also sdist does not include lockfile
+ tests/installation/test_installer.py::test_not_fresh_lock
+
+ # TODO
+ tests/installation/test_executor.py::test_executor_known_hashes
+ tests/utils/env/test_env_manager.py::test_create_venv_finds_no_python_executable
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/polib/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 166a15e19c9d..000000000000
--- a/dev-python/polib/polib-1.1.1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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 ~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/pony/Manifest b/dev-python/pony/Manifest
deleted file mode 100644
index 730f6c692639..000000000000
--- a/dev-python/pony/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pony-0.7.16.gh.tar.gz 268683 BLAKE2B bee6447116f215cd586e69f29fea37ba3f9953d0a72b28acf612da2d6e1be07e424b704593e42ae1755e898580aaf4f2e61923ff81e6e58fe0cc8ec04a3b8399 SHA512 db9bb06f0e718866eb6f137d5650a2b484119c42f1ade83a7bc1c9e3c27a852ed25e451a226a80bebd050ca3217c0993e59f3b66719a3fe41a98e45349172495
diff --git a/dev-python/pony/metadata.xml b/dev-python/pony/metadata.xml
deleted file mode 100644
index 653c387bfd7d..000000000000
--- a/dev-python/pony/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>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">pony</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pony/pony-0.7.16.ebuild b/dev-python/pony/pony-0.7.16.ebuild
deleted file mode 100644
index 9740d4224f24..000000000000
--- a/dev-python/pony/pony-0.7.16.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Python ORM with beautiful query syntax"
-HOMEPAGE="
- https://ponyorm.org/
- https://github.com/ponyorm/pony/"
-SRC_URI="
- https://github.com/ponyorm/pony/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="dev-python/flask[${PYTHON_USEDEP}]"
-BDEPEND="test? ( $(python_gen_impl_dep sqlite) )"
-
-distutils_enable_tests unittest
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 6c6de3de6478..000000000000
--- a/dev-python/pooch/pooch-1.6.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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"
-RESTRICT="test"
-PROPERTIES="test_network"
-
-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}]
- )"
-
-### 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}
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 ac6ebf244cc7..000000000000
--- a/dev-python/portend/portend-3.1.0.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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..5a60c286894e
--- /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..13} 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 057d845d7086..000000000000
--- a/dev-python/poyo/poyo-0.5.0.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 a6c0d4b98a98..ddb3a58b779a 100644
--- a/dev-python/precis-i18n/Manifest
+++ b/dev-python/precis-i18n/Manifest
@@ -1 +1 @@
-DIST precis_i18n-1.0.4.tar.gz 67599 BLAKE2B db1f614b46015741b9f511b9a5df12e44b960ffb247357bf8d2e9f3a1deea9d417eed937e6c9e6a34d19a22c3e6d87bf8f2314767cd02b15cba068759588896f SHA512 f57840cffe1224d282e707f6a36ebd53b539f9acee58de7053f28ceed5356bd35627d7c205cc91dc81983925cca55138715051c0ca535ca1dcc9d26aad9a9353
+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 cea7e43875a1..000000000000
--- a/dev-python/precis-i18n/precis-i18n-1.0.4.ebuild
+++ /dev/null
@@ -1,26 +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_{8..10} )
-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.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 a9216194e4bd..47c5b2e8e5f1 100644
--- a/dev-python/pretend/pretend-1.0.9-r2.ebuild
+++ b/dev-python/pretend/pretend-1.0.9-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} 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 dc848a5bf91c..000000000000
--- a/dev-python/pretty-yaml/pretty-yaml-21.10.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 b7fdc06177a8..cac51cb568bf 100644
--- a/dev-python/prettytable/Manifest
+++ b/dev-python/prettytable/Manifest
@@ -1 +1,2 @@
-DIST prettytable-3.3.0.tar.gz 54305 BLAKE2B 4d131c16b6c6a0fd64aae1f9f54e286bf27b562888af56a6944d192a24c05d6138c3bdb8f298dcc060db7609d72b8d86ab9664bf6bcf43cd2105bdd433bae3cf SHA512 e190717e2ea89e8faddc7015fd5118e0d93ac5f5318641ce5960b22b4ea3740ff12c4d15812b33655252f258c96f9e848f554d1e678d39761c28025ba7772609
+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 ad2e242e5cea..000000000000
--- a/dev-python/prettytable/prettytable-3.3.0.ebuild
+++ /dev/null
@@ -1,33 +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_{8..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.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/metadata.xml b/dev-python/priority/metadata.xml
index d65b75c18cd3..d7497bdbcdda 100644
--- a/dev-python/priority/metadata.xml
+++ b/dev-python/priority/metadata.xml
@@ -5,6 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<maintainer>
<email>cory@lukasa.co.uk</email>
diff --git a/dev-python/priority/priority-1.3.0-r1.ebuild b/dev-python/priority/priority-1.3.0-r1.ebuild
index 7d55561bc434..aa850d60259f 100644
--- a/dev-python/priority/priority-1.3.0-r1.ebuild
+++ b/dev-python/priority/priority-1.3.0-r1.ebuild
@@ -1,12 +1,13 @@
-# 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_{8..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"
+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-1.3.0.ebuild b/dev-python/priority/priority-1.3.0.ebuild
deleted file mode 100644
index 3f3f8c48a67e..000000000000
--- a/dev-python/priority/priority-1.3.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A pure-Python implementation of the HTTP/2 priority tree"
-HOMEPAGE="https://python-hyper.org/priority/en/latest/
- 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}] )
-"
-
-PATCHES=(
- "${FILESDIR}"/priority-1.3.0-test-timeout.patch
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/priority/priority-2.0.0-r1.ebuild b/dev-python/priority/priority-2.0.0-r1.ebuild
index 959444a9f5e0..497d45d034c2 100644
--- a/dev-python/priority/priority-2.0.0-r1.ebuild
+++ b/dev-python/priority/priority-2.0.0-r1.ebuild
@@ -1,12 +1,13 @@
-# 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_{8..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 cab5a637f9f5..000000000000
--- a/dev-python/process-tests/process-tests-2.1.2-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=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 44fa67497476..cc35ceb640f4 100644
--- a/dev-python/progress/progress-1.6-r1.ebuild
+++ b/dev-python/progress/progress-1.6-r1.ebuild
@@ -1,20 +1,22 @@
-# 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_{8..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 8102840bc789..000000000000
--- a/dev-python/progressbar/progressbar-2.5.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 0d877556c2e0..b5d609fac57c 100644
--- a/dev-python/progressbar2/Manifest
+++ b/dev-python/progressbar2/Manifest
@@ -1 +1 @@
-DIST progressbar2-4.0.0.tar.gz 663046 BLAKE2B 1616f1b9c5f720f370dc9eb02ba37cf83391c853a525fca523fb33af1b580f38647b835a83558674a78dacc33bf7652cb9af8799ad13763f62d33417abaa35cf SHA512 b9b9dabb3093e42bc6f40c0e284caae2d29ebfa450db379c214a5ae39e7ccb8c690655da21a44882d0b68f24d83f55a3342671087a25ada168bce9d236685666
+DIST progressbar2-4.4.2.tar.gz 101342 BLAKE2B 67625a794bd19a4ed78be25789980038c69a6590277f085befeef805397972ff1160543814523c425218e019647f1c1641451198e2dd08a5f8eacd9e507a04af SHA512 705383badb3943d3d339854d02ee4114f0e76261373deb8f9aff00fe6aae7f37bacccbbc673c2cb36114c7f8ebbafa96a06408ce6e90c3d26a2e2c65ece86958
diff --git a/dev-python/progressbar2/progressbar2-4.0.0.ebuild b/dev-python/progressbar2/progressbar2-4.0.0.ebuild
deleted file mode 100644
index 10b80ccec1d4..000000000000
--- a/dev-python/progressbar2/progressbar2-4.0.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} 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 569c7f284937..000000000000
--- a/dev-python/prometheus_client/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST prometheus_client-0.14.1.gh.tar.gz 76321 BLAKE2B fd924e80d32df9fceb8898530893148f3f1131a13e97a3bac56540ba2fe3846c5498bb78d3cdcb312827dd8a8db2624e831880c5c1f348da0522db96dd0ef29e SHA512 882e7193cb344d154df8a7b7fbdfb5c635363c1aea8bde1ea174a7614bc868fe337399db7a1fb90a94128d7bdfedbc741f5f6c44d514d1ca9ab684c7527e7317
diff --git a/dev-python/prometheus_client/prometheus_client-0.14.1.ebuild b/dev-python/prometheus_client/prometheus_client-0.14.1.ebuild
deleted file mode 100644
index 60739a3214ee..000000000000
--- a/dev-python/prometheus_client/prometheus_client-0.14.1.ebuild
+++ /dev/null
@@ -1,30 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python client for the Prometheus monitoring system"
-HOMEPAGE="
- https://pypi.org/project/prometheus-client/
- https://github.com/prometheus/client_python/
-"
-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 ~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 4654e0915ed5..000000000000
--- a/dev-python/prompt_toolkit/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST prompt_toolkit-3.0.30.tar.gz 418985 BLAKE2B 2edc5024e22ccf60ab68afef9958eead5711b88f4f2abfde387e626893778eda5203f855a5590776b25efb3fccea87012d01e39551d192861841dab188d149e8 SHA512 cb0b9d71b09c353f2674052d75ec16a1803e0868ff5dd5625eefae767d45699b1b6bb99e4d98d3bca7ced7b60f52806ec10ed7ccab8a830c62d51baeeace23f7
diff --git a/dev-python/prompt_toolkit/prompt_toolkit-3.0.30.ebuild b/dev-python/prompt_toolkit/prompt_toolkit-3.0.30.ebuild
deleted file mode 100644
index f2629af78381..000000000000
--- a/dev-python/prompt_toolkit/prompt_toolkit-3.0.30.ebuild
+++ /dev/null
@@ -1,26 +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_{8..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 ~m68k 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 0139b7e9c2d3..1fa299928dee 100644
--- a/dev-python/proto-plus/Manifest
+++ b/dev-python/proto-plus/Manifest
@@ -1 +1 @@
-DIST proto-plus-1.20.6.gh.tar.gz 67697 BLAKE2B 88fbf1086bc9430360316c89baaf6216d3f395792fbc2bf1336c22aeb4f912dedd5a4af73c5a10cf6536cdc4cf285c89d1d0a86afd4ee21c7e40b26d34631240 SHA512 5da41a8ddabb34a4083b622d60e59532cd7cb97e4fd243b796aded06ee0f6d9ba5ac847434aa8141b90cb3481d45fbc703de2f905ff4f4676a5d86d77a01c44c
+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.20.6.ebuild b/dev-python/proto-plus/proto-plus-1.20.6.ebuild
deleted file mode 100644
index ed6addeaf3ed..000000000000
--- a/dev-python/proto-plus/proto-plus-1.20.6.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 445bb0b6652e..8695f23be04a 100644
--- a/dev-python/protobuf-python/Manifest
+++ b/dev-python/protobuf-python/Manifest
@@ -1 +1,4 @@
-DIST protobuf-3.19.3.tar.gz 5293258 BLAKE2B c05b70ffca97f7166ea6a511a36907eed125edf1ebf17f908718221d9b851be84dfb2b1b39973f2faf35f6ade630e6ba4f9e8b91b8fbc922c5db97079323ee6e SHA512 1c003e7cbc8eae6a038f46e688b401ee202ba47f502561e909df79770f6e8b7daf3dc1ccc727e31bfb5b52cd04cb4fef7d2d2a28d650c13f396872ad4aa076c6
+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-3.19.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch b/dev-python/protobuf-python/files/protobuf-python-3.19.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch
deleted file mode 100644
index a9e23feea148..000000000000
--- a/dev-python/protobuf-python/files/protobuf-python-3.19.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 387c9e58987c54b72e66c14b34c98297086cd812 Mon Sep 17 00:00:00 2001
-From: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
-Date: Fri, 28 Jan 2022 15:32:43 +0800
-Subject: [PATCH] protobuf-python-3.19.0:
- google.protobuf.pyext._message.PyUnknownFieldRef
-
-Prevent integer overflow for unknown fields.
-
-https://github.com/protocolbuffers/protobuf/issues/6205
-https://github.com/protocolbuffers/protobuf/pull/7016
-https://github.com/protocolbuffers/protobuf/commit/5100be2b7746391c2724e2793e1428c36b63c98b
-
-Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
-Signed-off-by: Yixun Lan <dlan@gentoo.org>
----
- python/google/protobuf/pyext/unknown_fields.cc | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/python/google/protobuf/pyext/unknown_fields.cc b/python/google/protobuf/pyext/unknown_fields.cc
-index 6d919b3..37e6eae 100644
---- a/python/google/protobuf/pyext/unknown_fields.cc
-+++ b/python/google/protobuf/pyext/unknown_fields.cc
-@@ -275,13 +275,13 @@ static PyObject* GetData(PyUnknownFieldRef* self, void *closure) {
- PyObject* data = NULL;
- switch (field->type()) {
- case UnknownField::TYPE_VARINT:
-- data = PyLong_FromLong(field->varint());
-+ data = PyLong_FromUnsignedLongLong(field->varint());
- break;
- case UnknownField::TYPE_FIXED32:
-- data = PyLong_FromLong(field->fixed32());
-+ data = PyLong_FromUnsignedLong(field->fixed32());
- break;
- case UnknownField::TYPE_FIXED64:
-- data = PyLong_FromLong(field->fixed64());
-+ data = PyLong_FromUnsignedLongLong(field->fixed64());
- break;
- case UnknownField::TYPE_LENGTH_DELIMITED:
- data = PyBytes_FromStringAndSize(field->length_delimited().data(),
---
-2.34.1
-
diff --git a/dev-python/protobuf-python/files/protobuf-python-3.20.3-python311.patch b/dev-python/protobuf-python/files/protobuf-python-3.20.3-python311.patch
new file mode 100644
index 000000000000..b9aca40776c5
--- /dev/null
+++ b/dev-python/protobuf-python/files/protobuf-python-3.20.3-python311.patch
@@ -0,0 +1,132 @@
+https://github.com/protocolbuffers/protobuf/commit/2206b63c4649cf2e8a06b66c9191c8ef862ca519
+https://github.com/protocolbuffers/protobuf/pull/10403
+https://github.com/protocolbuffers/protobuf/issues/10305
+https://bugs.gentoo.org/844184
+
+From da973aff2adab60a9e516d3202c111dbdde1a50f Mon Sep 17 00:00:00 2001
+From: Alexander Shadchin <alexandr.shadchin@gmail.com>
+Date: Sun, 14 Aug 2022 21:13:49 +0300
+Subject: [PATCH] Fix build with Python 3.11
+
+The PyFrameObject structure members have been removed from the public C API.
+--- a/google/protobuf/pyext/descriptor.cc
++++ b/google/protobuf/pyext/descriptor.cc
+@@ -58,6 +58,37 @@
+ : 0) \
+ : PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
+
++#if PY_VERSION_HEX < 0x030900B1 && !defined(PYPY_VERSION)
++static PyCodeObject* PyFrame_GetCode(PyFrameObject *frame)
++{
++ Py_INCREF(frame->f_code);
++ return frame->f_code;
++}
++
++static PyFrameObject* PyFrame_GetBack(PyFrameObject *frame)
++{
++ Py_XINCREF(frame->f_back);
++ return frame->f_back;
++}
++#endif
++
++#if PY_VERSION_HEX < 0x030B00A7 && !defined(PYPY_VERSION)
++static PyObject* PyFrame_GetLocals(PyFrameObject *frame)
++{
++ if (PyFrame_FastToLocalsWithError(frame) < 0) {
++ return NULL;
++ }
++ Py_INCREF(frame->f_locals);
++ return frame->f_locals;
++}
++
++static PyObject* PyFrame_GetGlobals(PyFrameObject *frame)
++{
++ Py_INCREF(frame->f_globals);
++ return frame->f_globals;
++}
++#endif
++
+ namespace google {
+ namespace protobuf {
+ namespace python {
+@@ -96,48 +127,66 @@ bool _CalledFromGeneratedFile(int stacklevel) {
+ // This check is not critical and is somewhat difficult to implement correctly
+ // in PyPy.
+ PyFrameObject* frame = PyEval_GetFrame();
++ PyCodeObject* frame_code = nullptr;
++ PyObject* frame_globals = nullptr;
++ PyObject* frame_locals = nullptr;
++ bool result = false;
++
+ if (frame == nullptr) {
+- return false;
++ goto exit;
+ }
++ Py_INCREF(frame);
+ while (stacklevel-- > 0) {
+- frame = frame->f_back;
++ PyFrameObject* next_frame = PyFrame_GetBack(frame);
++ Py_DECREF(frame);
++ frame = next_frame;
+ if (frame == nullptr) {
+- return false;
++ goto exit;
+ }
+ }
+
+- if (frame->f_code->co_filename == nullptr) {
+- return false;
++ frame_code = PyFrame_GetCode(frame);
++ if (frame_code->co_filename == nullptr) {
++ goto exit;
+ }
+ char* filename;
+ Py_ssize_t filename_size;
+- if (PyString_AsStringAndSize(frame->f_code->co_filename,
++ if (PyString_AsStringAndSize(frame_code->co_filename,
+ &filename, &filename_size) < 0) {
+ // filename is not a string.
+ PyErr_Clear();
+- return false;
++ goto exit;
+ }
+ if ((filename_size < 3) ||
+ (strcmp(&filename[filename_size - 3], ".py") != 0)) {
+ // Cython's stack does not have .py file name and is not at global module
+ // scope.
+- return true;
++ result = true;
++ goto exit;
+ }
+ if (filename_size < 7) {
+ // filename is too short.
+- return false;
++ goto exit;
+ }
+ if (strcmp(&filename[filename_size - 7], "_pb2.py") != 0) {
+ // Filename is not ending with _pb2.
+- return false;
++ goto exit;
+ }
+
+- if (frame->f_globals != frame->f_locals) {
++ frame_globals = PyFrame_GetGlobals(frame);
++ frame_locals = PyFrame_GetLocals(frame);
++ if (frame_globals != frame_locals) {
+ // Not at global module scope
+- return false;
++ goto exit;
+ }
+ #endif
+- return true;
++ result = true;
++exit:
++ Py_XDECREF(frame_globals);
++ Py_XDECREF(frame_locals);
++ Py_XDECREF(frame_code);
++ Py_XDECREF(frame);
++ return result;
+ }
+
+ // If the calling code is not a _pb2.py file, raise AttributeError.
+
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/metadata.xml b/dev-python/protobuf-python/metadata.xml
index 7fc9e27ef82d..a3f1bad10813 100644
--- a/dev-python/protobuf-python/metadata.xml
+++ b/dev-python/protobuf-python/metadata.xml
@@ -14,5 +14,6 @@
</slots>
<upstream>
<remote-id type="github">protocolbuffers/protobuf</remote-id>
+ <remote-id type="pypi">protobuf</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/protobuf-python/protobuf-python-3.19.3-r2.ebuild b/dev-python/protobuf-python/protobuf-python-3.19.3-r2.ebuild
deleted file mode 100644
index 4fb279abd7d0..000000000000
--- a/dev-python/protobuf-python/protobuf-python-3.19.3-r2.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://developers.google.com/protocol-buffers/
- https://github.com/protocolbuffers/protobuf/
-"
-if [[ "${PV}" != "9999" ]]; then
- SRC_URI="
- https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz
- -> protobuf-${PV}.tar.gz
- "
-fi
-S="${WORKDIR}/protobuf-${PV}/python"
-
-LICENSE="BSD"
-SLOT="0/30"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-BDEPEND="
- ${PYTHON_DEPS}
- ~dev-libs/protobuf-${PV}
- dev-python/six[${PYTHON_USEDEP}]
-"
-DEPEND="
- ${PYTHON_DEPS}
- ~dev-libs/protobuf-${PV}
-"
-RDEPEND="
- ${BDEPEND}
- !dev-python/namespace-google
-"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_CHECKOUT_DIR="${WORKDIR}/protobuf-${PV}"
-fi
-
-distutils_enable_tests setup.py
-
-python_prepare_all() {
- pushd "${WORKDIR}/protobuf-${PV}" > /dev/null || die
- eapply "${FILESDIR}/${PN}-3.19.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch"
- eapply_user
- popd > /dev/null || die
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- DISTUTILS_ARGS=(--cpp_implementation)
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- find "${ED}" -name "*.pth" -type f -delete || die
-}
diff --git a/dev-python/protobuf-python/protobuf-python-3.19.3-r3.ebuild b/dev-python/protobuf-python/protobuf-python-3.19.3-r3.ebuild
deleted file mode 100644
index 3976006190c8..000000000000
--- a/dev-python/protobuf-python/protobuf-python-3.19.3-r3.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://developers.google.com/protocol-buffers/
- https://github.com/protocolbuffers/protobuf/
- https://pypi.org/project/protobuf/
-"
-if [[ "${PV}" != "9999" ]]; then
- SRC_URI="
- https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz
- -> protobuf-${PV}.tar.gz
- "
-fi
-S="${WORKDIR}/protobuf-${PV}/python"
-
-LICENSE="BSD"
-SLOT="0/30"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-BDEPEND="
- ${PYTHON_DEPS}
- ~dev-libs/protobuf-${PV}
- dev-python/six[${PYTHON_USEDEP}]
-"
-DEPEND="
- ${PYTHON_DEPS}
- ~dev-libs/protobuf-${PV}
-"
-RDEPEND="
- ${BDEPEND}
- !dev-python/namespace-google
-"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_CHECKOUT_DIR="${WORKDIR}/protobuf-${PV}"
-fi
-
-distutils_enable_tests setup.py
-
-python_prepare_all() {
- pushd "${WORKDIR}/protobuf-${PV}" > /dev/null || die
- eapply "${FILESDIR}/${PN}-3.19.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch"
- 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.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
new file mode 100644
index 000000000000..76cb2702273c
--- /dev/null
+++ b/dev-python/protobuf-python/protobuf-python-4.21.9.ebuild
@@ -0,0 +1,84 @@
+# 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 ~hppa ~ia64 ~loong ~mips ppc 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/32"
+
+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=(
+ "${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
+
+ # py3.12
+ sed -i -e 's:assertRaisesRegexp:assertRaisesRegex:' \
+ google/protobuf/internal/json_format_test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ DISTUTILS_ARGS=( --cpp_implementation )
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}/install" -name "*.pth" -type f -delete || die
+}
diff --git a/dev-python/protobuf-python/protobuf-python-4.22.5.ebuild b/dev-python/protobuf-python/protobuf-python-4.22.5.ebuild
new file mode 100644
index 000000000000..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 3541dfec56fd..c8a33b8666b2 100644
--- a/dev-python/protobuf-python/protobuf-python-9999.ebuild
+++ b/dev-python/protobuf-python/protobuf-python-9999.ebuild
@@ -1,60 +1,68 @@
-# Copyright 2008-2022 Gentoo Authors
+# 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_{8..10} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
-if [[ "${PV}" == "9999" ]]; then
+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"
+ 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://github.com/protocolbuffers/protobuf/
https://pypi.org/project/protobuf/
"
-if [[ "${PV}" != "9999" ]]; then
- SRC_URI="
- https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz
- -> protobuf-${PV}.tar.gz
- "
-fi
-S="${WORKDIR}/protobuf-${PV}/python"
LICENSE="BSD"
-SLOT="0/30"
-KEYWORDS=""
+SLOT="0/23.3.0"
+
+S="${WORKDIR}/${PARENT_P}/python"
BDEPEND="
- ${PYTHON_DEPS}
- ~dev-libs/protobuf-${PV}
- dev-python/six[${PYTHON_USEDEP}]
"
DEPEND="
${PYTHON_DEPS}
- ~dev-libs/protobuf-${PV}
"
RDEPEND="
${BDEPEND}
- !dev-python/namespace-google
+ dev-libs/protobuf:${SLOT}
"
-if [[ "${PV}" == "9999" ]]; then
- EGIT_CHECKOUT_DIR="${WORKDIR}/protobuf-${PV}"
-fi
-
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}/protobuf-${PV}" > /dev/null || die
+ pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die
+ [[ -n "${PARENT_PATCHES[@]}" ]] && eapply "${PARENT_PATCHES[@]}"
eapply_user
popd > /dev/null || die
@@ -62,7 +70,7 @@ python_prepare_all() {
}
src_configure() {
- DISTUTILS_ARGS=(--cpp_implementation)
+ DISTUTILS_ARGS=( --cpp_implementation )
}
python_compile() {
diff --git a/dev-python/prov/Manifest b/dev-python/prov/Manifest
deleted file mode 100644
index afbcb160818c..000000000000
--- a/dev-python/prov/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST prov-2.0.0.tar.gz 131878 BLAKE2B 65f14ad3a7dc6e10d03b0d778be02d3a3a7e4cae7b8aedf54117446eefe51546fb30e9ca602b2d5780fab8abde4ed1d56ed7385815db64a7879623a481b050be SHA512 6d05c88855f23d5dc22b0eccce0af935c0ad3d227b7a257ff205ad8566ed9607f614c13427ac8dd922e79bd477ca125b9d3f9492f5f65ae55ab8e8f3b9b97307
diff --git a/dev-python/prov/metadata.xml b/dev-python/prov/metadata.xml
deleted file mode 100644
index 645e3c0f0d7f..000000000000
--- a/dev-python/prov/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" proxied="yes">
- <email>gentoo@chymera.eu</email>
- <name>Horea Christian</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <longdescription lang="en">
- A library for W3C Provenance Data Model supporting PROV-O
- (RDF), PROV-XML, PROV-JSON import/export Interface to
- Graphviz’s Dot language.
- </longdescription>
- <upstream>
- <remote-id type="pypi">prov</remote-id>
- <remote-id type="github">trungdong/prov</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/prov/prov-2.0.0.ebuild b/dev-python/prov/prov-2.0.0.ebuild
deleted file mode 100644
index 735e747bd65c..000000000000
--- a/dev-python/prov/prov-2.0.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-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"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/pydot[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- >=dev-python/networkx-1.10[${PYTHON_USEDEP}]
- dev-python/rdflib[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests setup.py
-
-src_prepare() {
- sed -e 's/test_json_to_ttl_match/_&/' -i src/prov/tests/test_rdf.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pslab-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 a5314c5da29a..000000000000
--- a/dev-python/pslab-python/pslab-python-2.5.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 fef27f7b5aff..d9b502ad1d8e 100644
--- a/dev-python/psutil/Manifest
+++ b/dev-python/psutil/Manifest
@@ -1,2 +1,2 @@
-DIST psutil-5.9.1-tests-r2.patch.xz 3516 BLAKE2B 6a16d6f89fdeb06c7aa0d9d986eba84deae5f8d2bb829c2509744f954f9b274d8a70a00f94127f1880cea71f8d7e7b85097517f8516ee6ef14f17522ee9297b2 SHA512 b69efb32cd0229056ff9fbbde963f0f01f6bf1d0820f028527f464e38a9bd4211a55bd725cc8962a20608c12c28edb24b2063f5f58b53fdb6b001fe2f95da103
-DIST psutil-5.9.1.tar.gz 479090 BLAKE2B 88f35a9134d942fa56b5fbc79753e82245c3bfdb1f640dbf3b56815b89d872517f9ee3a3945532ebd1a399c3307e160ac80394766c3b2cc7e3fb36ffdd555eef SHA512 1ddb119a10243d17d808417817ec8659d22447f12a4bbc0366c13f6587a4b0b59f4e74f6ac5d1e1a908bb5fd287be630466d32beabcb5008f6a19c24a1557c27
+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.1.ebuild b/dev-python/psutil/psutil-5.9.1.ebuild
deleted file mode 100644
index f47166770945..000000000000
--- a/dev-python/psutil/psutil-5.9.1.ebuild
+++ /dev/null
@@ -1,44 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-TEST_PATCH=psutil-5.9.1-tests-r2.patch
-DESCRIPTION="Retrieve information on running processes and system utilization"
-HOMEPAGE="https://github.com/giampaolo/psutil https://pypi.org/project/psutil/"
-SRC_URI="
- 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..3bf4f4aefea9
--- /dev/null
+++ b/dev-python/psutil/psutil-5.9.8.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+TEST_PATCH=psutil-5.9.8-tests.patch
+DESCRIPTION="Retrieve information on running processes and system utilization"
+HOMEPAGE="
+ https://github.com/giampaolo/psutil/
+ https://pypi.org/project/psutil/
+"
+SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/${TEST_PATCH}.xz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${WORKDIR}/${TEST_PATCH}"
+)
+
+python_test() {
+ # Since we are running in an environment a bit similar to CI,
+ # let's skip the tests that are disabled for CI
+ local -x TRAVIS=1
+ local -x APPVEYOR=1
+ local -x GITHUB_ACTIONS=1
+ local -x GENTOO_TESTING=1
+ "${EPYTHON}" psutil/tests/runner.py ||
+ die "tests failed with ${EPYTHON}"
+}
+
+python_compile() {
+ # Force -j1 to avoid .o linking race conditions
+ local MAKEOPTS=-j1
+ distutils-r1_python_compile
+}
diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest
index e6d4340a4c28..dc92e609ee66 100644
--- a/dev-python/psycopg/Manifest
+++ b/dev-python/psycopg/Manifest
@@ -1,3 +1,3 @@
-DIST psycopg-3.0.15.gh.tar.gz 384815 BLAKE2B feed19f8482767de12a549530b8fbef5cd374636f1b1e84b2746f23379760bf3b75fbbaed64b8d45d120b84a1e56b4ce6fe26bf29fb13e6fd20eb39e4aebad9a SHA512 65c0e081821ca580f56495073ca69fa38e98888ff3531dc55faacec647cfeafcc74767c53a7d3edbeea1e5bbc557ba08fbc089be8b6bc73963cbb459b029e313
-DIST psycopg-3.0.16.gh.tar.gz 386693 BLAKE2B c6c0bd9832e65180e7de76b04ef7c81f4c2d0981894d090b933ce0efaaafdf6b62d1d71a4c70c7c9b848b67e576a71953116925f9e991a4ed99b53067e24cbba SHA512 655e01bb00972dacae590f2e8ce5948226acb827b55099e7f362fdee9210f07b755f4da10d2fadd468aa95eaa3f72e7658a1ab26870d4ac159ee266ce1f8140c
-DIST psycopg2-2.9.3.tar.gz 380611 BLAKE2B 78099da7378dcfa8b7f28aae4d533a7e890cdb7ae4c0cc718a9411e630fd07b56f074760fc29de8fe08fe727328cca39414a5f297fb92ed2f7471a24e633d18d SHA512 048184d1d162a371fc0fba711448a6fa8a6aac193421f4484c7f7b91c39065d5b632fa34fc15a901eca055d597302b1f9e38330b248ed0e4653dcdc544b0d660
+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/metadata.xml b/dev-python/psycopg/metadata.xml
index 5a372b79afcf..4c34b048b797 100644
--- a/dev-python/psycopg/metadata.xml
+++ b/dev-python/psycopg/metadata.xml
@@ -6,6 +6,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">psycopg/psycopg</remote-id>
<remote-id type="pypi">psycopg</remote-id>
<remote-id type="pypi">psycopg2</remote-id>
</upstream>
diff --git a/dev-python/psycopg/psycopg-2.9.3.ebuild b/dev-python/psycopg/psycopg-2.9.3.ebuild
deleted file mode 100644
index 1f51cddf6b8b..000000000000
--- a/dev-python/psycopg/psycopg-2.9.3.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-MY_PN="${PN}2"
-MY_P="${MY_PN}-${PV}"
-
-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"
-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-2.9.4.ebuild b/dev-python/psycopg/psycopg-2.9.4.ebuild
new file mode 100644
index 000000000000..98afb8486b53
--- /dev/null
+++ b/dev-python/psycopg/psycopg-2.9.4.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
+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/"
+
+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-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.0.15.ebuild b/dev-python/psycopg/psycopg-3.0.15.ebuild
deleted file mode 100644
index a3964c006ce6..000000000000
--- a/dev-python/psycopg/psycopg-3.0.15.ebuild
+++ /dev/null
@@ -1,73 +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_{8..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-3.10[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-BDEPEND="
- test? (
- >=dev-db/postgresql-8.1[server]
- dev-python/pytest-asyncio[${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
- # 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.0.16.ebuild b/dev-python/psycopg/psycopg-3.0.16.ebuild
deleted file mode 100644
index 1b13ee04516b..000000000000
--- a/dev-python/psycopg/psycopg-3.0.16.ebuild
+++ /dev/null
@@ -1,73 +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_{8..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-3.10[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-BDEPEND="
- test? (
- >=dev-db/postgresql-8.1[server]
- dev-python/pytest-asyncio[${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
- # 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.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/ptyprocess/ptyprocess-0.7.0-r1.ebuild b/dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild
index f0a1eeba2068..d3178656cfc1 100644
--- a/dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild
+++ b/dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild
@@ -1,19 +1,28 @@
-# Copyright 1999-2022 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_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} 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
+distutils_enable_tests unittest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # https://github.com/pexpect/ptyprocess/pull/75
+ sed -i -e '/makeSuite/d' tests/test_invalid_binary.py || die
+}
diff --git a/dev-python/publicsuffix/publicsuffix-2.20191221-r2.ebuild b/dev-python/publicsuffix/publicsuffix-2.20191221-r2.ebuild
index 8cad00faec6d..7131666153e2 100644
--- a/dev-python/publicsuffix/publicsuffix-2.20191221-r2.ebuild
+++ b/dev-python/publicsuffix/publicsuffix-2.20191221-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2022 Gentoo Authors
+# 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_{8..10} )
+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 3698c1428533..b4b02f3563f5 100644
--- a/dev-python/pudb/Manifest
+++ b/dev-python/pudb/Manifest
@@ -1,2 +1 @@
-DIST pudb-2022.1.1.tar.gz 218514 BLAKE2B 860e7a176d48a3a5424f86ec6dfabea70173b7e73ff3bc512e17c00ac3d7ff7e4f0a3b021e5ce1f38546643d035f4c567003b9808982e0fc4e49428cb08ae7b6 SHA512 0d098b2dac3442913ecf0827ed272dd57d6d03d44d6c67c6ddb8ef61bfc06f153e17aad60e5a0c17a490a675aba610b768289acf13ce9bc2603791b3c4012e4b
-DIST pudb-2022.1.2.tar.gz 219735 BLAKE2B fc2007b2be3a362d1198230815fd1642557c455ee0501e75784402ab88252e34806af1dbec20bc18f743b04b7133bde8466f48583d306002b341f3dececa62ab SHA512 73b9259a2ade953389d13b4e7df7179c54244700ffb1475e2fc5e3bb4a73259afa7b2b09a316aacbe47476fb6da3cf5b952cb082de51d6a953cd96a1eaf9cc4f
+DIST pudb-2024.1.tar.gz 226023 BLAKE2B ea1c2653c526d53f16362a074cb77a1c076d5311fda99517220f179d4431bec615b0fdd37eeb282c3f89e3b5ff43dd5b0c4950d0e23b06bc9caec98cea0c9658 SHA512 1e07e21a12fe8d970079faf54a26fbe5c9b71552fa8e246f9606a91384304170b8c292788c282363a486cfc5775cad23346f54b89e4a9d2d7b113abf550b0200
diff --git a/dev-python/pudb/metadata.xml b/dev-python/pudb/metadata.xml
index b4ac2b7f8b08..e18ea117d7bc 100644
--- a/dev-python/pudb/metadata.xml
+++ b/dev-python/pudb/metadata.xml
@@ -11,5 +11,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">pudb</remote-id>
+ <remote-id type="github">inducer/pudb</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pudb/pudb-2022.1.1.ebuild b/dev-python/pudb/pudb-2022.1.1.ebuild
deleted file mode 100644
index f321e07c4f40..000000000000
--- a/dev-python/pudb/pudb-2022.1.1.ebuild
+++ /dev/null
@@ -1,30 +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_{8..10} )
-
-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-2022.1.2.ebuild b/dev-python/pudb/pudb-2022.1.2.ebuild
deleted file mode 100644
index f321e07c4f40..000000000000
--- a/dev-python/pudb/pudb-2022.1.2.ebuild
+++ /dev/null
@@ -1,30 +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_{8..10} )
-
-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..fb2b24db043b
--- /dev/null
+++ b/dev-python/pulsectl-asyncio/Manifest
@@ -0,0 +1 @@
+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.2.0.ebuild b/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.2.0.ebuild
new file mode 100644
index 000000000000..8a6aac159959
--- /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..272844960854 100644
--- a/dev-python/pulsectl/Manifest
+++ b/dev-python/pulsectl/Manifest
@@ -1 +1 @@
-DIST pulsectl-22.3.2.tar.gz 40901 BLAKE2B 5b3eb752865e95cfbb70a7228409fea70b4c55c7297d652b4614df7ea4764dcb446f7a3e25bb89f6a55badbf6b300381c7c28c56f0a47e7faf1e63003f39d02c SHA512 7fc11c792a9e586d191a32831e0ef8896c40da1fdeddfd4467d7ec352e5e0ef0c910d7a2e8e82e1a381b16afefa17c9c9db4821be74d4694c934337b2a862f0c
+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 1ac5a8b3118f..000000000000
--- a/dev-python/pulsectl/pulsectl-22.3.2.ebuild
+++ /dev/null
@@ -1,21 +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_{8..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-24.4.0.ebuild b/dev-python/pulsectl/pulsectl-24.4.0.ebuild
new file mode 100644
index 000000000000..4d406fdcb911
--- /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 c8a195b5e58e..000000000000
--- a/dev-python/pure_eval/pure_eval-0.2.2.ebuild
+++ /dev/null
@@ -1,20 +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_{8..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 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..97fd98d9a880 100644
--- a/dev-python/puremagic/Manifest
+++ b/dev-python/puremagic/Manifest
@@ -1 +1,3 @@
-DIST puremagic-1.14.gh.tar.gz 295823 BLAKE2B b505f34d6744a0c9aa3a0c43846c150c9e1101884a825507b0941da84b181c1ed620dcf5457a5e60ec1fa5c93203d755297c4e3b37d311537dc6a248daf3031e SHA512 00d008f70849179a67a1794740cb34bd28386036e54a9c3f54aefb24c7fb6adccb624e0546ca86863e913c7178b6590473c3ce4fda906e9fd9306be483de28ec
+DIST puremagic-1.21.gh.tar.gz 296990 BLAKE2B 78709c296ee8599009f07f8fadfaa60957895d1a45d3fd5f12605a54901e2f0ab878abdb4dc121a77d2c4da922b2f5a173d13ef660a2265298716a26da28f293 SHA512 cc2c76a2ddcfacdfce778e565b07692dcd247723aa85c562ba4d8c70992f79a8f13a7bc33f1468ee37298c266d35d76febe2e6164fdc145077d68b05cfa2e1c4
+DIST puremagic-1.22.gh.tar.gz 304145 BLAKE2B 8165ae8527462223255a04c84c3e9f15b76298a8e8ad1f38ae3f92c6e359d514efa543cb290d45d37c2d5aa44a6e082e626cf0ed570c40c905f570b8569f43bf SHA512 d447861e9f7a15f307fdf0ee1e34c5f03304dabb783ba4bfdbfa304fdfa0071b9f51ee9b0a3835417057b9fe4143cf5277a0be451024dc253a88bb94b05b9a99
+DIST puremagic-1.23.gh.tar.gz 306804 BLAKE2B b9da78fc20ee77dac85065f85a8770273ece5f97c372c42e274d272c3c389cca2ed1433774f96d1b55dff01ff542c63ad5093befa5c3530b052de32ffa142a77 SHA512 9bdb6ae0158ecf5d87e82de112ce9d988ac2b4a29d06dd06cba9c4675fe11d270c7cab611f8cb8ffb5ccd622be66fe43b441f203d27e9c4c9feb55bb81036fce
diff --git a/dev-python/puremagic/puremagic-1.14.ebuild b/dev-python/puremagic/puremagic-1.14.ebuild
deleted file mode 100644
index 2bc8f069feaf..000000000000
--- a/dev-python/puremagic/puremagic-1.14.ebuild
+++ /dev/null
@@ -1,27 +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_{8..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/puremagic/puremagic-1.22.ebuild b/dev-python/puremagic/puremagic-1.22.ebuild
new file mode 100644
index 000000000000..e9212eebd43c
--- /dev/null
+++ b/dev-python/puremagic/puremagic-1.22.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/puremagic/puremagic-1.23.ebuild b/dev-python/puremagic/puremagic-1.23.ebuild
new file mode 100644
index 000000000000..e9212eebd43c
--- /dev/null
+++ b/dev-python/puremagic/puremagic-1.23.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 ab98843f51a2..000000000000
--- a/dev-python/pushbullet-py/pushbullet-py-0.12.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{7..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/pweave/Manifest b/dev-python/pweave/Manifest
deleted file mode 100644
index e1cfb95c903a..000000000000
--- a/dev-python/pweave/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pweave-0.30.3.tar.gz 2173323 BLAKE2B 13aaa70d424026e58648ee949d8046d1f9fdf6e402df018b120dbb235c7b7a29846cb341aba1642c97be5a8ebafeea33a71be177f92498db186e8044624eebb8 SHA512 d2ffc2a6921837eff471041cc13789ac370d9e00c8a66f451ae53859c110c838e360b4bfd820aa33656fdf509cda8dc24a1d2c1bfcb44ae99de751726c33b3ae
diff --git a/dev-python/pweave/files/pweave-0.30.3-docs.patch b/dev-python/pweave/files/pweave-0.30.3-docs.patch
deleted file mode 100644
index 11021bd86522..000000000000
--- a/dev-python/pweave/files/pweave-0.30.3-docs.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/doc/source/conf.py b/doc/source/conf.py
-index 2529bca..1066a51 100644
---- a/doc/source/conf.py
-+++ b/doc/source/conf.py
-@@ -1,6 +1,6 @@
- import sys, os
-
--extensions = ['sphinx.ext.todo', 'sphinx.ext.pngmath', 'sphinx.ext.autodoc', 'sphinx.ext.viewcode']
-+extensions = ['sphinx.ext.todo', 'sphinx.ext.autodoc', 'sphinx.ext.viewcode']
-
- templates_path = ['_templates']
-
diff --git a/dev-python/pweave/files/pweave-0.30.3-rm-online-tests.patch b/dev-python/pweave/files/pweave-0.30.3-rm-online-tests.patch
deleted file mode 100644
index 3c5f1a227bec..000000000000
--- a/dev-python/pweave/files/pweave-0.30.3-rm-online-tests.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-diff --git a/tests/test_formatters.py b/tests/test_formatters.py
-deleted file mode 100644
-index 90cb45b..0000000
---- a/tests/test_formatters.py
-+++ /dev/null
-@@ -1,58 +0,0 @@
--import unittest
--import pweave
--import pickle
--import os
--
--class FormatterTest(unittest.TestCase):
-- """Test formatters"""
--
--
-- def setUp(self):
-- self.doc = pweave.Pweb("tests/formats/formatters_test.pmd")
-- self.doc.run()
-- #pickle.dump(self.doc.executed, open("tests/formats/formatters_test.pkl", "wb"))
-- with open("tests/formats/formatters_test.pkl", "rb") as f:
-- e = pickle.load(f)
-- self.doc.executed = e
-- self.out_base = "tests/formats/formatters_test.%s"
-- self.ref_base = "tests/formats/formatters_test_REF.%s"
--
-- def testFormatters(self):
-- formats = sorted(list(pweave.formatters.PwebFormats.formats.keys()))
-- for format in formats:
-- if "pandoc2latex" in format or "2html" in format: #No pandoc on travis
-- continue
-- self.doc.setformat(format)
-- self.doc.format()
-- self.out_file = self.out_base % format
-- self.ref_file = self.ref_base % format
-- self.doc.output = self.out_file
-- self.doc.write()
-- if "2html" in format:
-- pass
-- #Need to ignore same amount from beginning
-- #End is variable lenght, anyway tested with test_publish
-- #self.assertSameAsReference(1000) #Ignore changing footer
-- else:
-- self.assertSameAsReference()
-- try:
-- os.remove(self.out_file)
-- except FileNotFoundError:
-- pass
--
-- def contentOf(self, filename, end_ignore):
-- fh = open(filename)
-- content = fh.read()
-- fh.close()
-- if end_ignore > 0:
-- return(content[:-end_ignore])
-- return content
--
-- def assertSameAsReference(self, end_ignore = -1):
-- self.assertEqual(self.contentOf(self.out_file, end_ignore),
-- self.contentOf(self.ref_file, end_ignore))
--
--
--
--if __name__ == '__main__':
-- unittest.main()
-diff --git a/tests/test_publish.py b/tests/test_publish.py
-deleted file mode 100644
-index 0c5e587..0000000
---- a/tests/test_publish.py
-+++ /dev/null
-@@ -1,23 +0,0 @@
--import pweave
--import os, io
--
--def test_publish():
-- """Test pypublish"""
-- pweave.publish("tests/publish/publish_test.txt", doc_format="html")
-- test = io.open("tests/publish/publish_test.html", "r").read().encode("utf-8")
-- ref = io.open("tests/publish/publish_test_ref.html", "r").read().encode("utf-8")
-- #Leave out the changing footer
-- assert (test[:len(test) - 400] == ref[:len(test) - 400])
--
--def test_publish_cell():
-- """Test pypublish cell format"""
-- pweave.publish("tests/publish/publish_test_cell.txt", doc_format="html")
-- test = io.open("tests/publish/publish_test_cell.html", "r").read().encode("utf-8")
-- ref = io.open("tests/publish/publish_test_ref.html", "r").read().encode("utf-8")
-- #Leave out the changing footer
-- assert (test[:len(test) - 400] == ref[:len(test) - 400])
--
--
--if __name__ == '__main__':
-- test_publish()
-- test_publish_cell()
-diff --git a/tests/test_readers.py b/tests/test_readers.py
-index 69a0303..69cd500 100644
---- a/tests/test_readers.py
-+++ b/tests/test_readers.py
-@@ -13,12 +13,6 @@ def test_script():
- "tests/publish/publish_test_REF.py")
-
-
--def test_url():
-- pweave.weave("http://files.mpastell.com/formatters_test.pmd", doctype = "pandoc", output = "tests/formats/formatters_url.md")
-- assertSameContent("tests/formats/formatters_url.md", "tests/formats/formatters_test_REF.markdown")
--
--
--
- def assertSameContent(REF, outfile):
- out = open(outfile)
- ref = open(REF)
-@@ -27,4 +21,3 @@ def assertSameContent(REF, outfile):
- if __name__ == '__main__':
- test_markdown()
- test_script()
-- test_url()
diff --git a/dev-python/pweave/metadata.xml b/dev-python/pweave/metadata.xml
deleted file mode 100644
index 4a947fc9ac1b..000000000000
--- a/dev-python/pweave/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">Pweave</remote-id>
- </upstream>
- <stabilize-allarches/>
-</pkgmetadata>
diff --git a/dev-python/pweave/pweave-0.30.3-r1.ebuild b/dev-python/pweave/pweave-0.30.3-r1.ebuild
deleted file mode 100644
index 49d90a3f166d..000000000000
--- a/dev-python/pweave/pweave-0.30.3-r1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit distutils-r1
-
-MY_PN="Pweave"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Scientific report generator and literate programming tool"
-HOMEPAGE="http://mpastell.com/pweave/
- https://github.com/mpastell/Pweave"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-IUSE="examples"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-PATCHES=(
- "${FILESDIR}/${P}-docs.patch"
- "${FILESDIR}/${P}-rm-online-tests.patch" )
-
-RDEPEND="
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/jupyter_client[${PYTHON_USEDEP}]
- dev-python/markdown[${PYTHON_USEDEP}]
- dev-python/nbconvert[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
-"
-
-DEPEND="test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/notebook[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
-)"
-
-distutils_enable_sphinx doc/source dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-python_install_all() {
- if use examples; then
- insinto /usr/share/${PN}
- doins -r doc/examples
- 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 61804329b6fa..000000000000
--- a/dev-python/py-amqp/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST amqp-5.1.0.tar.gz 128629 BLAKE2B 8fe0b07233fce04b84b46e0ab4da1badf2de8a2ac53494dbb33b246d149ccec728de42c4f9f7d40752701a8e02851805456d8d54c2e519bbbfdbbb1274edf124 SHA512 9f4f3fd4cea6c214ff03a80a9aec7c5bff65a964ff1e77fbc937f1b6daf45f7b06be0b0873b2998afc3de22b4693a3327f0b439f70a4496060997b9f1aa73331
-DIST amqp-5.1.1.tar.gz 127869 BLAKE2B 3ba95874a45f6fce163cf95b0b1fae57e636bc2bec8311f64fc9597025ba36f35daf8d0457af3bc10fa1f1dae604b262ebf205d7b89d4f1745bf3480b542278d SHA512 f549a85e4f04543dd8e844edb68350ca185de9259aa896af31ae5ee5dfdfe73f904d95821c403dc797c7f3ada17ce6bff4e0fd9fcdf2abc1b33a94d079f99179
diff --git a/dev-python/py-amqp/py-amqp-5.1.0.ebuild b/dev-python/py-amqp/py-amqp-5.1.0.ebuild
deleted file mode 100644
index 0492c0df1c89..000000000000
--- a/dev-python/py-amqp/py-amqp-5.1.0.ebuild
+++ /dev/null
@@ -1,51 +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_{8..10} )
-
-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"
-
-BDEPEND="
- >=dev-python/vine-5.0.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/case-1.3.1[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- >=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/py-amqp-5.1.1.ebuild b/dev-python/py-amqp/py-amqp-5.1.1.ebuild
deleted file mode 100644
index 0492c0df1c89..000000000000
--- a/dev-python/py-amqp/py-amqp-5.1.1.ebuild
+++ /dev/null
@@ -1,51 +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_{8..10} )
-
-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"
-
-BDEPEND="
- >=dev-python/vine-5.0.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/case-1.3.1[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- >=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/Manifest b/dev-python/py-cpuinfo/Manifest
index 6b927e49ab3a..98b3b1b52cb7 100644
--- a/dev-python/py-cpuinfo/Manifest
+++ b/dev-python/py-cpuinfo/Manifest
@@ -1 +1 @@
-DIST py-cpuinfo-8.0.0.tar.gz 99791 BLAKE2B 95024b488142e3bbb2eaa69ffef229ac27f1cb55e297fb8de050ec4c410c1b13dbf674936365d84c5c473158338dd047f6dfba58c2a7dde4e21232af356ab20c SHA512 77351f9f2fd33b09d0ee998dd2b3eb971bbe9094bee5636356d5a5a2747ebba3c112cccfdf929f77e3b7de3c745f98ecfac8edeb0d84fede100b637b554d4fd9
+DIST py-cpuinfo-9.0.0.tar.gz 104716 BLAKE2B 667f5d420fd7eeff74e5047ee05220717585332c0b8b2a61422c3b4505f9c71c6b3091bbf3ebe29a3460b574a873cea423cffb5a83c49ceec3654a1558e435af SHA512 c7711137d60ad52bcbef8738a70fb48ceaa69e1e1632d135d0ee95c282b02df6170c3dd88a1e14b3e9a386d3286a15ca9722fcfb596107da022161a7cf84509a
diff --git a/dev-python/py-cpuinfo/py-cpuinfo-8.0.0.ebuild b/dev-python/py-cpuinfo/py-cpuinfo-8.0.0.ebuild
deleted file mode 100644
index 4fed92486e6e..000000000000
--- a/dev-python/py-cpuinfo/py-cpuinfo-8.0.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{8..10} )
-inherit distutils-r1
-
-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"
-
-distutils_enable_tests setup.py
diff --git a/dev-python/py-cpuinfo/py-cpuinfo-9.0.0.ebuild b/dev-python/py-cpuinfo/py-cpuinfo-9.0.0.ebuild
new file mode 100644
index 000000000000..dded648327ce
--- /dev/null
+++ b/dev-python/py-cpuinfo/py-cpuinfo-9.0.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
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+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/
+"
+
+LICENSE="MIT"
+SLOT="0"
+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 4c6bb23e9adb..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
@@ -1,26 +1,32 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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_{8..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 98d6f4182470..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-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{8..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 204af38c1ce0..be0407a49884 100644
--- a/dev-python/py/py-1.11.0-r1.ebuild
+++ b/dev-python/py/py-1.11.0-r1.ebuild
@@ -1,12 +1,12 @@
-# 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_{8..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 47785935df6f..000000000000
--- a/dev-python/pyClamd/pyClamd-0.4.0-r3.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,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/metadata.xml b/dev-python/pyDes/metadata.xml
index ffbbcc001108..295ac89a17c2 100644
--- a/dev-python/pyDes/metadata.xml
+++ b/dev-python/pyDes/metadata.xml
@@ -6,6 +6,10 @@
<email>xgqt@gentoo.org</email>
<name>Maciej Barć</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<upstream>
<bugs-to>https://github.com/twhiteman/pyDes/issues/</bugs-to>
<remote-id type="github">twhiteman/pyDes</remote-id>
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 d64c01a08fe3..000000000000
--- a/dev-python/pyDes/pyDes-2.0.1.ebuild
+++ /dev/null
@@ -1,17 +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_{8..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 f4fedb44f500..000000000000
--- a/dev-python/pyFFTW/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyFFTW-0.13.0.tar.gz 158660 BLAKE2B c54096f0814625d49832094a6d823c6d258801a0831b07846993da97a713238a5df5b59beddc38b7e940685403178b2f3100f5713334fc9861757420bc87303a SHA512 1d4c69cc19dd00f2433037f25ea90335544403b542c0c5ca00cb055e0fde076ec9e00990f02da2385466be171ed8c910a5ce06a7cfa5efbc6544b2383bbce599
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.0.ebuild b/dev-python/pyFFTW/pyFFTW-0.13.0.ebuild
deleted file mode 100644
index db7b32f540a5..000000000000
--- a/dev-python/pyFFTW/pyFFTW-0.13.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="A pythonic python wrapper around FFTW"
-HOMEPAGE="https://github.com/pyFFTW/pyFFTW"
-
-LICENSE="BSD"
-SLOT="0"
-if [[ "${PV}" = "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/pyFFTW/pyFFTW.git"
-else
- KEYWORDS="~amd64 ~x86"
- SRC_URI="https://github.com/pyFFTW/pyFFTW/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-DEPEND="
- >=dev-python/numpy-1.16[${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.2.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-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 db7b32f540a5..000000000000
--- a/dev-python/pyFFTW/pyFFTW-9999.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="A pythonic python wrapper around FFTW"
-HOMEPAGE="https://github.com/pyFFTW/pyFFTW"
-
-LICENSE="BSD"
-SLOT="0"
-if [[ "${PV}" = "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/pyFFTW/pyFFTW.git"
-else
- KEYWORDS="~amd64 ~x86"
- SRC_URI="https://github.com/pyFFTW/pyFFTW/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-DEPEND="
- >=dev-python/numpy-1.16[${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.2.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-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 44a378fc31eb..000000000000
--- a/dev-python/pyGPG/pyGPG-0.2-r1.ebuild
+++ /dev/null
@@ -1,44 +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_{7,8,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 f318c1346320..000000000000
--- a/dev-python/pyGPG/pyGPG-9999.ebuild
+++ /dev/null
@@ -1,44 +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_{7,8,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 878994af7c33..000000000000
--- a/dev-python/pyacoustid/pyacoustid-1.2.2.ebuild
+++ /dev/null
@@ -1,33 +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_{8..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/metadata.xml b/dev-python/pyaes/metadata.xml
index 7a9279e479c4..b34955aad167 100644
--- a/dev-python/pyaes/metadata.xml
+++ b/dev-python/pyaes/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>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
diff --git a/dev-python/pyaes/pyaes-1.6.1-r3.ebuild b/dev-python/pyaes/pyaes-1.6.1-r3.ebuild
index 7e3dd08474f9..2780469c86f7 100644
--- a/dev-python/pyaes/pyaes-1.6.1-r3.ebuild
+++ b/dev-python/pyaes/pyaes-1.6.1-r3.ebuild
@@ -1,16 +1,15 @@
-# 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_{8..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 7c1ccb1db259..3840bf92b6eb 100644
--- a/dev-python/pyalsa/pyalsa-1.2.7.ebuild
+++ b/dev-python/pyalsa/pyalsa-1.2.7.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..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 3b4aa574d96e..000000000000
--- a/dev-python/pyamg/pyamg-4.2.3.ebuild
+++ /dev/null
@@ -1,39 +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_{8..10} )
-
-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..36a1bc105e6a
--- /dev/null
+++ b/dev-python/pyaml/Manifest
@@ -0,0 +1 @@
+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-24.4.0.ebuild b/dev-python/pyaml/pyaml-24.4.0.ebuild
new file mode 100644
index 000000000000..980ac98dd21c
--- /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/Manifest b/dev-python/pyannotate/Manifest
new file mode 100644
index 000000000000..3ca425937400
--- /dev/null
+++ b/dev-python/pyannotate/Manifest
@@ -0,0 +1 @@
+DIST pyannotate-1.2.0.gh.tar.gz 46148 BLAKE2B c52c93c0d27cb23b0b0683bbd5f353ba9a45714b8a50fb3a6f5aa4e67bfe71e60bc7afbee85a021ed25a7f5a1df720dc863fc6dd92d20dee0d97af72786866cf SHA512 cd755f3061f5c4320346f0198b71e4b312378a3810c5999f1d318b7427e7c55bd1bdfc4af84880bd45faf69eabccbd2684d1c18c1f9ad0661d35a377984ca063
diff --git a/dev-python/pyannotate/metadata.xml b/dev-python/pyannotate/metadata.xml
new file mode 100644
index 000000000000..4c4e5ce97e96
--- /dev/null
+++ b/dev-python/pyannotate/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>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>ajak@gentoo.org</email>
+ <name>John Helmert III</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">pyannotate</remote-id>
+ <remote-id type="github">dropbox/pyannotate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyannotate/pyannotate-1.2.0-r1.ebuild b/dev-python/pyannotate/pyannotate-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..f0b7a6962c1c
--- /dev/null
+++ b/dev-python/pyannotate/pyannotate-1.2.0-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+inherit distutils-r1
+
+DESCRIPTION="Auto-generate PEP-484 annotations"
+HOMEPAGE="https://github.com/dropbox/pyannotate"
+SRC_URI="https://github.com/dropbox/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/mypy_extensions-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.11.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyarrow/Manifest b/dev-python/pyarrow/Manifest
new file mode 100644
index 000000000000..6136d388636a
--- /dev/null
+++ b/dev-python/pyarrow/Manifest
@@ -0,0 +1 @@
+DIST apache-arrow-16.0.0.tar.gz 21695067 BLAKE2B aa5dfef3d8d46a53242075c165473635051d51ff28587ea8b80751232d5f75ee3ef89e0a027aa39bdc9dc03fa46ddb68e46ae2c7f40605258e47ff194f1d3979 SHA512 773f4f3eef603032c8ba0cfdc023bfd2a24bb5e41c82da354a22d7854ab153294ede1f4782cc32b27451cf1b58303f105bac61ceeb3568faea747b93e21d79e4
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-16.0.0.ebuild b/dev-python/pyarrow/pyarrow-16.0.0.ebuild
new file mode 100644
index 000000000000..37167ff75b2c
--- /dev/null
+++ b/dev-python/pyarrow/pyarrow-16.0.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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 ~loong ~riscv ~x86"
+IUSE="+parquet +snappy ssl"
+
+RDEPEND="
+ ~dev-libs/apache-arrow-${PV}[compute,dataset,json,parquet?,re2,snappy?,ssl?]
+ >=dev-python/numpy-1.16.6:=[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-libs/apache-arrow[lz4,zlib]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # cython's -Werror
+ sed -i -e '/--warning-errors/d' CMakeLists.txt || die
+ distutils-r1_src_prepare
+}
+
+src_compile() {
+ export PYARROW_PARALLEL="$(makeopts_jobs)"
+ export PYARROW_BUILD_VERBOSE=1
+ export PYARROW_CXXFLAGS="${CXXFLAGS}"
+ export PYARROW_BUNDLE_ARROW_CPP_HEADERS=0
+ export PYARROW_CMAKE_GENERATOR=Ninja
+ export PYARROW_WITH_HDFS=1
+ if use parquet; then
+ export PYARROW_WITH_DATASET=1
+ export PYARROW_WITH_PARQUET=1
+ use ssl && export PYARROW_WITH_PARQUET_ENCRYPTION=1
+ fi
+ if use snappy; then
+ export PYARROW_WITH_SNAPPY=1
+ fi
+
+ distutils-r1_src_compile
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # wtf?
+ tests/test_fs.py::test_localfs_errors
+ # these require apache-arrow with jemalloc that doesn't seem
+ # to be supported by the Gentoo package
+ tests/test_memory.py::test_env_var
+ tests/test_memory.py::test_specific_memory_pools
+ tests/test_memory.py::test_supported_memory_backends
+ # pandas changed, i guess
+ tests/test_pandas.py::test_array_protocol_pandas_extension_types
+ tests/test_table.py::test_table_factory_function_args_pandas
+ # hypothesis health check failures
+ # https://github.com/apache/arrow/issues/41318
+ tests/interchange/test_interchange_spec.py::test_dtypes
+ tests/test_convert_builtin.py::test_array_to_pylist_roundtrip
+ tests/test_feather.py::test_roundtrip
+ tests/test_pandas.py::test_array_to_pandas_roundtrip
+ )
+
+ if has_version ">=dev-python/numpy-2"; then
+ EPYTEST_DESELECT+=(
+ # https://github.com/apache/arrow/issues/41319
+ tests/test_array.py::test_numpy_array_protocol
+ tests/test_table.py::test_numpy_array_protocol
+ )
+ fi
+
+ cd "${T}" || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ 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 521e4f91fc2f..000000000000
--- a/dev-python/pyasn1-modules/pyasn1-modules-0.2.8-r2.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_{8..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..d3538c0b729a
--- /dev/null
+++ b/dev-python/pyasn1-modules/pyasn1-modules-0.4.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pyasn1 modules"
+HOMEPAGE="
+ https://pypi.org/project/pyasn1-modules/
+ https://github.com/etingof/pyasn1-modules/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+RDEPEND="
+ <dev-python/pyasn1-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.4.6[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ distutils-r1_python_install_all
+ insinto /usr/share/${P}
+ doins -r tools
+}
diff --git a/dev-python/pyasn1/Manifest b/dev-python/pyasn1/Manifest
index 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 5a0d1b7e120e..000000000000
--- a/dev-python/pyasn1/pyasn1-0.4.8-r2.ebuild
+++ /dev/null
@@ -1,23 +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_{8..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..e72d6b06866e
--- /dev/null
+++ b/dev-python/pyasn1/pyasn1-0.6.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="ASN.1 library for Python"
+HOMEPAGE="
+ https://pypi.org/project/pyasn1/
+ https://github.com/etingof/pyasn1/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx "docs/source"
diff --git a/dev-python/pyasynchat/Manifest b/dev-python/pyasynchat/Manifest
new file mode 100644
index 000000000000..9385a9e4ba7e
--- /dev/null
+++ b/dev-python/pyasynchat/Manifest
@@ -0,0 +1 @@
+DIST pyasynchat-1.0.4.tar.gz 9747 BLAKE2B e38edd9e35ce31f9015b934a5d4edb96053ff239978359f13e5b74ac9b8160029556207f79a199d82085882e80d88fc8033f9085f986b48dfaa50de780576197 SHA512 d36eb16770637a311d56fe22229de5a3cdfa699ae64fbafcdd5ce9acd43270b90813fe56db14528083ee1803a43d958d0b3b6616e0bbf907a4dd4a563981a278
diff --git a/dev-python/pyasynchat/metadata.xml b/dev-python/pyasynchat/metadata.xml
new file mode 100644
index 000000000000..ea538f30a8bc
--- /dev/null
+++ b/dev-python/pyasynchat/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">pyasynchat</remote-id>
+ <remote-id type="github">simonrob/pyasynchat</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyasynchat/pyasynchat-1.0.4.ebuild b/dev-python/pyasynchat/pyasynchat-1.0.4.ebuild
new file mode 100644
index 000000000000..2cf8a2026140
--- /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="~alpha ~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..abc5517eceaf
--- /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="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+python_test() {
+ # Can't use d_e_t unittest (bug #926964)
+ eunittest tests
+}
diff --git a/dev-python/pyatspi/Manifest b/dev-python/pyatspi/Manifest
index ec3e93bdc012..942e96a188d1 100644
--- a/dev-python/pyatspi/Manifest
+++ b/dev-python/pyatspi/Manifest
@@ -1 +1 @@
-DIST pyatspi-2.38.2.tar.xz 318596 BLAKE2B aba5d4fbbc9e0ce4793843270394712e675e6546c781f0523f7f17a79f018fcf4cf209257e9ef0dc03cbe92be7a17c774fd82f2d9997d9aa8c6b6be65a72ef8a SHA512 03e10af5f0eb2ab89518229f049f497635ec1ae85a948a02813a5eb00eef395a3934f578b56054f8e73ae3c5c28760ad1f2b93e8876b8724c64b622d966aa5d9
+DIST pyatspi-2.46.1.tar.xz 323392 BLAKE2B ee55f57616d58ead8bbf14193a984e2d268b0dafd67bdb638086fe531d7d031b6060f2c757036f67ad18ba6c1f774c8ef13a4844c5fb96878604f59903b2653a SHA512 69c1c4c31bef430083a1c9af98ba6b2f1b3d9eec0a5f03982b980838bcf86933069a90d7314d2e5501d5988a453d0a803ad239eca5b98f08cc3bf7dc8d4a7c0c
diff --git a/dev-python/pyatspi/metadata.xml b/dev-python/pyatspi/metadata.xml
index 7b343b06be8a..21bc65fb46b2 100644
--- a/dev-python/pyatspi/metadata.xml
+++ b/dev-python/pyatspi/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/pyatspi2</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/pyatspi/pyatspi-2.38.2.ebuild b/dev-python/pyatspi/pyatspi-2.38.2.ebuild
deleted file mode 100644
index 394c05e7d059..000000000000
--- a/dev-python/pyatspi/pyatspi-2.38.2.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit gnome2 python-r1 virtualx
-
-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 ~ppc ~ppc64 ~riscv sparc x86"
-
-IUSE="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 virtx 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/metadata.xml b/dev-python/pyaudio/metadata.xml
index c51cdd55bd4a..46cf1cc6eea0 100644
--- a/dev-python/pyaudio/metadata.xml
+++ b/dev-python/pyaudio/metadata.xml
@@ -10,7 +10,7 @@
<name>Proxy Maintainers</name>
</maintainer>
<longdescription lang="en">
- PyAudio provides Python bindings for PortAudio (media-libs/portaudio),
+ PyAudio provides Python bindings for PortAudio (<pkg>media-libs/portaudio</pkg>),
the cross-platform audio I/O library.
</longdescription>
<upstream>
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 4460e98b3091..000000000000
--- a/dev-python/pyaudio/pyaudio-0.2.11-r2.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 a8ed8a79cc2f..bf30c38b02bf 100644
--- a/dev-python/pybind11/Manifest
+++ b/dev-python/pybind11/Manifest
@@ -1,2 +1,2 @@
-DIST pybind11-2.10.0.gh.tar.gz 716362 BLAKE2B d9d3a8a108a303721766b822d43b631396c451c8caea0ec1bd36a97850382cdaec69a4f4e5fb475bc84e2aead050f73b759320a81750a661997870e1a84383b5 SHA512 93112ce530a0652b2b4458a137b4a35f2fd8607f82ad96698ef422128d0b53e16e1d06c239ee4643b821acafae09c74eb0f72bc4ee5584aa9fcdaff4d79980d9
-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/metadata.xml b/dev-python/pybind11/metadata.xml
index fc7d19bc55b8..93fb4cd3c1fc 100644
--- a/dev-python/pybind11/metadata.xml
+++ b/dev-python/pybind11/metadata.xml
@@ -10,6 +10,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">pybind/pybind11</remote-id>
<remote-id type="pypi">pybind11</remote-id>
</upstream>
</pkgmetadata>
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 9ea3bab5b725..000000000000
--- a/dev-python/pybind11/pybind11-2.10.0.ebuild
+++ /dev/null
@@ -1,67 +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_{8..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-1.56
- )
-"
-
-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 2d574fd4f591..000000000000
--- a/dev-python/pybind11/pybind11-2.9.2-r1.ebuild
+++ /dev/null
@@ -1,67 +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_{8..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-1.56
- )
-"
-
-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 884d113fc0af..000000000000
--- a/dev-python/pybtex-docutils/pybtex-docutils-1.0.2.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 5349f40ab8f5..000000000000
--- a/dev-python/pybtex/pybtex-0.24.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="BibTeX-compatible bibliography processor"
-HOMEPAGE="https://pybtex.org https://pypi.org/project/pybtex/"
-SRC_URI="https://files.pythonhosted.org/packages/source/p/${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 d25ffabfd99b..664fdd77aa1a 100644
--- a/dev-python/pycairo/Manifest
+++ b/dev-python/pycairo/Manifest
@@ -1 +1 @@
-DIST pycairo-1.21.0.tar.gz 340712 BLAKE2B 6578c75b478c14c641b5c0be44c3c633d32ecc09c4ef22a079024dd12b539d37f88efa6ce8aadb5a88a48b3cc793e573afe00eaa4e3ba563c3133cad72dacfe4 SHA512 0de226b05d0a358f3546e4a0d5bf342f124373718d4900c891a09c1ede11e3ed1fb9bee163c00acfc215044683ddf0b29c8573b7454f9c39f957a47d63c34baf
+DIST pycairo-1.26.0.tar.gz 346850 BLAKE2B da6c35c929d372764280e8963a8b66ba533ccb99be9ee2bfa10859c635dd16cc087d542607be9ec6a9ffb942feb892100d4b9017d832d478b35c434aa05b9bb9 SHA512 5313f0d408a6e6ce6e70ac92291be5dd8651e01fbf9411d0467061afa21849cde27db273f2a13b4c3c931183f63f75f31fc0f0d3283b8f339ba88e71eab432f1
diff --git a/dev-python/pycairo/metadata.xml b/dev-python/pycairo/metadata.xml
index b027c092791a..58d1a5ca29f5 100644
--- a/dev-python/pycairo/metadata.xml
+++ b/dev-python/pycairo/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">pycairo</remote-id>
+ <remote-id type="github">pygobject/pycairo</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pycairo/pycairo-1.21.0.ebuild b/dev-python/pycairo/pycairo-1.21.0.ebuild
deleted file mode 100644
index eb6d70b38d8f..000000000000
--- a/dev-python/pycairo/pycairo-1.21.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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"
-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="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
-"
-RDEPEND="
- >=x11-libs/cairo-1.15.10[svg]
-"
-DEPEND="${RDEPEND}"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme
-distutils_enable_tests setup.py
-
-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 1d5ead82fc9b..84c872ebbb58 100644
--- a/dev-python/pycares/Manifest
+++ b/dev-python/pycares/Manifest
@@ -1 +1 @@
-DIST pycares-4.2.1.gh.tar.gz 43939 BLAKE2B 40f147189d5daf841a8165da86d881f1822763fbd050b040f11bd1f63a768dfbc71c78230d41331486cbc2354175b528f298dbb167ef7801e57b05b4a13c820d SHA512 b5462b58bf75a9ee39496209c8270bc9c07070d34d9c2f2a2eed4752ebf83392e256248dda06ec5934c235cb37636e55a21cff4181b0a03c3eff24fbf9297eb4
+DIST pycares-4.4.0.tar.gz 821630 BLAKE2B c2bddc54db9cd6ba92d7c4fb3809609a8a3526bab68e4cf48f0fee2e7473828f70ca696be11b904e9c3f9241de8b13568cd0317c8cb305a4aca7356f1b74cfb5 SHA512 db387f21975d015e0fcb01972ffb018476d51331a7a49bb4c0bf23ccfa13dff3f8b9c21d5f11da8ece3018debf36b1cddea032ef860353203cf38ab2b3d01e8a
diff --git a/dev-python/pycares/pycares-4.2.1.ebuild b/dev-python/pycares/pycares-4.2.1.ebuild
deleted file mode 100644
index b4f34af6fd61..000000000000
--- a/dev-python/pycares/pycares-4.2.1.ebuild
+++ /dev/null
@@ -1,51 +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_{8..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}]
- )
-"
-
-export PYCARES_USE_SYSTEM_LIB=1
-
-python_test() {
- "${EPYTHON}" tests/tests.py -v || die "Tests failed with ${EPYTHON}"
-}
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/metadata.xml b/dev-python/pycdio/metadata.xml
index a57793df4e86..541fb17e2ec1 100644
--- a/dev-python/pycdio/metadata.xml
+++ b/dev-python/pycdio/metadata.xml
@@ -11,5 +11,6 @@
<upstream>
<remote-id type="pypi">pycdio</remote-id>
<remote-id type="github">rocky/pycdio</remote-id>
+ <remote-id type="savannah">libcdio</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pycdio/pycdio-2.1.1-r1.ebuild b/dev-python/pycdio/pycdio-2.1.1-r1.ebuild
new file mode 100644
index 000000000000..48f92c3847e4
--- /dev/null
+++ b/dev-python/pycdio/pycdio-2.1.1-r1.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 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/
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+DEPEND="
+ >=dev-libs/libcdio-2.0.0
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-lang/swig
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Remove obsolete sys.path and adjust 'data' paths in examples.
+ sed -i \
+ -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
+}
+
+python_test() {
+ epytest -opython_files='test-*.py'
+}
+
+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/pycdio/pycdio-2.1.1.ebuild b/dev-python/pycdio/pycdio-2.1.1.ebuild
deleted file mode 100644
index 635e1a54c837..000000000000
--- a/dev-python/pycdio/pycdio-2.1.1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Python OO interface to libcdio (CD Input and Control library)"
-HOMEPAGE="https://savannah.gnu.org/projects/libcdio/ https://pypi.org/project/pycdio/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="examples"
-
-BDEPEND="dev-lang/swig"
-DEPEND=">=dev-libs/libcdio-2.0.0"
-RDEPEND="${DEPEND}"
-
-distutils_enable_tests nose
-
-python_prepare_all() {
- # Remove obsolete sys.path and adjust 'data' paths in examples.
- sed -i \
- -e "s:^sys.path.insert.*::" \
- -e "s:\.\./data:./data:g" \
- example/*.py || die
- distutils-r1_python_prepare_all
-}
-
-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/pychm/metadata.xml b/dev-python/pychm/metadata.xml
index 13dc9543ca34..c984fa5805bd 100644
--- a/dev-python/pychm/metadata.xml
+++ b/dev-python/pychm/metadata.xml
@@ -10,14 +10,15 @@ The chm package provides three modules, chm, chmlib and extra, which
provide access to the API implemented by the C library chmlib and some
additional classes and functions. They are used to access MS-ITSS
encoded files - Compressed Html Help files (.chm).
-</longdescription>
+ </longdescription>
<longdescription lang="ja">
Chmパッケージã¯ã€C言語ライブラリChmã®API実装ã¨ãã‚Œã«å¹¾ã¤ã‹æ‹¡å¼µã•ã‚ŒãŸã‚¯ãƒ©ã‚¹ã¨é–¢æ•°
ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹æ‰‹æ®µã®chm, chmlib, extraã®3ã¤ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’æä¾›ã—ã¾ã™ã€‚MS-ITSSエン
コード・ファイルã«ä½¿ã‚ã‚Œã¦ã„ã¾ã™ã€‚-- Compressed Html Help ファイル (.chm)。
-</longdescription>
+ </longdescription>
<upstream>
<remote-id type="sourceforge">gnochm</remote-id>
+ <remote-id type="github">dottedmag/pychm</remote-id>
<remote-id type="pypi">pychm</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pychm/pychm-0.8.6-r1.ebuild b/dev-python/pychm/pychm-0.8.6-r1.ebuild
new file mode 100644
index 000000000000..f61fdac61dbc
--- /dev/null
+++ b/dev-python/pychm/pychm-0.8.6-r1.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 bindings for the chmlib library"
+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 ~arm64 ~ppc x86"
+
+DEPEND="
+ dev-libs/chmlib
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # need to avoid relative import of 'chm' directory but tests rely
+ # on locating files relatively via tests/...
+ mv tests .. || die
+ cd .. || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/pychm/pychm-0.8.6.ebuild b/dev-python/pychm/pychm-0.8.6.ebuild
deleted file mode 100644
index 5a33f0e58ffd..000000000000
--- a/dev-python/pychm/pychm-0.8.6.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} )
-
-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"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~ppc x86"
-
-RDEPEND="dev-libs/chmlib"
-DEPEND="${RDEPEND}"
-
-distutils_enable_tests pytest
-
-src_test() {
- # need to avoid relative import of 'chm' directory but tests rely
- # on locating files relatively via tests/...
- mv tests .. || die
- cd .. || die
- distutils-r1_src_test
-}
diff --git a/dev-python/pychromecast/Manifest b/dev-python/pychromecast/Manifest
index 34a321c61bca..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-9.3.1.tar.gz 53253 BLAKE2B f246a38c79ececa17721ba2d8397da691310462ce9b19aab2ad525d82ff8c4db213fbc8fa3e9205bac3ffbde72f7bd75eab26c6b5430921bd2fb561a49808110 SHA512 ee4ad719a1142e1a4c67b99b6ceadfd076cb8b818474c5a5b9bc9dd2d03f13feddcece4983459013192f85bdc73339749d0b2f2c1881ac879d211dbe2e578605
+DIST PyChromecast-13.0.7.tar.gz 52074 BLAKE2B 4e67ce21bf91c52cd83b8a17d86cd321d937c1f55b567d4df7a5548ad02aacb4c269b9d29030a7e41f9f310d53313b6b287032c1d5f1448b415c3896b168b783 SHA512 dc63c901287ae31ce278c9978701ad335715f1daaab1b2683aa7b02ddb38e3e207f2527ae144f6836b65c4ddb4b1fdd62c40005bf776e0655e647ab40634857e
diff --git a/dev-python/pychromecast/metadata.xml b/dev-python/pychromecast/metadata.xml
index 1ff9e28b0019..2bb8c17220e2 100644
--- a/dev-python/pychromecast/metadata.xml
+++ b/dev-python/pychromecast/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">PyChromecast</remote-id>
+ <remote-id type="github">home-assistant-libs/pychromecast</remote-id>
</upstream>
</pkgmetadata>
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 98762f508af9..000000000000
--- a/dev-python/pychromecast/pychromecast-12.1.4.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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/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/pychromecast/pychromecast-9.3.1.ebuild b/dev-python/pychromecast/pychromecast-9.3.1.ebuild
deleted file mode 100644
index 52a7f1486ff1..000000000000
--- a/dev-python/pychromecast/pychromecast-9.3.1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{7..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/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 644764c88e80..000000000000
--- a/dev-python/pychroot/pychroot-0.10.4.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 2b8740a71dd9..000000000000
--- a/dev-python/pychroot/pychroot-9999.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 d72b67e33a76..ba9ca6c998d5 100644
--- a/dev-python/pyclipper/Manifest
+++ b/dev-python/pyclipper/Manifest
@@ -1 +1 @@
-DIST pyclipper-1.3.0_p2.tar.gz 51079 BLAKE2B e5af84c15a19bf2ac7f0df78d588d34451c6f0a0bc40fa6a28dd8ef5f697e1d62eb4e14ac184e325ce4d6ad1aab23254d6e91857e3a44636a1652f86aa1778e9 SHA512 08b7f8443b0e98ddf7230824a451b0b0023402c4cecb44c1a264e08d204a3da455aef742b2ffcc0acf44a4ec3b864302af0d7a7ec34bb6a2080340b2320797dd
+DIST pyclipper-1.3.0.post5.gh.tar.gz 51150 BLAKE2B 2751dbc2ca6c8ad664a1185f00c644b084e13bbb4bb54895003799988b8d56542dd4d4b793bfa33391aece59097e1ca9ee159631b844f41ade862ed187ed5dae SHA512 24dd783449fdefb035627289680959ca4a74f737573518d14fe899ec015a7f8781b391df861e1f8986d6e71c8295743ef5fa048f5da22dd493f5940e25a7f185
diff --git a/dev-python/pyclipper/metadata.xml b/dev-python/pyclipper/metadata.xml
index 7ee24bc5d574..8f895a5ecde6 100644
--- a/dev-python/pyclipper/metadata.xml
+++ b/dev-python/pyclipper/metadata.xml
@@ -10,6 +10,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">fonttools/pyclipper</remote-id>
<remote-id type="pypi">pyclipper</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pyclipper/pyclipper-1.3.0_p2-r1.ebuild b/dev-python/pyclipper/pyclipper-1.3.0_p2-r1.ebuild
deleted file mode 100644
index dd3f5bf70ce7..000000000000
--- a/dev-python/pyclipper/pyclipper-1.3.0_p2-r1.ebuild
+++ /dev/null
@@ -1,30 +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_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Cython wrapper for the C++ translation of the Angus Johnson's Clipper library"
-HOMEPAGE="https://github.com/fonttools/pyclipper"
-SRC_URI="https://github.com/fonttools/pyclipper/archive/${PV/_p/.post}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${P/_p/.post}"
-
-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
-
-src_prepare() {
- distutils-r1_src_prepare
- 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 c5f52fc8d84f..9f27fb940fb2 100644
--- a/dev-python/pycodestyle/Manifest
+++ b/dev-python/pycodestyle/Manifest
@@ -1,3 +1 @@
-DIST pycodestyle-2.8.0.tar.gz 102299 BLAKE2B ac4708a513582bb0f27f1abfcc983319e6c7b853c53971d5f026f297f897b25a6c8a651a4d2441b19ab37e6df6f7a38a472aad0757fec59e0438263d76ccfdb2 SHA512 0098be44451bc173507e2b396aaf342ccf7f25a6a1f5d5c1f802079a76a66e6bedf9f358b5e07b27bee66e3b279c72a6b72f63e5984f58ae83b7fc5806880fc1
-DIST pycodestyle-2.9.0.tar.gz 102014 BLAKE2B ee2c2cad332e7442f9e557f388c3de09ea0ea65b0678c65d64d6293de18aa884a39a6a65ce47a99ac04b98da4e4bad14d2ccd228b22bdbd7361a3a0ca2c27afb SHA512 82926bf1c5b72decc0679d4fcec705d707b91b347ea0eec52b1f05301b96e55fc75afdb367ecdec674976fe1f2f7b475498a8e9a2ba19e3dfd483584a9ef841e
-DIST pycodestyle-2.9.1.tar.gz 102127 BLAKE2B 701e6325a73173b8ab8540f03f794066f05ffe7f29cfac49f065ec6f8cc6a50b1334372b8fd7619a368a54605dde0214da9e9b3b59326c58803bf7f49d6981ea SHA512 da1c67815b50d13c8eb70cebcc12c761a6407518a4ed4a8780ee7064089c9e89a5c3246d05f19916c0ec293fc1a372d3b2adb72e11f775b1cfbd1fbbe07a1a83
+DIST pycodestyle-2.11.1.gh.tar.gz 79865 BLAKE2B b4d9ab3d50aba87e7194abd6b3b317183932cd9e5331c95b57f498704643bce2f459ca9fa2016cc2544f31fb9cbe3390c083fd651ede10f131bc1d6f5e462f23 SHA512 8e1f302d7e26d56edd924202435caef32369ea13eb4a0fdfb48c06bb5d77fd7a5aef92d470eef3e6fdd9c3b298751a52a83317e9ddf8b2aa7e3fedc75fb5151a
diff --git a/dev-python/pycodestyle/metadata.xml b/dev-python/pycodestyle/metadata.xml
index 27d16c029300..0e8cfdd5e1fd 100644
--- a/dev-python/pycodestyle/metadata.xml
+++ b/dev-python/pycodestyle/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">PyCQA/pycodestyle</remote-id>
<remote-id type="pypi">pycodestyle</remote-id>
</upstream>
</pkgmetadata>
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/pycodestyle/pycodestyle-2.8.0-r1.ebuild b/dev-python/pycodestyle/pycodestyle-2.8.0-r1.ebuild
deleted file mode 100644
index 8caa67171937..000000000000
--- a/dev-python/pycodestyle/pycodestyle-2.8.0-r1.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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 ~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() {
- PYTHONPATH="${S}" "${PYTHON}" pycodestyle.py -v --statistics pycodestyle.py || die
- PYTHONPATH="${S}" "${PYTHON}" pycodestyle.py -v --max-doc-length=72 --testsuite=testsuite || die
- PYTHONPATH="${S}" "${PYTHON}" pycodestyle.py --doctest -v || die
-}
diff --git a/dev-python/pycodestyle/pycodestyle-2.9.0.ebuild b/dev-python/pycodestyle/pycodestyle-2.9.0.ebuild
deleted file mode 100644
index 509d1524f65a..000000000000
--- a/dev-python/pycodestyle/pycodestyle-2.9.0.ebuild
+++ /dev/null
@@ -1,31 +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_{8..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 ~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.9.1.ebuild b/dev-python/pycodestyle/pycodestyle-2.9.1.ebuild
deleted file mode 100644
index 509d1524f65a..000000000000
--- a/dev-python/pycodestyle/pycodestyle-2.9.1.ebuild
+++ /dev/null
@@ -1,31 +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_{8..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 ~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/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 c04b5fb114c6..000000000000
--- a/dev-python/pycollada/pycollada-0.7.2.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 195a9c4a4528..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-2022 Gentoo Authors
+# 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_{8..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..92399af68de9 100644
--- a/dev-python/pycparser/Manifest
+++ b/dev-python/pycparser/Manifest
@@ -1 +1 @@
-DIST pycparser-2.21.tar.gz 170877 BLAKE2B ae6bf42dfc552bf1e3bfb5430cdb0c15b5e011ec53cbd03e0e2507c08a1a78690cefce2de134bd984caccc5dbde90661cb4c18df5c289217967213aac4d52404 SHA512 e61fbdde484d1cf74d4b27bdde40cf2da4b7028ca8ecd37c83d77473dab707d457321aecaf97da3b114c1d58a4eb200290b76f9c958044b57e5fed949895b5f0
+DIST pycparser-2.22.tar.gz 172736 BLAKE2B a080df68cf114c355949b2911a80e89ed02a64b8d1d03e3c5807222249e5dfd2491f691962885dbadcdaf323b55a05c5597319ac082dcf6c67a9ac952be9a7e2 SHA512 c9a81c78d87162f71281a32a076b279f4f7f2e17253fe14c89c6db5f9b3554a6563ff700c385549a8b51ef8832f99f7bb4ac07f22754c7c475dd91feeb0cf87f
diff --git a/dev-python/pycparser/pycparser-2.21-r1.ebuild b/dev-python/pycparser/pycparser-2.21-r1.ebuild
deleted file mode 100644
index cb4db63ebd19..000000000000
--- a/dev-python/pycparser/pycparser-2.21-r1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2022 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_{8..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.22.ebuild b/dev-python/pycparser/pycparser-2.22.ebuild
new file mode 100644
index 000000000000..80680c39f2e1
--- /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 cdc906ff3b58..49c39d87d206 100644
--- a/dev-python/pycryptodome/Manifest
+++ b/dev-python/pycryptodome/Manifest
@@ -1 +1 @@
-DIST pycryptodome-3.15.0.gh.tar.gz 16547902 BLAKE2B ce1a6eaca4946d656c08f960f67537e61b9c82a69777fcb0b01b91a9a649c605dcc66a2a6d9fdc5533521a669544c7695e83db856dfcf8e4b2ba7301654b5555 SHA512 fc611174cfb4ca89fb457cc0d1220326ac813de5a83a959a95c1928a5220dc8c652655ac0a2b7d116b60cb4a8317959d8c2b2f3595e19b9b359a32beb042b58c
+DIST pycryptodome-3.20.0.gh.tar.gz 17173888 BLAKE2B 7706a7f512579b4edf080b5074a9f226b2f0ef18a8f1faf74e890cfccff85d0599b4883cd5011a5cc0296b5a10cccce94cb2b948de29d785f6add04e54215a5a SHA512 0d65ccd93f9f78548c04aa3af01cb65b6a39e81bb3dfa4bb08acc5a5a731b17f9c5b07a1d1780739b3f358402a3596b04e446fc7b39345a4c6f03fd5a2de7ff9
diff --git a/dev-python/pycryptodome/pycryptodome-3.15.0.ebuild b/dev-python/pycryptodome/pycryptodome-3.15.0.ebuild
deleted file mode 100644
index da7094310ce1..000000000000
--- a/dev-python/pycryptodome/pycryptodome-3.15.0.ebuild
+++ /dev/null
@@ -1,58 +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_{8..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-r1.ebuild b/dev-python/pycson/pycson-0.8-r1.ebuild
deleted file mode 100644
index 8f32f7f9890d..000000000000
--- a/dev-python/pycson/pycson-0.8-r1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..9} )
-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"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pycson/pycson-0.8-r2.ebuild b/dev-python/pycson/pycson-0.8-r2.ebuild
deleted file mode 100644
index 9e3dd0cf3c9e..000000000000
--- a/dev-python/pycson/pycson-0.8-r2.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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"
-
-distutils_enable_tests pytest
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 e925eb8a41fc..000000000000
--- a/dev-python/pycson/pycson-0.8-r3.ebuild
+++ /dev/null
@@ -1,20 +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_{8..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 ffc9b069deb9..000000000000
--- a/dev-python/pycuda/pycuda-2021.1.ebuild
+++ /dev/null
@@ -1,93 +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_{8..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 1fddc3ef337b..5bd32220be0a 100644
--- a/dev-python/pycups/pycups-2.0.1-r1.ebuild
+++ b/dev-python/pycups/pycups-2.0.1-r1.ebuild
@@ -1,29 +1,27 @@
-# Copyright 1999-2022 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_{8..10} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+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"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE="examples"
RDEPEND="net-print/cups"
DEPEND="${RDEPEND}"
-PATCHES=(
- # https://github.com/OpenPrinting/pycups/commit/8cbf6d40a0132764ad51e7416aa7034966875091
- "${FILESDIR}/${P}-py3.10.patch"
-)
+# https://github.com/OpenPrinting/pycups/commit/8cbf6d40a0132764ad51e7416aa7034966875091
+PATCHES=( "${FILESDIR}/${P}-py3.10.patch" )
python_install_all() {
if use examples; then
diff --git a/dev-python/pycurl-requests/Manifest b/dev-python/pycurl-requests/Manifest
index cb1ca86cc2b2..e92842cc956f 100644
--- a/dev-python/pycurl-requests/Manifest
+++ b/dev-python/pycurl-requests/Manifest
@@ -1 +1 @@
-DIST pycurl-requests-0.2.1.tar.gz 24133 BLAKE2B b5994985621096edb4ea16859fe80e2c83221e32145d2ab0a6cb414084de9966df8ff2fbd7b38250b0ee096fb2c7cf98d4632eca814365bcecc5f9d69462fe6a SHA512 83b1052c8f007282aa5a8763ec44b3434604dd0b0b025d2bad0e45117438afdc6d05c2cf94516bbe993eb65bd1dbfac182954c1ff3a641cdb767e8f22c505574
+DIST pycurl-requests-0.5.0.gh.tar.gz 25344 BLAKE2B 50c57fabdbdc0471281ce0201de0a473db7f9783f6984da4e8c55552ab542235452a0f3e85855fa9dbb10985d8d6ec9b9499b9778b3f7166e50edb853293d16f SHA512 e6e7a0d552bf2e5167978a0ac57d7a456a8e445853e16e94d261537af19ee73e4681ee336117e076cc3a3b6e416607bc5a5f2fcbc153675ff6129a4455a4f005
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.2.1.ebuild b/dev-python/pycurl-requests/pycurl-requests-0.2.1.ebuild
deleted file mode 100644
index f08e2f6638e1..000000000000
--- a/dev-python/pycurl-requests/pycurl-requests-0.2.1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Requests-compatible interface for PycURL"
-HOMEPAGE="https://github.com/dcoles/pycurl-requests"
-SRC_URI="https://github.com/dcoles/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.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
-
-python_test() {
- local deselect=(
- # network-sandbox
- pycurl_requests/tests/test_requests.py::test_get_connect_timeout
- pycurl_requests/tests/test_requests.py::test_get_connect_timeout_urllib3
- )
-
- epytest ${deselect[@]/#/--deselect }
-}
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/Manifest b/dev-python/pycurl/Manifest
index 767e5224c683..dcded486c50b 100644
--- a/dev-python/pycurl/Manifest
+++ b/dev-python/pycurl/Manifest
@@ -1 +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 33b0bfa5747a..000000000000
--- a/dev-python/pycurl/pycurl-7.45.1.ebuild
+++ /dev/null
@@ -1,93 +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_{8..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.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 bd8fdd9c4a29..b96673e1fedf 100644
--- a/dev-python/pycxx/Manifest
+++ b/dev-python/pycxx/Manifest
@@ -1 +1,2 @@
-DIST pycxx-7.1.5.tar.gz 156343 BLAKE2B 099de7f88c19ec86aea67b503e6fbdc0df66bbdd3bdc0ff7f8ce77425be9486e6abebed8548f9ac764688a85e62cda77d3832f460e5678b4c07b1c6d2123b257 SHA512 0f980298739886d0c05ddd5ee23ebb234014b8276d811e62dc5b0a738666c6a011ad3f4aeeb7b1b404d8bff87dddfc30f68eec9c6bd13d5f262a2f7c53e273be
+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/metadata.xml b/dev-python/pycxx/metadata.xml
index 0de8867fa9b6..898c29b01984 100644
--- a/dev-python/pycxx/metadata.xml
+++ b/dev-python/pycxx/metadata.xml
@@ -11,6 +11,9 @@
</longdescription>
<upstream>
<remote-id type="sourceforge">cxx</remote-id>
+ <!--
+ Note, PyCXX is not on PyPI, this is a *different* project:
<remote-id type="pypi">pycxx</remote-id>
+ -->
</upstream>
</pkgmetadata>
diff --git a/dev-python/pycxx/pycxx-7.1.5-r1.ebuild b/dev-python/pycxx/pycxx-7.1.5-r1.ebuild
deleted file mode 100644
index 42470d114ccf..000000000000
--- a/dev-python/pycxx/pycxx-7.1.5-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 ~x86-solaris"
-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-r1.ebuild b/dev-python/pycxx/pycxx-7.1.7-r1.ebuild
new file mode 100644
index 000000000000..8b27cd67cefd
--- /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_{10..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="https://downloads.sourceforge.net/cxx/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc examples"
+
+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
new file mode 100644
index 000000000000..0ee747e851dc
--- /dev/null
+++ b/dev-python/pycxx/pycxx-7.1.7.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..11} )
+# DISTUTILS_USE_PEP517=setuptools broken, installs files to /usr/CXX
+DISTUTILS_USE_SETUPTOOLS=no
+
+inherit distutils-r1
+
+DESCRIPTION="Set of facilities to extend Python with C++"
+HOMEPAGE="http://cxx.sourceforge.net"
+SRC_URI="https://downloads.sourceforge.net/cxx/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc examples"
+
+python_prepare_all() {
+ # Without this, pysvn fails.
+ # Src/Python3/cxxextensions.c: No such file or directory
+ sed -e "/^#include/s:Src/::" -i Src/*.{c,cxx} || die "sed failed"
+
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( Doc/. )
+ if use examples ; then
+ docinto examples
+ dodoc -r Demo/Python{2,3}/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pycxx/pycxx-7.1.8.ebuild b/dev-python/pycxx/pycxx-7.1.8.ebuild
new file mode 100644
index 000000000000..8b27cd67cefd
--- /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_{10..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="https://downloads.sourceforge.net/cxx/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc examples"
+
+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..ac9d75260273
--- /dev/null
+++ b/dev-python/pydantic-core/Manifest
@@ -0,0 +1,103 @@
+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.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.18.1.tar.gz 381997 BLAKE2B cf6878957d9494a23da18e722729da9f9e15ba112227ccb1d9bb41f411564e2d9843765b57b8c536726940d5170147a323ba1437677c3e0717cb2d304734e44b SHA512 10f5602bf8a9c9ae0cbeb0b88f093c0fe5fb0c66750e72fea424f11993f2b9aeda9455fada887ca8c9ae293de227d43f2252f2741b5f9af59636c3582e1fceb5
+DIST pydantic_core-2.18.2.tar.gz 383446 BLAKE2B 59e5a7f5c9fc911532997bf8a5f0937dcc26dd4d7e8b775bdbd9fd18ffcf2ade34686d159d2b7770a436f3b11fad5533cb556f459bc927fe5c4f33e3460423ee SHA512 d771815ac52e6aeb1779e108f7571e72d302e0b74d38f040d40eaa210259763cbbbf339824e3b35e827d6f0e2e00d7a1c019110ee93fb6908865a47fbe8a6890
+DIST pyo3-0.20.2.crate 434326 BLAKE2B 3114fd6f3fb8ae7d1b35c9d2ac5ba6a49c5ac911ee3a5b941c5063263ca7cce47fa4b4f7ec34cbfe3083f3d1303fd7f061639fba833a04fedb9d5098f5784028 SHA512 cc5151a116179157046ec92677e5a72318b4cdb13a7d7e3bb83778739b5758040e5020f667dd83554a66b758581a08f5de05eb38e7b339813cec85e0712e6355
+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.1.crate 30540 BLAKE2B 4019892096ee02c25ec6484eb56da12990fc84be5c5173f524e88e8b18e5b1b113d0db1962aff44253519bd1b5f3d4f01512ba86441927c19b04911d8282a039 SHA512 9eb4fbef1015deb1d7a414181926b6b4e44acc2347379783f2fe28e212986e62bb7e36d214d3bed613e9f213a9882084af9012042d9047846f7f4948f64112de
+DIST pyo3-ffi-0.20.2.crate 64601 BLAKE2B cf1141ad34a13dcb46de0d1e15dda192ca41a7441bfc92a9295861876dcc690d1d5d6d39dafa51cd70c4627353efa91563eaefee8c39f655d12818003f9524da SHA512 ee6386b6fdb80689d104f9cd5229f02e1893d00a52be710bd36882c47305abbe24ef2f3cdef8200fddc0bb97e29001fa3a2fd9d3d2673ecd9a104a070420d01e
+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.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.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.197.crate 77087 BLAKE2B 4a4e04ededf5fefaabfcc4e17457db823239e8eeee7631a905ed47800ca10d26a93632e3a9d1b784b83f84168d0d649cfa2e6f5f1e68ab15a68e837cd5b6c699 SHA512 69e42825fce6a0a5d109979785daceacfd6afc5641e202fe83da32e2b1f968416557cce97fa014839e873e65f85c27494c8f8e20e6e9e4fbedf20d0291880410
+DIST serde_derive-1.0.195.crate 55687 BLAKE2B 4da7916e36f71dfe82defa6c45b3075395cae54631cdff08a4607e962290020e7214288258fd316439c02536073325f5902e7b00144f97269a207fc453496599 SHA512 8a82ae4e7cfe0c3ac27688cc95d74bf4c2e10c1fe845ab28fb57579b2f47f36d13218c2ae603f93f00114065d47c3e46166dea39b205be673f443c34305dacce
+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.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.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-core/pydantic-core-2.18.2.ebuild b/dev-python/pydantic-core/pydantic-core-2.18.2.ebuild
new file mode 100644
index 000000000000..eaf0ce478b6f
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.18.2.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 c2df15184cf6..ce01058c028c 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -1 +1,4 @@
-DIST pydantic-1.9.1.tar.gz 306846 BLAKE2B c22e892f403b6ca5eff7f888c68f9df5c198fa03c8dab833edc556b3b1a4819fc28c9818a649bf5d9c4bb745b0bde826e164eda7760cd26f88e278c86776ad84 SHA512 19d2a50ef054b76cc7e8756759f3d67a14a58614dd6ff1b4f60e73354b0028e08743aa3bb5944da7ae357ab279134d3685c454d6affa6524b267c7cd9a40375e
+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
+DIST pydantic-2.7.1.tar.gz 713923 BLAKE2B deeb9a63b290c8c3227c386b2982e11fb9385d16cb30e3522138219aef526dd7a077ddf496c92f8e3ed34ccbe21654177c539727e75bc209915f27817dfc62df SHA512 6b85c37384629e3df5f2b58e39ee9bf67f902b1ad2b05eb1298f03da8a945fc8f0865408948ad5deef76ca1d014f360ba778d4d957b6e7e158d2aa5c22861bd9
diff --git a/dev-python/pydantic/metadata.xml b/dev-python/pydantic/metadata.xml
index 1dd14ba69a2d..d4e4f5e7b94e 100644
--- a/dev-python/pydantic/metadata.xml
+++ b/dev-python/pydantic/metadata.xml
@@ -6,9 +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">samuelcolvin/pydantic</remote-id>
- <bugs-to>https://github.com/samuelcolvin/pydantic/issues</bugs-to>
- <doc>https://pydantic-docs.helpmanual.io/</doc>
+ <remote-id type="github">pydantic/pydantic</remote-id>
+ <bugs-to>https://github.com/pydantic/pydantic/issues</bugs-to>
+ <doc>https://docs.pydantic.dev/latest/</doc>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pydantic/pydantic-1.9.1.ebuild b/dev-python/pydantic/pydantic-1.9.1.ebuild
deleted file mode 100644
index 1c247df8fc3d..000000000000
--- a/dev-python/pydantic/pydantic-1.9.1.ebuild
+++ /dev/null
@@ -1,77 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Data parsing and validation using Python type hints"
-HOMEPAGE="https://github.com/samuelcolvin/pydantic"
-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"
-
-RDEPEND="
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- 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 ]]; 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
- python3.8)
- EPYTEST_DESELECT+=(
- # Those fail on python 3.8 as None changed typing semantic on >=3.9
- "tests/test_types.py::test_none[value_type3]"
- tests/test_typing.py::test_is_none_type
- )
- ;;
- pypy3)
- EPYTEST_DESELECT+=(
- tests/test_dataclasses.py::test_self_reference_dataclass
- 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/pydantic/pydantic-2.7.1.ebuild b/dev-python/pydantic/pydantic-2.7.1.ebuild
new file mode 100644
index 000000000000..1df1af402c1f
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.7.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=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.2[${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 bd519e7b2d1f..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.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.ebuild b/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.7.2.ebuild
deleted file mode 100644
index c9882d5eba7c..000000000000
--- a/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.7.2.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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"
-SRC_URI="https://github.com/pydata/pydata-sphinx-theme/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-with-disclosure"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- test? (
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/pytest-regressions[${PYTHON_USEDEP}]
- )"
-
-RDEPEND="
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/docutils[${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 e250f6ff769a..000000000000
--- a/dev-python/pydbus/pydbus-0.6.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 9bf3c7059d42..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
+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 5179c059b59c..210c440ca934 100644
--- a/dev-python/pydecomp/pydecomp-9999.ebuild
+++ b/dev-python/pydecomp/pydecomp-9999.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/pydevd/Manifest b/dev-python/pydevd/Manifest
index 085e3921ed94..aac1fef617ef 100644
--- a/dev-python/pydevd/Manifest
+++ b/dev-python/pydevd/Manifest
@@ -1 +1,3 @@
-DIST pydev_debugger_2_8_0.tar.gz 4171117 BLAKE2B 4f0ea0eeb228cb66f71e2046438396ff5ce59b42e620a067bc515ff504fa2da151e05f8ea6cf2d1aaa0768122431ccb45708a88c0616fb2859e96671b172e822 SHA512 b0189f1824b52f8ad35d1d1cfba0bd734806541ae2ff4f410c110763201630d296d10c2b7eaac8c656dfb3ff0f3c31bfdf2de28323778000cc7821e123a877d3
+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.8.0-r1.ebuild b/dev-python/pydevd/pydevd-2.8.0-r1.ebuild
deleted file mode 100644
index a4da1a2f06b0..000000000000
--- a/dev-python/pydevd/pydevd-2.8.0-r1.ebuild
+++ /dev/null
@@ -1,89 +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_{8..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"
-S="${WORKDIR}/PyDev.Debugger-${MY_P}"
-
-LICENSE="EPL-1.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k 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/Manifest b/dev-python/pydiffx/Manifest
index 623c2c5b1c61..da088a44fe9b 100644
--- a/dev-python/pydiffx/Manifest
+++ b/dev-python/pydiffx/Manifest
@@ -1 +1 @@
-DIST diffx-pydiffx-release-1.0.1.tar.gz 82838 BLAKE2B 80ac477ff6b72dd089f134afc988251b20f7675e05c429e12238800145ed70f57acca835ddfdd77a2b22e53767b77d741537aad02f93bdefcee06a44965c7904 SHA512 dcb6b9dad321c5bec940d13dcf64853587c4e7636d34ea3ac4bc2b54df8915e1ac9804932034c069fcfba5f10f05972cc7dc46ba0d37c2e08c684bcbb2c2409e
+DIST diffx-pydiffx-release-1.1.gh.tar.gz 83721 BLAKE2B fb38b40f4385e00bd8ac45111ac6308b8a5ba7148e74c020c9e7c6b5480466b2301e580f93c98d761087f443339394c124eee061edafd454f0d71839103a6caf SHA512 596d9d70134cadcbdb8fbdd10fe22f8922276d1a822c60430e765b70b0fba9cd16578c94743aef4afaae7ab8409cc2e171028a154cd1231ad6c54dbe229b93e3
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.0.1-r1.ebuild b/dev-python/pydiffx/pydiffx-1.0.1-r1.ebuild
deleted file mode 100644
index a5106d25a571..000000000000
--- a/dev-python/pydiffx/pydiffx-1.0.1-r1.ebuild
+++ /dev/null
@@ -1,43 +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_{8..10} )
-
-inherit distutils-r1
-
-MY_P=diffx-pydiffx-release-${PV}
-DESCRIPTION="Python module for reading and writing DiffX files"
-HOMEPAGE="
- https://diffx.org/pydiffx/
- https://github.com/beanbaginc/diffx/
- https://pypi.org/project/pydiffx/
-"
-SRC_URI="
- https://github.com/beanbaginc/diffx/archive/pydiffx/release-${PV}.tar.gz
- -> ${MY_P}.tar.gz
-"
-S=${WORKDIR}/${MY_P}/python
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/kgb[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # remove .dev tag that breaks revdeps
- sed -i -e '/tag_build/d' setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pydiffx/pydiffx-1.1.ebuild b/dev-python/pydiffx/pydiffx-1.1.ebuild
new file mode 100644
index 000000000000..850b78f95d84
--- /dev/null
+++ b/dev-python/pydiffx/pydiffx-1.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=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+MY_P=diffx-pydiffx-release-${PV}
+DESCRIPTION="Python module for reading and writing DiffX files"
+HOMEPAGE="
+ https://diffx.org/pydiffx/
+ https://github.com/beanbaginc/diffx/
+ https://pypi.org/project/pydiffx/
+"
+SRC_URI="
+ https://github.com/beanbaginc/diffx/archive/pydiffx/release-${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/python
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/kgb[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-py3.12.patch
+)
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # remove .dev tag that breaks revdeps
+ sed -e '/tag_build/d' -i setup.cfg || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pydispatcher/Manifest b/dev-python/pydispatcher/Manifest
deleted file mode 100644
index b9ff6f714718..000000000000
--- a/dev-python/pydispatcher/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST PyPyDispatcher-2.1.2.tar.gz 23224 BLAKE2B 881e7063e61f80ed08f2e46967c7cf7e35d9687025a55d9b446e034085a09627b75263519c16ac64e0cbd9f84e822095f89ecbc52e95ed23a65fcb50d4e90d52 SHA512 a8a94a68551e72da2703a4f7fc93296fbffe78518ff363930125874a2a65dbbe4fe9434e910e0d019fb653785e41d024fe2c9d5bab5072c3989dd2a61ffcb708
diff --git a/dev-python/pydispatcher/metadata.xml b/dev-python/pydispatcher/metadata.xml
deleted file mode 100644
index 90ca4bd927d1..000000000000
--- a/dev-python/pydispatcher/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>
- <upstream>
- <!-- 2.1+ -->
- <remote-id type="pypi">PyPyDispatcher</remote-id>
- <remote-id type="github">scrapy/pypydispatcher</remote-id>
- <!-- for <2.1 -->
- <remote-id type="pypi">PyDispatcher</remote-id>
- <remote-id type="sourceforge">pydispatcher</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pydispatcher/pydispatcher-2.1.2-r1.ebuild b/dev-python/pydispatcher/pydispatcher-2.1.2-r1.ebuild
deleted file mode 100644
index 590658633aa1..000000000000
--- a/dev-python/pydispatcher/pydispatcher-2.1.2-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=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-MY_P="PyPyDispatcher-${PV}"
-DESCRIPTION="Multi-producer-multi-consumer signal dispatching mechanism"
-HOMEPAGE="https://github.com/scrapy/pypydispatcher https://pypi.org/project/PyPyDispatcher/"
-SRC_URI="mirror://pypi/${MY_P::1}/${MY_P%-*}/${MY_P}.tar.gz"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~ia64 ~ppc ~x86"
-
-distutils_enable_tests unittest
diff --git a/dev-python/pydocstyle/Manifest b/dev-python/pydocstyle/Manifest
deleted file mode 100644
index 70448015989d..000000000000
--- a/dev-python/pydocstyle/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pydocstyle-6.1.1.tar.gz 73982 BLAKE2B 6a896221fdcd257f0475472e1cf87ef892d8292a4c0faf661595adb17e2d18f4a8277cda498197309d34597c448203856c272256277a7e35fba20e2e5ba47f2b SHA512 ce4932a6601c80d05a46600f5af7df54798025a5f3dc41ab8cf1bc0d63e7f78b70cccb17dc99ddab25eda9abd639f91468fca1b1ceb4539708350212e481a156
diff --git a/dev-python/pydocstyle/files/pydocstyle-6.1.1-disarm-pip-install.patch b/dev-python/pydocstyle/files/pydocstyle-6.1.1-disarm-pip-install.patch
deleted file mode 100644
index b0467a136435..000000000000
--- a/dev-python/pydocstyle/files/pydocstyle-6.1.1-disarm-pip-install.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 46947c9dca95caeb7b1f4348994d1aa2b8db93ec Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 18 May 2021 10:02:16 +0200
-Subject: [PATCH] Disarm install_package fixture
-
----
- src/tests/test_integration.py | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/src/tests/test_integration.py b/src/tests/test_integration.py
-index eb4994f..4242476 100644
---- a/src/tests/test_integration.py
-+++ b/src/tests/test_integration.py
-@@ -128,14 +128,7 @@ def install_package(request):
- This is so we can run the integration tests on the installed console
- script.
- """
-- cwd = os.path.join(os.path.dirname(__file__), '..', '..')
-- subprocess.check_call(
-- [sys.executable, "-m", "pip", "install", "-e", "."], cwd=cwd
-- )
- yield
-- subprocess.check_call(
-- [sys.executable, "-m", "pip", "uninstall", "-y", "pydocstyle"], cwd=cwd
-- )
-
-
- @pytest.yield_fixture(scope="function", params=['ini', 'toml'])
---
-2.31.1
-
diff --git a/dev-python/pydocstyle/metadata.xml b/dev-python/pydocstyle/metadata.xml
deleted file mode 100644
index c6899ee0daad..000000000000
--- a/dev-python/pydocstyle/metadata.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Gentoo Python Project</name>
- </maintainer>
- <maintainer type="person">
- <email>monsieurp@gentoo.org</email>
- <name>Patrice Clement</name>
- </maintainer>
- <maintainer type="person">
- <email>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">PyCQA/pydocstyle</remote-id>
- <remote-id type="pypi">pydocstyle</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pydocstyle/pydocstyle-6.1.1-r1.ebuild b/dev-python/pydocstyle/pydocstyle-6.1.1-r1.ebuild
deleted file mode 100644
index e3d4a9f3dd1b..000000000000
--- a/dev-python/pydocstyle/pydocstyle-6.1.1-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_{8..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 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- dev-python/snowballstemmer[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/toml[${PYTHON_USEDEP}]
- )
-"
-
-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
-)
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 f218074c7358..000000000000
--- a/dev-python/pydot/pydot-1.4.2-r3.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 ad5e8dc93e31..000000000000
--- a/dev-python/pydotplus/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>gentoo@chymera.eu</email>
- <name>Horea Christian</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <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 8b8cfe13eed5..000000000000
--- a/dev-python/pydotplus/pydotplus-2.0.2-r1.ebuild
+++ /dev/null
@@ -1,33 +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_{8..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 67f47ca9d682..cd1aa4b0cb95 100644
--- a/dev-python/pydyf/Manifest
+++ b/dev-python/pydyf/Manifest
@@ -1 +1,2 @@
-DIST pydyf-0.2.0.gh.tar.gz 14530 BLAKE2B 00c696ea191abe111bf0ef098507f34ebaaaee516dc1afc46a194f3e051171ad1854292f5a3fcf1b559945990647ef8cbb308b3afe0dbc05120f15aa74dc8a63 SHA512 276083d8082c5ccc945144b7d2e3ba29f160d5159aa8d27726079dcc09a44a95d5b0f790874425cb41a00b1c22890b435b756b0bbe14ab43e9ad04a8ae2dad0e
+DIST pydyf-0.10.0.tar.gz 17615 BLAKE2B e378f26ab2dc4d904762d967c0552f3a9d96248c0fd2687669f22c0ee3af5d35cf59c60f0dc0b015a4d1cd098a2de01d102cbf16e8c5d48b3f56299b36c55884 SHA512 7c35a818569dda0edb0dda5e31c595a65e2637594a7a6815ef3b41e34c10a4f2a1b3412af59f48fee2e72e8bf23c01e651b46130e1927645cbafc7d99c104574
+DIST pydyf-0.9.0.tar.gz 17270 BLAKE2B df2068a2447a36d730d19f12917345ac85026f695193d39267a540a2776aaac6cfa4c501adec25a49183fe92b9b2e4bc089fd3be29943a09a627d4505fc6d3cb SHA512 e834026cae3782f7ac43b47bc30d21f3d1c39bcd4017823aaf01f5da4a67f924650f6e0285107d07bc63743ff4d718b3165a84c5805223305907ba3de45207a5
diff --git a/dev-python/pydyf/pydyf-0.10.0.ebuild b/dev-python/pydyf/pydyf-0.10.0.ebuild
new file mode 100644
index 000000000000..367fc2edc9f9
--- /dev/null
+++ b/dev-python/pydyf/pydyf-0.10.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..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/pydyf/pydyf-0.2.0.ebuild b/dev-python/pydyf/pydyf-0.2.0.ebuild
deleted file mode 100644
index 6d8ecdb03cf5..000000000000
--- a/dev-python/pydyf/pydyf-0.2.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..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
-
-src_prepare() {
- sed -i -e '/addopts/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
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 92ca26df9edd..d7b6b193ba80 100644
--- a/dev-python/pyeclib/pyeclib-1.6.1.ebuild
+++ b/dev-python/pyeclib/pyeclib-1.6.1.ebuild
@@ -1,19 +1,19 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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_{8..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 44ad39ed6598..8856d57cb21b 100644
--- a/dev-python/pyelftools/Manifest
+++ b/dev-python/pyelftools/Manifest
@@ -1 +1 @@
-DIST pyelftools-0.28.gh.tar.gz 5086001 BLAKE2B 87dad42d87b9d3de2382e21d6f7115fb24e420e262735d4bd73c4e3a325d10b69c6eab5d73ff999811633d6a024c22c15ad65be637339f0c609378d54926f747 SHA512 005163a53fe12baad0998d60d531e3ce4201236b7b042e3c28d7e68f9c40586f94a2576be6918be991a3bf464f2ca55700c0475a6e8c7b05b4342a6f5bbf3354
+DIST pyelftools-0.31.gh.tar.gz 14204157 BLAKE2B 9e5a1e0a7b9292b30db7331e18c5c800f84eb087b58b266f3f23a7c9c5e7ea655f913788495e1df04e79c9f0a82789cad58ee2dcd8a0afb17e696d4c58679f33 SHA512 7f4ef37da7fda75125cb95ced2f3084848943592eff7deae7ae917508f1cd5281c96960ee3bbc6e503e71a4e2196622cd68cc67e3df1f4cd99b9b675f14fd58c
diff --git a/dev-python/pyelftools/pyelftools-0.28.ebuild b/dev-python/pyelftools/pyelftools-0.28.ebuild
deleted file mode 100644
index cc04c1577d01..000000000000
--- a/dev-python/pyelftools/pyelftools-0.28.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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
- local t
- for t in all_unittests examples_test ; do
- "${EPYTHON}" ./test/run_${t}.py || die "Tests fail with ${EPYTHON}"
- done
-}
-
-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 1ad802ab1bc0..7020eba0b0e4 100644
--- a/dev-python/pyenchant/pyenchant-3.2.2-r1.ebuild
+++ b/dev-python/pyenchant/pyenchant-3.2.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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=( pypy3 python3_{8..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 014387b128c9..ca8639a01728 100644
--- a/dev-python/pyfakefs/Manifest
+++ b/dev-python/pyfakefs/Manifest
@@ -1,5 +1 @@
-DIST pyfakefs-4.5.6.tar.gz 206310 BLAKE2B c37cb4709a285bfba411cd76da4f158cfe682d210411290ed3e06456ceb5b6de99ecc320da748c8d9b0e230b6384290638d3fd22f0e1388c1965b2b2806d2d30 SHA512 c7a31cc94eaa2b1830d4da355bf4d3de5cbdc8851561ec82fd2de9fe845457f13bcc25aa58a50afb862f396cb0e83c8bf71bb8be51cc3b628ff01b25db62eca6
-DIST pyfakefs-4.6.0.gh.tar.gz 208832 BLAKE2B 60a8c3223fc92e366beb8907ea0c8f242b91ddd422ab0b551d04d7c24ed3d4202b7c42b8971eef0f15fa27b7ed0821637e9341b3feeaf02232948a50898213d6 SHA512 9f507c7b0e28591886cb91c36dad22d6c55d123a447070c2fdc6573d2db1e2bb79cd5c203a9fce762882de680feacaf7e3b57f9bebf6922c643bf61fe44878f2
-DIST pyfakefs-4.6.1.gh.tar.gz 209134 BLAKE2B 81dc53dad9e815eaf3024f157aab36afcfd6547485b92b47e5acf2b03f49eb6ffe0d07da1c4d16b82585870535ba9d44580f190c28856dba6906d07996aba2f7 SHA512 ef2defe59e84e6e85408e7369efc86c1d6f3981456a2628552b63b8fca959ff8536b41fb006bd8b291bef9fb3dba17126c4e211a21f0d11cc29da8f7d5addce2
-DIST pyfakefs-4.6.2.gh.tar.gz 209535 BLAKE2B ffc14a6fbe55958c05cb9d2343d5375f1b72fb3264de2ccd72ee225a8569bb2de1a79cab597eb17f6b5ffeefa1ed224d0997ebd9b416ed357eff75cab24652bd SHA512 60a1c7f2ce969df91e0cabba85aaeb941ae38346c5f83f3fb39c112d49e51f53a837710b16d46096bbf7182b076f13b0aafbe4e7e34fdcfb2c49720958e35cef
-DIST pyfakefs-4.6.3.gh.tar.gz 209890 BLAKE2B 71f84ca02a8a1f9fa5541e0cac1cddd270a8fc66fe5d1f62e8c7bf017f4992e93a6d1bce83847c3833f841e7935d86d6b59b17ee114c82a9d2c36e9c5fe87d02 SHA512 b34091e4311c69ee3eb46cc631c00ec07804c6d5add42887f850275dc0c22d07a893d5dadf2febcbee15c631b476573e63ae52a9ae5780d83a0ef774cff11a5a
+DIST pyfakefs-5.4.1.gh.tar.gz 237928 BLAKE2B 8abea2d884d69717ab754c38666633f86230e981ddb099f8f9493d4d82ff0ff73e644ec793ea5e68edc662fee72dfd833fcab068b73fd5285555d2e5d8445823 SHA512 f27ce662a443623717a91e3fe1895cbbf7a64d009b7846b61c890ebabb0c3bb978b12bb83b68460fc026f4a0cfe846afb6057b72306e822dc8ba75d6e2f1b555
diff --git a/dev-python/pyfakefs/metadata.xml b/dev-python/pyfakefs/metadata.xml
index 2d82092ab768..bbe3dd1fc390 100644
--- a/dev-python/pyfakefs/metadata.xml
+++ b/dev-python/pyfakefs/metadata.xml
@@ -8,6 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">pyfakefs</remote-id>
- <remote-id type="github">jmcgeheeiv/pyfakefs</remote-id>
+ <remote-id type="github">pytest-dev/pyfakefs</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pyfakefs/pyfakefs-4.5.6.ebuild b/dev-python/pyfakefs/pyfakefs-4.5.6.ebuild
deleted file mode 100644
index 4e1d2e411cce..000000000000
--- a/dev-python/pyfakefs/pyfakefs-4.5.6.ebuild
+++ /dev/null
@@ -1,43 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="a fake file system that mocks the Python file system modules"
-HOMEPAGE="
- https://github.com/jmcgeheeiv/pyfakefs/
- https://pypi.org/project/pyfakefs/
-"
-SRC_URI="
- https://github.com/jmcgeheeiv/${PN}/archive/v${PV}.tar.gz
- -> ${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"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
-
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # known problem with the test suite
- pyfakefs/tests/fake_filesystem_unittest_test.py::AdditionalSkipNamesModuleTest::test_fake_path_does_not_exist3
- pyfakefs/tests/fake_filesystem_unittest_test.py::AdditionalSkipNamesModuleTest::test_fake_path_does_not_exist7
- pyfakefs/tests/fake_filesystem_unittest_test.py::AdditionalSkipNamesTest::test_fake_path_does_not_exist3
- pyfakefs/tests/fake_filesystem_unittest_test.py::AdditionalSkipNamesTest::test_fake_path_does_not_exist7
- pyfakefs/tests/fake_pathlib_test.py::FakePathlibFileObjectPropertyTest
- pyfakefs/tests/fake_pathlib_test.py::FakePathlibPathFileOperationTest
- pyfakefs/tests/fake_pathlib_test.py::FakePathlibUsageInOsFunctionsTest::test_stat
- pyfakefs/tests/fake_pathlib_test.py::FakePathlibUsageInOsFunctionsTest::test_stat_follow_symlinks
- )
-
- epytest
-}
diff --git a/dev-python/pyfakefs/pyfakefs-4.6.0.ebuild b/dev-python/pyfakefs/pyfakefs-4.6.0.ebuild
deleted file mode 100644
index 926e0dc49359..000000000000
--- a/dev-python/pyfakefs/pyfakefs-4.6.0.ebuild
+++ /dev/null
@@ -1,43 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A fake file system that mocks the Python file system modules"
-HOMEPAGE="
- https://github.com/jmcgeheeiv/pyfakefs/
- https://pypi.org/project/pyfakefs/
-"
-SRC_URI="
- https://github.com/jmcgeheeiv/${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 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_DESELECT=()
-
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- pyfakefs/pytest_tests/pytest_plugin_test.py::test_pause_resume
- pyfakefs/pytest_tests/pytest_plugin_test.py::test_pause_resume_contextmanager
- pyfakefs/tests/fake_filesystem_unittest_test.py::PauseResumeTest
- pyfakefs/tests/fake_filesystem_unittest_test.py::PauseResumePatcherTest
- pyfakefs/tests/fake_tempfile_test.py::FakeTempfileModuleTest::test_named_temporary_file
- pyfakefs/tests/fake_tempfile_test.py::FakeTempfileModuleTest::test_named_temporary_file_no_delete
- pyfakefs/tests/fake_tempfile_test.py::FakeTempfileModuleTest::test_temporary_file
- pyfakefs/tests/fake_tempfile_test.py::FakeTempfileModuleTest::test_temporay_file_with_dir
- )
-
- epytest -p pyfakefs.pytest_plugin
-}
diff --git a/dev-python/pyfakefs/pyfakefs-4.6.1.ebuild b/dev-python/pyfakefs/pyfakefs-4.6.1.ebuild
deleted file mode 100644
index 54098f2af2c1..000000000000
--- a/dev-python/pyfakefs/pyfakefs-4.6.1.ebuild
+++ /dev/null
@@ -1,30 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A fake file system that mocks the Python file system modules"
-HOMEPAGE="
- https://github.com/jmcgeheeiv/pyfakefs/
- https://pypi.org/project/pyfakefs/
-"
-SRC_URI="
- https://github.com/jmcgeheeiv/${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 ~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-4.6.2.ebuild b/dev-python/pyfakefs/pyfakefs-4.6.2.ebuild
deleted file mode 100644
index 54098f2af2c1..000000000000
--- a/dev-python/pyfakefs/pyfakefs-4.6.2.ebuild
+++ /dev/null
@@ -1,30 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A fake file system that mocks the Python file system modules"
-HOMEPAGE="
- https://github.com/jmcgeheeiv/pyfakefs/
- https://pypi.org/project/pyfakefs/
-"
-SRC_URI="
- https://github.com/jmcgeheeiv/${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 ~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-4.6.3.ebuild b/dev-python/pyfakefs/pyfakefs-4.6.3.ebuild
deleted file mode 100644
index 54098f2af2c1..000000000000
--- a/dev-python/pyfakefs/pyfakefs-4.6.3.ebuild
+++ /dev/null
@@ -1,30 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A fake file system that mocks the Python file system modules"
-HOMEPAGE="
- https://github.com/jmcgeheeiv/pyfakefs/
- https://pypi.org/project/pyfakefs/
-"
-SRC_URI="
- https://github.com/jmcgeheeiv/${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 ~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.4.1.ebuild b/dev-python/pyfakefs/pyfakefs-5.4.1.ebuild
new file mode 100644
index 000000000000..ebe04cf6f2f1
--- /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 ee8bf1764e75..24bae05ca629 100644
--- a/dev-python/pyflakes/Manifest
+++ b/dev-python/pyflakes/Manifest
@@ -1,2 +1 @@
-DIST pyflakes-2.4.0.tar.gz 69101 BLAKE2B 852e50f3545138947761f9a8413fd6463bb9a28977c008feb1c3a81afb3854501b8fd3c05840d9d75bc6ebf505b545e62c047b87780b0bc764fd4225ea6a1e21 SHA512 f4c6512eb811511c897623f52c4f88e50275a3292582d7dd34462e90e39fecce939818cb92e750eebdd66eab25b91c23540104fc4530c42621d7cfeb1d33c577
-DIST pyflakes-2.5.0.tar.gz 66388 BLAKE2B 2511700c208a2eabe8f71597b2fa0bd69b6a1fb9fc1428fbb21ab7fad801bb3ad38f72f9a0c98f654828cc2f183a75c1c208e554c876bf77fe91c9c88b93e25e SHA512 e47303c4b445e0c010dfc96244b6fa991bd1870072c61cc7acd309947af3d81581276b012b56b7db0d8df3f91a4216a5ec502720c149f5707d5d1d28654aeeb4
+DIST pyflakes-3.2.0.tar.gz 63788 BLAKE2B 12547bc1ef69d11efb86198c091072085df8a5435608aace18eab9da92b428980ad62fc4b7b6e182bee7963c511b637c17191db9138fc811256f553b902dbd66 SHA512 bd413b2ad80ae942bc13cef5ecb3a47b09abb0641fe468d427717b32895eb1702c9e8831867fbaa1de6fff71ab16bc3dae96f745bbc3e7d99de104a008f397ba
diff --git a/dev-python/pyflakes/pyflakes-2.4.0-r1.ebuild b/dev-python/pyflakes/pyflakes-2.4.0-r1.ebuild
deleted file mode 100644
index 9e1e1477eb75..000000000000
--- a/dev-python/pyflakes/pyflakes-2.4.0-r1.ebuild
+++ /dev/null
@@ -1,22 +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_{8..11} )
-
-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 ~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-2.5.0.ebuild b/dev-python/pyflakes/pyflakes-2.5.0.ebuild
deleted file mode 100644
index 6c7451e4c1f0..000000000000
--- a/dev-python/pyflakes/pyflakes-2.5.0.ebuild
+++ /dev/null
@@ -1,22 +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_{8..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 ~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 00c24dde4952..000000000000
--- a/dev-python/pyformance/pyformance-0.4-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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 5e424d106727..187310993d85 100644
--- a/dev-python/pyftpdlib/Manifest
+++ b/dev-python/pyftpdlib/Manifest
@@ -1 +1 @@
-DIST pyftpdlib-1.5.6.tar.gz 188099 BLAKE2B 508e94da6b27b4b1f15306df2916c176f07ca31944398e9ac580fca8d2cdc72ca0ee8e7db282de6745e2e401b23b1fa8cb8de400dc2ba998b93ac45772c78157 SHA512 a3c3c1cac221a8a3c090ee208c03134bb1b8de58099a23ca6ee422f06fb97a0ed561c96e62c62b21fa112dd0b3458651b9fc0c55d72dc0bed79d0583b319a50d
+DIST pyftpdlib-1.5.9.tar.gz 204755 BLAKE2B f96e670a37023489a3f70f28d7e489633031f4c8dd34e6ece04a13a36a5de60f216dc267a80650c3f315a6a83081b1afc1b470c75ca18af5a80729a7ac363b98 SHA512 3efa07f5522cee89d2bf60c93b1315dfb149da622f34e043aca0ac1c4336c0a0885d7238123068401afa6988da9cbde6adfac78f08918d3a14e84c17ebb8b32f
diff --git a/dev-python/pyftpdlib/pyftpdlib-1.5.6-r1.ebuild b/dev-python/pyftpdlib/pyftpdlib-1.5.6-r1.ebuild
deleted file mode 100644
index a3f60ad551f6..000000000000
--- a/dev-python/pyftpdlib/pyftpdlib-1.5.6-r1.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 skipped_tests=(
- # 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
- epytest -p no:xvfb ${skipped_tests[@]/#/--deselect }
-}
-
-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 e1db1f7198d8..4b6c7350f565 100644
--- a/dev-python/pyfuse3/Manifest
+++ b/dev-python/pyfuse3/Manifest
@@ -1 +1 @@
-DIST pyfuse3-3.2.1.tar.gz 509083 BLAKE2B 16ada8aec47d8049907ef2710e9bfdf7991a8127560e7264e4eb58f7062efde478d2914597333991be4a6ef67a2a83c470560456287c1298b2008454ac831fb0 SHA512 468ef4cf9e2caef346a108f481a4c6dca8909ff3ea5aed11187df4c70c72c6180af9004348d25648368598495e5a5d9be2ba95d37f4d6d8a8c982f4893471b04
+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.1-r2.ebuild b/dev-python/pyfuse3/pyfuse3-3.2.1-r2.ebuild
deleted file mode 100644
index 373c92fb4944..000000000000
--- a/dev-python/pyfuse3/pyfuse3-3.2.1-r2.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Python 3 bindings for libfuse 3 with asynchronous API"
-HOMEPAGE="https://github.com/libfuse/pyfuse3"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-CDEPEND="
- sys-fs/fuse:3
-"
-
-RDEPEND="
- dev-python/trio[${PYTHON_USEDEP}]
- ${CDEPEND}
-"
-
-DEPEND="
- ${CDEPEND}
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-BDEPEND="test? (
- dev-python/pytest-trio[${PYTHON_USEDEP}]
-)"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- python_setup
- # Shipped pre-generated .pyx do not work with Python 3.10.
- esetup.py build_cython
- distutils-r1_python_prepare_all
-}
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 60f48d076b61..000000000000
--- a/dev-python/pygal/pygal-3.0.0-r2.ebuild
+++ /dev/null
@@ -1,44 +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_{8..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.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 c7da382d8d6c..000000000000
--- a/dev-python/pygame/pygame-2.1.2-r1.ebuild
+++ /dev/null
@@ -1,82 +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_{8..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
- )"
-
-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.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 cd005d4ae4be..000000000000
--- a/dev-python/pygame_sdl2/pygame_sdl2-7.3.5-r2.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
-
-PYTHON_COMPAT=( python3_{8..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 7dca13440725..000000000000
--- a/dev-python/pygccxml/pygccxml-2.2.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~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 ea8dbbfbc43f..b46215597c84 100644
--- a/dev-python/pyghmi/Manifest
+++ b/dev-python/pyghmi/Manifest
@@ -1,4 +1,3 @@
-DIST pyghmi-1.5.48.tar.gz 243927 BLAKE2B 8395aa3bbba752654c2ad73f76735370f31f9548f91e7e0bbb3e52afd2d67a00b316f7e1e25a49ad16004308a635104fa57a00a6bed63639068de86d96e44316 SHA512 f3ee4d44504b2fa5950817e1957ac23c666af6ba36b0ba65dafa5b42036d12d204accf996c75947ecdb5f9533025b9b0d17b0e96612019d622fee678fd0ff592
-DIST pyghmi-1.5.49.tar.gz 244142 BLAKE2B f35b483cc4d48c5bc3fe6bd5c6ac3ea320d7c131a0e77f8ff8af1d14ecdc38972170d93b830070ab8c2d27ec8b8f1607ea0c065af4ad402bd0ee2e25307b9658 SHA512 9c8ce9ddf61b613cba59a49af4f5ebc40e37f83debf10854d2781f6b47fb0fff058cb9f784ed2d527f84ed1bad7c12acb97460fbab6a8552876510634c1bf5dd
-DIST pyghmi-1.5.50.tar.gz 244226 BLAKE2B 461bc9598497ae1f61d772ff223e7e4d2dc62660d41da2b660c4d71241c73c9107e8b0f74e5cf33fa8c9a8e79afaa834e4fb72e584ab2234a2874f9b23927208 SHA512 96fd274d8c7e55b6efc23612f145575e27a9a4949e20495ccfe023ff37dd7103cf0f42134350bf5fc0d1e4f86416981d01c18bd00d97a0b7a738fb5b363da457
-DIST pyghmi-1.5.51.tar.gz 244303 BLAKE2B 9d675de9a3df5c314d5d0bf73cb0086297cf67d07d0f4488c65cbcb7ffa68aaccb9149666eded4c40984c1936a46294f113be07dd5b4e9ad772e3f40d9d29f19 SHA512 ab7f650f984f7677fcac4895c9d75f4184ae3268793c4c6682e2150c2e433b0b6c15ea7008cdd2389b5f2db992e3cae117c2bc2dc13b7d7cb3a19172fc12783c
+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.48.ebuild b/dev-python/pyghmi/pyghmi-1.5.48.ebuild
deleted file mode 100644
index 1844c945d4be..000000000000
--- a/dev-python/pyghmi/pyghmi-1.5.48.ebuild
+++ /dev/null
@@ -1,39 +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_{8..10} )
-
-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.49.ebuild b/dev-python/pyghmi/pyghmi-1.5.49.ebuild
deleted file mode 100644
index 1844c945d4be..000000000000
--- a/dev-python/pyghmi/pyghmi-1.5.49.ebuild
+++ /dev/null
@@ -1,39 +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_{8..10} )
-
-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.50.ebuild b/dev-python/pyghmi/pyghmi-1.5.50.ebuild
deleted file mode 100644
index 1844c945d4be..000000000000
--- a/dev-python/pyghmi/pyghmi-1.5.50.ebuild
+++ /dev/null
@@ -1,39 +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_{8..10} )
-
-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.51.ebuild b/dev-python/pyghmi/pyghmi-1.5.51.ebuild
deleted file mode 100644
index 1844c945d4be..000000000000
--- a/dev-python/pyghmi/pyghmi-1.5.51.ebuild
+++ /dev/null
@@ -1,39 +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_{8..10} )
-
-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 efc372745ac5..4bc70f331ef5 100644
--- a/dev-python/pygit2/Manifest
+++ b/dev-python/pygit2/Manifest
@@ -1,2 +1 @@
-DIST pygit2-1.10.0.gh.tar.gz 752095 BLAKE2B ff7759c504f49ed124e0e0504742bad02c4f07d7ebf78de8a8f37dba5344e30ca14bbad30cce8e9035f25525499cee0309bf0660f24ffa4594a5dcb527c105e5 SHA512 e3dd6b90eee43e633e790c066f63782a8f8077fece5d94e6d39ff8f869efdad8360fe52473a5ad0e61adb29a646ea091db6486655199c777df1b1af0e9894aae
-DIST pygit2-1.9.2.gh.tar.gz 750593 BLAKE2B 89eeb56edbb7f823c0439e511e3a525789483a80760f6dcfbbdea7f45f1e16241d9772b54288c0acdb471bfe62a457e8fe82ec520d808d01ee8d079076278761 SHA512 523af14ae418b56efd3c541fb306c3a799224db400053590f1676ace9b53ac4c731a1731081f245cd78ab5d233c9e67fa2e5c13e02b6f62de05123cd47a1a70a
+DIST pygit2-1.14.1.tar.gz 765621 BLAKE2B 7761851052c5dc03f82db987166012eb2a3445d62b209bc1734e240a619d7c5e4449c1772b250dd3ba8e1605b7c94edb4d8b7ad50c92bd85833e4688ed1e92ef SHA512 0718d7f480d40a5c435c725fbfec728ebdbb70d700607662308458dd125796fce9ddcf40afa6841ddc9cb7b19a5966fb3b5c8e4a52281a7eb354381ce62b5534
diff --git a/dev-python/pygit2/pygit2-1.10.0.ebuild b/dev-python/pygit2/pygit2-1.10.0.ebuild
deleted file mode 100644
index 47951e5eef7a..000000000000
--- a/dev-python/pygit2/pygit2-1.10.0.ebuild
+++ /dev/null
@@ -1,48 +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_{8..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/pygit2/pygit2-1.9.2.ebuild b/dev-python/pygit2/pygit2-1.9.2.ebuild
deleted file mode 100644
index 14b86977a62b..000000000000
--- a/dev-python/pygit2/pygit2-1.9.2.ebuild
+++ /dev/null
@@ -1,48 +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_{8..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.4*:=
-"
-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/pyglet/Manifest b/dev-python/pyglet/Manifest
index 239afa870a19..459a5368daf0 100644
--- a/dev-python/pyglet/Manifest
+++ b/dev-python/pyglet/Manifest
@@ -1 +1,2 @@
-DIST pyglet-1.5.26.tar.gz 6534434 BLAKE2B a4366390f4ed92ed9e6c2d362fd8a009adf0e8a21ca00e1b9fead3cba99d192bb007413eca36892433f3bc4e2bf3258c550b2827262fc70e87b20566d46acb15 SHA512 819b2bbf71c9c632c1cefbb31e2a7186905c1475a1e978cd75dd6c019e5a53e6af79bceb57c68b61a3bb5692e04091c89c67b9168bb76ee19009c1ab719b8530
+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.26.ebuild b/dev-python/pyglet/pyglet-1.5.26.ebuild
deleted file mode 100644
index cc992542d9ff..000000000000
--- a/dev-python/pyglet/pyglet-1.5.26.ebuild
+++ /dev/null
@@ -1,73 +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_{8..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}.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..7550c173f039
--- /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/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/files/pygments-github-lexers-0.0.5-escape-sequences.patch b/dev-python/pygments-github-lexers/files/pygments-github-lexers-0.0.5-escape-sequences.patch
new file mode 100644
index 000000000000..65c90e857bb2
--- /dev/null
+++ b/dev-python/pygments-github-lexers/files/pygments-github-lexers-0.0.5-escape-sequences.patch
@@ -0,0 +1,22 @@
+diff --git a/pygments_github_lexers/github.py b/pygments_github_lexers/github.py
+index d2fa4b2..36a5c94 100644
+--- a/pygments_github_lexers/github.py
++++ b/pygments_github_lexers/github.py
+@@ -53,7 +53,7 @@ class Dasm16Lexer(RegexLexer):
+
+ # Regexes yo
+ char = r'[a-zA-Z$._0-9@]'
+- identifier = r'(?:[a-zA-Z$_]' + char + '*|\.' + char + '+)'
++ identifier = r'(?:[a-zA-Z$_]' + char + r'*|\.' + char + '+)'
+ number = r'[+-]?(?:0[xX][a-zA-Z0-9]+|\d+)'
+ binary_number = r'0b[01_]+'
+ instruction = r'(?i)(' + '|'.join(INSTRUCTIONS) + ')'
+@@ -379,7 +379,7 @@ class TOMLLexer(RegexLexer):
+ (r'#.*?$', Comment.Single),
+ (r'"(\\\\|\\"|[^"])*"', String),
+ (r'(true|false)$', Keyword.Constant),
+- ('[a-zA-Z_][a-zA-Z0-9_\-]*', Name),
++ (r'[a-zA-Z_][a-zA-Z0-9_\-]*', Name),
+
+ # Datetime
+ (r'\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z', Number.Integer),
diff --git a/dev-python/pygments-github-lexers/metadata.xml b/dev-python/pygments-github-lexers/metadata.xml
index ad287ae27558..90e6c7f88d46 100644
--- a/dev-python/pygments-github-lexers/metadata.xml
+++ b/dev-python/pygments-github-lexers/metadata.xml
@@ -6,7 +6,7 @@
<name>Patrick McLean</name>
</maintainer>
<upstream>
- <remote-id type="pypi">pygments-github-lexers </remote-id>
+ <remote-id type="pypi">pygments-github-lexers</remote-id>
<remote-id type="github">liluo/pygments-github-lexers</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r2.ebuild b/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r2.ebuild
new file mode 100644
index 000000000000..dba3d0327867
--- /dev/null
+++ b/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2019-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
+
+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"
+
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/pygments-github-lexers-0.0.5-escape-sequences.patch"
+)
+
+# no tests
diff --git a/dev-python/pygments-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 d62e0bc47d32..000000000000
--- a/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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 bd98adf953a0..eafc2775a54c 100644
--- a/dev-python/pygments/Manifest
+++ b/dev-python/pygments/Manifest
@@ -1 +1,2 @@
-DIST Pygments-2.12.0.tar.gz 4282017 BLAKE2B 9ad241d5bcafe59057e9495edb75468e6fa74d150f2d3266590a5a567a7df8ce2ef4ea18f90a8ab83e2fb84993fcf00dec12b04dd968f4c516b8339c49aecc08 SHA512 70bbfaefeb34f9afb5d74aa924ac3da4a913d1c7f607c0b3f80b6cd25c88a8996e516a689062bf2009c472b29999e309eb044f0f427fa1ea8479bf921b51c524
+DIST pygments-2.17.2.tar.gz 4827772 BLAKE2B 7e6db51ff35ec35981fcdd6f4a1f0a242c29e8b0947a5a3febdee35a0e4047414d49d6883b8fbf9de78b149323f0b3c86b315b03eaada557b4cd70e67917aab8 SHA512 a3408a21f4c0a9f1a81d4fae5c2924f66f1f17daf98a52c4379d6953625354f47bb8db3005e6ab09407627f592843efde12afb14e1271c1e685973eb4c238d89
+DIST pygments-2.18.0.tar.gz 4891905 BLAKE2B 4ff1cc75ca348eecb96ecefe549a1e1c9a9cc81e1829a2354c70ce6f6e538bddbb9b7f90e781bbdd6433cee36e4a99fef9adaef95ca275d1be57a33ed8a77351 SHA512 2f696fed7f2120f9e3bd5f3d2837a5d6b883434b8d0f68d039c2620213508638cedf1517375019809720d56fc52f07e3bddd0defc4707703ace5d707908c00fb
diff --git a/dev-python/pygments/metadata.xml b/dev-python/pygments/metadata.xml
index a8185a9df5bc..9f522cdfbec5 100644
--- a/dev-python/pygments/metadata.xml
+++ b/dev-python/pygments/metadata.xml
@@ -8,6 +8,7 @@
<longdescription>Pygments is a syntax highlighting package written in Python. Pygments can output to html, bbcode, latex, rtf and other formats.</longdescription>
<stabilize-allarches/>
<upstream>
+ <remote-id type="cpe">cpe:/a:pygments:pygments</remote-id>
<remote-id type="pypi">Pygments</remote-id>
<remote-id type="github">pygments/pygments</remote-id>
</upstream>
diff --git a/dev-python/pygments/pygments-2.12.0-r1.ebuild b/dev-python/pygments/pygments-2.12.0-r1.ebuild
deleted file mode 100644
index 03d5af23ad29..000000000000
--- a/dev-python/pygments/pygments-2.12.0-r1.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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"
-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
-
-python_install_all() {
- distutils-r1_python_install_all
- 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/pygments/pygments-2.18.0.ebuild b/dev-python/pygments/pygments-2.18.0.ebuild
new file mode 100644
index 000000000000..c287a352633e
--- /dev/null
+++ b/dev-python/pygments/pygments-2.18.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..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 4ce0bee6bd04..8ce81ab9f53f 100644
--- a/dev-python/pygobject/Manifest
+++ b/dev-python/pygobject/Manifest
@@ -1,2 +1,2 @@
-DIST pygobject-3.42.1.tar.xz 557904 BLAKE2B 5264c1b187210622548203e0df5089262ea0b3e93d9e46679030b4722e74f1993f200cfe9357c389357902bcdfdb13c8fd9cc9d6efa3b5fa0f730c3b54017fe5 SHA512 b044d395f8334057be632fd56f670ae8405d9fc375bcbd7a0a3b2dcfb8efb06bad45e62e92d2ee5432e503642dba11d6f9bf91f26bf135fa5f9a871657105a18
-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/metadata.xml b/dev-python/pygobject/metadata.xml
index 1088c8b6c284..526be399f23d 100644
--- a/dev-python/pygobject/metadata.xml
+++ b/dev-python/pygobject/metadata.xml
@@ -1,29 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <longdescription lang="en">
- GObject is a object system used by GTK+, GStreamer and other libraries.
- PyGObject provides a convenient wrapper for use in Python programs when
- accessing GObject libraries. Like the GObject library itself PyGObject
- is licensed under the GNU LGPL, so is suitable for use in both free
- software and proprietary applications. It is already in use in many
- applications ranging from small single purpose scripts up to large full
- featured applications. PyGObject now dynamically accesses any GObject
- libraries that uses GObject Introspection. It replaces the need for
- separate modules such as PyGTK, GIO and python-gnome to build a full
- GNOME 3.0 application. Once new functionality is added to gobject
- library it is instantly available as a Python API without the need for
- intermediate Python glue.
- </longdescription>
- <upstream>
- <remote-id type="pypi">PyGObject</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription lang="en">
+ GObject is a object system used by GTK+, GStreamer and other libraries.
+ PyGObject provides a convenient wrapper for use in Python programs when
+ accessing GObject libraries. Like the GObject library itself PyGObject
+ is licensed under the GNU LGPL, so is suitable for use in both free
+ software and proprietary applications. It is already in use in many
+ applications ranging from small single purpose scripts up to large full
+ featured applications. PyGObject now dynamically accesses any GObject
+ libraries that uses GObject Introspection. It replaces the need for
+ separate modules such as PyGTK, GIO and python-gnome to build a full
+ GNOME 3.0 application. Once new functionality is added to gobject
+ library it is instantly available as a Python API without the need for
+ intermediate Python glue.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">PyGObject</remote-id>
+ <remote-id type="gnome-gitlab">GNOME/pygobject</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/pygobject/pygobject-3.42.1.ebuild b/dev-python/pygobject/pygobject-3.42.1.ebuild
deleted file mode 100644
index 95db0a28fc86..000000000000
--- a/dev-python/pygobject/pygobject-3.42.1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit gnome.org meson python-r1 virtualx xdg
-
-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 )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- >=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
-"
-
-src_configure() {
- configuring() {
- meson_src_configure \
- $(meson_feature cairo pycairo) \
- $(meson_use test tests) \
- -Dpython="${EPYTHON}"
- }
-
- python_foreach_impl configuring
-}
-
-src_compile() {
- python_foreach_impl meson_src_compile
-}
-
-src_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
-
- testing() {
- local -x XDG_CACHE_HOME="${T}/${EPYTHON}"
- meson_src_test --timeout-multiplier 3 || die "test failed for ${EPYTHON}"
- }
- virtx python_foreach_impl testing
-}
-
-src_install() {
- installing() {
- meson_src_install
- python_optimize
- }
- python_foreach_impl installing
- use examples && dodoc -r examples
-}
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 d411290d7520..000000000000
--- a/dev-python/pygobject/pygobject-3.42.2.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=no
-PYTHON_COMPAT=( python3_{8..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 3d5e9f04cba8..ecd5fc873fc8 100644
--- a/dev-python/pygraphviz/Manifest
+++ b/dev-python/pygraphviz/Manifest
@@ -1 +1,2 @@
-DIST pygraphviz-1.9.zip 119946 BLAKE2B a399742ae5e8323eec0b6890858cc9158c2942c4f0adb8c74fbfb9745321ae013b93227540e5c328f5dd22d8fba2cf9217a9079f99a14feb983d7188e07084c9 SHA512 0a963b2cfe526c5444379b037797504380898c300256ab3b4800687f46b6230d8bc0adb5f499004a8009544c6cc804221689921c08a4f4b71b86ae01dc39cb7e
+DIST pygraphviz-1.12.tar.gz 104941 BLAKE2B 5c2d119c66837d13511ef4756093b159f45ccb2888eb2b86c1d016837059ed34bdc5cb7e69eeff013642d92ec0c2b4a1149316b0baaa742c49a34945fd2563e0 SHA512 2407fdd7de3b2f7f1d9f9e3e3fe0f19c4faad4a72db33a0b4341a01f98eecd4d240079f2d0ea5cf68a5e10236f11fd84e55fd44518611efde2fab7590e3aae90
+DIST pygraphviz-1.13.tar.gz 104642 BLAKE2B 6111c1b811d5359da673f9c43719d21e86e93e7e82e5819872fed6f87ebb74efb87dba40b5dac737b93bffcd51683f143528a135a76e3d6f62615593fdc22b88 SHA512 3159fd9fb1226974c3a6289ebc437eed394021a7fc41669e29879fa6fd5e5cb809c808a4016cfb1afaf30dc10e467e8b0fe5c3b71fb9a1f889efcf5ae6ff3597
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/metadata.xml b/dev-python/pygraphviz/metadata.xml
index 8551c9031058..d876ce493c59 100644
--- a/dev-python/pygraphviz/metadata.xml
+++ b/dev-python/pygraphviz/metadata.xml
@@ -10,7 +10,7 @@
visualization package.
With Pygraphviz you can create, edit, read, write, and draw graphs using
Python to access the Graphviz graph data structure and layout algorithms.
-</longdescription>
+ </longdescription>
<upstream>
<remote-id type="pypi">pygraphviz</remote-id>
<remote-id type="github">pygraphviz/pygraphviz</remote-id>
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/pygraphviz/pygraphviz-1.13.ebuild b/dev-python/pygraphviz/pygraphviz-1.13.ebuild
new file mode 100644
index 000000000000..e60d6c6a6299
--- /dev/null
+++ b/dev-python/pygraphviz/pygraphviz-1.13.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python wrapper for the Graphviz Agraph data structure"
+HOMEPAGE="
+ https://pygraphviz.github.io/
+ https://github.com/pygraphviz/pygraphviz/
+ https://pypi.org/project/pygraphviz/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~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
+
+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.9.ebuild b/dev-python/pygraphviz/pygraphviz-1.9.ebuild
deleted file mode 100644
index ea6e7fdd49d9..000000000000
--- a/dev-python/pygraphviz/pygraphviz-1.9.ebuild
+++ /dev/null
@@ -1,43 +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_{8..10} )
-
-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/pygresql/Manifest b/dev-python/pygresql/Manifest
index 406b3d42e47f..c9c50f176184 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.1.tar.gz 271855 BLAKE2B 76d3f18d2bdbe7aa1d4459784fd5f1d3d76feaaeb911f1679c66d1a579cef27a00af619416f03cfcd69804e4f5a997d82765c3e32d9ab371c6011b0915e3e018 SHA512 47b0296596d5d914ccd48e09f352f8da38ed82a0861a148525a675431df51b1261d03e7bbb158947d4d525d82e1790d0a4d4c4d293b29550c50965e2a4e89847
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 89f957483df9..000000000000
--- a/dev-python/pygresql/pygresql-5.2.4.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 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_{8..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.1.ebuild b/dev-python/pygresql/pygresql-6.0.1.ebuild
new file mode 100644
index 000000000000..20a92c0732cc
--- /dev/null
+++ b/dev-python/pygresql/pygresql-6.0.1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN="PyGreSQL"
+POSTGRES_COMPAT=( 9.6 {10..16} )
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 postgres pypi
+
+DESCRIPTION="A Python interface for the PostgreSQL database"
+HOMEPAGE="
+ https://pygresql.github.io/
+ https://github.com/PyGreSQL/PyGreSQL/
+ https://pypi.org/project/PyGreSQL/
+"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~hppa ~ia64 ppc ~sparc x86"
+
+DEPEND="${POSTGRES_DEP}"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? (
+ dev-db/postgresql[server]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.2-CFLAGS.patch
+)
+
+distutils_enable_tests unittest
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ postgres_pkg_setup
+ fi
+}
+
+src_test() {
+ local db="${T}/pgsql"
+ initdb --username=portage -D "${db}" || die
+ pg_ctl -w -D "${db}" start \
+ -o "-h '127.0.0.1' -p 5432 -k '${T}'" || die
+ psql -h "${T}" -U portage -d postgres \
+ -c "ALTER ROLE portage WITH PASSWORD 'postgres';" || die
+ createdb -h "${T}" -U portage test || die
+
+ cat > tests/LOCAL_PyGreSQL.py <<-EOF || die
+ dbhost = '${T}'
+ EOF
+
+ rm -rf pg || die
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${db}" stop || die
+}
+
+python_install_all() {
+ local DOCS=( docs/*.rst docs/community/* docs/contents/tutorial.rst )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/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 bffa3a0c8f3a..b2d776d89062 100644
--- a/dev-python/pyh2o/pyh2o-1-r1.ebuild
+++ b/dev-python/pyh2o/pyh2o-1-r1.ebuild
@@ -1,17 +1,19 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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_{8..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 4ab9c06d2890..19a5afa368f8 100644
--- a/dev-python/pyhamcrest/Manifest
+++ b/dev-python/pyhamcrest/Manifest
@@ -1 +1 @@
-DIST PyHamcrest-2.0.3.gh.tar.gz 59353 BLAKE2B b393f250f1a5f3f2d3014ae8a6e20ec659e034d8e681fcbb16f4e9fbe69ba7a94ce342a79584cfc99dff6af57e1d9763efd5ff8b5d891951289d9047cab4270c SHA512 4a28c0ae04db11a86c44dff001e919a5bb6b820af8ffd60b1a1f2846f257d79daac76fbdeac4a0039d149e643043258a0685382a3a4b52c6d4586b8be95e1657
+DIST PyHamcrest-2.1.0.gh.tar.gz 62526 BLAKE2B 5f4a836c6f0e61977fe0d572987a75fa9803d2362afb95d27d22aa8a567844823452b99c40c8160cca4407a60dbbeff3f6fdf03163da9ee643e082a64e83c512 SHA512 99017a75954b346622f9bd261a4f8827f82eb42a19551a7f96f9097a763e57afcc367a41a4cca742bda60ee0e7c3bcc2ca7025348e318f41e67c97c7a60961b5
diff --git a/dev-python/pyhamcrest/pyhamcrest-2.0.3-r1.ebuild b/dev-python/pyhamcrest/pyhamcrest-2.0.3-r1.ebuild
deleted file mode 100644
index 0e053987b9b9..000000000000
--- a/dev-python/pyhamcrest/pyhamcrest-2.0.3-r1.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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"
-
-distutils_enable_sphinx doc \
- dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-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 c976ce60a37a..1d5adac20567 100644
--- a/dev-python/pyhcl/Manifest
+++ b/dev-python/pyhcl/Manifest
@@ -1 +1 @@
-DIST pyhcl-0.4.4.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.ebuild b/dev-python/pyhcl/pyhcl-0.4.4.ebuild
deleted file mode 100644
index 62857bcba53e..000000000000
--- a/dev-python/pyhcl/pyhcl-0.4.4.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-# This value is obtained by running the following on the checked out
-# tag:
-# git describe --tags --long
-LONG_VERSION=0.4.4-0-g314cd32
-PYTHON_COMPAT=( python3_{8..10} )
-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}.tar.gz"
- KEYWORDS="~amd64"
-fi
-
-LICENSE="MPL-2.0"
-SLOT="0"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- printf '__version__ = "%s"\n' "${LONG_VERSION}" > src/hcl/version.py || die
-}
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 d580319529e8..e06d14bcd20a 100644
--- a/dev-python/pyicu/Manifest
+++ b/dev-python/pyicu/Manifest
@@ -1 +1,3 @@
-DIST pyicu-v2.9.tar.bz2 243533 BLAKE2B c2ea32f69637e2d12a57ded96b570ba7fd41c92aed4a0dea36ebe5c224b80fa8d1672251f8218e0a35d463957ab4291cff778c3e690f0763e465dc6f0a1af26d SHA512 f10025afe1a0de5a1726c3d4aaec5b10ba62064c33205117efe643185dcd3560e8971b600606e9699269cca795477bf86ed2f9e604e9c0e04bb75a86f31cd114
+DIST pyicu-v2.12.tar.bz2 195543 BLAKE2B ffee7f0d77495ca490047f6c1f280e47161a9dcebbf5525c8131a3876d10048f154aabfa2be98cd9bbe8e32cea2be86736cf7aa1b0193084b0b7dc36a45b861f SHA512 b182550a9491795699868908615a823e9e35220b6b43ef745a0e34563a133d2c9c2c5c8ae6e221f8c7117d310214828e8110f9e4113fd5cae7e724425de8fe84
+DIST pyicu-v2.13.1.tar.bz2 196960 BLAKE2B 8faf5faf1fb8246c07dfb5ace5c2ad7cf8c86a183e0fa48288c81f7de47422152af2a44392972d818542370ea6f91c592d8d520b49848389109e6b2c1aa3ee17 SHA512 f85dd31b6a505efd32c3d0ea1c996b51b9da8cdc7ce3b88c997573a4ef1506a6af7b76f48f86d64e8993878ae25abcd95b04f40ba7a4f38fbf3b4cefd79b8066
+DIST pyicu-v2.13.tar.bz2 196895 BLAKE2B fba4b412eec92b4b108dc151450de0384324f43215a4ca2e502c91954a48b163b1b0cac290e77860288415be7cb86f2e2751e865636723d5c9481bae5a61410f SHA512 65ced1fe3040456fe7f0a37b67a5e3f2f7ed3fdfe3b1cce98b9dbba1e1f79a17df25c8370969087992964708958e2528d878ee913b3133cf1344866bc2444a9e
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/pyicu/pyicu-2.13.1.ebuild b/dev-python/pyicu/pyicu-2.13.1.ebuild
new file mode 100644
index 000000000000..945d1e2c0dc1
--- /dev/null
+++ b/dev-python/pyicu/pyicu-2.13.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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/pyicu/pyicu-2.13.ebuild b/dev-python/pyicu/pyicu-2.13.ebuild
new file mode 100644
index 000000000000..945d1e2c0dc1
--- /dev/null
+++ b/dev-python/pyicu/pyicu-2.13.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
+
+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/pyicu/pyicu-2.9.ebuild b/dev-python/pyicu/pyicu-2.9.ebuild
deleted file mode 100644
index ae449e97fce1..000000000000
--- a/dev-python/pyicu/pyicu-2.9.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=( python3_{8..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"
-
-RDEPEND="
- dev-libs/icu:=
-"
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- test? (
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( CHANGES CREDITS README.md )
-
-distutils_enable_tests pytest
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 79b5872dce8c..2398f2c70957 100644
--- a/dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild
+++ b/dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..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/pyinotify/pyinotify-0.9.6.ebuild b/dev-python/pyinotify/pyinotify-0.9.6.ebuild
deleted file mode 100644
index 63be1629b761..000000000000
--- a/dev-python/pyinotify/pyinotify-0.9.6.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-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"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="examples"
-
-python_install_all() {
- if use examples; then
- dodoc -r python3/examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pyjsparser/metadata.xml b/dev-python/pyjsparser/metadata.xml
index eb592c134bca..23dab16a187f 100644
--- a/dev-python/pyjsparser/metadata.xml
+++ b/dev-python/pyjsparser/metadata.xml
@@ -6,6 +6,10 @@
<email>xgqt@gentoo.org</email>
<name>Maciej Barć</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<upstream>
<remote-id type="github">PiotrDabkowski/pyjsparser</remote-id>
<remote-id type="pypi">pyjsparser</remote-id>
diff --git a/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r1.ebuild b/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r1.ebuild
deleted file mode 100644
index 8b2a6183601a..000000000000
--- a/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-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
-
-H=5465d037b30e334cb0997f2315ec1e451b8ad4c1
-PYTHON_COMPAT=( python3_{8..10} )
-
-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}
-
-RESTRICT="!test? ( test )"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
-IUSE="test"
-
-BDEPEND="
- test? (
- dev-python/js2py[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- "${EPYTHON}" ./test_runner.py || die "tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r2.ebuild b/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r2.ebuild
new file mode 100644
index 000000000000..4c4c3299c45d
--- /dev/null
+++ b/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ ${PV} == *_p20190421 ]] && COMMIT=5465d037b30e334cb0997f2315ec1e451b8ad4c1
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Fast javascript parser based on esprima.js"
+HOMEPAGE="https://github.com/PiotrDabkowski/pyjsparser/
+ https://pypi.org/project/pyjsparser/"
+SRC_URI="https://github.com/PiotrDabkowski/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+RESTRICT="!test? ( test )"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
+IUSE="test"
+
+BDEPEND="
+ test? (
+ dev-python/js2py[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ "${EPYTHON}" ./test_runner.py || die "tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pyjwt/Manifest b/dev-python/pyjwt/Manifest
index dca287789b78..95bc4c64c3f3 100644
--- a/dev-python/pyjwt/Manifest
+++ b/dev-python/pyjwt/Manifest
@@ -1 +1 @@
-DIST PyJWT-2.4.0.tar.gz 66327 BLAKE2B bc78ceebe3fedd4216420c34034de96dc6af488b4b50d20a03073753cfe94d059cda3e118f79cc3718253f56bb977b5b86543d1cd1ab7346a4095d0c2c6855b2 SHA512 6c60afe62f9341c0fd889be227cd9e44260bc88696a93d0c3398547e159001f04e402d207d2230641f0f3d37cfd7e6f9e50a42dadfb011d7087c32a864c792a4
+DIST PyJWT-2.8.0.tar.gz 78313 BLAKE2B b5031ec0ea672ef2dffc077aba6c781a20a7497257a16241841c0e0158017370581e3c9785d930772290c25fc9029e71a5d8744d999b135b29715a4f35720508 SHA512 74e74cf8c78494a9e51a2a186347361388031d5c0d0864df2a5d051621d9d31dff617ab1d7ebb4a829cc7d409d196e1bdb3b361ec888b6c14f1abea77544475e
diff --git a/dev-python/pyjwt/pyjwt-2.4.0.ebuild b/dev-python/pyjwt/pyjwt-2.4.0.ebuild
deleted file mode 100644
index 5168c40ed0d3..000000000000
--- a/dev-python/pyjwt/pyjwt-2.4.0.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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.3.1[${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.ebuild b/dev-python/pykerberos/pykerberos-1.3.1.ebuild
deleted file mode 100644
index 671c5af6453d..000000000000
--- a/dev-python/pykerberos/pykerberos-1.3.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-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}"
-
-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 03afb4608dbb..000000000000
--- a/dev-python/pykka/pykka-3.1.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=poetry
-PYTHON_COMPAT=( python3_{8..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-r1.ebuild b/dev-python/pykwalify/pykwalify-1.8.0-r1.ebuild
deleted file mode 100644
index ceda616a7cf4..000000000000
--- a/dev-python/pykwalify/pykwalify-1.8.0-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-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"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/docopt-0.6.2[${PYTHON_USEDEP}]
- >=dev-python/ruamel-yaml-0.16.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
-"
-DEPEND="
- test? (
- dev-python/testfixtures[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.4.0-S.patch
-)
diff --git a/dev-python/pykwalify/pykwalify-1.8.0-r2.ebuild b/dev-python/pykwalify/pykwalify-1.8.0-r2.ebuild
deleted file mode 100644
index f03443ce87ad..000000000000
--- a/dev-python/pykwalify/pykwalify-1.8.0-r2.ebuild
+++ /dev/null
@@ -1,34 +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_{8..10} )
-
-inherit distutils-r1
-
-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"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/docopt-0.6.2[${PYTHON_USEDEP}]
- >=dev-python/ruamel-yaml-0.16.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/testfixtures[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.4.0-S.patch
-)
diff --git a/dev-python/pykwalify/pykwalify-1.8.0-r3.ebuild b/dev-python/pykwalify/pykwalify-1.8.0-r3.ebuild
new file mode 100644
index 000000000000..3276aa080f7a
--- /dev/null
+++ b/dev-python/pykwalify/pykwalify-1.8.0-r3.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="Python lib/cli for JSON/YAML schema validation"
+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"
+
+RDEPEND="
+ >=dev-python/docopt-0.6.2[${PYTHON_USEDEP}]
+ >=dev-python/ruamel-yaml-0.16.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/testfixtures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.0-S.patch
+)
diff --git a/dev-python/pylama/Manifest b/dev-python/pylama/Manifest
deleted file mode 100644
index d0eafd127002..000000000000
--- a/dev-python/pylama/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST pylama-8.3.8.tar.gz 36319 BLAKE2B 5251bd32549793a8d06b6180a3e4f4c20f23dbdfecc146eb877222995bcadcf8cf8343f99ad897fb3e00c0f455762f82f4e3d157c34be6f21b4f220e87b636a2 SHA512 b55d7cb28a94f19270bde7ff6a8d760ef9132c845aaa85340271e42af6987fcc919ba9b0ddaebb6da6c1ffe789aaf39c83d273f8adea88db58a9218577899924
-DIST pylama-8.4.1.gh.tar.gz 37850 BLAKE2B dea99fc784736f3b229c5d82a59f2e2b5490fbe344ad98167e30e550b6c774c7b42cbddfedeb073d9d843cf53169c441812974036b06088ab07d7b7996def4a5 SHA512 fb038c39a2e962bd065ac5ef545f1be50f5b230141141a55e1701ffdc6a241b5778613ac91f29ff648b7ce48fa969c3961a11b7e906b6e350c84b57eea5369cd
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.3.8.ebuild b/dev-python/pylama/pylama-8.3.8.ebuild
deleted file mode 100644
index 4b1757cf2d61..000000000000
--- a/dev-python/pylama/pylama-8.3.8.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Code audit tool for python"
-HOMEPAGE="https://github.com/klen/pylama"
-SRC_URI="https://github.com/klen/pylama/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/mccabe-0.6.1[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/pydocstyle-6.1.1[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.4.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
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # not packaged
- tests/test_linters.py::test_quotes
- tests/test_linters.py::test_vulture
-)
diff --git a/dev-python/pylama/pylama-8.4.1.ebuild b/dev-python/pylama/pylama-8.4.1.ebuild
deleted file mode 100644
index 45e31850131b..000000000000
--- a/dev-python/pylama/pylama-8.4.1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Code audit tool for python"
-HOMEPAGE="https://github.com/klen/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 ~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
- )
-"
-
-distutils_enable_tests pytest
-
-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 e66544e65c5f..d87f4abd85e2 100644
--- a/dev-python/pylast/Manifest
+++ b/dev-python/pylast/Manifest
@@ -1 +1 @@
-DIST pylast-5.0.0.tar.gz 39868 BLAKE2B 0cb6d96ac74a2e62325b8a91cc3601ab4ea7ea629ef40c02ce1afe13fd067abc48f24092138fc4584382c9c7f8c62eb070f1a3173b39768ac4ff8e3904c255d2 SHA512 ebad77e66d39b5625d0afae3bba346769159f39dfbbca0fea6aa0e6ad683fea6ea04093dd4738e378ac419edcc9970e8070d7ff912cc08110a5f41f7993489ce
+DIST pylast-5.2.0.tar.gz 41137 BLAKE2B a7742bd2a23e281ab1a12d0198c74f1b5d8302700cb58490a5b3bff693098c8c3bf548ed52ca7f8cefecbcc10972c57da9ca04fe1d791141aacbb84ead9592ed SHA512 1ae76ff4ec6f009388abfcf8525f1c19e47cbabaace1f5e8c518819d0856168d855b789e3c08a9699dd7ab88ebfc7c3ab81c2d74a0fa1fd210450741b99da8c6
diff --git a/dev-python/pylast/pylast-5.0.0.ebuild b/dev-python/pylast/pylast-5.0.0.ebuild
deleted file mode 100644
index 93bf1e071624..000000000000
--- a/dev-python/pylast/pylast-5.0.0.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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}.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/setuptools_scm[${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/metadata.xml b/dev-python/pylatex/metadata.xml
index 70d8fefd1f6c..beb116076cef 100644
--- a/dev-python/pylatex/metadata.xml
+++ b/dev-python/pylatex/metadata.xml
@@ -2,7 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>ddenoncin@gmail.com</email>
+ <email>gentoo@denoncin.fr</email>
<name>David Denoncin</name>
</maintainer>
<maintainer type="project" proxied="proxy">
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 833b1f73d5e3..000000000000
--- a/dev-python/pylatex/pylatex-1.4.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2020-2022 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_{8..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 b53dd8f95a0e..fec506fd6008 100644
--- a/dev-python/pylatexenc/pylatexenc-2.10.ebuild
+++ b/dev-python/pylatexenc/pylatexenc-2.10.ebuild
@@ -1,16 +1,22 @@
-# 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_{8..10} )
+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/Manifest b/dev-python/pylev/Manifest
index 9add27a3a01c..0e4150b04e1e 100644
--- a/dev-python/pylev/Manifest
+++ b/dev-python/pylev/Manifest
@@ -1 +1 @@
-DIST pylev-1.4.0.tar.gz 4895 BLAKE2B d49e153d308165dcdc06bad94013afa4ccc6d2a6ecff943a2718a8f9ab71bbacb9c0cf8b604dbf0c77322a8d0cbeba5ffaed13531a31210507f144f716f8e740 SHA512 3999adf04b159499a199b1aa66e2540904c689c50a407bf7e0cc0affe834ea289006d2fc73f65e4fcd486c755c580e9657dc5c67290dccb4704bebc6a4348de3
+DIST pylev-1.4.0.gh.tar.gz 4895 BLAKE2B d49e153d308165dcdc06bad94013afa4ccc6d2a6ecff943a2718a8f9ab71bbacb9c0cf8b604dbf0c77322a8d0cbeba5ffaed13531a31210507f144f716f8e740 SHA512 3999adf04b159499a199b1aa66e2540904c689c50a407bf7e0cc0affe834ea289006d2fc73f65e4fcd486c755c580e9657dc5c67290dccb4704bebc6a4348de3
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
new file mode 100644
index 000000000000..fb63e139d236
--- /dev/null
+++ b/dev-python/pylev/pylev-1.4.0-r1.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="Python Levenshtein implementation"
+HOMEPAGE="
+ https://github.com/toastdriven/pylev/
+ https://pypi.org/project/pylev/
+"
+SRC_URI="
+ https://github.com/toastdriven/pylev/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pylev/pylev-1.4.0.ebuild b/dev-python/pylev/pylev-1.4.0.ebuild
deleted file mode 100644
index bb9015c80a5f..000000000000
--- a/dev-python/pylev/pylev-1.4.0.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} )
-inherit distutils-r1
-
-DESCRIPTION="Python Levenshtein implementation"
-HOMEPAGE="https://github.com/toastdriven/pylev"
-SRC_URI="https://github.com/toastdriven/pylev/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-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 fb914b7a8bd4..000000000000
--- a/dev-python/pylibacl/pylibacl-0.6.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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/Manifest b/dev-python/pylibmc/Manifest
index f144b9eb5b6c..5892cc1d11b1 100644
--- a/dev-python/pylibmc/Manifest
+++ b/dev-python/pylibmc/Manifest
@@ -1,3 +1 @@
-DIST pylibmc-1.6.1-no-nose.patch 26090 BLAKE2B 160e5b58107dcea0354462370eeeb12739c7fd1549e1c64ddf1fe2451654e50c1408505985eb6a7150ce60185bc7acebba7a20c6444615bef8c6991debfba4cc SHA512 84fb37505def84caaacb1343032d18bd644f5072e6ce7a2d6e88bc33bd2dedc8b303f4cf2a9b57b32c3c4b8e01bef1bebcc09ecb525568c928aed326bee2cace
-DIST pylibmc-1.6.1.tar.gz 72061 BLAKE2B ebaa6f9dfc341d862a8b46bbbf0db1420ff400cb40390f7bee6bf198ff941ad7967b578040ffe1209721ea84a163a39649108a2a23f3dadc2d579db740b2ccf3 SHA512 a3874435389486b29bab5f1d29e5c179d67655d90995bb27fcb7cd46ce7eb3b60117b94f901602f8a65dc0e587d5f8edfcf15e259effd439411adb58ddb7065e
-DIST pylibmc-1.6.2.gh.tar.gz 71581 BLAKE2B 4fc9216150e122b6d80537184422b52c0a518f5b9fbcf5b54f794fde33d5ac6fcd474e08f71b8d71f0443351e91ea5d8ac2c24e94bd568605cf1183259394091 SHA512 1a1575fd5c3644d53e0ed49818bd958e0e28fe0354f41578c944b260f402f1b51a74baca8f98b32adfd0024e61ec8df1795c6ca7363509e35e4f34a907de063e
+DIST pylibmc-1.6.3.gh.tar.gz 72154 BLAKE2B 3367651d355cb9c6693d8162e740c855c8f84f6b2a5f54ba5fb7f505474263650b46d5ed04c11af2199a7b40c6d4cf0d13a63d2d76a395ff30570a4a3e5259ec SHA512 4bc85d305410f775a39d8d3f64a7e97538ed6ae890cd64833e5bff92fbb60fe8ebc4cc7956df015f6590eb55b7009bd36b299dc636ee0da7f71ed51cc98f3012
diff --git a/dev-python/pylibmc/files/pylibmc-1.6.1-py311.patch b/dev-python/pylibmc/files/pylibmc-1.6.1-py311.patch
deleted file mode 100644
index c687f90fb658..000000000000
--- a/dev-python/pylibmc/files/pylibmc-1.6.1-py311.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 22854a4ba8f7e926099219c107104723089bcad8 Mon Sep 17 00:00:00 2001
-From: Ludvig Ericson <ludvig@lericson.se>
-Date: Mon, 29 Jun 2020 14:59:36 +0200
-Subject: [PATCH] =?UTF-8?q?2020:=20Do=20not=20pass=20=E2=80=98U=E2=80=99?=
- =?UTF-8?q?=20flag=20to=20open?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
----
- setup.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 9bea257..89871ea 100644
---- a/setup.py
-+++ b/setup.py
-@@ -95,9 +95,9 @@ def append_env(L, e):
- s.write(line + "\n")
- sys.exit(0)
-
--with open("README.rst", "U", encoding="utf-8") as r:
-+with open("README.rst", encoding="utf-8") as r:
- readme_text = r.read()
--with open("src/pylibmc-version.h", "U", encoding="utf-8") as r:
-+with open("src/pylibmc-version.h", encoding="utf-8") as r:
- version = r.read().strip().split("\"")[1]
-
- setup(
diff --git a/dev-python/pylibmc/pylibmc-1.6.1-r2.ebuild b/dev-python/pylibmc/pylibmc-1.6.1-r2.ebuild
deleted file mode 100644
index 65a68720139f..000000000000
--- a/dev-python/pylibmc/pylibmc-1.6.1-r2.ebuild
+++ /dev/null
@@ -1,68 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Libmemcached wrapper written as a Python extension"
-HOMEPAGE="
- https://sendapatch.se/projects/pylibmc/
- https://pypi.org/project/pylibmc/
- https://github.com/lericson/pylibmc/
-"
-SRC_URI="
- https://github.com/lericson/pylibmc/archive/${PV}.tar.gz
- -> ${P}.tar.gz
- https://github.com/lericson/pylibmc/pull/263.patch
- -> ${P}-no-nose.patch
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ~ppc64 x86"
-
-DEPEND="
- >=dev-libs/libmemcached-0.32
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- test? (
- net-misc/memcached
- )
-"
-
-PATCHES=(
- "${FILESDIR}/pylibmc-1.6.1-fix-test-failures-r1.patch"
- "${FILESDIR}/pylibmc-1.6.1-py311.patch"
- "${DISTDIR}/${P}-no-nose.patch"
-)
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-# needed for docs
-export PYLIBMC_DIR=.
-
-src_test() {
- local -x MEMCACHED_PORT=11219
- memcached -d -p "${MEMCACHED_PORT}" -u nobody -l localhost \
- -P "${T}/m.pid" || die
- distutils-r1_src_test
- kill "$(<"${T}/m.pid")" || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # these require "AmazonElastiCache" running
- tests/test_autoconf.py
- )
-
- epytest --doctest-modules --doctest-glob='doctests.txt' \
- src/pylibmc tests
-}
diff --git a/dev-python/pylibmc/pylibmc-1.6.2.ebuild b/dev-python/pylibmc/pylibmc-1.6.2.ebuild
deleted file mode 100644
index b37179120315..000000000000
--- a/dev-python/pylibmc/pylibmc-1.6.2.ebuild
+++ /dev/null
@@ -1,61 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Libmemcached wrapper written as a Python extension"
-HOMEPAGE="
- https://sendapatch.se/projects/pylibmc/
- https://pypi.org/project/pylibmc/
- https://github.com/lericson/pylibmc/
-"
-SRC_URI="
- https://github.com/lericson/pylibmc/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
-
-DEPEND="
- >=dev-libs/libmemcached-0.32
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- test? (
- net-misc/memcached
- )
-"
-
-PATCHES=(
- "${FILESDIR}/pylibmc-1.6.1-fix-test-failures-r1.patch"
-)
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-# needed for docs
-export PYLIBMC_DIR=.
-
-src_test() {
- local -x MEMCACHED_PORT=11219
- memcached -d -p "${MEMCACHED_PORT}" -u nobody -l localhost \
- -P "${T}/m.pid" || die
- distutils-r1_src_test
- kill "$(<"${T}/m.pid")" || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # these require "AmazonElastiCache" running
- tests/test_autoconf.py
- )
-
- epytest --doctest-modules --doctest-glob='doctests.txt' src/pylibmc tests
-}
diff --git a/dev-python/pylibmc/pylibmc-1.6.3.ebuild b/dev-python/pylibmc/pylibmc-1.6.3.ebuild
new file mode 100644
index 000000000000..68be0892d91d
--- /dev/null
+++ b/dev-python/pylibmc/pylibmc-1.6.3.ebuild
@@ -0,0 +1,62 @@
+# 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="Libmemcached wrapper written as a Python extension"
+HOMEPAGE="
+ https://sendapatch.se/projects/pylibmc/
+ https://pypi.org/project/pylibmc/
+ https://github.com/lericson/pylibmc/
+"
+SRC_URI="
+ https://github.com/lericson/pylibmc/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
+
+DEPEND="
+ >=dev-libs/libmemcached-0.32
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? (
+ net-misc/memcached
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/pylibmc-1.6.1-fix-test-failures-r1.patch"
+)
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+# needed for docs
+export PYLIBMC_DIR=.
+
+src_test() {
+ local -x MEMCACHED_PORT=11219
+ memcached -d -p "${MEMCACHED_PORT}" -u nobody -l localhost \
+ -P "${T}/m.pid" || die
+ distutils-r1_src_test
+ kill "$(<"${T}/m.pid")" || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # these require "AmazonElastiCache" running
+ tests/test_autoconf.py
+ )
+
+ epytest --doctest-modules --doctest-glob='doctests.txt' src/pylibmc tests
+}
diff --git a/dev-python/pylint-venv/Manifest b/dev-python/pylint-venv/Manifest
new file mode 100644
index 000000000000..b07f4f95033c
--- /dev/null
+++ b/dev-python/pylint-venv/Manifest
@@ -0,0 +1 @@
+DIST pylint-venv-3.0.3.gh.tar.gz 15432 BLAKE2B 2a0315967aa7ac9628a7633360249d3bf5904d2e9939fe1c962ad7066694fd5b073df71e89f0ff4a6c278c3ccf6b41cd70c0b2928b58bbaa19a7910f18f7b697 SHA512 83632d7063f8e14bcf9213a059e8e6e20222518e5cc3d19a7cc3761e11ece2aaea9b2e648f0cacdb37e6995fd85371920ed8bcc7a28545c571d12da8e8b3d795
diff --git a/dev-python/pylint-venv/metadata.xml b/dev-python/pylint-venv/metadata.xml
new file mode 100644
index 000000000000..7aad6578435c
--- /dev/null
+++ b/dev-python/pylint-venv/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">pylint-venv</remote-id>
+ <remote-id type="github">jgosmann/pylint-venv</remote-id>
+ </upstream>
+</pkgmetadata>
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 900c6caefaac..17a5734180c6 100644
--- a/dev-python/pylint/Manifest
+++ b/dev-python/pylint/Manifest
@@ -1,2 +1 @@
-DIST pylint-2.14.4.gh.tar.gz 1275701 BLAKE2B a91dee4c2feb83fb98d0782cd7bbfa81752cc00c707a7b2fbeacf42c6857819d8d4cfffd4caf897af0fd38237d881cfa3b9f57a7e6eb34bee59e0203e3cdd9f3 SHA512 ee305d880052c4e1ebf939201fb5d5d52b642b5130c3314aa91eaad1a413e33e2665a935df1f7a73a3745660de3d3f0a3bed10b2871d840f73bfd2fee651d2b5
-DIST pylint-2.14.5.gh.tar.gz 1275994 BLAKE2B 0d490e81f758cca0ff5c4108090414373c3276b3a51f54df26938e128d82b15ca976cb62d999d8b012ce1fe69b56988a385110be02b1d2a281e39d9f91cdb378 SHA512 8c4d2b17c078c305b081e7dd225a1e744420e01b27f63217f80d61e6bcd0e4f8381c94c504cacd3b8f96cc58c3c53d693fb59277ccbd396ea31f6c72af666042
+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.14.4.ebuild b/dev-python/pylint/pylint-2.14.4.ebuild
deleted file mode 100644
index 89b5e676d2eb..000000000000
--- a/dev-python/pylint/pylint-2.14.4.ebuild
+++ /dev/null
@@ -1,82 +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_{8..10} )
-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 ~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.12[${PYTHON_USEDEP}]
- >=dev-python/astroid-2.11.6[${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
- )
- 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.14.5.ebuild b/dev-python/pylint/pylint-2.14.5.ebuild
deleted file mode 100644
index 3737e1b624fe..000000000000
--- a/dev-python/pylint/pylint-2.14.5.ebuild
+++ /dev/null
@@ -1,82 +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_{8..10} )
-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 ~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.12[${PYTHON_USEDEP}]
- >=dev-python/astroid-2.11.6[${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
- )
- 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 e50989ea11d5..4696f6ad1fb4 100644
--- a/dev-python/pylru/pylru-1.2.1.ebuild
+++ b/dev-python/pylru/pylru-1.2.1.ebuild
@@ -1,15 +1,14 @@
-# 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_{8..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/Manifest b/dev-python/pyls-spyder/Manifest
index 3c5a86e82207..32615cfc5eb4 100644
--- a/dev-python/pyls-spyder/Manifest
+++ b/dev-python/pyls-spyder/Manifest
@@ -1 +1 @@
-DIST pyls-spyder-0.4.0-gh.tar.gz 8854 BLAKE2B d14a78be98c1db0a37a2fffe2e6bd8955687a95af8524c852d434e57cdd157dda8f5ecceb19ad34527dedede4497c59fb7949a709d266803c2d8cd67c60380ce SHA512 5a9d6667cb85434ec41a176e097d20c78751d5f3879d4d361e097da214b54b37fbef97d95a763a58d7f5e3c148215672e769091814f06a34139c6625cdae3f9f
+DIST pyls-spyder-0.4.0.gh.tar.gz 8854 BLAKE2B d14a78be98c1db0a37a2fffe2e6bd8955687a95af8524c852d434e57cdd157dda8f5ecceb19ad34527dedede4497c59fb7949a709d266803c2d8cd67c60380ce SHA512 5a9d6667cb85434ec41a176e097d20c78751d5f3879d4d361e097da214b54b37fbef97d95a763a58d7f5e3c148215672e769091814f06a34139c6625cdae3f9f
diff --git a/dev-python/pyls-spyder/pyls-spyder-0.4.0-r1.ebuild b/dev-python/pyls-spyder/pyls-spyder-0.4.0-r1.ebuild
deleted file mode 100644
index b846edc1c4d4..000000000000
--- a/dev-python/pyls-spyder/pyls-spyder-0.4.0-r1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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/"
-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/python-lsp-server[all-plugins,${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/mock[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
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
new file mode 100644
index 000000000000..1098dbd49097
--- /dev/null
+++ b/dev-python/pyls-spyder/pyls-spyder-0.4.0-r2.ebuild
@@ -0,0 +1,24 @@
+# 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="Spyder extensions for the python language server"
+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 arm64 x86"
+
+RDEPEND="dev-python/python-lsp-server[all-plugins,${PYTHON_USEDEP}]"
+BDEPEND="test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pymacaroons/Manifest b/dev-python/pymacaroons/Manifest
index 6aab45d7ecae..b043635a70ff 100644
--- a/dev-python/pymacaroons/Manifest
+++ b/dev-python/pymacaroons/Manifest
@@ -1 +1,2 @@
+DIST pymacaroons-0.13.0-nose-to-pytest.patch 18750 BLAKE2B 36e884b77fa5d540f5c849a6dead98ad30a41b04a512d85843ffc7f18f85660a0520e6b17dd55f48c0ac1c0f98f86c0ea9751942a0592d2e64698aa9d9a65131 SHA512 36a582ad8395eb114a164d027b0d73cb6dfc10230538c0f7c3beb9b9afca26cd9a4964cd3f12cb144fd7e63acc0f7ce19760a9ad75be1f5a9a37ccc350462056
DIST pymacaroons-0.13.0.gh.tar.gz 25607 BLAKE2B ff21e88842c54f7ce84e8b3ad59d42ee43f2bb2073ebbb7f47dee123086c1466024420246a4da2eae462bc36e44a3621b75144846e090073c5063b0af24f1ad1 SHA512 60da7e03d68083f8effdc06b338dd04dbd6a39ff137373721af09f1282fb035f969459d2ef80f4d728dcf95f6244b7b2de443e48658e0551462ab46daf3884a2
diff --git a/dev-python/pymacaroons/metadata.xml b/dev-python/pymacaroons/metadata.xml
index 5126b7df482e..1679cefb5e20 100644
--- a/dev-python/pymacaroons/metadata.xml
+++ b/dev-python/pymacaroons/metadata.xml
@@ -1,14 +1,11 @@
<?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>
<remote-id type="github">ecordell/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
new file mode 100644
index 000000000000..c23a09cd5894
--- /dev/null
+++ b/dev-python/pymacaroons/pymacaroons-0.13.0-r1.ebuild
@@ -0,0 +1,49 @@
+# 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 Python implementation of Macaroons"
+HOMEPAGE="
+ https://github.com/ecordell/pymacaroons
+ https://pypi.org/project/pymacaroons/
+"
+SRC_URI="
+ https://github.com/ecordell/pymacaroons/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ https://github.com/arkamar/pymacaroons/commit/backport-upstream-pr59.patch
+ -> ${P}-nose-to-pytest.patch
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64"
+
+RDEPEND="
+ dev-python/pynacl[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ # The patch is backported from upstream PR #59 to v0.13.0 and stored in my
+ # fork, see SRC_URI.
+ "${DISTDIR}/${P}-nose-to-pytest.patch"
+)
+
+EPYTEST_IGNORE=(
+ # The package also contains property_tests, however, they are incompatible
+ # with dev-python/hypothesis in gentoo. The package requires too old version.
+ tests/property_tests
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/pymacaroons/pymacaroons-0.13.0.ebuild b/dev-python/pymacaroons/pymacaroons-0.13.0.ebuild
deleted file mode 100644
index 223a0c3db03f..000000000000
--- a/dev-python/pymacaroons/pymacaroons-0.13.0.ebuild
+++ /dev/null
@@ -1,39 +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="PyMacaroons is a Python implementation of Macaroons."
-HOMEPAGE="
- https://github.com/ecordell/pymacaroons
- https://pypi.org/project/pymacaroons/
-"
-SRC_URI="https://github.com/ecordell/pymacaroons/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/pynacl[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- # The package also contains property_tests, however, they are incompatible
- # with dev-python/hypothesis in gentoo. The package requires too old version.
- "${EPYTHON}" -m nose -v tests/functional_tests || die "Tests failed with ${EPYTHON}"
-}
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 e17b556f8b25..000000000000
--- a/dev-python/pymad/pymad-0.10-r1.ebuild
+++ /dev/null
@@ -1,27 +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_{8..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 f1f98a3868eb..7c3aa6a86986 100644
--- a/dev-python/pymdown-extensions/Manifest
+++ b/dev-python/pymdown-extensions/Manifest
@@ -1 +1,3 @@
-DIST pymdown-extensions-9.5.gh.tar.gz 1004601 BLAKE2B 8950ca104edf476e5557eab1effd9ad4e879f2ef58823e1385b5ee000e704b260b20f758578021d4c03492e675027f079363da49429938221fb1c109c9e1fe2d SHA512 b640947b97be4f7592b86125c7de0f36c34052e77103f7d16818b8fc2794cc28d3b7baef84d99434ca1b2810fbe19bc2fc0d2430b8504425cca71677d9c8753c
+DIST pymdown_extensions-10.7.1.tar.gz 811769 BLAKE2B ed2195a1a2262b96d444dd7d60c6330a6670cbe44a0f00f4c5a1dd80f4d2f13f0202adac5505d2fd5b6b5b02300e2d0bc62680fd92f3c00363c4123f02151a0a SHA512 60dce8fafb1935ab3d42320f9b6a3db9b60f4f4d4585b79f123103183f2a2ae9ed1256ae84992ad14b20f6969519a9c1a1b916c301a63715f867e8136be5eb2b
+DIST pymdown_extensions-10.8.1.tar.gz 812097 BLAKE2B 1f9d0c2eea87ae15320ac81289532518639464d4fbf8e84fc55d0e3e14b40629960c0518c602a721d29c542d278a9ada53521fa7db228eb92f7f5aaa618dc27d SHA512 3a63086753f662cafaa0e1226d21cf90c9427c409b28898d037a3ebb566806226455b1e9e6c2f2b36781df02dfb7110fe0fb9e6df3170030af75ba5a42661ffd
+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.1.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.8.1.ebuild
new file mode 100644
index 000000000000..30aebcd368e1
--- /dev/null
+++ b/dev-python/pymdown-extensions/pymdown-extensions-10.8.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=( 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-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.5.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-9.5.ebuild
deleted file mode 100644
index b8b9a0961375..000000000000
--- a/dev-python/pymdown-extensions/pymdown-extensions-9.5.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8..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
-"
-
-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/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~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}]
- 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/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 150d59192a6b..7ae354540dc9 100644
--- a/dev-python/pymdown-lexers/pymdown-lexers-0_pre20210902.ebuild
+++ b/dev-python/pymdown-lexers/pymdown-lexers-0_pre20210902.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..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 ~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 4db810357637..000000000000
--- a/dev-python/pymdstat/pymdstat-0.4.2-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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 c0da7add8fe8..c84af28c996c 100644
--- a/dev-python/pymediainfo/Manifest
+++ b/dev-python/pymediainfo/Manifest
@@ -1 +1 @@
-DIST pymediainfo-5.1.0.tar.gz 445630 BLAKE2B debef8de004232c4e39bd17018c447474a4f71bc386b01710bea8084febb5353cb70512ee77c33ea8b3e6c7b67baded99aecb77b60c52da58be35ef91919f34a SHA512 d3c48e37f6d59b0f5bc1d66d4fad9fea26724863dc2ae75a30c80d972f68f3be650298d25105d330c20b83083f94d2ff5e2690c29573897e09afa44931f3228e
+DIST pymediainfo-6.1.0.tar.gz 446466 BLAKE2B 66a2863439cd2df7e5ad8be07a377b8201048aed4f6b4efb2289f316a184ebbc5376ce4e437e05819906a49eb40d49039f8e17654470cd1539fdfdb6496b3b71 SHA512 2c32134f42794a7228591d96e2cbe64b30693b671ded4e386b08eb6d571459e4a06d551d3c169dd340f560cf5ec7f86f6cd73fc135e4404614c22ed452273783
diff --git a/dev-python/pymediainfo/pymediainfo-5.1.0-r1.ebuild b/dev-python/pymediainfo/pymediainfo-5.1.0-r1.ebuild
deleted file mode 100644
index be2e13207f93..000000000000
--- a/dev-python/pymediainfo/pymediainfo-5.1.0-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{7..10} )
-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
-"
-BDEPEND="dev-python/setuptools_scm[${PYTHON_USEDEP}]"
-
-distutils_enable_sphinx docs dev-python/alabaster
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Disable tests which requires network access
- sed -i 's/@pytest.mark.internet/@pytest.mark.skip/' \
- tests/test_pymediainfo.py || die
- distutils-r1_python_prepare_all
-}
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/metadata.xml b/dev-python/pymetar/metadata.xml
index 7d530b629b05..faa146c529bc 100644
--- a/dev-python/pymetar/metadata.xml
+++ b/dev-python/pymetar/metadata.xml
@@ -10,12 +10,12 @@ This library downloads the weather report for a given station
ID (get yours from http://www.nws.noaa.gov/tg/siteloc.shtml),
decodes it and provides easy access to all the data found in the
report. Documentation and a small example app are inside the tarball.
-</longdescription>
+ </longdescription>
<longdescription lang="ja">
ã“ã®ãƒ©ã‚¤ãƒ–ラリã¯æŒ‡å®šã—ãŸã‚¹ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ID( http://www.nws.noaa.gov/tg/siteloc.shtml ã§å…¥æ‰‹)ã‹ã‚‰å¤©æ°—予報çµæžœã‚’ダウンロードã—ã€è§£èª­ã—ã€äºˆå ±ãƒ‡ãƒ¼ã‚¿ã‹ã‚‰æ¤œç´¢ã™ã‚‹ã®ã«ç°¡å˜
ãªã‚¢ã‚¯ã‚»ã‚¹æ‰‹æ®µã‚’æä¾›ã—ã¾ã™ã€‚ドキュメンテーションã¨å˜ç´”ãªã‚µãƒ³ãƒ—ル・アプリケーショ
ンã¯tarballファイルã®ä¸­ã§ã™ã€‚
-</longdescription>
+ </longdescription>
<upstream>
<remote-id type="github">klausman/pymetar</remote-id>
<remote-id type="pypi">pymetar</remote-id>
diff --git a/dev-python/pymetar/pymetar-1.4-r1.ebuild b/dev-python/pymetar/pymetar-1.4-r1.ebuild
deleted file mode 100644
index 021d705b47e9..000000000000
--- a/dev-python/pymetar/pymetar-1.4-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9} )
-
-inherit distutils-r1
-
-DESCRIPTION="Downloads and decodes to the weather report for a given station ID"
-HOMEPAGE="https://www.schwarzvogel.de/software/pymetar/"
-SRC_URI="https://www.schwarzvogel.de/pkgs/${P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND=""
-
-src_install() {
- dodoc "${S}/README.md"
- dodoc "${S}/THANKS"
- doman "${S}/pymetar.1"
-
- distutils-r1_src_install
-}
diff --git a/dev-python/pymetar/pymetar-1.4-r2.ebuild b/dev-python/pymetar/pymetar-1.4-r2.ebuild
new file mode 100644
index 000000000000..a462fd5eacab
--- /dev/null
+++ b/dev-python/pymetar/pymetar-1.4-r2.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
+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/
+ https://github.com/klausman/pymetar/
+ https://pypi.org/project/pymetar/
+"
+SRC_URI="https://www.schwarzvogel.de/pkgs/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~x86"
+
+src_test() {
+ pushd testing/smoketest || die
+ tar xzf reports.tgz || die
+ distutils-r1_src_test
+ popd || die
+}
+
+python_test() {
+ # A failed tests does not necessarily cause a failure exit code
+ # Check output manually, each test should show "reports check out ok"
+ ./runtests.sh || die "Tests failed with ${EPYTHON}"
+}
+
+src_install() {
+ dodoc "${S}/README.md" "${S}/THANKS"
+ doman "${S}/pymetar.1"
+
+ distutils-r1_src_install
+}
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 a68143195461..000000000000
--- a/dev-python/pymilter/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="person" proxied="yes">
- <email>gentoo@seichter.de</email>
- <name>Ralph Seichter</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <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 4df4b583f2ea..000000000000
--- a/dev-python/pymilter/pymilter-1.0.4-r2.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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 268e99b48bdf..000000000000
--- a/dev-python/pymilter/pymilter-1.0.4-r3.ebuild
+++ /dev/null
@@ -1,30 +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_{8..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 91522559083c..11402fd5bbef 100644
--- a/dev-python/pymongo/Manifest
+++ b/dev-python/pymongo/Manifest
@@ -1,4 +1,4 @@
-DIST mongo-python-driver-4.0.2.tar.gz 1027101 BLAKE2B d95eea08e09101f1db5df5dcbd5d843273ebd0c63b228420748a1663620ea18e05853372e876abc8b6480238de2b035c4e5a3c9f9b7c206228870a66e5d5f053 SHA512 eacb24d110de645a70b16b4d11f7a6b019f741fba2222f8ecee47d9f638fd71e579d3a46f5f539bc89d1ea53ddf0b72745b667a0f05479bb4b53ed72fb075b5b
-DIST mongo-python-driver-4.1.0.tar.gz 1069416 BLAKE2B ea7d81e405f4db4ec0e03591909541f5452f516d359e42fc6fde74435899353f4718b7dbfe3dc1802e79c9277fcfe6203ecd33a5e2ad2682c604b9de44c46c7c SHA512 558d321a335742fc3399e9f5cb4917605353f55a1912f9fa34ac46f6107ed6522f952dc9ef584f4cbe1ffcfc600b49963a4bdf606146c38b94379bbb6a382202
-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.6.3.gh.tar.gz 1494158 BLAKE2B bc876e121364154940b2aa92049089a3b3ea4a40ea7f785012c7f2d65840d9ef6cfc7413c832712ba2b06b2030438d598dc52cbd71190524cd90d5bafa06e745 SHA512 a6911a1619663e068f2d239e1d0a74bfad7347f40f8e5044f6a09802ac83ee3cc962722ff3cdcd7af1a2ffdb3f1a170d98620b83be2c9463d66fecca01b99543
+DIST mongo-python-driver-4.7.0.gh.tar.gz 1548372 BLAKE2B 48bdddf66ab083836035dec6be4a5a227e49ef6f47493de684f3216c6b1a4231f37b674f0c527476c616809049325369a268e4f48b08317157be1a396f046fe4 SHA512 5cf80e938160cdfc7fd90494bd6e6c210a7176179f8bf1d0c1c139959e06f05efe295bf415eb816fec9bdaf245a9fe5d514b82a75441e2c13cc4d9f65c53724c
+DIST mongo-python-driver-4.7.1.gh.tar.gz 1548181 BLAKE2B 7d78112b7afaf71726c56672ce4298999e0c8fcb79ac314df86e6abf92d7f721c88a9245785f559c6c3969a33ffef2391abb3f926919628c56a6849ec6a98359 SHA512 d8824c17f035b741920f9be110f7963c1636c8268c67738a03bcf573194f2a6286001c44b14c99f53407c6e546d46400e8a4d4a3d007f737a29d2c495d49e300
+DIST mongo-python-driver-4.7.2.gh.tar.gz 1548375 BLAKE2B a40dbe153f36cdf2836583aa0116f447d08376ce7980a09d0f21cea37a34ab318e5ff0b34b7fe1721cf7fc5d5443a1dbe0982d59cb941b0da8a4a99abdc7b19d SHA512 1de8bd14301e365eb53252dedaaaf8c9056dd534662543e2a500511e5f5f67a69e1f11a8a8575efdbd8852bb47b632d59762f66024d32973d20dc17c4448b9be
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.0.2.ebuild b/dev-python/pymongo/pymongo-4.0.2.ebuild
deleted file mode 100644
index a28d8eaf4f63..000000000000
--- a/dev-python/pymongo/pymongo-4.0.2.ebuild
+++ /dev/null
@@ -1,117 +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_{8..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.1.0.ebuild b/dev-python/pymongo/pymongo-4.1.0.ebuild
deleted file mode 100644
index 0a91e8ab7cdf..000000000000
--- a/dev-python/pymongo/pymongo-4.1.0.ebuild
+++ /dev/null
@@ -1,117 +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_{8..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.1.1.ebuild b/dev-python/pymongo/pymongo-4.1.1.ebuild
deleted file mode 100644
index 438a633aca35..000000000000
--- a/dev-python/pymongo/pymongo-4.1.1.ebuild
+++ /dev/null
@@ -1,117 +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_{8..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 16be1870a95e..000000000000
--- a/dev-python/pymongo/pymongo-4.2.0.ebuild
+++ /dev/null
@@ -1,121 +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_{8..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.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/pymongo/pymongo-4.7.0.ebuild b/dev-python/pymongo/pymongo-4.7.0.ebuild
new file mode 100644
index 000000000000..6e38123e5430
--- /dev/null
+++ b/dev-python/pymongo/pymongo-4.7.0.ebuild
@@ -0,0 +1,156 @@
+# Copyright 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::ClientUnitTest::test_detected_environment_logging
+ test/test_client.py::ClientUnitTest::test_detected_environment_warning
+ test/test_client.py::TestClient::test_service_name_from_kwargs
+ test/test_client.py::TestClient::test_srv_max_hosts_kwarg
+ test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
+ test/test_srv_polling.py
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
+
+ # broken regularly by changes in mypy
+ test/test_typing.py::TestMypyFails::test_mypy_failures
+ )
+
+ if ! use test-full; then
+ # .invalid is guaranteed to return NXDOMAIN per RFC 6761
+ local -x DB_IP=mongodb.invalid
+ epytest
+ return
+ fi
+
+ # Yes, we need TCP/IP for that...
+ local -x DB_IP=127.0.0.1
+ local -x DB_PORT=27000
+
+ local dbpath=${TMPDIR}/mongo.db
+ local logpath=${TMPDIR}/mongod.log
+
+ # Now, the hard part: we need to find a free port for mongod.
+ # We're just trying to run it random port numbers and check the log
+ # for bind errors. It shall be noted that 'mongod --fork' does not
+ # return failure when it fails to bind.
+
+ mkdir -p "${dbpath}" || die
+ while true; do
+ ebegin "Trying to start mongod on port ${DB_PORT}"
+
+ LC_ALL=C \
+ mongod --dbpath "${dbpath}" --nojournal \
+ --bind_ip ${DB_IP} --port ${DB_PORT} \
+ --unixSocketPrefix "${TMPDIR}" \
+ --logpath "${logpath}" --fork \
+ && sleep 2
+
+ # Now we need to check if the server actually started...
+ if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
+ # yay!
+ eend 0
+ break
+ elif grep -q 'Address already in use' "${logpath}"; then
+ # ay, someone took our port!
+ eend 1
+ : $(( DB_PORT += 1 ))
+ continue
+ else
+ eend 1
+ eerror "Unable to start mongod for tests. See the server log:"
+ eerror " ${logpath}"
+ die "Unable to start mongod for tests."
+ fi
+ done
+
+ local failed
+ nonfatal epytest || failed=1
+
+ mongod --dbpath "${dbpath}" --shutdown || die
+
+ [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
+
+ rm -rf "${dbpath}" || die
+}
diff --git a/dev-python/pymongo/pymongo-4.7.1.ebuild b/dev-python/pymongo/pymongo-4.7.1.ebuild
new file mode 100644
index 000000000000..6e38123e5430
--- /dev/null
+++ b/dev-python/pymongo/pymongo-4.7.1.ebuild
@@ -0,0 +1,156 @@
+# Copyright 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::ClientUnitTest::test_detected_environment_logging
+ test/test_client.py::ClientUnitTest::test_detected_environment_warning
+ test/test_client.py::TestClient::test_service_name_from_kwargs
+ test/test_client.py::TestClient::test_srv_max_hosts_kwarg
+ test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
+ test/test_srv_polling.py
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
+
+ # broken regularly by changes in mypy
+ test/test_typing.py::TestMypyFails::test_mypy_failures
+ )
+
+ if ! use test-full; then
+ # .invalid is guaranteed to return NXDOMAIN per RFC 6761
+ local -x DB_IP=mongodb.invalid
+ epytest
+ return
+ fi
+
+ # Yes, we need TCP/IP for that...
+ local -x DB_IP=127.0.0.1
+ local -x DB_PORT=27000
+
+ local dbpath=${TMPDIR}/mongo.db
+ local logpath=${TMPDIR}/mongod.log
+
+ # Now, the hard part: we need to find a free port for mongod.
+ # We're just trying to run it random port numbers and check the log
+ # for bind errors. It shall be noted that 'mongod --fork' does not
+ # return failure when it fails to bind.
+
+ mkdir -p "${dbpath}" || die
+ while true; do
+ ebegin "Trying to start mongod on port ${DB_PORT}"
+
+ LC_ALL=C \
+ mongod --dbpath "${dbpath}" --nojournal \
+ --bind_ip ${DB_IP} --port ${DB_PORT} \
+ --unixSocketPrefix "${TMPDIR}" \
+ --logpath "${logpath}" --fork \
+ && sleep 2
+
+ # Now we need to check if the server actually started...
+ if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
+ # yay!
+ eend 0
+ break
+ elif grep -q 'Address already in use' "${logpath}"; then
+ # ay, someone took our port!
+ eend 1
+ : $(( DB_PORT += 1 ))
+ continue
+ else
+ eend 1
+ eerror "Unable to start mongod for tests. See the server log:"
+ eerror " ${logpath}"
+ die "Unable to start mongod for tests."
+ fi
+ done
+
+ local failed
+ nonfatal epytest || failed=1
+
+ mongod --dbpath "${dbpath}" --shutdown || die
+
+ [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
+
+ rm -rf "${dbpath}" || die
+}
diff --git a/dev-python/pymongo/pymongo-4.7.2.ebuild b/dev-python/pymongo/pymongo-4.7.2.ebuild
new file mode 100644
index 000000000000..9f363c52e2f0
--- /dev/null
+++ b/dev-python/pymongo/pymongo-4.7.2.ebuild
@@ -0,0 +1,159 @@
+# Copyright 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::ClientUnitTest::test_detected_environment_logging
+ test/test_client.py::ClientUnitTest::test_detected_environment_warning
+ test/test_client.py::TestClient::test_service_name_from_kwargs
+ test/test_client.py::TestClient::test_srv_max_hosts_kwarg
+ test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
+ test/test_srv_polling.py
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
+
+ # broken regularly by changes in mypy
+ test/test_typing.py::TestMypyFails::test_mypy_failures
+
+ # fragile to timing? fails because we're getting too many logs
+ test/test_connection_logging.py::TestConnectionLoggingConnectionPoolOptions::test_maxConnecting_should_be_included_in_connection_pool_created_message_when_specified
+ )
+
+ 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 2235c15658dd..f672ace1d089 100644
--- a/dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild
+++ b/dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild
@@ -1,22 +1,31 @@
-# Copyright 1999-2022 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_{8..10} )
+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}"
+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 ef0f0ed67ad1..2eb07e8831f4 100644
--- a/dev-python/pymysql/Manifest
+++ b/dev-python/pymysql/Manifest
@@ -1 +1 @@
-DIST pymysql-1.0.2.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.ebuild b/dev-python/pymysql/pymysql-1.0.2.ebuild
deleted file mode 100644
index 3b56a5306846..000000000000
--- a/dev-python/pymysql/pymysql-1.0.2.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-
-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}.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-r1.ebuild b/dev-python/pynacl/pynacl-1.5.0-r1.ebuild
deleted file mode 100644
index b108506dab01..000000000000
--- a/dev-python/pynacl/pynacl-1.5.0-r1.ebuild
+++ /dev/null
@@ -1,42 +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_{8..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/six[${PYTHON_USEDEP}]
- >=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 312e8c74e67f..000000000000
--- a/dev-python/pynest2d/pynest2d-4.13_beta.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MY_PV=$(ver_rs 2 -)
-PYTHON_COMPAT=( python3_{8..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 1cdd79504db6..000000000000
--- a/dev-python/pynvim/pynvim-0.4.3-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} 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 fb705957a712..508a8c1584eb 100644
--- a/dev-python/pyocr/Manifest
+++ b/dev-python/pyocr/Manifest
@@ -1,2 +1 @@
-DIST pyocr-0.8.2.tar.gz 67598 BLAKE2B b5cc1338b73f1147195dd094c332836e49189c3fff051de7e634d99de1135b07b1343af3d7c2dcb302e583a0b307c20aa2aaea4e878d6b2325a5aade7e438b23 SHA512 85100aa236bb2c862b5b67137267a657ae88b06eeb9bd1a895c18bfd7318641fa01ea3966499ccdfcc21480522e4996f0e12f2e8931bb455ade3adea428af17d
-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/metadata.xml b/dev-python/pyocr/metadata.xml
index 041475e650d7..e1321cacc717 100644
--- a/dev-python/pyocr/metadata.xml
+++ b/dev-python/pyocr/metadata.xml
@@ -21,5 +21,6 @@ Pyocr can be used as a wrapper for google's Tesseract-OCR or Cuneiform. It can r
</use>
<upstream>
<remote-id type="pypi">pyocr</remote-id>
+ <remote-id type="gnome-gitlab">World/OpenPaperwork/pyocr</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pyocr/pyocr-0.8.2.ebuild b/dev-python/pyocr/pyocr-0.8.2.ebuild
deleted file mode 100644
index 62e57d8e85b1..000000000000
--- a/dev-python/pyocr/pyocr-0.8.2.ebuild
+++ /dev/null
@@ -1,31 +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_{8..10} )
-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 )"
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 da459ab474c5..000000000000
--- a/dev-python/pyocr/pyocr-0.8.3.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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 bf404f74cf95..101238db8683 100644
--- a/dev-python/pyopencl/Manifest
+++ b/dev-python/pyopencl/Manifest
@@ -1,2 +1 @@
-DIST pyopencl-2022.1.5.tar.gz 454129 BLAKE2B 266bc327c9af5654287fc47cdf4e6002c7cddcd6f5e55bb70bb62aaee666dc5c102f78d4e946f010c1e109390c1d2e981e7ca6ca002d10f66248cb008b308734 SHA512 e6eb3e6d886d8ca1d94867a398b286556fd2d93535bb8481c7603cd521cd47606ce3d9cd6422830c6404305a4a1293234d8774fdda6923bdd2b4fc21fb39d377
-DIST pyopencl-2022.1.6.tar.gz 455424 BLAKE2B 03c46bebc4d6093489b0a1501267d5d67b73e9e7fe50f73cec3dd752fbb699adab63e08d60f3a54c8fd215cbb82c81353d28e875b953686b05e188df78cfe237 SHA512 a1e404c4c5f95d111690c969ae5c5d34f0deca2c8b93a5ce4d90e003031af7eb94a7708f878170a9b6e001b899d321f7dfdaa6f7545af3237d30d237d44bb45f
+DIST pyopencl-2024.1.tar.gz 473860 BLAKE2B 803c92418a609f3ad9249c81e93af0bd2e9125ee56dc88af8ee6ae9c4a275c7ab37befddd575914eb9f0b295aaef4f135358669e384a55c04b3938b02572724d SHA512 abf27d67f8c3633c71e662938a919c88a34b0b66cc3c213644f92a8733aed3c9b7593542dd9b45a080941976dadeb4f49a23a986482110824b554e3a0d317176
diff --git a/dev-python/pyopencl/metadata.xml b/dev-python/pyopencl/metadata.xml
index cd62150444f7..e86864baa3fd 100644
--- a/dev-python/pyopencl/metadata.xml
+++ b/dev-python/pyopencl/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">pyopencl</remote-id>
+ <remote-id type="github">inducer/pyopencl</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pyopencl/pyopencl-2022.1.5.ebuild b/dev-python/pyopencl/pyopencl-2022.1.5.ebuild
deleted file mode 100644
index b6ce5908fee9..000000000000
--- a/dev-python/pyopencl/pyopencl-2022.1.5.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-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"
-IUSE="examples opengl"
-
-DEPEND=">=virtual/opencl-2"
-RDEPEND="${DEPEND}
- >=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}]"
-# libglvnd is only needed for the headers
-BDEPEND="dev-python/numpy[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.5.0[${PYTHON_USEDEP}]
- <dev-python/pybind11-2.10.0[${PYTHON_USEDEP}]
- opengl? ( media-libs/libglvnd )"
-
-# The test suite fails if there are no OpenCL platforms available, and
-# even if there is one (which requires the presence of both an OpenCL
-# runtime *and* hardware supported by it - simply emerging any runtime
-# is not enough) the vast majority of tests end up skipped because by
-# default the portage user hasn't got sufficient privileges to talk
-# to the GPU.
-RESTRICT="test"
-
-python_configure_all() {
- local myconf=()
- if use opengl; then
- myconf+=(--cl-enable-gl)
- fi
-
- "${EPYTHON}" configure.py \
- "${myconf[@]}"
-}
-
-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-2022.1.6.ebuild b/dev-python/pyopencl/pyopencl-2022.1.6.ebuild
deleted file mode 100644
index 19e2c5a987c8..000000000000
--- a/dev-python/pyopencl/pyopencl-2022.1.6.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-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"
-
-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}]
- <dev-python/pybind11-2.10.0[${PYTHON_USEDEP}]"
-
-# The test suite fails if there are no OpenCL platforms available, and
-# even if there is one (which requires the presence of both an OpenCL
-# runtime *and* hardware supported by it - simply emerging any runtime
-# is not enough) the vast majority of tests end up skipped because by
-# default the portage user hasn't got sufficient privileges to talk
-# to the GPU.
-RESTRICT="test"
-
-python_configure_all() {
- local myconf=()
- if use opengl; then
- myconf+=(--cl-enable-gl)
- fi
-
- "${EPYTHON}" configure.py \
- "${myconf[@]}"
-}
-
-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 3ba7738a27e0..000000000000
--- a/dev-python/pyopengl/pyopengl-3.1.5.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_REQ_USE="tk?"
-PYTHON_COMPAT=( python3_{8..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.ebuild b/dev-python/pyopengl/pyopengl-3.1.6.ebuild
deleted file mode 100644
index 5c6916857691..000000000000
--- a/dev-python/pyopengl/pyopengl-3.1.6.ebuild
+++ /dev/null
@@ -1,53 +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_REQ_USE="tk?"
-PYTHON_COMPAT=( python3_{8..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 84add25d0527..000000000000
--- a/dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.6.ebuild
+++ /dev/null
@@ -1,38 +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_{8..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 3f97ef8c7f05..1388b95983dd 100644
--- a/dev-python/pyopenssl/Manifest
+++ b/dev-python/pyopenssl/Manifest
@@ -1 +1 @@
-DIST pyOpenSSL-22.0.0.tar.gz 178438 BLAKE2B d34c91a54aaf6b28d92ba83c26900fb308835512275267e11a5482ede4ab45177434559a53c64a116aa19c84d65dcdb459aecd3fc5587cb13e21cd2f196a0078 SHA512 3d7695f27b7909eb82f05527ab7551fe90a85a70f20ea980293b59672a62f9b015966180407fa0786e94b01ad1d1acfaa7d40426bb63410efd24a144e559e2f0
+DIST pyOpenSSL-24.1.0.tar.gz 179671 BLAKE2B d49139e9604e854427005adb17cbc8926fa4e10390b36446f9c95dbe81802bb8b97c2e6f1ea8f91dfd74733631292c88536c4f9772647e6d4b449b4d01ed6355 SHA512 acb07025f085d2fe9338e5ce5f65937001b1a8376c41ac532e9b0548668ce05c844e3e28c58efad812a034becf8e24aa9504165ff6af4c3b085cf463fa4d2fb6
diff --git a/dev-python/pyopenssl/pyopenssl-22.0.0.ebuild b/dev-python/pyopenssl/pyopenssl-22.0.0.ebuild
deleted file mode 100644
index 6da2c0e6e934..000000000000
--- a/dev-python/pyopenssl/pyopenssl-22.0.0.ebuild
+++ /dev/null
@@ -1,67 +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_{8..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://pypi.org/project/pyOpenSSL/
- https://github.com/pyca/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-35.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.1.0.ebuild b/dev-python/pyopenssl/pyopenssl-24.1.0.ebuild
new file mode 100644
index 000000000000..0830dca5a6cc
--- /dev/null
+++ b/dev-python/pyopenssl/pyopenssl-24.1.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ epytest -p rerunfailures
+}
diff --git a/dev-python/pyotherside/Manifest b/dev-python/pyotherside/Manifest
index 1636dd27521a..6150ebef338c 100644
--- a/dev-python/pyotherside/Manifest
+++ b/dev-python/pyotherside/Manifest
@@ -1 +1 @@
-DIST pyotherside-1.5.9.tar.gz 185230 BLAKE2B 7130f17f29ed07cefc641d77631db46d08f3bd836c8517427e38fb454cbf34c2e875bb46798b3d785aa68064c24f154ed166617cde263f722e77eac6d0903980 SHA512 62c171b273b921d8e0220c7b73f0ff95a0a911eb3785cc37f3dab2ec624e54301ac5fbccfb57cac6a4bee967728624d4738b03aff0c5762452b99674cdff6ab2
+DIST pyotherside-1.6.0.tar.gz 183645 BLAKE2B e2a12a9a96f3672a5e322c9f2e84d485b8086bdcacfc6586e0c23f6dd730d3e66cea66618540fd9a304480a9ab86386e2fe0136047c59f70bfa3b5cff9e8e76e SHA512 57835db9d65fae10e6b3ec8ab37793e316324e7a819a1045436adf9eabdee11ccf3090a4db0302283b236e77e5e0bd14cf92ed1430835ccc324e50085a872787
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.5.9.ebuild b/dev-python/pyotherside/pyotherside-1.5.9.ebuild
deleted file mode 100644
index 2653359244df..000000000000
--- a/dev-python/pyotherside/pyotherside-1.5.9.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit qmake-utils python-single-r1
-
-DESCRIPTION="Asynchronous Python 3 Bindings for Qt 5"
-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 ~ppc64 ~riscv"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-qt/qtcore:5
- dev-qt/qtdeclarative:5
- dev-qt/qtgui:5
- dev-qt/qtsvg:5"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- sed -i -e "s/qtquicktests//" pyotherside.pro || die
-}
-
-src_configure() {
- eqmake5
-}
-
-src_test() {
- QT_QPA_PLATFORM="offscreen" tests/tests || die
-}
-
-src_install() {
- emake install INSTALL_ROOT="${D}"
-}
diff --git a/dev-python/pyotherside/pyotherside-1.6.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
new file mode 100644
index 000000000000..f151aceda94f
--- /dev/null
+++ b/dev-python/pyotherside/pyotherside-1.6.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit qmake-utils python-single-r1
+
+DESCRIPTION="Asynchronous Python 3 Bindings for Qt"
+HOMEPAGE="https://github.com/thp/pyotherside https://thp.io/2011/pyotherside/"
+SRC_URI="https://github.com/thp/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+IUSE="+qt5 qt6"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ ^^ ( qt5 qt6 )"
+
+# TODO: multibuild for both qt5 and qt6 if requested
+RDEPEND="
+ ${PYTHON_DEPS}
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5
+ dev-qt/qtopengl:5
+ dev-qt/qtsvg:5
+ )
+ qt6? (
+ dev-qt/qtbase:6[opengl]
+ dev-qt/qtdeclarative:6[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
+}
+
+src_configure() {
+ if use qt5; then
+ eqmake5
+ elif use qt6; then
+ eqmake6
+ else
+ # This should never happen if REQUIRED_USE is enforced
+ die "Neither Qt5 nor Qt6 support enabled, aborting"
+ fi
+}
+
+src_test() {
+ QT_QPA_PLATFORM="offscreen" tests/tests || die
+}
+
+src_install() {
+ emake install INSTALL_ROOT="${D}"
+}
diff --git a/dev-python/pyotp/Manifest b/dev-python/pyotp/Manifest
index 4d772d5cc534..f6d0aa7c9d7f 100644
--- a/dev-python/pyotp/Manifest
+++ b/dev-python/pyotp/Manifest
@@ -1 +1 @@
-DIST pyotp-2.6.0.tar.gz 15687 BLAKE2B 9e1b97c5fd5a3d9b335c173d44922a0427f9f49f4fb27579ee528d1e6f4776b33db31a1664a9bd6295bbec331458e17ac380c1fcd9860bc200577051f2af2e7e SHA512 8d650c6840dd243c4dcb522745ae80b462c1819bcafef226923d13be6a2b096cf5f2146829fd553d5e096d82b67725706d69d0cbb15a5d6586ea234201671bcd
+DIST pyotp-2.9.0.tar.gz 17763 BLAKE2B 32dd9772e0fc9de1cb13c204f5037dcf8352029e85a5df92c35f026e3960c649cd1d6f2b70b171133598e57a58707eebf34b4a8af18291a72f3e3aed8c659944 SHA512 2d3dd43997bbeceb078d9dfc4ec2d2ea608f1ac60c2189d45f775e1f47ff0cefcdfd36b77db1e022a8f8307b46329fbbad270e054853b63b5d7d457ad358731c
diff --git a/dev-python/pyotp/pyotp-2.6.0-r1.ebuild b/dev-python/pyotp/pyotp-2.6.0-r1.ebuild
deleted file mode 100644
index 7491d02761fa..000000000000
--- a/dev-python/pyotp/pyotp-2.6.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=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 ~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 ced9f03f4893..000000000000
--- a/dev-python/pyparsing/pyparsing-3.0.9.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2004-2022 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_{8..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 b5b6bf30658b..000000000000
--- a/dev-python/pyparted/pyparted-3.12.0.ebuild
+++ /dev/null
@@ -1,30 +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_{8..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/metadata.xml b/dev-python/pypax/metadata.xml
index c5010a0ad263..a985f69a43ad 100644
--- a/dev-python/pypax/metadata.xml
+++ b/dev-python/pypax/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>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
<maintainer type="project">
<email>hardened@gentoo.org</email>
<name>Gentoo Hardened</name>
@@ -17,4 +13,8 @@
<flag name="xtpax">Enable XATTR_PAX_FLAGS support.</flag>
<flag name="ptpax">Enable PT_PAX_FLAGS support.</flag>
</use>
+ <upstream>
+ <remote-id type="gentoo">proj/elfix</remote-id>
+ <remote-id type="github">gentoo/elfix</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/pypax/pypax-0.9.5-r1.ebuild b/dev-python/pypax/pypax-0.9.5-r1.ebuild
index 643b19a1919c..8a9786c387f2 100644
--- a/dev-python/pypax/pypax-0.9.5-r1.ebuild
+++ b/dev-python/pypax/pypax-0.9.5-r1.ebuild
@@ -1,10 +1,11 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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_{8..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
@@ -13,7 +14,7 @@ if [[ ${PV} == *9999* ]] ; then
inherit git-r3
else
SRC_URI="https://dev.gentoo.org/~blueness/elfix/elfix-${PV}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
S="${WORKDIR}/elfix-${PV}"
fi
diff --git a/dev-python/pypax/pypax-9999.ebuild b/dev-python/pypax/pypax-9999.ebuild
index 643b19a1919c..ed47719cbc03 100644
--- a/dev-python/pypax/pypax-9999.ebuild
+++ b/dev-python/pypax/pypax-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_{8..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
new file mode 100644
index 000000000000..553a63109660
--- /dev/null
+++ b/dev-python/pypdf/Manifest
@@ -0,0 +1,2 @@
+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/metadata.xml b/dev-python/pypdf/metadata.xml
new file mode 100644
index 000000000000..75594da4e373
--- /dev/null
+++ b/dev-python/pypdf/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">pypdf</remote-id>
+ <remote-id type="github">py-pdf/pypdf</remote-id>
+ </upstream>
+</pkgmetadata>
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..c9bd81008f5f
--- /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 ca5a87c21038..9d82d6fecef6 100644
--- a/dev-python/pyperclip/pyperclip-1.8.2-r1.ebuild
+++ b/dev-python/pyperclip/pyperclip-1.8.2-r1.ebuild
@@ -1,19 +1,18 @@
-# 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_{8..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 f90e01c84bcd..1315ec1ba861 100644
--- a/dev-python/pyphen/Manifest
+++ b/dev-python/pyphen/Manifest
@@ -1 +1,2 @@
-DIST Pyphen-0.12.0.tar.gz 1969022 BLAKE2B 9b7f6712a2085507684ddde52401a75b05d0a13a530572f0f08b9143168a8ea61a5ee73983606b19f88ff23f3c5344aa87722c3986291c7349f82e95dd3b1f19 SHA512 abecf0773f59b7a757b47c6512f1bf8e98f4709b285f04cf235c085ab4767eb95deab8ede4b792d6f4a6156d47287f9f712cb658939ed5afc475644e282adbd3
+DIST pyphen-0.14.0.tar.gz 1986988 BLAKE2B 3513ad1c9fbcc05318764f862a01bc4bbd6ad6a86f120ad93f8ff1d2a979984c35554db85943b5b7423f97e44ea933c64a3bf9c90aeb18629d215292466581b6 SHA512 5e242de2ecd5e951b2e1925df724013c14cea14729e8e0c132ab233c82406b37cc8d1d21cbd1edd748811fa6826a79da7a5ff9dfa859315840560cacae523e13
+DIST pyphen-0.15.0.tar.gz 2072615 BLAKE2B ce5a1d16ade5d1e894b941aa02749de5793d1b11554b232d0a475c687551843171da5c8fb31fa686af524c12693f87baf8e61a7c07e71935ca159fba42e4353f SHA512 c73ec781c92fbac1daadbf435b028a1eb6476df2bec40ceb039d394ae928ab3b3eff4f3ffaf23d847b89e766810a9dd153f6bbcb9678a9f61f65d84206042640
diff --git a/dev-python/pyphen/pyphen-0.12.0-r1.ebuild b/dev-python/pyphen/pyphen-0.12.0-r1.ebuild
deleted file mode 100644
index 56755fa62959..000000000000
--- a/dev-python/pyphen/pyphen-0.12.0-r1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python module for hyphenation using hunspell dictionaries"
-HOMEPAGE="https://github.com/Kozea/Pyphen"
-SRC_URI="https://github.com/Kozea/Pyphen/archive/${PV}.tar.gz -> ${P^}.tar.gz"
-S=${WORKDIR}/${P^}
-
-LICENSE="GPL-2+ LGPL-2+ MPL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # avoid dep on extra plugins
- sed -i -e '/addopts/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
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/pyphen/pyphen-0.15.0.ebuild b/dev-python/pyphen/pyphen-0.15.0.ebuild
new file mode 100644
index 000000000000..d69dde510071
--- /dev/null
+++ b/dev-python/pyphen/pyphen-0.15.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..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 f915562aa4ae..7b90dece416f 100644
--- a/dev-python/pypiserver/Manifest
+++ b/dev-python/pypiserver/Manifest
@@ -1 +1,2 @@
-DIST pypiserver-1.5.0.gh.tar.gz 149963 BLAKE2B bfc0760982f97e93357702342eb5b1776f72c43e66742a8741ee2ba3109839006e99e49b65e04380097500c400e09bce77b74fc5f9072c7670349817ae3a73cb SHA512 c93e724a3aa6ec265d483c2989129292a05132d3d52db6d9b9c1429610ee23b56e106c9389bdfaad142f34071ee258bdd4291668c11f8bb412df043bf4555611
+DIST pypiserver-2.0.1.gh.tar.gz 156624 BLAKE2B b37700ffe0c7361289a3825dafd86041fab9ddf574d7792c7cd155f7e869a1bdd2de4e2a658c808afc7fe5ee8989876fcb7e85a8da74202c2c4c4344fbaf1df4 SHA512 962b34ea2bbca680fcf7ee8153ecea09c2f0c1bcebaaacee4666c93deab9d2508e08a22d82635a64d8aaec7cab3b5485e3752f1439006ed01b58539035f3b711
+DIST pypiserver-2.1.1.gh.tar.gz 157393 BLAKE2B e80c73b2422dc87bba09d8c9c2e1ffc72017ec58c5530d3debb95560b50a776e1603cb5641c7e4af1ed87d64750843ae025a6a47ab4cc28ce0de1051dd5b214f SHA512 d85afb0d2c85c76a62e393d7d7824e91ff052a04e985278db48010b6f71d12c7749139245e69932b78aefbf3152ba8a8b463bfcd21d1772d047d64f0b164681a
diff --git a/dev-python/pypiserver/files/pypiserver-2.1.1-test-offline.patch b/dev-python/pypiserver/files/pypiserver-2.1.1-test-offline.patch
new file mode 100644
index 000000000000..121677beb1b8
--- /dev/null
+++ b/dev-python/pypiserver/files/pypiserver-2.1.1-test-offline.patch
@@ -0,0 +1,33 @@
+From 749ad0f641ac14cc6e8485ed0b4fdf6aacb6f015 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 25 Apr 2024 14:44:16 +0200
+Subject: [PATCH] test: Fix running `build` in offline test environment
+
+Fix the `build` calls to use `--no-isolation`, in order to fix
+regression in running tests in an offline environment.
+
+Unlike the previous `setup.py` calls, `build` defaults to creating a new
+virtual environment to perform the build. This, in turn, requires
+fetching the build dependencies from the Internet, effectively making
+the tests error out in an offline environment. Passing `--no-isolation`
+makes `build` use the already-installed host dependencies instead.
+---
+ tests/test_server.py | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/tests/test_server.py b/tests/test_server.py
+index 92ecdda3..99da611c 100644
+--- a/tests/test_server.py
++++ b/tests/test_server.py
+@@ -148,7 +148,10 @@ def wheel_file(project, tmp_path_factory):
+ if re.match("^3\.7", sys.version):
+ assert run_setup_py(project, f"bdist_wheel -d {distdir}") == 0
+ else:
+- assert run_py_build(project, f"--wheel --outdir {distdir}") == 0
++ assert (
++ run_py_build(project, f"--wheel --no-isolation --outdir {distdir}")
++ == 0
++ )
+ wheels = list(distdir.glob("centodeps*.whl"))
+ assert len(wheels) > 0
+ return wheels[0]
diff --git a/dev-python/pypiserver/pypiserver-1.5.0-r2.ebuild b/dev-python/pypiserver/pypiserver-1.5.0-r2.ebuild
deleted file mode 100644
index f62175c1fedc..000000000000
--- a/dev-python/pypiserver/pypiserver-1.5.0-r2.ebuild
+++ /dev/null
@@ -1,76 +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_{8..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}/${P}-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/pypiserver/pypiserver-2.1.1.ebuild b/dev-python/pypiserver/pypiserver-2.1.1.ebuild
new file mode 100644
index 000000000000..e8ff64e1ec08
--- /dev/null
+++ b/dev-python/pypiserver/pypiserver-2.1.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/bottle[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.2[${PYTHON_USEDEP}]
+ >=dev-python/pip-7[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/importlib-resources[${PYTHON_USEDEP}]
+ ' 3.{10..11})
+"
+# NB: many test deps are optional/specific to tests we skip
+BDEPEND="
+ dev-python/setuptools-git[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/build-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/passlib-1.6[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/webtest[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( CHANGES.rst README.md )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.5.0-unbundle-bottle.patch"
+ # https://github.com/pypiserver/pypiserver/pull/571
+ "${FILESDIR}/${P}-test-offline.patch"
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # remove bundled bottle (sic!)
+ rm pypiserver/bottle.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_server.py::test_hash_algos
+ tests/test_server.py::test_pip_install_open_succeeds
+ tests/test_server.py::test_pip_install_authed_succeeds
+ # seems to rely on internal bottle details
+ tests/test_main.py::test_auto_servers
+ )
+
+ if ! has_version dev-python/twine; then
+ EPYTEST_DESELECT+=(
+ tests/test_server.py::test_twine_upload
+ tests/test_server.py::test_twine_register
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests
+}
diff --git a/dev-python/pypng/Manifest b/dev-python/pypng/Manifest
index 824b61ec3591..ef0e01cd5d5e 100644
--- a/dev-python/pypng/Manifest
+++ b/dev-python/pypng/Manifest
@@ -1,2 +1 @@
-DIST pypng-0.0.21.tar.gz 111899 BLAKE2B b4b8f17b76918f415c02edc09a597af643615f46839fb4464f3116e4cefb0a251227f344ff2c1c51efb87933faf647bfa6a7c4d89bc91c8389a3dc71479e878d SHA512 b8f5f9be05aafe59aeb69462b7ccc9e5c4df8eb157731d888773f0ef223dc1c45db83daa51347b45dc3c59be5141c3fc4e031004ac28927b786d7e254ffff4fa
DIST pypng-pypng-0.20220715.0.tar.bz2 103437 BLAKE2B 4079df64f54a2f7f38ac0515c6be7d1b1048d5662c4bee78d0d1cbc014b3a560c7458845b8be07d499644e112a5b92aac890d887c0165577daeded09ca69a69d SHA512 48e254be1631c626bea366bcac5d8123bda14378d27ee95b4b80ae172821a9b194f136be315ae3539a6d1ad3e712a795f5cc60938b55941e441c64ec40feccb0
diff --git a/dev-python/pypng/metadata.xml b/dev-python/pypng/metadata.xml
index 34b5b2ad1ad9..75386a340b19 100644
--- a/dev-python/pypng/metadata.xml
+++ b/dev-python/pypng/metadata.xml
@@ -12,5 +12,6 @@
</maintainer>
<remote-id type="pypi">pypng</remote-id>
<remote-id type="github">drj11/pypng</remote-id>
+ <remote-id type="gitlab">drj11/pypng</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pypng/pypng-0.0.21-r1.ebuild b/dev-python/pypng/pypng-0.0.21-r1.ebuild
deleted file mode 100644
index fc4c27e1f789..000000000000
--- a/dev-python/pypng/pypng-0.0.21-r1.ebuild
+++ /dev/null
@@ -1,25 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure Python PNG image encoder/decoder"
-HOMEPAGE="
- https://github.com/drj11/pypng/
- https://pypi.org/project/pypng/
-"
-SRC_URI="https://github.com/drj11/pypng/archive/${P}.tar.gz"
-S=${WORKDIR}/pypng-${P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~riscv x86"
-
-python_test() {
- "${EPYTHON}" code/test_png.py -v || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/pypng/pypng-0.20220715.0.ebuild b/dev-python/pypng/pypng-0.20220715.0.ebuild
index 920f985e1ef7..f206fc76de27 100644
--- a/dev-python/pypng/pypng-0.20220715.0.ebuild
+++ b/dev-python/pypng/pypng-0.20220715.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..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
new file mode 100644
index 000000000000..76bb15b36079
--- /dev/null
+++ b/dev-python/pypresence/Manifest
@@ -0,0 +1 @@
+DIST pypresence-4.3.0.gh.tar.gz 376791 BLAKE2B 27cbbaee11145e01610b515344dcefec62adc6dc1071ff744bce03029ba447ddc400806f3bc3f1bce87c6a1efa3f2b76b7f5414a72b70852a2fb6fc3c9722861 SHA512 865f4017732967b64213608c2bd9c8aa95bea4a326ef907a798e4cc18f8b0b5fe7160ee5774f2fa00a18c68e333d17dcb24485be1a27ef4d883d694d78ca0517
diff --git a/dev-python/pypresence/metadata.xml b/dev-python/pypresence/metadata.xml
new file mode 100644
index 000000000000..4c1e79b832b9
--- /dev/null
+++ b/dev-python/pypresence/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="pypi">pypresence</remote-id>
+ <remote-id type="github">qwertyquerty/pypresence</remote-id>
+ </upstream>
+</pkgmetadata>
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 dd5ed079c2b3..3778cd3e6a0e 100644
--- a/dev-python/pyprof2calltree/pyprof2calltree-1.4.5-r1.ebuild
+++ b/dev-python/pyprof2calltree/pyprof2calltree-1.4.5-r1.ebuild
@@ -1,19 +1,26 @@
-# 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_{8..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 6c2536e0aef9..1cf1895e0746 100644
--- a/dev-python/pyproj/Manifest
+++ b/dev-python/pyproj/Manifest
@@ -1 +1 @@
-DIST pyproj-3.3.1.gh.tar.gz 238373 BLAKE2B 7996d253a35e3d64a343141179a88d2ab97e88f96447f3daf14c9f8d731099b506228c163fe460d3be30ae69c87e908879b3c0fe31eb7624c3bb8da157838337 SHA512 7175479f4ec526ada830d178bea77552d66aace4c7f6cde584aebef5fc4c6b7a46272eea2bd95f71910411c9ac8d8832d350891ffffda8a86eabb5449177a5eb
+DIST pyproj-3.6.1.gh.tar.gz 239568 BLAKE2B e396e7c13dfc90f8a8eaf93b7bc0e62921779930d9c42b21ce8afa95597b13e527c179096600f40140d6d00d0f425580fccc34ae55a4e8c985d1b618554c9db4 SHA512 19c55e7ab99aae70bc318246146dc98ba75cc4884de798392f590df48c6a83e1b80504fd9c555ffd9d19262eb93cdf2c46e4805a3ae6dc07b3eaa4669f025ff0
diff --git a/dev-python/pyproj/pyproj-3.3.1.ebuild b/dev-python/pyproj/pyproj-3.3.1.ebuild
deleted file mode 100644
index 93c1f69f34cc..000000000000
--- a/dev-python/pyproj/pyproj-3.3.1.ebuild
+++ /dev/null
@@ -1,47 +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_{8..10} )
-
-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.0.0:=
-"
-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_sphinx docs dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-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
new file mode 100644
index 000000000000..b616b2164cc4
--- /dev/null
+++ b/dev-python/pyproject-api/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..e625dc565153
--- /dev/null
+++ b/dev-python/pyproject-api/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">tox-dev/pyproject-api</remote-id>
+ <remote-id type="pypi">pyproject-api</remote-id>
+ </upstream>
+</pkgmetadata>
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 f149d2313b5d..b12953872ef5 100644
--- a/dev-python/pyproject-fmt/Manifest
+++ b/dev-python/pyproject-fmt/Manifest
@@ -1,2 +1 @@
-DIST pyproject-fmt-0.3.3.gh.tar.gz 14399 BLAKE2B 82af6d6c4424f83ed9a5539d64bfd517cf08df4bb14b7f1321a379a4d87d140f1518444b503731344e5fdbb4b94d92ce23605fe2a1cc978d26901eae98a31b8c SHA512 49c4648e140b34a6d2f27cc01be7253693e79687f2ff8dbcae5ca3cc64c14f5945f942ffb42d1d286ff221e5aaed22dc1f9953216f49232ce311c4c18130754e
-DIST pyproject-fmt-0.3.4.gh.tar.gz 14400 BLAKE2B 3ab116fe4d4f683eb3700ca2cb855744111b806514ef18f56cbe6628bfdb6935b813e852ff6ff64716959f1580e8817f485ddcdec6c463ecf5c8935912316528 SHA512 0e3adddfbe8afe3b9da85033ceea7c4e37f59bf48722a5897f6e7f2963cd95ba9eef7309c095f4b3fbd927a6486a058289cc3fa5f90c0108a75686b1b81d13e2
+DIST pyproject_fmt-1.8.0.tar.gz 16696 BLAKE2B 1614fd6da4bb7be818825138b69b826b7141ae0fcada4414daa54b1c883ec3bbdbe95377155869d0c393b1b9646b69ebb009fe47f1c530b1f1c9f02c8ba8f57d SHA512 0731ffbe514cf8788bf1cfcca506591fefce3b98b1c6d014a8e17825ab6c73edc4ad8e7214cd8f6fc9124ed2ff362d03b328d47e96a6246165b4dd9fdd68299f
diff --git a/dev-python/pyproject-fmt/metadata.xml b/dev-python/pyproject-fmt/metadata.xml
index 2b685521272a..87639cb41cb1 100644
--- a/dev-python/pyproject-fmt/metadata.xml
+++ b/dev-python/pyproject-fmt/metadata.xml
@@ -4,6 +4,7 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">tox-dev/pyproject-fmt</remote-id>
<remote-id type="pypi">pyproject-fmt</remote-id>
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-0.3.3.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-0.3.3.ebuild
deleted file mode 100644
index bf9e0c458bdd..000000000000
--- a/dev-python/pyproject-fmt/pyproject-fmt-0.3.3.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 python3_{8..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="~amd64"
-
-RDEPEND="
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/tomlkit-0.10[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/pytest-mock-3.7[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-0.3.4.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-0.3.4.ebuild
deleted file mode 100644
index f6ca5366cc12..000000000000
--- a/dev-python/pyproject-fmt/pyproject-fmt-0.3.4.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 python3_{8..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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/tomlkit-0.10[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/pytest-mock-3.7[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
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..7da8128f9cf9
--- /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/Manifest b/dev-python/pyproject-hooks/Manifest
new file mode 100644
index 000000000000..473fd942c57d
--- /dev/null
+++ b/dev-python/pyproject-hooks/Manifest
@@ -0,0 +1,2 @@
+DIST pyproject-hooks-1.0.0.gh.tar.gz 16001 BLAKE2B c90d2fb70ada9414cbbf201bfbb695b4e9055b61fdcdc8e0f8a2548e4f47e7512140fc71fee9f9306577d97b76ca64e77b7c58d526381c5481739e630e5250a1 SHA512 fca9b69859d7e3949b158c2879ba7ebc7305f1edaacdd84b71a92565010176d1194be03a21fd6b9aa65d175cfd8243ba3a50aab617fb56ceac6b263da6613e17
+DIST pyproject-hooks-1.1.0.gh.tar.gz 18774 BLAKE2B e6b376188655a5bc188567f412c22f8224209612c4fb0332f8c0c441180c18589139549139957834b3359bf3ced961e22f97e2449edc354047afaa6d2eff58d7 SHA512 256028d13adbe35126a63431a2a49e0c48adddce5ffc3ff2eebad368eee7ce52591ecfd8a8526876de20bc59dfc87156533d6a97b55538a739873e60f9509eff
diff --git a/dev-python/pyproject-hooks/metadata.xml b/dev-python/pyproject-hooks/metadata.xml
new file mode 100644
index 000000000000..c8e7d7283e51
--- /dev/null
+++ b/dev-python/pyproject-hooks/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="pypi">pyproject-hooks</remote-id>
+ <remote-id type="github">pypa/pyproject-hooks</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild b/dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild
new file mode 100644
index 000000000000..8a5197a6c1d9
--- /dev/null
+++ b/dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Wrappers to build Python packages using PEP 517 hooks"
+HOMEPAGE="
+ https://pypi.org/project/pyproject_hooks/
+ https://github.com/pypa/pyproject-hooks/
+ https://pyproject-hooks.readthedocs.io/
+"
+SRC_URI="
+ https://github.com/pypa/pyproject-hooks/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{8..10})
+"
+BDEPEND="
+ test? (
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyproject-hooks/pyproject-hooks-1.1.0.ebuild b/dev-python/pyproject-hooks/pyproject-hooks-1.1.0.ebuild
new file mode 100644
index 000000000000..de011f5615ab
--- /dev/null
+++ b/dev-python/pyproject-hooks/pyproject-hooks-1.1.0.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=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Wrappers to build Python packages using PEP 517 hooks"
+HOMEPAGE="
+ https://pypi.org/project/pyproject-hooks/
+ https://github.com/pypa/pyproject-hooks/
+ https://pyproject-hooks.readthedocs.io/
+"
+SRC_URI="
+ https://github.com/pypa/pyproject-hooks/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/testpath[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+"
+
+distutils_enable_tests pytest
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 985f4eddfac5..000000000000
--- a/dev-python/pyproject-metadata/pyproject-metadata-0.5.0.ebuild
+++ /dev/null
@@ -1,26 +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_{8..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 0a4c1f96ba54..000000000000
--- a/dev-python/pyproject-metadata/pyproject-metadata-0.6.1.ebuild
+++ /dev/null
@@ -1,30 +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_{8..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 ~arm64 ~ppc64 ~riscv"
-
-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..ab3e9b6671a8
--- /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/pyproject2setuppy/Manifest b/dev-python/pyproject2setuppy/Manifest
deleted file mode 100644
index 40cef1190584..000000000000
--- a/dev-python/pyproject2setuppy/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyproject2setuppy-22.tar.gz 13046 BLAKE2B 5f59a08294f3d6d9dcbd6d9cbf6769abb523e8a409944157e9e8dc8a03944d173c1656c18da9138e220ad1ead31cb6af70bea8628c0e7164357af32a86700ec7 SHA512 8fc2975c8b4384b6a79008e2fc1de6acd2bcb27c9232b45ae5bda0e40f5a0be330ef7c9ef4ab36ab8ab33e9faf587b19d8fb431d95c866ccce46afc975f3cf26
diff --git a/dev-python/pyproject2setuppy/metadata.xml b/dev-python/pyproject2setuppy/metadata.xml
deleted file mode 100644
index 59e43249815b..000000000000
--- a/dev-python/pyproject2setuppy/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>mgorny@gentoo.org</email>
- <name>Michał Górny</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">pyproject2setuppy</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pyproject2setuppy/pyproject2setuppy-22-r1.ebuild b/dev-python/pyproject2setuppy/pyproject2setuppy-22-r1.ebuild
deleted file mode 100644
index 483e37cb59f7..000000000000
--- a/dev-python/pyproject2setuppy/pyproject2setuppy-22-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_SETUPTOOLS=manual
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Cheap setup.py hack to install flit & poetry-based projects"
-HOMEPAGE="https://github.com/mgorny/pyproject2setuppy"
-SRC_URI="
- https://github.com/mgorny/pyproject2setuppy/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 ~x64-macos"
-
-RDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.2.3[${PYTHON_USEDEP}]"
-BDEPEND="${RDEPEND}
- test? (
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pypugjs/Manifest b/dev-python/pypugjs/Manifest
index 49867b260501..d4795415db7e 100644
--- a/dev-python/pypugjs/Manifest
+++ b/dev-python/pypugjs/Manifest
@@ -1,2 +1,2 @@
-DIST pypugjs-5.9.11.tar.gz 51440 BLAKE2B 19aa91fadb1bcfe871420001429ac17559e136015649b94d2a0ec4b80fffa5dcbed672ac036f8865623acdf51b6188bf195a9a27b55612cf7f1c8285fd8d4a68 SHA512 512f5e0296166e73fc12fff816acf35729173a0d275661df36e536ea9a86300f2eea01440d028fa6faeab0d7bfe6e634acab22ed89d97558eec948d3726197c6
+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.11.ebuild b/dev-python/pypugjs/pypugjs-5.9.11.ebuild
deleted file mode 100644
index 9e4b4ca3d236..000000000000
--- a/dev-python/pypugjs/pypugjs-5.9.11.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..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}.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}]
- >=www-servers/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" www-servers/tornado
-}
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 3e6a897c9a36..000000000000
--- a/dev-python/pypugjs/pypugjs-5.9.12.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..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}]
- >=www-servers/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" www-servers/tornado
-}
diff --git a/dev-python/pypy-exe-bin/Manifest b/dev-python/pypy-exe-bin/Manifest
index 193889247492..99f05463c4e2 100644
--- a/dev-python/pypy-exe-bin/Manifest
+++ b/dev-python/pypy-exe-bin/Manifest
@@ -1,2 +1,8 @@
-DIST pypy-exe-7.3.9-1.amd64.xpak 13757730 BLAKE2B d5e2bddc32a9cd199d01280dfbe2ff6e73583094583bf9ec3bc469911754df86270c8cfc5a9284cf06dba7ce267d897f864f6f357418e96e853a6e0f31d627e6 SHA512 570ca27d1ca411281a002c9c33ebb54d088032d6aa1898967e637f6bf06c8a32a16576f8c637fc13a0fb8294e7ba5b0b9b16600902037680b7d7f2b4edd6cfe7
-DIST pypy-exe-7.3.9-1.x86.xpak 10132659 BLAKE2B 2a7e1e587f38178861f958ab40864f3d4f1df80dd7495eb31ac493d0bfa1b4a42278bb1fe9219148b6d04377588c33e8606e59e93c53c08b867f5408a39b2efb SHA512 57cfdd0c9e9b44aae882069f356935be1719bf737d9fbd1fde75b724269bd69cffc62c8cec77a863eab5260d76bfe689dcc6c78fda55a4952b496a6d5ac5acc0
+DIST pypy-exe-7.3.16-1.amd64-musl.gpkg.tar 12933120 BLAKE2B 4a70fc1b6724a75cd4d162a0a61f43242cf6ca889e8f00bc8ed4813aa2e303cf2ebc90bda48fab5aad06de3ac4654e1fdd48c94ab0be44fcf58879655b8dcb98 SHA512 dc1be0e135669593ad05f94b2696bd7cc41a9f3b0e3e46dec4f3909ff6763463372e2da0d2ebf6d4c04b966b6b78d552593bc4de52cc3a0a9e1c3d9f3d499338
+DIST pypy-exe-7.3.16-1.amd64.gpkg.tar 12943360 BLAKE2B 1991240985234b17410387e08008619aa15bbd56d5af855fe2aa75b6fe7936efeab0e42e10fee11d2a6a4eb26de1ae1a470f9a14b842b00a584c18db82bc4df1 SHA512 e0b4a8ca3d312931a2d1ed08f4a98c513ec4ef03c925d82a270357887e1d83c68aa4b68328106a000e4135c96081395a52fd28eec02bbbff06ebec12d4b815a2
+DIST pypy-exe-7.3.16-1.arm64-musl.gpkg.tar 10915840 BLAKE2B 51ea5c558283fd8da09b1ad410a2287a7512d6f5a5b1cd6882bfb10206a81c025ed08ee99cd05caefa41ddf1e6f17d6935e04e756bae7f2e2a80dd19d4a290e8 SHA512 0835866ad97e1e2aed406d8d346356a2095b3cb18fb22648f510063ff76cd9c29cf09877dda6f6ab2637748b376890143372b2012a322c60ced65be0e1b0d7fb
+DIST pypy-exe-7.3.16-1.arm64.gpkg.tar 10864640 BLAKE2B d33b2e35cbc81ef72ee9c04072664e1481ef8b2291be8d74a4bc2e3a5c177abf9344cc0880cfd5bfc04b684edcb6a12851b72ae77744cd36aae0b9cdaee616aa SHA512 9c49541850d359577ad5057e67fbfde13b7e0bf381305c5a15dec14e818f2ac6fcc59dc1654271b6e2f6a04914c7afa40f0caa8c7904c6eaa6633b80780e9500
+DIST pypy-exe-7.3.16-1.ppc64le-musl.gpkg.tar 6707200 BLAKE2B 3d3a3d0c0fef3a69c6c0e6a16c91abf3c8c3a232883f01c13121ed22d3c608ff62347823342e78892a080b84f52652507b870711452e087cab201d0acb58c7c4 SHA512 c36327ec441875c7ada54e3ae9e95651307f03a3dcd447c1d112527c72ddbdcbc303f5769a837e8b3c528d13aeb35ffe1cd9b11ba0575b0e5859138a67f7a2c6
+DIST pypy-exe-7.3.16-1.ppc64le.gpkg.tar 11038720 BLAKE2B 1a7aa31d9ec59a3aeb57c254d2b9efde9d02aba1663683999f1ebae95b2ad0c68a2fc8e4806420b1ad9f45ce4767f8e048b9607d1f124291770a99b423ae799f SHA512 5659cdb5a4a001d9c878670b0f5e7d06e6aa55d8fab403ab80a98e6b362bb8185b01fe4af092cc9042a1762ca52cc0ce81937c84240d08ebb84071cd860559e2
+DIST pypy-exe-7.3.16-1.x86-musl.gpkg.tar 9912320 BLAKE2B c6a42ce64cfda1a148af49e0876b640fb3ecaa7e70b5d5b22e58b9796c11b0e4d9fb5536927b7b20b05b9eaa2210333cb1b1be81581483a21a7a3699e5721e01 SHA512 8964ece7482218e06ab65b790f8f1fcf15a94c270daa9a2381b35ae335717a02f0b32947578fa03f0905a0783cb5fcf3ef03cb87a7ceaa7110c8593e483a971e
+DIST pypy-exe-7.3.16-1.x86.gpkg.tar 9861120 BLAKE2B b83fa9e3c3bbbd7c49ea2fdceabd7125e0db36ee20c2b71969833512f69070e07a1485ab830261f34e2571dbd48b9b65ffb580e9f8ae4b667626ca81b560c493 SHA512 eb2be6886126c675fc85458d34a0bcdd1da1415c843448e39d413b80d363698cb48b3b68bf8869b5ef898f0543966ab501bd4db545d7659705c279bf4de29ae6
diff --git a/dev-python/pypy-exe-bin/metadata.xml b/dev-python/pypy-exe-bin/metadata.xml
index efd7c8c21836..2ed15cb705e2 100644
--- a/dev-python/pypy-exe-bin/metadata.xml
+++ b/dev-python/pypy-exe-bin/metadata.xml
@@ -5,4 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">pypy/pypy</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.16.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.16.ebuild
new file mode 100644
index 000000000000..900de22d9f93
--- /dev/null
+++ b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.16.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils unpacker
+
+MY_P=pypy-exe-${PV}-1
+DESCRIPTION="PyPy executable (pre-built version)"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ elibc_glibc? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86.gpkg.tar
+ )
+ )
+ elibc_musl? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64-musl.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64-musl.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le-musl.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86-musl.gpkg.tar
+ )
+ )
+"
+S="${WORKDIR}"
+
+LICENSE="MIT"
+SLOT="${PV%_p*}"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+
+# sys-devel/gcc for libgcc_s.so
+RDEPEND="
+ app-arch/bzip2:0/1
+ dev-libs/expat:0/0
+ dev-libs/libffi:0/8
+ sys-libs/ncurses:0/6
+ >=sys-libs/zlib-1.1.3:0/1
+ virtual/libintl:0/0
+ elibc_glibc? (
+ sys-devel/gcc
+ >=sys-libs/glibc-2.35
+ )
+ !dev-python/pypy-exe:${SLOT}
+"
+
+QA_PREBUILT="
+ usr/lib/pypy2.7/pypy-c-${SLOT}
+"
+
+src_install() {
+ insinto /
+ doins -r */image/usr
+ fperms +x "/usr/lib/pypy2.7/pypy-c-${SLOT}"
+ pax-mark m "${ED}/usr/lib/pypy2.7/pypy-c-${SLOT}"
+}
diff --git a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.9.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.9.ebuild
deleted file mode 100644
index b581cbc0c10d..000000000000
--- a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.9.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pax-utils
-
-MY_P=pypy-exe-${PV}-1
-DESCRIPTION="PyPy executable (pre-built version)"
-HOMEPAGE="https://www.pypy.org/"
-SRC_URI="
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy-exe/${MY_P}.xpak
- -> ${MY_P}.amd64.xpak
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy-exe/${MY_P}.xpak
- -> ${MY_P}.x86.xpak
- )
-"
-S="${WORKDIR}"
-
-LICENSE="MIT"
-SLOT="${PV%_p*}"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- >=sys-libs/zlib-1.1.3:0/1
- || (
- dev-libs/libffi-compat:7
- dev-libs/libffi:0/7
- )
- virtual/libintl:0/0
- dev-libs/expat:0/0
- app-arch/bzip2:0/1
- sys-libs/ncurses:0/6
- !dev-python/pypy-exe:${SLOT}
-"
-
-QA_PREBUILT="
- usr/lib/pypy2.7/pypy-c-${SLOT}
-"
-
-src_unpack() {
- ebegin "Unpacking ${MY_P}.${ARCH}.xpak"
- tar -x < <(xz -c -d --single-stream "${DISTDIR}/${MY_P}.${ARCH}.xpak")
- eend ${?} || die "Unpacking ${MY_P} failed"
-}
-
-src_install() {
- insinto /
- doins -r 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 641150301cc2..07bbe9c11ef5 100644
--- a/dev-python/pypy-exe/Manifest
+++ b/dev-python/pypy-exe/Manifest
@@ -1,2 +1,2 @@
-DIST pypy2.7-gentoo-patches-7.3.9.tar.xz 7428 BLAKE2B 0a42e3c04ac0e560d56ce7218db81fa55f74ad45a4a033ccda8c5fba34e3a0b1f06587b5b18e947170cc635bd44e5a7799daeec9319c6a09165a73b32554a4b6 SHA512 3a52d40ccf8d77f3493a763b51e4bf86a808f6478191ed4eeaa4f2c2ce8b75769c3880d07cbc7614d8af5573f3e8edfe694be41626b947f3d06c321cf4f59abd
-DIST pypy2.7-v7.3.9-src.tar.bz2 23328628 BLAKE2B 50d015439b6a6f15dd24eb4524726a2054f0d8e7ef209b54dc4eb9365b41b333f3dad525422316af3ff19e6ffb5866859db4455e05fc1529a81ce3b6e7c621db SHA512 8d7513d4efe924f2456dd65a45a82dd16171f7962c81ba90f2a168c332cdad78ceffa3ed1af379c09e61082b39d5c2a8385cd77c89b698c47cc75e9df1bb4d2a
+DIST pypy2.7-gentoo-patches-7.3.16.tar.xz 5312 BLAKE2B b265dd7afee097ad66bacd9df01514eed6bb30afe19410b2594ee7c2d61ababc67e11c0dd0392a0b1f81e0bc609963cde044834ab24e67d007d101b8aa8052cb SHA512 0d0309f3ed7314f6d310b0e34eedbbfdcc5a75d9bbd59b9071e567968bb10925549435776fab5bc7ec97e2b3422921dc282619427f930d89df6c7bc98ea701c1
+DIST pypy2.7-v7.3.16-src.tar.bz2 19843601 BLAKE2B 9c37a03561fcdf742eccde760f6cadcbc2e1b140dd6d3e67856cc072e0c3db85759c398f590ed44fb4e4ed2f5f7745d5589cb9a95cefcbec79f3b1be6c4956e1 SHA512 131635433e53d4d86730a3daf1ad81799a7dd1117511618cc2607ac7234ce3aa5c833400df09cbd3376a391e125d6d2ec3471f120f81a6d53700f5c3d087793c
diff --git a/dev-python/pypy-exe/metadata.xml b/dev-python/pypy-exe/metadata.xml
index 9f1f42740089..3f2aeb55aa5e 100644
--- a/dev-python/pypy-exe/metadata.xml
+++ b/dev-python/pypy-exe/metadata.xml
@@ -5,6 +5,9 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">pypy/pypy</remote-id>
+ </upstream>
<use>
<flag name="low-memory">Build using PyPy with the engine configured towards low memory footprint.
This makes it possible to build PyPy using ~3.5G of RAM on amd64 and ~half of that on x86,
diff --git a/dev-python/pypy-exe/pypy-exe-7.3.16.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.16.ebuild
new file mode 100644
index 000000000000..e6d19abc0125
--- /dev/null
+++ b/dev-python/pypy-exe/pypy-exe-7.3.16.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+MY_P=pypy2.7-v${PYPY_PV/_}
+PATCHSET="pypy2.7-gentoo-patches-${PV/_}"
+
+DESCRIPTION="PyPy executable (build from source)"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+SLOT="${PYPY_PV}"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
+
+DEPEND="
+ >=sys-libs/zlib-1.1.3:0=
+ dev-libs/libffi:0=
+ virtual/libintl:0=
+ dev-libs/expat:0=
+ bzip2? ( app-arch/bzip2:0= )
+ ncurses? ( sys-libs/ncurses:0= )
+"
+RDEPEND="
+ ${DEPEND}
+ !dev-python/pypy-exe-bin:${PYPY_PV}
+"
+# don't enforce the dep on dev-python/pypy with USE=low-memory
+# since it's going to cause circular dep with unhelpful error message
+BDEPEND="
+ !low-memory? (
+ || (
+ dev-python/pypy
+ dev-lang/python:2.7
+ )
+ )
+"
+
+check_env() {
+ if ! has_version -b dev-python/pypy; then
+ if use low-memory; then
+ eerror "USE=low-memory requires (a prior version of) dev-python/pypy"
+ eerror "installed."
+ else
+ ewarn "CPython 2.7 will be used to perform the translation. Upstream"
+ ewarn "recommends using (a prior version of) dev-python/pypy instead."
+ fi
+ elog "You can install a prebuilt version of PyPy first using e.g.:"
+ elog " $ emerge -1v dev-python/pypy dev-python/pypy-exe-bin"
+
+ if use low-memory; then
+ die "dev-python/pypy needs to be installed for USE=low-memory"
+ fi
+ fi
+
+ if use low-memory; then
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_configure() {
+ tc-export CC
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --no-shared
+ $(usex jit -Ojit -O2)
+
+ ${jit_backend}
+
+ pypy/goal/targetpypystandalone
+ )
+
+ # Avoid linking against libraries disabled by use flags
+ local opts=(
+ bzip2:bz2
+ ncurses:_minimal_curses
+ )
+
+ local opt
+ for opt in "${opts[@]}"; do
+ local flag=${opt%:*}
+ local mod=${opt#*:}
+
+ args+=(
+ $(usex ${flag} --withmod --withoutmod)-${mod}
+ )
+ done
+
+ local interp
+ if use low-memory || has_version -b dev-python/pypy; then
+ einfo "Using already-installed PyPy to perform the translation."
+ interp=( pypy )
+ if use low-memory; then
+ local -x PYPY_GC_MAX_DELTA=200MB
+ interp+=( --jit loop_longevity=300 )
+ fi
+ else
+ einfo "Using CPython 2.7 to perform the translation."
+ interp=( python2.7 )
+
+ # reuse bundled pycparser to avoid external dep
+ mkdir -p "${T}"/pymod/cffi || die
+ : > "${T}"/pymod/cffi/__init__.py || die
+ cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die
+ local -x PYTHONPATH=${T}/pymod:${PYTHONPATH}
+ fi
+
+ # translate into the C sources
+ # we're going to build them ourselves since otherwise pypy does not
+ # free up the unneeded memory before spawning the compiler
+ set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "translation failed"
+}
+
+src_compile() {
+ emake -C "${T}"/usession*-0/testing_1
+}
+
+src_install() {
+ local dest=/usr/lib/pypy2.7
+ exeinto "${dest}"
+ newexe "${T}"/usession*-0/testing_1/pypy-c pypy-c-${PYPY_PV}
+ insinto "${dest}"/include/${PYPY_PV}
+ doins include/pypy_*
+ pax-mark m "${ED}${dest}/pypy-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy-exe/pypy-exe-7.3.9.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.9.ebuild
deleted file mode 100644
index 20c2e0f90ee9..000000000000
--- a/dev-python/pypy-exe/pypy-exe-7.3.9.ebuild
+++ /dev/null
@@ -1,185 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python2_7 )
-inherit check-reqs pax-utils python-any-r1 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"
-
-RDEPEND="
- >=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= )
- !dev-python/pypy-exe-bin:${PYPY_PV}
-"
-# don't enforce the dep on pypy with USE=low-memory since it's going
-# to cause either collisions or circular dep on itself
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- !low-memory? (
- || (
- dev-python/pypy
- dev-lang/python:2.7
- )
- )
-"
-
-check_env() {
- if use low-memory; then
- if ! has_version -b dev-python/pypy &&
- ! has_version -b dev-python/pypy-bin
- then
- eerror "USE=low-memory requires a (possibly old) version of dev-python/pypy"
- eerror "being installed. Please install it using e.g.:"
- eerror
- eerror " $ emerge -1v dev-python/pypy dev-python/pypy-exe-bin"
- eerror
- eerror "before attempting to build dev-python/pypy-exe[low-memory]."
- die "dev-python/pypy needs to be installed for USE=low-memory"
- fi
-
- 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() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- check_env
-
- use low-memory && EPYTHON=
- if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] &&
- { has_version -b dev-python/pypy ||
- has_version -b dev-python/pypy-bin; }
- then
- einfo "Using already-installed PyPy to perform the translation."
- EPYTHON=pypy
- else
- einfo "Using ${EPYTHON} to perform the translation. Please note that upstream"
- einfo "recommends using PyPy for that. If you wish to do so, please unset"
- einfo "the EPYTHON variable."
- python-any-r1_pkg_setup
- fi
- fi
-}
-
-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=( "${EPYTHON}" )
- if use low-memory; then
- interp=( env PYPY_GC_MAX_DELTA=200MB
- "${EPYTHON}" --jit loop_longevity=300 )
- fi
-
- if [[ ${EPYTHON} != pypy ]]; then
- # 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 641150301cc2..07bbe9c11ef5 100644
--- a/dev-python/pypy/Manifest
+++ b/dev-python/pypy/Manifest
@@ -1,2 +1,2 @@
-DIST pypy2.7-gentoo-patches-7.3.9.tar.xz 7428 BLAKE2B 0a42e3c04ac0e560d56ce7218db81fa55f74ad45a4a033ccda8c5fba34e3a0b1f06587b5b18e947170cc635bd44e5a7799daeec9319c6a09165a73b32554a4b6 SHA512 3a52d40ccf8d77f3493a763b51e4bf86a808f6478191ed4eeaa4f2c2ce8b75769c3880d07cbc7614d8af5573f3e8edfe694be41626b947f3d06c321cf4f59abd
-DIST pypy2.7-v7.3.9-src.tar.bz2 23328628 BLAKE2B 50d015439b6a6f15dd24eb4524726a2054f0d8e7ef209b54dc4eb9365b41b333f3dad525422316af3ff19e6ffb5866859db4455e05fc1529a81ce3b6e7c621db SHA512 8d7513d4efe924f2456dd65a45a82dd16171f7962c81ba90f2a168c332cdad78ceffa3ed1af379c09e61082b39d5c2a8385cd77c89b698c47cc75e9df1bb4d2a
+DIST pypy2.7-gentoo-patches-7.3.16.tar.xz 5312 BLAKE2B b265dd7afee097ad66bacd9df01514eed6bb30afe19410b2594ee7c2d61ababc67e11c0dd0392a0b1f81e0bc609963cde044834ab24e67d007d101b8aa8052cb SHA512 0d0309f3ed7314f6d310b0e34eedbbfdcc5a75d9bbd59b9071e567968bb10925549435776fab5bc7ec97e2b3422921dc282619427f930d89df6c7bc98ea701c1
+DIST pypy2.7-v7.3.16-src.tar.bz2 19843601 BLAKE2B 9c37a03561fcdf742eccde760f6cadcbc2e1b140dd6d3e67856cc072e0c3db85759c398f590ed44fb4e4ed2f5f7745d5589cb9a95cefcbec79f3b1be6c4956e1 SHA512 131635433e53d4d86730a3daf1ad81799a7dd1117511618cc2607ac7234ce3aa5c833400df09cbd3376a391e125d6d2ec3471f120f81a6d53700f5c3d087793c
diff --git a/dev-python/pypy/metadata.xml b/dev-python/pypy/metadata.xml
index efd7c8c21836..cfd619229f75 100644
--- a/dev-python/pypy/metadata.xml
+++ b/dev-python/pypy/metadata.xml
@@ -5,4 +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 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.16.ebuild b/dev-python/pypy/pypy-7.3.16.ebuild
new file mode 100644
index 000000000000..798e07131013
--- /dev/null
+++ b/dev-python/pypy/pypy-7.3.16.ebuild
@@ -0,0 +1,306 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils
+
+PYPY_PV=${PV%_p*}
+MY_P=pypy2.7-v${PYPY_PV/_}
+PATCHSET="pypy2.7-gentoo-patches-${PV/_rc/rc}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python language"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")'
+SLOT="0/73"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 full-stdlib gdbm +jit ncurses sqlite tk"
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ >=dev-python/pypy-exe-bin-${PYPY_PV}:${PYPY_PV}
+ >=dev-python/pypy-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?]
+ )
+ dev-libs/openssl:0=
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_compile() {
+ # copy over to make sys.prefix happy
+ cp -p "${BROOT}"/usr/lib/pypy2.7/pypy-c-${PYPY_PV} pypy-c || die
+ cp -p "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/* include/ || die
+ # (not installed by pypy)
+ rm pypy/module/cpyext/include/_numpypy/numpy/README || die
+ mv pypy/module/cpyext/include/* include/ || die
+ mv pypy/module/cpyext/parse/*.h include/ || die
+ pax-mark m pypy-c
+
+ # verify the subslot
+ local soabi=$(
+ ./pypy-c - <<-EOF
+ import sysconfig
+ print sysconfig.get_config_var("SOABI")
+ EOF
+ )
+ [[ ${soabi#pypy-} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
+
+ einfo "Generating caches and CFFI modules ..."
+
+ if use full-stdlib; then
+ # Generate Grammar and PatternGrammar pickles.
+ ./pypy-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
+ import lib2to3.pygram
+ import lib2to3.patcomp
+ lib2to3.patcomp.PatternCompiler()
+ EOF
+
+ # Generate cffi modules
+ # Please keep in sync with pypy/tool/build_cffi_imports.py!
+ cffi_targets=( pypy_util ssl audioop syslog pwdgrp resource )
+ use gdbm && cffi_targets+=( gdbm )
+ use ncurses && cffi_targets+=( curses )
+ use sqlite && cffi_targets+=( sqlite3 )
+ use tk && cffi_targets+=( tkinter/tklib )
+
+ local t
+ # all modules except tkinter output to .
+ # tkinter outputs to the correct dir ...
+ cd lib_pypy || die
+ for t in "${cffi_targets[@]}"; do
+ # tkinter doesn't work via -m
+ ../pypy-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
+ done
+
+ # Verify that CFFI module list is up-to-date
+ local expected_cksum=-7df4eab0
+ local local_cksum=$(
+ ../pypy-c - <<-EOF
+ import binascii
+ import json
+ from pypy_tools.build_cffi_imports import cffi_build_scripts as x
+ print("%08x" % (binascii.crc32(json.dumps(x)),))
+ EOF
+ )
+ if [[ ${local_cksum} != ${expected_cksum} ]]; then
+ die "Please verify cffi_targets and update checksum to ${local_cksum}"
+ fi
+
+ # Cleanup temporary objects
+ find -name "_cffi_*.[co]" -delete || die
+ find -type d -empty -delete || die
+ fi
+}
+
+src_test() {
+ # (unset)
+ local -x PYTHONDONTWRITEBYTECODE=
+ local -x COLUMNS=80
+
+ local ignored_tests=(
+ # network
+ --ignore=lib-python/2.7/test/test_urllibnet.py
+ --ignore=lib-python/2.7/test/test_urllib2net.py
+ # lots of free space
+ --ignore=lib-python/2.7/test/test_zipfile64.py
+
+ # broken by expat-2.4.5
+ --ignore=lib-python/2.7/test/test_minidom.py
+ --ignore=lib-python/2.7/test/test_xml_etree.py
+ --ignore=lib-python/2.7/test/test_xml_etree_c.py
+ )
+
+ ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \
+ "${ignored_tests[@]}" lib-python || die
+}
+
+src_install() {
+ local dest=/usr/lib/pypy2.7
+ einfo "Installing PyPy ..."
+ dosym pypy-c-${PYPY_PV} "${dest}/pypy-c"
+ insinto "${dest}"
+ # preserve mtimes to avoid obsoleting caches
+ insopts -p
+ if use full-stdlib; then
+ doins -r include lib_pypy lib-python
+
+ # replace copied headers with symlinks
+ for x in "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/*; do
+ dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}"
+ done
+
+ if ! use gdbm; then
+ rm -r "${ED}${dest}"/lib_pypy/gdbm.py \
+ "${ED}${dest}"/lib-python/*2.7/test/test_gdbm.py || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED}${dest}"/lib-python/*2.7/sqlite3 \
+ "${ED}${dest}"/lib_pypy/_sqlite3.py \
+ "${ED}${dest}"/lib-python/*2.7/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \
+ "${ED}${dest}"/lib_pypy/_tkinter \
+ "${ED}${dest}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
+ fi
+ else
+ # install only the absolutely minimal subset of modules needed
+ # for pypy3 build
+ local lib_py_modules=(
+ # base modules needed to even start pypy (and import site)
+ codecs.py
+ copy_reg.py
+ encodings
+ genericpath.py
+ linecache.py
+ os.py
+ pkgutil.py
+ posixpath.py
+ re.py
+ runpy.py
+ site.py
+ sre_compile.py
+ sre_constants.py
+ sre_parse.py
+ stat.py
+ string.py
+ sysconfig.py
+ traceback.py
+ warnings.py
+ UserDict.py
+
+ # needed for python_optimize
+ compileall.py
+ getopt.py
+ py_compile.py
+ struct.py
+
+ # needed for rpython
+ argparse.py
+ atexit.py
+ base64.py
+ bdb.py
+ bisect.py
+ cmd.py
+ code.py
+ codeop.py
+ collections.py
+ colorsys.py
+ contextlib.py
+ copy.py
+ ctypes
+ dis.py
+ fnmatch.py
+ functools.py
+ gettext.py
+ hashlib.py
+ heapq.py
+ inspect.py
+ io.py
+ json
+ keyword.py
+ locale.py
+ logging
+ new.py
+ opcode.py
+ optparse.py
+ pdb.py
+ pickle.py
+ platform.py
+ pprint.py
+ random.py
+ repr.py
+ shlex.py
+ shutil.py
+ StringIO.py
+ subprocess.py
+ tempfile.py
+ textwrap.py
+ threading.py
+ tokenize.py
+ weakref.py
+ zipfile.py
+ )
+
+ local distutils_modules=(
+ # needed by site
+ __init__.py
+ errors.py
+ sysconfig.py
+ sysconfig_cpython.py
+ sysconfig_pypy.py
+ )
+
+ local lib_pypy_modules=(
+ # needed by site
+ _sysconfigdata.py
+
+ # needed by rpython
+ cffi
+ _ctypes
+ _ffi.py
+ _functools.py
+ _sha.py
+ _sha256.py
+ _sha512.py
+
+ # NB: we're deliberately skipping _hashlib to avoid some deps
+ )
+
+ cd lib-python/2.7 || die
+ insinto "${dest}/lib-python/2.7"
+ doins -r "${lib_py_modules[@]}"
+ cd - >/dev/null || die
+
+ cd lib-python/2.7/distutils || die
+ insinto "${dest}/lib-python/2.7/distutils"
+ doins -r "${distutils_modules[@]}"
+ cd - >/dev/null || die
+
+ cd lib_pypy || die
+ insinto "${dest}/lib_pypy"
+ doins -r "${lib_pypy_modules[@]}"
+ cd - >/dev/null || die
+ fi
+
+ dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy
+ dodoc README.rst
+
+ local -x PYTHON=${ED}${dest}/pypy-c-${PYPY_PV}
+ # temporarily copy to build tree to facilitate module builds
+ cp -p "${BROOT}${dest}/pypy-c-${PYPY_PV}" "${PYTHON}" || die
+
+ einfo "Byte-compiling Python standard library..."
+ "${PYTHON}" -m compileall \
+ -x 'bad_coding|badsyntax|make_ssl_data|lib2to3/tests/data' \
+ -q -f -d "${dest}" "${ED}/${dest}" || die
+
+ # remove to avoid collisions
+ rm "${PYTHON}" || die
+}
diff --git a/dev-python/pypy/pypy-7.3.9.ebuild b/dev-python/pypy/pypy-7.3.9.ebuild
deleted file mode 100644
index 5d7b787836fc..000000000000
--- a/dev-python/pypy/pypy-7.3.9.ebuild
+++ /dev/null
@@ -1,183 +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 gdbm +jit ncurses sqlite tk"
-
-RDEPEND="
- || (
- >=dev-python/pypy-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?]
- >=dev-python/pypy-exe-bin-${PYPY_PV}:${PYPY_PV}
- )
- 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 ..."
-
- # 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
-}
-
-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
- 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
-
- dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy
- dodoc README.rst
-
- 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
-
- 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
-
- echo "EPYTHON='${EPYTHON}'" > epython.py || die
- python_moduleinto /usr/lib/pypy2.7/site-packages
- python_domodule epython.py
-
- einfo "Byte-compiling Python standard library..."
- python_optimize "${ED}${dest}"
-
- # 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 f243a8b799a5..000000000000
--- a/dev-python/pypy3-exe-bin/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST pypy3-exe-7.3.9-1.amd64.xpak 12455132 BLAKE2B 09ad89ca1d7ba84ff1b5c0d925c02617567d8d6c659774e980dc9e56fd1bd5eef9b612631d64ace8218bdd2c5723cad174d49ac3c5ef442d244f2ba21ebb6d0d SHA512 078f57a0027680ff061f137a47fa5349254a086e1c28eb81fd9d89079bd3894902b532cde39c5214b0a686fd1a1dba2589f1fb0f9c5e6ff43cc7f4db97b3c181
-DIST pypy3-exe-7.3.9-1.x86.xpak 9239282 BLAKE2B d44b9f3410a94ad41c1f49abe641460464ae6266478e7c38a994ded97fd70f50a041977fc72fe11a1c7fcfc9aeae4782564c2cbaaf8477a0eef60e443ec837e1 SHA512 1a073254e0c6bef089169a138a84ff6efe377374b9f263f58f856bba937f8e6249d835e3bdc9a68792e7178105e03a67dee3a3e5307089b6ed3b846ae8ee73ed
-DIST pypy3-exe-7.3.9_p3-1.amd64.xpak 12394274 BLAKE2B 8f7a041839fdd1dd55fd0293660369310aaa1f118e34a730e066899c09ced71fa37d70d59952fb68d932f63e907b903c41c91b5ba4d646637fcfe628a20861b2 SHA512 166722fec0288b8c69645e0c8e630aa4c0b74f8d41817148147556ce6f0491e7251cbc202b62f7a1dec6b1da3e2f2c6313f02952b11220f35be2c1ad6276f89a
-DIST pypy3-exe-7.3.9_p3-1.x86.xpak 9210827 BLAKE2B a740ef7e1d4559308c129399cda498b7c0fe8e654e4d36830ded5197a7788168dbc8b4f83908a41869cd51343dd9b371ba53de8e88655b2728b8f6351f502ef2 SHA512 bd2ef07e980bd37b7ecfb052a9304a80ee527c61f8a60344e8e9b1bfcdf1f50038e7b281257194c388e0452aa968f984f5b6bc7d9f7c89bf08279e9a169ed8e6
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.9.ebuild b/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.9.ebuild
deleted file mode 100644
index b38d40a013d1..000000000000
--- a/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.9.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit pax-utils
-
-MY_P=pypy3-exe-${PV}-1
-DESCRIPTION="PyPy3 executable (pre-built version)"
-HOMEPAGE="https://www.pypy.org/"
-SRC_URI="
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3-exe/${MY_P}.xpak
- -> ${MY_P}.amd64.xpak
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3-exe/${MY_P}.xpak
- -> ${MY_P}.x86.xpak
- )
-"
-S="${WORKDIR}"
-
-LICENSE="MIT"
-SLOT="3.9-${PV%_p*}"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- >=sys-libs/zlib-1.1.3:0/1
- || (
- dev-libs/libffi-compat:7
- dev-libs/libffi:0/7
- )
- virtual/libintl:0/0
- dev-libs/expat:0/0
- app-arch/bzip2:0/1
- sys-libs/ncurses:0/6
- !dev-python/pypy3-exe:${SLOT}
-"
-
-PYPY_PV=${PV%_p*}
-QA_PREBUILT="
- usr/bin/pypy3.9-c-${PYPY_PV}
-"
-
-src_unpack() {
- ebegin "Unpacking ${MY_P}.${ARCH}.xpak"
- tar -x < <(xz -c -d --single-stream "${DISTDIR}/${MY_P}.${ARCH}.xpak")
- eend ${?} || die "Unpacking ${MY_P} failed"
-}
-
-src_install() {
- insinto /
- doins -r 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.9_p3.ebuild b/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.9_p3.ebuild
deleted file mode 100644
index 0648b4f51293..000000000000
--- a/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.9_p3.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit pax-utils
-
-MY_P=pypy3-exe-${PV}-1
-DESCRIPTION="PyPy3 executable (pre-built version)"
-HOMEPAGE="https://www.pypy.org/"
-SRC_URI="
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3-exe/${MY_P}.xpak
- -> ${MY_P}.amd64.xpak
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3-exe/${MY_P}.xpak
- -> ${MY_P}.x86.xpak
- )
-"
-S="${WORKDIR}"
-
-LICENSE="MIT"
-SLOT="3.9-${PV%_p*}"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=sys-libs/zlib-1.1.3:0/1
- || (
- dev-libs/libffi-compat:7
- dev-libs/libffi:0/7
- )
- virtual/libintl:0/0
- dev-libs/expat:0/0
- app-arch/bzip2:0/1
- sys-libs/ncurses:0/6
- !dev-python/pypy3-exe:${SLOT}
-"
-
-PYPY_PV=${PV%_p*}
-QA_PREBUILT="
- usr/bin/pypy3.9-c-${PYPY_PV}
-"
-
-src_unpack() {
- ebegin "Unpacking ${MY_P}.${ARCH}.xpak"
- tar -x < <(xz -c -d --single-stream "${DISTDIR}/${MY_P}.${ARCH}.xpak")
- eend ${?} || die "Unpacking ${MY_P} failed"
-}
-
-src_install() {
- insinto /
- doins -r 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 8b4f20659d4a..000000000000
--- a/dev-python/pypy3-exe/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST pypy3.9-gentoo-patches-7.3.9.tar.xz 1564 BLAKE2B fe0875ef002842a78fb31589f6d0b255c3dea10f2bd014231ae9b17641f65f810ac84fe7961de1a4614249b0166f2127c3aa37947f7d1d4c85860a31b89110f1 SHA512 a1dc3ee36e908e29b2bbbb100a97b7910bd4325c5dc55c0455cdca450d6b272d1463708b383e0607e9499b1932da4442f97d2da57e47ed3a4ff8fd3c78a54732
-DIST pypy3.9-gentoo-patches-7.3.9_p3.tar.xz 5296 BLAKE2B 2422e7d74c563d7328e5bc5c131d13f0cb41f133e06a514e56ad89d2cc8e0b9c57d4379d0e8810486e5e34ec2807a74e9553768a493ffe54fc27d404977097d3 SHA512 3470efdd50ba10e2137b4661c940a3aa807b804ef582a5201507227573637171981bd597b3b40faa3606890f3f51fb8c43ff70628de924a67e2c1226beda9269
-DIST pypy3.9-v7.3.9-src.tar.bz2 26976726 BLAKE2B bf1ed21c575901abac020120aaff07ab57f1404713211b19cbd1eb4d6ffc675b7933be8c6fffc2b69ab467963d6598534cd5aa90c02feddad596611d2a6b6581 SHA512 83f8a6a2da351c190d2d224242cbc35e35529c7a8e8d842eaf5c945cbce2e172b02a340f32af3d49df8d5288370d794d5bc95fc12dd4a13d817c925abf06198a
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.9.ebuild b/dev-python/pypy3-exe/pypy3-exe-7.3.9.ebuild
deleted file mode 100644
index b5feb2c4cc8c..000000000000
--- a/dev-python/pypy3-exe/pypy3-exe-7.3.9.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# pypy3 needs to be built using python 2
-PYTHON_COMPAT=( python2_7 )
-inherit check-reqs pax-utils python-any-r1 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="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
-
-RDEPEND="
- >=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= )
- !dev-python/pypy3-exe-bin:${SLOT}
-"
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- low-memory? ( dev-python/pypy )
- !low-memory? (
- || (
- dev-python/pypy
- dev-lang/python:2.7
- )
- )
-"
-
-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() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- check_env
-
- # unset to allow forcing pypy below :)
- use low-memory && EPYTHON=
- if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] &&
- { has_version -b dev-python/pypy ||
- has_version -b dev-python/pypy-bin; }
- then
- einfo "Using PyPy to perform the translation."
- EPYTHON=pypy
- else
- einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
- einfo "recommends using PyPy for that. If you wish to do so, please install"
- einfo "dev-python/pypy and ensure that EPYTHON variable is unset."
- python-any-r1_pkg_setup
- fi
- fi
-}
-
-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=( "${EPYTHON}" )
- if use low-memory; then
- interp=( env PYPY_GC_MAX_DELTA=200MB
- "${EPYTHON}" --jit loop_longevity=300 )
- fi
-
- if [[ ${EPYTHON} != pypy ]]; then
- # reuse bundled pycparser to avoid external dep
- mkdir -p "${T}"/pymod || die
- cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/pycparser || 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() {
- 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.9_p3.ebuild b/dev-python/pypy3-exe/pypy3-exe-7.3.9_p3.ebuild
deleted file mode 100644
index c5f53f463d20..000000000000
--- a/dev-python/pypy3-exe/pypy3-exe-7.3.9_p3.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# pypy3 needs to be built using python 2
-PYTHON_COMPAT=( python2_7 )
-inherit check-reqs pax-utils python-any-r1 toolchain-funcs
-
-PYPY_PV=${PV%_p*}
-MY_P=pypy3.9-v${PYPY_PV/_}
-PATCHSET="pypy3.9-gentoo-patches-${PV/_rc/rc}"
-
-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="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
-
-RDEPEND="
- >=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= )
- !dev-python/pypy3-exe-bin:${SLOT}
-"
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- low-memory? ( dev-python/pypy )
- !low-memory? (
- || (
- dev-python/pypy
- dev-lang/python:2.7
- )
- )
-"
-
-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() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- check_env
-
- # unset to allow forcing pypy below :)
- use low-memory && EPYTHON=
- if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] &&
- { has_version -b dev-python/pypy ||
- has_version -b dev-python/pypy-bin; }
- then
- einfo "Using PyPy to perform the translation."
- EPYTHON=pypy
- else
- einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
- einfo "recommends using PyPy for that. If you wish to do so, please install"
- einfo "dev-python/pypy and ensure that EPYTHON variable is unset."
- python-any-r1_pkg_setup
- fi
- fi
-}
-
-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=( "${EPYTHON}" )
- if use low-memory; then
- interp=( env PYPY_GC_MAX_DELTA=200MB
- "${EPYTHON}" --jit loop_longevity=300 )
- fi
-
- if [[ ${EPYTHON} != pypy ]]; then
- # reuse bundled pycparser to avoid external dep
- mkdir -p "${T}"/pymod || die
- cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/pycparser || 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() {
- 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 3cf493466a5f..000000000000
--- a/dev-python/pypy3/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-DIST pypy3.9-gentoo-patches-7.3.9_p1.tar.xz 3952 BLAKE2B 20ff145749d24f15214c0c78f3fdc5e1cdbfc307972ad9dbc03f1b9704b25ea962434aee0d58a882912374b45f726eb449f0abafd663bddf14867807951b0a7f SHA512 3ce7a126fb7c52754d3b65e3df0786c80a98522ce78ab44fd5f81cd84a41e8b5929df2d8e4f644ed6c2265ca5da397cd7f37d44944cd08f7c8ae1cc8a2fd7e0d
-DIST pypy3.9-gentoo-patches-7.3.9_p2.tar.xz 4548 BLAKE2B 9acdd315d98b5147a21e9affcf4f4be86385cfe7e96a59a4aee1edb478c3c23990c7c846d7a1b268b616491d57346c939ddf02d4284f3b92f0f050e223eb85ba SHA512 28bc05b249f9f98501cb92354eabcdcd27987bfb6f4867bdda40752384db5ecf2204913c792785ce5a0e6ce588ef0044a179a3932da23205e8706cad065d95e2
-DIST pypy3.9-gentoo-patches-7.3.9_p3.tar.xz 5296 BLAKE2B 2422e7d74c563d7328e5bc5c131d13f0cb41f133e06a514e56ad89d2cc8e0b9c57d4379d0e8810486e5e34ec2807a74e9553768a493ffe54fc27d404977097d3 SHA512 3470efdd50ba10e2137b4661c940a3aa807b804ef582a5201507227573637171981bd597b3b40faa3606890f3f51fb8c43ff70628de924a67e2c1226beda9269
-DIST pypy3.9-gentoo-patches-7.3.9_p4.tar.xz 8664 BLAKE2B cccb62bb7957ee21f45eb65a307f255f61ba097cf9313517743bd0c4471d4b4e7c4c2bf2509fffd7584be6efbb467b39aeaec5e70b597844ddd40bd2184f65e8 SHA512 cf9722c5ada7544608b95cb94da4d119fa5371def760c52baaffe57ee0128c729e41a78bbcbcce6677eb88ad063d3f0572667ab8889cf68ee8be7e578ca420c7
-DIST pypy3.9-v7.3.9-src.tar.bz2 26976726 BLAKE2B bf1ed21c575901abac020120aaff07ab57f1404713211b19cbd1eb4d6ffc675b7933be8c6fffc2b69ab467963d6598534cd5aa90c02feddad596611d2a6b6581 SHA512 83f8a6a2da351c190d2d224242cbc35e35529c7a8e8d842eaf5c945cbce2e172b02a340f32af3d49df8d5288370d794d5bc95fc12dd4a13d817c925abf06198a
diff --git a/dev-python/pypy3/metadata.xml b/dev-python/pypy3/metadata.xml
index 6bbdf5133f0c..922f8a45d05d 100644
--- a/dev-python/pypy3/metadata.xml
+++ b/dev-python/pypy3/metadata.xml
@@ -5,11 +5,7 @@
<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>
</pkgmetadata>
diff --git a/dev-python/pypy3/pypy3-7.3.16.ebuild b/dev-python/pypy3/pypy3-7.3.16.ebuild
new file mode 100644
index 000000000000..ba301054faf0
--- /dev/null
+++ b/dev-python/pypy3/pypy3-7.3.16.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYVER=3.10
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://foss.heptapod.net/pypy/pypy/
+"
+S=${WORKDIR}
+
+LICENSE="MIT"
+SLOT="0/pypy310-pp73-384"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+gdbm ncurses sqlite tk"
+
+RDEPEND="
+ =dev-python/pypy3_10-${PV}*:${SLOT}[gdbm?,ncurses?,sqlite?,tk?]
+"
+
+src_install() {
+ dodir /usr/bin
+ dosym pypy${PYVER} /usr/bin/pypy3
+}
diff --git a/dev-python/pypy3/pypy3-7.3.9_p1.ebuild b/dev-python/pypy3/pypy3-7.3.9_p1.ebuild
deleted file mode 100644
index 37f7cfcc4425..000000000000
--- a/dev-python/pypy3/pypy3-7.3.9_p1.ebuild
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python2_7 )
-inherit pax-utils python-any-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/"
-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"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 gdbm +jit ncurses sqlite test 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=
- gdbm? ( sys-libs/gdbm:0= )
- sqlite? ( dev-db/sqlite:3= )
- tk? (
- dev-lang/tk:0=
- dev-tcltk/tix:0=
- )
- !<dev-python/pypy3-bin-7.3.0:0
-"
-DEPEND="
- ${RDEPEND}
- test? (
- ${PYTHON_DEPS}
- !!dev-python/pytest-forked
- )
-"
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-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 sysconfig
- print(sysconfig.get_config_var("SOABI"))
- EOF
- )
- [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
-
- einfo "Generating caches and CFFI modules ..."
-
- # 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_test() {
- # (unset)
- local -x PYTHONDONTWRITEBYTECODE=
- local -x COLUMNS=80
-
- # Test runner requires Python 2 too. However, it spawns PyPy3
- # internally so that we end up testing the correct interpreter.
- # (--deselect for failing doctests)
- "${EPYTHON}" ./pypy/test_all.py --pypy=./pypy3.9-c -vv lib-python || 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
- 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
-
- echo "EPYTHON='${EPYTHON}'" > epython.py || die
- python_moduleinto "${dest}"/site-packages
- python_domodule epython.py
-
- 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.9_p2.ebuild b/dev-python/pypy3/pypy3-7.3.9_p2.ebuild
deleted file mode 100644
index 536c3974f232..000000000000
--- a/dev-python/pypy3/pypy3-7.3.9_p2.ebuild
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python2_7 )
-inherit pax-utils python-any-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/"
-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"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 gdbm +jit ncurses sqlite test 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=
- gdbm? ( sys-libs/gdbm:0= )
- sqlite? ( dev-db/sqlite:3= )
- tk? (
- dev-lang/tk:0=
- dev-tcltk/tix:0=
- )
- !<dev-python/pypy3-bin-7.3.0:0
-"
-DEPEND="
- ${RDEPEND}
- test? (
- ${PYTHON_DEPS}
- !!dev-python/pytest-forked
- )
-"
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-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 sysconfig
- print(sysconfig.get_config_var("SOABI"))
- EOF
- )
- [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
-
- einfo "Generating caches and CFFI modules ..."
-
- # 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_test() {
- # (unset)
- local -x PYTHONDONTWRITEBYTECODE=
- local -x COLUMNS=80
-
- # Test runner requires Python 2 too. However, it spawns PyPy3
- # internally so that we end up testing the correct interpreter.
- # (--deselect for failing doctests)
- "${EPYTHON}" ./pypy/test_all.py --pypy=./pypy3.9-c -vv lib-python || 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
- 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
-
- echo "EPYTHON='${EPYTHON}'" > epython.py || die
- python_moduleinto "${dest}"/site-packages
- python_domodule epython.py
-
- 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.9_p3.ebuild b/dev-python/pypy3/pypy3-7.3.9_p3.ebuild
deleted file mode 100644
index f350af4d2dd4..000000000000
--- a/dev-python/pypy3/pypy3-7.3.9_p3.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
-
-PYTHON_COMPAT=( python2_7 )
-inherit pax-utils python-any-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/"
-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="bzip2 gdbm +jit ncurses sqlite test tk"
-# many tests are failing upstream
-# see https://buildbot.pypy.org/summary?branch=py3.9
-RESTRICT="test"
-
-RDEPEND="
- || (
- >=dev-python/pypy3-exe-${PYPY_PV}_p3:3.9-${PYPY_PV}[bzip2?,ncurses?]
- >=dev-python/pypy3-exe-bin-${PYPY_PV}_p3:3.9-${PYPY_PV}
- )
- dev-lang/python-exec[python_targets_pypy3(-)]
- 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/pypy3-bin-7.3.0:0
-"
-DEPEND="
- ${RDEPEND}
- test? (
- ${PYTHON_DEPS}
- !!dev-python/pytest-forked
- )
-"
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-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}"
-
- einfo "Generating caches and CFFI modules ..."
-
- # 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_test() {
- # (unset)
- local -x PYTHONDONTWRITEBYTECODE=
- local -x COLUMNS=80
-
- # Test runner requires Python 2 too. However, it spawns PyPy3
- # internally so that we end up testing the correct interpreter.
- # (--deselect for failing doctests)
- "${EPYTHON}" ./pypy/test_all.py --pypy=./pypy3.9-c -vv lib-python || 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
- 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
-
- echo "EPYTHON='${EPYTHON}'" > epython.py || die
- python_moduleinto "${dest}"/site-packages
- python_domodule epython.py
-
- 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.9_p4.ebuild b/dev-python/pypy3/pypy3-7.3.9_p4.ebuild
deleted file mode 100644
index 62da106fee36..000000000000
--- a/dev-python/pypy3/pypy3-7.3.9_p4.ebuild
+++ /dev/null
@@ -1,210 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python2_7 )
-inherit pax-utils python-any-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="bzip2 +ensurepip gdbm +jit ncurses sqlite test tk"
-# many tests are failing upstream
-# see https://buildbot.pypy.org/summary?branch=py3.9
-RESTRICT="test"
-
-RDEPEND="
- || (
- >=dev-python/pypy3-exe-${PYPY_PV}_p3:3.9-${PYPY_PV}[bzip2?,ncurses?]
- >=dev-python/pypy3-exe-bin-${PYPY_PV}_p3: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=
- )
- !<dev-python/pypy3-bin-7.3.0:0
-"
-DEPEND="
- ${RDEPEND}
- test? (
- ${PYTHON_DEPS}
- !!dev-python/pytest-forked
- )
-"
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-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='${EPYTHON}'" > lib-python/3/epython.py || die
-
- einfo "Generating caches and CFFI modules ..."
-
- # 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_test() {
- # (unset)
- local -x PYTHONDONTWRITEBYTECODE=
- local -x COLUMNS=80
-
- # Test runner requires Python 2 too. However, it spawns PyPy3
- # internally so that we end up testing the correct interpreter.
- # (--deselect for failing doctests)
- "${EPYTHON}" ./pypy/test_all.py --pypy=./pypy3.9-c -vv lib-python || 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_10-exe-bin/Manifest b/dev-python/pypy3_10-exe-bin/Manifest
new file mode 100644
index 000000000000..ed0d59b28191
--- /dev/null
+++ b/dev-python/pypy3_10-exe-bin/Manifest
@@ -0,0 +1,8 @@
+DIST pypy3_10-exe-7.3.16-1.amd64-musl.gpkg.tar 12042240 BLAKE2B a770fce3044ae928c74fcd96be293fef7b87f9f8857ed430d44761eecb28b34879fb86c6c4a032e80fdbf20aede88fcaaf2a53dbe56e0cc150269807cdb28928 SHA512 a9d87be0ef72ac928c35db89321edd713cfff93f93ff2b2c5a04e91febc540859dc4e0a065ec3da2c297cc353f9278ac43d57494d282546c8e4cdc1cbb4a4cec
+DIST pypy3_10-exe-7.3.16-1.amd64.gpkg.tar 12083200 BLAKE2B df6a53532cc10ade867f60d81033ee4ff46e9bb8a3331499acde65866a31ba5e25b6af6df316e4e7187005f6c98609171d5d8908a03ea7088f6306c3680d369b SHA512 89a889ae565e4d2772075eab72246ca5940e905b01f1c91082af583ec28390d018f441f427fa408e84de0b2d24b1deb28602297c653c4aeb25d3ae34e929f9ff
+DIST pypy3_10-exe-7.3.16-1.arm64-musl.gpkg.tar 10219520 BLAKE2B 0fa144cdfd144c881baf71a3ed8d222165571bea07c41079af42846c1a7a633fa146ed128dd7466bff8e7911c7518e6d576bca24326d1248ad96fcb5854eec85 SHA512 dac544bd589c11c52c74ef99216b15ffd3155d764c47f8957c49369e98f2caa8feb0fb278002cb3b1244731f19b5e0c0dd2cf7e59efe49045206325b62daf5e0
+DIST pypy3_10-exe-7.3.16-1.arm64.gpkg.tar 10178560 BLAKE2B 5d9227b35bba2229679e2e103b6c6964ea1a8b88581dbe306e8d03342f6a889dac1127b615a14f85cb9c53fbf496b1f7e1236b7b8f590930dcf4d92d9a87c914 SHA512 1d689bf08fd9a1ec5892e2f81eae1d0f49fb410873e6d2914db698a2a4e0cf1bfdd7725e8d932a20ce69d4ea40f86ae16146dc9fba1c65858ff1f7f5bece4b6b
+DIST pypy3_10-exe-7.3.16-1.ppc64le-musl.gpkg.tar 6819840 BLAKE2B a3ae523a26a187b7af18329483c8129e52df3bb7cc9f611769e48d4fee6ec627e203d7138bec39e4a45c7feca83d5ab913239ba30f52c797f85f2be252ea39b5 SHA512 74cd507c48e639e67beb9e4304237ddce926ff1a07df9e6fe5041305290db1ba3a506fae570b57d2f3c9c732d0deb558c8d0883183434286bc13812098c02a45
+DIST pypy3_10-exe-7.3.16-1.ppc64le.gpkg.tar 10352640 BLAKE2B 53d2804ef1a95de1edf4765261deb4c53accf59b8b2d827b2dec24a279424629322a701bd3942d05e4e13f52e796c119c237d32bf334287daad8664e1e76e67a SHA512 8016ed28f076936e3477d75d47e20af79fb97d138f924c514fcd32a02ad4b9bf3eb0d09a82d08f99843b102b4a048b78a694963e223a936b029ab903a5c60a21
+DIST pypy3_10-exe-7.3.16-1.x86-musl.gpkg.tar 9093120 BLAKE2B 56a349615ce67c3e581da65ac3b52cdc412760aea689d4b8bf6b9f5d2a4285ac67557ee6791363a0faaa1ba10f20b9d761529f278f3737b304e79682353bf1fc SHA512 cf9a8e4475c2d3c8d7c3756c7b4a61fd4effde3010b33f67aa40354658952dcf2ee7d05f6db7912bf8015dd76cf7bb08bfc7d9aea2f168bec23acab9a9068239
+DIST pypy3_10-exe-7.3.16-1.x86.gpkg.tar 9093120 BLAKE2B ef908156f0dd9376495330fe0278aa2565c5428bfe46aaeb9f11dabee2ee998969028296cef3e5b71e6d8963bd7573ddded8583e3410f4c66b7b1f17a9cb52aa SHA512 d65132d4a89f7f0764095fee1a3f10d4b7821ba45745a3576179ff2e74f24f38538fe5df6812e654cecc71fe7feecec4e2b9518c8b51aea9b66d43dca935949e
diff --git a/dev-python/pypy3_10-exe-bin/metadata.xml b/dev-python/pypy3_10-exe-bin/metadata.xml
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.16.ebuild b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.16.ebuild
new file mode 100644
index 000000000000..9849a9ecfd11
--- /dev/null
+++ b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.16.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils unpacker
+
+PYVER=3.10
+MY_P=pypy3_10-exe-${PV}-1
+
+DESCRIPTION="PyPy3.10 executable (pre-built version)"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ elibc_glibc? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86.gpkg.tar
+ )
+ )
+ elibc_musl? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64-musl.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64-musl.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le-musl.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86-musl.gpkg.tar
+ )
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="${PV%_p*}"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+
+# sys-devel/gcc for libgcc_s.so
+RDEPEND="
+ app-arch/bzip2:0/1
+ dev-libs/expat:0/0
+ dev-libs/libffi:0/8
+ sys-libs/ncurses:0/6
+ >=sys-libs/zlib-1.1.3:0/1
+ virtual/libintl:0/0
+ elibc_glibc? (
+ sys-devel/gcc
+ >=sys-libs/glibc-2.35
+ )
+ !dev-python/pypy3_10-exe:${SLOT}
+"
+
+PYPY_PV=${PV%_p*}
+QA_PREBUILT="
+ usr/bin/pypy${PYVER}-c-${PYPY_PV}
+"
+
+src_install() {
+ insinto /
+ doins -r image/usr
+ fperms +x "/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3_10-exe/Manifest b/dev-python/pypy3_10-exe/Manifest
new file mode 100644
index 000000000000..98534aa04e78
--- /dev/null
+++ b/dev-python/pypy3_10-exe/Manifest
@@ -0,0 +1,2 @@
+DIST pypy3.10-gentoo-patches-7.3.16.tar.xz 4752 BLAKE2B a5cd87f30c0b20bf5d49c3b5c979c12231d6b67750e777d4488093094d5998e6f0d9adba51c04704eb31d621089aeb12ee5a6b0a58dad0ecda0d60d2ecbdab6d SHA512 e2779841a3e56e384134416ce2a10e1e00a11d7c720023506370fb9f54363da6b7300b4019c121aa1874152b62d9679ebcd3dd679fd0dbd2bf524520990b6f38
+DIST pypy3.10-v7.3.16-src.tar.bz2 23358556 BLAKE2B 4eddae47dea1005b9450b9d3d23bd90782dffecdc252eff4fd3195a61e0e7ebbdafaf4c4b5d318c88534f152c1110c3bc4f76f43a7e711a859dd4330841a0e0b SHA512 5b941e3b5c7b0c7a50413e16122bad3e167dcc4ee159ce53e9716e9d5af79d600823f3d7442b7562bb568ff027723e22904fc0840dc06bd26e3da38c93cc5b94
diff --git a/dev-python/pypy3_10-exe/metadata.xml b/dev-python/pypy3_10-exe/metadata.xml
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.16.ebuild b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.16.ebuild
new file mode 100644
index 000000000000..d8e6a582bb10
--- /dev/null
+++ b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.16.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs flag-o-matic pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.10
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV}"
+
+DESCRIPTION="PyPy3.10 executable (build from source)"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+SLOT="${PYPY_PV}"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+jit low-memory ncurses cpu_flags_x86_sse2"
+
+RDEPEND="
+ app-arch/bzip2:0=
+ dev-libs/expat:0=
+ dev-libs/libffi:0=
+ >=sys-libs/zlib-1.1.3:0=
+ virtual/libintl:0=
+ ncurses? ( sys-libs/ncurses:0= )
+ !dev-python/pypy3_10-exe-bin:${SLOT}
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-python/pypy
+ virtual/pkgconfig
+"
+
+check_env() {
+ if use low-memory; then
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_configure() {
+ tc-export CC
+
+ # Yes, yuck, but it's being worked on upstream (bug #918971).
+ # https://foss.heptapod.net/pypy/pypy/-/issues/4042
+ append-flags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --no-shared
+ $(usex jit -Ojit -O2)
+
+ ${jit_backend}
+
+ pypy/goal/targetpypystandalone
+ --withmod-bz2
+ $(usex ncurses --with{,out}mod-_minimal_curses)
+ )
+
+ local interp=( pypy )
+ if use low-memory; then
+ local -x PYPY_GC_MAX_DELTA=200MB
+ interp+=( --jit loop_longevity=300 )
+ fi
+
+ # translate into the C sources
+ # we're going to build them ourselves since otherwise pypy does not
+ # free up the unneeded memory before spawning the compiler
+ set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "translation failed"
+}
+
+src_compile() {
+ emake -C "${T}"/usession*-0/testing_1
+}
+
+src_install() {
+ cd "${T}"/usession*-0 || die
+ newbin "testing_1/pypy${PYVER}-c" "pypy${PYVER}-c-${PYPY_PV}"
+ insinto "/usr/include/pypy${PYVER}/${PYPY_PV}"
+ doins *.h
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3_10/Manifest b/dev-python/pypy3_10/Manifest
new file mode 100644
index 000000000000..98534aa04e78
--- /dev/null
+++ b/dev-python/pypy3_10/Manifest
@@ -0,0 +1,2 @@
+DIST pypy3.10-gentoo-patches-7.3.16.tar.xz 4752 BLAKE2B a5cd87f30c0b20bf5d49c3b5c979c12231d6b67750e777d4488093094d5998e6f0d9adba51c04704eb31d621089aeb12ee5a6b0a58dad0ecda0d60d2ecbdab6d SHA512 e2779841a3e56e384134416ce2a10e1e00a11d7c720023506370fb9f54363da6b7300b4019c121aa1874152b62d9679ebcd3dd679fd0dbd2bf524520990b6f38
+DIST pypy3.10-v7.3.16-src.tar.bz2 23358556 BLAKE2B 4eddae47dea1005b9450b9d3d23bd90782dffecdc252eff4fd3195a61e0e7ebbdafaf4c4b5d318c88534f152c1110c3bc4f76f43a7e711a859dd4330841a0e0b SHA512 5b941e3b5c7b0c7a50413e16122bad3e167dcc4ee159ce53e9716e9d5af79d600823f3d7442b7562bb568ff027723e22904fc0840dc06bd26e3da38c93cc5b94
diff --git a/dev-python/pypy3_10/metadata.xml b/dev-python/pypy3_10/metadata.xml
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.16.ebuild b/dev-python/pypy3_10/pypy3_10-7.3.16.ebuild
new file mode 100644
index 000000000000..5e7deb31db00
--- /dev/null
+++ b/dev-python/pypy3_10/pypy3_10-7.3.16.ebuild
@@ -0,0 +1,212 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multiprocessing pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.10
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_rc/rc}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
+# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
+SLOT="0/pypy310-pp73-384"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+ensurepip gdbm +jit ncurses sqlite tk"
+# many tests are failing upstream
+# see https://buildbot.pypy.org/summary?branch=py${PYVER}
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ >=dev-python/${PN}-exe-${PYPY_PV}:${PYPY_PV}[bzip2(+),ncurses?]
+ >=dev-python/${PN}-exe-bin-${PYPY_PV}:${PYPY_PV}
+ )
+ dev-lang/python-exec[python_targets_pypy3(-)]
+ dev-libs/openssl:0=
+ dev-python/gentoo-common
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+}
+
+src_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ mkdir bin || die
+ # switch to the layout expected for cffi module builds
+ mkdir include/pypy${PYVER} || die
+ # copy over to make sys.prefix happy
+ cp -p "${BROOT}"/usr/bin/pypy${PYVER}-c-${PYPY_PV} pypy${PYVER}-c || die
+ cp -p "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/* include/pypy${PYVER}/ || die
+ # (not installed by pypy-exe)
+ rm pypy/module/cpyext/include/_numpypy/numpy/README || die
+ mv pypy/module/cpyext/include/* include/pypy${PYVER}/ || die
+ mv pypy/module/cpyext/parse/*.h include/pypy${PYVER}/ || die
+ pax-mark m pypy${PYVER}-c
+
+ # verify the subslot
+ local soabi=$(
+ ./pypy${PYVER}-c - <<-EOF
+ import importlib.util
+ import sysconfig
+ soabi = sysconfig.get_config_var("SOABI")
+ magic = importlib.util._RAW_MAGIC_NUMBER & 0xffff
+ print(f"{soabi}-{magic}")
+ EOF
+ )
+ [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
+
+ # Add epython.py to the distribution
+ echo 'EPYTHON="pypy3"' > lib-python/3/epython.py || die
+
+ einfo "Generating caches and CFFI modules ..."
+
+ # Generate sysconfig data
+ local host_gnu_type=$(sh pypy/tool/release/config.guess)
+ local overrides=(
+ HOST_GNU_TYPE "${host_gnu_type:-unknown}"
+ INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}"
+ LIBDIR "${EPREFIX}/usr/$(get_libdir)"
+ TZPATH "${EPREFIX}/usr/share/zoneinfo"
+ WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
+ )
+ ./pypy${PYVER}-c -m sysconfig --generate-posix-vars "${overrides[@]}" || die
+ local outdir
+ outdir=$(<pybuilddir.txt) || die
+ cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die
+
+ # Generate Grammar and PatternGrammar pickles.
+ ./pypy${PYVER}-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
+ import lib2to3.pygram
+ import lib2to3.patcomp
+ lib2to3.patcomp.PatternCompiler()
+ EOF
+
+ # Generate cffi modules
+ # Please keep in sync with lib_pypy/pypy_tools/build_cffi_imports.py!
+ # (NB: we build CFFI modules first to avoid error log when importing
+ # build_cffi_imports).
+ cffi_targets=(
+ pypy_util blake2/_blake2 sha3/_sha3 ssl
+ audioop syslog pwdgrp resource lzma posixshmem
+ ctypes_test testmultiphase
+ )
+ use gdbm && cffi_targets+=( gdbm )
+ use ncurses && cffi_targets+=( curses )
+ use sqlite && cffi_targets+=( sqlite3 )
+ use tk && cffi_targets+=( tkinter/tklib )
+
+ local t
+ # all modules except tkinter output to .
+ # tkinter outputs to the correct dir ...
+ cd lib_pypy || die
+ for t in "${cffi_targets[@]}"; do
+ # tkinter doesn't work via -m
+ ../pypy${PYVER}-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
+ done
+ # testcapi does not have a "build" script
+ ../pypy${PYVER}-c -c "import _testcapi" || die
+
+ # Verify that CFFI module list is up-to-date
+ local expected_cksum=a4138e48
+ local local_cksum=$(
+ ../pypy${PYVER}-c - <<-EOF
+ import binascii
+ import json
+ from pypy_tools.build_cffi_imports import cffi_build_scripts as x
+ print("%08x" % (binascii.crc32(json.dumps(x).encode()),))
+ EOF
+ )
+ if [[ ${local_cksum} != ${expected_cksum} ]]; then
+ die "Please verify cffi_targets and update checksum to ${local_cksum}"
+ fi
+
+ # Cleanup temporary objects
+ find \( -name "*_cffi.c" -o -name '*.o' \) -delete || die
+ find -type d -empty -delete || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ dodir /usr/bin
+ dosym pypy${PYVER}-c-${PYPY_PV} /usr/bin/pypy${PYVER}
+ insinto /usr/lib/pypy${PYVER}
+ # preserve mtimes to avoid obsoleting caches
+ insopts -p
+ doins -r lib-python/3/. lib_pypy/.
+ insinto /usr/include
+ doins -r include/pypy${PYVER}
+
+ # replace copied headers with symlinks
+ for x in "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/*; do
+ dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy${PYVER}/${x##*/}"
+ done
+
+ dodoc README.rst
+
+ local dest=/usr/lib/pypy${PYVER}
+ rm -r "${ED}${dest}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${ED}${dest}"/ensurepip || die
+ fi
+ if ! use gdbm; then
+ rm -r "${ED}${dest}"/_gdbm* || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED}${dest}"/sqlite3 \
+ "${ED}${dest}"/_sqlite3* \
+ "${ED}${dest}"/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}${dest}"/{idlelib,tkinter} \
+ "${ED}${dest}"/_tkinter \
+ "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die
+ fi
+ dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED"
+
+ local -x PYTHON=${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}
+ # temporarily copy to build tree to facilitate module builds
+ cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" "${PYTHON}" || die
+
+ einfo "Byte-compiling Python standard library..."
+ # exclude list from CPython Makefile.pre.in
+ "${PYTHON}" -m compileall -j "$(makeopts_jobs)" -o 0 -o 1 -o 2 \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ --hardlink-dupes -q -f -d "${dest}" "${ED}${dest}" || die
+
+ # remove to avoid collisions
+ rm "${PYTHON}" || die
+}
diff --git a/dev-python/pypy3_9-exe-bin/Manifest b/dev-python/pypy3_9-exe-bin/Manifest
new file mode 100644
index 000000000000..f5c0867beee2
--- /dev/null
+++ b/dev-python/pypy3_9-exe-bin/Manifest
@@ -0,0 +1,8 @@
+DIST pypy3_9-exe-7.3.16-1.amd64-musl.gpkg.tar 11939840 BLAKE2B 7467d16c97696cf2c75f2840a0e898c56325f4766ffdd5c2193ca3908a7fce243ee9354d03d75b410d3b7290ebb5be6365bca892cebecf3f7c76053c33883c03 SHA512 ccac91b61018eac95cb394e8bd696ab72295cc7d607fc183d95ffde630ef01823a46f1a5ab6043eb88beacd54bbc368894ad038b40e8c3b19c66beff8a5d568e
+DIST pypy3_9-exe-7.3.16-1.amd64.gpkg.tar 11950080 BLAKE2B 92b1ad6e13dfb221258452c684d95ee30a673c964e502cd1e3b9358220280eff16f2e070469e6a4a2167cb907a4aafb537a56a9ab623595bbaa003f6ae5264e8 SHA512 b0716129d93e450c68710971ab4251e7955e5fb16dc3edf0fdea5ef7ad0babc3243e84398754a9afd85e9f463a6d0a9427f8ca8867006c7c5354adad023da051
+DIST pypy3_9-exe-7.3.16-1.arm64-musl.gpkg.tar 10076160 BLAKE2B a7423e9708f3d3b300b8556ae985843539bf8f13974645073df09107e27ff4d2fb62b21f345966ba2356ddf3e45d4172350393875d0948ca083e9dc4c46adffa SHA512 49549b5b87360be6f09b3ad41a31cd60367f4cced75dc0b32f8267d0a1da4e04efd258ca593304b4dc998e8627e7b81fd6e15110d44ab101cd9108fd4e14f2c0
+DIST pypy3_9-exe-7.3.16-1.arm64.gpkg.tar 10035200 BLAKE2B 39830cf926e990cf2e70baa97e5d486ae171287a4a459501b41fb3849e55cf5cacc07d53054d8470f8ea0265a0b9b8af9a451ee97dc717d7afc70fee0c470578 SHA512 1e93d709dd452b5e4d2b996419ea24450fb96b02e88dd0317f83539f89904ace54defa23888c6eb777237143eeeeb7cf1caef6d502013d06cf8ff5365c73cb38
+DIST pypy3_9-exe-7.3.16-1.ppc64le-musl.gpkg.tar 6676480 BLAKE2B 0822479c1ea9b51ff6996cd9b5484506e2419977fa23a156d72b84f3d7e4d6475f8f1638954e9de98bf8c07c1c4c8e22dd06a7d501940d4cbc5a60d91049a055 SHA512 662284692e9b253c3f43244d4ffc2d837f2dd5f3324b0cf6b035104a2ecdeca6e678767da53f638ed59b8d84d1b99a63ddc8740c943eb16f5714f2bed5ef9f91
+DIST pypy3_9-exe-7.3.16-1.ppc64le.gpkg.tar 10229760 BLAKE2B 8062194aa43492a9d8c0762ae0c76db0f1f5c74250c27da9eec052c1822548ad93a69f729d6130be969e50c17b6c601dcee8a11e9a2721390f53f8bf248f002f SHA512 4e78792c8bc62e56cd5e4e3ff6824d477c48d2aa79f6efb6402c59c05fd1a8b572e8df6e5c269d4dc5ecbe2118db12dea1ba8c8f7970ce63f34a7a005e1d6280
+DIST pypy3_9-exe-7.3.16-1.x86-musl.gpkg.tar 8949760 BLAKE2B 75f1713623ee220ad8bb5fd74cc0c5647cdb753a94c927a0030a102e1d721c8a4195248fe8ba4c833657fccdeeb74557cae389f11d5faf5b31166dea5afbb532 SHA512 9ad3c42756a6d23e1af0c9241da8989b6af90baf88062148b35934a6873967d41577857d845c07655243c4a840a501f60ba690326f593edfad2a5207adc0aefd
+DIST pypy3_9-exe-7.3.16-1.x86.gpkg.tar 8970240 BLAKE2B bafdc25fbf3baaff5a2dc7867edef2f90d17045e51a8eed212fd00e22643aebc492d972f60867d221b3fdf4c3502c387d95f123ba6d34641ccbbf0e606ba0d89 SHA512 bb6f57982c01c6cb372afe7bebef2e1c240e3ef67d75c7ff36d999b7ddc64c12b75a5b0fad528a6dd05a4680e44dafdaa5f1d6534f7ba15a3f77629d02f30310
diff --git a/dev-python/pypy3_9-exe-bin/metadata.xml b/dev-python/pypy3_9-exe-bin/metadata.xml
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.16.ebuild b/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.16.ebuild
new file mode 100644
index 000000000000..b4d8e231b125
--- /dev/null
+++ b/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.16.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils unpacker
+
+PYVER=3.9
+MY_P=pypy3_9-exe-${PV}-1
+
+DESCRIPTION="PyPy3.9 executable (pre-built version)"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ elibc_glibc? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86.gpkg.tar
+ )
+ )
+ elibc_musl? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64-musl.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64-musl.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le-musl.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86-musl.gpkg.tar
+ )
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="${PV%_p*}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+# sys-devel/gcc for libgcc_s.so
+RDEPEND="
+ app-arch/bzip2:0/1
+ dev-libs/expat:0/0
+ dev-libs/libffi:0/8
+ sys-libs/ncurses:0/6
+ >=sys-libs/zlib-1.1.3:0/1
+ virtual/libintl:0/0
+ elibc_glibc? (
+ sys-devel/gcc
+ >=sys-libs/glibc-2.35
+ )
+ !dev-python/pypy3_9-exe:${SLOT}
+"
+
+PYPY_PV=${PV%_p*}
+QA_PREBUILT="
+ usr/bin/pypy${PYVER}-c-${PYPY_PV}
+"
+
+src_install() {
+ insinto /
+ doins -r image/usr
+ fperms +x "/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3_9-exe/Manifest b/dev-python/pypy3_9-exe/Manifest
new file mode 100644
index 000000000000..615238c4ba6a
--- /dev/null
+++ b/dev-python/pypy3_9-exe/Manifest
@@ -0,0 +1,2 @@
+DIST pypy3.9-gentoo-patches-7.3.16.tar.xz 5764 BLAKE2B 094740bc594bc63648bba997e2a8a8eddd857e6f63594fc3d5f3bca9e74bce101ab56ddf59afd75d62e91c17d89271d7f8b52da6b19adf480dd9fab9f0c6dc2c SHA512 efbe3ac941be19b270336e7b31999114d4334cfd3cc0ab5f2499e41825a51bc7c005e10302114813741772ae0412466c000ab33b64f01d639d5689460f8befcb
+DIST pypy3.9-v7.3.16-src.tar.bz2 23686849 BLAKE2B 736b173d8bd6b19785e64827d289feb39e30e93caaef3071a5185cc5cbaab4aed23b9da89e34a464dad0c0d5142db9dc238a1dd221aea299f95bea2e47299a81 SHA512 bd13cddb0b4cab4e200d2eafd8239c76209a49f8e847193c5ed0fe446ca46271446fc762cafd2aa8f410d022bc65abcd48ba7148502b70b901565e187058310d
diff --git a/dev-python/pypy3_9-exe/metadata.xml b/dev-python/pypy3_9-exe/metadata.xml
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.16.ebuild b/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.16.ebuild
new file mode 100644
index 000000000000..b75e5d8f5409
--- /dev/null
+++ b/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.16.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.9
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_}"
+
+DESCRIPTION="PyPy3.9 executable (build from source)"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+SLOT="${PYPY_PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+jit low-memory ncurses cpu_flags_x86_sse2"
+
+RDEPEND="
+ app-arch/bzip2:0=
+ dev-libs/expat:0=
+ dev-libs/libffi:0=
+ >=sys-libs/zlib-1.1.3:0=
+ virtual/libintl:0=
+ ncurses? ( sys-libs/ncurses:0= )
+ !dev-python/pypy3_9-exe-bin:${SLOT}
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-python/pypy
+ virtual/pkgconfig
+"
+
+check_env() {
+ if use low-memory; then
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_configure() {
+ tc-export CC
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --no-shared
+ $(usex jit -Ojit -O2)
+
+ ${jit_backend}
+
+ pypy/goal/targetpypystandalone
+ --withmod-bz2
+ $(usex ncurses --with{,out}mod-_minimal_curses)
+ )
+
+ local interp=( pypy )
+ if use low-memory; then
+ local -x PYPY_GC_MAX_DELTA=200MB
+ interp+=( --jit loop_longevity=300 )
+ fi
+
+ # translate into the C sources
+ # we're going to build them ourselves since otherwise pypy does not
+ # free up the unneeded memory before spawning the compiler
+ set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "translation failed"
+}
+
+src_compile() {
+ emake -C "${T}"/usession*-0/testing_1
+}
+
+src_install() {
+ cd "${T}"/usession*-0 || die
+ newbin "testing_1/pypy${PYVER}-c" "pypy${PYVER}-c-${PYPY_PV}"
+ insinto "/usr/include/pypy${PYVER}/${PYPY_PV}"
+ doins *.h
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3_9/Manifest b/dev-python/pypy3_9/Manifest
new file mode 100644
index 000000000000..615238c4ba6a
--- /dev/null
+++ b/dev-python/pypy3_9/Manifest
@@ -0,0 +1,2 @@
+DIST pypy3.9-gentoo-patches-7.3.16.tar.xz 5764 BLAKE2B 094740bc594bc63648bba997e2a8a8eddd857e6f63594fc3d5f3bca9e74bce101ab56ddf59afd75d62e91c17d89271d7f8b52da6b19adf480dd9fab9f0c6dc2c SHA512 efbe3ac941be19b270336e7b31999114d4334cfd3cc0ab5f2499e41825a51bc7c005e10302114813741772ae0412466c000ab33b64f01d639d5689460f8befcb
+DIST pypy3.9-v7.3.16-src.tar.bz2 23686849 BLAKE2B 736b173d8bd6b19785e64827d289feb39e30e93caaef3071a5185cc5cbaab4aed23b9da89e34a464dad0c0d5142db9dc238a1dd221aea299f95bea2e47299a81 SHA512 bd13cddb0b4cab4e200d2eafd8239c76209a49f8e847193c5ed0fe446ca46271446fc762cafd2aa8f410d022bc65abcd48ba7148502b70b901565e187058310d
diff --git a/dev-python/pypy3_9/metadata.xml b/dev-python/pypy3_9/metadata.xml
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.16.ebuild b/dev-python/pypy3_9/pypy3_9-7.3.16.ebuild
new file mode 100644
index 000000000000..cd6b3d3e3ed8
--- /dev/null
+++ b/dev-python/pypy3_9/pypy3_9-7.3.16.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multiprocessing pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.9
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_rc/rc}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
+# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
+SLOT="0/pypy39-pp73-336"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+ensurepip gdbm +jit ncurses sqlite tk"
+# many tests are failing upstream
+# see https://buildbot.pypy.org/summary?branch=py${PYVER}
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ >=dev-python/${PN}-exe-${PYPY_PV}:${PYPY_PV}[bzip2(+),ncurses?]
+ >=dev-python/${PN}-exe-bin-${PYPY_PV}:${PYPY_PV}
+ )
+ dev-lang/python-exec[python_targets_pypy3(-)]
+ dev-libs/openssl:0=
+ dev-python/gentoo-common
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ mkdir bin || die
+ # switch to the layout expected for cffi module builds
+ mkdir include/pypy${PYVER} || die
+ # copy over to make sys.prefix happy
+ cp -p "${BROOT}"/usr/bin/pypy${PYVER}-c-${PYPY_PV} pypy${PYVER}-c || die
+ cp -p "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/* include/pypy${PYVER}/ || die
+ # (not installed by pypy-exe)
+ rm pypy/module/cpyext/include/_numpypy/numpy/README || die
+ mv pypy/module/cpyext/include/* include/pypy${PYVER}/ || die
+ mv pypy/module/cpyext/parse/*.h include/pypy${PYVER}/ || die
+ pax-mark m pypy${PYVER}-c
+
+ # verify the subslot
+ local soabi=$(
+ ./pypy${PYVER}-c - <<-EOF
+ import importlib.util
+ import sysconfig
+ soabi = sysconfig.get_config_var("SOABI")
+ magic = importlib.util._RAW_MAGIC_NUMBER & 0xffff
+ print(f"{soabi}-{magic}")
+ EOF
+ )
+ [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
+
+ # Add epython.py to the distribution
+ echo 'EPYTHON="pypy3"' > lib-python/3/epython.py || die
+
+ einfo "Generating caches and CFFI modules ..."
+
+ # Generate sysconfig data
+ local host_gnu_type=$(sh pypy/tool/release/config.guess)
+ local overrides=(
+ HOST_GNU_TYPE "${host_gnu_type:-unknown}"
+ INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}"
+ LIBDIR "${EPREFIX}/usr/$(get_libdir)"
+ TZPATH "${EPREFIX}/usr/share/zoneinfo"
+ WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
+ )
+ ./pypy${PYVER}-c -m sysconfig --generate-posix-vars "${overrides[@]}" || die
+ local outdir
+ outdir=$(<pybuilddir.txt) || die
+ cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die
+
+ # Generate Grammar and PatternGrammar pickles.
+ ./pypy${PYVER}-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
+ import lib2to3.pygram
+ import lib2to3.patcomp
+ lib2to3.patcomp.PatternCompiler()
+ EOF
+
+ # Generate cffi modules
+ # Please keep in sync with lib_pypy/pypy_tools/build_cffi_imports.py!
+ # (NB: we build CFFI modules first to avoid error log when importing
+ # build_cffi_imports).
+ cffi_targets=(
+ pypy_util blake2/_blake2 sha3/_sha3 ssl
+ audioop syslog pwdgrp resource lzma posixshmem
+ ctypes_test testmultiphase
+ )
+ use gdbm && cffi_targets+=( gdbm )
+ use ncurses && cffi_targets+=( curses )
+ use sqlite && cffi_targets+=( sqlite3 )
+ use tk && cffi_targets+=( tkinter/tklib )
+
+ local t
+ # all modules except tkinter output to .
+ # tkinter outputs to the correct dir ...
+ cd lib_pypy || die
+ for t in "${cffi_targets[@]}"; do
+ # tkinter doesn't work via -m
+ ../pypy${PYVER}-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
+ done
+ # testcapi does not have a "build" script
+ ../pypy${PYVER}-c -c "import _testcapi" || die
+
+ # Verify that CFFI module list is up-to-date
+ local expected_cksum=a4138e48
+ local local_cksum=$(
+ ../pypy${PYVER}-c - <<-EOF
+ import binascii
+ import json
+ from pypy_tools.build_cffi_imports import cffi_build_scripts as x
+ print("%08x" % (binascii.crc32(json.dumps(x).encode()),))
+ EOF
+ )
+ if [[ ${local_cksum} != ${expected_cksum} ]]; then
+ die "Please verify cffi_targets and update checksum to ${local_cksum}"
+ fi
+
+ # Cleanup temporary objects
+ find \( -name "*_cffi.c" -o -name '*.o' \) -delete || die
+ find -type d -empty -delete || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ dodir /usr/bin
+ dosym pypy${PYVER}-c-${PYPY_PV} /usr/bin/pypy${PYVER}
+ insinto /usr/lib/pypy${PYVER}
+ # preserve mtimes to avoid obsoleting caches
+ insopts -p
+ doins -r lib-python/3/. lib_pypy/.
+ insinto /usr/include
+ doins -r include/pypy${PYVER}
+
+ # replace copied headers with symlinks
+ for x in "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/*; do
+ dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy${PYVER}/${x##*/}"
+ done
+
+ dodoc README.rst
+
+ local dest=/usr/lib/pypy${PYVER}
+ rm -r "${ED}${dest}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${ED}${dest}"/ensurepip || die
+ fi
+ if ! use gdbm; then
+ rm -r "${ED}${dest}"/_gdbm* || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED}${dest}"/sqlite3 \
+ "${ED}${dest}"/_sqlite3* \
+ "${ED}${dest}"/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}${dest}"/{idlelib,tkinter} \
+ "${ED}${dest}"/_tkinter \
+ "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die
+ fi
+ dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED"
+
+ local -x PYTHON=${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}
+ # temporarily copy to build tree to facilitate module builds
+ cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" "${PYTHON}" || die
+
+ einfo "Byte-compiling Python standard library..."
+ # exclude list from CPython Makefile.pre.in
+ "${PYTHON}" -m compileall -j "$(makeopts_jobs)" -o 0 -o 1 -o 2 \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ --hardlink-dupes -q -f -d "${dest}" "${ED}${dest}" || die
+
+ # remove to avoid collisions
+ rm "${PYTHON}" || die
+}
diff --git a/dev-python/pyqrcode/Manifest b/dev-python/pyqrcode/Manifest
deleted file mode 100644
index 69a4e3102435..000000000000
--- a/dev-python/pyqrcode/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyqrcode-1.2.1.gh.tar.gz 63404 BLAKE2B b192c55f3e6fb5c6d2c5f245d34fc909fbaaa582586a2a60526a98fb83079136358a0012d98e0772fb73eecb5133fecb643525fae05de8eede10b6f7a6662f08 SHA512 87a307e57d470153b37cccd3e79c8e04fc8de63cc7ffce313a7cc7d7e7f53b2979125ac3680a4b261fe0eeffd476e7934fa189a679f9370d690113811cc750b8
diff --git a/dev-python/pyqrcode/metadata.xml b/dev-python/pyqrcode/metadata.xml
deleted file mode 100644
index 53c5e1661241..000000000000
--- a/dev-python/pyqrcode/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>
- <upstream>
- <maintainer>
- <email>mnooner256@gmail.com</email>
- <name>Michael Nooner</name>
- </maintainer>
- <remote-id type="pypi">PyQRCode</remote-id>
- <remote-id type="github">mnooner256/pyqrcode</remote-id>
- </upstream>
- <longdescription>
- The pyqrcode module is a QR code generator that is simple to use and
- written in pure python. The module can automate most of the building
- process for creating QR codes.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-python/pyqrcode/pyqrcode-1.2.1-r2.ebuild b/dev-python/pyqrcode/pyqrcode-1.2.1-r2.ebuild
deleted file mode 100644
index 1eeacfe0bba7..000000000000
--- a/dev-python/pyqrcode/pyqrcode-1.2.1-r2.ebuild
+++ /dev/null
@@ -1,45 +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_{8..10} )
-
-inherit distutils-r1
-
-# upstream doesn't do tags
-EGIT_COMMIT="674a77b5eaf850d063f518bd90c243ee34ad6b5d"
-
-DESCRIPTION="A pure Python QR code generator with SVG, EPS, PNG and terminal output"
-HOMEPAGE="
- https://github.com/mnooner256/pyqrcode/
- https://pypi.org/project/PyQRCode/
-"
-SRC_URI="
- https://github.com/mnooner256/pyqrcode/archive/${EGIT_COMMIT}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${PN}-${EGIT_COMMIT}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
-IUSE="png"
-
-RDEPEND="
- png? ( dev-python/pypng[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? ( dev-python/pypng[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests nose
-
-src_prepare() {
- # don't pull in tkinter for one test
- sed -i -e 's:test_xbm_with_tkinter:_&:' \
- tests/test_xbm.py || die
-
- distutils-r1_src_prepare
-}
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 ec182cbf511a..000000000000
--- a/dev-python/pyqt-distutils/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>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
- <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 b4c5df952c0e..000000000000
--- a/dev-python/pyqt-distutils/pyqt-distutils-0.7.3.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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 6066acd8775b..c4c4174637b3 100644
--- a/dev-python/pyqtgraph/Manifest
+++ b/dev-python/pyqtgraph/Manifest
@@ -1,2 +1,2 @@
-DIST pyqtgraph-0.12.4.tar.gz 1333052 BLAKE2B 4208787d1d203904d841493e10b2f1d23357b60475c9e1cfff733fe772973d4dd619ca84941049bd60299912f3077fb18c27a90fa3c0c0e712a3715b5be1d071 SHA512 8402b38fe1abaaf55d6dbc26775093993b9f642d7a9da59d2780ed38562c8653ab872c588d2e66373434491b8f397533cb3c222382065c812a28cf6b9ce34960
-DIST pyqtgraph-test-data-8.tar.gz 306068 BLAKE2B f3aa418dfaf2e74950fa880da4b6dfb4ef5dbd46346b78065d885c1f9fc06fc3de86756af17e27035d4cd47d98cc7ce58c036b493837b568086a4ebceb230c78 SHA512 07ef414f2b57e00589f8c18459e88ab16001c7cc3766164cdfcd69faa26cbc90ed64611fd0c5e3b401dc6a3f1a6e9e4ce6a7d9fa96ebcc4360e03fa9fbb856d2
+DIST pyqtgraph-0.13.6.gh.tar.gz 2388348 BLAKE2B e0050e240b80be2448ebb998f3ea9bd51489c906512c2cb4c3e0684d6b57d093362c60eafff4aaea9262c9fa7464ffde32e8159e2694671ffe70109b5e412eef SHA512 e77a054494a01ce848685547811ad398e0c77f747c26f9f4be798465f874bfeb23f6c2e507ad1175bb747e3c9c2f0d22747eefda476c4e8c72fa892fa0bb4730
+DIST pyqtgraph-0.13.7.gh.tar.gz 2364456 BLAKE2B 3ce1a3eb177a2a6328f1b7354bf9d4a87ffedcf4fa75fa407bd2df708b91fe98e2500364220ac7395745c69ac86f4830ea58999d05af49850edc723a6ccad5a1 SHA512 91e06e143fec4b1a6fae5cc7112a1fb6b7e74c7a38605172aacc5639eb220e30c54694e419313c7bb8368ea5c5f45f41d58e4510735e63a7d6ef03cdbb0f05e9
diff --git a/dev-python/pyqtgraph/pyqtgraph-0.12.4.ebuild b/dev-python/pyqtgraph/pyqtgraph-0.12.4.ebuild
deleted file mode 100644
index c7a36040467f..000000000000
--- a/dev-python/pyqtgraph/pyqtgraph-0.12.4.ebuild
+++ /dev/null
@@ -1,88 +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_{8..10} )
-
-inherit distutils-r1 multiprocessing
-
-TEST_DATA_TAG=test-data-8
-DESCRIPTION="A pure-python graphics and GUI library built on PyQt and numpy"
-HOMEPAGE="https://www.pyqtgraph.org/ https://pypi.org/project/pyqtgraph/"
-SRC_URI="
- https://github.com/pyqtgraph/pyqtgraph/archive/${P}.tar.gz
- test? (
- https://github.com/pyqtgraph/test-data/archive/${TEST_DATA_TAG}.tar.gz
- -> ${PN}-${TEST_DATA_TAG}.tar.gz
- )"
-S=${WORKDIR}/${PN}-${P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 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 -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
-}
-
-src_test() {
- mkdir "${HOME}"/.pyqtgraph || die
- mv "${WORKDIR}/test-data-${TEST_DATA_TAG}" \
- "${HOME}"/.pyqtgraph/test-data || die
- cd "${HOME}"/.pyqtgraph/test-data || die
- # we need to fake a git repo
- git config --global user.email "you@example.com" || die
- git config --global user.name "Your Name" || die
- git init -q || die
- git commit -q --allow-empty -m "dummy commit" || die
- git tag "${TEST_DATA_TAG}" || die
- cd - >/dev/null || die
-
- distutils-r1_src_test
-}
diff --git a/dev-python/pyqtgraph/pyqtgraph-0.13.6.ebuild b/dev-python/pyqtgraph/pyqtgraph-0.13.6.ebuild
new file mode 100644
index 000000000000..c1adb8a201c4
--- /dev/null
+++ b/dev-python/pyqtgraph/pyqtgraph-0.13.6.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="A pure-python graphics and GUI library built on PyQt and numpy"
+HOMEPAGE="
+ https://www.pyqtgraph.org/
+ https://github.com/pyqtgraph/pyqtgraph/
+ https://pypi.org/project/pyqtgraph/
+"
+SRC_URI="
+ https://github.com/pyqtgraph/pyqtgraph/archive/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${PN}-${P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv ~x86"
+IUSE="opengl svg"
+REQUIRED_USE="test? ( opengl svg )"
+
+RDEPEND="
+ >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/PyQt5[gui,widgets,opengl=,svg=,${PYTHON_USEDEP}]
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/PyQt5[testlib,${PYTHON_USEDEP}]
+ dev-python/pytest-xvfb[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ if ! use opengl; then
+ rm -r pyqtgraph/opengl || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # apparently fragile
+ tests/test_reload.py::test_reload
+
+ # TODO
+ tests/exporters/test_svg.py::test_plotscene
+ tests/graphicsItems/test_ROI.py::test_PolyLineROI
+
+ # pyside2 is normally skipped if not installed but these two
+ # fail if it is installed
+ # TODO: this could be due to USE flags, revisit when pyside2
+ # gains py3.9
+ 'pyqtgraph/examples/test_examples.py::testExamples[ DateAxisItem_QtDesigner.py - PySide2 ]'
+ 'pyqtgraph/examples/test_examples.py::testExamples[ designerExample.py - PySide2 ]'
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p xvfb
+}
diff --git a/dev-python/pyqtgraph/pyqtgraph-0.13.7.ebuild b/dev-python/pyqtgraph/pyqtgraph-0.13.7.ebuild
new file mode 100644
index 000000000000..3eee7ec805c3
--- /dev/null
+++ b/dev-python/pyqtgraph/pyqtgraph-0.13.7.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="A pure-python graphics and GUI library built on PyQt and numpy"
+HOMEPAGE="
+ https://www.pyqtgraph.org/
+ https://github.com/pyqtgraph/pyqtgraph/
+ https://pypi.org/project/pyqtgraph/
+"
+SRC_URI="
+ https://github.com/pyqtgraph/pyqtgraph/archive/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${PN}-${P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+IUSE="opengl svg"
+REQUIRED_USE="test? ( opengl svg )"
+
+RDEPEND="
+ >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/PyQt5[gui,widgets,opengl=,svg=,${PYTHON_USEDEP}]
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/PyQt5[testlib,${PYTHON_USEDEP}]
+ dev-python/pytest-xvfb[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ if ! use opengl; then
+ rm -r pyqtgraph/opengl || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # apparently fragile
+ tests/test_reload.py::test_reload
+
+ # TODO
+ tests/exporters/test_svg.py::test_plotscene
+ tests/graphicsItems/test_ROI.py::test_PolyLineROI
+
+ # pyside2 is normally skipped if not installed but these two
+ # fail if it is installed
+ # TODO: this could be due to USE flags, revisit when pyside2
+ # gains py3.9
+ 'pyqtgraph/examples/test_examples.py::testExamples[ DateAxisItem_QtDesigner.py - PySide2 ]'
+ 'pyqtgraph/examples/test_examples.py::testExamples[ designerExample.py - PySide2 ]'
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p xvfb
+}
diff --git a/dev-python/pyquery/Manifest b/dev-python/pyquery/Manifest
index 0eef5930be6d..a6fa9d25b0f1 100644
--- a/dev-python/pyquery/Manifest
+++ b/dev-python/pyquery/Manifest
@@ -1 +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 cb8521e93776..000000000000
--- a/dev-python/pyquery/pyquery-1.4.3-r1.ebuild
+++ /dev/null
@@ -1,44 +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_{8..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
new file mode 100644
index 000000000000..a72d907f5f71
--- /dev/null
+++ b/dev-python/pyquery/pyquery-2.0.0.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 optfeature pypi
+
+DESCRIPTION="A jQuery-like library for python"
+HOMEPAGE="
+ https://github.com/gawel/pyquery/
+ https://pypi.org/project/pyquery/
+"
+
+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-1.2.0[${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}]
+ dev-python/webob[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+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
new file mode 100644
index 000000000000..55c15d3fb6d2
--- /dev/null
+++ b/dev-python/pyrate-limiter/Manifest
@@ -0,0 +1,3 @@
+DIST pyrate-limiter-2.10.0.gh.tar.gz 71838 BLAKE2B 3b8fd16684268870991c3a731c5497802c6f7be51e57bc983a14a7484fad2d0983613304fa061fdb70a3e6645d17fe37fbd68e9ddeca57bc7bd97fef4a5d8585 SHA512 b0090b2d80d40ba2f86ac7b5c5612a35fa885b52a87d783aa9726782275e79ca8d54a9a44b1f0dd43c98bf2355f4c17e1686d7c7f806934ea492b67f66b06ffe
+DIST pyrate_limiter-3.6.0.tar.gz 280021 BLAKE2B 4ff5e115376cfb5d860c4cd6437ccbb323e40f96bb81a9933f6f648d029c0f3a1d6674e1a9e1c0309a7087a9d1eb670918ca60d3c960e8acab017e12ffa5c28e SHA512 1f7f92203be443c27e2825022462c51eec2e276a4e58afc129599eacde21da55ed8229b0e5c7af21e650eb896b22c73f5fd227f56c1455cbd8d506894fed73a9
+DIST pyrate_limiter-3.6.1.tar.gz 280264 BLAKE2B 042601c2f80fc855301cda8be4af2547afdfb9532a93a418201db312535a12fa30b2469024ee318a14cb51f4555522b70b6aeef96d41978eb8f8c31d046a0a73 SHA512 b57cbd40473eab549ede0045451d1178dccfcac73f328bf4fe8106172602b52bafe612e2fa2df09f9fe99bdf68c3c7447e8d4f749ba260f3b29656100718c02b
diff --git a/dev-python/pyrate-limiter/metadata.xml b/dev-python/pyrate-limiter/metadata.xml
new file mode 100644
index 000000000000..90ba4d1a797a
--- /dev/null
+++ b/dev-python/pyrate-limiter/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>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="pypi">pyrate-limiter</remote-id>
+ <remote-id type="github">vutran1710/PyrateLimiter</remote-id>
+ </upstream>
+</pkgmetadata>
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-3.6.0.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-3.6.0.ebuild
new file mode 100644
index 000000000000..276657b6cf9d
--- /dev/null
+++ b/dev-python/pyrate-limiter/pyrate-limiter-3.6.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Rate-Limiter using Leaky-Bucket Algorimth Family"
+HOMEPAGE="
+ https://github.com/vutran1710/PyrateLimiter/
+ https://pypi.org/project/pyrate-limiter/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Optional dependency redis-py-cluster not packaged
+ "tests/test_02.py::test_redis_cluster"
+)
+EPYTEST_XDIST=1
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-autodoc-typehints \
+ dev-python/sphinx-copybutton \
+ dev-python/furo \
+ dev-python/myst-parser \
+ dev-python/sphinxcontrib-apidoc
+distutils_enable_tests pytest
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ # Spawn Redis itself for testing purposes
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ ${extra_conf}
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # postgres tests require psycopg-pool
+ epytest -p asyncio -p rerunfailures --reruns=5 -k "not postgres"
+}
diff --git a/dev-python/pyrate-limiter/pyrate-limiter-3.6.1.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-3.6.1.ebuild
new file mode 100644
index 000000000000..276657b6cf9d
--- /dev/null
+++ b/dev-python/pyrate-limiter/pyrate-limiter-3.6.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Rate-Limiter using Leaky-Bucket Algorimth Family"
+HOMEPAGE="
+ https://github.com/vutran1710/PyrateLimiter/
+ https://pypi.org/project/pyrate-limiter/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Optional dependency redis-py-cluster not packaged
+ "tests/test_02.py::test_redis_cluster"
+)
+EPYTEST_XDIST=1
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-autodoc-typehints \
+ dev-python/sphinx-copybutton \
+ dev-python/furo \
+ dev-python/myst-parser \
+ dev-python/sphinxcontrib-apidoc
+distutils_enable_tests pytest
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ # Spawn Redis itself for testing purposes
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ ${extra_conf}
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # postgres tests require psycopg-pool
+ epytest -p asyncio -p rerunfailures --reruns=5 -k "not postgres"
+}
diff --git a/dev-python/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 e9165f56e7ea..000000000000
--- a/dev-python/pyre2/pyre2-1.0.7.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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/Manifest b/dev-python/pyrfc3339/Manifest
index fac81e9f9c13..8f016371ac25 100644
--- a/dev-python/pyrfc3339/Manifest
+++ b/dev-python/pyrfc3339/Manifest
@@ -1 +1 @@
-DIST pyRFC3339-1.1.tar.gz 5290 BLAKE2B d3094a22b6903937ae5cfee1210f04b65eb05dd606fe1d3245dca8ec0719ca1a079b720568d8c8e87fea691cebe1944098f99913b97a04570f06354a883e5694 SHA512 958b7761fab590aa42bb57a955c5d834441f717796a452b60df21663099dcf2fc046afe60f8157fd0f1edfd95c5e9c9c5349ab10ca4078d210fc63d848496a2f
+DIST pyrfc3339-1.1.gh.tar.gz 11727 BLAKE2B 210104e5e7c3ed917d6a3475335fce74e4da1c55fddbb76c539b3dd37ec4ce943334e530a9558d13954bc625d4f7f1a7ac2296abf0fd01e87a9664167f7de4be SHA512 96627bcaa64556cc0a87be985fd4f42e7733b342882a4dc5bc5b7d0712bf3f197e09d7c9b7f760117a772bb012829176a61b848903fc41584f26776d3f18ec8f
diff --git a/dev-python/pyrfc3339/files/pyrfc3339-1.1-pytest.patch b/dev-python/pyrfc3339/files/pyrfc3339-1.1-pytest.patch
new file mode 100644
index 000000000000..82dbbb32f3dc
--- /dev/null
+++ b/dev-python/pyrfc3339/files/pyrfc3339-1.1-pytest.patch
@@ -0,0 +1,193 @@
+https://github.com/kurtraschke/pyRFC3339/pull/16
+From: Matthew Davis <github@virtual.drop.net>
+Date: Thu, 7 Apr 2022 18:29:02 -0400
+Subject: [PATCH] Remove python-nose requirements from tests
+
+Converted nose related tests to pytest.
+--- a/pyrfc3339/tests/tests.py
++++ b/pyrfc3339/tests/tests.py
+@@ -8,12 +8,11 @@
+
+ from pyrfc3339 import generate, parse
+ from pyrfc3339.utils import timezone
++import unittest
++import pytest
+ import pytz
+
+-from nose.tools import eq_, raises
+-
+-
+-class TestCore():
++class TestCore(unittest.TestCase):
+ '''
+ This test suite contains tests to address cases not tested in the doctests,
+ as well as additional tests for end-to-end verification.
+@@ -24,8 +23,11 @@ def test_timezone_rounding(self):
+ Test rounding of timezone values to the nearest second.
+
+ '''
+- eq_(timezone(5429), '+01:30')
+- eq_(timezone(5431), '+01:31')
++ if not timezone(5429) == '+01:30':
++ raise AssertionError("%r != %r" % (timezone(5429), '+01:30'))
++
++ if not timezone(5431) == '+01:31':
++ raise AssertionError("%r != %r" % (timezone(5431), '+01:31'))
+
+ def test_zero_offset(self):
+ '''
+@@ -34,11 +36,13 @@ def test_zero_offset(self):
+ '''
+ timestamp = '2009-01-01T10:02:03+00:00'
+ dt = parse(timestamp)
+- eq_(dt.tzinfo, pytz.utc)
++ if not dt.tzinfo == pytz.utc:
++ raise AssertionError("%r != %r" % (dt.tzinfo, pytz.utc))
+
+ timestamp = '2009-01-01T10:02:03-00:00'
+ dt = parse(timestamp)
+- eq_(dt.tzinfo, pytz.utc)
++ if not dt.tzinfo == pytz.utc:
++ raise AssertionError("%r != %r" % (dt.tzinfo, pytz.utc))
+
+ def test_deepcopy(self):
+ '''
+@@ -56,7 +60,8 @@ def test_parse_microseconds(self):
+ '''
+ timestamp = '2009-01-01T10:02:03.25Z'
+ dt = parse(timestamp)
+- eq_(dt.microsecond, 250000)
++ if not dt.microsecond == 250000:
++ raise AssertionError("%r != %r" % (dt.microsecond, 250000))
+
+ def test_generate_microseconds(self):
+ '''
+@@ -65,7 +70,8 @@ def test_generate_microseconds(self):
+ '''
+ dt = datetime(2009, 1, 1, 10, 2, 3, 500000, pytz.utc)
+ timestamp = generate(dt, microseconds=True)
+- eq_(timestamp, '2009-01-01T10:02:03.500000Z')
++ if not timestamp == '2009-01-01T10:02:03.500000Z':
++ raise AssertionError("%r != %r" % (timestamp, '2009-01-01T10:02:03.500000Z'))
+
+ def test_mixed_case(self):
+ '''
+@@ -76,7 +82,8 @@ def test_mixed_case(self):
+ dt1 = parse('2009-01-01t10:01:02z')
+ dt2 = datetime(2009, 1, 1, 10, 1, 2, tzinfo=pytz.utc)
+
+- eq_(dt1, dt2)
++ if not dt1 == dt2:
++ raise AssertionError("%r != %r" % (dt1, dt2))
+
+ def test_parse_naive_utc(self):
+ '''
+@@ -84,15 +91,17 @@ def test_parse_naive_utc(self):
+
+ '''
+ dt1 = parse('2009-01-01T10:01:02Z', produce_naive=True)
+- eq_(dt1.tzinfo, None)
++ if not dt1.tzinfo == None:
++ raise AssertionError("%r != %r" % (dt1.tzinfo, None))
+
+- @raises(ValueError)
+ def test_parse_naive_local(self):
+ '''
+ Test that parsing a local timestamp to a naive datetime fails.
+
+ '''
+- parse('2009-01-01T10:01:02-04:00', produce_naive=True)
++ with self.assertRaises(ValueError) as context:
++ parse('2009-01-01T10:01:02-04:00', produce_naive=True)
++
+
+ def test_generate_utc_parse_utc(self):
+ '''
+@@ -103,7 +112,8 @@ def test_generate_utc_parse_utc(self):
+ dt1 = dt1.replace(tzinfo=pytz.utc)
+
+ dt2 = parse(generate(dt1, microseconds=True))
+- eq_(dt1, dt2)
++ if not dt1 == dt2:
++ raise AssertionError("%r != %r" % (dt1, dt2))
+
+ def test_generate_local_parse_local(self):
+ '''
+@@ -113,7 +123,8 @@ def test_generate_local_parse_local(self):
+ eastern = pytz.timezone('US/Eastern')
+ dt1 = eastern.localize(datetime.utcnow())
+ dt2 = parse(generate(dt1, utc=False, microseconds=True), utc=False)
+- eq_(dt1, dt2)
++ if not dt1 == dt2:
++ raise AssertionError("%r != %r" % (dt1, dt2))
+
+ def test_generate_local_parse_utc(self):
+ '''
+@@ -123,10 +134,12 @@ def test_generate_local_parse_utc(self):
+ eastern = pytz.timezone('US/Eastern')
+ dt1 = eastern.localize(datetime.utcnow())
+ dt2 = parse(generate(dt1, utc=False, microseconds=True))
+- eq_(dt1, dt2)
++ if not dt1 == dt2:
++ raise AssertionError("%r != %r" % (dt1, dt2))
+
+
+-class TestExhaustiveRoundtrip():
++@pytest.mark.parametrize('tz_name', pytz.all_timezones)
++class TestExhaustiveRoundtrip:
+ '''
+ This test suite exhaustively tests parsing and generation by generating
+ a local RFC 3339 timestamp for every timezone supported by pytz,
+@@ -135,36 +148,32 @@ class TestExhaustiveRoundtrip():
+
+ slow = True
+
+- def test_local_roundtrip(self):
+- for tz_name in pytz.all_timezones:
+- yield self.local_roundtrip, tz_name
+-
+- def local_roundtrip(self, tz_name):
++ def test_local_roundtrip(self, tz_name):
+ '''
+ Generates a local datetime using the given timezone,
+ produces a local timestamp from the datetime, parses the timestamp
+ to a local datetime, and verifies that the two datetimes are equal.
+
+ '''
+- tzinfo = pytz.timezone(tz_name)
+- dt1 = tzinfo.localize(datetime.utcnow())
+- timestamp = generate(dt1, utc=False, microseconds=True)
+- dt2 = parse(timestamp, utc=False)
+- eq_(dt1, dt2)
+-
+- def test_utc_roundtrip(self):
+- for tz_name in pytz.all_timezones:
+- yield self.utc_roundtrip, tz_name
++ if not tz_name == 'leapseconds':
++ tzinfo = pytz.timezone(tz_name)
++ dt1 = tzinfo.localize(datetime.utcnow())
++ timestamp = generate(dt1, utc=False, microseconds=True)
++ dt2 = parse(timestamp, utc=False)
++ if not dt1 == dt2:
++ raise AssertionError("%r != %r" % (dt1, dt2))
+
+- def utc_roundtrip(self, tz_name):
++ def test_utc_roundtrip(self, tz_name):
+ '''
+ Generates a local datetime using the given timezone,
+ produces a local timestamp from the datetime, parses the timestamp
+ to a UTC datetime, and verifies that the two datetimes are equal.
+
+ '''
+- tzinfo = pytz.timezone(tz_name)
+- dt1 = tzinfo.localize(datetime.utcnow())
+- timestamp = generate(dt1, utc=False, microseconds=True)
+- dt2 = parse(timestamp)
+- eq_(dt1, dt2)
++ if not tz_name == 'leapseconds':
++ tzinfo = pytz.timezone(tz_name)
++ dt1 = tzinfo.localize(datetime.utcnow())
++ timestamp = generate(dt1, utc=False, microseconds=True)
++ dt2 = parse(timestamp)
++ if not dt1 == dt2:
++ raise AssertionError("%r != %r" % (dt1, dt2))
diff --git a/dev-python/pyrfc3339/metadata.xml b/dev-python/pyrfc3339/metadata.xml
index d7b294b6dd87..e281084bc91a 100644
--- a/dev-python/pyrfc3339/metadata.xml
+++ b/dev-python/pyrfc3339/metadata.xml
@@ -5,6 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">pyRFC3339</remote-id>
<remote-id type="github">kurtraschke/pyRFC3339</remote-id>
diff --git a/dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild b/dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild
new file mode 100644
index 000000000000..6b7715805eeb
--- /dev/null
+++ b/dev-python/pyrfc3339/pyrfc3339-1.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
+
+DESCRIPTION="Generates and parses RFC 3339 timestamps"
+HOMEPAGE="https://github.com/kurtraschke/pyRFC3339"
+SRC_URI="
+ https://github.com/kurtraschke/pyRFC3339/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/pyRFC3339-${PV}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="dev-python/pytz[${PYTHON_USEDEP}]"
+
+PATCHES=(
+ "${FILESDIR}/${P}-pytest.patch"
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest pyrfc3339/tests/tests.py
+}
diff --git a/dev-python/pyrfc3339/pyrfc3339-1.1.ebuild b/dev-python/pyrfc3339/pyrfc3339-1.1.ebuild
deleted file mode 100644
index fc33290f5b6b..000000000000
--- a/dev-python/pyrfc3339/pyrfc3339-1.1.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
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-MY_PN=pyRFC3339
-
-MY_P=${MY_PN}-${PV}
-DESCRIPTION="Generates and parses RFC 3339 timestamps"
-HOMEPAGE="https://github.com/kurtraschke/pyRFC3339"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="dev-python/pytz[${PYTHON_USEDEP}]"
-
-distutils_enable_tests nose
diff --git a/dev-python/pyroute2/Manifest b/dev-python/pyroute2/Manifest
index e093d0376607..135485b7b0a7 100644
--- a/dev-python/pyroute2/Manifest
+++ b/dev-python/pyroute2/Manifest
@@ -1,2 +1 @@
-DIST pyroute2-0.5.19.gh.tar.gz 457432 BLAKE2B ffb2717c60badb1453eeb15f5b83f1494e851ee011fcdebd3a5d249ecc4bea7064069a1af2fe2d34aefe9812c8b6808b8a14cbe518383c165b0b008d10505c5c SHA512 19b0acbff17415acad20a214e0622ca9a3fc51b92e603ab15663ea7e8da290fc0b2033aeca1c20200307e34173802f89998151f77d5bcfc5f87eb8b42ba591ce
-DIST pyroute2-0.7.2.gh.tar.gz 469459 BLAKE2B 06aa7640bb21c0a7b8035723069d78b28ca39b554b5bdc0a031dbc7376251265b118b222cb4283156c02136e63de4b77103c02a88b700ac5f49fa8ceac28528a SHA512 6c032b39675d539958642bb16b3b964e78613cdd2d49e2e206a13d5256872e3800de5c73cff761e4a756d31df0e07f18f08d193a0543c87be89da348662e6dbd
+DIST pyroute2-0.7.12.tar.gz 423519 BLAKE2B 75dbb9348bc6e6cf67ca6e79bd4bb0e93c77502935f9df855317cf22335c15fa0a19c40855cb4d89201f6e83fb4def9a44ade19e099c6a9c1d4233c0269224d6 SHA512 928e7f45569d43c1849d9c8d5972b38343ed8dd79137d6bfc757557d3bde23526af6baea61acc720b7e2d5d26731066b93f180138a6227b7d76d094e04111df7
diff --git a/dev-python/pyroute2/files/pyroute2-0.5.19-exclude-tests.patch b/dev-python/pyroute2/files/pyroute2-0.5.19-exclude-tests.patch
deleted file mode 100644
index 723c638349b7..000000000000
--- a/dev-python/pyroute2/files/pyroute2-0.5.19-exclude-tests.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: pyroute2-0.5.19/setup.cfg
-===================================================================
---- pyroute2-0.5.19.orig/setup.cfg
-+++ pyroute2-0.5.19/setup.cfg
-@@ -35,5 +35,8 @@ packages_dir =
- =pyroute2
- packages = find:
-
-+[options.packages.find]
-+exclude = tests
-+
- [options.extras_require]
- ss2 = psutil~=5.0
diff --git a/dev-python/pyroute2/pyroute2-0.5.19.ebuild b/dev-python/pyroute2/pyroute2-0.5.19.ebuild
deleted file mode 100644
index e19c69dedfef..000000000000
--- a/dev-python/pyroute2/pyroute2-0.5.19.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8,9,10} 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"
-
-PATCHES=(
- "${FILESDIR}/${P}-exclude-tests.patch"
-)
-
-# tests need root access
-RESTRICT="test"
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.2.ebuild b/dev-python/pyroute2/pyroute2-0.7.2.ebuild
deleted file mode 100644
index 791e7e0b54d8..000000000000
--- a/dev-python/pyroute2/pyroute2-0.7.2.ebuild
+++ /dev/null
@@ -1,33 +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_{8,9,10} 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 4d08827d5414..000000000000
--- a/dev-python/pyrqlite/pyrqlite-2.1.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 adb357a8ba40..f3c8a82e9cf2 100644
--- a/dev-python/pyrsistent/Manifest
+++ b/dev-python/pyrsistent/Manifest
@@ -1 +1 @@
-DIST pyrsistent-0.18.1.tar.gz 100522 BLAKE2B 75632d254993666076a68d81b8b5a7aced8601146fed5cd63f1d56c5e0578650a197aca7630855de32a8447eab972203aa7d83009398f96e6f374c0a4b2cc1ba SHA512 353ad6e9165e1afdde37730a9289cf8dde28491abb688d702a8c8f5279e24f5ce387a5d00ac4a077322299f9c1a535781bcacdcd1cb914ddb317b3ca9641778b
+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.18.1-r1.ebuild b/dev-python/pyrsistent/pyrsistent-0.18.1-r1.ebuild
deleted file mode 100644
index 2485fbfa66a7..000000000000
--- a/dev-python/pyrsistent/pyrsistent-0.18.1-r1.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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 91237a3e77b9..dd6b7a14c591 100644
--- a/dev-python/pyscard/Manifest
+++ b/dev-python/pyscard/Manifest
@@ -1 +1 @@
-DIST pyscard-2.0.3.tar.gz 150092 BLAKE2B af7d58266044792987e6f9a2bc708ca043e32c4f87c8622b5662449254e7d6b630d5769479f3eaf59dc9a3a9fa294330953dea3383aee6c216f3d7dcfd26266a SHA512 2f5c762fe4a7d8d3292f335fda58f8f2f88729ea6d33a508e5f461692fef8d006ccc9b761a78750b8416dc5c1f7c6b06c069e3f6e7b19d91621226590bfef708
+DIST pyscard-2.0.9.tar.gz 153513 BLAKE2B 00a7676cb0d987b7a6cd0c2cdf061e4e4405c78a0289d0c46abe95461b19d61a964792f69fe2a2f268653d332e8c21f17d03a8f3b05456df8475b0c51370830c SHA512 0503c29dfd288237eb17fae2a6387cdfce5e34a3aa6cdbdf58aef04ad91ab232d14d78b999fd1d4b7d7c8ad6282fa0d7983a65030f896f1e8098597f182b10cc
diff --git a/dev-python/pyscard/pyscard-2.0.3.ebuild b/dev-python/pyscard/pyscard-2.0.3.ebuild
deleted file mode 100644
index 4a3457a0eb60..000000000000
--- a/dev-python/pyscard/pyscard-2.0.3.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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"
-
-RDEPEND="sys-apps/pcsc-lite"
-DEPEND="${RDEPEND}"
-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..22ceb4eec735
--- /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 bafa148ab628..000000000000
--- a/dev-python/pyscreenshot/pyscreenshot-3.0-r1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~arm64 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 3815a6ffc214..000000000000
--- a/dev-python/pyserial/pyserial-3.5-r1.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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 d9abb71faf82..e0d57a9d915f 100644
--- a/dev-python/pyside2-tools/Manifest
+++ b/dev-python/pyside2-tools/Manifest
@@ -1 +1 @@
-DIST pyside-setup-opensource-src-5.15.2.tar.xz 3472624 BLAKE2B 099abeaf25059a88f299f90b18cf79aa45acd86580c0873767b09f76268d6746cc3576743a19493a605de59b520471ddee6bba0e5340801ef44a21f2a9d41507 SHA512 5043c1c9db4ba0133baaabb4d4943182e9741b1007bedd992394758707a37bba0688dc6413ea46620e7c2fb09daa3c74e6a7bb2c302b9d08e5f3bb7575d02b62
+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 c03456561456..5ddb82c75a77 100644
--- a/dev-python/pyside2-tools/metadata.xml
+++ b/dev-python/pyside2-tools/metadata.xml
@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>fordfrog@gentoo.org</email>
- <name>Miroslav Å ulc</name>
+ <maintainer type="person" proxied="proxy">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>waebbl-gentoo@posteo.net</email>
+ <name>Bernd Waibel</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.2.ebuild b/dev-python/pyside2-tools/pyside2-tools-5.15.2.ebuild
deleted file mode 100644
index 10f20428593a..000000000000
--- a/dev-python/pyside2-tools/pyside2-tools-5.15.2.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# TODO: Add PyPy once officially supported. See also:
-# https://bugreports.qt.io/browse/PYSIDE-535
-PYTHON_COMPAT=( python3_{8..10} )
-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 d9abb71faf82..e0d57a9d915f 100644
--- a/dev-python/pyside2/Manifest
+++ b/dev-python/pyside2/Manifest
@@ -1 +1 @@
-DIST pyside-setup-opensource-src-5.15.2.tar.xz 3472624 BLAKE2B 099abeaf25059a88f299f90b18cf79aa45acd86580c0873767b09f76268d6746cc3576743a19493a605de59b520471ddee6bba0e5340801ef44a21f2a9d41507 SHA512 5043c1c9db4ba0133baaabb4d4943182e9741b1007bedd992394758707a37bba0688dc6413ea46620e7c2fb09daa3c74e6a7bb2c302b9d08e5f3bb7575d02b62
+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 6f1da8acacbb..174852886176 100644
--- a/dev-python/pyside2/metadata.xml
+++ b/dev-python/pyside2/metadata.xml
@@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="proxy">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>waebbl-gentoo@posteo.net</email>
+ <name>Bernd Waibel</name>
+ </maintainer>
<use>
<flag name="3d">Build Qt3DCore, Qt3DAnimation, Qt3DExtras, Qt3DInput, Qt3DLogic, and Qt3DRender modules</flag>
<flag name="charts">Build QtCharts module</flag>
@@ -18,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.2-r2.ebuild b/dev-python/pyside2/pyside2-5.15.2-r2.ebuild
deleted file mode 100644
index c18757c9ac57..000000000000
--- a/dev-python/pyside2/pyside2-5.15.2-r2.ebuild
+++ /dev/null
@@ -1,216 +0,0 @@
-# Copyright 1999-2022 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_{8..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.
-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-liner from within "${S}":
-# $ grep 'set.*_deps' PySide2/Qt*/CMakeLists.txt
-# Note that the "designer" USE flag corresponds to the "Qt5UiTools" module.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- 3d? ( gui network )
- charts? ( widgets )
- datavis? ( gui )
- designer? ( widgets xml )
- gles2-only? ( gui )
- help? ( widgets )
- location? ( positioning )
- multimedia? ( gui network )
- printsupport? ( widgets )
- qml? ( gui network )
- quick? ( qml )
- scripttools? ( gui script widgets )
- speech? ( multimedia )
- sql? ( widgets )
- svg? ( widgets )
- testlib? ( widgets )
- webengine? (
- location quick
- widgets? ( gui network printsupport 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:5=
- dev-qt/qtopengl:5=
- dev-qt/qtserialport:5=
- 3d? ( >=dev-qt/qt3d-${QT_PV}[qml?] )
- charts? ( >=dev-qt/qtcharts-${QT_PV}[qml?] )
- concurrent? ( >=dev-qt/qtconcurrent-${QT_PV} )
- datavis? ( >=dev-qt/qtdatavis3d-${QT_PV}[qml?] )
- 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?,widgets?] )
- network? ( >=dev-qt/qtnetwork-${QT_PV} )
- positioning? ( >=dev-qt/qtpositioning-${QT_PV}[qml?] )
- printsupport? ( >=dev-qt/qtprintsupport-${QT_PV} )
- qml? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
- script? ( >=dev-qt/qtscript-${QT_PV} )
- 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} )
- 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}/${P}-python310.patch"
- "${FILESDIR}/${P}-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_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
new file mode 100644
index 000000000000..be987c7433ba
--- /dev/null
+++ b/dev-python/pyside6-tools/Manifest
@@ -0,0 +1 @@
+DIST pyside-setup-everywhere-src-6.7.0.tar.xz 14382456 BLAKE2B 607e496cdeb7e55166b4f0dc15662a8792c7d8925856e8edbb927dfdc33342d158f430e3433d3d4a78ea33740e333fb2422ea1f4332408c3c6214f92d31bdd0d SHA512 7801d564d8d359edec431dc0e6f170538b9fc6f834cb7ab8eff41c1989bffb619c446d4d62d65db2a5b7592c0bff5d450d42de2797726658fe1a8f53df8a4c14
diff --git a/dev-python/pyside6-tools/metadata.xml b/dev-python/pyside6-tools/metadata.xml
new file mode 100644
index 000000000000..5ddb82c75a77
--- /dev/null
+++ b/dev-python/pyside6-tools/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" proxied="proxy">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>waebbl-gentoo@posteo.net</email>
+ <name>Bernd Waibel</name>
+ </maintainer>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..be987c7433ba
--- /dev/null
+++ b/dev-python/pyside6/Manifest
@@ -0,0 +1 @@
+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-no-strip.patch b/dev-python/pyside6/files/pyside6-6.3.1-no-strip.patch
new file mode 100644
index 000000000000..9f3a8c396f05
--- /dev/null
+++ b/dev-python/pyside6/files/pyside6-6.3.1-no-strip.patch
@@ -0,0 +1,26 @@
+diff --git a/libpyside/CMakeLists.txt b/libpyside/CMakeLists.txt
+index 0b2f7a0..31e41e8 100644
+--- a/libpyside/CMakeLists.txt
++++ b/libpyside/CMakeLists.txt
+@@ -123,8 +123,6 @@ endif()
+
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D QT_NO_CAST_FROM_ASCII -D QT_NO_CAST_TO_ASCII")
+
+-qfp_strip_library("pyside6")
+-
+ # create pkg-config file
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pyside6.pc.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/pyside6${pyside6_SUFFIX}.pc" @ONLY)
+diff --git a/libpysideqml/CMakeLists.txt b/libpysideqml/CMakeLists.txt
+index 42238c8..33bfce1 100644
+--- a/libpysideqml/CMakeLists.txt
++++ b/libpysideqml/CMakeLists.txt
+@@ -57,8 +57,6 @@ endif()
+
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D QT_NO_CAST_FROM_ASCII -D QT_NO_CAST_TO_ASCII")
+
+-qfp_strip_library("pyside6qml")
+-
+ # Install-tree / relocatable package config file.
+ configure_package_config_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/PySide6QmlConfig-spec.cmake.in"
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
new file mode 100644
index 000000000000..7e1f3a7d2bd5
--- /dev/null
+++ b/dev-python/pyside6/metadata.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="proxy">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>waebbl-gentoo@posteo.net</email>
+ <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>
+ <flag name="webchannel">Build QtWebChannel module</flag>
+ <flag name="webengine">Build QtWebEngine and QtWebEngineWidgets modules</flag>
+ <flag name="websockets">Build QtWebSockets module</flag>
+ <flag name="widgets">Build QtWidgets module</flag>
+ <flag name="xml">Build QtXml module</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">PySide6</remote-id>
+ </upstream>
+</pkgmetadata>
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 64c4b63fec80..225533075c79 100644
--- a/dev-python/pysimdjson/Manifest
+++ b/dev-python/pysimdjson/Manifest
@@ -1 +1 @@
-DIST pysimdjson-5.0.1.gh.tar.gz 3827732 BLAKE2B e42d3fd2ef857ab7c22a5afa6abc3313ff1ea0aabc8a6e8213df3eaef65eb3df501bbcdba2d0de501fdec310aba00c110a30814d548255401fa0b51ca7ee03d4 SHA512 4ace2feca976afdf113b92dd263918f88f7be32156ab6f3b6fe4b798d83bb7c66029bdd7e63fb1bb3bf6568e85b14ad227934114fa7e0da0961888cdfdca8943
+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/metadata.xml b/dev-python/pysimdjson/metadata.xml
index 07c10616edff..1d5122e2c352 100644
--- a/dev-python/pysimdjson/metadata.xml
+++ b/dev-python/pysimdjson/metadata.xml
@@ -11,5 +11,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">pysimdjson</remote-id>
+ <remote-id type="github">TkTech/pysimdjson</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pysimdjson/pysimdjson-5.0.1.ebuild b/dev-python/pysimdjson/pysimdjson-5.0.1.ebuild
deleted file mode 100644
index 16140f582754..000000000000
--- a/dev-python/pysimdjson/pysimdjson-5.0.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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 734599b5030f..000000000000
--- a/dev-python/pysmi/pysmi-0.3.4.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2017-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 04cf09d681c4..8a7c1e5cb927 100644
--- a/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.6.ebuild
+++ b/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.6.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..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 2e96456d58af..51959b8d4515 100644
--- a/dev-python/pysnmp/pysnmp-4.4.12-r2.ebuild
+++ b/dev-python/pysnmp/pysnmp-4.4.12-r2.ebuild
@@ -1,18 +1,17 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{8..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 88b3e2df97b6..000000000000
--- a/dev-python/pysol_cards/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST pysol_cards-0.12.0.tar.gz 21337 BLAKE2B 5d31dc32b7b968366b34481623d2c71ae29f54ff497028f4300e0448dbc27c4529c0524fd33793b84e1f03bcacba3629c8476bf589511a5bb8c56ce7ef7a8fc5 SHA512 c40bd7398e6cdd4d0c10f5c8ffaa2c0d274acafdfeb7d7bdbf36420a650157412e25d270c4e8c03ca2a9e07a9fdca97f14d0175773613eb76b447e05aff942e1
-DIST pysol_cards-0.14.2.tar.gz 18113 BLAKE2B 63704d97598927b600a8f34eb46565e8bf927bc27cd409579de6ac5f4b9154a881b1727c30a61381c169a267b313a4aabfe796a98341208ffb9a8327ca83ec71 SHA512 5e296819ebd6a874175c098b0000524defeb22456bdce961270ecfe26de48fb0d5f5b56eeb3457a12c51f72c9d90abdd35ebaf91244ceaa7d3034caff2b59386
diff --git a/dev-python/pysol_cards/pysol_cards-0.12.0.ebuild b/dev-python/pysol_cards/pysol_cards-0.12.0.ebuild
deleted file mode 100644
index 4e8459875dc3..000000000000
--- a/dev-python/pysol_cards/pysol_cards-0.12.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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/pbr[${PYTHON_USEDEP}]
- dev-python/random2[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="test? ( dev-python/oslotest[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests unittest
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 4df42d0b5f62..000000000000
--- a/dev-python/pysol_cards/pysol_cards-0.14.2.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
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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/pyspectrum2/Manifest b/dev-python/pyspectrum2/Manifest
index 805d7ac78469..5e212c74833d 100644
--- a/dev-python/pyspectrum2/Manifest
+++ b/dev-python/pyspectrum2/Manifest
@@ -1 +1 @@
-DIST pyspectrum2-0.2.0.tar.gz 31500 BLAKE2B 230329f9b1f12c7f7cff234b95d9715609cd0922c6c833726dfe72e7da0ba646e8d059d2f42d70fb97c8cb755436307369336551d44bf7954f2281f49d03ea6f SHA512 40c9f7dda808fd5bca05026b7418022b660d53b6ef52d684885ed04a47185ce2d1e2988bff5b874977c736bf5cf75f10f9daf752475504327844d4f1948f2286
+DIST pyspectrum2-0.2.0.gh.tar.gz 31500 BLAKE2B 230329f9b1f12c7f7cff234b95d9715609cd0922c6c833726dfe72e7da0ba646e8d059d2f42d70fb97c8cb755436307369336551d44bf7954f2281f49d03ea6f SHA512 40c9f7dda808fd5bca05026b7418022b660d53b6ef52d684885ed04a47185ce2d1e2988bff5b874977c736bf5cf75f10f9daf752475504327844d4f1948f2286
diff --git a/dev-python/pyspectrum2/pyspectrum2-0.2.0-r1.ebuild b/dev-python/pyspectrum2/pyspectrum2-0.2.0-r1.ebuild
deleted file mode 100644
index 47099a95ccdc..000000000000
--- a/dev-python/pyspectrum2/pyspectrum2-0.2.0-r1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_SETUPTOOLS="bdepend"
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Implements a protobuf-based interface for Spectrum2 python-based backends"
-HOMEPAGE="https://github.com/stv0g/pyspectrum2"
-SRC_URI="https://github.com/stv0g/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="dev-python/protobuf-python[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-
-python_install_all() {
- distutils-r1_python_install_all
-
- python_optimize
-}
diff --git a/dev-python/pyspectrum2/pyspectrum2-0.2.0-r2.ebuild b/dev-python/pyspectrum2/pyspectrum2-0.2.0-r2.ebuild
new file mode 100644
index 000000000000..1d14e5828659
--- /dev/null
+++ b/dev-python/pyspectrum2/pyspectrum2-0.2.0-r2.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
+
+DESCRIPTION="Implements a protobuf-based interface for Spectrum2 python-based backends"
+HOMEPAGE="https://github.com/stv0g/pyspectrum2"
+SRC_URI="https://github.com/stv0g/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="dev-python/protobuf-python[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ python_optimize
+}
diff --git a/dev-python/pyspelling/Manifest b/dev-python/pyspelling/Manifest
index 1d761802f7da..ce788e5aad75 100644
--- a/dev-python/pyspelling/Manifest
+++ b/dev-python/pyspelling/Manifest
@@ -1,2 +1 @@
-DIST pyspelling-2.7.3.tar.gz 151244 BLAKE2B bdfb40c6f39dc5adcc31691ef75b2582e78e8d0ed800ef0e263f8f98987ce3911650cb08085315c617c185e6ef183a11508fde4608349d0dad435b9f4fe1da98 SHA512 6903b620993933e80dfef320c0218c6372ee37f1db958b489d273aca24dd91bcc86fd12967848b8e31c2d7d458fb5fbfb521f41328c5955a1914f7d552ae7341
-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.7.3.ebuild b/dev-python/pyspelling/pyspelling-2.7.3.ebuild
deleted file mode 100644
index baecf3bf8bfd..000000000000
--- a/dev-python/pyspelling/pyspelling-2.7.3.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="
- ~dev-python/mkdocs_pymdownx_material_extras-1.1.3
- 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"
-SRC_URI="https://github.com/facelessuser/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~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/pyspelling/pyspelling-2.8.1.ebuild b/dev-python/pyspelling/pyspelling-2.8.1.ebuild
deleted file mode 100644
index f28ee2f060ea..000000000000
--- a/dev-python/pyspelling/pyspelling-2.8.1.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_{8..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 ~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 5f0f11fc4e83..1b466cea4b4c 100644
--- a/dev-python/pyspf/pyspf-2.0.14-r3.ebuild
+++ b/dev-python/pyspf/pyspf-2.0.14-r3.ebuild
@@ -1,21 +1,23 @@
-# 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_{8..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 3837973bb196..1778f3675e87 100644
--- a/dev-python/pyspnego/Manifest
+++ b/dev-python/pyspnego/Manifest
@@ -1,2 +1 @@
-DIST pyspnego-0.5.2.tar.gz 328222 BLAKE2B 7c811948d1d3890e2d03f4a532b9c0158195684b0cdee915811b1ee3bfa791b84632edb6d098562aa7b9f4c36eb00f244e249340b4de557999ec2a0f176ebd1e SHA512 805da232d138edaf4094614df0ebc4840f0c1b9deb9586026bffe0ec17d54553e4d3876ffc53d87b13687b741951a68334369f0f2475cf2f12359f072dc6a0c8
-DIST pyspnego-0.5.3.tar.gz 389939 BLAKE2B 236151d9d9f37137d46b06a99f037922563b4d43931288129492aa7173f166d24c3086297e30a0f05158773101df9868f88efffe00864b1bd5deb0a99a496b61 SHA512 41ca9f785a7dcc99818da351e0a020ffaed72d65cd67b0f19ad4a462a6a1fe739d040acec85052133a19aed06066dae9a9e8f0b469713b331f6ddc52cd3b4c0a
+DIST pyspnego-0.10.2.tar.gz 222036 BLAKE2B b46c5469e7f764342f1510d54ee307ec57c6d999d2beb013fdc18eb06d56d601b3f035f0a9d9f9f5a656719f19a345ee25ca8664084afac3dd42529ae53dcf4a SHA512 9d5b45a9c4c2c929269f5eceaa05fbe34571e518b289b165049ddb7fd2bb207c7e6074c45216ad0cdf20e4be7bfca2f3d497aba45e2aadceb0b75221edc54f5d
diff --git a/dev-python/pyspnego/metadata.xml b/dev-python/pyspnego/metadata.xml
index bd2c30b425b5..4f6197ee1acf 100644
--- a/dev-python/pyspnego/metadata.xml
+++ b/dev-python/pyspnego/metadata.xml
@@ -5,6 +5,8 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <!-- the C extension is built only on Windows -->
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">pyspnego</remote-id>
<remote-id type="github">jborean93/pyspnego</remote-id>
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.5.2.ebuild b/dev-python/pyspnego/pyspnego-0.5.2.ebuild
deleted file mode 100644
index b565e261d017..000000000000
--- a/dev-python/pyspnego/pyspnego-0.5.2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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="
- 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.5.3.ebuild b/dev-python/pyspnego/pyspnego-0.5.3.ebuild
deleted file mode 100644
index 6ce9adf021e2..000000000000
--- a/dev-python/pyspnego/pyspnego-0.5.3.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-# py3.11: https://github.com/jborean93/pyspnego/issues/42
-PYTHON_COMPAT=( python3_{8..10} )
-
-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="
- 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 93396acb27fd..b4b7d124685c 100644
--- a/dev-python/pysrt/pysrt-1.1.2-r1.ebuild
+++ b/dev-python/pysrt/pysrt-1.1.2-r1.ebuild
@@ -1,25 +1,37 @@
-# 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=( pypy3 python3_{8..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 d7d904f7615e..122ca75948b9 100644
--- a/dev-python/pysrt/pysrt-9999.ebuild
+++ b/dev-python/pysrt/pysrt-9999.ebuild
@@ -1,25 +1,31 @@
-# 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=( pypy3 python3_{8..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 f75fabc9293b..e38962d4433d 100644
--- a/dev-python/pystache/Manifest
+++ b/dev-python/pystache/Manifest
@@ -1 +1 @@
-DIST pystache-0.6.0.tar.gz 78240 BLAKE2B b3ba14090f7969b7d3bd77f6e23bda8007fbf6f750e008585676f48bb1a4bfc520484b2205225477f2d2d625b0d6c1500d875685fa50f87c11b19589b0d45622 SHA512 802e12795c3ae08fbde37c9e266a60478d46d55a42e2fc339389b664edf3c5ebb2e34069546b820789ad48ed9921f4a2b89f82bb37e72e94846eec0a9ba1568c
+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 9095fcbce41f..9431f9ea7234 100644
--- a/dev-python/pystache/metadata.xml
+++ b/dev-python/pystache/metadata.xml
@@ -1,12 +1,17 @@
<?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>
-<upstream>
- <remote-id type="github">PennyDreadfulMTG/pystache</remote-id>
- <remote-id type="pypi">pystache</remote-id>
-</upstream>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription lang="en">
+ Updated Python implementation of Mustache, a framework-agnostic and
+ logic-free templating system supporting both Markdown and rSt.
+ </longdescription>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">PennyDreadfulMTG/pystache</remote-id>
+ <remote-id type="pypi">pystache</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/pystache/pystache-0.6.0.ebuild b/dev-python/pystache/pystache-0.6.0.ebuild
deleted file mode 100644
index df23e888f31c..000000000000
--- a/dev-python/pystache/pystache-0.6.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..10} )
-DISTUTILS_USE_SETUPTOOLS="pyproject.toml"
-
-inherit distutils-r1
-
-DESCRIPTION="Updated Python implementation of Mustache templating framework"
-HOMEPAGE="https://github.com/PennyDreadfulMTG/pystache"
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/PennyDreadfulMTG/pystache.git"
- EGIT_BRANCH="master"
- inherit git-r3
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="test"
-
-BDEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
-"
-
-RDEPEND="${PYTHON_DEPS}"
-
-RESTRICT="!test? ( test )"
-
-python_test() {
- distutils_install_for_testing
- 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 73ebbf35f1ea..a4d2126bf0cb 100644
--- a/dev-python/pysvg/pysvg-0.2.2_p3-r1.ebuild
+++ b/dev-python/pysvg/pysvg-0.2.2_p3-r1.ebuild
@@ -1,20 +1,17 @@
-# 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_{8..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 80ed5fc49c1c..38dbec166f84 100644
--- a/dev-python/pysvn/Manifest
+++ b/dev-python/pysvn/Manifest
@@ -1 +1,2 @@
-DIST pysvn-1.9.15.tar.gz 667161 BLAKE2B 35e9e0967d5c0b4cebf546e40df17b66c66406d0f8100c32e6e840220f60b0083c0ed3f3af5f54e2264d06905ea90970d6b7cbfad2bab872a14d5d4aea5900df SHA512 0809507134fd31f6bcc90217e7840eb166e2eb2ed56316010a549dd70f6f855599f596942574343cdefd5997947b12c847df2cd145669f50aa93f603e46a5ee0
+DIST pysvn-1.9.18.tar.gz 667827 BLAKE2B cd32b4ec55118becd496a9aab6f4dd2b9d57c82e12d5a08b18d36d0caffbafe7066ff45c9493a36499979e759d38dd6b15a68e7bb5819464362c2691e7599160 SHA512 0ca2924223cdc5f29e961e879db6b0f88e82b5c4c40df50169468dd5a72cbccddea9f0d1680ef4a54d45e89b4b2b2c3c22f5e76c66196783a89cac8b583b6623
+DIST pysvn-1.9.22.tar.gz 669169 BLAKE2B b6f5e2aedd902daa29d5e634263e21de134b73f72e17bb9363f415ac0696063457579af8778c72ca9852b5ee33142250d6a46700181b11ec2ec0a4e90db60525 SHA512 68b4fdb8a5de7cd0fb868ef56ac4d17938561a7f2c37db4089a3a2f4fc256043c80d7331befc013e6141be70722c843665c59c36d455e372ecb3ecc4587cba41
diff --git a/dev-python/pysvn/files/pysvn-1.9.18-tests-3.11.patch b/dev-python/pysvn/files/pysvn-1.9.18-tests-3.11.patch
new file mode 100644
index 000000000000..06a0bec16720
--- /dev/null
+++ b/dev-python/pysvn/files/pysvn-1.9.18-tests-3.11.patch
@@ -0,0 +1,33 @@
+From 0f4a2071dfeb90357a3eba947d6dd7cc879675ce Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Tue, 29 Nov 2022 01:08:49 +0100
+Subject: [PATCH] Examples/Client/svn_cmd.py: Stop DeprecationWarning from
+ breaking tests with Python 3.11
+
+---
+ Examples/Client/svn_cmd.py | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/Examples/Client/svn_cmd.py b/Examples/Client/svn_cmd.py
+index 42e4c87..b8ef4ff 100644
+--- a/Examples/Client/svn_cmd.py
++++ b/Examples/Client/svn_cmd.py
+@@ -72,7 +72,14 @@ def initLocale():
+ locale.setlocale( locale.LC_ALL, '' )
+
+ else:
+- language_code, encoding = locale.getdefaultlocale()
++ import warnings
++
++ with warnings.catch_warnings():
++ if sys.version_info >= (3, 11):
++ warnings.filterwarnings("ignore", category=DeprecationWarning)
++
++ language_code, encoding = locale.getdefaultlocale()
++
+ if language_code is None:
+ language_code = 'en_GB'
+
+--
+2.38.1
+
diff --git a/dev-python/pysvn/metadata.xml b/dev-python/pysvn/metadata.xml
index 115e9d64a669..70d926f79d7e 100644
--- a/dev-python/pysvn/metadata.xml
+++ b/dev-python/pysvn/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="sourceforge">pysvn</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/pysvn/pysvn-1.9.15-r1.ebuild b/dev-python/pysvn/pysvn-1.9.15-r1.ebuild
deleted file mode 100644
index d24d0cde9d51..000000000000
--- a/dev-python/pysvn/pysvn-1.9.15-r1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_IN_SOURCE_BUILD=true
-DISTUTILS_USE_SETUPTOOLS=bdepend # see setup.py
-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 ~x86-solaris"
-IUSE="doc examples"
-
-DEPEND="
- >=dev-python/pycxx-7.0.2[${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/pysvn/pysvn-1.9.18.ebuild b/dev-python/pysvn/pysvn-1.9.18.ebuild
new file mode 100644
index 000000000000..c658b7e404a0
--- /dev/null
+++ b/dev-python/pysvn/pysvn-1.9.18.ebuild
@@ -0,0 +1,66 @@
+# 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 toolchain-funcs
+
+DESCRIPTION="Object-oriented python bindings for subversion"
+HOMEPAGE="https://pysvn.sourceforge.io/"
+SRC_URI="https://downloads.sourceforge.net/project/pysvn/pysvn/V${PV}/${P}.tar.gz"
+
+LICENSE="Apache-1.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc examples"
+
+DEPEND="
+ >=dev-python/pycxx-7.0.2[${PYTHON_USEDEP}]
+ >=dev-vcs/subversion-1.9"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.9.18-tests-3.11.patch
+)
+
+python_prepare_all() {
+ # Don't use internal copy of dev-python/pycxx.
+ rm -r Import || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ cd Source || die
+ CC="$(tc-getCC)" CCC="$(tc-getCXX)" \
+ esetup.py configure
+}
+
+python_compile() {
+ cd Source || die
+ emake
+}
+
+python_test() {
+ cd Tests || die
+ emake
+}
+
+python_install() {
+ cd Source || die
+ python_domodule pysvn
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( Docs/. )
+ if use examples; then
+ docinto examples
+ dodoc -r Examples/Client/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pysvn/pysvn-1.9.22.ebuild b/dev-python/pysvn/pysvn-1.9.22.ebuild
new file mode 100644
index 000000000000..6e6d1762769f
--- /dev/null
+++ b/dev-python/pysvn/pysvn-1.9.22.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 toolchain-funcs
+
+DESCRIPTION="Object-oriented python bindings for subversion"
+HOMEPAGE="https://pysvn.sourceforge.io/"
+SRC_URI="https://downloads.sourceforge.net/project/pysvn/pysvn/V${PV}/${P}.tar.gz"
+
+LICENSE="Apache-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc examples"
+
+DEPEND="
+ >=dev-python/pycxx-7.1.8[${PYTHON_USEDEP}]
+ >=dev-vcs/subversion-1.9"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ # Don't use internal copy of dev-python/pycxx.
+ rm -r Import || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ cd Source || die
+ CC="$(tc-getCC)" CCC="$(tc-getCXX)" \
+ esetup.py configure
+}
+
+python_compile() {
+ cd Source || die
+ emake
+}
+
+python_test() {
+ cd Tests || die
+ emake
+}
+
+python_install() {
+ cd Source || die
+ python_domodule pysvn
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( Docs/. )
+ if use examples; then
+ docinto examples
+ dodoc -r Examples/Client/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pytables/Manifest b/dev-python/pytables/Manifest
deleted file mode 100644
index c456f554b2d0..000000000000
--- a/dev-python/pytables/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tables-3.7.0.tar.gz 8227955 BLAKE2B 0d5b7b765375c4787f1210138e5fd02e3c0ce429ef209a3a8d4fd3bc094f68486ab6f4d0a960ce86efea6991ed691ef2a3e9e8f37a49fe91cb8d6372cadea80e SHA512 eaa368d063b5fad87e6d0f9ab6f02da0b2a3542740a52fe8c2bb58e41121495d07b6d2710ad402a28891294aa61a11238c6a7e2cf2933a1bb11391b79cf4fd13
diff --git a/dev-python/pytables/metadata.xml b/dev-python/pytables/metadata.xml
deleted file mode 100644
index 3af01dfc8912..000000000000
--- a/dev-python/pytables/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="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="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 60bf3a743b83..000000000000
--- a/dev-python/pytables/pytables-3.7.0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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/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 fa7fea362e6b..000000000000
--- a/dev-python/pyte/pyte-0.8.1.ebuild
+++ /dev/null
@@ -1,33 +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_{8..10} )
-
-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 4fa1103fcf5a..000000000000
--- a/dev-python/pytesseract/pytesseract-0.3.10.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 d009d00e3de7..000000000000
--- a/dev-python/pytest-aiohttp/pytest-aiohttp-1.0.4.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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 2681e081323d..607d9e7c19a0 100644
--- a/dev-python/pytest-asyncio/Manifest
+++ b/dev-python/pytest-asyncio/Manifest
@@ -1,2 +1 @@
-DIST pytest-asyncio-0.18.3.tar.gz 25049 BLAKE2B 5439675fd03b7fdd4cd3dbf1f37daa83d6b18b199ccc7b54acc648187dffcf59154f8f0ec5d4144ed40554290343a0890952e67d4184b17b0a3817196592023e SHA512 04d2046c039131598cb593afc1908be0dff2b24a91c89f36fca75d2d65916571e48fe149c1ba90244f299586277320cf6f130a02824fde9ee0a4d2429bf58a54
-DIST pytest-asyncio-0.19.0.gh.tar.gz 25754 BLAKE2B ee1e028021d7adaeef77e9dc9c1cc0d1a8fe5ee91777b2774d8f175e7520f7f1ae6d058d758964a052d2fc02d369a9dcb522edf8271b54b9b724555222592e29 SHA512 7be87e6edd28496713ae5cca396fed67d372f2882dd573a8b72a84ebf6d262060cda9372bcde601130c42fc27faf15cf292cd820995ea93a324c209f203e823f
+DIST pytest-asyncio-0.23.6.tar.gz 46203 BLAKE2B 37dd3cafa2c77b0dd04a6f406e9e83705b31a98eb058fef02ad6d917cb291874dac0388a129bce5d80954fe8dd0a28fbe9e2b94dabc2ff59a1a055154b908cce SHA512 24ec7fef2f1db744c743c4da651106320d02e8a83af0a238f6335ef669751e541b7fa787fd007fd7208f1837c1cb684acdecd66ee5e022501a7aad97649fdfbe
diff --git a/dev-python/pytest-asyncio/pytest-asyncio-0.18.3.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-0.18.3.ebuild
deleted file mode 100644
index 646385195afb..000000000000
--- a/dev-python/pytest-asyncio/pytest-asyncio-0.18.3.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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}.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/modes/test_legacy_mode.py
- tests/trio/test_fixtures.py::test_strict_mode_ignores_trio_fixtures
-)
diff --git a/dev-python/pytest-asyncio/pytest-asyncio-0.19.0.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-0.19.0.ebuild
deleted file mode 100644
index b35be0f8f03e..000000000000
--- a/dev-python/pytest-asyncio/pytest-asyncio-0.19.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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/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 d15d7edff11a..9e28e80cea5b 100644
--- a/dev-python/pytest-bdd/Manifest
+++ b/dev-python/pytest-bdd/Manifest
@@ -1,2 +1 @@
-DIST pytest-bdd-5.0.0.gh.tar.gz 61174 BLAKE2B 6dd1d53614226d3515b0f61f71822363b559aa45789bab7f3416c75e603e87a1fe48627f36862f44bfa7ac6ec5023ad8afde6054ec67fc9a2e756be7de729fd1 SHA512 827e57d410b05207b6c646062ddb54b677e22441311820d3bd406df202b6e9344dedf59cd4868e89cfbf8606fe3f15559e4cc3958d100e4fa74f9b864e6faada
-DIST pytest-bdd-6.0.1.gh.tar.gz 60932 BLAKE2B 67e0dbc251ce94da40033641f37e6c9ad70ca947f71db1a78907a6890d96d8d3112d57a2a63dda526c8f846010d39a575cb5d93a102f4653705d4229ee14ab07 SHA512 30bc697ae177e3f311af0c781e99bde5b491dfef28109359c0d80f33feb8b0b170ffe15c288fe73a624144a1d1c3223b220d591b4acc30d1ad53600482bef87d
+DIST pytest-bdd-7.1.2.gh.tar.gz 81260 BLAKE2B 5120a79a5c085976f379afbd4ae7bc68c0d07a8517b6653bb2c94407b9964cd3adcfc92e8abc31cb658caa5c108e0590913c13cbcc408021841b91dbf52b8124 SHA512 7630b119649502e36d7ae2b6027c11b667513eab451511104076617e50de1456ee4b2ff128254ac0db630556258704e21e2a5e73ce9afc20ed403d0186c0a226
diff --git a/dev-python/pytest-bdd/pytest-bdd-5.0.0-r1.ebuild b/dev-python/pytest-bdd/pytest-bdd-5.0.0-r1.ebuild
deleted file mode 100644
index edc44c97450b..000000000000
--- a/dev-python/pytest-bdd/pytest-bdd-5.0.0-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="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/glob2[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- dev-python/parse[${PYTHON_USEDEP}]
- dev-python/parse_type[${PYTHON_USEDEP}]
- dev-python/py[${PYTHON_USEDEP}]"
-BDEPEND="dev-python/packaging[${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-6.0.1.ebuild b/dev-python/pytest-bdd/pytest-bdd-6.0.1.ebuild
deleted file mode 100644
index 7682168ff49b..000000000000
--- a/dev-python/pytest-bdd/pytest-bdd-6.0.1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="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/glob2[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- dev-python/parse[${PYTHON_USEDEP}]
- dev-python/parse_type[${PYTHON_USEDEP}]
- dev-python/py[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/packaging[${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 cecdf0eb86a2..70bfe4e5dd87 100644
--- a/dev-python/pytest-check/Manifest
+++ b/dev-python/pytest-check/Manifest
@@ -1 +1 @@
-DIST pytest-check-1.0.5.gh.tar.gz 10296 BLAKE2B 8eac4185e223736181e9465c8d4220874553d9e12d068069b40e7a1ea150c93d533facc8b3483649eb00da9a2286544c58e2c530138f830155466e3bb71aeedc SHA512 73c42c98639bf3026e62f5c2c9ce404ddbd4711afa1ff31d207886329a45cfc1c0f263dd3321a9b203b9b68cad87f76bbff61894ed7a67d0bd26e7d0d20ede21
+DIST pytest_check-2.3.1.tar.gz 28674 BLAKE2B 732538aec690d121132a0594a49b77658eb8be79d6e59bacae1d13ea38e59dd3e4b55c62fc07741e08621dda271d7d2284f825770a2acef7d5b0c80c80e79beb SHA512 b4a2805b7dc3dfe9f56db6f27a9e4927de070d57bf3906f303c611021081d7b638d9ee58de744491005e10541f527f1bfddaf51be64f2def8a1190cfd1abd43a
diff --git a/dev-python/pytest-check/metadata.xml b/dev-python/pytest-check/metadata.xml
index 5db435fa7f11..5d7827d9d2b4 100644
--- a/dev-python/pytest-check/metadata.xml
+++ b/dev-python/pytest-check/metadata.xml
@@ -12,6 +12,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="github">okken/pytest-check</remote-id>
- <remote-id type="pypi">pytest_check</remote-id>
+ <remote-id type="pypi">pytest-check</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytest-check/pytest-check-1.0.5.ebuild b/dev-python/pytest-check/pytest-check-1.0.5.ebuild
deleted file mode 100644
index ea988a8d67e3..000000000000
--- a/dev-python/pytest-check/pytest-check-1.0.5.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..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="
- https://github.com/okken/pytest-check/archive/${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/pytest-6[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # Fix expecting result in case pytest throws deprecation warnings
- sed -e '/fnmatch_lines/s/\* /\*/g' \
- -e '/fnmatch_lines/s/ \*/\*/g' \
- -i tests/test_check.py || die
-
- distutils-r1_src_prepare
-}
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 eee40482f02e..000000000000
--- a/dev-python/pytest-codeblocks/pytest-codeblocks-0.16.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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 4fd00d677528..000000000000
--- a/dev-python/pytest-console-scripts/pytest-console-scripts-1.3.1.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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 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 3099cb0090e6..5e6613bf2053 100644
--- a/dev-python/pytest-cov/Manifest
+++ b/dev-python/pytest-cov/Manifest
@@ -1 +1 @@
-DIST pytest-cov-3.0.0.tar.gz 61440 BLAKE2B 85f0b079c4c373191553271e34e78af68ac69ea53e3721aa0d43eb9dd55be935570eb15c0f8b954e4c0de6201c004ddef435ea70b03cfda893ecdcc230c283e7 SHA512 289d1b1e29dcc3461276de4c1bbd3884e4ec957efb7dd4c330bc3f25f1b978cbee64c0e2882b419eee5f9ccf44c9d1a23ce47a1b7cc7e436b9ebe894e4c11ae8
+DIST pytest-cov-5.0.0.tar.gz 63042 BLAKE2B 6a0f3b38bbf6ae8843d804d078b3879e76ef146ba1bee2eb068bffe560332984994a8405964be185b2ededc2c8231288e609573c5a83143147eeb537659da1e5 SHA512 384459cafdb800711b935899acc3716f5fcbc28b40be0e168e58333603b1dea474bbd7a92f09b6afbe2f9dc1ce8599668a787c0f93884c263af894f44311a4a6
diff --git a/dev-python/pytest-cov/files/pytest-cov-3.0.0-coverage-6.2.patch b/dev-python/pytest-cov/files/pytest-cov-3.0.0-coverage-6.2.patch
deleted file mode 100644
index b44326d8b60d..000000000000
--- a/dev-python/pytest-cov/files/pytest-cov-3.0.0-coverage-6.2.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 6d06678a76d9275beb48917d7653ea6a610c7717 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 23 Jan 2022 15:03:35 +0100
-Subject: [PATCH] Update test_invalid_coverage_source for coverage-6.2
-
-Update test_invalid_coverage_source to make the "No data was collected"
-less strict, as the output has changed in coverage-6.2. This solution
-was suggested by Tom Callaway (@spotrh) on the linked bug.
-
-Fixes #509
----
- tests/test_pytest_cov.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/test_pytest_cov.py b/tests/test_pytest_cov.py
-index f93d352..6d97949 100644
---- a/tests/test_pytest_cov.py
-+++ b/tests/test_pytest_cov.py
-@@ -981,7 +981,7 @@ def test_invalid_coverage_source(testdir):
- '*10 passed*'
- ])
- result.stderr.fnmatch_lines([
-- 'Coverage.py warning: No data was collected.*'
-+ '*No data was collected.*'
- ])
- result.stdout.fnmatch_lines([
- '*Failed to generate report: No data to report.',
---
-2.34.1
-
diff --git a/dev-python/pytest-cov/files/pytest-cov-4.0.0-pytest-xdist-2.5.0.patch b/dev-python/pytest-cov/files/pytest-cov-4.0.0-pytest-xdist-2.5.0.patch
new file mode 100644
index 000000000000..6ed3456597cf
--- /dev/null
+++ b/dev-python/pytest-cov/files/pytest-cov-4.0.0-pytest-xdist-2.5.0.patch
@@ -0,0 +1,21 @@
+https://github.com/pytest-dev/pytest-cov/issues/566
+https://github.com/pytest-dev/pytest-cov/pull/565
+
+From 97483386bde4febe7ff48726f887cc6423d308b9 Mon Sep 17 00:00:00 2001
+From: Chedi <chedi.toueiti@gmail.com>
+Date: Tue, 15 Nov 2022 11:18:31 +0100
+Subject: [PATCH] disabling boxed test if version xdist newer than 2.5.0
+
+--- a/tests/test_pytest_cov.py
++++ b/tests/test_pytest_cov.py
+@@ -1555,7 +1555,8 @@ def test_foo():
+
+ SCRIPT_SIMPLE_RESULT = '4 * 100%'
+
+-
++@pytest.mark.skipif('tuple(map(int, xdist.__version__.split("."))) >= (2, 5, 0)',
++ reason="--boxed option was removed in version 2.5.0")
+ @pytest.mark.skipif('sys.platform == "win32"')
+ def test_dist_boxed(testdir):
+ script = testdir.makepyfile(SCRIPT_SIMPLE)
+
diff --git a/dev-python/pytest-cov/pytest-cov-3.0.0-r1.ebuild b/dev-python/pytest-cov/pytest-cov-3.0.0-r1.ebuild
deleted file mode 100644
index 8a3e060d831e..000000000000
--- a/dev-python/pytest-cov/pytest-cov-3.0.0-r1.ebuild
+++ /dev/null
@@ -1,60 +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_{8..10} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="py.test 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-4.4[${PYTHON_USEDEP}]
- dev-python/toml[${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}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx-py3doc-enhanced-theme
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/pytest-dev/pytest-cov/pull/518
- "${FILESDIR}"/${P}-coverage-6.2.patch
-)
-
-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: why do we need to do that?!
- # https://github.com/pytest-dev/pytest-cov/issues/517
- ln -s "${BROOT}$(python_get_sitedir)/coverage" \
- "${BUILD_DIR}/install$(python_get_sitedir)/coverage" || die
-
- epytest -x
-
- 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..de6c485544e4
--- /dev/null
+++ b/dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.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
+
+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 ae3460d06b15..b311b359dfa3 100644
--- a/dev-python/pytest-datadir/Manifest
+++ b/dev-python/pytest-datadir/Manifest
@@ -1 +1 @@
-DIST pytest-datadir-1.3.1.tar.gz 15230 BLAKE2B 72c5daaeb93315be55ae052d39a22eee4e64a1aaafa344ae64b527eebd137dc4667cee2f60af887551f00814d7ea4e5788097d0f59f7769335545c5083aef356 SHA512 2ab035ea4e6c4eaaead746a5fd3988feed31a314f73e18270faf4ae606521aa045f3d6c5e1301adcb87f8fd5b1ba5f3f1784f212ad778707ba46ad638d594f8c
+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 c25270b08024..e6acb63c0415 100644
--- a/dev-python/pytest-datadir/metadata.xml
+++ b/dev-python/pytest-datadir/metadata.xml
@@ -1,12 +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 type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">gabrielcnr/pytest-datadir</remote-id>
<remote-id type="pypi">pytest-datadir</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytest-datadir/pytest-datadir-1.3.1-r1.ebuild b/dev-python/pytest-datadir/pytest-datadir-1.3.1-r1.ebuild
deleted file mode 100644
index 29016d5497a1..000000000000
--- a/dev-python/pytest-datadir/pytest-datadir-1.3.1-r1.ebuild
+++ /dev/null
@@ -1,33 +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_{8..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 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/pytest[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # Do not install license to /usr
- sed -e '/data_files/d' -i setup.py || die
-
- distutils-r1_src_prepare
-}
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 36550c410a31..000000000000
--- a/dev-python/pytest-describe/pytest-describe-2.0.1-r1.ebuild
+++ /dev/null
@@ -1,27 +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_{8..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}]"
-
-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/pytest-django-4.5.2.ebuild b/dev-python/pytest-django/pytest-django-4.5.2.ebuild
deleted file mode 100644
index c8c2f52aae18..000000000000
--- a/dev-python/pytest-django/pytest-django-4.5.2.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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}]
- )
-"
-
-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..982749bce773
--- /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="~alpha 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 217812163a3a..15b015fec5c5 100644
--- a/dev-python/pytest-env/Manifest
+++ b/dev-python/pytest-env/Manifest
@@ -1 +1 @@
-DIST pytest-env-0.6.2.tar.gz 1693 BLAKE2B b303b8b2b486cd5f6c6273fefe709e3986183a56b6758b05f8bde973c561ebba9646538d38783749305740d8bd637966966a109fcd600cd6f6ee059449ffb328 SHA512 0b3bb21fc881023c102b584593c6e28840400ce8190810f33f9a421df4141e17dcfad2943c4159aaab82376b7b47b07b45f97c9cb232a7d17c4d35b55966596d
+DIST pytest_env-1.1.3.tar.gz 8627 BLAKE2B 04aee8a84b2224ce1f0bb018d0d5a8f8542d32aa3e3da0ed03afdace2562b1643f712152128f7d673e118a4db9ab10c7440f44728ba774519ceb989b4c9be7f2 SHA512 c38371a272987757774bed6b566b55ba2304ca37e69f3f5671fb03735bbdfe5e51c3b03cd885d6bdbd73496daa95a57d79e03bf5d9171f0e9c5c0ae38492b304
diff --git a/dev-python/pytest-env/metadata.xml b/dev-python/pytest-env/metadata.xml
index ccf6121fada8..8995e4d03d6e 100644
--- a/dev-python/pytest-env/metadata.xml
+++ b/dev-python/pytest-env/metadata.xml
@@ -5,9 +5,13 @@
<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">MobileDynasty/pytest-env</remote-id>
+ <remote-id type="github">pytest-dev/pytest-env</remote-id>
<remote-id type="pypi">pytest-env</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytest-env/pytest-env-0.6.2-r1.ebuild b/dev-python/pytest-env/pytest-env-0.6.2-r1.ebuild
deleted file mode 100644
index cf52e35eb739..000000000000
--- a/dev-python/pytest-env/pytest-env-0.6.2-r1.ebuild
+++ /dev/null
@@ -1,18 +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_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="py.test plugin that allows you to add environment variables"
-HOMEPAGE="https://github.com/MobileDynasty/pytest-env"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ~ppc ~ppc64 x86"
-
-RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]"
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 07363a9f05ba..3ac1fb105815 100644
--- a/dev-python/pytest-expect/pytest-expect-1.1.0-r2.ebuild
+++ b/dev-python/pytest-expect/pytest-expect-1.1.0-r2.ebuild
@@ -1,19 +1,19 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} 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-faulthandler/pytest-faulthandler-2.0.1-r1.ebuild b/dev-python/pytest-faulthandler/pytest-faulthandler-2.0.1-r1.ebuild
index c79a0fbd6927..16aec70381d8 100644
--- a/dev-python/pytest-faulthandler/pytest-faulthandler-2.0.1-r1.ebuild
+++ b/dev-python/pytest-faulthandler/pytest-faulthandler-2.0.1-r1.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_{8..11} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
DESCRIPTION="Pytest plugin that activates the fault handler module for tests"
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 040b3f90b5c2..000000000000
--- a/dev-python/pytest-fixture-config/pytest-fixture-config-1.7.0-r2.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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 0d35bcd89a9e..000000000000
--- a/dev-python/pytest-flake8/pytest-flake8-1.1.1.ebuild
+++ /dev/null
@@ -1,30 +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_{8..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 0487631e4714..000000000000
--- a/dev-python/pytest-forked/pytest-forked-1.4.0-r1.ebuild
+++ /dev/null
@@ -1,36 +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_{8..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 ff9821ed2e2e..a217130f6f15 100644
--- a/dev-python/pytest-freezegun/pytest-freezegun-0.4.2-r1.ebuild
+++ b/dev-python/pytest-freezegun/pytest-freezegun-0.4.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2022 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{8..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
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..7921711da6df
--- /dev/null
+++ b/dev-python/pytest-freezer/pytest-freezer-0.4.8.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
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+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
new file mode 100644
index 000000000000..1adf6a3da22b
--- /dev/null
+++ b/dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Provides a helpers pytest namespace"
+HOMEPAGE="
+ https://github.com/saltstack/pytest-helpers-namespace/
+ https://pypi.org/project/pytest-helpers-namespace/
+"
+SRC_URI="
+ https://github.com/saltstack/${PN}/archive/v${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}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-forked[${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=pytest_helpers_namespace.plugin
+ epytest -p pytest_forked --forked
+}
diff --git a/dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29.ebuild b/dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29.ebuild
deleted file mode 100644
index 83122e6a1198..000000000000
--- a/dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29.ebuild
+++ /dev/null
@@ -1,44 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Provides a helpers pytest namespace"
-HOMEPAGE="
- https://github.com/saltstack/pytest-helpers-namespace/
- https://pypi.org/project/pytest-helpers-namespace/
-"
-SRC_URI="
- https://github.com/saltstack/${PN}/archive/v${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}]
-"
-BDEPEND="
- dev-python/setuptools-declarative-requirements[${PYTHON_USEDEP}]
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-forked[${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=pytest_helpers_namespace.plugin
- epytest -p pytest_forked --forked
-}
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..ca1706d3ac3b
--- /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 ~loong ~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-html/Manifest b/dev-python/pytest-html/Manifest
deleted file mode 100644
index bb1aa54b81ca..000000000000
--- a/dev-python/pytest-html/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytest-html-3.1.1.tar.gz 38548 BLAKE2B d2491280ceb4524a10a46891448bb63fe997a4be82062e727fb1d79ef6154a0b4229bbec27c6601372776f7c8dd124aab5d4968482fc24ad24330db5d2520187 SHA512 78091b485d153b54cd76abb8cfeb6494830b1b51a10dc0c00c73eccf67962d2805e3f83972c7ccfd1f877a939b582f80d5ddd5273fd1ddcac2a1a9c2eb121300
diff --git a/dev-python/pytest-html/metadata.xml b/dev-python/pytest-html/metadata.xml
deleted file mode 100644
index 177f435f2933..000000000000
--- a/dev-python/pytest-html/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>
- <upstream>
- <remote-id type="pypi">pytest-html</remote-id>
- <remote-id type="github">pytest-dev/pytest-html</remote-id>
- </upstream>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-python/pytest-html/pytest-html-3.1.1.ebuild b/dev-python/pytest-html/pytest-html-3.1.1.ebuild
deleted file mode 100644
index bc639d3dfc4e..000000000000
--- a/dev-python/pytest-html/pytest-html-3.1.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Plugin for generating HTML reports for py.test results"
-HOMEPAGE="https://github.com/pytest-dev/pytest-html/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
-
-# Lots of test failures...
-RESTRICT="test"
-
-RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-metadata[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/setuptools_scm[${PYTHON_USEDEP}]"
-
-python_test() {
- PYTHONPATH=${PWD}${PYTHONPATH:+:}${PYTHONPATH} \
- py.test -v -r a testing/test_pytest_html.py || die
-}
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 6a0722e3c494..000000000000
--- a/dev-python/pytest-httpbin/pytest-httpbin-1.0.2.ebuild
+++ /dev/null
@@ -1,43 +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_{8..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 8313fde4cc50..65f1b1bee3dd 100644
--- a/dev-python/pytest-httpserver/Manifest
+++ b/dev-python/pytest-httpserver/Manifest
@@ -1,2 +1 @@
-DIST pytest-httpserver-1.0.4.gh.tar.gz 78911 BLAKE2B 425f72438797b55a84662f580dd9bfc1d6dd8a0513587e72b6e1de7e669eee75c777fdd6c2cfcbc92273737dd47568b48a22f12e8a40952f82a599f30705a604 SHA512 e80754910117736fd172d7bd5e5fc41721fab8adc705b72f0ee4cd866c878ed267ad3819645fd567e3af2c9e53deecb3749f1a873d72ff9e234c4fdd7f7cabea
-DIST pytest-httpserver-1.0.5.gh.tar.gz 80395 BLAKE2B 68c075032c57f25854d390f73bf61b7efbe18f78d7f0b2a2a3be10d586ca9cc3ce4a1b390a2ba0da1e88558513782388069c419dae4908a0581e8d583f452bee SHA512 8275475bb044d54769e906571520fafbb9f6fa32fc003f4a00f72b9ff9930e4b80ee84564df1521569cc2a15f5d371c6315129263bc167d0621141004d509a25
+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.4-r2.ebuild b/dev-python/pytest-httpserver/pytest-httpserver-1.0.4-r2.ebuild
deleted file mode 100644
index c978183c74f7..000000000000
--- a/dev-python/pytest-httpserver/pytest-httpserver-1.0.4-r2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="HTTP server for pytest to test HTTP clients"
-HOMEPAGE="https://github.com/csernazs/pytest-httpserver"
-SRC_URI="https://github.com/csernazs/pytest-httpserver/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="dev-python/werkzeug[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/requests[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -i -e '/^include = \[/,/\]/d' pyproject.toml || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest -p no:localserver
-}
diff --git a/dev-python/pytest-httpserver/pytest-httpserver-1.0.5.ebuild b/dev-python/pytest-httpserver/pytest-httpserver-1.0.5.ebuild
deleted file mode 100644
index 38988531c5f2..000000000000
--- a/dev-python/pytest-httpserver/pytest-httpserver-1.0.5.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="HTTP server for pytest to test HTTP clients"
-HOMEPAGE="https://github.com/csernazs/pytest-httpserver"
-SRC_URI="
- https://github.com/csernazs/pytest-httpserver/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-python/werkzeug[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/requests[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -i -e '/^include = \[/,/\]/d' pyproject.toml || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest -p no:localserver
-}
diff --git a/dev-python/pytest-httpx/Manifest b/dev-python/pytest-httpx/Manifest
index 65a8873eb2cc..2e4787fb9cd0 100644
--- a/dev-python/pytest-httpx/Manifest
+++ b/dev-python/pytest-httpx/Manifest
@@ -1 +1 @@
-DIST pytest-httpx-0.21.0.gh.tar.gz 23123 BLAKE2B a9a1bc9effc557829071f13cec76aa1d164ae7040b685390c92f33c644c804448eba1ad3e841abdb667a2c0289abd64f5d3633779bd8b0355a1c03d390d94bd5 SHA512 6be6fb39ad1ef233ce9be7cf510422754b6c97a1b565d49224e82cbe4218ee24051b6c5865215ed575f200446dfe8dd1470908467c67077c51a4f5412b113c2a
+DIST pytest-httpx-0.30.0.tar.gz 36959 BLAKE2B b56f0e51558ffa6eb0c0af61aa3633a8e358f8c78916d101f1de853f683136a68e195bf0af099bbc6766198b4136a560ffd2676d9a49f0b350882896a61d935a SHA512 6aadb544bda5003156bf9c0fa309a166636dc87aea033d9a48ee10e1e8b77e6cb52350930e97cab89cff7c10111d5e26d1d74cd33f0a6c54e34c3fb7ef72ea05
diff --git a/dev-python/pytest-httpx/pytest-httpx-0.21.0.ebuild b/dev-python/pytest-httpx/pytest-httpx-0.21.0.ebuild
deleted file mode 100644
index 7d55391a5293..000000000000
--- a/dev-python/pytest-httpx/pytest-httpx-0.21.0.ebuild
+++ /dev/null
@@ -1,38 +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_{8..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..0757bad4d005
--- /dev/null
+++ b/dev-python/pytest-jupyter/Manifest
@@ -0,0 +1 @@
+DIST pytest_jupyter-0.10.1.tar.gz 15580 BLAKE2B 931045927f14973162d45ccdff3a28b0e1d955c276ccf73fa91cae46af8d697368edc10bb3a8042885aae8309dd901201ef147967eae13bca453bc3c144de1fc SHA512 ca380f3b4550388606053db97666d3e191e2b4c030b98fed8b88cee53aac0451faf63d1300c50af4313f20b38937558c390c7f9113ef6b9d20fa0c8f0b41e118
diff --git a/dev-python/pytest-jupyter/metadata.xml b/dev-python/pytest-jupyter/metadata.xml
new file mode 100644
index 000000000000..8d9f695ec9a1
--- /dev/null
+++ b/dev-python/pytest-jupyter/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">pytest-jupyter</remote-id>
+ <remote-id type="github">jupyter-server/pytest-jupyter</remote-id>
+ </upstream>
+</pkgmetadata>
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..9af92c022c18
--- /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-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 89b3ab6ee1bf..000000000000
--- a/dev-python/pytest-lazy-fixture/pytest-lazy-fixture-0.6.3.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 bdbd45a48e8c..34c6c7822a26 100644
--- a/dev-python/pytest-localftpserver/Manifest
+++ b/dev-python/pytest-localftpserver/Manifest
@@ -1 +1 @@
-DIST pytest_localftpserver-1.1.3.tar.gz 44510 BLAKE2B 98085adc5dd31bb6556ea1f31c6342e8453a07c24658baf5fe94e91a001e9b88c5f6ef01a3a8419bd7b1bd3eb053ef52788c80926c5984b523d9f575224ff6ec SHA512 8058f7c6853acf709fdf4e0ce169af4281e2236a615261c0e148965dc1899af78b558ae5231600a106c538c1790ad886bea80ba7ebf278c70b6d553e58c0202b
+DIST pytest_localftpserver-1.2.0.tar.gz 48817 BLAKE2B ccccd0b2cdc2596fa12c8f082fd2fa3847541b731367abfccb7a57d3408d74c1637bfc644bb80482d9a1a25072d94b1f663b8ad8c0ad51c2d9dac65156a80638 SHA512 19e300c4ebb1d89ebfa4dce04296b8962014a139f82a409f6d46f748f653cfd1f4192a7fb65987015b2bf7237682507c4d6e42dab816c275ba7f8a302eb9a3e9
diff --git a/dev-python/pytest-localftpserver/pytest-localftpserver-1.1.3.ebuild b/dev-python/pytest-localftpserver/pytest-localftpserver-1.1.3.ebuild
deleted file mode 100644
index e826b9bbbf46..000000000000
--- a/dev-python/pytest-localftpserver/pytest-localftpserver-1.1.3.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_{8..10} )
-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 ~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 3e408fc2d500..569befd320f9 100644
--- a/dev-python/pytest-localserver/Manifest
+++ b/dev-python/pytest-localserver/Manifest
@@ -1 +1 @@
-DIST pytest-localserver-0.6.0.tar.gz 182346 BLAKE2B b8f56c6db3bc9c260c747cdf707aac0de22152111d3a8f9c0ea8adb8e5e556edf4a1ffa0d4fd517bf95428c69ebc0c1629a103c3b8f44a57b939f696cb9240cd SHA512 149796393af260fa5d69560852e9d11b569515b8486859302af2ed369a93bbb7cad11f54210851bd4030d8f7f5936a0306fe9599bc8477bdfc61d3d0a83cb205
+DIST pytest-localserver-0.8.1.tar.gz 29088 BLAKE2B 9872d9992a7a19af03bfd7fe748c42cee1daaf7789d4984582c901471eaeab7f1bcf5c21f8eed364c71805fe776f1e4053c6044cd00c333d213ef523b6d0bac4 SHA512 d0707d70b3c5caf346c7461cfca203f903277458596839cc2b1d1d48b6d1e6252e51ebcb9c21dc28fd3b98ce8368cb38e771c2a4226a5fc1dec4007f0b243cc2
diff --git a/dev-python/pytest-localserver/metadata.xml b/dev-python/pytest-localserver/metadata.xml
index d4d69ad244a3..eb7afbe724c2 100644
--- a/dev-python/pytest-localserver/metadata.xml
+++ b/dev-python/pytest-localserver/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">pytest-localserver</remote-id>
+ <remote-id type="github">pytest-dev/pytest-localserver</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytest-localserver/pytest-localserver-0.6.0-r1.ebuild b/dev-python/pytest-localserver/pytest-localserver-0.6.0-r1.ebuild
deleted file mode 100644
index 87ee974827cc..000000000000
--- a/dev-python/pytest-localserver/pytest-localserver-0.6.0-r1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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 -i -e '/aiosmtpd/d' 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
new file mode 100644
index 000000000000..9fbad96e498e
--- /dev/null
+++ b/dev-python/pytest-markdown/pytest-markdown-1.0.2-r1.ebuild
@@ -0,0 +1,22 @@
+# 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 pypi
+
+DESCRIPTION="Run tests in your markdown"
+HOMEPAGE="
+ https://github.com/Jc2k/pytest-markdown/
+ https://pypi.org/project/pytest-markdown/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~riscv"
+
+RDEPEND=">=dev-python/commonmark-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-6.0.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/pytest-markdown/pytest-markdown-1.0.2.ebuild b/dev-python/pytest-markdown/pytest-markdown-1.0.2.ebuild
deleted file mode 100644
index 47c5476a6d1a..000000000000
--- a/dev-python/pytest-markdown/pytest-markdown-1.0.2.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_SETUPTOOLS="pyproject.toml"
-
-inherit distutils-r1
-
-MY_PN="${PN/-/_}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Write unit tests in Python to test actual state of your servers"
-HOMEPAGE="https://github.com/Jc2k/pytest-markdown"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-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 0d15cdb9c0c1..f11b6e83c298 100644
--- a/dev-python/pytest-metadata/Manifest
+++ b/dev-python/pytest-metadata/Manifest
@@ -1,2 +1 @@
-DIST pytest-metadata-2.0.1.gh.tar.gz 19945 BLAKE2B 931ede3b58471e3092eb26af38f380810140539c7c50b5e3e9a63bdddedd9577b1f23aafb24ce80de55078f772b0dae8715368559f79a3f31f33e15870134f45 SHA512 03981b4fbcd812cf5896d6db2b74cbc1e6c84cc13613f916248767cacfc7650580f668a5ea8892be85c87fa08101a8a2f440ee6e0cc1342d4fa9919d41153a6b
-DIST pytest-metadata-2.0.2.gh.tar.gz 19993 BLAKE2B 274ce5532fe96b6e4116d6ed1bf20911342f8b239b00a9b6cc1b553ad2819a619691e34bd93ef82676ffdcd4ba32adebba481c65168ce76eef2099eb7295d65d SHA512 b35c0b1a357a246aa12b65dd67b48b6c4201d75d4a23db9026659407583e97517971ba6af1054cff7812f2c6ae54019b26d1108664d632a45c0514a716b321b2
+DIST pytest_metadata-3.1.1.tar.gz 9952 BLAKE2B b0f68c406bad035548f051d49cdc5a005279caaca2bffff45674be9143b0c41516bf5a3c1b092cd1717bfd44123e9be3381d40a46664da2231aec9e6c9abc8ce SHA512 20c880cd797534dee9206ef99755643fccc9d62521f1b50dbcc7f2ac0a8ab6adccc4158510c00e20308bed93ada180448ac9f06277cc1af3ba94a1b903da4b09
diff --git a/dev-python/pytest-metadata/pytest-metadata-2.0.1.ebuild b/dev-python/pytest-metadata/pytest-metadata-2.0.1.ebuild
deleted file mode 100644
index 3f2c81106531..000000000000
--- a/dev-python/pytest-metadata/pytest-metadata-2.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=poetry
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A plugin for pytest that provides access to test session metadata"
-HOMEPAGE="https://github.com/pytest-dev/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-2.0.2.ebuild b/dev-python/pytest-metadata/pytest-metadata-2.0.2.ebuild
deleted file mode 100644
index 07cee70b8a98..000000000000
--- a/dev-python/pytest-metadata/pytest-metadata-2.0.2.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=poetry
-PYTHON_COMPAT=( python3_{8..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/"
-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 58f3d5fbc4a7..3f7cb9be9fbf 100644
--- a/dev-python/pytest-mock/Manifest
+++ b/dev-python/pytest-mock/Manifest
@@ -1 +1 @@
-DIST pytest-mock-3.8.2.tar.gz 27734 BLAKE2B feaa92ba63626d7510008c41491bd0ab649b2a0cb55c888a472a5f6100a18d8b4a232532b6b3a860483bfd1676fc1216ca368e215b8f11fc6211eeef62f5743f SHA512 039342de6a22921ebac3f54a1f217a7a5d4cf9833ce4b4bee0a18ba5409d46211cd2d9ff9620a1576560d32f5e5799483e6686e3b58d32123f41dcd7a862154b
+DIST pytest-mock-3.14.0.tar.gz 32814 BLAKE2B f6e10dd6781bf10076c7c42f9cfc8cd4e4cfd3aa08030c9ad6377ee64b3386ddd190eac8bd1a912d54b5ef4aba14dfe136b3968b6ed08683dd4c4f102eaf8a26 SHA512 c60059fe8fb64540f33382e52b9015dd9771483e2074d35c02cd5852a50eed02a64e202b7e81e920bbbd0621bd23fa9bb0467d2ceef7abd582df3e27eafeaa20
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..a7f363bd3b14
--- /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[@]}" python3_13 )
+
+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-mock/pytest-mock-3.8.2.ebuild b/dev-python/pytest-mock/pytest-mock-3.8.2.ebuild
deleted file mode 100644
index 6266e8ce070c..000000000000
--- a/dev-python/pytest-mock/pytest-mock-3.8.2.ebuild
+++ /dev/null
@@ -1,46 +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_{8..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
-
-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-mpl/Manifest b/dev-python/pytest-mpl/Manifest
new file mode 100644
index 000000000000..3a6e35a1976d
--- /dev/null
+++ b/dev-python/pytest-mpl/Manifest
@@ -0,0 +1,2 @@
+DIST pytest-mpl-0.16.1.tar.gz 663585 BLAKE2B aad171260a10417aab15e7e55115c2fe02aa33dcf8336634281e1a1dad4d1c5ff08293fd9a67be025ec6cbb18c42bc9eb7ccb86275c0fcc7f4bf33a035fc0927 SHA512 64c1689f1698f9223082bc5c6817a1d4f9b413cb193894c23b1e0302254a6358cb3e354ac92ec47677acf460a41d05b2b527c834fd0fbbde04c070b0af8f46e1
+DIST pytest-mpl-0.17.0.tar.gz 885613 BLAKE2B d1a6d4551052eeeb7ecbf9722c782796aa74215a3241d1c037fca98972777dd35d7616ec8ef2bd4f00b6428f5dea516243244b61f56ec38d72a4805a75c91a50 SHA512 968397b1d75482729ad73f4844970c3c335c009e689f4163bd5a028c84627455a7d20563e62c6940b27c62229e5744496bec36c2440d402c0aee0a7853550f9b
diff --git a/dev-python/pytest-mpl/metadata.xml b/dev-python/pytest-mpl/metadata.xml
new file mode 100644
index 000000000000..c9b79fa5f81b
--- /dev/null
+++ b/dev-python/pytest-mpl/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">pytest-mpl</remote-id>
+ <remote-id type="github">matplotlib/pytest-mpl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-mpl/pytest-mpl-0.16.1.ebuild b/dev-python/pytest-mpl/pytest-mpl-0.16.1.ebuild
new file mode 100644
index 000000000000..aad7b6b35f10
--- /dev/null
+++ b/dev-python/pytest-mpl/pytest-mpl-0.16.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
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Facilitate image comparison for Matplotlib figures"
+HOMEPAGE="
+ https://pypi.org/project/pytest-mpl/
+ https://github.com/matplotlib/pytest-mpl
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+
+EPYTEST_DESELECT=(
+ tests/subtests/test_subtest.py::test_default
+ tests/subtests/test_subtest.py::test_html_images_only
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild b/dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild
new file mode 100644
index 000000000000..f2e06c02aa48
--- /dev/null
+++ b/dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Facilitate image comparison for Matplotlib figures"
+HOMEPAGE="
+ https://pypi.org/project/pytest-mpl/
+ https://github.com/matplotlib/pytest-mpl
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+
+EPYTEST_DESELECT=(
+ tests/test_baseline_path.py::test_config
+ tests/test_pytest_mpl.py::test_formats
+ tests/test_results_always.py::test_config
+ tests/test_use_full_test_name.py::test_config
+ tests/subtests/test_subtest.py::test_default
+ tests/subtests/test_subtest.py::test_html_images_only
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-order/Manifest b/dev-python/pytest-order/Manifest
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 b30a24266e30..000000000000
--- a/dev-python/pytest-ordering/pytest-ordering-0.6.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 be083ca5a39b..000000000000
--- a/dev-python/pytest-param-files/pytest-param-files-0.3.4.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=flit
-PYTHON_COMPAT=( python3_{8..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="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 1b1dc87fd5ca..3f7616458d3a 100644
--- a/dev-python/pytest-plus/Manifest
+++ b/dev-python/pytest-plus/Manifest
@@ -1 +1 @@
-DIST pytest-plus-0.2.tar.gz 8210 BLAKE2B b8a28e72cfb4e10daa021528de9b5df2e9eb0bc4e911557c7c14a0825284787e94992132c0b74881867a41b55a67785c60b9b87a1594ad33fb57ebac8de391a6 SHA512 e16a03433cb6eb30b6881bec99482bc65cb7d1fa3d0db855befe666c0645d4b5ec02debde9dec4322ed0a0b77d3ac3f1cabda0cf98f375ffd68dc29fb55f5139
+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 a618aaa1583a..000000000000
--- a/dev-python/pytest-plus/pytest-plus-0.2-r1.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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.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-pylint/Manifest b/dev-python/pytest-pylint/Manifest
deleted file mode 100644
index e3b72f5e712a..000000000000
--- a/dev-python/pytest-pylint/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytest-pylint-0.18.0.tar.gz 12448 BLAKE2B 9d0cecb08fc87d7e2aade47af3f2677431776a425726c281e9abc5fdeebb84f38ab4a97e405ed407b1cd241eb97a8cd90e878af61f818b46cab5f9fba5ca3d5f SHA512 a0716104d288774d4c3ab596f30a33cf439df5031647912574c31eefc3a84e69e82fc362f77e73b437c7566a596d2ff8bf51a332626a7fa7468cea3b916e9ad9
diff --git a/dev-python/pytest-pylint/metadata.xml b/dev-python/pytest-pylint/metadata.xml
deleted file mode 100644
index a78469cff8a8..000000000000
--- a/dev-python/pytest-pylint/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="github">carsongee/pytest-pylint</remote-id>
- <remote-id type="pypi">pytest-pylint</remote-id>
- <bugs-to>https://github.com/carsongee/pytest-pylint/issues</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pytest-pylint/pytest-pylint-0.18.0.ebuild b/dev-python/pytest-pylint/pytest-pylint-0.18.0.ebuild
deleted file mode 100644
index 65cb8817b95b..000000000000
--- a/dev-python/pytest-pylint/pytest-pylint-0.18.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="pytest plugin to check source code with pylint"
-HOMEPAGE="https://github.com/carsongee/pytest-pylint"
-SRC_URI="https://github.com/carsongee/pytest-pylint/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/pylint-2.3.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-5.4[${PYTHON_USEDEP}]
- >=dev-python/toml-0.7.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests --install pytest
-
-python_prepare_all() {
- # Disable flake8 and pep8 options
- sed -i -e '/^addopts =/d' tox.ini || die
- # Remove pytest-runner requirement
- sed -i -e "s/'pytest-runner'//" setup.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/pytest-qt/Manifest b/dev-python/pytest-qt/Manifest
index 794f27a65f05..0acc509ef1d1 100644
--- a/dev-python/pytest-qt/Manifest
+++ b/dev-python/pytest-qt/Manifest
@@ -1 +1 @@
-DIST pytest-qt-4.1.0.tar.gz 119702 BLAKE2B 7c906c94761df6472ae65a6ebb38dff07de8156730e3e10615ea8e08f0bd9f9fee07127ee6e8616055117b1db1911bc9b4486345d84b249664d317561195ad77 SHA512 bfb56abbaac47bf9da26eb19d6913d59872f2a9923da339e9a30a2145d0a094ddec36bcfa21d39c4cf318f95a83c72c249fe70034294a6791f9d84345f77451d
+DIST pytest-qt-4.4.0.tar.gz 125443 BLAKE2B db2653ffd220e6507edd9cd2610904e5d9c1f5b39edf7b2d5043ecb7951361a6bf75618c9847b62432e0182433f2df528fce300888cca405bdc03502d6ebe717 SHA512 57c6a1866c7685db5301faa42298f11ef3d3a030cbc72fb109a8d6166621625fac89365671f781e5c3d652a190567bec3bae6f12cdab20812f43c7ef8e4518fa
diff --git a/dev-python/pytest-qt/pytest-qt-4.1.0.ebuild b/dev-python/pytest-qt/pytest-qt-4.1.0.ebuild
deleted file mode 100644
index 721c620d61c8..000000000000
--- a/dev-python/pytest-qt/pytest-qt-4.1.0.ebuild
+++ /dev/null
@@ -1,65 +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_{8..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 a198d56f55c1..48301dffe964 100644
--- a/dev-python/pytest-regressions/Manifest
+++ b/dev-python/pytest-regressions/Manifest
@@ -1 +1 @@
-DIST pytest-regressions-2.3.1.tar.gz 109616 BLAKE2B cc1c4f5bb221f9b2e53cd235a135a91a301de955fa46a6ab62ebe900878d22ca7814745df72de9a664e16cfc044d99c9048d637dd4f0e3460af25ff2895b6ca8 SHA512 e6c95a085263c9f67223a342a7495e3e46b6c278ad35af726edf7cd0212e516431626d7655250e68f922417d2224568db15992e15f4f4105aada7180372adb64
+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.3.1.ebuild b/dev-python/pytest-regressions/pytest-regressions-2.3.1.ebuild
deleted file mode 100644
index ae062b79157b..000000000000
--- a/dev-python/pytest-regressions/pytest-regressions-2.3.1.ebuild
+++ /dev/null
@@ -1,59 +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_{8..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.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-repeat/Manifest b/dev-python/pytest-repeat/Manifest
new file mode 100644
index 000000000000..87139676046f
--- /dev/null
+++ b/dev-python/pytest-repeat/Manifest
@@ -0,0 +1 @@
+DIST pytest_repeat-0.9.3.tar.gz 6272 BLAKE2B 120f05793d82e6e7bf8c6fc510b218bdc72f453a3548d7a41928f3e228f3438fc3ff49f06025c2061f7f987e66868c653b275b2786b0de1f6eeffc296e4431bd SHA512 7a3fdf0a7403d11549e5cdd95e0f4ee93fd3a59d3f19604477ce73e4e20082f229ec03bd250be52c7d651ccb6aab9e995d2800d6f7931ee144e587741142243b
diff --git a/dev-python/pytest-repeat/metadata.xml b/dev-python/pytest-repeat/metadata.xml
new file mode 100644
index 000000000000..3e13149d0347
--- /dev/null
+++ b/dev-python/pytest-repeat/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">pytest-dev/pytest-repeat</remote-id>
+ <remote-id type="pypi">pytest-repeat</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-repeat/pytest-repeat-0.9.3.ebuild b/dev-python/pytest-repeat/pytest-repeat-0.9.3.ebuild
new file mode 100644
index 000000000000..02419898116d
--- /dev/null
+++ b/dev-python/pytest-repeat/pytest-repeat-0.9.3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin for repeating tests"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-repeat/
+ https://pypi.org/project/pytest-repeat/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_repeat
+ epytest
+}
diff --git a/dev-python/pytest-rerunfailures/Manifest b/dev-python/pytest-rerunfailures/Manifest
index 08538aa9aab2..9205122c4b3e 100644
--- a/dev-python/pytest-rerunfailures/Manifest
+++ b/dev-python/pytest-rerunfailures/Manifest
@@ -1 +1 @@
-DIST pytest-rerunfailures-10.2.tar.gz 15863 BLAKE2B 9f317f3a39ac234e145a14d532d2727bb9fb5fead65c05372cf95268e0f589f9de994cd3c47e75dcb354c996595698c43fccdea5134d2e1921429c8ea7b71451 SHA512 8830610276e2cc172ee372ae4d8376bc6329138751ea2737a4def6af32d05c112c872a7a180ff554018058c05ed0d109927dbac61f748586257e40b0243f03c8
+DIST pytest-rerunfailures-14.0.tar.gz 21350 BLAKE2B bb273d77a732c0296ca041b4cbd91fd48052076e9f76839b862b03de9f448208a216483bc486f23542cd99a12ef2934a46e3ea4162ca87bfd5c0904f2d114179 SHA512 8aa23a57206b0e6af133c716517c3c96cc156cc2f86b06c0fa80e9fea2b11f32e98cfb41f6a5fb05b38bab7496258160ba42fe6ae00d7bef8024159a8ed4a3f5
diff --git a/dev-python/pytest-rerunfailures/pytest-rerunfailures-10.2-r1.ebuild b/dev-python/pytest-rerunfailures/pytest-rerunfailures-10.2-r1.ebuild
deleted file mode 100644
index d87d0f5754ea..000000000000
--- a/dev-python/pytest-rerunfailures/pytest-rerunfailures-10.2-r1.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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/setuptools[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_rerunfailures
- if has_version "dev-python/pytest-xdist[${PYTHON_USEDEP}]"; then
- PYTEST_PLUGINS+=,xdist.plugin
- fi
- epytest
-}
diff --git a/dev-python/pytest-rerunfailures/pytest-rerunfailures-14.0.ebuild b/dev-python/pytest-rerunfailures/pytest-rerunfailures-14.0.ebuild
new file mode 100644
index 000000000000..92f724d179af
--- /dev/null
+++ b/dev-python/pytest-rerunfailures/pytest-rerunfailures-14.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin to re-run tests to eliminate flaky failures"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-rerunfailures/
+ https://pypi.org/project/pytest-rerunfailures/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/packaging-17.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ if has_version ">=dev-python/pytest-8.2[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ # https://github.com/pytest-dev/pytest-rerunfailures/issues/267
+ tests/test_pytest_rerunfailures.py::test_exception_match_only_rerun_in_dual_query
+ tests/test_pytest_rerunfailures.py::test_exception_matches_only_rerun_query
+ tests/test_pytest_rerunfailures.py::test_exception_matches_rerun_except_query
+ tests/test_pytest_rerunfailures.py::test_exception_not_match_rerun_except_query
+ tests/test_pytest_rerunfailures.py::test_run_session_teardown_once_after_reruns
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_rerunfailures
+ epytest
+}
diff --git a/dev-python/pytest-reserial/Manifest b/dev-python/pytest-reserial/Manifest
new file mode 100644
index 000000000000..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 403aada1ee3e..5faadd42178a 100644
--- a/dev-python/pytest-salt-factories/Manifest
+++ b/dev-python/pytest-salt-factories/Manifest
@@ -1,2 +1,5 @@
-DIST pytest-salt-factories-0.121.1.tar.gz 102121 BLAKE2B 92cd5953b11377f1646f01b86a677a50216d16bcb944235a3f04176aecbb005974c415adcbf23cc391aab41b1ee9596984516ab61ecdd8c944d4ce707c39ab00 SHA512 32252695c6e8b17ef17d3330c4b0b38bdce89201d5573b4efa3531a72e826ee1fb26fea3ad0408401dec867cee405f21031804c32eb8fe6ceaa00925b17725a1
-DIST pytest-salt-factories-1.0.0_rc13.tar.gz 148418 BLAKE2B 3688f05d137df23266ebc7e999bc3b3a8ec198173b38dc98bd4a1e2655b982a37485278691e970da0be700cee6f609c57933b041a6d8403e75fb197f5d23d5d4 SHA512 f3713410704540ee48b7263973d3a9bf3159fb63e53e5ef5002201aea3fdcf0b4eaf00e1dd1e67d869b42242985d8117a117568d63abf5ad366e247fb3e1d83f
+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/files/pytest-salt-factories-0.121.1-tests.patch b/dev-python/pytest-salt-factories/files/pytest-salt-factories-0.121.1-tests.patch
deleted file mode 100644
index 3e85580c9158..000000000000
--- a/dev-python/pytest-salt-factories/files/pytest-salt-factories-0.121.1-tests.patch
+++ /dev/null
@@ -1,294 +0,0 @@
-diff --git a/saltfactories/plugin.py b/saltfactories/plugin.py
-index b29a115..9d68c34 100644
---- a/saltfactories/plugin.py
-+++ b/saltfactories/plugin.py
-@@ -21,7 +21,7 @@ def pytest_tempdir_temproot():
- tempdir = os.environ.get("TMPDIR") or tempfile.gettempdir()
- else:
- tempdir = "/tmp"
-- return os.path.abspath(os.path.realpath(tempdir))
-+ return os.path.abspath(tempdir)
-
-
- def pytest_tempdir_basename():
-diff --git a/tests/functional/markers/test_requires_network.py b/tests/functional/markers/test_requires_network.py
-index 8b57368..d58f0a1 100644
---- a/tests/functional/markers/test_requires_network.py
-+++ b/tests/functional/markers/test_requires_network.py
-@@ -9,7 +9,10 @@ from unittest import mock
- from saltfactories.utils import ports
- from saltfactories.utils import socket
-
-+import pytest
-
-+
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_has_local_network(testdir):
- testdir.makepyfile(
- """
-diff --git a/tests/integration/factories/cli/test_salt.py b/tests/integration/factories/cli/test_salt.py
-index 17fce6c..7bd2789 100644
---- a/tests/integration/factories/cli/test_salt.py
-+++ b/tests/integration/factories/cli/test_salt.py
-@@ -17,6 +17,7 @@ def salt_minion_2(salt_master, salt_minion):
- yield factory
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_merged_json_out(salt_cli, salt_minion, salt_minion_2):
- ret = salt_cli.run("test.ping", minion_tgt="*")
- assert ret.exitcode == 0, ret
-@@ -27,6 +28,7 @@ def test_merged_json_out(salt_cli, salt_minion, salt_minion_2):
- assert ret.json[salt_minion_2.id] is True
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_merged_json_out_disabled(salt_cli, salt_minion, salt_minion_2):
- ret = salt_cli.run("test.ping", minion_tgt="*", merge_json_output=False)
- assert ret.exitcode == 0, ret
-diff --git a/tests/integration/factories/daemons/api/test_api.py b/tests/integration/factories/daemons/api/test_api.py
-index 78b8bb7..e20f28c 100644
---- a/tests/integration/factories/daemons/api/test_api.py
-+++ b/tests/integration/factories/daemons/api/test_api.py
-@@ -23,5 +23,6 @@ def salt_api(master):
- yield factory
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_api(salt_api):
- assert salt_api.is_running()
-diff --git a/tests/integration/factories/daemons/api/test_restarts.py b/tests/integration/factories/daemons/api/test_restarts.py
-index a6c5472..dd15c17 100644
---- a/tests/integration/factories/daemons/api/test_restarts.py
-+++ b/tests/integration/factories/daemons/api/test_restarts.py
-@@ -16,6 +16,7 @@ def master(salt_factories):
- yield factory
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_multiple_start_stops(master):
- factory = master.get_salt_api_daemon()
- assert factory.is_running() is False
-diff --git a/tests/integration/factories/daemons/master/test_master.py b/tests/integration/factories/daemons/master/test_master.py
-index 2676dfa..cbf598e 100644
---- a/tests/integration/factories/daemons/master/test_master.py
-+++ b/tests/integration/factories/daemons/master/test_master.py
-@@ -46,10 +46,12 @@ def salt_key(master):
- return master.get_salt_key_cli()
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_master(master):
- assert master.is_running()
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_salt_run(master, salt_run):
- max_open_files_config_value = master.config["max_open_files"]
- ret = salt_run.run("config.get", "max_open_files")
-@@ -57,6 +59,7 @@ def test_salt_run(master, salt_run):
- assert ret.json == max_open_files_config_value
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_salt_cp(master, minion, salt_cp, tempfiles):
- """
- Test copying a file from the master to the minion
-@@ -98,6 +101,7 @@ def test_salt_cp(master, minion, salt_cp, tempfiles):
- os.unlink(dest)
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_salt_cp_no_match(master, minion, salt_cp, tempfiles):
- assert master.is_running()
- assert minion.is_running()
-@@ -119,6 +123,7 @@ def test_salt_cp_no_match(master, minion, salt_cp, tempfiles):
- os.unlink(dest)
-
-
-+@pytest.mark.skip("not compatible with sandbox")
- @pytest.mark.skip_on_salt_system_install
- def test_salt_key(master, minion, minion_3, salt_key):
- ret = salt_key.run("--list-all")
-diff --git a/tests/integration/factories/daemons/master/test_restarts.py b/tests/integration/factories/daemons/master/test_restarts.py
-index 6a6852d..70415d0 100644
---- a/tests/integration/factories/daemons/master/test_restarts.py
-+++ b/tests/integration/factories/daemons/master/test_restarts.py
-@@ -11,6 +11,7 @@ def master(salt_factories):
- return factory
-
-
-+@pytest.mark.skip("not compatible with network")
- def test_multiple_start_stops(master):
- assert master.is_running() is False
- pid = None
-diff --git a/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py b/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py
-index d63e640..653693e 100644
---- a/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py
-+++ b/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py
-@@ -28,6 +28,7 @@ def salt_call_cli(minion):
- return minion.get_salt_call_cli()
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_event_listener_engine(minion, salt_call_cli, event_listener):
- """
- There are some events which the minion fires internally that never reach the master.
-diff --git a/tests/integration/factories/daemons/minion/test_minion.py b/tests/integration/factories/daemons/minion/test_minion.py
-index 64a3df6..ab82e55 100644
---- a/tests/integration/factories/daemons/minion/test_minion.py
-+++ b/tests/integration/factories/daemons/minion/test_minion.py
-@@ -27,6 +27,7 @@ def salt_call_cli(minion):
- return minion.get_salt_call_cli()
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_minion(minion, salt_cli):
- assert minion.is_running()
- ret = salt_cli.run("test.ping", minion_tgt=minion.id)
-@@ -34,6 +35,7 @@ def test_minion(minion, salt_cli):
- assert ret.json is True
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_no_match(minion, salt_cli):
- assert minion.is_running()
- ret = salt_cli.run("test.ping", minion_tgt="minion-2")
-@@ -41,6 +43,7 @@ def test_no_match(minion, salt_cli):
- assert not ret.json
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_show_jid(minion, salt_cli):
- assert minion.is_running()
- ret = salt_cli.run("--show-jid", "test.ping", minion_tgt=minion.id)
-@@ -48,6 +51,7 @@ def test_show_jid(minion, salt_cli):
- assert ret.json is True
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_minion_salt_call(minion, salt_call_cli):
- assert minion.is_running()
- ret = salt_call_cli.run("test.ping")
-@@ -59,6 +63,7 @@ def test_minion_salt_call(minion, salt_call_cli):
- assert ret.json is True
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_salt_call_exception_handling_doesnt_timeout(minion, salt_call_cli):
- ret = salt_call_cli.run(
- "test.raise_exception", "OSError", "2", "No such file or directory", "/tmp/foo.txt"
-diff --git a/tests/integration/factories/daemons/minion/test_restarts.py b/tests/integration/factories/daemons/minion/test_restarts.py
-index a7d9ae0..8f0401b 100644
---- a/tests/integration/factories/daemons/minion/test_restarts.py
-+++ b/tests/integration/factories/daemons/minion/test_restarts.py
-@@ -10,6 +10,7 @@ def master(salt_factories):
- yield factory
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_multiple_start_stops(master):
- factory = master.get_salt_minion_daemon(random_string("minion-"))
- assert factory.is_running() is False
-diff --git a/tests/integration/factories/daemons/proxy/test_proxy_minion.py b/tests/integration/factories/daemons/proxy/test_proxy_minion.py
-index 3bbca21..2e2fb8b 100644
---- a/tests/integration/factories/daemons/proxy/test_proxy_minion.py
-+++ b/tests/integration/factories/daemons/proxy/test_proxy_minion.py
-@@ -35,6 +35,7 @@ def salt_call_cli(proxy_minion):
- return proxy_minion.get_salt_call_cli()
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_proxy_minion(proxy_minion, salt_cli):
- assert proxy_minion.is_running()
- ret = salt_cli.run("test.ping", minion_tgt=proxy_minion.id)
-@@ -42,6 +43,7 @@ def test_proxy_minion(proxy_minion, salt_cli):
- assert ret.json is True
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_no_match(proxy_minion, salt_cli):
- assert proxy_minion.is_running()
- ret = salt_cli.run("test.ping", minion_tgt="proxy-minion-2")
-@@ -49,6 +51,7 @@ def test_no_match(proxy_minion, salt_cli):
- assert not ret.json
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_show_jid(proxy_minion, salt_cli):
- if platform.is_darwin() and sys.version_info[:2] == (3, 7):
- pytest.skip(
-@@ -61,6 +64,7 @@ def test_show_jid(proxy_minion, salt_cli):
- assert ret.json is True
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_proxy_minion_salt_call(proxy_minion, salt_call_cli):
- assert proxy_minion.is_running()
- ret = salt_call_cli.run("test.ping")
-diff --git a/tests/integration/factories/daemons/proxy/test_restarts.py b/tests/integration/factories/daemons/proxy/test_restarts.py
-index 3101204..28652ff 100644
---- a/tests/integration/factories/daemons/proxy/test_restarts.py
-+++ b/tests/integration/factories/daemons/proxy/test_restarts.py
-@@ -17,6 +17,7 @@ def master(salt_factories):
- yield factory
-
-
-+@pytest.mark.skip("not compatible with sandbox")
- def test_multiple_start_stops(master):
- factory = master.get_salt_proxy_minion_daemon(random_string("proxy-minion-"))
- assert factory.is_running() is False
-diff --git a/tests/integration/factories/daemons/ssh/test_salt_ssh.py b/tests/integration/factories/daemons/ssh/test_salt_ssh.py
-index f58eac4..c3df3de 100644
---- a/tests/integration/factories/daemons/ssh/test_salt_ssh.py
-+++ b/tests/integration/factories/daemons/ssh/test_salt_ssh.py
-@@ -51,6 +51,7 @@ def salt_ssh_cli(sshd, salt_factories, master):
-
-
- @pytest.mark.skip_on_windows
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_salt_ssh(salt_ssh_cli):
- ret = salt_ssh_cli.run("--ignore-host-keys", "test.echo", "It Works!", minion_tgt="localhost")
- assert ret.exitcode == 0
-diff --git a/tests/integration/factories/daemons/sshd/test_sshd.py b/tests/integration/factories/daemons/sshd/test_sshd.py
-index 3b425fc..3e03636 100644
---- a/tests/integration/factories/daemons/sshd/test_sshd.py
-+++ b/tests/integration/factories/daemons/sshd/test_sshd.py
-@@ -5,6 +5,7 @@ import pytest
-
- @pytest.fixture(scope="module")
- @pytest.mark.skip_if_binaries_missing("sshd", "ssh-keygen")
-+@pytest.mark.skip("not compatible with network-sandbox")
- def sshd(salt_factories):
- # Set StrictModes to no because our config directory lives in /tmp and those permissions
- # are not acceptable by sshd strict paranoia.
-@@ -15,12 +16,14 @@ def sshd(salt_factories):
-
-
- @pytest.mark.skip_on_windows
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_sshd(sshd):
- assert sshd.is_running()
-
-
- @pytest.mark.skip_on_windows
- @pytest.mark.skip_if_binaries_missing("ssh")
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_connect(sshd):
- cmd = subprocess.run(
- [
-diff --git a/tests/unit/utils/markers/test_skip_if_no_remote_network.py b/tests/unit/utils/markers/test_skip_if_no_remote_network.py
-index 1aa72dc..c4d079e 100644
---- a/tests/unit/utils/markers/test_skip_if_no_remote_network.py
-+++ b/tests/unit/utils/markers/test_skip_if_no_remote_network.py
-@@ -9,7 +9,10 @@ from unittest import mock
- import saltfactories.utils.markers as markers
- from saltfactories.utils import socket
-
-+import pytest
-
-+
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_has_remote_network():
- assert markers.skip_if_no_remote_network() is None
-
diff --git a/dev-python/pytest-salt-factories/files/pytest-salt-factories-1.0.0_rc13-tests.patch b/dev-python/pytest-salt-factories/files/pytest-salt-factories-1.0.0_rc13-tests.patch
deleted file mode 100644
index b021dcccf280..000000000000
--- a/dev-python/pytest-salt-factories/files/pytest-salt-factories-1.0.0_rc13-tests.patch
+++ /dev/null
@@ -1,415 +0,0 @@
-diff --git a/src/saltfactories/plugins/__init__.py b/src/saltfactories/plugins/__init__.py
-index 361414a..55469e4 100644
---- a/src/saltfactories/plugins/__init__.py
-+++ b/src/saltfactories/plugins/__init__.py
-@@ -27,7 +27,7 @@ def pytest_tempdir_temproot():
- tempdir = "/tmp"
- else:
- tempdir = os.environ.get("TMPDIR") or tempfile.gettempdir()
-- return os.path.abspath(os.path.realpath(tempdir))
-+ return tempdir
-
-
- def pytest_tempdir_basename():
-diff --git a/tests/functional/factories/base/test_salt_daemon_factory.py b/tests/functional/factories/base/test_salt_daemon_factory.py
-index eae5670..fd312df 100644
---- a/tests/functional/factories/base/test_salt_daemon_factory.py
-+++ b/tests/functional/factories/base/test_salt_daemon_factory.py
-@@ -35,7 +35,7 @@ def test_extra_cli_arguments_after_first_failure(
- This test asserts that after the first start failure, the extra_cli_arguments_after_first_start_failure
- arguments are added
- """
-- output_file = tmp_path.joinpath("output.txt").resolve()
-+ output_file = tmp_path.joinpath("output.txt")
- config = {"conf_file": config_file, "id": master_id}
- script = tempfiles.makepyfile(
- r"""
-diff --git a/tests/functional/factories/daemons/test_container_factory.py b/tests/functional/factories/daemons/test_container_factory.py
-index 1642d57..8b085eb 100644
---- a/tests/functional/factories/daemons/test_container_factory.py
-+++ b/tests/functional/factories/daemons/test_container_factory.py
-@@ -3,6 +3,7 @@ from unittest import mock
- import pytest
-
-
-+@pytest.mark.skip("Needs network access")
- @pytest.mark.parametrize("skip_on_pull_failure", [True, False])
- def test_skip_on_pull_failure(pytester, skip_on_pull_failure):
- pytester.makepyfile(
-diff --git a/tests/functional/markers/test_requires_salt_modules.py b/tests/functional/markers/test_requires_salt_modules.py
-index 97ed1ec..53ff0dd 100644
---- a/tests/functional/markers/test_requires_salt_modules.py
-+++ b/tests/functional/markers/test_requires_salt_modules.py
-@@ -1,9 +1,11 @@
- """
- Test the ``@pytest.mark.requires_salt_modules`` marker.
- """
-+import sys
- import pytest
-
-
-+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
- @pytest.mark.parametrize(
- "modules",
- [
-@@ -29,6 +31,7 @@ def test_has_required_salt_module(pytester, modules):
- res.stdout.no_fnmatch_line("*PytestUnknownMarkWarning*")
-
-
-+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
- @pytest.mark.parametrize(
- "modules",
- [
-@@ -54,6 +57,7 @@ def test_missing_required_salt_module(pytester, modules):
- res.stdout.no_fnmatch_line("*PytestUnknownMarkWarning*")
-
-
-+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
- def test_has_required_custom_salt_module(pytester):
- pytester.makepyfile(
- r"""
-diff --git a/tests/functional/markers/test_requires_salt_states.py b/tests/functional/markers/test_requires_salt_states.py
-index f6d63a9..ec4b431 100644
---- a/tests/functional/markers/test_requires_salt_states.py
-+++ b/tests/functional/markers/test_requires_salt_states.py
-@@ -1,9 +1,11 @@
- """
- Test the ``@pytest.mark.requires_salt_states`` marker.
- """
-+import sys
- import pytest
-
-
-+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
- @pytest.mark.parametrize(
- "modules",
- [
-@@ -29,6 +31,7 @@ def test_has_required_salt_state(pytester, modules):
- res.stdout.no_fnmatch_line("*PytestUnknownMarkWarning*")
-
-
-+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
- @pytest.mark.parametrize(
- "modules",
- [
-@@ -54,6 +57,7 @@ def test_missing_required_salt_state(pytester, modules):
- res.stdout.no_fnmatch_line("*PytestUnknownMarkWarning*")
-
-
-+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
- def test_has_required_custom_salt_state(pytester):
- pytester.makepyfile(
- r"""
-diff --git a/tests/functional/test_sys_info.py b/tests/functional/test_sys_info.py
-index c8fbf6e..f18c85d 100644
---- a/tests/functional/test_sys_info.py
-+++ b/tests/functional/test_sys_info.py
-@@ -1,9 +1,11 @@
- """
- Tests related to system information reports enabled by the `--sys-info` flag..
- """
-+import sys
- import pytest
-
-
-+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
- @pytest.mark.parametrize("flag", ["--sysinfo", "--sys-info"])
- def test_sysinfo(pytester, flag):
- pytester.makepyfile(
-@@ -27,6 +29,7 @@ def test_sysinfo(pytester, flag):
- )
-
-
-+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
- def test_no_sysinfo(pytester):
- pytester.makepyfile(
- """
-diff --git a/tests/integration/factories/cli/test_salt.py b/tests/integration/factories/cli/test_salt.py
-index 9c4fdb0..0766fe7 100644
---- a/tests/integration/factories/cli/test_salt.py
-+++ b/tests/integration/factories/cli/test_salt.py
-@@ -14,6 +14,7 @@ def salt_minion_2(salt_master, salt_minion):
- yield factory
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_merged_json_out(salt_cli, salt_minion, salt_minion_2):
- ret = salt_cli.run("test.ping", minion_tgt="*")
- assert ret.returncode == 0, ret
-@@ -24,6 +25,7 @@ def test_merged_json_out(salt_cli, salt_minion, salt_minion_2):
- assert ret.data[salt_minion_2.id] is True
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_merged_json_out_disabled(salt_cli, salt_minion, salt_minion_2):
- ret = salt_cli.run("test.ping", minion_tgt="*", merge_json_output=False)
- assert ret.returncode == 0, ret
-diff --git a/tests/integration/factories/daemons/api/test_api.py b/tests/integration/factories/daemons/api/test_api.py
-index d6fd060..aade16e 100644
---- a/tests/integration/factories/daemons/api/test_api.py
-+++ b/tests/integration/factories/daemons/api/test_api.py
-@@ -19,5 +19,6 @@ def salt_api(master):
- yield factory
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_api(salt_api):
- assert salt_api.is_running()
-diff --git a/tests/integration/factories/daemons/api/test_restarts.py b/tests/integration/factories/daemons/api/test_restarts.py
-index bfab01f..0494ebb 100644
---- a/tests/integration/factories/daemons/api/test_restarts.py
-+++ b/tests/integration/factories/daemons/api/test_restarts.py
-@@ -12,6 +12,7 @@ def master(salt_factories):
- yield factory
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_multiple_start_stops(master):
- factory = master.salt_api_daemon()
- assert factory.is_running() is False
-diff --git a/tests/integration/factories/daemons/master/test_master.py b/tests/integration/factories/daemons/master/test_master.py
-index 6ae19f0..b93f773 100644
---- a/tests/integration/factories/daemons/master/test_master.py
-+++ b/tests/integration/factories/daemons/master/test_master.py
-@@ -1,3 +1,4 @@
-+import sys
- import pytest
- import salt.defaults.exitcodes
- from pytestshellutils.exceptions import FactoryNotStarted
-@@ -48,10 +49,12 @@ def salt_call(minion):
- return minion.salt_call_cli()
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_master(master):
- assert master.is_running()
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_salt_run(master, salt_run):
- max_open_files_config_value = master.config["max_open_files"]
- ret = salt_run.run("config.get", "max_open_files")
-@@ -117,6 +120,7 @@ def test_state_tree(master, salt_call, minion):
- assert ret.returncode == 0
-
-
-+@pytest.mark.skip("not compatible with sandbox")
- @pytest.mark.skip_on_salt_system_install
- def test_salt_key(minion, minion_3, salt_key):
- ret = salt_key.run("--list-all")
-@@ -131,6 +135,7 @@ def test_salt_key(minion, minion_3, salt_key):
-
- @pytest.mark.skip_on_windows
- @pytest.mark.skip_on_salt_system_install
-+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
- def test_exit_status_unknown_user(salt_factories):
- master = salt_factories.salt_master_daemon("set-exitcodes", overrides={"user": "unknown-user"})
- with pytest.raises(FactoryNotStarted) as exc:
-diff --git a/tests/integration/factories/daemons/master/test_restarts.py b/tests/integration/factories/daemons/master/test_restarts.py
-index 683970a..443dcfb 100644
---- a/tests/integration/factories/daemons/master/test_restarts.py
-+++ b/tests/integration/factories/daemons/master/test_restarts.py
-@@ -11,6 +11,7 @@ def master(salt_factories):
- return factory
-
-
-+@pytest.mark.skip("not compatible with network")
- def test_multiple_start_stops(master):
- assert master.is_running() is False
- pid = None
-diff --git a/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py b/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py
-index a6c6420..10626cd 100644
---- a/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py
-+++ b/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py
-@@ -28,6 +28,7 @@ def salt_call_cli(minion):
- return minion.salt_call_cli()
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_event_listener_engine(minion, salt_call_cli, event_listener):
- """
- There are some events which the minion fires internally that never reach the master.
-diff --git a/tests/integration/factories/daemons/minion/test_minion.py b/tests/integration/factories/daemons/minion/test_minion.py
-index 387e789..1e4ecfd 100644
---- a/tests/integration/factories/daemons/minion/test_minion.py
-+++ b/tests/integration/factories/daemons/minion/test_minion.py
-@@ -27,6 +27,7 @@ def salt_call_cli(minion):
- return minion.salt_call_cli()
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_minion(minion, salt_cli):
- assert minion.is_running()
- ret = salt_cli.run("test.ping", minion_tgt=minion.id)
-@@ -34,6 +35,7 @@ def test_minion(minion, salt_cli):
- assert ret.data is True
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_no_match(minion, salt_cli):
- assert minion.is_running()
- ret = salt_cli.run("test.ping", minion_tgt="minion-2")
-@@ -41,6 +43,7 @@ def test_no_match(minion, salt_cli):
- assert not ret.data
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_show_jid(minion, salt_cli):
- assert minion.is_running()
- ret = salt_cli.run("--show-jid", "test.ping", minion_tgt=minion.id)
-@@ -48,6 +51,7 @@ def test_show_jid(minion, salt_cli):
- assert ret.data is True
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_minion_salt_call(minion, salt_call_cli):
- assert minion.is_running()
- ret = salt_call_cli.run("test.ping")
-@@ -59,6 +63,7 @@ def test_minion_salt_call(minion, salt_call_cli):
- assert ret.data is True
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_salt_call_exception_handling_doesnt_timeout(minion, salt_call_cli):
- ret = salt_call_cli.run(
- "test.raise_exception", "OSError", "2", "No such file or directory", "/tmp/foo.txt"
-@@ -66,6 +71,7 @@ def test_salt_call_exception_handling_doesnt_timeout(minion, salt_call_cli):
- assert ret.returncode == 1, ret
-
-
-+@pytest.mark.skip("not compatible with sandbox")
- def test_state_tree(minion, salt_call_cli):
- sls_contents = """
- test:
-diff --git a/tests/integration/factories/daemons/minion/test_restarts.py b/tests/integration/factories/daemons/minion/test_restarts.py
-index ab1f044..4ac417d 100644
---- a/tests/integration/factories/daemons/minion/test_restarts.py
-+++ b/tests/integration/factories/daemons/minion/test_restarts.py
-@@ -10,6 +10,7 @@ def master(salt_factories):
- yield factory
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_multiple_start_stops(master):
- factory = master.salt_minion_daemon(random_string("minion-"))
- assert factory.is_running() is False
-diff --git a/tests/integration/factories/daemons/proxy/test_proxy_minion.py b/tests/integration/factories/daemons/proxy/test_proxy_minion.py
-index 1c58628..807cbe7 100644
---- a/tests/integration/factories/daemons/proxy/test_proxy_minion.py
-+++ b/tests/integration/factories/daemons/proxy/test_proxy_minion.py
-@@ -36,6 +36,7 @@ def salt_call_cli(proxy_minion):
- return proxy_minion.salt_call_cli()
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_proxy_minion(proxy_minion, salt_cli):
- assert proxy_minion.is_running()
- ret = salt_cli.run("test.ping", minion_tgt=proxy_minion.id)
-@@ -43,6 +44,7 @@ def test_proxy_minion(proxy_minion, salt_cli):
- assert ret.data is True
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_no_match(proxy_minion, salt_cli):
- assert proxy_minion.is_running()
- ret = salt_cli.run("test.ping", minion_tgt="proxy-minion-2")
-@@ -50,6 +52,7 @@ def test_no_match(proxy_minion, salt_cli):
- assert not ret.data
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_show_jid(proxy_minion, salt_cli):
- if platform.is_darwin() and sys.version_info[:2] == (3, 7):
- pytest.skip(
-@@ -62,6 +65,7 @@ def test_show_jid(proxy_minion, salt_cli):
- assert ret.data is True
-
-
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_proxy_minion_salt_call(proxy_minion, salt_call_cli):
- assert proxy_minion.is_running()
- ret = salt_call_cli.run("test.ping")
-@@ -73,6 +77,7 @@ def test_proxy_minion_salt_call(proxy_minion, salt_call_cli):
- assert ret.data is True
-
-
-+@pytest.mark.skip("not compatible with sandbox")
- def test_state_tree(proxy_minion, salt_call_cli):
- sls_contents = """
- test:
-diff --git a/tests/integration/factories/daemons/proxy/test_restarts.py b/tests/integration/factories/daemons/proxy/test_restarts.py
-index a243c6d..7758c96 100644
---- a/tests/integration/factories/daemons/proxy/test_restarts.py
-+++ b/tests/integration/factories/daemons/proxy/test_restarts.py
-@@ -16,6 +16,7 @@ def master(salt_factories):
- yield factory
-
-
-+@pytest.mark.skip("not compatible with sandbox")
- def test_multiple_start_stops(master):
- factory = master.salt_proxy_minion_daemon(random_string("proxy-minion-"))
- assert factory.is_running() is False
-diff --git a/tests/integration/factories/daemons/ssh/test_salt_ssh.py b/tests/integration/factories/daemons/ssh/test_salt_ssh.py
-index 37e2449..73ac893 100644
---- a/tests/integration/factories/daemons/ssh/test_salt_ssh.py
-+++ b/tests/integration/factories/daemons/ssh/test_salt_ssh.py
-@@ -51,6 +51,7 @@ def salt_ssh_cli(sshd, salt_factories, master):
-
-
- @pytest.mark.skip_on_windows
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_salt_ssh(salt_ssh_cli):
- ret = salt_ssh_cli.run("--ignore-host-keys", "test.echo", "It Works!", minion_tgt="localhost")
- assert ret.returncode == 0
-diff --git a/tests/integration/factories/daemons/sshd/test_sshd.py b/tests/integration/factories/daemons/sshd/test_sshd.py
-index 3b425fc..3e03636 100644
---- a/tests/integration/factories/daemons/sshd/test_sshd.py
-+++ b/tests/integration/factories/daemons/sshd/test_sshd.py
-@@ -5,6 +5,7 @@ import pytest
-
- @pytest.fixture(scope="module")
- @pytest.mark.skip_if_binaries_missing("sshd", "ssh-keygen")
-+@pytest.mark.skip("not compatible with network-sandbox")
- def sshd(salt_factories):
- # Set StrictModes to no because our config directory lives in /tmp and those permissions
- # are not acceptable by sshd strict paranoia.
-@@ -15,12 +16,14 @@ def sshd(salt_factories):
-
-
- @pytest.mark.skip_on_windows
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_sshd(sshd):
- assert sshd.is_running()
-
-
- @pytest.mark.skip_on_windows
- @pytest.mark.skip_if_binaries_missing("ssh")
-+@pytest.mark.skip("not compatible with network-sandbox")
- def test_connect(sshd):
- cmd = subprocess.run(
- [
-diff --git a/tests/integration/utils/saltext/test_log_handlers.py b/tests/integration/utils/saltext/test_log_handlers.py
-index 6d5b9c0..edc5b5a 100644
---- a/tests/integration/utils/saltext/test_log_handlers.py
-+++ b/tests/integration/utils/saltext/test_log_handlers.py
-@@ -24,6 +24,7 @@ def salt_cli(master):
- return master.salt_cli()
-
-
-+@pytest.mark.skip("Not compatible with sandbox")
- def test_logs_forwarded_from_sub_processes(salt_cli, minion, caplog):
- assert minion.is_running()
-
-diff --git a/tests/scenarios/examples/test_echoext.py b/tests/scenarios/examples/test_echoext.py
-index 238a442..d827467 100644
---- a/tests/scenarios/examples/test_echoext.py
-+++ b/tests/scenarios/examples/test_echoext.py
-@@ -1,6 +1,8 @@
- from saltfactories import CODE_ROOT_DIR
-
-+import pytest
-
-+@pytest.mark.skip("Incompatible with sandbox")
- def test_echoext(extension_venv):
- extension_path = CODE_ROOT_DIR.parent.parent / "examples" / "echo-extension"
- with extension_venv(extension_path) as venv:
diff --git a/dev-python/pytest-salt-factories/files/pytest-salt-factories-1.0.0_rc20-tests.patch b/dev-python/pytest-salt-factories/files/pytest-salt-factories-1.0.0_rc20-tests.patch
new file mode 100644
index 000000000000..cd201af5b9f3
--- /dev/null
+++ b/dev-python/pytest-salt-factories/files/pytest-salt-factories-1.0.0_rc20-tests.patch
@@ -0,0 +1,423 @@
+diff --git a/src/saltfactories/plugins/__init__.py b/src/saltfactories/plugins/__init__.py
+index efb8911..14af8fe 100644
+--- a/src/saltfactories/plugins/__init__.py
++++ b/src/saltfactories/plugins/__init__.py
+@@ -28,7 +28,7 @@ def pytest_tempdir_temproot():
+ tempdir = "/tmp"
+ else:
+ tempdir = os.environ.get("TMPDIR") or tempfile.gettempdir()
+- return os.path.abspath(os.path.realpath(tempdir))
++ return tempdir
+
+
+ def pytest_tempdir_basename():
+diff --git a/tests/functional/factories/base/test_salt_daemon_factory.py b/tests/functional/factories/base/test_salt_daemon_factory.py
+index 70d8d62..260e40c 100644
+--- a/tests/functional/factories/base/test_salt_daemon_factory.py
++++ b/tests/functional/factories/base/test_salt_daemon_factory.py
+@@ -36,7 +36,7 @@ def test_extra_cli_arguments_after_first_failure(
+ This test asserts that after the first start failure, the extra_cli_arguments_after_first_start_failure
+ arguments are added
+ """
+- output_file = tmp_path.joinpath("output.txt").resolve()
++ output_file = tmp_path.joinpath("output.txt")
+ config = {"conf_file": config_file, "id": master_id}
+ script = tempfiles.makepyfile(
+ r"""
+diff --git a/tests/functional/factories/daemons/test_container_factory.py b/tests/functional/factories/daemons/test_container_factory.py
+index d060214..3837074 100644
+--- a/tests/functional/factories/daemons/test_container_factory.py
++++ b/tests/functional/factories/daemons/test_container_factory.py
+@@ -18,6 +18,7 @@ def _connectable_docker_client():
+ pytest.skip("Failed to instantiate a docker client: {}".format(exc))
+
+
++@pytest.mark.skip("Needs network access")
+ @pytest.mark.parametrize("skip_on_pull_failure", [True, False])
+ def test_skip_on_pull_failure(pytester, skip_on_pull_failure):
+ pytester.makepyfile(
+diff --git a/tests/functional/markers/test_requires_salt_modules.py b/tests/functional/markers/test_requires_salt_modules.py
+index 97ed1ec..53ff0dd 100644
+--- a/tests/functional/markers/test_requires_salt_modules.py
++++ b/tests/functional/markers/test_requires_salt_modules.py
+@@ -1,9 +1,11 @@
+ """
+ Test the ``@pytest.mark.requires_salt_modules`` marker.
+ """
++import sys
+ import pytest
+
+
++@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
+ @pytest.mark.parametrize(
+ "modules",
+ [
+@@ -29,6 +31,7 @@ def test_has_required_salt_module(pytester, modules):
+ res.stdout.no_fnmatch_line("*PytestUnknownMarkWarning*")
+
+
++@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
+ @pytest.mark.parametrize(
+ "modules",
+ [
+@@ -54,6 +57,7 @@ def test_missing_required_salt_module(pytester, modules):
+ res.stdout.no_fnmatch_line("*PytestUnknownMarkWarning*")
+
+
++@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
+ def test_has_required_custom_salt_module(pytester):
+ pytester.makepyfile(
+ r"""
+diff --git a/tests/functional/markers/test_requires_salt_states.py b/tests/functional/markers/test_requires_salt_states.py
+index f6d63a9..ec4b431 100644
+--- a/tests/functional/markers/test_requires_salt_states.py
++++ b/tests/functional/markers/test_requires_salt_states.py
+@@ -1,9 +1,11 @@
+ """
+ Test the ``@pytest.mark.requires_salt_states`` marker.
+ """
++import sys
+ import pytest
+
+
++@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
+ @pytest.mark.parametrize(
+ "modules",
+ [
+@@ -29,6 +31,7 @@ def test_has_required_salt_state(pytester, modules):
+ res.stdout.no_fnmatch_line("*PytestUnknownMarkWarning*")
+
+
++@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
+ @pytest.mark.parametrize(
+ "modules",
+ [
+@@ -54,6 +57,7 @@ def test_missing_required_salt_state(pytester, modules):
+ res.stdout.no_fnmatch_line("*PytestUnknownMarkWarning*")
+
+
++@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
+ def test_has_required_custom_salt_state(pytester):
+ pytester.makepyfile(
+ r"""
+diff --git a/tests/functional/test_sys_info.py b/tests/functional/test_sys_info.py
+index c8fbf6e..f18c85d 100644
+--- a/tests/functional/test_sys_info.py
++++ b/tests/functional/test_sys_info.py
+@@ -1,9 +1,11 @@
+ """
+ Tests related to system information reports enabled by the `--sys-info` flag..
+ """
++import sys
+ import pytest
+
+
++@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
+ @pytest.mark.parametrize("flag", ["--sysinfo", "--sys-info"])
+ def test_sysinfo(pytester, flag):
+ pytester.makepyfile(
+@@ -27,6 +29,7 @@ def test_sysinfo(pytester, flag):
+ )
+
+
++@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10")
+ def test_no_sysinfo(pytester):
+ pytester.makepyfile(
+ """
+diff --git a/tests/integration/factories/cli/test_salt.py b/tests/integration/factories/cli/test_salt.py
+index 9c4fdb0..0766fe7 100644
+--- a/tests/integration/factories/cli/test_salt.py
++++ b/tests/integration/factories/cli/test_salt.py
+@@ -14,6 +14,7 @@ def salt_minion_2(salt_master, salt_minion):
+ yield factory
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_merged_json_out(salt_cli, salt_minion, salt_minion_2):
+ ret = salt_cli.run("test.ping", minion_tgt="*")
+ assert ret.returncode == 0, ret
+@@ -24,6 +25,7 @@ def test_merged_json_out(salt_cli, salt_minion, salt_minion_2):
+ assert ret.data[salt_minion_2.id] is True
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_merged_json_out_disabled(salt_cli, salt_minion, salt_minion_2):
+ ret = salt_cli.run("test.ping", minion_tgt="*", merge_json_output=False)
+ assert ret.returncode == 0, ret
+diff --git a/tests/integration/factories/daemons/api/test_api.py b/tests/integration/factories/daemons/api/test_api.py
+index d6fd060..aade16e 100644
+--- a/tests/integration/factories/daemons/api/test_api.py
++++ b/tests/integration/factories/daemons/api/test_api.py
+@@ -19,5 +19,6 @@ def salt_api(master):
+ yield factory
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_api(salt_api):
+ assert salt_api.is_running()
+diff --git a/tests/integration/factories/daemons/api/test_restarts.py b/tests/integration/factories/daemons/api/test_restarts.py
+index bfab01f..0494ebb 100644
+--- a/tests/integration/factories/daemons/api/test_restarts.py
++++ b/tests/integration/factories/daemons/api/test_restarts.py
+@@ -12,6 +12,7 @@ def master(salt_factories):
+ yield factory
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_multiple_start_stops(master):
+ factory = master.salt_api_daemon()
+ assert factory.is_running() is False
+diff --git a/tests/integration/factories/daemons/master/test_master.py b/tests/integration/factories/daemons/master/test_master.py
+index 648781d..cb051c4 100644
+--- a/tests/integration/factories/daemons/master/test_master.py
++++ b/tests/integration/factories/daemons/master/test_master.py
+@@ -1,3 +1,4 @@
++import sys
+ import pytest
+ import salt.defaults.exitcodes
+ from pytestshellutils.exceptions import FactoryNotStarted
+@@ -48,10 +49,12 @@ def salt_call(minion, salt_cli_timeout):
+ return minion.salt_call_cli(timeout=salt_cli_timeout)
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_master(master):
+ assert master.is_running()
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_salt_run(master, salt_run):
+ max_open_files_config_value = master.config["max_open_files"]
+ ret = salt_run.run("config.get", "max_open_files")
+@@ -59,6 +62,7 @@ def test_salt_run(master, salt_run):
+ assert ret.data == max_open_files_config_value
+
+
++@pytest.mark.skip("Needs network access")
+ def test_salt_cp_minion_id_as_first_argument(master, minion, salt_cp, tempfiles, tmp_path):
+ """
+ Test copying a file from the master any minions connected
+@@ -75,6 +79,7 @@ def test_salt_cp_minion_id_as_first_argument(master, minion, salt_cp, tempfiles,
+ assert dest.read_text() == contents
+
+
++@pytest.mark.skip("Needs network access")
+ def test_salt_cp_explicit_minion_tgt(master, minion, salt_cp, tempfiles, tmp_path):
+ """
+ Test copying a file from the master to the minion
+@@ -91,6 +96,7 @@ def test_salt_cp_explicit_minion_tgt(master, minion, salt_cp, tempfiles, tmp_pat
+ assert dest.read_text() == contents
+
+
++@pytest.mark.skip("Needs network access")
+ def test_salt_cp_no_match(master, minion, salt_cp, tempfiles, tmp_path):
+ assert master.is_running()
+ assert minion.is_running()
+diff --git a/tests/integration/factories/daemons/master/test_restarts.py b/tests/integration/factories/daemons/master/test_restarts.py
+index 683970a..443dcfb 100644
+--- a/tests/integration/factories/daemons/master/test_restarts.py
++++ b/tests/integration/factories/daemons/master/test_restarts.py
+@@ -11,6 +11,7 @@ def master(salt_factories):
+ return factory
+
+
++@pytest.mark.skip("not compatible with network")
+ def test_multiple_start_stops(master):
+ assert master.is_running() is False
+ pid = None
+diff --git a/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py b/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py
+index a6c6420..10626cd 100644
+--- a/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py
++++ b/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py
+@@ -28,6 +28,7 @@ def salt_call_cli(minion):
+ return minion.salt_call_cli()
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_event_listener_engine(minion, salt_call_cli, event_listener):
+ """
+ There are some events which the minion fires internally that never reach the master.
+diff --git a/tests/integration/factories/daemons/minion/test_minion.py b/tests/integration/factories/daemons/minion/test_minion.py
+index f2799ce..5e2b06a 100644
+--- a/tests/integration/factories/daemons/minion/test_minion.py
++++ b/tests/integration/factories/daemons/minion/test_minion.py
+@@ -27,6 +27,7 @@ def salt_call_cli(minion, salt_cli_timeout):
+ return minion.salt_call_cli(timeout=salt_cli_timeout)
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_minion(minion, salt_cli):
+ assert minion.is_running()
+ ret = salt_cli.run("test.ping", minion_tgt=minion.id)
+@@ -34,6 +35,7 @@ def test_minion(minion, salt_cli):
+ assert ret.data is True
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_no_match(minion, salt_cli):
+ assert minion.is_running()
+ ret = salt_cli.run("test.ping", minion_tgt="minion-2")
+@@ -41,6 +43,7 @@ def test_no_match(minion, salt_cli):
+ assert not ret.data
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_show_jid(minion, salt_cli):
+ assert minion.is_running()
+ ret = salt_cli.run("--show-jid", "test.ping", minion_tgt=minion.id)
+@@ -48,6 +51,7 @@ def test_show_jid(minion, salt_cli):
+ assert ret.data is True
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_minion_salt_call(minion, salt_call_cli):
+ assert minion.is_running()
+ ret = salt_call_cli.run("test.ping")
+@@ -59,6 +63,7 @@ def test_minion_salt_call(minion, salt_call_cli):
+ assert ret.data is True
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_salt_call_exception_handling_doesnt_timeout(minion, salt_call_cli):
+ ret = salt_call_cli.run(
+ "test.raise_exception", "OSError", "2", "No such file or directory", "/tmp/foo.txt"
+@@ -66,6 +71,7 @@ def test_salt_call_exception_handling_doesnt_timeout(minion, salt_call_cli):
+ assert ret.returncode == 1, ret
+
+
++@pytest.mark.skip("not compatible with sandbox")
+ def test_state_tree(minion, salt_call_cli):
+ sls_contents = """
+ test:
+diff --git a/tests/integration/factories/daemons/minion/test_restarts.py b/tests/integration/factories/daemons/minion/test_restarts.py
+index ab1f044..4ac417d 100644
+--- a/tests/integration/factories/daemons/minion/test_restarts.py
++++ b/tests/integration/factories/daemons/minion/test_restarts.py
+@@ -10,6 +10,7 @@ def master(salt_factories):
+ yield factory
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_multiple_start_stops(master):
+ factory = master.salt_minion_daemon(random_string("minion-"))
+ assert factory.is_running() is False
+diff --git a/tests/integration/factories/daemons/proxy/test_proxy_minion.py b/tests/integration/factories/daemons/proxy/test_proxy_minion.py
+index 579e6f5..e7464ed 100644
+--- a/tests/integration/factories/daemons/proxy/test_proxy_minion.py
++++ b/tests/integration/factories/daemons/proxy/test_proxy_minion.py
+@@ -36,6 +36,7 @@ def salt_call_cli(proxy_minion, salt_cli_timeout):
+ return proxy_minion.salt_call_cli(timeout=salt_cli_timeout)
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_proxy_minion(proxy_minion, salt_cli):
+ assert proxy_minion.is_running()
+ ret = salt_cli.run("test.ping", minion_tgt=proxy_minion.id)
+@@ -43,6 +44,7 @@ def test_proxy_minion(proxy_minion, salt_cli):
+ assert ret.data is True
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_no_match(proxy_minion, salt_cli):
+ assert proxy_minion.is_running()
+ ret = salt_cli.run("test.ping", minion_tgt="proxy-minion-2")
+@@ -50,6 +52,7 @@ def test_no_match(proxy_minion, salt_cli):
+ assert not ret.data
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_show_jid(proxy_minion, salt_cli):
+ if platform.is_darwin() and sys.version_info[:2] == (3, 7):
+ pytest.skip(
+@@ -62,6 +65,7 @@ def test_show_jid(proxy_minion, salt_cli):
+ assert ret.data is True
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_proxy_minion_salt_call(proxy_minion, salt_call_cli):
+ assert proxy_minion.is_running()
+ ret = salt_call_cli.run("test.ping")
+@@ -73,6 +77,7 @@ def test_proxy_minion_salt_call(proxy_minion, salt_call_cli):
+ assert ret.data is True
+
+
++@pytest.mark.skip("not compatible with sandbox")
+ def test_state_tree(proxy_minion, salt_call_cli):
+ sls_contents = """
+ test:
+diff --git a/tests/integration/factories/daemons/proxy/test_restarts.py b/tests/integration/factories/daemons/proxy/test_restarts.py
+index a243c6d..7758c96 100644
+--- a/tests/integration/factories/daemons/proxy/test_restarts.py
++++ b/tests/integration/factories/daemons/proxy/test_restarts.py
+@@ -16,6 +16,7 @@ def master(salt_factories):
+ yield factory
+
+
++@pytest.mark.skip("not compatible with sandbox")
+ def test_multiple_start_stops(master):
+ factory = master.salt_proxy_minion_daemon(random_string("proxy-minion-"))
+ assert factory.is_running() is False
+diff --git a/tests/integration/factories/daemons/ssh/test_salt_ssh.py b/tests/integration/factories/daemons/ssh/test_salt_ssh.py
+index 832a2d3..a586c4f 100644
+--- a/tests/integration/factories/daemons/ssh/test_salt_ssh.py
++++ b/tests/integration/factories/daemons/ssh/test_salt_ssh.py
+@@ -51,6 +51,7 @@ def salt_ssh_cli(sshd, salt_factories, master):
+
+
+ @pytest.mark.skip_on_windows
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_salt_ssh(salt_ssh_cli):
+ ret = salt_ssh_cli.run("--ignore-host-keys", "test.echo", "It Works!", minion_tgt="localhost")
+ assert ret.returncode == 0
+diff --git a/tests/integration/factories/daemons/sshd/test_sshd.py b/tests/integration/factories/daemons/sshd/test_sshd.py
+index 3b425fc..3e03636 100644
+--- a/tests/integration/factories/daemons/sshd/test_sshd.py
++++ b/tests/integration/factories/daemons/sshd/test_sshd.py
+@@ -5,6 +5,7 @@ import pytest
+
+ @pytest.fixture(scope="module")
+ @pytest.mark.skip_if_binaries_missing("sshd", "ssh-keygen")
++@pytest.mark.skip("not compatible with network-sandbox")
+ def sshd(salt_factories):
+ # Set StrictModes to no because our config directory lives in /tmp and those permissions
+ # are not acceptable by sshd strict paranoia.
+@@ -15,12 +16,14 @@ def sshd(salt_factories):
+
+
+ @pytest.mark.skip_on_windows
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_sshd(sshd):
+ assert sshd.is_running()
+
+
+ @pytest.mark.skip_on_windows
+ @pytest.mark.skip_if_binaries_missing("ssh")
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_connect(sshd):
+ cmd = subprocess.run(
+ [
+diff --git a/tests/integration/utils/saltext/test_log_handlers.py b/tests/integration/utils/saltext/test_log_handlers.py
+index 6d5b9c0..edc5b5a 100644
+--- a/tests/integration/utils/saltext/test_log_handlers.py
++++ b/tests/integration/utils/saltext/test_log_handlers.py
+@@ -24,6 +24,7 @@ def salt_cli(master):
+ return master.salt_cli()
+
+
++@pytest.mark.skip("Not compatible with sandbox")
+ def test_logs_forwarded_from_sub_processes(salt_cli, minion, caplog):
+ assert minion.is_running()
+
+diff --git a/tests/scenarios/examples/test_echoext.py b/tests/scenarios/examples/test_echoext.py
+index 238a442..d827467 100644
+--- a/tests/scenarios/examples/test_echoext.py
++++ b/tests/scenarios/examples/test_echoext.py
+@@ -1,6 +1,8 @@
+ from saltfactories import CODE_ROOT_DIR
+
++import pytest
+
++@pytest.mark.skip("Incompatible with sandbox")
+ def test_echoext(extension_venv):
+ extension_path = CODE_ROOT_DIR.parent.parent / "examples" / "echo-extension"
+ with extension_venv(extension_path) as venv:
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-0.121.1-r1.ebuild b/dev-python/pytest-salt-factories/pytest-salt-factories-0.121.1-r1.ebuild
deleted file mode 100644
index e4d2f0f1ee31..000000000000
--- a/dev-python/pytest-salt-factories/pytest-salt-factories-0.121.1-r1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-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}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-IUSE="test"
-
-RDEPEND="
- >=dev-python/pytest-6.1.1[${PYTHON_USEDEP}]
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pyzmq[${PYTHON_USEDEP}]
- dev-python/msgpack[${PYTHON_USEDEP}]
- >=app-admin/salt-3001.0[${PYTHON_USEDEP}]
-"
-BDEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}/pytest-salt-factories-0.121.1-tests.patch"
-)
-
-distutils_enable_tests --install 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}" > saltfactories/version.py || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local tempdir
-
- # ${T} is too long a path for the tests to work
- tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
- mkdir "${T}/$(basename "${tempdir}")"
-
- addwrite "${tempdir}"
- ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
-
- distutils_install_for_testing --via-root
-
- (
- cleanup() { rm -f "${tempdir}" || die; }
-
- trap cleanup EXIT
- SHELL="/bin/bash" TMPDIR="${tempdir}" \
- pytest -vv || die "Tests failed with ${EPYTHON}"
- )
-}
diff --git a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc13.ebuild b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc13.ebuild
deleted file mode 100644
index a998aed2c79c..000000000000
--- a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc13.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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}.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/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[${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_rc13-tests.patch"
-)
-
-distutils_enable_tests --install 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
-
- # ${T} is too long a path for the tests to work
- tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
- addwrite "${tempdir}"
-
- distutils_install_for_testing --via-root
-
- (
- cleanup() { rm -rf "${tempdir}" || die; }
-
- trap cleanup EXIT
- env SHELL="/bin/bash" TMPDIR="${tempdir}" \
- pytest -vv -x || die "Tests failed with ${EPYTHON}"
- )
-}
diff --git a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc20-r1.ebuild b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc20-r1.ebuild
new file mode 100644
index 000000000000..97f8d92a63e4
--- /dev/null
+++ b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc20-r1.ebuild
@@ -0,0 +1,77 @@
+# 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/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
+ )
+ 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_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..4827179cb1b1
--- /dev/null
+++ b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_1{0..2} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+DESCRIPTION="The new generation of the pytest-salt Plugin"
+HOMEPAGE="
+ https://github.com/saltstack/pytest-salt-factories/
+ https://pypi.org/project/pytest-salt-factories/
+"
+SRC_URI="
+ https://github.com/saltstack/pytest-salt-factories/archive/${PV//_/}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${P//_/}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/docker[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
+ dev-python/pytest-system-statistics[${PYTHON_USEDEP}]
+ >=dev-python/pytest-shell-utilities-1.4.0[${PYTHON_USEDEP}]
+ dev-python/pyzmq[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ >=app-admin/salt-3005.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/importlib-metadata[${PYTHON_USEDEP}]
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+src_prepare() {
+ sed -i -e 's:helpers_namespace:pytest_&.plugin:' tests/conftest.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ "tests/functional/test_manager.py::test_system_service_cli[system-service(True)]"
+ "tests/functional/test_manager.py::test_system_service_config_fixture[system-service(True)]"
+ tests/integration/factories/daemons/ssh/test_salt_ssh.py::test_salt_ssh
+ tests/integration/factories/daemons/sshd/test_sshd.py::test_connect
+ tests/scenarios/examples/test_echoext.py::test_echoext
+ )
+
+ local ret tempdir x
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)" || die
+ addwrite "${tempdir}"
+
+ local -x SHELL="/bin/bash" TMPDIR="${tempdir}"
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=saltfactories.plugins
+ PYTEST_PLUGINS+=,pytest_helpers_namespace.plugin
+ PYTEST_PLUGINS+=,pytestsysstats.plugin
+ PYTEST_PLUGINS+=,pytest_subtests
+ for x in factories markers sysinfo event_listener log_server loader
+ do
+ PYTEST_PLUGINS+=,saltfactories.plugins.${x}
+ done
+
+ nonfatal epytest --no-sys-stats
+ ret=${?}
+
+ rm -rf "${tempdir}" || die
+ [[ ${ret} -ne 0 ]] && die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pytest-salt/Manifest b/dev-python/pytest-salt/Manifest
deleted file mode 100644
index e03d478fdd39..000000000000
--- a/dev-python/pytest-salt/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytest-salt-2020.1.27.tar.gz 64141 BLAKE2B 2b9261af2de28f8dce1abcd71b586594075916c8a5dbb27a24f15b9d95a575624be118d1c742f02020d3b968ffa4654cf6cd0dabefffe6876b87a4d1d58c3d60 SHA512 b0632e21f1ea5c3b57eb681cd8b270721cafd270321b708fca65427fc89817ed9e9a4216a520f35988c6866b1ed76ed84838009da9052a11cf8782d4dcf118ba
diff --git a/dev-python/pytest-salt/files/pytest-salt-2020.1.27-r2.patch b/dev-python/pytest-salt/files/pytest-salt-2020.1.27-r2.patch
deleted file mode 100644
index 35dca262478b..000000000000
--- a/dev-python/pytest-salt/files/pytest-salt-2020.1.27-r2.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Fixes a Doctestitem has no attribute 'fixturenames'
-Fix by David Denoncin based on https://github.com/saltstack/pytest-salt/issues/48
-
---- a/pytestsalt/fixtures/daemons.py 2021-03-02 15:19:40.500254583 +0100
-+++ b/pytestsalt/fixtures/daemons.py 2021-03-02 15:20:40.706920871 +0100
-@@ -1658,7 +1658,6 @@
- Fixtures injection based on markers
- '''
- for fixture in ('salt_master', 'salt_minion', 'salt_call', 'salt', 'salt_key', 'salt_run'):
-- if fixture in item.fixturenames:
-- after_start_fixture = '{}_after_start'.format(fixture)
-+ if fixture in getattr(item, 'fixturenames', ()):
- if after_start_fixture not in item.fixturenames:
- item.fixturenames.append(after_start_fixture)
diff --git a/dev-python/pytest-salt/metadata.xml b/dev-python/pytest-salt/metadata.xml
deleted file mode 100644
index 1c259ca3d683..000000000000
--- a/dev-python/pytest-salt/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>chutzpah@gentoo.org</email>
- <name>Patrick McLean</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">pytest-salt</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pytest-salt/pytest-salt-2020.1.27-r3.ebuild b/dev-python/pytest-salt/pytest-salt-2020.1.27-r3.ebuild
deleted file mode 100644
index 22e46b7878fb..000000000000
--- a/dev-python/pytest-salt/pytest-salt-2020.1.27-r3.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-inherit distutils-r1
-
-MY_PV="${PV/_p/.post}"
-DESCRIPTION="PyTest Salt Plugin"
-HOMEPAGE="https://github.com/saltstack/pytest-salt"
-SRC_URI="https://github.com/saltstack/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-IUSE="test"
-
-# See bug #740882 re salt/tornado dependency
-RDEPEND="
- >=dev-python/pytest-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/psutil-4.2.0[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-tempdir[${PYTHON_USEDEP}]
- dev-python/msgpack[${PYTHON_USEDEP}]
- || (
- app-admin/salt[${PYTHON_USEDEP}]
- www-servers/tornado[${PYTHON_USEDEP}]
- )
-"
-#BDEPEND="
-# test? ( app-admin/salt[${PYTHON_USEDEP}] )
-#"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2020.1.27-r2.patch"
-)
-
-# Tests need network access
-RESTRICT="test"
-
-distutils_enable_tests pytest
-
-python_test() {
- distutils_install_for_testing
- pytest -vv || 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 f44d7562aadf..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
@@ -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_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -15,12 +15,12 @@ HOMEPAGE="
"
SRC_URI="
https://github.com/pytest-dev/pytest-services/archive/${PV}.tar.gz
- -> ${P}.tar.gz
+ -> ${P}.gh.tar.gz
"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ~ppc64 ~riscv x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
@@ -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
)
"
@@ -44,7 +44,3 @@ PATCHES=(
"${FILESDIR}/pytest-services-2.0.1-no-mysql.patch"
"${FILESDIR}/pytest-services-2.0.1-lockdir.patch"
)
-
-python_test() {
- epytest -p no:xvfb
-}
diff --git a/dev-python/pytest-shell-utilities/Manifest b/dev-python/pytest-shell-utilities/Manifest
index b03da1fa5eed..057a06f646b9 100644
--- a/dev-python/pytest-shell-utilities/Manifest
+++ b/dev-python/pytest-shell-utilities/Manifest
@@ -1,2 +1 @@
-DIST pytest-shell-utilities-1.5.0.gh.tar.gz 92287 BLAKE2B 015f78838eaff93438cbd7cd395926ac8f61653f6d27275ca87b379e5f27d60165157880e41e603823c17e639dcff91ac4f5fda1e904ad505bb9db0a577b800c SHA512 00cb5fa6979e09c90ba82928a135f644dd4056fd004f6bee8d216ca63e2cf4549f944930bf16e7a124f26a79c1b696d18ecf210bee3273343b9a90f9126f340e
-DIST pytest-shell-utilities-1.6.0.gh.tar.gz 92343 BLAKE2B 39239aff1d7d4970a706926ea9f4c7808f8c12760d8f1ccaff760d8320024bba7373a25bb2ad8db2e0a6fee1f8ef4dd5b85b4e7eb1fb6e2aab64711686acf25e SHA512 e979f5bbf34de99c1dac33b4cb27265a210852d39792cd7660b717e43de0baaf47785d57ade226f08de43ef9d83600b4e46f70ceed341c7fccde554f7a838b8e
+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.5.0.ebuild b/dev-python/pytest-shell-utilities/pytest-shell-utilities-1.5.0.ebuild
deleted file mode 100644
index 8baa0cbc0b49..000000000000
--- a/dev-python/pytest-shell-utilities/pytest-shell-utilities-1.5.0.ebuild
+++ /dev/null
@@ -1,42 +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_{8..10} )
-
-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.6.0.ebuild b/dev-python/pytest-shell-utilities/pytest-shell-utilities-1.6.0.ebuild
deleted file mode 100644
index 84d66d2dc910..000000000000
--- a/dev-python/pytest-shell-utilities/pytest-shell-utilities-1.6.0.ebuild
+++ /dev/null
@@ -1,42 +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_{8..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 94344e25e51b..000000000000
--- a/dev-python/pytest-shutil/pytest-shutil-1.7.0-r3.ebuild
+++ /dev/null
@@ -1,48 +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_{8..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-py[${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 e7796822f22a..04ea6c52f7f5 100644
--- a/dev-python/pytest-skip-markers/Manifest
+++ b/dev-python/pytest-skip-markers/Manifest
@@ -1 +1 @@
-DIST pytest-skip-markers-1.3.0.tar.gz 79882 BLAKE2B 2c44711e6194aebf0a0299f8a50e6162a088023c2fff6bdb7c142060695a6977b1d4a5cc574199d8f11a5a94e413d7444f81d9e954327e8317ed1bcf3725a60f SHA512 bea602032a7796be7c2dad62ba750e987b77f04349c96f6f8e1f15f5d2b58c3ba1e549a775ce7e541f6041091a578def59900a726872c8aa8b31c585e3f0c3e0
+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-r1.ebuild b/dev-python/pytest-skip-markers/pytest-skip-markers-1.3.0-r1.ebuild
deleted file mode 100644
index ea590b0e73dd..000000000000
--- a/dev-python/pytest-skip-markers/pytest-skip-markers-1.3.0-r1.ebuild
+++ /dev/null
@@ -1,42 +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_{8..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-declarative-requirements[${PYTHON_USEDEP}]
- 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.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..1e2b04beac87
--- /dev/null
+++ b/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=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 ~loong ~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 eb068bca34c4..000000000000
--- a/dev-python/pytest-subtesthack/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST pytest-subtesthack-0.1.2.tar.gz 2669 BLAKE2B f1f5a052f9418732de4a97ff438d280d177860439e667e29ff0d0503740e009c88046b5ba859884e5fa9e958ea1be7388d7fc6838c19e44075ab0ef757ee41c7 SHA512 ddb7b0c27f912bec31e58ddc54930e229755df8980d146c861f7f1c766ae742b4f1552117d89638bdbd443f22890262320a56565954ebc6deeae6184f459a5a8
-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.1.2-r2.ebuild b/dev-python/pytest-subtesthack/pytest-subtesthack-0.1.2-r2.ebuild
deleted file mode 100644
index 9bff61945a25..000000000000
--- a/dev-python/pytest-subtesthack/pytest-subtesthack-0.1.2-r2.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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}.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-subtesthack/pytest-subtesthack-0.2.0.ebuild b/dev-python/pytest-subtesthack/pytest-subtesthack-0.2.0.ebuild
deleted file mode 100644
index 734224e8f321..000000000000
--- a/dev-python/pytest-subtesthack/pytest-subtesthack-0.2.0.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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 dd79538a2599..b3602b7b1d53 100644
--- a/dev-python/pytest-subtests/Manifest
+++ b/dev-python/pytest-subtests/Manifest
@@ -1 +1 @@
-DIST pytest-subtests-0.8.0.gh.tar.gz 9767 BLAKE2B 707f6744f1cd7723d7bee11f5e535750fa179e7ad3912cd94d5200002e1dc0a206cbdb5c3bc8be587a1c81342ef9d6a8a397acd08388096a484feca6f9c84e0c SHA512 0164e02c81685108bb5c12f7e7ce92dc2fd5c844be454b2cb26e3cb942d51c453f06bb48e0300438a82b28c747dea35ea4f75eaf65ff8b66b338bcb0f0dd9ed1
+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..d685370d589e
--- /dev/null
+++ b/dev-python/pytest-subtests/pytest-subtests-0.12.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Unittest subTest() support and subtests fixture"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-subtests/
+ https://pypi.org/project/pytest-subtests/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+"
+# pytest-xdist is used to test compatibility
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,pytest_subtests.plugin
+ epytest
+}
diff --git a/dev-python/pytest-subtests/pytest-subtests-0.8.0.ebuild b/dev-python/pytest-subtests/pytest-subtests-0.8.0.ebuild
deleted file mode 100644
index ac20291c5208..000000000000
--- a/dev-python/pytest-subtests/pytest-subtests-0.8.0.ebuild
+++ /dev/null
@@ -1,51 +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_{8..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
- local EPYTEST_DESELECT=()
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # broken by output changes
- # https://github.com/pytest-dev/pytest-subtests/issues/69
- "tests/test_subtests.py::TestSubTest::test_simple_terminal_normal[unittest]"
- "tests/test_subtests.py::TestSubTest::test_simple_terminal_verbose[unittest]"
- )
-
- epytest
-}
diff --git a/dev-python/pytest-sugar/Manifest b/dev-python/pytest-sugar/Manifest
index f69d56569e43..023f68ed522b 100644
--- a/dev-python/pytest-sugar/Manifest
+++ b/dev-python/pytest-sugar/Manifest
@@ -1,2 +1 @@
-DIST pytest-sugar-0.9.4.tar.gz 12727 BLAKE2B 898692fc4083871d707fad44c7dd0c1298c28c190d705ef4525d4ba68d77bd37bb2634e43795ea553041317dc2f014d9be8ef52cfe40383ee75af36e5780cb98 SHA512 bbe375f0ae934d132457d698c9e09994a9a96a31860397f1b5e50b32139e5018f0137ddc0d3dd84bec29fc2b4c16592f59a38933c53fb8acec714c64689c4c76
-DIST pytest-sugar-0.9.5.tar.gz 13545 BLAKE2B 37c5241b951b3167c73537ca7bbb93f679673e57c84a13b74caacfcb8d5510b5e5ad215aa4aa33f722efffa54d30ff73d521bce412214857d11c25c255596bdc SHA512 4451d09181b6130591c504b2825a86777f5daa6972a6be7f2bc51139cf3ef2e57dfc1b8ea1972220a1c84866ed2584c684cc83c8052cb9105c0c3a9ea19922fe
+DIST pytest-sugar-1.0.0.tar.gz 14992 BLAKE2B 75087685c88a2f5ff27cdebbc7600a23fc57c8ee556f57cf05ef3239b1a88866940f99635065fecf254e7fb7a96784edf1bfeaad1a9548077313c1bfd51146b5 SHA512 3976a77c76ae9a83a84753d426902650d0a63d686a84cdd25439c01ae444ae0a84c6095bf0ee5cfaf544e1cc69680001676a8dc4314d0f4d22c3021cb5b7c41d
diff --git a/dev-python/pytest-sugar/pytest-sugar-0.9.4-r1.ebuild b/dev-python/pytest-sugar/pytest-sugar-0.9.4-r1.ebuild
deleted file mode 100644
index 543243b7b7e6..000000000000
--- a/dev-python/pytest-sugar/pytest-sugar-0.9.4-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="py.test plugin that changes the default look and feel of py.test"
-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-0.9.5.ebuild b/dev-python/pytest-sugar/pytest-sugar-0.9.5.ebuild
deleted file mode 100644
index 87ea2427d002..000000000000
--- a/dev-python/pytest-sugar/pytest-sugar-0.9.5.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="py.test plugin that changes the default look and feel of py.test"
-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/Manifest b/dev-python/pytest-system-statistics/Manifest
index 550382e4b516..dceabab2f895 100644
--- a/dev-python/pytest-system-statistics/Manifest
+++ b/dev-python/pytest-system-statistics/Manifest
@@ -1 +1 @@
-DIST pytest-system-statistics-1.0.2.tar.gz 55147 BLAKE2B 9b1217102a23e723090e04652fdd727818e2404bf110e4f54289251eb92f4abb59861ba6c6fc611c843960cf0595fa5cbd636071033327d4e602606e8ab63abf SHA512 1fab5038dde504ab0d5d0f4da851c9a8260849adb38a1196c6399131d77cc24a1926e68310dd0701ed001a20a7fcfb57c5202c5ebfd6de4c85aac4be49fc7347
+DIST pytest-system-statistics-1.0.2.gh.tar.gz 55147 BLAKE2B 9b1217102a23e723090e04652fdd727818e2404bf110e4f54289251eb92f4abb59861ba6c6fc611c843960cf0595fa5cbd636071033327d4e602606e8ab63abf SHA512 1fab5038dde504ab0d5d0f4da851c9a8260849adb38a1196c6399131d77cc24a1926e68310dd0701ed001a20a7fcfb57c5202c5ebfd6de4c85aac4be49fc7347
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-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-system-statistics/pytest-system-statistics-1.0.2.ebuild b/dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2.ebuild
deleted file mode 100644
index cfad9b945e60..000000000000
--- a/dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2.ebuild
+++ /dev/null
@@ -1,49 +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_{8..10} )
-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}.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-tempdir/Manifest b/dev-python/pytest-tempdir/Manifest
index 9594d221c021..f5c600d7b5b0 100644
--- a/dev-python/pytest-tempdir/Manifest
+++ b/dev-python/pytest-tempdir/Manifest
@@ -1 +1 @@
-DIST pytest-tempdir-2019.10.12.tar.gz 9859 BLAKE2B fe4d32d2de3d577952b90a811c38f1cfa0c16badf9115a1b70faf07f0123e29935c01bfc3c1b9c616a0eeb3e0da9f42a4415687a4862830e0edea505a99dfc04 SHA512 d6f8994423d9be90f4be20878f980ad4604475ccd4b65975cd3cad357c2d6a2a7bb8623e4ccd7441437ad72b7899d8b59ae19ca3a52c35a6c24456e44b7626de
+DIST pytest-tempdir-2019.10.12.gh.tar.gz 9859 BLAKE2B fe4d32d2de3d577952b90a811c38f1cfa0c16badf9115a1b70faf07f0123e29935c01bfc3c1b9c616a0eeb3e0da9f42a4415687a4862830e0edea505a99dfc04 SHA512 d6f8994423d9be90f4be20878f980ad4604475ccd4b65975cd3cad357c2d6a2a7bb8623e4ccd7441437ad72b7899d8b59ae19ca3a52c35a6c24456e44b7626de
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
new file mode 100644
index 000000000000..c021ea21e987
--- /dev/null
+++ b/dev-python/pytest-tempdir/pytest-tempdir-2019.10.12-r1.ebuild
@@ -0,0 +1,18 @@
+# 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
+
+DESCRIPTION="Pytest plugin to support for a predictable and repeatable temporary directory"
+HOMEPAGE="https://github.com/saltstack/pytest-tempdir"
+SRC_URI="https://github.com/saltstack/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-tempdir/pytest-tempdir-2019.10.12.ebuild b/dev-python/pytest-tempdir/pytest-tempdir-2019.10.12.ebuild
deleted file mode 100644
index 8975450b6b5f..000000000000
--- a/dev-python/pytest-tempdir/pytest-tempdir-2019.10.12.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Pytest plugin to support for a predictable and repeatable temporary directory"
-HOMEPAGE="https://github.com/saltstack/pytest-tempdir"
-SRC_URI="https://github.com/saltstack/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-distutils_enable_tests --install pytest
diff --git a/dev-python/pytest-testinfra/Manifest b/dev-python/pytest-testinfra/Manifest
index 6ae69cbb4836..1d5362a19cbf 100644
--- a/dev-python/pytest-testinfra/Manifest
+++ b/dev-python/pytest-testinfra/Manifest
@@ -1,2 +1 @@
-DIST pytest-testinfra-6.7.0.tar.gz 79187 BLAKE2B 08678f381392fe8a1fe335adc90ac6dc67c5bfa33c87f4e9d81b439eaabd29c393b8dc80cc79625784e76e5b0e264cdfc272cddb531acefbac9a8327be46f7be SHA512 d11f30da0eae9f215173d3f84e6ba7965d926b8ef6c49619c2ccae3d3ff215f351b950eea019e6516a56de0aa7bc533658af978d827a3ad3d1c50e37902b6f91
-DIST pytest-testinfra-6.8.0.tar.gz 78611 BLAKE2B ab1f9732db6a5d88730f4989cc47dc2086844f9809754d9f7811a8f0f092cf3d1e6f48fac2596200bf8e354cfd4aa3dc767bc21139267813141c9522d2116453 SHA512 e0c044430ffae1772b937b405572ef05b6177a645aff7b96e1f779d4f68449241757efae137a03ea8aec28db5f91c0e71574ab52aebef0052ca99ea0ca08db23
+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-6.7.0.ebuild b/dev-python/pytest-testinfra/pytest-testinfra-6.7.0.ebuild
deleted file mode 100644
index 86657537b3ec..000000000000
--- a/dev-python/pytest-testinfra/pytest-testinfra-6.7.0.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=( python3_{8..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/
-"
-SRC_URI="mirror://pypi/${P:0: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
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- <app-admin/ansible-5
- dev-python/paramiko[${PYTHON_USEDEP}]
- dev-python/pywinrm[${PYTHON_USEDEP}]
- app-admin/salt[${PYTHON_USEDEP}]
- )
-"
-
-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-testinfra/pytest-testinfra-6.8.0.ebuild b/dev-python/pytest-testinfra/pytest-testinfra-6.8.0.ebuild
deleted file mode 100644
index 5ccf9168fa88..000000000000
--- a/dev-python/pytest-testinfra/pytest-testinfra-6.8.0.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- app-admin/ansible
- dev-python/paramiko[${PYTHON_USEDEP}]
- dev-python/pywinrm[${PYTHON_USEDEP}]
- app-admin/salt[${PYTHON_USEDEP}]
- )
-"
-
-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 854117081a47..000000000000
--- a/dev-python/pytest-timeout/pytest-timeout-2.1.0.ebuild
+++ /dev/null
@@ -1,31 +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_{8..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..cd7abe388b7d
--- /dev/null
+++ b/dev-python/pytest-timeout/pytest-timeout-2.3.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin to abort hanging tests"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-timeout/
+ https://pypi.org/project/pytest-timeout/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+# do not rdepend on pytest, it won't be used without it anyway
+# pytest-cov used to test compatibility
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ !hppa? (
+ $(python_gen_cond_dep '
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ ' python3_{10..11} pypy3)
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_timeout
+
+ if has_version "dev-python/pytest-cov[${PYTHON_USEDEP}]"; then
+ PYTEST_PLUGINS+=,pytest_cov.plugin
+ else
+ EPYTEST_DESELECT+=(
+ test_pytest_timeout.py::test_cov
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/pytest-toolbox/Manifest b/dev-python/pytest-toolbox/Manifest
deleted file mode 100644
index d3d4b309cf77..000000000000
--- a/dev-python/pytest-toolbox/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytest-toolbox-0.4.gh.tar.gz 8594 BLAKE2B fb1f19513e9e4b191c3eb995cc5e9445bc9f19affef87350d925c5465210c4de945b91120f86664c1dcf02a638595a7725cf88e3244e377ae77558c70d65643a SHA512 ed27700ff77cd607be808142cc310cd2b7461e55b3f8352d304ef8ca6c5e6c060c67a63238a1025407868ab8e229c4a16eaaa56aa75000159762001accb67752
diff --git a/dev-python/pytest-toolbox/metadata.xml b/dev-python/pytest-toolbox/metadata.xml
deleted file mode 100644
index 3143de31e5e4..000000000000
--- a/dev-python/pytest-toolbox/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>arthurzam@gentoo.org</email>
- <name>Arthur Zamarin</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">pytest-toolbox</remote-id>
- <remote-id type="github">samuelcolvin/pytest-toolbox</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pytest-toolbox/pytest-toolbox-0.4-r1.ebuild b/dev-python/pytest-toolbox/pytest-toolbox-0.4-r1.ebuild
deleted file mode 100644
index 8de597b0cadf..000000000000
--- a/dev-python/pytest-toolbox/pytest-toolbox-0.4-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Numerous useful plugins for pytest"
-HOMEPAGE="
- https://github.com/samuelcolvin/pytest-toolbox/
- https://pypi.org/project/pytest-toolbox/
-"
-SRC_URI="
- https://github.com/samuelcolvin/pytest-toolbox/archive/v${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="
- test? (
- $(python_gen_cond_dep '
- dev-python/pydantic[${PYTHON_USEDEP}]
- ' pypy3 python3_{8..10} # TODO: python3_11
- )
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/addopts/d' -i setup.cfg || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- if ! has_version "dev-python/pydantic[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_comparison.py::test_close_to_now_{false,true}
- )
- 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 65f1e345f8e8..000000000000
--- a/dev-python/pytest-tornado/pytest-tornado-0.8.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_SETUPTOOLS=rdepend
-PYTHON_COMPAT=( python3_{8..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 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/pytest-3.6[${PYTHON_USEDEP}]
- >=www-servers/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 729ab8e9b9f8..000000000000
--- a/dev-python/pytest-tornasync/pytest-tornasync-0.6.0_p2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 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}]
- >=www-servers/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/Manifest b/dev-python/pytest-trio/Manifest
index e39be86a7c57..1254cd58eb31 100644
--- a/dev-python/pytest-trio/Manifest
+++ b/dev-python/pytest-trio/Manifest
@@ -1 +1 @@
-DIST pytest-trio-0.7.0.tar.gz 47784 BLAKE2B 59b28df45e87804e0b6eb557a0cf259fdc3636cc7a03d78248fb814d55904ed01d00a530b194b2bfe93ccfb9de528d70a372faf1f6db24531c230319122db2e5 SHA512 547036c94f33cf8e755c88d608c5fddfa5c583fdaa7e604598d470e250a006c571702a81bac4f273b74450a8c10e4be404bad74d4104403fe1c9c70e872dff53
+DIST pytest-trio-0.8.0.tar.gz 46525 BLAKE2B 54660dc9b021af0ec18eace72f053223d16e89635c74d71329a005e5fee3bf6e2055cc29412d9de7443b2594ee53d68890d1e30ed7c94560c355d4342bb3d035 SHA512 79141021633b7b2d8a840d7eaf6a3447bccd59d1bd4909e7feba88a9ae8244376f281b64fde4333b5a575957e3f73028e389a9abf0d19a35417f15c47eeccd05
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.7.0-r1.ebuild b/dev-python/pytest-trio/pytest-trio-0.7.0-r1.ebuild
deleted file mode 100644
index e81f730b78a4..000000000000
--- a/dev-python/pytest-trio/pytest-trio-0.7.0-r1.ebuild
+++ /dev/null
@@ -1,52 +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_{8..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="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/async_generator-1.9[${PYTHON_USEDEP}]
- dev-python/outcome[${PYTHON_USEDEP}]
- >=dev-python/pytest-6.0.0[${PYTHON_USEDEP}]
- >=dev-python/trio-0.15[${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-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-twisted/Manifest b/dev-python/pytest-twisted/Manifest
new file mode 100644
index 000000000000..064743b70e7a
--- /dev/null
+++ b/dev-python/pytest-twisted/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..57b1b7e515dc
--- /dev/null
+++ b/dev-python/pytest-twisted/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>kangie@gentoo.org</email>
+ <name>Matt Jolly</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">pytest-dev/pytest-twisted</remote-id>
+ <remote-id type="pypi">pytest-twisted</remote-id>
+ </upstream>
+</pkgmetadata>
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 0654f699aced..000000000000
--- a/dev-python/pytest-verbose-parametrize/pytest-verbose-parametrize-1.7.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 26cd62c07f48..000000000000
--- a/dev-python/pytest-virtualenv/pytest-virtualenv-1.7.0-r2.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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 a6860576c9e8..014754a9d137 100644
--- a/dev-python/pytest-xdist/Manifest
+++ b/dev-python/pytest-xdist/Manifest
@@ -1 +1,3 @@
-DIST pytest-xdist-2.5.0.tar.gz 72455 BLAKE2B 4d7427e8a7d85d7b0dcae2697fae0f51913a3a2414fabbb192a8e3938431f5f121677dd43adecfb1fc7f3dd6feb94901e28b0a96787a2c2eadc1504aac55068f SHA512 22da4db7cdd6173fb8377b6adc30b5617ccb0bb308cb5d30980484dd7ddff87cf2a485ae8522c7957d8954dd2f8a5542b9f63b0fa7184cc44e50dbafc3f4e909
+DIST pytest-xdist-3.5.0.tar.gz 78977 BLAKE2B 94feaa236728688a993ed89825f4ccd67abd7a520d235790bbfc629173e5918695ac500d04de642f07d323325972512e3ad95f0ae18a9ea239da8c2f167ab1a5 SHA512 1b6a896c6c69c110d1f3aa634740ffced570bbb788b3474687fef20147a5480a8681886b04db0413f7db68db546236f9a7f37e1592a74d1145f6eb6d876216ca
+DIST pytest_xdist-3.6.0.tar.gz 83818 BLAKE2B e15935799675014a01524b850106c29b1e43efcdc965c5695ae727ba4c12af446dbaec662eb66022b3e553e311d456859e90c7cfb0f7b4d9d0f28c3184e2901a SHA512 d623d31fa3f441c7ac56b7740bdd205933b90c9784ae1bcbac185bdc2920f1a27fa51fa6e1b75392a3ae13a62c51e168925ce3040cc1f0d22e8d9906faebbc2e
+DIST pytest_xdist-3.6.1.tar.gz 84060 BLAKE2B 01392bc1f5a1587f609fc0246235457ab92ca40b3c34c660c117fae1c2b8b98dc0cde345f42951d69c3b58732e0094c7618ed570a6e3ca41165e93e2d8cf9e84 SHA512 583a78d0adc05d81458bbdd5832c239581c0fcd9cad9edfd16fa78009c005c15bffec7ed074d9e18f1542393f62d9ccb2c9e0a96d825e9cff1faec123545a2a3
diff --git a/dev-python/pytest-xdist/pytest-xdist-2.5.0-r1.ebuild b/dev-python/pytest-xdist/pytest-xdist-2.5.0-r1.ebuild
deleted file mode 100644
index b43a7eda10d9..000000000000
--- a/dev-python/pytest-xdist/pytest-xdist-2.5.0-r1.ebuild
+++ /dev/null
@@ -1,45 +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_{8..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-xdist/pytest-xdist-3.6.0.ebuild b/dev-python/pytest-xdist/pytest-xdist-3.6.0.ebuild
new file mode 100644
index 000000000000..602cb721af56
--- /dev/null
+++ b/dev-python/pytest-xdist/pytest-xdist-3.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
+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/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/execnet-2.1[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/filelock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # disable autoloading plugins in nested pytest calls
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # since we disabled autoloading, force loading necessary plugins
+ local -x PYTEST_PLUGINS=xdist.plugin,xdist.looponfail
+
+ epytest -o tmp_path_retention_count=1
+}
diff --git a/dev-python/pytest-xdist/pytest-xdist-3.6.1.ebuild b/dev-python/pytest-xdist/pytest-xdist-3.6.1.ebuild
new file mode 100644
index 000000000000..949362a5b226
--- /dev/null
+++ b/dev-python/pytest-xdist/pytest-xdist-3.6.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Distributed testing and loop-on-failing modes"
+HOMEPAGE="
+ https://pypi.org/project/pytest-xdist/
+ https://github.com/pytest-dev/pytest-xdist/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/execnet-2.1[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/filelock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # disable autoloading plugins in nested pytest calls
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # since we disabled autoloading, force loading necessary plugins
+ local -x PYTEST_PLUGINS=xdist.plugin,xdist.looponfail
+
+ epytest -o tmp_path_retention_count=1
+}
diff --git a/dev-python/pytest-xprocess/Manifest b/dev-python/pytest-xprocess/Manifest
index 34866c23f07f..5c24781f92c5 100644
--- a/dev-python/pytest-xprocess/Manifest
+++ b/dev-python/pytest-xprocess/Manifest
@@ -1 +1,2 @@
-DIST pytest-xprocess-0.19.0.tar.gz 30217 BLAKE2B 1990a48036469f990451b8eb12a05b7f10295532a72567f95d95d6e12f192f0b76bd511a994c5b8f0e3725f0edb76c4991351fe68e82f351d9b47a9921230f11 SHA512 d41c3c91892d6126455e9b834ada7aad5d0fa67603eff14a73309589e269a21de032e8192e9bde4d6656aaa4984dd0c98242d54b0e2b24a43b85c8ed81a00d89
+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.19.0.ebuild b/dev-python/pytest-xprocess/pytest-xprocess-0.19.0.ebuild
deleted file mode 100644
index cd0427f806de..000000000000
--- a/dev-python/pytest-xprocess/pytest-xprocess-0.19.0.ebuild
+++ /dev/null
@@ -1,27 +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_{8..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/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..fc857a64ede7
--- /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 c6df7830347a..000000000000
--- a/dev-python/pytest-xvfb/pytest-xvfb-2.0.0-r2.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_REQ_USE="tk"
-PYTHON_COMPAT=( python3_{8..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 ~arm64 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
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 df208a565747..0da5b4c9a2cc 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -1 +1,5 @@
-DIST pytest-7.1.2.tar.gz 1256241 BLAKE2B c59e477ba52f2ff6f9885b91bbdc9b70dd4ffced3902417cd2e8cf28ba778e92ab5738f1be4d1c8c5c41c7140ac56622b6d44261d618426ae39fd00026bf139c SHA512 e61c9b0a8fc053626da307d6bac1f5caab451c4948ef7c7f2e2f991c3433a55f81ec0d9412fca646c02f22e695c71e873ee48fc0ab0aad337ce01b70628df494
+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
+DIST pytest-8.1.2.tar.gz 1410060 BLAKE2B 1379047c5ba434e98a383756c53a9cf31dc3bd3abcc49820f872b9110ec70906ca14080ce17ed2770b71195fbd79627a0eb16ee00429e165368144b20153a02b SHA512 a6ffae29da98ee4c357ebb03f00c4bc1a33f093ef867ad118841695548468c7f229eaa2c029a2ce3b158bbb0a65be5014e91555a223d04c1c72e614cb1d00546
+DIST pytest-8.2.0.tar.gz 1422883 BLAKE2B 91f39aa14bfc56f7f98789ef9eeed80d1aa81c864f56181bf1e819b73543043eda307fec53151bf5dbcf8e63abd8dd8ad1290dd245c387cb68583d2160981cf2 SHA512 1a74a2269010804101fc4b8efc370c5d8d484eb145eb4e181feeb1a17046457b97071d2de925c3e8bbd4c6090cd00ca532d69286cb9e10ea023e59a99cd51088
diff --git a/dev-python/pytest/files/pytest-7.1.2-py311.patch b/dev-python/pytest/files/pytest-7.1.2-py311.patch
deleted file mode 100644
index ecae07b9ce24..000000000000
--- a/dev-python/pytest/files/pytest-7.1.2-py311.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 2f8ae29c173ea8335a1e0cc7027a76032429e8f9 Mon Sep 17 00:00:00 2001
-From: "github-actions[bot]"
- <41898282+github-actions[bot]@users.noreply.github.com>
-Date: Mon, 9 May 2022 13:38:22 +0000
-Subject: [PATCH] [7.1.x] testing: fix Path.rglob("") failures in Python 3.11b1
- (#9934)
-
-Co-authored-by: Ran Benita <ran@unusedvar.com>
----
- testing/test_conftest.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/testing/test_conftest.py b/testing/test_conftest.py
-index 680482045..d2bf860c6 100644
---- a/testing/test_conftest.py
-+++ b/testing/test_conftest.py
-@@ -553,7 +553,7 @@ class TestConftestVisibility:
- )
- )
- print("created directory structure:")
-- for x in pytester.path.rglob(""):
-+ for x in pytester.path.glob("**/"):
- print(" " + str(x.relative_to(pytester.path)))
-
- return {"runner": runner, "package": package, "swc": swc, "snc": snc}
---
-2.35.1
-
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.1.2.ebuild b/dev-python/pytest/pytest-7.1.2.ebuild
deleted file mode 100644
index 877b50d9abda..000000000000
--- a/dev-python/pytest/pytest-7.1.2.ebuild
+++ /dev/null
@@ -1,99 +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_{8..11} pypy3 )
-
-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}]
- >=dev-python/py-1.8.2[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
-"
-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}]
- ' python3_{8..11} pypy3)
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-py311.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}" python3.{8..11} pypy3; 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
- )
-
- [[ ${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 "${MAKEOPTS}" "$(get_nproc)")"
-}
diff --git a/dev-python/pytest/pytest-7.4.4.ebuild b/dev-python/pytest/pytest-7.4.4.ebuild
new file mode 100644
index 000000000000..b3da0bb6e954
--- /dev/null
+++ b/dev-python/pytest/pytest-7.4.4.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="
+ https://pytest.org/
+ https://github.com/pytest-dev/pytest/
+ https://pypi.org/project/pytest/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-0.12[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+PATCHES=(
+ # https://github.com/pytest-dev/pytest/pull/11638
+ "${FILESDIR}/${PN}-7.4.3-no-color.patch"
+)
+
+src_test() {
+ # workaround new readline defaults
+ echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
+ local -x INPUTRC="${T}"/inputrc
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x COLUMNS=80
+
+ local EPYTEST_DESELECT=(
+ # broken by epytest args
+ testing/test_warnings.py::test_works_with_filterwarnings
+
+ # tend to be broken by random pytest plugins
+ # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
+ testing/test_helpconfig.py::test_version_less_verbose
+ testing/test_helpconfig.py::test_version_verbose
+ testing/test_junitxml.py::test_random_report_log_xdist
+ testing/test_junitxml.py::test_runs_twice_xdist
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
+ testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
+ testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
+ testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
+
+ # unstable with xdist
+ testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
+
+ # TODO (XPASS)
+ testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
+ testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
+ testing/test_debugging.py::test_pdb_suspends_fixture_capturing
+
+ # setuptools warnings
+ testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
+
+ # times out
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_exception
+ )
+
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ # regressions on pypy3.9
+ # https://github.com/pytest-dev/pytest/issues/9787
+ testing/test_skipping.py::test_errors_in_xfail_skip_expressions
+ testing/test_unraisableexception.py
+ )
+
+ epytest -p xdist -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/pytest/pytest-8.0.2.ebuild b/dev-python/pytest/pytest-8.0.2.ebuild
new file mode 100644
index 000000000000..e06a50f78f5c
--- /dev/null
+++ b/dev-python/pytest/pytest-8.0.2.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="
+ https://pytest.org/
+ https://github.com/pytest-dev/pytest/
+ https://pypi.org/project/pytest/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.3.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_test() {
+ # workaround new readline defaults
+ echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
+ local -x INPUTRC="${T}"/inputrc
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x COLUMNS=80
+
+ local EPYTEST_DESELECT=(
+ # broken by epytest args
+ testing/test_warnings.py::test_works_with_filterwarnings
+
+ # tend to be broken by random pytest plugins
+ # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
+ testing/test_helpconfig.py::test_version_less_verbose
+ testing/test_helpconfig.py::test_version_verbose
+ testing/test_junitxml.py::test_random_report_log_xdist
+ testing/test_junitxml.py::test_runs_twice_xdist
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
+ testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
+ testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
+ testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
+
+ # unstable with xdist
+ testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
+
+ # TODO (XPASS)
+ testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
+ testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
+ testing/test_debugging.py::test_pdb_suspends_fixture_capturing
+
+ # setuptools warnings
+ testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
+
+ # times out
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_exception
+ testing/test_debugging.py::TestPDB::test_pdb_with_caplog_on_pdb_invocation
+ )
+
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ # regressions on pypy3.9
+ # https://github.com/pytest-dev/pytest/issues/9787
+ testing/test_skipping.py::test_errors_in_xfail_skip_expressions
+ testing/test_unraisableexception.py
+ )
+
+ epytest -p xdist -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/pytest/pytest-8.1.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/pytest-8.1.2.ebuild b/dev-python/pytest/pytest-8.1.2.ebuild
new file mode 100644
index 000000000000..f57a5169cba9
--- /dev/null
+++ b/dev-python/pytest/pytest-8.1.2.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="
+ https://pytest.org/
+ https://github.com/pytest-dev/pytest/
+ https://pypi.org/project/pytest/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ <dev-python/pluggy-2[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1[${PYTHON_USEDEP}]
+ ' 3.10)
+ !!<=dev-python/flaky-3.7.0-r5
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_test() {
+ # workaround new readline defaults
+ echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
+ local -x INPUTRC="${T}"/inputrc
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x COLUMNS=80
+
+ local EPYTEST_DESELECT=(
+ # broken by epytest args
+ testing/test_warnings.py::test_works_with_filterwarnings
+
+ # tend to be broken by random pytest plugins
+ # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
+ testing/test_helpconfig.py::test_version_less_verbose
+ testing/test_helpconfig.py::test_version_verbose
+ testing/test_junitxml.py::test_random_report_log_xdist
+ testing/test_junitxml.py::test_runs_twice_xdist
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
+ testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
+ testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
+ testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
+
+ # unstable with xdist
+ testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
+
+ # TODO (XPASS)
+ testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
+ testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
+ testing/test_debugging.py::test_pdb_suspends_fixture_capturing
+
+ # setuptools warnings
+ testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
+
+ # times out
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_exception
+ testing/test_debugging.py::TestPDB::test_pdb_with_caplog_on_pdb_invocation
+ )
+
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ # regressions on pypy3.9
+ # https://github.com/pytest-dev/pytest/issues/9787
+ testing/test_skipping.py::test_errors_in_xfail_skip_expressions
+ testing/test_unraisableexception.py
+ )
+
+ local EPYTEST_XDIST=1
+ epytest
+}
diff --git a/dev-python/pytest/pytest-8.2.0.ebuild b/dev-python/pytest/pytest-8.2.0.ebuild
new file mode 100644
index 000000000000..7c7bab6ebe19
--- /dev/null
+++ b/dev-python/pytest/pytest-8.2.0.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[@]}" python3_13 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="
+ https://pytest.org/
+ https://github.com/pytest-dev/pytest/
+ https://pypi.org/project/pytest/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ <dev-python/pluggy-2[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.5.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1[${PYTHON_USEDEP}]
+ ' 3.10)
+ !!<=dev-python/flaky-3.7.0-r5
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_test() {
+ # workaround new readline defaults
+ echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
+ local -x INPUTRC="${T}"/inputrc
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x COLUMNS=80
+
+ local EPYTEST_DESELECT=(
+ # broken by epytest args
+ testing/test_warnings.py::test_works_with_filterwarnings
+
+ # tend to be broken by random pytest plugins
+ # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
+ testing/test_helpconfig.py::test_version_less_verbose
+ testing/test_helpconfig.py::test_version_verbose
+ testing/test_junitxml.py::test_random_report_log_xdist
+ testing/test_junitxml.py::test_runs_twice_xdist
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
+ testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
+ testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
+ testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
+
+ # unstable with xdist
+ testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
+
+ # TODO (XPASS)
+ testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
+ testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
+ testing/test_debugging.py::test_pdb_suspends_fixture_capturing
+
+ # setuptools warnings
+ testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
+
+ # 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/python-augeas/python-augeas-1.1.0-r1.ebuild b/dev-python/python-augeas/python-augeas-1.1.0-r1.ebuild
index 4f5174333a58..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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/Manifest b/dev-python/python-axolotl-curve25519/Manifest
index d678c06615a3..e488ad0bf951 100644
--- a/dev-python/python-axolotl-curve25519/Manifest
+++ b/dev-python/python-axolotl-curve25519/Manifest
@@ -1 +1 @@
-DIST python-axolotl-curve25519-0.4.1-2.tar.gz 100957 BLAKE2B cda4fb7ad7c78df7465a952e2b5f3c6616849876bc1c8b72dde08042a655c2b86233329d311f6bee1bfc6d2b32926968aafc7e6204320209c2c1bd008f1aa361 SHA512 cbc7c6caa47a9a811640c247a1be727d7b1b68bcdb4c5336e02b4d1eaf9fd2c57b7438b0da466a379a1c0f3f146756b9b7eea3c9b7945ce88478d4bf0b8a1e0d
+DIST python-axolotl-curve25519-0.4.1-2.gh.tar.gz 100957 BLAKE2B cda4fb7ad7c78df7465a952e2b5f3c6616849876bc1c8b72dde08042a655c2b86233329d311f6bee1bfc6d2b32926968aafc7e6204320209c2c1bd008f1aa361 SHA512 cbc7c6caa47a9a811640c247a1be727d7b1b68bcdb4c5336e02b4d1eaf9fd2c57b7438b0da466a379a1c0f3f146756b9b7eea3c9b7945ce88478d4bf0b8a1e0d
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/files/python-axolotl-curve25519-fix-type.patch b/dev-python/python-axolotl-curve25519/files/python-axolotl-curve25519-fix-type.patch
new file mode 100644
index 000000000000..dc30fff8d911
--- /dev/null
+++ b/dev-python/python-axolotl-curve25519/files/python-axolotl-curve25519-fix-type.patch
@@ -0,0 +1,15 @@
+See https://github.com/tgalal/python-axolotl-curve25519/pull/26
+
+diff --git a/curve25519module.c b/curve25519module.c
+index f4bd3d7..cf8bb45 100644
+--- a/curve25519module.c
++++ b/curve25519module.c
+@@ -158,7 +158,7 @@ curve25519_functions[] = {
+ PyModuleDef_HEAD_INIT,
+ "axolotl_curve25519",
+ NULL,
+- NULL,
++ 0,
+ curve25519_functions,
+ };
+
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-r2.ebuild b/dev-python/python-axolotl-curve25519/python-axolotl-curve25519-0.4.1_p2-r2.ebuild
deleted file mode 100644
index c46ea49e41ef..000000000000
--- a/dev-python/python-axolotl-curve25519/python-axolotl-curve25519-0.4.1_p2-r2.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_SETUPTOOLS="bdepend"
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-MY_PV="${PV/_p/-}"
-
-DESCRIPTION="A python wrapper for the curve25519 library with ed25519 signatures"
-HOMEPAGE="https://github.com/tgalal/python-axolotl-curve25519"
-SRC_URI="https://github.com/tgalal/${PN}/archive/${MY_PV}.tar.gz -> ${PN}-${MY_PV}.tar.gz"
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-LICENSE="BSD GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv x86"
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
new file mode 100644
index 000000000000..370508be082f
--- /dev/null
+++ b/dev-python/python-axolotl-curve25519/python-axolotl-curve25519-0.4.1_p2-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_EXT=1
+DISTUTILS_USE_PEP517="setuptools"
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit distutils-r1
+
+MY_PV="${PV/_p/-}"
+
+DESCRIPTION="A python wrapper for the curve25519 library with ed25519 signatures"
+HOMEPAGE="https://github.com/tgalal/python-axolotl-curve25519"
+SRC_URI="https://github.com/tgalal/${PN}/archive/${MY_PV}.tar.gz -> ${PN}-${MY_PV}.gh.tar.gz"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+LICENSE="BSD GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~loong ~riscv x86"
+
+PATCHES=( "${FILESDIR}/python-axolotl-curve25519-fix-type.patch"
+ "${FILESDIR}/${P}-fix-setuptools-warning.diff" )
diff --git a/dev-python/python-axolotl/Manifest b/dev-python/python-axolotl/Manifest
index dd9304f5fbf5..ae861073a31d 100644
--- a/dev-python/python-axolotl/Manifest
+++ b/dev-python/python-axolotl/Manifest
@@ -1 +1 @@
-DIST python-axolotl-0.2.3.tar.gz 52139 BLAKE2B 8539f4ff6d9d7e57965cdbbd510f499cf344490091fe56b013d1ab60986092ac8a7a76248624993692077020043ea21c1d9448ecf9b76a698b43da4e014f37ab SHA512 1a10dc9df2f95d19b49909d4d136b5266aae19e24ac84f8b263ae7d4de18f77353c737616ac0648b600e05699a90d348f95c6c1659849986becefb4a0277fc80
+DIST python-axolotl-0.2.3.gh.tar.gz 52139 BLAKE2B 8539f4ff6d9d7e57965cdbbd510f499cf344490091fe56b013d1ab60986092ac8a7a76248624993692077020043ea21c1d9448ecf9b76a698b43da4e014f37ab SHA512 1a10dc9df2f95d19b49909d4d136b5266aae19e24ac84f8b263ae7d4de18f77353c737616ac0648b600e05699a90d348f95c6c1659849986becefb4a0277fc80
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-r2.ebuild b/dev-python/python-axolotl/python-axolotl-0.2.3-r2.ebuild
deleted file mode 100644
index 623c67cb0b94..000000000000
--- a/dev-python/python-axolotl/python-axolotl-0.2.3-r2.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_SETUPTOOLS="bdepend"
-PYTHON_COMPAT=( python3_{8..10} )
-
-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}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~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-axolotl/python-axolotl-0.2.3-r3.ebuild b/dev-python/python-axolotl/python-axolotl-0.2.3-r3.ebuild
new file mode 100644
index 000000000000..20434956c9b5
--- /dev/null
+++ b/dev-python/python-axolotl/python-axolotl-0.2.3-r3.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 python module for the axolotl protocol"
+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 ~loong ~riscv x86"
+
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ dev-python/python-axolotl-curve25519[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/python-box/Manifest b/dev-python/python-box/Manifest
new file mode 100644
index 000000000000..19f8e6c78cf2
--- /dev/null
+++ b/dev-python/python-box/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..f82e4094d819
--- /dev/null
+++ b/dev-python/python-box/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>kangie@gentoo.org</email>
+ <name>Matt Jolly</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-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 a54bcff15482..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
@@ -1,19 +1,19 @@
-# 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_{8..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 7f7de412fe04..5a6b22d183ce 100644
--- a/dev-python/python-caja/Manifest
+++ b/dev-python/python-caja/Manifest
@@ -1 +1,2 @@
-DIST python-caja-1.24.0.tar.xz 312340 BLAKE2B a860cb1cc983221710d93943ac39b9b77761997fa6a52b32dceeeec381ee86d976c56266013d0370a28e7cb26de3601fec42234b4f91c78e5ac54992035e17ee SHA512 9febf7cae1736e30c80218dcfd3cc05b948823b99945ed67c1839ab5149aa3fe05b090d46c598810f0cde8ba66b83426c4642f6ebdbef6067f6b2fbc0798e816
+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.24.0-r2.ebuild b/dev-python/python-caja/python-caja-1.24.0-r2.ebuild
deleted file mode 100644
index ed1f90bf01b8..000000000000
--- a/dev-python/python-caja/python-caja-1.24.0-r2.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MATE_LA_PUNT="yes"
-PYTHON_COMPAT=( python{3_7,3_8,3_9,3_10} )
-
-inherit mate python-single-r1
-
-if [[ ${PV} != 9999 ]]; then
- KEYWORDS="amd64 ~arm x86"
-fi
-
-DESCRIPTION="Python bindings for the Caja file manager"
-LICENSE="GPL-2+"
-SLOT="0"
-IUSE="doc"
-REQUIRED_USE=${PYTHON_REQUIRED_USE}
-
-COMMON_DEPEND="${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
-"
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
- dev-util/gtk-doc
- dev-util/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-caja/python-caja-1.26.0.ebuild b/dev-python/python-caja/python-caja-1.26.0.ebuild
new file mode 100644
index 000000000000..666a0e058ac1
--- /dev/null
+++ b/dev-python/python-caja/python-caja-1.26.0.ebuild
@@ -0,0 +1,57 @@
+# 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_10,3_11} )
+
+inherit mate python-single-r1
+
+if [[ ${PV} != 9999 ]]; then
+ KEYWORDS="amd64 ~arm x86"
+fi
+
+DESCRIPTION="Python bindings for the Caja file manager"
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="doc"
+REQUIRED_USE=${PYTHON_REQUIRED_USE}
+
+COMMON_DEPEND="${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
+"
+
+RDEPEND="${COMMON_DEPEND}"
+
+BDEPEND="${COMMON_DEPEND}
+ 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-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 8ef79a403d23..9cf073b3e82a 100644
--- a/dev-python/python-cinderclient/Manifest
+++ b/dev-python/python-cinderclient/Manifest
@@ -1,2 +1 @@
-DIST python-cinderclient-8.3.0.tar.gz 234371 BLAKE2B 092d7abdd348f5fac750efb3f3f4df1575584684ad613d22c558630576ad2f82c399af671aad7070dd224a89fa01d73333c2505dc0166d2e4c70e21ac01f298d SHA512 4d633b39a3c59cfdc2fc2c6235b3b87093f7617c89a80b50cf26d8f6fd63e8c3197d788e0b9e81347b9427cf363289b09b85376512d5820031472a735e0ca839
-DIST python-cinderclient-9.0.0.tar.gz 234533 BLAKE2B 18d673cbe02c5a4221b8667d051b1e0c1cbfe0c071e2b8c2f37b37dcf4ea9adae7ee64a7d5c8663c8ebd5946be53d91e253b9fb1df75e0d7f4dd8554098d22db SHA512 66542e10041d567fd7193a577ea5e8e7de6d7f735e05b1135f5d41e88847a6d042356431f54b481d9c13ec99c56e6d898df0222737e17c21fe6be6cfa886eafe
+DIST python-cinderclient-9.5.0.tar.gz 236811 BLAKE2B 60d450ea31357d366c0c18b6715a36f51a9700393c2e5bb0967cd86706dd552fb2deaee428816019e87bd2c272b2f9342118b1f770370ce5aba062d3ebd292ce SHA512 efcc0f4b32e1d6f8d696137c416aeed6fc4f2a69b6fa59d47f0c46dc7d38d1f2bbc5ea35d1bcbac0604e9db8b75d256d47a76d17d040b6e84fca6069a65df8d8
diff --git a/dev-python/python-cinderclient/python-cinderclient-8.3.0.ebuild b/dev-python/python-cinderclient/python-cinderclient-8.3.0.ebuild
deleted file mode 100644
index 77b4b8b22dad..000000000000
--- a/dev-python/python-cinderclient/python-cinderclient-8.3.0.ebuild
+++ /dev/null
@@ -1,45 +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_{8..10} )
-
-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.2.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}]
-"
-BDEPEND="
- dev-python/pbr[${PYTHON_USEDEP}]
- test? (
- dev-python/ddt[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/oslo-serialization[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/testtools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- # functional tests require cloud instance access
- eunittest -b cinderclient/tests/unit
-}
diff --git a/dev-python/python-cinderclient/python-cinderclient-9.0.0.ebuild b/dev-python/python-cinderclient/python-cinderclient-9.0.0.ebuild
deleted file mode 100644
index 69b8678ff2eb..000000000000
--- a/dev-python/python-cinderclient/python-cinderclient-9.0.0.ebuild
+++ /dev/null
@@ -1,45 +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_{8..10} )
-
-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}]
-"
-BDEPEND="
- dev-python/pbr[${PYTHON_USEDEP}]
- test? (
- dev-python/ddt[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/oslo-serialization[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/testtools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- # functional tests require cloud instance access
- eunittest -b cinderclient/tests/unit
-}
diff --git a/dev-python/python-cinderclient/python-cinderclient-9.5.0.ebuild b/dev-python/python-cinderclient/python-cinderclient-9.5.0.ebuild
new file mode 100644
index 000000000000..5f33bd8d91e1
--- /dev/null
+++ b/dev-python/python-cinderclient/python-cinderclient-9.5.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack Cinder API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-cinderclient/
+ https://github.com/openstack/python-cinderclient/
+ https://pypi.org/project/python-cinderclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/keystoneauth1-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-5.0.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-5.5.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.25.1[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-3.3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ddt[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/oslo-serialization[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b cinderclient/tests/unit
+}
diff --git a/dev-python/python-constraint/python-constraint-1.4.0.ebuild b/dev-python/python-constraint/python-constraint-1.4.0.ebuild
index e7a17dd7f275..744c3aeda685 100644
--- a/dev-python/python-constraint/python-constraint-1.4.0.ebuild
+++ b/dev-python/python-constraint/python-constraint-1.4.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022 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_{8..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 5a7d48a0dbb3..000000000000
--- a/dev-python/python-cstruct/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-cstruct-2.1.tar.gz 17298 BLAKE2B 9acc10f0d386c4413634945fc94b3e44210617c408ee18cf6533f70e7d64c609d463e9beceeea7c79b125e0bf0ab67a720d9ff98f45b4e7ce1f51d9280b55733 SHA512 c56c87d291c4aa2afcfdbcbbc19c03ec634b6fb0dcde9d516ef2a9079be2fea52a053c47cd20dfc0fe6537ac90939364da659d8eb4763069a9990681207d432c
diff --git a/dev-python/python-cstruct/python-cstruct-2.1-r1.ebuild b/dev-python/python-cstruct/python-cstruct-2.1-r1.ebuild
deleted file mode 100644
index b3f6cf186e00..000000000000
--- a/dev-python/python-cstruct/python-cstruct-2.1-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=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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}.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 3d50d1c72c4b..000000000000
--- a/dev-python/python-ctags/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-ctags3-1.5.0.tar.gz 59091 BLAKE2B 303b061e7e660c1ed08c52fa76e4a96e288c6359167006a112de2262eff8c6bb564cb5c5ed310e091a3e88c5d5494e883020e7aa3ed900dc9a316cc8a9f597e8 SHA512 a5f1e2ff49abf9cf471a0139c1d2e1c4f836557386f394a96e67692d6153c60717df16fc7dbf832f69182270842fdc550f77194855111534c3b71b81ac94e483
diff --git a/dev-python/python-ctags/python-ctags-1.5.0.ebuild b/dev-python/python-ctags/python-ctags-1.5.0.ebuild
deleted file mode 100644
index 11636912c57f..000000000000
--- a/dev-python/python-ctags/python-ctags-1.5.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{7..10} )
-
-inherit distutils-r1
-
-MY_PN="${PN}3"
-DESCRIPTION="Exuberant Ctags indexing python bindings"
-HOMEPAGE="https://github.com/universal-ctags/python-ctags3"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-util/ctags:="
-
-distutils_enable_tests setup.py
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/Manifest b/dev-python/python-daemon/Manifest
index 3e6801efb6fb..2fa6ce8f7a06 100644
--- a/dev-python/python-daemon/Manifest
+++ b/dev-python/python-daemon/Manifest
@@ -1,2 +1 @@
-DIST python-daemon-2.3.0.tar.gz 82831 BLAKE2B 6e7fa082a513827283f46044347dfd445633db0d1781a33aa1bc5b14c340da784310ae6bd07d6cf3673cd05cb14a9d090ab51857d26cca52d09bc8c3b195360f SHA512 30bb70821aae720d09032c8c666524fa9a1a486314ffff73eb161231a1f2b954914295b4ad41f9c8529bc045fb6d0f89256bc59f8979a4f8a6698e9bd4d7441a
-DIST python-daemon-2.3.1.tar.gz 82856 BLAKE2B d1ede5fde50f179b0bf3e3ed89bd988469bae1f57667ab601d44452706a84264f55fc9beb89226e5fb1bb6d92f88fc2a5c2497628de16990407a0e01cfbacd84 SHA512 128fd8ac125eac613936668bb555635c8cec576d5c23513210f0956983c70720dd93906adeee581b192b57480a3df93dc1e08f6f7b62e38b2404fa00aba4805a
+DIST python-daemon-2.3.2.tar.gz 83127 BLAKE2B bce00867850e8451bcaf5a51864bdd751fa3b5e7be8ae1d36d724a915680713fc66c0fc6c8499bce03e0eb86465f5806fb8645376e600b8eac579fee3c24a087 SHA512 d9f6e6c376a496fae96bd9efed0a56d00a137617a3d1d5ef74802ef176bc813bb1d49bbb9164cdbec03213529f944b32b257bcc64283abfa4a3522ff00826bfd
diff --git a/dev-python/python-daemon/files/python-daemon-2.3.0-fix-py3.10.patch b/dev-python/python-daemon/files/python-daemon-2.3.0-fix-py3.10.patch
deleted file mode 100644
index 4fd082dc8f77..000000000000
--- a/dev-python/python-daemon/files/python-daemon-2.3.0-fix-py3.10.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://pagure.io/python-daemon/c/0c67a3c6407fbf4483ccfc94a7a0d78cf3379296
-
-From: Miro HronÄok <miro@hroncok.cz>
-Date: Sep 29 2021 10:05:27 +0000
-Subject: Remove incorrect double-patch of objects in test cases.
-
-The specific test cases relying on the patches, already are decorated
-to patch the specific attributes needed. We don't need a general patch
-of the attributes in the test case setup.
-
-Signed-off-by: Ben Finney <ben+python@benfinney.id.au>
-
---- a/test/test_pidfile.py
-+++ b/test/test_pidfile.py
-@@ -367,12 +367,6 @@ class TimeoutPIDLockFile_TestCase(scaffold.TestCase):
- pidlockfile_scenarios = make_pidlockfile_scenarios()
- self.pidlockfile_scenario = pidlockfile_scenarios['simple']
-
-- for func_name in ['__init__', 'acquire']:
-- func_patcher = unittest.mock.patch.object(
-- lockfile.pidlockfile.PIDLockFile, func_name)
-- func_patcher.start()
-- self.addCleanup(func_patcher.stop)
--
- self.scenario = {
- 'pidfile_path': self.pidlockfile_scenario['pidfile_path'],
- 'acquire_timeout': self.getUniqueInteger(),
-
diff --git a/dev-python/python-daemon/python-daemon-2.3.0-r2.ebuild b/dev-python/python-daemon/python-daemon-2.3.0-r2.ebuild
deleted file mode 100644
index 31025d91ad90..000000000000
--- a/dev-python/python-daemon/python-daemon-2.3.0-r2.ebuild
+++ /dev/null
@@ -1,43 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Library to implement a well-behaved Unix daemon process"
-HOMEPAGE="https://pypi.org/project/python-daemon/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="PSF-2"
-SLOT="0"
-KEYWORDS="amd64 arm x86"
-
-RDEPEND="
- dev-python/lockfile[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/twine[${PYTHON_USEDEP}]
- test? (
- dev-python/testtools[${PYTHON_USEDEP}]
- dev-python/testscenarios[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-py3.10.patch"
-)
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # fix for >=testtools-2.5.0
- sed -e 's/testtools.helpers.safe_hasattr/hasattr/' \
- -i test/test_metadata.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/python-daemon/python-daemon-2.3.1.ebuild b/dev-python/python-daemon/python-daemon-2.3.1.ebuild
deleted file mode 100644
index 61b277f6fec1..000000000000
--- a/dev-python/python-daemon/python-daemon-2.3.1.ebuild
+++ /dev/null
@@ -1,33 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Library to implement a well-behaved Unix daemon process"
-HOMEPAGE="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 ~x86"
-
-RDEPEND="
- dev-python/lockfile[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/twine[${PYTHON_USEDEP}]
- test? (
- dev-python/testtools[${PYTHON_USEDEP}]
- dev-python/testscenarios[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/python-daemon/python-daemon-2.3.2.ebuild b/dev-python/python-daemon/python-daemon-2.3.2.ebuild
new file mode 100644
index 000000000000..b2605240e226
--- /dev/null
+++ b/dev-python/python-daemon/python-daemon-2.3.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
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+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/
+"
+
+# build system and tests use GPL-3.0+ but none of these files are installed
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86"
+
+RDEPEND="
+ dev-python/lockfile[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ test? (
+ dev-python/testtools[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
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 e916a0ac679d..000000000000
--- a/dev-python/python-dateutil/python-dateutil-2.8.2-r1.ebuild
+++ /dev/null
@@ -1,47 +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_{8..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..9ef80c68d092
--- /dev/null
+++ b/dev-python/python-dateutil/python-dateutil-2.9.0_p0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extensions to the standard Python datetime module"
+HOMEPAGE="
+ https://dateutil.readthedocs.io/
+ https://pypi.org/project/python-dateutil/
+ https://github.com/dateutil/dateutil/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/six-1.5[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/python-dateutil-2.9.0-system-tzdata.patch"
+ "${FILESDIR}/python-dateutil-2.9.0-no-pytest-cov.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't install zoneinfo tarball
+ sed -i '/package_data=/d' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/python-dbusmock/Manifest b/dev-python/python-dbusmock/Manifest
index 5476fd45b80e..ac85c33a9c93 100644
--- a/dev-python/python-dbusmock/Manifest
+++ b/dev-python/python-dbusmock/Manifest
@@ -1,2 +1 @@
-DIST python-dbusmock-0.27.5.tar.gz 89775 BLAKE2B 316bb1ae06c894702d54b7a54d0c422a877c50fb7e8aa4a1bb3c9ac342acdec8f6adaafea86afa5aa041414a283fdd284e27b58728efa234fb8bcbbf92b25f27 SHA512 6e5f5eddfc949c610b64a766434988c142397893e088b8522e6895e31383ec3c14d2f053f9aab17f00137e883a01bf95be35326f7ca97ee8c9780d6704e7d1dc
-DIST python-dbusmock-0.28.4.gh.tar.gz 86900 BLAKE2B af6ca30e15e803e66aec63d40d56d121c93e9fe253d7640111104c8e8c0ea5e0491b53f551d6b454ae7370cbbb7f8fb14c07b5be92a8425efa39e04f962311f5 SHA512 f388425ebb68c20b5110a831879bee0d7d0a3941687fd61c9975c4aaa9950b05709e7fc2a9b885c89935a915f473bb7a9b97e93ca79cf3dc6769911a66aeaea7
+DIST python-dbusmock-0.31.1.tar.gz 98739 BLAKE2B 623aa336c66ad1743d1b86421184c13d647970ffe1a7ffbc2e100c179fb3af98846c96f0a8baccfb9a1f47aa2e380d0bff91c17f967d9c798a97a5fef43bc376 SHA512 5d409e979046cf301c5f8604b43c67abba111315d40e54b59cc5ff6e8fe3bb006591fdac877f750b3a0d56f840337f136b99dda9237de1b00718ef85a3bfcf7b
diff --git a/dev-python/python-dbusmock/python-dbusmock-0.27.5.ebuild b/dev-python/python-dbusmock/python-dbusmock-0.27.5.ebuild
deleted file mode 100644
index 36786f746994..000000000000
--- a/dev-python/python-dbusmock/python-dbusmock-0.27.5.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-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"
-SRC_URI="
- https://github.com/martinpitt/python-dbusmock/releases/download/${PV}/${P}.tar.gz
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/dbus-python[${PYTHON_USEDEP}]
- dev-python/pygobject:3[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # needed for unittest discovery
- > tests/__init__.py || die
- # linter tests, fragile to newer linter versions
- rm tests/test_code.py || die
-
- # Test is removed in master
- # https://github.com/martinpitt/python-dbusmock/commit/424719793c0a8e15ee05451cd58e21fb09914453
- # https://github.com/martinpitt/python-dbusmock/issues/75
- rm tests/test_accounts_service.py dbusmock/templates/accounts_service.py || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/python-dbusmock/python-dbusmock-0.28.4.ebuild b/dev-python/python-dbusmock/python-dbusmock-0.28.4.ebuild
deleted file mode 100644
index 39f9ae8e9046..000000000000
--- a/dev-python/python-dbusmock/python-dbusmock-0.28.4.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=( python3_{8..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 unittest
-
-src_prepare() {
- # needed for unittest discovery
- > tests/__init__.py || die
- # linter tests, fragile to newer linter versions
- rm tests/test_code.py || 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/Manifest b/dev-python/python-debian/Manifest
index 460a88852597..85e2989d4069 100644
--- a/dev-python/python-debian/Manifest
+++ b/dev-python/python-debian/Manifest
@@ -1 +1 @@
-DIST python-debian_0.1.44.tar.xz 179372 BLAKE2B 39d19c46e956231cda7c1fdb3ca89f8ef579d61e6bff06b35114184b2596516b3a01f756ff8e34e9a0dab669658cce7b8fdbfa39ed770df376acf6c4c6fb1401 SHA512 34c627cf32647f196a4b41a8913fd9aaefcfd6c96d21cc8f9798723ac11dac371574f62af9e549437188f2f492cb80445e33f35c72b6fa8212223029371a7b33
+DIST python-debian_0.1.49.tar.xz 191388 BLAKE2B 590e6f7877684caaa5a74f06d335bcf7808960968209cf18bb2cec7e81f33a3b0ff458bbe30264ae5fc015de9357dddb1522b5fd93bf33d0a7fabef1b7dd98f9 SHA512 201ceecdd8c1d3dc0cca0f661407bcfb825a1cba07c528858cc1123ab16afe0df50e338c8cd82ea24230812a9cc136220bd4f0dccbac19ad53efe48eaa25cf6f
diff --git a/dev-python/python-debian/python-debian-0.1.44.ebuild b/dev-python/python-debian/python-debian-0.1.44.ebuild
deleted file mode 100644
index 15b1e315ea43..000000000000
--- a/dev-python/python-debian/python-debian-0.1.44.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2011-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 modules to work with Debian-related data formats"
-HOMEPAGE="
- https://salsa.debian.org/python-debian-team/python-debian/
- https://pypi.org/project/python-debian/
-"
-SRC_URI="mirror://debian/pool/main/${PN::1}/${PN}/${PN}_${PV}.tar.xz"
-
-LICENSE="GPL-2 GPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm x86"
-
-RDEPEND="
- dev-python/chardet[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- app-arch/dpkg
- )
-"
-
-distutils_enable_tests unittest
-
-python_prepare_all() {
- # See debian/rules.
- sed -e "s/__CHANGELOG_VERSION__/${PV}/" lib/debian/_version.py.in \
- > lib/debian/_version.py || die
- distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
- # See debian/rules.
- "${EPYTHON}" lib/debian/doc-debtags > README.debtags || die
-}
-
-python_test() {
- eunittest lib
-}
diff --git a/dev-python/python-debian/python-debian-0.1.49.ebuild b/dev-python/python-debian/python-debian-0.1.49.ebuild
new file mode 100644
index 000000000000..d99f43c8102f
--- /dev/null
+++ b/dev-python/python-debian/python-debian-0.1.49.ebuild
@@ -0,0 +1,48 @@
+# 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_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python modules to work with Debian-related data formats"
+HOMEPAGE="
+ https://salsa.debian.org/python-debian-team/python-debian/
+ https://pypi.org/project/python-debian/
+"
+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"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ app-arch/dpkg
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # See debian/rules.
+ sed -e "s/__CHANGELOG_VERSION__/${PV}/" lib/debian/_version.py.in \
+ > lib/debian/_version.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # See debian/rules.
+ "${EPYTHON}" lib/debian/doc-debtags > README.debtags || die
+}
+
+python_test() {
+ epytest --doctest-modules lib
+}
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 7ad3c35a601d..000000000000
--- a/dev-python/python-discid/python-discid-1.2.0-r1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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 7ed175cc5b2f..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -19,7 +19,7 @@ SRC_URI="
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 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 27be3b3aeb62..000000000000
--- a/dev-python/python-docs/Manifest
+++ /dev/null
@@ -1,7 +0,0 @@
-DIST python-2.7.18-docs-html.tar.bz2 4634932 BLAKE2B c48e2dede15d8186231acf65709641e0844c42e924262d6ee21a55e515aaf4d023bf394681bab780ab83998de9f409685e2d5870506810432145acc6422eff9d SHA512 db39390577ec86f13c9b6b57c01cba36fe9fd89092a773dc94f1a6a19d912759d097c4d80e765d3657b572abc731c1da9e7b4cd4c38065cd444606b906744abe
-DIST python-3.10.3-docs-html.tar.bz2 7261746 BLAKE2B eadabc82f1332ebadb923d38a58e207cc0d850eac116fd217a5ef2317505ca1b4c1a30cddbc3593a32490ea924fc7d8c608c86cfeefbc0972e256b1f8e6f3c75 SHA512 77b5cc35c0ed3dc3b4a6022fb5c2cb5e69aed6b9722243aea3deb6d9a7be4759b46815805ca965ac42d8e723fa1fc859612bdb12ba7dbccb089a02c2a6ddb5ff
-DIST python-3.10.4-docs-html.tar.bz2 7267784 BLAKE2B 15ee98d9b4cd2b31e796dd53f38c127c54a0e76573bac1a1448fc0cd6774ee22d55480654b8933483e1bdbe0a283265b570aa6d8dc5c29d1559889d30adf5620 SHA512 765664aa3e292e63b8935492ff71ab1bb523e1390fc22d88cdde0be99eabc263bc1d8c1f12c58c448413dc8f5c60d61e6f7ef667e8078245b57149f8061260a3
-DIST python-3.7.13-docs-html.tar.bz2 6289395 BLAKE2B d59299c681beaa32e56c06b5662960351bb33050b0c097c82c791d930671b653dbaaedce083232d26e08f022dea0a53f7d5c940ee9bc626a94f3c392ee052042 SHA512 a55b43d90f6677e89870001c88106250b695a02ec01832954cce17e1291d259e8440d379ad91f7e0ed1ac3aa1380da28c3a75f29609b881a8f2bad6bf8f79189
-DIST python-3.8.13-docs-html.tar.bz2 6698035 BLAKE2B 4c26c4bca374a24c33cf67c8bce3b4443e5640be278b46cd9da2eaa8eb44ecb6fe796d1a546ed71412f203c71a43f241c4e9ea1d700758ac59e18ad71a82e8d2 SHA512 244a9236762523f9c9784d00892254c0a8ae824536a649d858a68babac664b6f840bddf3ea41cb55a4f2c00f38180a72060cf5811f01a91f342ef5c41ccbc6b3
-DIST python-3.9.11-docs-html.tar.bz2 6947094 BLAKE2B c15a068f810ced5155e6ba71067ee31c4917c20ca7c9494c621c41abb725e535471d88390dcb30b147f46601ad367c0cb104377655a3757a4e2a5faf65e2bd74 SHA512 42144c14c5a36e03d8951b5a783e16869ad042f46e16724bb0c3ae1fa468ef4144c70619dae02b9fbcf373feae4260b30bc02e00bf452e2432f0807a718be4fc
-DIST python-3.9.12-docs-html.tar.bz2 6954359 BLAKE2B 28f66392a7e9e7d39088b2db99db269aa935b11df1c06b5fdf1267dafc38da647aa8bb3cce6315104deaf0f997f46aaeffd5931fd33b2263af98a745224109f1 SHA512 f8b05a5d8cdff47d3cfcf323c23744597e1868e878f29d983be42ea02e1239c1f387f607dc9991beb3acf110a89a03dedcd4b3309a825a0fa00b9709061a5b23
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.3.ebuild b/dev-python/python-docs/python-docs-3.10.3.ebuild
deleted file mode 100644
index 0d66370bcd05..000000000000
--- a/dev-python/python-docs/python-docs-3.10.3.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.10.4.ebuild b/dev-python/python-docs/python-docs-3.10.4.ebuild
deleted file mode 100644
index 0d66370bcd05..000000000000
--- a/dev-python/python-docs/python-docs-3.10.4.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.7.13.ebuild b/dev-python/python-docs/python-docs-3.7.13.ebuild
deleted file mode 100644
index 0d66370bcd05..000000000000
--- a/dev-python/python-docs/python-docs-3.7.13.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.13.ebuild b/dev-python/python-docs/python-docs-3.8.13.ebuild
deleted file mode 100644
index 0d66370bcd05..000000000000
--- a/dev-python/python-docs/python-docs-3.8.13.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.11.ebuild b/dev-python/python-docs/python-docs-3.9.11.ebuild
deleted file mode 100644
index 0d66370bcd05..000000000000
--- a/dev-python/python-docs/python-docs-3.9.11.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.12.ebuild b/dev-python/python-docs/python-docs-3.9.12.ebuild
deleted file mode 100644
index 0d66370bcd05..000000000000
--- a/dev-python/python-docs/python-docs-3.9.12.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 52e44516f7ff..8fc411a128d9 100644
--- a/dev-python/python-dotenv/Manifest
+++ b/dev-python/python-dotenv/Manifest
@@ -1 +1 @@
-DIST python-dotenv-0.20.0.tar.gz 32069 BLAKE2B 360c878241fe4df4cee2ef59a2a4967e3b5fff7250297e4adb4b7f2c50deaf66bdc76b97bc9a1998bcf3d7da7c5e40c98f93d3e3cc044a2e73e159a85a2d93fa SHA512 85e3953f296ec59130ea212b794557d479efde0ef519303dd3a8fe8da0be2d445728b9b8fd5a4bc13372a0fa322f49d290038538ddca580841d0df1f3758f0b7
+DIST python-dotenv-1.0.1.tar.gz 39115 BLAKE2B 31bc0598abce2ffe5da0f248f56587fc549489c11b21e87ca144654c564701d7a5f952614b21ba12afb49a7bbb6d3753714c6e628485b449e9de2ec9513657f0 SHA512 d03f28f123b19e6e4af05c239686e189e5767108049399c110b80668bfea9d2a3f9222b719863fdef016cbe726a7a77748a18ddad013f7fc21c239ccf680c1da
diff --git a/dev-python/python-dotenv/metadata.xml b/dev-python/python-dotenv/metadata.xml
index 6dc4f6dbff6e..d23104e3b0f6 100644
--- a/dev-python/python-dotenv/metadata.xml
+++ b/dev-python/python-dotenv/metadata.xml
@@ -11,6 +11,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">theskumar/python-dotenv</remote-id>
<remote-id type="pypi">python-dotenv</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/python-dotenv/python-dotenv-0.20.0.ebuild b/dev-python/python-dotenv/python-dotenv-0.20.0.ebuild
deleted file mode 100644
index 7a35ef4c30e9..000000000000
--- a/dev-python/python-dotenv/python-dotenv-0.20.0.ebuild
+++ /dev/null
@@ -1,54 +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_{8..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="amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-DEPEND="
- test? (
- >=dev-python/click-5[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- >=dev-python/sh-1.09[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( CHANGELOG.md README.md )
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=()
- # remove when https://github.com/theskumar/python-dotenv/pull/397
- # is merged
- if ! has_version "dev-python/ipython[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- tests/test_ipython.py
- )
- fi
-
- epytest
-}
-
-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-r1.ebuild b/dev-python/python-editor/python-editor-1.0.4-r1.ebuild
deleted file mode 100644
index 7269812c4253..000000000000
--- a/dev-python/python-editor/python-editor-1.0.4-r1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{7..10} )
-inherit distutils-r1
-
-DESCRIPTION="Programmatically open an editor, capture the result"
-HOMEPAGE="https://github.com/fmoo/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"
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 dc43d461812a..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
@@ -1,20 +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=setuptools
-PYTHON_COMPAT=( pypy3 python3_{8..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 a3778d79aa83..000000000000
--- a/dev-python/python-efl/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST python-efl-1.25.0.tar.xz 9543920 BLAKE2B fc2b951ade2fc2b7c32dd78a84800bc9f225499ee9d8431034b378c86e423181d918aba2c4d056974f3aa2df9cfb9c7b3dcf1c366362387048cde182c0b3128a SHA512 23ed29add25cd2639e9eb144f22c5e2809b8634389f7ab5c4b7ebc19302fde4ebb0fe8c41d7b10923e658676c4dfbb8670fda16675682fd376258beecbc3d9c3
-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.25.0.ebuild b/dev-python/python-efl/python-efl-1.25.0.ebuild
deleted file mode 100644
index 28433bf1957c..000000000000
--- a/dev-python/python-efl/python-efl-1.25.0.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} )
-DISTUTILS_USE_SETUPTOOLS=no
-
-inherit distutils-r1 flag-o-matic
-
-DESCRIPTION="Python bindings for Enlightenment Foundation Libraries"
-HOMEPAGE="https://phab.enlightenment.org/w/projects/python_bindings_for_efl/"
-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}]"
-DEPEND="${RDEPEND}
- dev-python/cython[${PYTHON_USEDEP}]"
-BDEPEND="virtual/pkgconfig
- doc? (
- dev-python/sphinx[${PYTHON_USEDEP}]
- media-gfx/graphviz
- )"
-
-PATCHES=( "${FILESDIR}/python-efl-1.25-clang-crosscompile.patch" )
-
-src_prepare() {
- default
-
- # 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-efl/python-efl-1.26.0.ebuild b/dev-python/python-efl/python-efl-1.26.0.ebuild
deleted file mode 100644
index 58519da4343f..000000000000
--- a/dev-python/python-efl/python-efl-1.26.0.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
-
-PYTHON_COMPAT=( python3_{8..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 b21b5e7cbffb..000000000000
--- a/dev-python/python-email-validator/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST python-email-validator-1.1.3.tar.gz 19863 BLAKE2B 10700b4c6a48c50095045b6e3c9218cd565776b26e17c1c043633e208b9fbd346162cedaa4a1116ec2fccf63b4383438c7e1aef6faf9d2ead5512af7f934675c SHA512 d9087bf56783daf389909e13652a9db8f0408badf454f6239aa20f6a5e9510619d3662cf1567a03d0b14c4bbe81644509cd12975b2aa1b544d644b6c2b2854f4
-DIST python-email-validator-1.2.1.gh.tar.gz 24348 BLAKE2B 7cd19c07bd0b8c467c0f0ec15376f0677305c6025eff5a86854dfd7cad3fe6971e218e724d86d4040af3f590fe5e841e469dea7dc8526031dccb494845848630 SHA512 e758518ef114e08cca0f83c681e6ff7ec6fad54c1e0bba727ee0f8917e93040ed3873ba0207e21a4830208d98637937294c5c28d67c317dc4ad3351c7d3f99a4
diff --git a/dev-python/python-email-validator/python-email-validator-1.1.3.ebuild b/dev-python/python-email-validator/python-email-validator-1.1.3.ebuild
deleted file mode 100644
index 530a94309ad7..000000000000
--- a/dev-python/python-email-validator/python-email-validator-1.1.3.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="A robust email syntax and deliverability validation library"
-HOMEPAGE="https://github.com/JoshData/python-email-validator"
-SRC_URI="https://github.com/JoshData/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="CC0-1.0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/idna-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/dnspython-1.15.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local deselect=(
- # these tests rely on access to gmail.com
- tests/test_main.py::test_deliverability_no_records
- tests/test_main.py::test_deliverability_found
- tests/test_main.py::test_deliverability_fails
- tests/test_main.py::test_validate_email__with_caching_resolver
- tests/test_main.py::test_validate_email__with_configured_resolver
- # these tests rely on example.com being resolvable
- 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
- )
-
- epytest ${deselect[@]/#/--deselect }
-}
diff --git a/dev-python/python-email-validator/python-email-validator-1.2.1.ebuild b/dev-python/python-email-validator/python-email-validator-1.2.1.ebuild
deleted file mode 100644
index 3e5b04ba445d..000000000000
--- a/dev-python/python-email-validator/python-email-validator-1.2.1.ebuild
+++ /dev/null
@@ -1,44 +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_{8..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="amd64 arm arm64 hppa ~ia64 ~loong 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 718557b92d81..491adc0621cb 100644
--- a/dev-python/python-engineio/Manifest
+++ b/dev-python/python-engineio/Manifest
@@ -1,3 +1 @@
-DIST python-engineio-4.3.2.gh.tar.gz 299722 BLAKE2B 87dece98d72b7b0384e3b9d57062a3eaa7aeb80ac3f2f685d50b8816e122398ffd54da1f4b99a90a1f535e2d0f0d282167a682de022373e6108f7e91f8689aa1 SHA512 59933a0093167042a3873ba1561d2859359a5ad160f6b7b5c19478b1f73d1bd068779942c8bfc44dd5a8d9f155359571298b960bcd217aab341bdfec35bc5b28
-DIST python-engineio-4.3.3.gh.tar.gz 300494 BLAKE2B 302de4432717154258748602598d455650e858d3193127054abbd6d4e070255b26f38d08f620769b4782b29c43a9e6255896ff1192878c23b033168328036f90 SHA512 a8022b853c0a249e269c1e682f28d67022a2bd44975d67ea55e5244a02b540cded8042d7e9cbc5461f2a12970b64c00fa6d2e1a91ce93926fb0eace60096dccc
-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.2-r2.ebuild b/dev-python/python-engineio/python-engineio-4.3.2-r2.ebuild
deleted file mode 100644
index 60800b43a242..000000000000
--- a/dev-python/python-engineio/python-engineio-4.3.2-r2.ebuild
+++ /dev/null
@@ -1,67 +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_{8..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
-# eventlet doesn't yet support Python 3.10, so let's work around it
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/eventlet[${PYTHON_USEDEP}]
- ' python3_{8,9} )
-
- dev-python/gevent[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- www-servers/tornado[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # Both want websocket (server) which isn't strictly required and fails
- # because it can't find it. Think it needs right provider depending on
- # whether it chose gevent/eventlet/werkzeug. Not worth the effort.
- tests/common/test_server.py::TestServer::test_connect
- tests/common/test_server.py::TestServer::test_upgrades
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/alabaster
-
-python_test() {
- if [[ ${EPYTHON} != python3.8 && ${EPYTHON} != python3.9 ]] ; then
- EPYTEST_IGNORE+=(
- tests/common/test_async_eventlet.py
- )
-
- EPYTEST_DESELECT+=(
- tests/common/test_server.py::TestServer::test_async_mode_eventlet
- )
- fi
-
- epytest
-}
diff --git a/dev-python/python-engineio/python-engineio-4.3.3.ebuild b/dev-python/python-engineio/python-engineio-4.3.3.ebuild
deleted file mode 100644
index 3853dc3895da..000000000000
--- a/dev-python/python-engineio/python-engineio-4.3.3.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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
-# eventlet doesn't yet support Python 3.10, so let's work around it
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/eventlet[${PYTHON_USEDEP}]
- ' python3_{8,9} )
-
- dev-python/gevent[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- www-servers/tornado[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/alabaster
-
-python_test() {
- if ! has_version "dev-python/eventlet[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- tests/common/test_async_eventlet.py
- )
-
- EPYTEST_DESELECT+=(
- 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
- )
- fi
-
- epytest
-}
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 f9c4a5c25eb8..000000000000
--- a/dev-python/python-engineio/python-engineio-4.3.4.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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
-# eventlet doesn't yet support Python 3.10, so let's work around it
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/eventlet[${PYTHON_USEDEP}]
- ' python3_{8,9} )
-
- dev-python/gevent[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- www-servers/tornado[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/alabaster
-
-python_test() {
- if ! has_version "dev-python/eventlet[${PYTHON_USEDEP}]"; then
- local EPYTEST_IGNORE=(
- tests/common/test_async_eventlet.py
- )
-
- local EPYTEST_DESELECT=(
- 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
- )
- fi
-
- epytest
-}
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-etcd/Manifest b/dev-python/python-etcd/Manifest
deleted file mode 100644
index 50ae4ac4a574..000000000000
--- a/dev-python/python-etcd/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-etcd-0.4.5.tar.gz 37270 BLAKE2B cdeae8ef7d668c7737f48a8f1513b5e0177b074d25d7f9d522051585699f11beadc26e9588209561f37a20ac0b4c9793f675bff07634ccdadf9720443e318582 SHA512 c59d7a67492a2e4e72b1ae3ea73ac85a073b9d4516d1ebc48601ba67ac9609fbc45574d97e8dfae3ed4f511f090343ff980160043676252125ce2e2edc7bd154
diff --git a/dev-python/python-etcd/metadata.xml b/dev-python/python-etcd/metadata.xml
deleted file mode 100644
index 9f4ab9d0dcbe..000000000000
--- a/dev-python/python-etcd/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>
- <upstream>
- <bugs-to>https://github.com/jplana/python-etcd/issues</bugs-to>
- <changelog>https://raw.githubusercontent.com/jplana/python-etcd/master/NEWS.txt</changelog>
- <doc>https://python-etcd.readthedocs.io/</doc>
- <remote-id type="github">jplana/python-etcd</remote-id>
- <remote-id type="pypi">python-etcd</remote-id>
- </upstream>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-python/python-etcd/python-etcd-0.4.5-r1.ebuild b/dev-python/python-etcd/python-etcd-0.4.5-r1.ebuild
deleted file mode 100644
index 7f26661fb33c..000000000000
--- a/dev-python/python-etcd/python-etcd-0.4.5-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{7,8} )
-
-inherit distutils-r1
-
-DESCRIPTION="A python client for etcd"
-HOMEPAGE="
- https://github.com/jplana/python-etcd/
- https://pypi.org/project/python-etcd/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="test"
-
-RDEPEND="dev-python/dnspython[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.7.1[${PYTHON_USEDEP}]"
-
-DEPEND="${RDEPEND}
- test? (
- dev-db/etcd
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
- )"
-
-python_test() {
- esetup.py test
-}
diff --git a/dev-python/python-evdev/Manifest b/dev-python/python-evdev/Manifest
deleted file mode 100644
index caa3506ed4ca..000000000000
--- a/dev-python/python-evdev/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST python-evdev-1.5.0.tar.gz 86384 BLAKE2B 6cb6fb634d974b8ab15722def24037019590f510792fcf2bb64d8c2ffec0871ab4075674eb45a737185e4b42e39d0cd556760d51b13b5a97b79d3ee64cfd342f SHA512 27ceca723a0157fe9efa2f7aad8bb790c63d2b8d399f629eaf11fb387f3ebde0885b2d8a5297492968d625d8d9b186877e074334115e70551a1b121c8864339d
-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.5.0-r1.ebuild b/dev-python/python-evdev/python-evdev-1.5.0-r1.ebuild
deleted file mode 100644
index a1df11de9086..000000000000
--- a/dev-python/python-evdev/python-evdev-1.5.0-r1.ebuild
+++ /dev/null
@@ -1,37 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library for evdev bindings"
-HOMEPAGE="https://python-evdev.readthedocs.io/"
-SRC_URI="
- https://github.com/gvalkov/${PN}/archive/v${PV}.tar.gz
- -> ${P}.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-evdev/python-evdev-1.6.0.ebuild b/dev-python/python-evdev/python-evdev-1.6.0.ebuild
deleted file mode 100644
index 2399c0a71faf..000000000000
--- a/dev-python/python-evdev/python-evdev-1.6.0.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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 cc6294fe56a1..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{7..10} )
+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 633ce913a8c4..258aefeb919c 100644
--- a/dev-python/python-glanceclient/Manifest
+++ b/dev-python/python-glanceclient/Manifest
@@ -1,2 +1 @@
-DIST python-glanceclient-4.0.0.tar.gz 202815 BLAKE2B a1d6dc46ca77c67bd42e6603b36652cc2ad9464b172b0bea778aa87130a6ed68613dda68db1ad5215e6d2ea34b9ecd96bc0ce853b94fc137b80aa7c85763622e SHA512 31ce9ee865ba543674a9ccc0267f1e02308e444bedfe1728ed59c20abe77cd7936b059c5adb0a8f73e5bf999c5ac5a34ac3cafe2e695718535ead786916e2414
-DIST python-glanceclient-4.0.1.tar.gz 202810 BLAKE2B ccc328aac739979d9ef3b3c4b6cccbef0865860827112c73a7d15d257f1735c69bac54d5771a27d6e6dbfaada4825b624d312a17195b081f3b5800b662c3f926 SHA512 23e931741430c0ba9606b5f013c6724285f8d49691c092c11db97434d963bd257639df769cdbc0e18ea2f5a57c13b03c887e8a091fdb40b292ae6a33f28b4e31
+DIST python-glanceclient-4.5.0.tar.gz 205909 BLAKE2B 5e48abd2c869d4f3a0bfbfc593950754fd165bd36a98bc4358d88a1b64f6892b6633f10421999733c014fe8f1664d1181b5019739997139c1ef5d604194cfda8 SHA512 141f03fa55012981214283e961c4d4020a2fa4dc87b7cbc323d87c536b88e98f4798b59d83dc627a5846c5437fdac963fb34a3db444c20410a01441bf5838fa7
diff --git a/dev-python/python-glanceclient/python-glanceclient-4.0.0.ebuild b/dev-python/python-glanceclient/python-glanceclient-4.0.0.ebuild
deleted file mode 100644
index ee5d6545a356..000000000000
--- a/dev-python/python-glanceclient/python-glanceclient-4.0.0.ebuild
+++ /dev/null
@@ -1,48 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A client for the OpenStack Glance API"
-HOMEPAGE="https://github.com/openstack/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}]
- )
-"
-
-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.0.1.ebuild b/dev-python/python-glanceclient/python-glanceclient-4.0.1.ebuild
deleted file mode 100644
index 448af8dee379..000000000000
--- a/dev-python/python-glanceclient/python-glanceclient-4.0.1.ebuild
+++ /dev/null
@@ -1,48 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A client for the OpenStack Glance API"
-HOMEPAGE="https://github.com/openstack/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}]
- )
-"
-
-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 9d8e932b2c51..fd18b8116071 100644
--- a/dev-python/python-gnupg/Manifest
+++ b/dev-python/python-gnupg/Manifest
@@ -1,2 +1,2 @@
-DIST python-gnupg-0.4.9.tar.gz 59982 BLAKE2B 09ca33bf181239d2ed39930e2b017f30e5c3ff158ccf937a1a1e72366cd144bc7327c8a57517840f976b10fbf542f8181721fa6e203cf0b67766b3fea9ca2d16 SHA512 e59685bea966addbfacfd5516601c518c9ccd7a828250584a00dca5c2062b30bd859ae73b467bd16db60abd800bd0b66f68177e56d3c48654416a294e72f3e8f
-DIST python-gnupg-0.4.9.tar.gz.asc 801 BLAKE2B d95b5e5bb5613adfb5705851ba1f1ff4a9331bfedb452d3f15e7838aaaf66b9b161664e1dc7f16acc4490eb2647dcf6ed1d1cf9b5272bd9523527b7329917cfb SHA512 ca91795ae7c43e825f35bccbbb3464e6f9e60742f28d1e215e97680c4de454b07375d66593553ace53d6fc9ceb423253a34f3ea6a5bc1b27e7da9b0ba3c385f2
+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.4.9-r1.ebuild b/dev-python/python-gnupg/python-gnupg-0.4.9-r1.ebuild
deleted file mode 100644
index 9ce2e727de23..000000000000
--- a/dev-python/python-gnupg/python-gnupg-0.4.9-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=( pypy3 python3_{8..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="amd64 ~arm ~arm64 ~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 586227493cab..617546052b9d 100644
--- a/dev-python/python-ironicclient/Manifest
+++ b/dev-python/python-ironicclient/Manifest
@@ -1,2 +1,2 @@
-DIST python-ironicclient-4.11.0.tar.gz 220770 BLAKE2B a653cf04497a4df9627ed5026094690d0569dd7d6c55abf3a3223fee8cbc14e450106645ed1e4461cb3931f2ca49c8df47ca9e8e2ec9478cf15fcc0623d19379 SHA512 863429269807f759a864e427206d29a68b7431ce33009e1b6d3a630ab154e66b85b9f61dd90303a681a5ed459005af1686edf056eb9a63cfb6de1f1eda85bbb5
-DIST python-ironicclient-5.0.0.tar.gz 220583 BLAKE2B 8de728995db55d6786349ad390234c02b2dd38cb0119569c3f2af3a88789bae1b9fb6a43300502f083f4c01e75476d707a8b86576b509b4f3dbf750038f915b9 SHA512 3bee0be64daeee1ae3b88f00a3c3bf4a96a0ad10e7c55e60fd5342925e836a753668e32284b64aee4bf9d88b9f4379ad66287516559738b817efe1e815bb483d
+DIST python-ironicclient-5.5.0.tar.gz 228869 BLAKE2B 0dbced62dee32bc2a25add2f81390fa7e581978deef1ae8fbb1cac7ec8b219d201d13d64f8621a34886b1af765335ffe4bf591867a2288499f37fe5b88cd4fa9 SHA512 bd6cbca3e5bd1675d130089298a043352bdb842f6f7b06f526b956c0fcb0eff4f9d6f58389c0bdce1de4496a6befa91891d1ff2bea48bec0512d8d28285f7323
+DIST python-ironicclient-5.6.0.tar.gz 229569 BLAKE2B 2db608463479fc5bb7061562d8617d96244e80276790ae2829373d9ba02412027658c33c5f22d6fd921bf84599584c588c462b4480d294e288dc063f7c73e274 SHA512 133de151e5a884c0c9840b72236f5d99e5e197889ed2e80545174d8754b09e65c370c6a97c367ed4c4ca76f593e665e6481cd45c266fdf3ba7fc348307539907
diff --git a/dev-python/python-ironicclient/python-ironicclient-4.11.0.ebuild b/dev-python/python-ironicclient/python-ironicclient-4.11.0.ebuild
deleted file mode 100644
index f27563650b66..000000000000
--- a/dev-python/python-ironicclient/python-ironicclient-4.11.0.ebuild
+++ /dev/null
@@ -1,46 +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_{8..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.0.0.ebuild b/dev-python/python-ironicclient/python-ironicclient-5.0.0.ebuild
deleted file mode 100644
index 39d952acbce6..000000000000
--- a/dev-python/python-ironicclient/python-ironicclient-5.0.0.ebuild
+++ /dev/null
@@ -1,46 +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_{8..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-ironicclient/python-ironicclient-5.6.0.ebuild b/dev-python/python-ironicclient/python-ironicclient-5.6.0.ebuild
new file mode 100644
index 000000000000..e019c425e680
--- /dev/null
+++ b/dev-python/python-ironicclient/python-ironicclient-5.6.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for the Ironic API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-ironicclient/
+ https://github.com/openstack/python-ironicclient/
+ https://pypi.org/project/python-ironicclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.18.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/python-jose/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 91e269867da3..000000000000
--- a/dev-python/python-jose/python-jose-3.3.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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
new file mode 100644
index 000000000000..417f8667fea7
--- /dev/null
+++ b/dev-python/python-json-logger/Manifest
@@ -0,0 +1 @@
+DIST python-json-logger-2.0.7.tar.gz 10508 BLAKE2B 818abaa8007db2226beb7e9f9b6326c4c59e11827c740496bfde491a495b8580b74c483b4bead58525942009ae84643758b8fec4dc0ba85e2c1c2deff2445bcf SHA512 a3056f6c07386410204e65d027504df49d890b5c4577a0460077bc698c9104ab8720d6db107153766611f4f22141c0b2b57dbdacba75a7078638945937922f5e
diff --git a/dev-python/python-json-logger/metadata.xml b/dev-python/python-json-logger/metadata.xml
new file mode 100644
index 000000000000..bd902508cd2f
--- /dev/null
+++ b/dev-python/python-json-logger/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription lang="en">
+This library is provided to allow standard python logging to output log data as json objects. With JSON we can make our logs more readable by machines and we can stop writing custom parsers for syslog type records.</longdescription>
+ <upstream>
+ <remote-id type="github">madzak/python-json-logger</remote-id>
+ <remote-id type="pypi">python-json-logger</remote-id>
+ </upstream>
+</pkgmetadata>
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 b1b492ec8ce4..beb90557e4f3 100644
--- a/dev-python/python-keystoneclient/Manifest
+++ b/dev-python/python-keystoneclient/Manifest
@@ -1,2 +1 @@
-DIST python-keystoneclient-4.5.0.tar.gz 325120 BLAKE2B 4511cb381ebfc11afefef0dbb7b9962efd2bbb5ac7455386ef4e831459614dfd51570cfaa1be9672936a6ed45d58b9b29e8326830840e80ffdb758089cbab887 SHA512 d3a5034bd05843b733410d4c6fc2c271edb25c837b50ba801031b45a00c0632b4420f2f4dd24dd25e78bf71b5ae31e2ec6b303d85aa4ecea0a89a49b5c67533d
-DIST python-keystoneclient-5.0.0.tar.gz 325208 BLAKE2B 86feea8d226976ee9fc568d10514d56d378727a11fada2d3f7acb1f95a33cbdcef165e8c5add656e53874463d81f8250905753aa03234de9dc87cf8d92213309 SHA512 94010e8a681817cae7c0555968a34102a430366b81393badc7661fd13eeea17e4e82d2065385a41c569c0e6ee89f4ccf3308a909186fbe2d29d7f46c5795d95b
+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-4.5.0.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-4.5.0.ebuild
deleted file mode 100644
index 97d6d25ea891..000000000000
--- a/dev-python/python-keystoneclient/python-keystoneclient-4.5.0.ebuild
+++ /dev/null
@@ -1,52 +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_{8..10} )
-
-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.0.0.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-5.0.0.ebuild
deleted file mode 100644
index 1d319bef1a1a..000000000000
--- a/dev-python/python-keystoneclient/python-keystoneclient-5.0.0.ebuild
+++ /dev/null
@@ -1,52 +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_{8..10} )
-
-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.ebuild b/dev-python/python-keyutils/python-keyutils-0.6.ebuild
deleted file mode 100644
index c2ee4ccc7bfd..000000000000
--- a/dev-python/python-keyutils/python-keyutils-0.6.ebuild
+++ /dev/null
@@ -1,31 +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"
-
-DEPEND="sys-apps/keyutils"
-RDEPEND="${DEPEND}"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- default
- sed -i -e '/pytest-runner/d' setup.py || 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 295486cd5e19..b46fb1d0095b 100644
--- a/dev-python/python-ldap/Manifest
+++ b/dev-python/python-ldap/Manifest
@@ -1,2 +1 @@
-DIST python-ldap-3.4.0_p20220420.tar.gz 377780 BLAKE2B 433178138587dc09bfe1e6a8e894c001baf6e07c76266ca9d7c56b279f9e9ca5a642528a5869a837a9ee5576a2cf17afdeea313b4a8bc930926397738d6a5daf SHA512 0dfe8ff4737a630a08c7cd4d94f30c78fd1e0558ffc0609439d95ef064b72aef9d4ec4cdc0d40aaf1fc46396bdc0cbbdf0bf3cf6bb5e94bf8a9e3083b9ba1bf4
-DIST python-ldap-3.4.2.gh.tar.gz 377981 BLAKE2B 6efa768dd035f8867abacfd9cc1b9ceca1a468c79550d2529130bd8eaf7546e4474d5798cf9090a9a74f05286ca30a33b8e54821292b8aa2e27358f93d72cb7b SHA512 3a68dd2c160d7d74061d9c9eb060be6faeec1f607f3853722f969d7d1dc76c7da160aa20a4c139feb4d2eba6dbf2e2cfb02551cabd6fbf413654f32f73e94c15
+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.0_p20220420.ebuild b/dev-python/python-ldap/python-ldap-3.4.0_p20220420.ebuild
deleted file mode 100644
index 93023b5578a9..000000000000
--- a/dev-python/python-ldap/python-ldap-3.4.0_p20220420.ebuild
+++ /dev/null
@@ -1,96 +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_{8..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
- # Snapshot for various new OpenLDAP fixes, bug #835637
- # (There were a bunch of followup commits and general other
- # serious bugfixes we want.)
- MY_COMMIT="7f30c4721ea2ca4373ed7860e6467781f0afa758"
-
- #SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- SRC_URI="https://github.com/python-ldap/python-ldap/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}"/${PN}-${MY_COMMIT}
-
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv 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-ldap/python-ldap-3.4.2.ebuild b/dev-python/python-ldap/python-ldap-3.4.2.ebuild
deleted file mode 100644
index d4561b4d2481..000000000000
--- a/dev-python/python-ldap/python-ldap-3.4.2.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{8..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 6bcb8bc92611..000000000000
--- a/dev-python/python-ldap/python-ldap-9999.ebuild
+++ /dev/null
@@ -1,88 +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_{8..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-levenshtein/Manifest b/dev-python/python-levenshtein/Manifest
deleted file mode 100644
index f40b2e341618..000000000000
--- a/dev-python/python-levenshtein/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-Levenshtein-0.12.2.tar.gz 50502 BLAKE2B d8992d30639e36aac1b85fada8f5273ed867aa3019208ffeb9972e999dad783d4ee16e1f6988c9306eb80f622b61fcf3a0a937b380c7a5acf50223268ed8de1d SHA512 97eac9d19121758af7620ad3963846e48434ceabb5376a83f28452015adf1a620620bfb53edb1c4f60b0fc8ec2b0faf35a105d7e2a0fc5df7a45fce81ba0dcdb
diff --git a/dev-python/python-levenshtein/metadata.xml b/dev-python/python-levenshtein/metadata.xml
deleted file mode 100644
index 414d22588236..000000000000
--- a/dev-python/python-levenshtein/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-Levenshtein</remote-id>
- <remote-id type="github">ztane/python-Levenshtein</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/python-levenshtein/python-levenshtein-0.12.2.ebuild b/dev-python/python-levenshtein/python-levenshtein-0.12.2.ebuild
deleted file mode 100644
index eb68abba9ce0..000000000000
--- a/dev-python/python-levenshtein/python-levenshtein-0.12.2.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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/${PN:0: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/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 b9e02fa15460..000000000000
--- a/dev-python/python-lhafile/python-lhafile-0.3.0.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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/metadata.xml b/dev-python/python-libevdev/metadata.xml
deleted file mode 100644
index 74bbd50a95f9..000000000000
--- a/dev-python/python-libevdev/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>x11@gentoo.org</email>
- <name>X11</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">libevdev</remote-id>
- </upstream>
-</pkgmetadata>
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 9042c9c55522..000000000000
--- a/dev-python/python-libevdev/python-libevdev-0.11.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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 6e27e4516cb9..000000000000
--- a/dev-python/python-linux-procfs/python-linux-procfs-0.6.3.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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/python-lsp-black-1.2.1.ebuild b/dev-python/python-lsp-black/python-lsp-black-1.2.1.ebuild
deleted file mode 100644
index c94c7d3401f6..000000000000
--- a/dev-python/python-lsp-black/python-lsp-black-1.2.1.ebuild
+++ /dev/null
@@ -1,36 +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_{8..10} )
-
-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? (
- dev-python/toml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/python-lsp-black/python-lsp-black-2.0.0.ebuild b/dev-python/python-lsp-black/python-lsp-black-2.0.0.ebuild
new file mode 100644
index 000000000000..ea5f6f6f18da
--- /dev/null
+++ b/dev-python/python-lsp-black/python-lsp-black-2.0.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Black plugin for the Python LSP Server"
+HOMEPAGE="
+ https://github.com/python-lsp/python-lsp-black/
+ https://pypi.org/project/python-lsp-black/
+"
+SRC_URI="
+ https://github.com/python-lsp/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ >=dev-python/python-lsp-server-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/black-23.11.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ !!<dev-python/python-lsp-black-2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/python-lsp-jsonrpc/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 0bfcf0625003..000000000000
--- a/dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.0.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 7c7e9eae8388..40b8902654af 100644
--- a/dev-python/python-lsp-server/Manifest
+++ b/dev-python/python-lsp-server/Manifest
@@ -1,2 +1 @@
-DIST python-lsp-server-1.4.1.tar.gz 76416 BLAKE2B 65638b876182c478434c563371b802367fb8439820ccf57e4404dc1507f3cd514ae5d738d418386607db606025fe5126a533c656ec3fede53fdcfd364a4292cf SHA512 4c9171adc88d219c80055ebbc76566583925129969467c156277b52de9b5981b74b11b9961247045ea98cd9e51e146b2d606c8351a7be5db76f6f4e0e4d7195c
-DIST python-lsp-server-1.5.0.tar.gz 82371 BLAKE2B 3ff388a95f7ae9f4a8e1b41244da1d05e9310e1edcbc7cbd2b17bd4fa0cbe696f31885b2093afb12e879c875b2bfa721cf4e5e9876002f145cf1633238f6238a SHA512 4e3463dc737b4f5f2af0faa8ab2eb10bea8208d4633c22acde9c8ffa2a888b2350e5994dca2a66031e301224a2646660f627d7fc238cbf5103e82a0453a9a809
+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.4.1-allow-mccabe-0.7.patch b/dev-python/python-lsp-server/files/python-lsp-server-1.4.1-allow-mccabe-0.7.patch
deleted file mode 100644
index a31201ab6b15..000000000000
--- a/dev-python/python-lsp-server/files/python-lsp-server-1.4.1-allow-mccabe-0.7.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/setup.cfg b/setup.cfg
-index 156145f..c46fcf3 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -26,7 +26,7 @@ exclude = contrib; docs; test; test.*; test.plugins; test.plugins.*
- all =
- autopep8>=1.6.0,<1.7.0
- flake8>=4.0.0,<4.1.0
-- mccabe>=0.6.0,<0.7.0
-+ mccabe>=0.6.0,<0.8.0
- pycodestyle>=2.8.0,<2.9.0
- pydocstyle>=2.0.0
- pyflakes>=2.4.0,<2.5.0
-@@ -35,7 +35,7 @@ all =
- yapf
- autopep8 = autopep8>=1.6.0,<1.7.0
- flake8 = flake8>=4.0.0,<4.1.0
--mccabe = mccabe>=0.6.0,<0.7.0
-+mccabe = mccabe>=0.6.0,<0.8.0
- pycodestyle = pycodestyle>=2.8.0,<2.9.0
- pydocstyle = pydocstyle>=2.0.0
- pyflakes = pyflakes>=2.4.0,<2.5.0
diff --git a/dev-python/python-lsp-server/files/python-lsp-server-1.5.0-allow-mccabe-0.7.patch b/dev-python/python-lsp-server/files/python-lsp-server-1.5.0-allow-mccabe-0.7.patch
deleted file mode 100644
index ae8d0944b8f4..000000000000
--- a/dev-python/python-lsp-server/files/python-lsp-server-1.5.0-allow-mccabe-0.7.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/pyproject.toml b/pyproject.toml
-index ff60a18..2d292b7 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -28,7 +28,7 @@ Homepage = "https://github.com/python-lsp/python-lsp-server"
- all = [
- "autopep8>=1.6.0,<1.7.0",
- "flake8>=4.0.0,<4.1.0",
-- "mccabe>=0.6.0,<0.7.0",
-+ "mccabe>=0.6.0,<0.8.0",
- "pycodestyle>=2.8.0,<2.9.0",
- "pydocstyle>=2.0.0",
- "pyflakes>=2.4.0,<2.5.0",
-@@ -39,7 +39,7 @@ all = [
- ]
- autopep8 = ["autopep8>=1.6.0,<1.7.0"]
- flake8 = ["flake8>=4.0.0,<4.1.0"]
--mccabe = ["mccabe>=0.6.0,<0.7.0"]
-+mccabe = ["mccabe>=0.6.0,<0.8.0"]
- pycodestyle = ["pycodestyle>=2.8.0,<2.9.0"]
- pydocstyle = ["pydocstyle>=2.0.0"]
- pyflakes = ["pyflakes>=2.4.0,<2.5.0"]
diff --git a/dev-python/python-lsp-server/metadata.xml b/dev-python/python-lsp-server/metadata.xml
index b6fc9ef2187d..c31d89fbbe00 100644
--- a/dev-python/python-lsp-server/metadata.xml
+++ b/dev-python/python-lsp-server/metadata.xml
@@ -12,6 +12,7 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">python-lsp-server</remote-id>
+ <remote-id type="github">python-lsp/python-lsp-server</remote-id>
</upstream>
<use>
<flag name="all-plugins">Pull in all optional plugins</flag>
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.4.1-r1.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.4.1-r1.ebuild
deleted file mode 100644
index 5b50d2c382e3..000000000000
--- a/dev-python/python-lsp-server/python-lsp-server-1.4.1-r1.ebuild
+++ /dev/null
@@ -1,90 +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_{8..10} )
-
-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/autopep8-1.7.0[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- >=dev-python/flake8-4.0.0[${PYTHON_USEDEP}]
- <dev-python/flake8-4.1.0[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- >=dev-python/mccabe-0.6.0[${PYTHON_USEDEP}]
- <dev-python/mccabe-0.8.0[${PYTHON_USEDEP}]
- <dev-python/numpy-1.23.0[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.8.0[${PYTHON_USEDEP}]
- <dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.4.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}]
- )
-"
-
-RDEPEND="
- >=dev-python/jedi-0.17.2[${PYTHON_USEDEP}]
- <dev-python/jedi-0.19.0[${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/autopep8-1.7.0[${PYTHON_USEDEP}]
- >=dev-python/flake8-4.0.0[${PYTHON_USEDEP}]
- <dev-python/flake8-4.1.0[${PYTHON_USEDEP}]
- >=dev-python/mccabe-0.6.0[${PYTHON_USEDEP}]
- <dev-python/mccabe-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.8.0[${PYTHON_USEDEP}]
- <dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.4.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}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-allow-mccabe-0.7.patch"
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # remove pytest-cov dep
- sed -i -e '0,/addopts/I!d' setup.cfg || 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.4.1.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.4.1.ebuild
deleted file mode 100644
index 215fdd8a49a4..000000000000
--- a/dev-python/python-lsp-server/python-lsp-server-1.4.1.ebuild
+++ /dev/null
@@ -1,86 +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_{8..10} )
-
-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/autopep8-1.7.0[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- >=dev-python/flake8-4.0.0[${PYTHON_USEDEP}]
- <dev-python/flake8-4.1.0[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- >=dev-python/mccabe-0.6.0[${PYTHON_USEDEP}]
- <dev-python/mccabe-0.7.0[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.8.0[${PYTHON_USEDEP}]
- <dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.4.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}]
- )
-"
-
-RDEPEND="
- >=dev-python/jedi-0.17.2[${PYTHON_USEDEP}]
- <dev-python/jedi-0.19.0[${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/autopep8-1.7.0[${PYTHON_USEDEP}]
- >=dev-python/flake8-4.0.0[${PYTHON_USEDEP}]
- <dev-python/flake8-4.1.0[${PYTHON_USEDEP}]
- >=dev-python/mccabe-0.6.0[${PYTHON_USEDEP}]
- <dev-python/mccabe-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.8.0[${PYTHON_USEDEP}]
- <dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.4.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}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # remove pytest-cov dep
- sed -i -e '0,/addopts/I!d' setup.cfg || 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.5.0.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.5.0.ebuild
deleted file mode 100644
index 2993d158f174..000000000000
--- a/dev-python/python-lsp-server/python-lsp-server-1.5.0.ebuild
+++ /dev/null
@@ -1,94 +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_{8..10} )
-
-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"
-
-IUSE="all-plugins"
-
-BDEPEND="
- test? (
- >=dev-python/autopep8-1.6.0[${PYTHON_USEDEP}]
- <dev-python/autopep8-1.7.0[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- >=dev-python/flake8-4.0.0[${PYTHON_USEDEP}]
- <dev-python/flake8-4.1.0[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- >=dev-python/mccabe-0.6.0[${PYTHON_USEDEP}]
- <dev-python/mccabe-0.8.0[${PYTHON_USEDEP}]
- <dev-python/numpy-1.23.0[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.8.0[${PYTHON_USEDEP}]
- <dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.4.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}]
- <dev-python/whatthepatch-2.0.0[${PYTHON_USEDEP}]
- )
-"
-
-RDEPEND="
- >=dev-python/jedi-0.17.2[${PYTHON_USEDEP}]
- <dev-python/jedi-0.19.0[${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/autopep8-1.7.0[${PYTHON_USEDEP}]
- >=dev-python/flake8-4.0.0[${PYTHON_USEDEP}]
- <dev-python/flake8-4.1.0[${PYTHON_USEDEP}]
- >=dev-python/mccabe-0.6.0[${PYTHON_USEDEP}]
- <dev-python/mccabe-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.8.0[${PYTHON_USEDEP}]
- <dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.4.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}]
- <dev-python/whatthepatch-2.0.0[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-allow-mccabe-0.7.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 aa983b7eb9dd..000000000000
--- a/dev-python/python-ly/python-ly-0.9.6.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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 2f9018b2c0b3..ea877488ed31 100644
--- a/dev-python/python-ly/python-ly-0.9.7.ebuild
+++ b/dev-python/python-ly/python-ly-0.9.7.ebuild
@@ -1,16 +1,21 @@
-# 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_{8..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/python-lzo-1.14-r1.ebuild b/dev-python/python-lzo/python-lzo-1.14-r1.ebuild
deleted file mode 100644
index 74aba4147cc0..000000000000
--- a/dev-python/python-lzo/python-lzo-1.14-r1.ebuild
+++ /dev/null
@@ -1,29 +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_{8..10} )
-
-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}"
-
-# 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 nose
-
-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 33681945ad4a..8b18fbc7f7e8 100644
--- a/dev-python/python-magic/python-magic-0.4.27.ebuild
+++ b/dev-python/python-magic/python-magic-0.4.27.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..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 f09124cc9fd6..000000000000
--- a/dev-python/python-markdown-math/python-markdown-math-0.8.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 cebb6fa891e1..000000000000
--- a/dev-python/python-memcached/python-memcached-1.59-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{8..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 6a504ac18564..000000000000
--- a/dev-python/python-mimeparse/python-mimeparse-1.6.0-r3.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_{8..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 ~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-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 8f0d08192a74..000000000000
--- a/dev-python/python-mpd/python-mpd-3.0.5.ebuild
+++ /dev/null
@@ -1,46 +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_{8..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..22b8437cf70f 100644
--- a/dev-python/python-mpv/Manifest
+++ b/dev-python/python-mpv/Manifest
@@ -1 +1,2 @@
-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
+DIST python-mpv-1.0.6.gh.tar.gz 212503 BLAKE2B f0b63116f90b0d9e0be7d1f7e3586390d1486a89fd2eee8362f0e569b397a9d61dd597b39307559ea4206fdb98c70bbb09e07fbcbc64d60026b21522c1396053 SHA512 f5848f62f978372b04d09e89e9d04b64ff0c437a1f9f63c4ba4751bbe4a8bd0eb20e7503a3f25c7ca64ef0ab5c91db8be68473dbc29a04d78a9246ed784bcc38
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 a7486b1a5621..000000000000
--- a/dev-python/python-mpv/python-mpv-1.0.1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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-mpv/python-mpv-1.0.6.ebuild b/dev-python/python-mpv/python-mpv-1.0.6.ebuild
new file mode 100644
index 000000000000..6b9246e27c40
--- /dev/null
+++ b/dev-python/python-mpv/python-mpv-1.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
+
+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
new file mode 100644
index 000000000000..6c3ba688e6d9
--- /dev/null
+++ b/dev-python/python-multipart/Manifest
@@ -0,0 +1 @@
+DIST python-multipart-0.0.9.gh.tar.gz 49448 BLAKE2B 9ab4026dd4f45e60fd3bd781b178258edc9841e2a999ba6d0e918e37da106d7e9fb5816fa3e2fccb9eb3139c06c83dc892fe3e38b98bc6289dccaee4cdc64260 SHA512 6e41be080e079b1e9730e61d72b5b339fbb447bfb2b171a617c17025c5ad69924ca3c24f39e160f7b1cc495cea0999e72e6674e5631ce88a48240ecc229d0343
diff --git a/dev-python/python-multipart/metadata.xml b/dev-python/python-multipart/metadata.xml
new file mode 100644
index 000000000000..100f4a588dae
--- /dev/null
+++ b/dev-python/python-multipart/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">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.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 e2687bd8f8c9..000000000000
--- a/dev-python/python-musicbrainzngs/python-musicbrainzngs-0.7.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 bcd46835457c..000000000000
--- a/dev-python/python-nbxmpp/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST python-nbxmpp-3.1.0.tar.bz2 128551 BLAKE2B bbff0bd92b12addb73e661136531df7629baa7936a1d52a86a17b59047681d30744dbc3618143a0b4ff5460bb64ad01a70b1bfb018f32bd78cfd9dc848f18668 SHA512 6676da4a21915305952118b9d35d91f3b420a23f1f3bc1fa22ee885face3f9b4474417f58e4a2c6446fec48ff632822ab83343e104df480d33d75f1b46cf8fec
-DIST python-nbxmpp-3.1.1.tar.bz2 128913 BLAKE2B 938701b95d3b41638d2e9173d52ce69737bc7160b1113bbbb54e958ee0269a2d209d146a67c7caaf8f4e7aa394549360ecb3ad4c3a1a731b329b10cbc9654109 SHA512 9571d890112da8380d55894e52279bfb002151432d6c8103ce62f5ab08b198f847c50cb2c1c4a7502cbefff8c3c77cbb0e86ca24355af86136b0caceb0d75c0f
-DIST python-nbxmpp-nbxmpp-2.0.6.tar.bz2 122203 BLAKE2B 925604002f4363f1e0b72f05c13742f4652ba565a9faa48faf8d47688f480a7f1d7585c593b0dcf07bded8c4aa3a1d02e9697742a07b9e815daec062dfb93104 SHA512 a536b25c8a6298892a51adef4b64b75ffab88ce02fb08fc07ecd1cfe2bc794262d4d58a93248439723e6e0544485da7351bb98189b0e422a1f77b01c6f6d238e
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-2.0.6.ebuild b/dev-python/python-nbxmpp/python-nbxmpp-2.0.6.ebuild
deleted file mode 100644
index 94742b333648..000000000000
--- a/dev-python/python-nbxmpp/python-nbxmpp-2.0.6.ebuild
+++ /dev/null
@@ -1,31 +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_{8..10} )
-
-inherit distutils-r1
-
-MY_P=python-nbxmpp-nbxmpp-${PV}
-DESCRIPTION="Python library to use Jabber/XMPP networks in a non-blocking way"
-HOMEPAGE="https://dev.gajim.org/gajim/python-nbxmpp/"
-SRC_URI="
- https://dev.gajim.org/gajim/python-nbxmpp/-/archive/nbxmpp-${PV}/${MY_P}.tar.bz2
-"
-S=${WORKDIR}/${MY_P}
-
-SLOT="0"
-LICENSE="GPL-3"
-KEYWORDS="amd64 ~arm64 ~riscv x86"
-
-RDEPEND="
- dev-libs/gobject-introspection
- net-libs/libsoup[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-3.1.0.ebuild b/dev-python/python-nbxmpp/python-nbxmpp-3.1.0.ebuild
deleted file mode 100644
index fafffe2d9512..000000000000
--- a/dev-python/python-nbxmpp/python-nbxmpp-3.1.0.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..10} )
-
-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[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-3.1.1.ebuild b/dev-python/python-nbxmpp/python-nbxmpp-3.1.1.ebuild
deleted file mode 100644
index 20ab63a80429..000000000000
--- a/dev-python/python-nbxmpp/python-nbxmpp-3.1.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=( python3_{9..10} )
-
-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[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-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 8a7540760238..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-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..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 8bd8bfc82aca..bfc724299a4d 100644
--- a/dev-python/python-neutronclient/Manifest
+++ b/dev-python/python-neutronclient/Manifest
@@ -1,2 +1 @@
-DIST python-neutronclient-7.8.0.tar.gz 304872 BLAKE2B 780e1b2942a43bca93888683d1c2e713cfc0927d49135004a6f6d42dff7962def6b0fc7f308b75b4392f4fb5df4d26fcea107b9006d4ba957c0d76294395e5c9 SHA512 3022d79348334632ab3afa142aab11e424b168a4ba04223722da80e59de2695b477c2d829bb14a37e7baf387f9d63b8c4456fc5712f8d591d3de51fad76d6c78
-DIST python-neutronclient-8.0.0.tar.gz 304243 BLAKE2B 664594bacd1d7480d502f97a0b0a3f441433ee70dac2af9359a22091c64503aba51e026b4e5eb0c68e7bc847b9120639ffdc1547d1d4ff92785459e1880a9747 SHA512 8846a87fb70555ca9f02a93f04dc68aa4ad332aea41398df744531f9afab034a37cb5390b93fa4fe4bd9ca25a9ee5787cccc1493232fe4019e5fcb2a842b2b44
+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-7.8.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-7.8.0.ebuild
deleted file mode 100644
index 143e5e0a0ef8..000000000000
--- a/dev-python/python-neutronclient/python-neutronclient-7.8.0.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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
- local SITEDIR="${D}$(python_get_sitedir)" || die
- cd "${SITEDIR}" || die
- local egg=( python_neutronclient*.egg-info )
- #[[ -f ${egg[0]} ]] || die "python_quantumclient*.egg-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.0.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-8.0.0.ebuild
deleted file mode 100644
index 6a5635106383..000000000000
--- a/dev-python/python-neutronclient/python-neutronclient-8.0.0.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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
- local SITEDIR="${D}$(python_get_sitedir)" || die
- cd "${SITEDIR}" || die
- local egg=( python_neutronclient*.egg-info )
- #[[ -f ${egg[0]} ]] || die "python_quantumclient*.egg-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 34e6b13c2bd2..362d9a04b26e 100644
--- a/dev-python/python-novaclient/Manifest
+++ b/dev-python/python-novaclient/Manifest
@@ -1 +1 @@
-DIST python-novaclient-18.0.0.tar.gz 335142 BLAKE2B 0b76ce92897e16310892427efc9062d20d1316be61e7391eaf9aca618844c4420f963591d1aa773b2d1ae1785aaf63888de6aec5baabbbedb09e4937a14d24d2 SHA512 fe3c5ad591679329a77421a1ef520823855d0ba1a7aa077d92a8b01e2b8bdab814c8cc94b5f76c1e59d6c7e70355f6efebd7b3596a4d4f74966aaedc38deac4a
+DIST python-novaclient-18.6.0.tar.gz 339868 BLAKE2B 069d7b213c8dc8b8061cc70ea49f9f7f7599aab1daead5b7e54423133f0765df32924ce05f1d2c00833e5ea177f6ffa9311055328246137bc134f3a162ef9fa4 SHA512 a2f93f063bc22b12294664edd37187a0edc80e01b62802d59a5603c11cba8154300e5206c9f835a0a0b6a00adb2b281271b6f8a1f50379668d88f4c5222d55b9
diff --git a/dev-python/python-novaclient/python-novaclient-18.0.0.ebuild b/dev-python/python-novaclient/python-novaclient-18.0.0.ebuild
deleted file mode 100644
index 9d39e46619a1..000000000000
--- a/dev-python/python-novaclient/python-novaclient-18.0.0.ebuild
+++ /dev/null
@@ -1,59 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A client for the OpenStack Nova API"
-HOMEPAGE="https://github.com/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}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- dev-python/bandit[${PYTHON_USEDEP}]
- dev-python/ddt[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/python-keystoneclient[${PYTHON_USEDEP}]
- dev-python/python-cinderclient[${PYTHON_USEDEP}]
- dev-python/python-glanceclient[${PYTHON_USEDEP}]
- dev-python/python-neutronclient[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/openstacksdk[${PYTHON_USEDEP}]
- dev-python/testscenarios[${PYTHON_USEDEP}]
- dev-python/testtools[${PYTHON_USEDEP}]
- dev-python/tempest[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- sed -e 's/test_osprofiler/_&/' -i novaclient/tests/unit/test_shell.py || die
- sed -e 's/novaclient\.tests\.unit\.//' -i novaclient/tests/unit/test_api_versions.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # functional tests require cloud instance access
- eunittest -b novaclient/tests/unit
-}
diff --git a/dev-python/python-novaclient/python-novaclient-18.6.0.ebuild b/dev-python/python-novaclient/python-novaclient-18.6.0.ebuild
new file mode 100644
index 000000000000..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 ad27cb506f1b..ac034b7a1d13 100644
--- a/dev-python/python-openstackclient/Manifest
+++ b/dev-python/python-openstackclient/Manifest
@@ -1 +1 @@
-DIST python-openstackclient-5.8.0.tar.gz 827602 BLAKE2B 07893ae405532614605560d4d3423e501e2d86da5ad5a529fdc62113d55ad7a010407d45143a4d7ae8adc731804e6698a5cd527089ff9de809ac117f08e4e959 SHA512 ebd288fbdcd18245bed4262ab191ba06dbe6fb54ad4247c332f9c11b1439c3158e557bf20a7a7205e7913becb6c59126121521a32bce1f70092dc2d7f648b808
+DIST python-openstackclient-6.6.0.tar.gz 917251 BLAKE2B 9f11b357bdeede556e106a21b2c7bbd86804251612cd676525a8817b693733dfe72388213cfa16517b3b75725702090fa3e728ec6986dcda196aa1e8aac9fd0a SHA512 7b073263fe9d905b3c10b2a4dcfa7156c9cd5ae453d792e1dcf3be278de0abc25c931388c8cabff6b11b61174acf79c87951028626af1e1b9f0dd09f38b7900a
diff --git a/dev-python/python-openstackclient/python-openstackclient-5.8.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-5.8.0.ebuild
deleted file mode 100644
index 6313a9cb59bc..000000000000
--- a/dev-python/python-openstackclient/python-openstackclient-5.8.0.ebuild
+++ /dev/null
@@ -1,57 +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_{8..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/Manifest b/dev-python/python-pam/Manifest
index 973d98085e3d..abbbfe0497ea 100644
--- a/dev-python/python-pam/Manifest
+++ b/dev-python/python-pam/Manifest
@@ -1 +1 @@
-DIST python-pam-2.0.2.tar.gz 14787 BLAKE2B 4bd9d7d57802fb30519ee755b091d8dd21da7fdac164cba2ac11fae48c8f575498562309d996a67766218e15e1b5f45f40c4cf32800de349fe0fa0cd03ae911d SHA512 eafeb753b22ffccc1c5729516ea1ae26799d3749140fe91849ddb804066cabd4b5493e9b059172977dd5b3c5d48c8b5ced6c5c944931fcf23225dda09db026f6
+DIST python-pam-2.0.2.gh.tar.gz 14787 BLAKE2B 4bd9d7d57802fb30519ee755b091d8dd21da7fdac164cba2ac11fae48c8f575498562309d996a67766218e15e1b5f45f40c4cf32800de349fe0fa0cd03ae911d SHA512 eafeb753b22ffccc1c5729516ea1ae26799d3749140fe91849ddb804066cabd4b5493e9b059172977dd5b3c5d48c8b5ced6c5c944931fcf23225dda09db026f6
diff --git a/dev-python/python-pam/python-pam-2.0.2-r1.ebuild b/dev-python/python-pam/python-pam-2.0.2-r1.ebuild
deleted file mode 100644
index af5abb12ef39..000000000000
--- a/dev-python/python-pam/python-pam-2.0.2-r1.ebuild
+++ /dev/null
@@ -1,21 +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_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Python PAM module"
-HOMEPAGE="https://github.com/FirefighterBlu3/python-pam"
-SRC_URI="https://github.com/FirefighterBlu3/python-pam/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv x86"
-
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]
- dev-python/toml[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
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
new file mode 100644
index 000000000000..5128788119df
--- /dev/null
+++ b/dev-python/python-pam/python-pam-2.0.2-r2.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="Python PAM module"
+HOMEPAGE="
+ https://github.com/FirefighterBlu3/python-pam/
+ https://pypi.org/project/python-pam/
+"
+SRC_URI="
+ https://github.com/FirefighterBlu3/python-pam/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/python-poppler-qt5/Manifest b/dev-python/python-poppler-qt5/Manifest
index ac4ae3ac9c84..c6788136d272 100644
--- a/dev-python/python-poppler-qt5/Manifest
+++ b/dev-python/python-poppler-qt5/Manifest
@@ -1,2 +1 @@
-DIST python-poppler-qt5-0.75.0.tar.gz 23281 BLAKE2B 06b2b0899d2a3cfc84e623b98cc3379aa45ac9ca9267f25168cce04f2ed761fd897043376fda3386b2daff2b46850b24782cafd6aabb13a8e7d6f3920b55a02c SHA512 2f03036a2eaeb8e28875f19a813ff85a91c1e9a94301bdb736ecc50e7ececb4de2622728e6fecbf64e114435529f82b6afd23d772e2d3910ae03d5d2b5da3205
-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-0.75.0.ebuild b/dev-python/python-poppler-qt5/python-poppler-qt5-0.75.0.ebuild
deleted file mode 100644
index 6e7ff364efe6..000000000000
--- a/dev-python/python-poppler-qt5/python-poppler-qt5-0.75.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1 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"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="
- app-text/poppler[qt5]
- dev-python/PyQt5[${PYTHON_USEDEP}]
- >=dev-python/sip-4.19:=[${PYTHON_USEDEP}]
- <dev-python/sip-5:=[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-
-python_compile() {
- distutils-r1_python_compile build_ext --qmake-bin=$(qt5_get_bindir)/qmake
-}
-
-python_install() {
- export PATH=$(qt5_get_bindir):$PATH
- distutils-r1_python_install
-}
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 33e11a00af0a..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-2022 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_{8..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 d707699b6001..000000000000
--- a/dev-python/python-ptrace/python-ptrace-0.9.8.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_{8..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 4822a8c9c7b5..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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-redmine/Manifest b/dev-python/python-redmine/Manifest
index 990b7f65b7c7..1b7da8ce29ba 100644
--- a/dev-python/python-redmine/Manifest
+++ b/dev-python/python-redmine/Manifest
@@ -1 +1,2 @@
-DIST python-redmine-2.3.0.tar.gz 67915 BLAKE2B ad31d63ec5bebd33ff436f04c40fd49e35a79751c353ba1e343bbb03048c2d1662ec8ffea5819561b675e366f8cbad48a0e0a0a59dcaa563a90301ad4f1eb1cf SHA512 a317743a561cde65c17356a317d3aed082149d648aaa7487858c8533ceb286d08b6610d742321f6593fef8b61b1a4526963ddffc4ab180a83795d66773154b70
+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.3.0.ebuild b/dev-python/python-redmine/python-redmine-2.3.0.ebuild
deleted file mode 100644
index 8e9b4736084f..000000000000
--- a/dev-python/python-redmine/python-redmine-2.3.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python interface to the Redmine REST API"
-HOMEPAGE="https://github.com/maxtepkeev/python-redmine"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND=">=dev-python/requests-2.23.0[${PYTHON_USEDEP}]"
-
-distutils_enable_tests nose
diff --git a/dev-python/python-redmine/python-redmine-2.4.0.ebuild b/dev-python/python-redmine/python-redmine-2.4.0.ebuild
new file mode 100644
index 000000000000..ab566a510d5b
--- /dev/null
+++ b/dev-python/python-redmine/python-redmine-2.4.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
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python interface to the Redmine REST API"
+HOMEPAGE="
+ https://github.com/maxtepkeev/python-redmine/
+ https://pypi.org/project/python-redmine/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/requests-2.28.2[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # https://github.com/maxtepkeev/python-redmine/pull/332
+ sed -i -e 's:assertEquals:assertEqual:' tests/*.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/python-redmine/python-redmine-2.5.0.ebuild b/dev-python/python-redmine/python-redmine-2.5.0.ebuild
new file mode 100644
index 000000000000..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
new file mode 100644
index 000000000000..193f9f36e877
--- /dev/null
+++ b/dev-python/python-rtmidi/Manifest
@@ -0,0 +1 @@
+DIST python_rtmidi-1.5.8.tar.gz 368130 BLAKE2B 99fecb8cd003431b5fca31f436a77f27a50076a02ea7f92019800d0816c968f032bd31d236a13d67b2ee9ebdc341d16955675867a8dd345e76282131b781ef13 SHA512 0f2b949a2a53f813a891bc391ce0369fbbec0d6e898a9ace2925adc5714d791ce1f4df133edf34c87b3336cb3ab4ad70851a42124241ec1707f32f66a778dc18
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/metadata.xml b/dev-python/python-rtmidi/metadata.xml
new file mode 100644
index 000000000000..93ee6355d770
--- /dev/null
+++ b/dev-python/python-rtmidi/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="pypi">python-rtmidi</remote-id>
+ <remote-id type="github">SpotlightKid/python-rtmidi</remote-id>
+ </upstream>
+</pkgmetadata>
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 3a7e5d96205d..000000000000
--- a/dev-python/python-sense-hat/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-sense-hat-2.2.0.tar.gz 20841 BLAKE2B 59e6b9111fb90493e6bda00ce4a4c143dcb84d8b6529efadaf2f337adb38a8fb4287cbd9a303070ea4f335f1e03c6f4789e6f8fbe64a7c70db20675bdae7c6a1 SHA512 71914f6f22206cff23992a6908698978741a46bf9b98648388bac4550f39e8de73db6bd389b79585eba6e82160649a8c8da4217d515bbdbcb50d47218415f3ac
diff --git a/dev-python/python-sense-hat/python-sense-hat-2.2.0-r3.ebuild b/dev-python/python-sense-hat/python-sense-hat-2.2.0-r3.ebuild
deleted file mode 100644
index b6ffda3de655..000000000000
--- a/dev-python/python-sense-hat/python-sense-hat-2.2.0-r3.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_SETUPTOOLS="bdepend"
-PYTHON_COMPAT=( python3_{8..10} )
-
-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}.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 962fe829659c..af80a0330af7 100644
--- a/dev-python/python-slugify/Manifest
+++ b/dev-python/python-slugify/Manifest
@@ -1 +1 @@
-DIST python-slugify-6.1.2.tar.gz 13302 BLAKE2B 600ac1cc37cd0001ca3c08cdccb4655dd3754f7673596eada2dfb6adcb6c190f0e5644bd1cba4debf0fae42ae183b3d81acdcc09270e3ade94076d69ba25895a SHA512 3748c18d469032fc002318fbd5730b96a6f8430ff7b0b1a9afb4c19d4dd8e7528400682fa6b2fcc11ec4230917d7e7f61de290f5b199935d77d5335006af0ffb
+DIST python-slugify-8.0.4.gh.tar.gz 14098 BLAKE2B 684061ef5f1ee96d727caeb123957709ed391c4a746ef8a40945294ae9278947c18bd8be3d51fd2d9466b420f27ce833a54b84882375617004f9909a683090a9 SHA512 b401e574f23fa77152f8c64f15263766ed7d081759e93c28fce5fa32495eb4921701030b395ca1c738ca46a509e54bc987d81ff07fa602dd42bfa630a49aa4a0
diff --git a/dev-python/python-slugify/python-slugify-6.1.2.ebuild b/dev-python/python-slugify/python-slugify-6.1.2.ebuild
deleted file mode 100644
index 7a7756dadee1..000000000000
--- a/dev-python/python-slugify/python-slugify-6.1.2.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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}.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 fcf803e8d367..786c6eabf23a 100644
--- a/dev-python/python-socks/Manifest
+++ b/dev-python/python-socks/Manifest
@@ -1 +1 @@
-DIST python-socks-2.0.3.gh.tar.gz 40697 BLAKE2B c1e6f72763d1bd767af78ea1188e411814a6d41f703488dd67165d5a9b9ce1e2f9070b35a46cd72859b65c10519cdb02c91d1702a97c2d82cb5891b46187d02a SHA512 9d51e61d03b4a46e94a66fc037ac759715db2e2c5d631aaf6088a0363ad13140c00da44a513088a40c0f149b9d4ee2bb4165f59f76c3956f0aede8104772fc5d
+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 7a637139c9fa..000000000000
--- a/dev-python/python-socks/python-socks-2.0.3.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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 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.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 3d96be549d59..000000000000
--- a/dev-python/python-sshpubkeys/python-sshpubkeys-3.3.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 79b28175de3d..88b7fb3e802f 100644
--- a/dev-python/python-stdnum/Manifest
+++ b/dev-python/python-stdnum/Manifest
@@ -1 +1 @@
-DIST python-stdnum-1.17.tar.gz 1068804 BLAKE2B eaef8d0016f7e836226a6d83d4b54d507477d333af8572f59f24eba44f3a24bedc4d0b7d3492e7a5a64d9ceff77e296bda2876f976aab46cdb27989d0dd80df3 SHA512 9ddec525ea153e3066f205ee70602a59821e793f9ffde66a4b01511daf9a559a3a42082a99bddf69c1159a27b2d9e64d91f8a65ee283a2d7da473d766ce0e711
+DIST python-stdnum-1.20.tar.gz 1191978 BLAKE2B 8395106d155c1f4642a74691d219230b42e81b521db41c57d5e978eb8e1769ca51598a1ad061356a1997fac5a60ca21796d1e8f79fa7d737e70fbbfe78dbfcc6 SHA512 92ec9fcb3bf71405569e93668ab1d089225da74a33095e63ee8f0116c868a4b937d093ba98e29085889d1745cc55eab13936d6ed9ceb24beecbc193c722a515e
diff --git a/dev-python/python-stdnum/metadata.xml b/dev-python/python-stdnum/metadata.xml
index d079f092c7e8..27b2aa1c388d 100644
--- a/dev-python/python-stdnum/metadata.xml
+++ b/dev-python/python-stdnum/metadata.xml
@@ -10,6 +10,7 @@
<flag name="vies">Enable VIES</flag>
</use>
<upstream>
+ <remote-id type="github">arthurdejong/python-stdnum</remote-id>
<remote-id type="pypi">python-stdnum</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/python-stdnum/python-stdnum-1.17.ebuild b/dev-python/python-stdnum/python-stdnum-1.17.ebuild
deleted file mode 100644
index fb0535362cc0..000000000000
--- a/dev-python/python-stdnum/python-stdnum-1.17.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A module to handle standardized numbers and codes"
-HOMEPAGE="https://arthurdejong.org/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}]
- )
- )"
-
-src_prepare() {
- sed -i -e '/with-coverage/d' setup.cfg || die
- distutils-r1_src_prepare
-}
-
-distutils_enable_tests nose
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 b5c4eb220a2f..641c75d11ca6 100644
--- a/dev-python/python-swiftclient/Manifest
+++ b/dev-python/python-swiftclient/Manifest
@@ -1,2 +1 @@
-DIST python-swiftclient-4.0.0.tar.gz 200490 BLAKE2B 37cadf27758640a916014e09309282a4b7ffebb3e578ae7411744fafd22431cfb748cffb4127309b20a8b2d8daca7f8f0a1ed6431f55766c33b243744ce5a71e SHA512 9058558564973ea2a4944e87dedd7b9b12e106672576da1d796eae336d3127ce8b35803cade93c605b38fd16a2d3466e6dc710838ceb77143059007625299360
-DIST python-swiftclient-4.0.1.tar.gz 201300 BLAKE2B 6a506ae8996a3937048f67e7b3f8e5185605f9e5fe955f23e1131eead4d3699fb01e7851ab632e3dfaa75c12e88ec17cec5b4c1b19c1663163a2ff95530561ec SHA512 0028bc12a9694047e31da3c05fe92ce846de8858743771281cc9b93f0826c596bb6ed5ee72f4e5c68c4bba2dbd9f311062dccdf13c9917536d2aaec7eaf33ef9
+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.0.0.ebuild b/dev-python/python-swiftclient/python-swiftclient-4.0.0.ebuild
deleted file mode 100644
index 4ec90b98b6ca..000000000000
--- a/dev-python/python-swiftclient/python-swiftclient-4.0.0.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=( python3_{8..10} )
-
-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.0.1.ebuild b/dev-python/python-swiftclient/python-swiftclient-4.0.1.ebuild
deleted file mode 100644
index 2336700dc435..000000000000
--- a/dev-python/python-swiftclient/python-swiftclient-4.0.1.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=( python3_{8..10} )
-
-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/Manifest b/dev-python/python-systemd/Manifest
index ea4a30d22aba..995668ddefba 100644
--- a/dev-python/python-systemd/Manifest
+++ b/dev-python/python-systemd/Manifest
@@ -1 +1 @@
-DIST python-systemd-234.tar.gz 53900 BLAKE2B 2658ee7083036ed8259e5f4ad0714ea15227ee836ad34c7fbbdb55dd9df48751b8d9998350d789b4f47e78fe7b4a7134e12d637e5a6ebeb29a0b31e5a4575d91 SHA512 164e34ba46827711e9c6ff9ed58b2706d9a22abfc7001de030ed7d463d8ddf783eb5fee93b207c29950a3c566018cc3f1a21a549421cf3e05c1287b433367eb2
+DIST python-systemd-235.gh.tar.gz 59858 BLAKE2B 8dbf112773dce4dfe9fb2b0e660a349481fa29c9532c5aa2d125e5bfc255b2408f63b5bd873b6fee9ebbad775ecfaf32497593b17052189797403fa31b05fd6f SHA512 f1286a477200cc7b4d2c44b43452da576e8e660925711466659795775bcee44796688e1ede6cc22e61cb5b03e631c396d22f9a133327ae1147506bce09bab47f
diff --git a/dev-python/python-systemd/files/python-systemd-234-fix-py3.10.patch b/dev-python/python-systemd/files/python-systemd-234-fix-py3.10.patch
deleted file mode 100644
index 52045b4475e1..000000000000
--- a/dev-python/python-systemd/files/python-systemd-234-fix-py3.10.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From c71bbac357f0ac722e1bcb2edfa925b68cca23c9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Thu, 12 Nov 2020 16:55:56 +0100
-Subject: [PATCH] reader: make PY_SSIZE_T_CLEAN
-
----
- systemd/_reader.c | 15 +++++++++++++--
- 1 file changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/systemd/_reader.c b/systemd/_reader.c
-index 8de7f6a..3b6a4d0 100644
---- a/systemd/_reader.c
-+++ b/systemd/_reader.c
-@@ -18,7 +18,12 @@
- along with python-systemd; If not, see <http://www.gnu.org/licenses/>.
- ***/
-
-+#define PY_SSIZE_T_CLEAN
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wredundant-decls"
- #include <Python.h>
-+#pragma GCC diagnostic pop
-+
- #include <structmember.h>
- #include <datetime.h>
- #include <time.h>
-@@ -710,11 +715,17 @@ PyDoc_STRVAR(Reader_add_match__doc__,
- "Match is a string of the form \"FIELD=value\".");
- static PyObject* Reader_add_match(Reader *self, PyObject *args, PyObject *keywds) {
- char *match;
-- int match_len, r;
-+ Py_ssize_t match_len;
-+ int r;
- if (!PyArg_ParseTuple(args, "s#:add_match", &match, &match_len))
- return NULL;
-
-- r = sd_journal_add_match(self->j, match, match_len);
-+ if (match_len > INT_MAX) {
-+ set_error(-ENOBUFS, NULL, NULL);
-+ return NULL;
-+ }
-+
-+ r = sd_journal_add_match(self->j, match, (int) match_len);
- if (set_error(r, NULL, "Invalid match") < 0)
- return NULL;
-
diff --git a/dev-python/python-systemd/python-systemd-234-r2.ebuild b/dev-python/python-systemd/python-systemd-234-r2.ebuild
deleted file mode 100644
index ec89a20eafc7..000000000000
--- a/dev-python/python-systemd/python-systemd-234-r2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2015-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python module for native access to the systemd facilities"
-HOMEPAGE="https://github.com/systemd/python-systemd"
-SRC_URI="https://github.com/systemd/python-systemd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ppc ppc64 ~s390 sparc x86"
-
-DEPEND="sys-apps/systemd:0="
-RDEPEND="${DEPEND}
- !sys-apps/systemd[python(-)]
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-fix-py3.10.patch
-)
-
-distutils_enable_tests pytest
-
-python_compile() {
- # https://bugs.gentoo.org/690316
- distutils-r1_python_compile -j1
-}
-
-python_test() {
- unset NOTIFY_SOCKET
- cd "${T}" || die
- epytest --pyargs systemd -o cache_dir="${T}"
-}
diff --git a/dev-python/python-systemd/python-systemd-235.ebuild b/dev-python/python-systemd/python-systemd-235.ebuild
new file mode 100644
index 000000000000..170980c64f32
--- /dev/null
+++ b/dev-python/python-systemd/python-systemd-235.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2015-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 module for native access to the systemd facilities"
+HOMEPAGE="https://github.com/systemd/python-systemd"
+SRC_URI="https://github.com/systemd/python-systemd/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+DEPEND="sys-apps/systemd:="
+RDEPEND="${DEPEND}
+ !sys-apps/systemd[python(-)]
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ # https://bugs.gentoo.org/690316
+ distutils-r1_python_compile -j1
+}
+
+python_test() {
+ unset NOTIFY_SOCKET
+ cd "${T}" || die
+ epytest --pyargs systemd -o cache_dir="${T}"
+}
diff --git a/dev-python/python-utils/Manifest b/dev-python/python-utils/Manifest
index b4c9779b8b92..02716de34825 100644
--- a/dev-python/python-utils/Manifest
+++ b/dev-python/python-utils/Manifest
@@ -1 +1 @@
-DIST python-utils-3.3.3.tar.gz 28031 BLAKE2B d491e5ba1c8e2ab8d7c7797757cb6163f5f4cff223b898b4a9502f85b740df3c128234fd0034fc422d17efb38cfc7056aa7fb3aee9441f1f763fc742930da5b3 SHA512 6becb1873da57f66aec26b98dab22c7917dacddd1a843a0c6e4f2939986a33888cb3b6addfa3b98660f9f35ca54763cf6da34e4099cd3e21987660f12a574b27
+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.3.3.ebuild b/dev-python/python-utils/python-utils-3.3.3.ebuild
deleted file mode 100644
index d3823b0f667f..000000000000
--- a/dev-python/python-utils/python-utils-3.3.3.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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/Manifest b/dev-python/python-varlink/Manifest
deleted file mode 100644
index db8f04d33764..000000000000
--- a/dev-python/python-varlink/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-varlink-30.3.1.gh.tar.gz 39921 BLAKE2B d717eb662cd14fffd7620fb8f3eee5ae8431b77a437a783ba090802a26d0225439eb9305050863c85a6c33dbdd28709262858bf407a08333b177057304695c93 SHA512 13a0176694ee31121998a2dd88bf57d840ec20b0ccac63b574c4f12ef5c9bfbfbd67bdc7a8d362cd1c256e393d8c3691d1efc58aabaf8f5ec26067a55157a6cd
diff --git a/dev-python/python-varlink/files/python-varlink-30.3.1-fix.py3.10.patch b/dev-python/python-varlink/files/python-varlink-30.3.1-fix.py3.10.patch
deleted file mode 100644
index e85826f6bc0e..000000000000
--- a/dev-python/python-varlink/files/python-varlink-30.3.1-fix.py3.10.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 0a9014ad564131ee98dc8c4c1f9cc0c5e29d5dac Mon Sep 17 00:00:00 2001
-From: Arthur Zamarin <arthurzam@gentoo.org>
-Date: Fri, 20 Aug 2021 10:37:42 +0300
-Subject: [PATCH] Python3.10: fix import collections
-
-Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
----
- varlink/scanner.py | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/varlink/scanner.py b/varlink/scanner.py
-index d5a0e7b..58ced74 100644
---- a/varlink/scanner.py
-+++ b/varlink/scanner.py
-@@ -21,7 +21,11 @@ try:
- except: # Python 2
- from argparse import Namespace as SimpleNamespace
-
--from collections import (Set, OrderedDict, Mapping)
-+try:
-+ from collections.abc import (Set, Mapping)
-+ from collections import OrderedDict
-+except ImportError:
-+ from collections import (Set, OrderedDict, Mapping)
-
- from .error import (MethodNotFound, InvalidParameter)
-
---
-2.33.0
-
diff --git a/dev-python/python-varlink/metadata.xml b/dev-python/python-varlink/metadata.xml
deleted file mode 100644
index fbcf60a1185c..000000000000
--- a/dev-python/python-varlink/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>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">varlink</remote-id>
- <remote-id type="github">varlink/python</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/python-varlink/python-varlink-30.3.1.ebuild b/dev-python/python-varlink/python-varlink-30.3.1.ebuild
deleted file mode 100644
index 9a04cf6dc26a..000000000000
--- a/dev-python/python-varlink/python-varlink-30.3.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of the Varlink protocol"
-HOMEPAGE="https://github.com/varlink/python"
-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"
-
-RDEPEND="dev-python/future[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix.py3.10.patch"
-)
-
-distutils_enable_tests unittest
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-
- sed -e '/setuptools_scm/d' -i setup.cfg || die
- sed -e "s/use_scm_version=True/version='${PV}'/" -i setup.py || die
-}
diff --git a/dev-python/python-vlc/Manifest b/dev-python/python-vlc/Manifest
index 654c6d59711e..7eb48ac6de4e 100644
--- a/dev-python/python-vlc/Manifest
+++ b/dev-python/python-vlc/Manifest
@@ -1 +1 @@
-DIST python-vlc-3.0.16120.tar.gz 148853 BLAKE2B 2de404605f9015cb1469932dc581128a100b2bd88a765565b979a2ed33f68dd35c91212abc4cabf34942c4fabfd198b41debd4ce0e56d5e537c23e701385d9a3 SHA512 8acf6e8bfe0bacc13b6c4c58fd2e5bc2f6040c47dcdce513aa6560eb09301c1a9a6c78125e491735b1898b11a6194465bf3076b653ddbf6caff9b49e7c15b975
+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.16120.ebuild b/dev-python/python-vlc/python-vlc-3.0.16120.ebuild
deleted file mode 100644
index 0128672f63e2..000000000000
--- a/dev-python/python-vlc/python-vlc-3.0.16120.ebuild
+++ /dev/null
@@ -1,21 +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_{8..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 61aa765e969b..80930e7f24ed 100644
--- a/dev-python/python-xlib/Manifest
+++ b/dev-python/python-xlib/Manifest
@@ -1 +1 @@
-DIST python-xlib-0.31.tar.bz2 211425 BLAKE2B c0a15b11c264942479c86088d8d5bdc0c759ae71df8939feee200ff58ec30d3b2c0a99a119cc56e5c32279b26517e7925cf9124a367dc7d32fcaf0be4f7cd41e SHA512 f98978cd0058ae18f08f9da71b4ff31cd7811040ec1eb03ce065c187f312259d674dd76aad447752c8f508e585838948c90182eef5d5240e6c06b0a5dd1fbd33
+DIST python-xlib-0.33.tar.bz2 213763 BLAKE2B 53486ec938bc00306658f3151556f1353fe5881ab942d06493f6f78d33b4cff8aab6e6aa5ad7e9124824d61549545719375c84f7b9376518e2328fa2e65df553 SHA512 3b7b4fea5cd69544d2227806853bdfdd04447089e182ca0f199e18e8bd43375d9bf03c819fd6a055ad4ad274594651e05db82585ab40d0fcf225ce36b553c991
diff --git a/dev-python/python-xlib/python-xlib-0.31-r1.ebuild b/dev-python/python-xlib/python-xlib-0.31-r1.ebuild
deleted file mode 100644
index d9b2e3a959c6..000000000000
--- a/dev-python/python-xlib/python-xlib-0.31-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 virtualx
-
-DESCRIPTION="A fully functional X client library for Python, written in Python"
-HOMEPAGE="https://github.com/python-xlib/python-xlib"
-SRC_URI="https://github.com/${PN}/${PN}/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
-
-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.31.ebuild b/dev-python/python-xlib/python-xlib-0.31.ebuild
deleted file mode 100644
index abe871e44760..000000000000
--- a/dev-python/python-xlib/python-xlib-0.31.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1 virtualx
-
-DESCRIPTION="A fully functional X client library for Python, written in Python"
-HOMEPAGE="https://github.com/python-xlib/python-xlib"
-SRC_URI="https://github.com/${PN}/${PN}/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
-
-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
new file mode 100644
index 000000000000..de00bd38d19e
--- /dev/null
+++ b/dev-python/python-xlib/python-xlib-0.33.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..12} )
+
+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
+
+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-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 1485fcbd3d64..000000000000
--- a/dev-python/python-xmlsec/python-xmlsec-1.3.12-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 c53f9037ac21..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
@@ -1,26 +1,26 @@
-# Copyright 2020-2022 Gentoo Authors
+# 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_{8..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="amd64 ~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-zipstream/Manifest b/dev-python/python-zipstream/Manifest
deleted file mode 100644
index 4aa4cf301417..000000000000
--- a/dev-python/python-zipstream/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-zipstream-1.1.4.tar.gz 21376 BLAKE2B 84b022f93dedfb46da911c3ed800c3a6eb3685bf9c6180b9aac5d4d085748216f53759f83a085fa57f245033281aa4be1578b4051e8a855bcd2300aed7820460 SHA512 722c1d7db91dc47064fc51f1182417f46923b8f42a56e854f1fa125eaccfc7f86d3deab71709226a798a1caf5a84a8a7fa7d3564065ab91afbad434ed787ce32
diff --git a/dev-python/python-zipstream/metadata.xml b/dev-python/python-zipstream/metadata.xml
deleted file mode 100644
index 3446665906e7..000000000000
--- a/dev-python/python-zipstream/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>
- <upstream>
- <remote-id type="github">allanlei/python-zipstream</remote-id>
- <remote-id type="pypi">zipstream</remote-id>
- <bugs-to>https://github.com/allanlei/python-zipstream/issues</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/python-zipstream/python-zipstream-1.1.4.ebuild b/dev-python/python-zipstream/python-zipstream-1.1.4.ebuild
deleted file mode 100644
index 35e9f69a2154..000000000000
--- a/dev-python/python-zipstream/python-zipstream-1.1.4.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A zip archive generator"
-HOMEPAGE="https://github.com/allanlei/python-zipstream"
-SRC_URI="https://github.com/allanlei/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-distutils_enable_tests nose
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 c3e7c28b0bd1..000000000000
--- a/dev-python/python3-lxc/python3-lxc-3.0.4.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 04780796bcb9..b6371b767e0f 100644
--- a/dev-python/python3-saml/Manifest
+++ b/dev-python/python3-saml/Manifest
@@ -1 +1 @@
-DIST python3-saml-1.14.0.gh.tar.gz 510031 BLAKE2B 10c1102b29b58017a39241dbab7d2fb85231f051e3701ff24197f2e501ae19b1889d4032fe86a60ed5ee708380d44111dc6ab87900c8463a141ea911fe774eeb SHA512 6807a4741164dfdf185a4c63691d5a1f0e91feff387265dc8b54b135d44158c751c2274eb1f47eb71d61c7e233d38ddc83f34d092cb842676830699ad6ee8af4
+DIST python3-saml-1.16.0.gh.tar.gz 3578998 BLAKE2B 94fc65caf978aeb30577ff435ce874c1fbb15dac0c5028e15a8adb21631496b9382d538c80ae77e1ba4166d2fbf22c7ac96bce7b6e3533589a6b8654f5be35ee SHA512 77e779a3d3190f3164105bbc2943b54729dfef12c71b0303a523acada95da291bc77b331a83726f00c503ef09040a05180c234620e5a65d4ea4fd88da24eeade
diff --git a/dev-python/python3-saml/metadata.xml b/dev-python/python3-saml/metadata.xml
index 2d72864bd0f7..a3b24bec325e 100644
--- a/dev-python/python3-saml/metadata.xml
+++ b/dev-python/python3-saml/metadata.xml
@@ -11,6 +11,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">python3-saml</remote-id>
- <remote-id type="github">onelogin/python3-saml</remote-id>
+ <remote-id type="github">SAML-Toolkits/python3-saml</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/python3-saml/python3-saml-1.14.0.ebuild b/dev-python/python3-saml/python3-saml-1.14.0.ebuild
deleted file mode 100644
index a74a6b60696b..000000000000
--- a/dev-python/python3-saml/python3-saml-1.14.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="OneLogin's SAML Python Toolkit"
-HOMEPAGE="https://github.com/onelogin/python3-saml
- https://pypi.org/project/python3-saml/"
-SRC_URI="
- https://github.com/onelogin/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.7.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 setup.py
-
-src_prepare() {
- # unpin deps
- sed -e '/lxml/s/</>=/' -i setup.py || die
- distutils-r1_src_prepare
-}
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 d50a61cd27db..af943fdc5846 100644
--- a/dev-python/python3-xapp/Manifest
+++ b/dev-python/python3-xapp/Manifest
@@ -1 +1 @@
-DIST python3-xapp-2.2.1.tar.gz 20739 BLAKE2B 11f3b8964aedc726235d1c9350b159ed5cc0e859f33d6390d06e8df225eb86d0d6a392d16023a460ae0dad69f4a65b3cc8c3a759e8a4e5abab491a6d71ea8ab9 SHA512 2c03a6201404d7c792e12b10241309c912ca6b1daaa56aa0867ddbb16af053f110e4cb05da969b1800678d60acc0e6d19fc097581e6b195fff9f68acb48505ff
+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.1-r1.ebuild b/dev-python/python3-xapp/python3-xapp-2.2.1-r1.ebuild
deleted file mode 100644
index 462023106f42..000000000000
--- a/dev-python/python3-xapp/python3-xapp-2.2.1-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,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 ~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.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/python_orocos_kdl/Manifest b/dev-python/python_orocos_kdl/Manifest
deleted file mode 100644
index 6da107deeaef..000000000000
--- a/dev-python/python_orocos_kdl/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST orocos_kinematics_dynamics-1.5.1.tar.gz 251074 BLAKE2B 6be8171c3ce3bc6613fc342b8d3c772de766bfab78c5530364339ce2f9c4a37e6bc5519482f30939b210d9cb9e7899b3da66784a5c301653493212bc690917a8 SHA512 9774b76b755ea81168390643813789783f60d0b1cdb46cd250e3e0d27f75a6cf2fd3bfd2081c04e30a14ff4fc70d0080c9b43b82ee181c2dda82f23f052b338d
diff --git a/dev-python/python_orocos_kdl/metadata.xml b/dev-python/python_orocos_kdl/metadata.xml
deleted file mode 100644
index a0d367d16427..000000000000
--- a/dev-python/python_orocos_kdl/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>ros@gentoo.org</email>
- <name>Gentoo ROS Project</name>
- </maintainer>
- <upstream>
- <remote-id type="github">orocos/orocos_kinematics_dynamics</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/python_orocos_kdl/python_orocos_kdl-1.5.1.ebuild b/dev-python/python_orocos_kdl/python_orocos_kdl-1.5.1.ebuild
deleted file mode 100644
index 803362cbbffc..000000000000
--- a/dev-python/python_orocos_kdl/python_orocos_kdl-1.5.1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit python-r1 cmake
-
-DESCRIPTION="Python bindings for KDL"
-HOMEPAGE="https://www.orocos.org/kdl.html"
-if [[ ${PV} = *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/orocos/orocos_kinematics_dynamics"
- S="${WORKDIR}/${P}/python_orocos_kdl"
-else
- SRC_URI="https://github.com/orocos/orocos_kinematics_dynamics/archive/v${PV}.tar.gz -> orocos_kinematics_dynamics-${PV}.tar.gz"
- KEYWORDS="~amd64 ~arm"
- S="${WORKDIR}/orocos_kinematics_dynamics-${PV}/python_orocos_kdl"
-fi
-
-# pybind11 strips targets at build otherwise...
-# https://bugs.gentoo.org/806857
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- >=sci-libs/orocos_kdl-1.4.0:=
- dev-python/pybind11[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- sed -e 's/find_package(catkin/find_package(NoTcatkin/' \
- -e 's/add_subdirectory(pybind11/find_package(pybind11/' \
- -e 's/dist-packages/site-packages/' \
- -i CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- python_foreach_impl cmake_src_configure
-}
-
-src_compile() {
- python_foreach_impl cmake_src_compile
-}
-
-src_test() {
- python_foreach_impl cmake_src_test
-}
-
-src_install() {
- python_foreach_impl cmake_src_install
-}
diff --git a/dev-python/python_orocos_kdl/python_orocos_kdl-9999.ebuild b/dev-python/python_orocos_kdl/python_orocos_kdl-9999.ebuild
deleted file mode 100644
index 803362cbbffc..000000000000
--- a/dev-python/python_orocos_kdl/python_orocos_kdl-9999.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit python-r1 cmake
-
-DESCRIPTION="Python bindings for KDL"
-HOMEPAGE="https://www.orocos.org/kdl.html"
-if [[ ${PV} = *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/orocos/orocos_kinematics_dynamics"
- S="${WORKDIR}/${P}/python_orocos_kdl"
-else
- SRC_URI="https://github.com/orocos/orocos_kinematics_dynamics/archive/v${PV}.tar.gz -> orocos_kinematics_dynamics-${PV}.tar.gz"
- KEYWORDS="~amd64 ~arm"
- S="${WORKDIR}/orocos_kinematics_dynamics-${PV}/python_orocos_kdl"
-fi
-
-# pybind11 strips targets at build otherwise...
-# https://bugs.gentoo.org/806857
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- >=sci-libs/orocos_kdl-1.4.0:=
- dev-python/pybind11[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- sed -e 's/find_package(catkin/find_package(NoTcatkin/' \
- -e 's/add_subdirectory(pybind11/find_package(pybind11/' \
- -e 's/dist-packages/site-packages/' \
- -i CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- python_foreach_impl cmake_src_configure
-}
-
-src_compile() {
- python_foreach_impl cmake_src_compile
-}
-
-src_test() {
- python_foreach_impl cmake_src_test
-}
-
-src_install() {
- python_foreach_impl cmake_src_install
-}
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 9290790fc6ff..0e1109ba8ba4 100644
--- a/dev-python/pythondialog/pythondialog-3.5.3.ebuild
+++ b/dev-python/pythondialog/pythondialog-3.5.3.ebuild
@@ -1,20 +1,20 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
+PYTHON_COMPAT=( python3_{10..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="https://downloads.sourceforge.net/project/${PN}/${PN}/${PV}/python3-${P}.tar.bz2"
LICENSE="LGPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~ia64 ppc sparc x86"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ppc ~riscv sparc x86"
RDEPEND="dev-util/dialog"
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..42f52b60443a
--- /dev/null
+++ b/dev-python/pythonnet/pythonnet-3.0.3.ebuild
@@ -0,0 +1,282 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+DOTNET_PKG_COMPAT=8.0
+NUGETS="
+benchmarkdotnet.annotations@0.13.1
+benchmarkdotnet@0.13.1
+commandlineparser@2.4.3
+iced@1.8.0
+lost.compat.nullabilityattributes@0.0.4
+microsoft.build.tasks.git@1.1.1
+microsoft.codeanalysis.analyzers@2.6.1
+microsoft.codeanalysis.common@2.10.0
+microsoft.codeanalysis.csharp@2.10.0
+microsoft.codecoverage@16.11.0
+microsoft.codecoverage@17.0.0
+microsoft.codecoverage@17.8.0
+microsoft.csharp@4.7.0
+microsoft.diagnostics.netcore.client@0.2.61701
+microsoft.diagnostics.runtime@1.1.126102
+microsoft.diagnostics.tracing.traceevent@2.0.61
+microsoft.dotnet.internalabstractions@1.0.0
+microsoft.dotnet.platformabstractions@2.1.0
+microsoft.net.compilers.toolset@4.0.1
+microsoft.net.test.sdk@16.11.0
+microsoft.net.test.sdk@17.0.0
+microsoft.net.test.sdk@17.8.0
+microsoft.netcore.platforms@1.0.1
+microsoft.netcore.platforms@1.1.0
+microsoft.netcore.targets@1.0.1
+microsoft.netcore.targets@1.1.0
+microsoft.netframework.referenceassemblies.net461@1.0.0
+microsoft.netframework.referenceassemblies.net472@1.0.0
+microsoft.netframework.referenceassemblies@1.0.0
+microsoft.testplatform.objectmodel@16.11.0
+microsoft.testplatform.objectmodel@17.8.0
+microsoft.testplatform.testhost@16.11.0
+microsoft.testplatform.testhost@17.8.0
+microsoft.win32.primitives@4.3.0
+microsoft.win32.registry@4.3.0
+microsoft.win32.registry@4.5.0
+netstandard.library@2.0.0
+netstandard.library@2.0.3
+newtonsoft.json@13.0.1
+newtonsoft.json@9.0.1
+noncopyableanalyzer@0.7.0
+nuget.frameworks@5.0.0
+nuget.frameworks@6.5.0
+nunit3testadapter@3.16.1
+nunit3testadapter@3.17.0
+nunit3testadapter@4.5.0
+nunit@3.12.0
+nunit@3.14.0
+perfolizer@0.2.1
+runtime.any.system.collections@4.3.0
+runtime.any.system.diagnostics.tools@4.3.0
+runtime.any.system.diagnostics.tracing@4.3.0
+runtime.any.system.globalization@4.3.0
+runtime.any.system.io@4.3.0
+runtime.any.system.reflection.extensions@4.3.0
+runtime.any.system.reflection.primitives@4.3.0
+runtime.any.system.reflection@4.3.0
+runtime.any.system.resources.resourcemanager@4.3.0
+runtime.any.system.runtime.handles@4.3.0
+runtime.any.system.runtime.interopservices@4.3.0
+runtime.any.system.runtime@4.3.0
+runtime.any.system.text.encoding.extensions@4.3.0
+runtime.any.system.text.encoding@4.3.0
+runtime.any.system.threading.tasks@4.3.0
+runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.native.system@4.3.0
+runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.unix.microsoft.win32.primitives@4.3.0
+runtime.unix.system.diagnostics.debug@4.3.0
+runtime.unix.system.io.filesystem@4.3.0
+runtime.unix.system.private.uri@4.3.0
+runtime.unix.system.runtime.extensions@4.3.0
+system.appcontext@4.1.0
+system.appcontext@4.3.0
+system.buffers@4.3.0
+system.buffers@4.4.0
+system.collections.concurrent@4.3.0
+system.collections.immutable@1.5.0
+system.collections.nongeneric@4.3.0
+system.collections.specialized@4.3.0
+system.collections@4.0.11
+system.collections@4.3.0
+system.componentmodel.eventbasedasync@4.3.0
+system.componentmodel.primitives@4.3.0
+system.componentmodel.typeconverter@4.3.0
+system.componentmodel@4.3.0
+system.console@4.3.0
+system.diagnostics.debug@4.0.11
+system.diagnostics.debug@4.3.0
+system.diagnostics.fileversioninfo@4.3.0
+system.diagnostics.process@4.3.0
+system.diagnostics.stacktrace@4.3.0
+system.diagnostics.tools@4.0.1
+system.diagnostics.tools@4.3.0
+system.diagnostics.tracing@4.3.0
+system.dynamic.runtime@4.0.11
+system.dynamic.runtime@4.3.0
+system.globalization.extensions@4.3.0
+system.globalization@4.0.11
+system.globalization@4.3.0
+system.io.compression@4.3.0
+system.io.filesystem.primitives@4.0.1
+system.io.filesystem.primitives@4.3.0
+system.io.filesystem@4.0.1
+system.io.filesystem@4.3.0
+system.io@4.1.0
+system.io@4.3.0
+system.linq.expressions@4.1.0
+system.linq.expressions@4.3.0
+system.linq@4.1.0
+system.linq@4.3.0
+system.management@4.5.0
+system.memory@4.5.3
+system.numerics.vectors@4.4.0
+system.objectmodel@4.0.12
+system.private.uri@4.3.0
+system.reflection.emit.ilgeneration@4.0.1
+system.reflection.emit.ilgeneration@4.3.0
+system.reflection.emit.lightweight@4.0.1
+system.reflection.emit.lightweight@4.3.0
+system.reflection.emit@4.0.1
+system.reflection.emit@4.3.0
+system.reflection.extensions@4.0.1
+system.reflection.extensions@4.3.0
+system.reflection.metadata@1.6.0
+system.reflection.primitives@4.0.1
+system.reflection.primitives@4.3.0
+system.reflection.typeextensions@4.1.0
+system.reflection.typeextensions@4.3.0
+system.reflection@4.1.0
+system.reflection@4.3.0
+system.resources.resourcemanager@4.0.1
+system.resources.resourcemanager@4.3.0
+system.runtime.compilerservices.unsafe@4.5.2
+system.runtime.extensions@4.1.0
+system.runtime.extensions@4.3.0
+system.runtime.handles@4.0.1
+system.runtime.handles@4.3.0
+system.runtime.interopservices.runtimeinformation@4.0.0
+system.runtime.interopservices.runtimeinformation@4.3.0
+system.runtime.interopservices@4.1.0
+system.runtime.interopservices@4.3.0
+system.runtime.numerics@4.3.0
+system.runtime.serialization.primitives@4.1.1
+system.runtime@4.1.0
+system.runtime@4.3.0
+system.security.accesscontrol@4.5.0
+system.security.cryptography.algorithms@4.3.0
+system.security.cryptography.encoding@4.3.0
+system.security.cryptography.primitives@4.3.0
+system.security.cryptography.x509certificates@4.3.0
+system.security.principal.windows@4.5.0
+system.text.encoding.codepages@4.3.0
+system.text.encoding.extensions@4.0.11
+system.text.encoding.extensions@4.3.0
+system.text.encoding@4.0.11
+system.text.encoding@4.3.0
+system.text.regularexpressions@4.1.0
+system.text.regularexpressions@4.3.0
+system.threading.tasks.extensions@4.0.0
+system.threading.tasks.extensions@4.3.0
+system.threading.tasks.extensions@4.5.2
+system.threading.tasks.parallel@4.3.0
+system.threading.tasks@4.0.11
+system.threading.tasks@4.3.0
+system.threading.thread@4.3.0
+system.threading.threadpool@4.3.0
+system.threading@4.0.11
+system.threading@4.3.0
+system.valuetuple@4.5.0
+system.xml.readerwriter@4.0.11
+system.xml.readerwriter@4.3.0
+system.xml.xdocument@4.0.11
+system.xml.xdocument@4.3.0
+system.xml.xmldocument@4.3.0
+system.xml.xpath.xdocument@4.3.0
+system.xml.xpath.xmldocument@4.3.0
+system.xml.xpath@4.3.0
+"
+
+inherit check-reqs dotnet-pkg distutils-r1 readme.gentoo-r1
+
+DESCRIPTION="Nearly seamless integration with the .NET Common Language Runtime"
+HOMEPAGE="http://pythonnet.github.io/
+ https://github.com/pythonnet/pythonnet/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/pythonnet/${PN}.git"
+else
+ inherit pypi
+
+ KEYWORDS="amd64"
+fi
+
+SRC_URI+=" ${NUGET_URIS} "
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ dev-python/clr-loader[${PYTHON_USEDEP}]
+ dev-python/pycparser[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+CHECKREQS_DISK_BUILD="1500M"
+EPYTEST_DESELECT=(
+ 'tests/test_codec.py::test_sequence'
+ 'tests/test_engine.py::test_import_module'
+ 'tests/test_engine.py::test_run_string'
+ 'tests/test_method.py::test_getting_method_overloads_binding_does_not_leak_memory'
+ 'tests/test_method.py::test_params_array_overloaded_failing'
+ 'tests/test_module.py::test_assembly_load_recursion_bug'
+ 'tests/test_module.py::test_implicit_assembly_load'
+)
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.3-no-sourcelink.patch"
+)
+
+DOCS=( AUTHORS.md CHANGELOG.md README.rst )
+DOC_CONTENTS="Python.NET defaults to the mono runtime, not .NET SDK's coreclr.
+You can workaround this either by exporting PYTHONNET_RUNTIME=coreclr or some
+Python code. Please read the documentation on
+https://pythonnet.github.io/pythonnet/python.html"
+
+distutils_enable_tests pytest
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ dotnet-pkg_pkg_setup
+}
+
+src_prepare() {
+ nuget_writeconfig "$(pwd)/"
+
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ dotnet-pkg_src_configure
+ distutils-r1_src_configure
+}
+
+python_test() {
+ epytest --runtime coreclr
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/dev-python/pythran/Manifest b/dev-python/pythran/Manifest
index 85fcad526efa..0fa5dbdcbe7c 100644
--- a/dev-python/pythran/Manifest
+++ b/dev-python/pythran/Manifest
@@ -1 +1,3 @@
-DIST pythran-0.11.0.gh.tar.gz 3582011 BLAKE2B 532afe9edd84d2699254bcad330dc03fcda4defce73997ec9feecf1a9e0c8f4fd407a5c4ebae7e10f96463a43453137953dc3e4df010ae7fb63d540d41b79f53 SHA512 bd703148f26a0511f5a21e691e62f4e9b7bf5a92548f8ac837b2d24135917b71b052941180c9801f29c457018eb57e5f5107a509d6815d8dd8ddab1b8626b1a1
+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/pythran-0.11.0.ebuild b/dev-python/pythran/pythran-0.11.0.ebuild
deleted file mode 100644
index d444cbdab296..000000000000
--- a/dev-python/pythran/pythran-0.11.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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.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 9eba21dc1d42..9677945b3efb 100644
--- a/dev-python/pytidylib/pytidylib-0.3.2-r2.ebuild
+++ b/dev-python/pytidylib/pytidylib-0.3.2-r2.ebuild
@@ -1,16 +1,15 @@
-# 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_{8..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 307c17920bb5..bada4b1ee5d1 100644
--- a/dev-python/pytimeparse/pytimeparse-1.1.8-r1.ebuild
+++ b/dev-python/pytimeparse/pytimeparse-1.1.8-r1.ebuild
@@ -1,18 +1,21 @@
-# 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_{8..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 f3f2e01c96f7..b6bd46bf314e 100644
--- a/dev-python/pytoolconfig/Manifest
+++ b/dev-python/pytoolconfig/Manifest
@@ -1,3 +1 @@
-DIST pytoolconfig-1.1.2.tar.gz 12066 BLAKE2B 9e1627bebd1cf8e5cd36e3d772ec3abc26d46b55bb582fb4c11f3073b2a0c1bcc64022a559791b3c63e4c92db7a762f5c2656e353f69dde223c319e419e61adb SHA512 bae9636d23ab3df1bf7f64d10ec7735b741bbab53afb79bccac3586774081c1d2170fc4086725c13bc6d296c3460098956386f9707ef9aeb6b57a21a4c9ba16f
-DIST pytoolconfig-1.2.1.tar.gz 15182 BLAKE2B 667ded3571855edd78540d60d973f09b325e614b9c85bf8b4a1d235ca4bb4bfbe992f511fd65991740a87c61e8a2bc4ec35f00723e7556bf9ca8c9c2752a5f63 SHA512 01620f98494f3f73192f530727e007aca0b7ebd7c2f0d363604d138aef13bcd4b394f59eb980504da03ad323016fe1a5f36e2abca0bb6462828aba77ed4ce1c5
-DIST pytoolconfig-1.2.2.tar.gz 16195 BLAKE2B 02434bf9bc815fe1beeb13496427d6735fd0eebca66371eaa1a8df5d318879584b9e27d7b2272535e41af91b46544264d570b2727e524e6ba52c4e4be475ad84 SHA512 5bcbf7f2fc7941e128b3e717ff213e1e43be417ca3b906fa75a40f822815a4ea79b55cbb3e297caa3abf9032fedda1a791165491f52d4bbce5f4d29eea3c3599
+DIST pytoolconfig-1.3.1.tar.gz 16655 BLAKE2B 8a35f6e1751b99e7bccb81f173ee56dfc94b586237e28e8ddcc859befb6ff502469fd70f02521216585367bc87c85ac81503055f055cf355be12476bc3efe608 SHA512 c8321a5e46593044828d737532926a2df0341f563bd15ee7ffa39ebba8ab2ddcf8a56d6c099d3b8801cb65bbe7e688fddd916fc9f2babc862d00f0a925837a12
diff --git a/dev-python/pytoolconfig/metadata.xml b/dev-python/pytoolconfig/metadata.xml
index 0d65c075419a..ff612f66abee 100644
--- a/dev-python/pytoolconfig/metadata.xml
+++ b/dev-python/pytoolconfig/metadata.xml
@@ -8,6 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">pytoolconfig</remote-id>
- <remote-id type="github">bageljrkhanofemus/pytoolconfig</remote-id>
+ <remote-id type="github">bagel897/pytoolconfig</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytoolconfig/pytoolconfig-1.1.2.ebuild b/dev-python/pytoolconfig/pytoolconfig-1.1.2.ebuild
deleted file mode 100644
index 1e765af00d7c..000000000000
--- a/dev-python/pytoolconfig/pytoolconfig-1.1.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm
-PYTHON_COMPAT=( python3_{8..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"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{8..10} )
-"
-BDEPEND="
- test? (
- >=dev-python/sphinx-4.5.0[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.9[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytoolconfig/pytoolconfig-1.2.1.ebuild b/dev-python/pytoolconfig/pytoolconfig-1.2.1.ebuild
deleted file mode 100644
index ef93d3247f71..000000000000
--- a/dev-python/pytoolconfig/pytoolconfig-1.2.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm
-PYTHON_COMPAT=( python3_{8..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"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{8..10} )
-"
-BDEPEND="
- test? (
- >=dev-python/sphinx-4.5.0[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.9[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytoolconfig/pytoolconfig-1.2.2.ebuild b/dev-python/pytoolconfig/pytoolconfig-1.2.2.ebuild
deleted file mode 100644
index 1618bd29a961..000000000000
--- a/dev-python/pytoolconfig/pytoolconfig-1.2.2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm
-PYTHON_COMPAT=( python3_{8..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"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{8..10} )
-"
-BDEPEND="
- test? (
- >=dev-python/sphinx-4.5.0[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.9[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytoolconfig/pytoolconfig-1.3.1.ebuild b/dev-python/pytoolconfig/pytoolconfig-1.3.1.ebuild
new file mode 100644
index 000000000000..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 fdca1384823b..46bd36095122 100644
--- a/dev-python/pytools/Manifest
+++ b/dev-python/pytools/Manifest
@@ -1 +1,2 @@
-DIST pytools-2022.1.12.tar.gz 70346 BLAKE2B 6f3fc1b55185e0ea7e680a089d66c7f64b9d3312ebf02c3fdba776f49d6156ccb83f5eef9139f1c6f9e17448f102c38661c2cd07e33277923f9379a017e72194 SHA512 66a4a60b26ee543a774322583a22105f5e886cb86956b4edb95ae361a5aa6cff28b1bcf6ad84b9e2f68c81bb11f5a18bd2e8d0335343550a6e9bca4cb0e9c0e8
+DIST pytools-2024.1.1.tar.gz 77122 BLAKE2B 38b46a6363c707da90670a28d63dbaf1b77f739a4f7473bda11fa671ad267ee33c48312e3813e05888d3cd48efc60ec3006d57a316053ff2d0160d0b284bca9d SHA512 3b47764ac6f1ea0938c32e42092c0acfe81b2f22eb15c3ded589c5022c8a07ff89420f30ec78779ccb9f07d8611fa9c447539859371d8aade603f302b747cf97
+DIST pytools-2024.1.2.tar.gz 77642 BLAKE2B b393149a81a708f3681b34e88e22113223f53f23e83c8f1848d4fd6ec456af7145fba8a98efd716d8be5b6184fc9973c05aa9c0814d48ee4925255b57f6119a5 SHA512 3252b3930934c43f840a77f41e0958fef6121db1d64efc5498defadf8e48fdbda89d1539b87b6367c8acf4ad7eaf7fdf364263340ffebd834861f0f21f1af4c7
diff --git a/dev-python/pytools/pytools-2022.1.12.ebuild b/dev-python/pytools/pytools-2022.1.12.ebuild
deleted file mode 100644
index 8a9239f4c385..000000000000
--- a/dev-python/pytools/pytools-2022.1.12.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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/pytools/pytools-2024.1.2.ebuild b/dev-python/pytools/pytools-2024.1.2.ebuild
new file mode 100644
index 000000000000..5b603b0c29b1
--- /dev/null
+++ b/dev-python/pytools/pytools-2024.1.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} )
+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 f18d53d95962..226d234bb8a8 100644
--- a/dev-python/pytrie/pytrie-0.4.0-r1.ebuild
+++ b/dev-python/pytrie/pytrie-0.4.0-r1.ebuild
@@ -1,26 +1,24 @@
-# 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_{8..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 a693901d112f..6bc7f0a173bf 100644
--- a/dev-python/pytz/Manifest
+++ b/dev-python/pytz/Manifest
@@ -1 +1 @@
-DIST pytz-2022.1.tar.gz 320473 BLAKE2B 9a745629a9e4547f8c8765353e58baa6d63e3e6b357e9ca88f69928fb9350cebb6bb3371eee419b4b92b29e6253f8c24af8c781f10d72211d78cb699043496fe SHA512 7737aa28626743026b7de932b27bf44d7b209f495d9dd7f90c6448ec271e007f23004fcd04982e2ca6d0a4075206e1dae7b8836319c299b5559c514366d518a6
+DIST pytz-2024.1.tar.gz 316214 BLAKE2B 1047e11c41d3abeb10cdf55021c8702fbbb0c0dbcafc63c8c044ecf73dda2ac9344fc66e0a239302a0fd12856bbb3a7d49745eae671fac35db9c83fa502e7cf8 SHA512 cc1e4c9b34c62791cea277a0ce188d975e62135cb15bccfb49dc1a9366c7697ead9c67956846699f18b90db4c66e6c5fe1a91a524d01ae821c0eaa613550ea74
diff --git a/dev-python/pytz/files/pytz-2020.5-system-zoneinfo.patch b/dev-python/pytz/files/pytz-2020.5-system-zoneinfo.patch
deleted file mode 100644
index 94bad7e234ac..000000000000
--- a/dev-python/pytz/files/pytz-2020.5-system-zoneinfo.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/pytz/__init__.py b/pytz/__init__.py
-index a1f75b6..f2a2330 100644
---- a/pytz/__init__.py
-+++ b/pytz/__init__.py
-@@ -92,8 +92,7 @@ def open_resource(name):
- if zoneinfo_dir is not None:
- filename = os.path.join(zoneinfo_dir, *name_parts)
- else:
-- filename = os.path.join(os.path.dirname(__file__),
-- 'zoneinfo', *name_parts)
-+ filename = os.path.join('/usr/share/zoneinfo', *name_parts)
- if not os.path.exists(filename):
- # http://bugs.launchpad.net/bugs/383171 - we avoid using this
- # unless absolutely necessary to help when a broken version of
-diff --git a/setup.py b/setup.py
-index e31ff2b..ba6926b 100644
---- a/setup.py
-+++ b/setup.py
-@@ -15,14 +15,8 @@ me = 'Stuart Bishop'
- memail = 'stuart@stuartbishop.net'
- packages = ['pytz']
- resources = ['zone.tab', 'locales/pytz.pot']
--for dirpath, dirnames, filenames in os.walk(os.path.join('pytz', 'zoneinfo')):
-- # remove the 'pytz' part of the path
-- basepath = dirpath.split(os.path.sep, 1)[1]
-- 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',
- version=pytz.VERSION,
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 50daefb54e3f..59ff8007ca82 100644
--- a/dev-python/pytz/metadata.xml
+++ b/dev-python/pytz/metadata.xml
@@ -12,9 +12,10 @@
daylight savings, which you can read more about in the Python
Library Reference (datetime.tzinfo).
Amost all (over 540) of the Olson timezones are supported.
-</longdescription>
+ </longdescription>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">stub42/pytz</remote-id>
<remote-id type="pypi">pytz</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytz/pytz-2022.1.ebuild b/dev-python/pytz/pytz-2022.1.ebuild
deleted file mode 100644
index ddd2ce81c6a3..000000000000
--- a/dev-python/pytz/pytz-2022.1.ebuild
+++ /dev/null
@@ -1,42 +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_{8..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="World timezone definitions for Python"
-HOMEPAGE="
- https://pythonhosted.org/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"
-IUSE=""
-
-DEPEND="
- || (
- >=sys-libs/timezone-data-2017a
- sys-libs/glibc[vanilla]
- )
-"
-RDEPEND="
- ${DEPEND}
-"
-
-PATCHES=(
- # Use timezone-data zoneinfo.
- "${FILESDIR}"/pytz-2020.5-system-zoneinfo.patch
-)
-
-python_test() {
- "${EPYTHON}" pytz/tests/test_tzinfo.py -v ||
- die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/pytz/pytz-2024.1.ebuild b/dev-python/pytz/pytz-2024.1.ebuild
new file mode 100644
index 000000000000..8b4eb20b62a0
--- /dev/null
+++ b/dev-python/pytz/pytz-2024.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="World timezone definitions for Python"
+HOMEPAGE="
+ https://pythonhosted.org/pytz/
+ https://github.com/stub42/pytz/
+ https://pypi.org/project/pytz/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ || (
+ >=sys-libs/timezone-data-2023b
+ sys-libs/glibc[vanilla]
+ )
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unbundle timezone-data
+ rm -r pytz/zoneinfo || die
+ # remove hardcoded list of all timezones but leave subjective set
+ # of "common timezones"
+ sed -i -e '/^_all_timezones_unchecked/,/^all_timezones_set/d' pytz/__init__.py || die
+ eapply "${FILESDIR}"/pytz-2023.2-system-tzinfo.patch
+}
+
+python_test() {
+ "${EPYTHON}" pytz/tests/test_tzinfo.py -v ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/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 8d310bf3718f..000000000000
--- a/dev-python/pytz_deprecation_shim/pytz_deprecation_shim-0.1.0_p0-r2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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/Manifest b/dev-python/pytzdata/Manifest
index 774d26b0ce52..82953886e3f5 100644
--- a/dev-python/pytzdata/Manifest
+++ b/dev-python/pytzdata/Manifest
@@ -1 +1 @@
-DIST pytzdata-2020.1.tar.gz 249045 BLAKE2B 6f07a7577edc87030fd70e720b32146e9044a8c6f74d0bafb9239ad666d0d6fd0ac7c3cca070914701af301b1a3368ace2985f8169b9747937fa6ed066be7302 SHA512 fd154bfbe90ce07a90f769063b772234036d2627c1e6d78a465d9ddbc894e50cb9d821c04ebff1a7cc6a327266f7843fe54e5592d37c41db023329d6e0f668c2
+DIST pytzdata-2020.1.gh.tar.gz 249045 BLAKE2B 6f07a7577edc87030fd70e720b32146e9044a8c6f74d0bafb9239ad666d0d6fd0ac7c3cca070914701af301b1a3368ace2985f8169b9747937fa6ed066be7302 SHA512 fd154bfbe90ce07a90f769063b772234036d2627c1e6d78a465d9ddbc894e50cb9d821c04ebff1a7cc6a327266f7843fe54e5592d37c41db023329d6e0f668c2
diff --git a/dev-python/pytzdata/pytzdata-2020.1-r1.ebuild b/dev-python/pytzdata/pytzdata-2020.1-r1.ebuild
deleted file mode 100644
index 56781a4e3dd0..000000000000
--- a/dev-python/pytzdata/pytzdata-2020.1-r1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_SETUPTOOLS=pyproject.toml
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="The Olson timezone database for Python"
-HOMEPAGE="https://github.com/sdispater/pytzdata"
-SRC_URI="https://github.com/sdispater/pytzdata/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-RDEPEND="dev-python/cleo[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/pytzdata-2020.1-system-zoneinfo.patch
-)
diff --git a/dev-python/pytzdata/pytzdata-2020.1-r2.ebuild b/dev-python/pytzdata/pytzdata-2020.1-r2.ebuild
new file mode 100644
index 000000000000..54007f31b6f2
--- /dev/null
+++ b/dev-python/pytzdata/pytzdata-2020.1-r2.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
+
+DESCRIPTION="The Olson timezone database for Python"
+HOMEPAGE="
+ https://github.com/sdispater/pytzdata/
+ https://pypi.org/project/pytzdata/
+"
+SRC_URI="
+ https://github.com/sdispater/pytzdata/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
+
+RDEPEND="
+ dev-python/cleo[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/pytzdata-2020.1-system-zoneinfo.patch
+)
diff --git a/dev-python/pyu2f/Manifest b/dev-python/pyu2f/Manifest
index ad1233361036..1d88c564bc49 100644
--- a/dev-python/pyu2f/Manifest
+++ b/dev-python/pyu2f/Manifest
@@ -1 +1 @@
-DIST pyu2f-0.1.5.tar.gz 39008 BLAKE2B 475a47ad99bfbe8f85ebe246eb7c394d0855732fc6bf0dd887bb32ad02bacb1f34dadc5506d330add64bca5b353824e773d2b1e971e78d9cf9dc2438d12b4f62 SHA512 ddb15bb1d917117a2b19ad169ac0f8b8c7667d7ef8ee4c266cc30326429bb3627d41d84dc390ce0036d0b0f110e1d2da47d06d4e4d03a8be98cedb5ea3112246
+DIST pyu2f-0.1.5.gh.tar.gz 39008 BLAKE2B 475a47ad99bfbe8f85ebe246eb7c394d0855732fc6bf0dd887bb32ad02bacb1f34dadc5506d330add64bca5b353824e773d2b1e971e78d9cf9dc2438d12b4f62 SHA512 ddb15bb1d917117a2b19ad169ac0f8b8c7667d7ef8ee4c266cc30326429bb3627d41d84dc390ce0036d0b0f110e1d2da47d06d4e4d03a8be98cedb5ea3112246
diff --git a/dev-python/pyu2f/pyu2f-0.1.5-r1.ebuild b/dev-python/pyu2f/pyu2f-0.1.5-r1.ebuild
index a69df87e81ac..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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}]
@@ -31,3 +37,17 @@ BDEPEND="
DOCS=( CONTRIBUTING.md README.md )
distutils_enable_tests pytest
+
+python_prepare_all() {
+ # adjust pyfakefs usage #888223
+ sed -e "s:CreateFile:create_file:" \
+ -e "s:CreateDirectory:create_dir:" \
+ -e "s:RemoveObject:remove_object:" \
+ -e "s:SetContents:set_contents:" \
+ -i pyu2f/tests/hid/linux_test.py || die
+ 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 f46ebf3efe12..b2322adc55a9 100644
--- a/dev-python/pyudev/Manifest
+++ b/dev-python/pyudev/Manifest
@@ -1 +1 @@
-DIST pyudev-0.23.2.tar.gz 87199 BLAKE2B 0ce4300296f4fcc3a56ba4100d3ebe7734330b3096fde59475fe9880758a3279324c4c3df883b22d1ec9f4e0cfa83fc7c25fbe54ed03a5e019567595deb21211 SHA512 40b947d363dca73789f5ab77cbda4b48349e28fe04f2f5cafb93d20799d842ebeb2b7d78d1f16dcbcaac5c20aff1b931b372c75852706e731337e6e1d30b8538
+DIST pyudev-0.24.1.tar.gz 85963 BLAKE2B 86c6d04691c99671735915564f58b4ef892e45925047487500bc7005343db7145941dde270f4ce9279881bd9bbf203965082d54b34b396febff52f387a1c26ac SHA512 10e32d9a74884000fbf8b86bee60530f6e7b936b990e7ae3b76099ace71834602de404721101c1076ef57365622a9a8f4819d57f58508ced09a21b7d50326886
diff --git a/dev-python/pyudev/pyudev-0.23.2.ebuild b/dev-python/pyudev/pyudev-0.23.2.ebuild
deleted file mode 100644
index 26cc8c89ddc7..000000000000
--- a/dev-python/pyudev/pyudev-0.23.2.ebuild
+++ /dev/null
@@ -1,57 +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_{8..10} )
-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 ~mips ppc ppc64 sparc x86"
-IUSE="qt5"
-
-# Known to fail on test system that aren't exactly the same devices as on CI
-RESTRICT="test"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- virtual/udev
-"
-BDEPEND="
- test? (
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/mock[${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 -i -e "s|== \('/run/udev'\)|in (\1,'/dev/.udev')|g" \
- tests/test_core.py || die
-
- # disable use 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
new file mode 100644
index 000000000000..c051fd276089
--- /dev/null
+++ b/dev-python/pyupgrade/Manifest
@@ -0,0 +1,2 @@
+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/metadata.xml b/dev-python/pyupgrade/metadata.xml
new file mode 100644
index 000000000000..03057765b9ea
--- /dev/null
+++ b/dev-python/pyupgrade/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>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>ajak@gentoo.org</email>
+ <name>John Helmert III</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">pyupgrade</remote-id>
+ <remote-id type="github">asottile/pyupgrade</remote-id>
+ </upstream>
+</pkgmetadata>
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/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 d90c9a0212c6..000000000000
--- a/dev-python/pyusb/pyusb-1.2.1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 4c4702f415dd..d2c954674162 100644
--- a/dev-python/pyvirtualdisplay/pyvirtualdisplay-3.0.ebuild
+++ b/dev-python/pyvirtualdisplay/pyvirtualdisplay-3.0.ebuild
@@ -1,40 +1,45 @@
-# 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_{8..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 ~arm64 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-py[${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 00e0bde62919..2339ca655489 100644
--- a/dev-python/pywavelets/Manifest
+++ b/dev-python/pywavelets/Manifest
@@ -1 +1,2 @@
-DIST PyWavelets-1.3.0.tar.gz 4585209 BLAKE2B 0835fe2ea375eb6036862f137569f77c9723203c581695688f73704e9f21e7dd4034e535b67bcf2b6e2819d2ebc69e6336b8d1ea16702412ce637f914a830b3c SHA512 57eaf4bd5d92f40658208a14c75f58dd7a523f702e209a1383b01e2f5a6d62b15d498126151819060bd2931aea6e280fd5c2dea1e22c21953c16a60d9f184c6f
+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/metadata.xml b/dev-python/pywavelets/metadata.xml
index 446328e12e40..aadb30f721d7 100644
--- a/dev-python/pywavelets/metadata.xml
+++ b/dev-python/pywavelets/metadata.xml
@@ -15,7 +15,7 @@
* Inverse Discrete Wavelet Transform (1D and 2D)
* Stationary Wavelet Transform
* Wavelet Packets decomposition and reconstruction
-</longdescription>
+ </longdescription>
<upstream>
<remote-id type="pypi">PyWavelets</remote-id>
<remote-id type="github">PyWavelets/pywt</remote-id>
diff --git a/dev-python/pywavelets/pywavelets-1.3.0.ebuild b/dev-python/pywavelets/pywavelets-1.3.0.ebuild
deleted file mode 100644
index fe8c19594c61..000000000000
--- a/dev-python/pywavelets/pywavelets-1.3.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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
new file mode 100644
index 000000000000..52f42aeeed4d
--- /dev/null
+++ b/dev-python/pywayland/Manifest
@@ -0,0 +1 @@
+DIST pywayland-0.4.17.gh.tar.gz 61171 BLAKE2B f190107ab361ec9c0a568d22a104fa06a7e52a348a6226c30c2ae542b77e5b21b4a389ad745efb864b58cff9e77cb22ff43fd6614859cb138d398a84b99614a5 SHA512 9ca1e30b56f6d1447744451d15d84041d5ce6ce64811ca0e395822731f0c7cd1d8571f640b89771d8f5e9da1d82385734974e10e68ccecffc0f9600a83d2478b
diff --git a/dev-python/pywayland/metadata.xml b/dev-python/pywayland/metadata.xml
new file mode 100644
index 000000000000..028246926f40
--- /dev/null
+++ b/dev-python/pywayland/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">flacjacket/pywayland</remote-id>
+ <remote-id type="pypi">pywayland</remote-id>
+ </upstream>
+</pkgmetadata>
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 b5ab98e4499c..18eabe625b95 100644
--- a/dev-python/pywinrm/pywinrm-0.4.3.ebuild
+++ b/dev-python/pywinrm/pywinrm-0.4.3.ebuild
@@ -1,20 +1,22 @@
-# 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_{8..10} )
+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
new file mode 100644
index 000000000000..6864cb100431
--- /dev/null
+++ b/dev-python/pywlroots/Manifest
@@ -0,0 +1,3 @@
+DIST pywlroots-0.15.24.gh.tar.gz 85570 BLAKE2B 0c7ba0be6159152488785298028bb1feec20e2380357060a850dab417b3fb1fccb4a9e6cc6564d2b7f124bf4fc454789549267e9036b0b4559e5fcd4c6f06196 SHA512 b29b76cf18a65b2ef19d15ecf018a9ba44119d60ee61435967d17f06d5f7544d2117f2e9a81574734c71591a237b00c8584a5cc6d6adb928f39f11170f21ee94
+DIST pywlroots-0.16.7.tar.gz 98542 BLAKE2B bcc20d31e4423c6f486f6bcbfecb1db1995cc3d58e98205f63468b4b93b3f386f67ff22e8a99cd419b7b31f7c0287a61f8c4e1fed6e7af525244e94895ba55d6 SHA512 05e75f70ca6e9fcf7cfd18fb55411fbf3ef9d0b95d11afdab0ad95f2016623ac4e097b600e3d7a6f880be0edc6a1ccfaa48364ec02bd3c46c44f7c0de3fe96ac
+DIST pywlroots-0.16.8.tar.gz 100267 BLAKE2B 969f528a849a5b2b3c5c9147971c1fa4e105d894c3086e0283877cdedb8f1535632fd8554adfda2419881a0a0efb9bbbba420950991f36746a66b543052f8301 SHA512 2b374ce77d35106830e8de8d96bb3572ff3853ce7a431e280580144ffc530531df5a79f54e5064d6186b7cc660a97dfb5d954155c71d8e70109d50206d96c597
diff --git a/dev-python/pywlroots/files/pywlroots-0.15.24-no-import-version-check.patch b/dev-python/pywlroots/files/pywlroots-0.15.24-no-import-version-check.patch
new file mode 100644
index 000000000000..eb0cce91ac35
--- /dev/null
+++ b/dev-python/pywlroots/files/pywlroots-0.15.24-no-import-version-check.patch
@@ -0,0 +1,13 @@
+https://github.com/flacjacket/gentoo-overlay/blob/master/dev-python/pywlroots/files/pywlroots-no_version_check.patch
+
+This causes sandbox failures in e.g. qtile on importing pywlroots.
+--- a/wlroots/ffi_build.py
++++ b/wlroots/ffi_build.py
+@@ -44,6 +44,7 @@ def load_wlroots_version():
+
+ def check_version():
+ """Check for wlroots version compatibility"""
++ return
+ # When importing a system-level installed package, we may not be able to
+ # create neighboring files, which is done by the `.verify` step. If this
+ # error is hit, we check with the compiled `wlroots.lib`.
diff --git a/dev-python/pywlroots/metadata.xml b/dev-python/pywlroots/metadata.xml
new file mode 100644
index 000000000000..34ba1c191606
--- /dev/null
+++ b/dev-python/pywlroots/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">flacjacket/pywlroots</remote-id>
+ <remote-id type="pypi">pywlroots</remote-id>
+ </upstream>
+</pkgmetadata>
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.16.7.ebuild b/dev-python/pywlroots/pywlroots-0.16.7.ebuild
new file mode 100644
index 000000000000..6f6089d7c382
--- /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/pywlroots/pywlroots-0.16.8.ebuild b/dev-python/pywlroots/pywlroots-0.16.8.ebuild
new file mode 100644
index 000000000000..9a4044ba719c
--- /dev/null
+++ b/dev-python/pywlroots/pywlroots-0.16.8.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 d2a3f69e6665..000000000000
--- a/dev-python/pyx/pyx-0.15_p1.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2022 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_{8..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
- has_version "dev-python/sphinx[latex,${PYTHON_USEDEP}]" &&
- has_version "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/Manifest b/dev-python/pyxDamerauLevenshtein/Manifest
index 0ac9fe91428d..54d657d53309 100644
--- a/dev-python/pyxDamerauLevenshtein/Manifest
+++ b/dev-python/pyxDamerauLevenshtein/Manifest
@@ -1,2 +1,2 @@
-DIST pyxDamerauLevenshtein-1.7.0.tar.gz 41867 BLAKE2B a8fe379a10bfd37e1675dab83d83d1b53308b5539c86e31f507a0243da898d57c4d320661642e23be439c4aabf88b1aaa559bc620e193e58586568cdfd8040df SHA512 11704d3968261cd844ce248c913f1b9baf813d0f8c712971ac4ec05466f8aa5719932e282b49e378d6799ae88483804055765a881d3cef8e7adff486b450e98e
DIST pyxDamerauLevenshtein-1.7.1.gh.tar.gz 43690 BLAKE2B 52950fa10667775828ee57ae9f68ea06bf8cf4e794c3cf27189fbc1affe877ee2537a5dfc3173a58a8b9ccfae664190e4eac250ddbc7cbeda748af033dd3fbbb SHA512 d16be05305ac8cdabecae90353e68cc51ac99ea88338fafe8379f6969434a9e3e3ac95ba58f71d15ccfcadfb3a9fbe30af563ec848e54115c64c83c69596e116
+DIST pyxDamerauLevenshtein-1.8.0.gh.tar.gz 9175 BLAKE2B 2c17ee794153071081cb463597a85d1428eb0620f4f30966a0deb257eb03efb34f95c45fc7d90a22bfd5034283ba7ba08ab1338278f0d81024e45d6ab8d19b05 SHA512 87429f8c106b31c024893313645d9f7af04f855c01009a461a59c506ac778be717c3052af47e9dce53a28c00ed4ee47347e975e9f8ccb50eb504c97b7d580206
diff --git a/dev-python/pyxDamerauLevenshtein/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.0.ebuild b/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.0.ebuild
deleted file mode 100644
index 0c7419c48775..000000000000
--- a/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Implements the Damerau-Levenshtein edit distance algorithm for Python in Cython"
-HOMEPAGE="https://github.com/gfairchild/pyxDamerauLevenshtein"
-SRC_URI="https://github.com/gfairchild/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.1.ebuild b/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.1.ebuild
index 0a2eac2f69e0..1b2e371e0d5d 100644
--- a/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.1.ebuild
+++ b/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.1.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_{8..11} )
+PYTHON_COMPAT=( python3_{10,11,12,12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~ppc64 ~riscv x86"
RDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
diff --git a/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.8.0.ebuild b/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.8.0.ebuild
new file mode 100644
index 000000000000..ba5134da1eae
--- /dev/null
+++ b/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.8.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Implements the Damerau-Levenshtein edit distance algorithm for Python in Cython"
+HOMEPAGE="
+ https://github.com/lanl/pyxDamerauLevenshtein/
+ https://pypi.org/project/pyxDamerauLevenshtein/
+"
+SRC_URI="
+ https://github.com/lanl/pyxDamerauLevenshtein/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ # recythonize
+ cd pyxdameraulevenshtein || die
+ cython -3 -f *.pyx || die
+}
+
+src_test() {
+ rm -r pyxdameraulevenshtein || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/pyxattr/Manifest b/dev-python/pyxattr/Manifest
index 70f935f96eef..ae1905c8549a 100644
--- a/dev-python/pyxattr/Manifest
+++ b/dev-python/pyxattr/Manifest
@@ -1 +1 @@
-DIST pyxattr-0.7.2.tar.gz 31550 BLAKE2B 3505300d7a50dc305068740379bb8edbefa29f228c797e2e74467a51f4b0a6b740203f89b8ed461218978214213a6cd778107f58eb07a64d6b45e25d0fb769ea SHA512 fb9b36d5d2fb9ab674daf40d6f5c7dbe50d847dcb6d9955d270ef3aed2d8e3540f8feebd934009f47d63f3c55882846a20f7ed733b0d0c004e7a1984e7106206
+DIST pyxattr-0.8.1.tar.gz 38443 BLAKE2B 2b044f5774c4b1e95a711e3bdad0c2f604d330865155360b8b6e08377c78d058e17a7d3f4792d6ef932b81f92b1671277663a36652d60a25aaa658a2e545f8a6 SHA512 98ba196b29b431ecacf0257712aa219175ba030e1c62fb388b4f3109d2d6b14ef09ed38f85177bd2991d3109c0af4cd2a108d17886dd51549e817727714f72f1
diff --git a/dev-python/pyxattr/metadata.xml b/dev-python/pyxattr/metadata.xml
index 74f6f576e107..151e67c46cc5 100644
--- a/dev-python/pyxattr/metadata.xml
+++ b/dev-python/pyxattr/metadata.xml
@@ -5,7 +5,7 @@
pyxattr is an Python extension module wrapper for libattr. You can
use this module to query, list, add and remove extended attributes
from files and directories
-</longdescription>
+ </longdescription>
<maintainer type="person">
<email>robbat2@gentoo.org</email>
</maintainer>
@@ -14,6 +14,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">iustin/pyxattr</remote-id>
<remote-id type="pypi">pyxattr</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pyxattr/pyxattr-0.7.2.ebuild b/dev-python/pyxattr/pyxattr-0.7.2.ebuild
deleted file mode 100644
index a6778fa0e754..000000000000
--- a/dev-python/pyxattr/pyxattr-0.7.2.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python interface to xattr"
-HOMEPAGE="https://pyxattr.k1024.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- https://pyxattr.k1024.org/downloads/${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"
-
-RDEPEND="sys-apps/attr:="
-DEPEND="${RDEPEND}"
-
-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/metadata.xml b/dev-python/pyxdg/metadata.xml
index 7bcc4753878b..080249569b44 100644
--- a/dev-python/pyxdg/metadata.xml
+++ b/dev-python/pyxdg/metadata.xml
@@ -11,5 +11,7 @@
<bugs-to>https://bugs.freedesktop.org/</bugs-to>
<remote-id type="pypi">pyxdg</remote-id>
<remote-id type="launchpad">pyxdg</remote-id>
+ <remote-id type="github">takluyver/pyxdg</remote-id>
+ <remote-id type="freedesktop-gitlab">xdg/pyxdg</remote-id>
</upstream>
</pkgmetadata>
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 341a02c6ec8d..000000000000
--- a/dev-python/pyxdg/pyxdg-0.28.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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://cgit.freedesktop.org/xdg/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 da35f2f7a319..000000000000
--- a/dev-python/pyyaml/pyyaml-6.0-r1.ebuild
+++ /dev/null
@@ -1,49 +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_{8..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 581d1f6eac39..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
@@ -1,20 +1,19 @@
-# 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_{8..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 ~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/metadata.xml b/dev-python/pyzbar/metadata.xml
index 510867d073b0..887906ebeb61 100644
--- a/dev-python/pyzbar/metadata.xml
+++ b/dev-python/pyzbar/metadata.xml
@@ -5,7 +5,9 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">pyzbar</remote-id>
+ <remote-id type="github">NaturalHistoryMuseum/pyzbar</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pyzbar/pyzbar-0.1.9.ebuild b/dev-python/pyzbar/pyzbar-0.1.9.ebuild
index 392a1f427c68..82d10d03fa72 100644
--- a/dev-python/pyzbar/pyzbar-0.1.9.ebuild
+++ b/dev-python/pyzbar/pyzbar-0.1.9.ebuild
@@ -1,20 +1,26 @@
-# 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_{8..10} )
+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 547e06951f36..83a8e3f57467 100644
--- a/dev-python/pyzmq/Manifest
+++ b/dev-python/pyzmq/Manifest
@@ -1 +1,3 @@
-DIST pyzmq-23.2.0.gh.tar.gz 402085 BLAKE2B 4ab26af04c76205d0770163e248e28a22aa8f710a66c9dc96e18c772338c434ad06227d57edd5aa3476fad68fa7320e9216a102b2cb19649393f1e9ef5d9599c SHA512 348482f4b6fd4ebeae8e4720a7005ed35eccee2bf26b0128115b756ee560156b34e6f043c96b71a84d47b1313bd2d8e0ed0f74c7768e23cbf65bd906036800c5
+DIST pyzmq-25.1.2.gh.tar.gz 391272 BLAKE2B 80814704e7ea08d407859c1d71338f6ea283efcd1f3994155334aa5b60c4b6cd89167de8c78d19f8efdbeb5f4071f7b5954ea911eb6e7fbb48a0087b86579cab SHA512 b146a6dbce7cbbe2eb1da7ebd64e463067354f1566cdb4ff634b59bbb6d65e16263b6acb2d101a4ea53f870be5c753c9a12f9cc37bc5a81236681ea4fda6c56b
+DIST pyzmq-26.0.2.gh.tar.gz 267895 BLAKE2B c71a0149cb6c596dfcbc760376aa14afa69bd927fcc739698f7d2ea44579dc8437ae605745b383a9b317ff66c092a4f963671e7933cf19f3f73acac16ac06daa SHA512 5772743e71810f9a0c332dcf16f04237eeb0a34ef2efdd22b63258ebe93e6b493a79845090e677a33582a9a80e7bee773160ec7ecfdaf240b655f3819e5b67a5
+DIST pyzmq-26.0.3.gh.tar.gz 268927 BLAKE2B 7504a45776e8c618833702563b50f672a3ecabb3353551ea61d2d2343dd9e955d1d2938046c2f90d115255482b9b6b2c0f1817b238e591b9319ac92a4341c04a SHA512 f4a32164daf9d9521be83008a94089406078779b9e0e56812a826df1fb295cc03781566825697313aa0c2b36b85b0bb760b8fb90959a856a0542b9072cde78c9
diff --git a/dev-python/pyzmq/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-23.2.0-r1.ebuild b/dev-python/pyzmq/pyzmq-23.2.0-r1.ebuild
deleted file mode 100644
index d68843bf062b..000000000000
--- a/dev-python/pyzmq/pyzmq-23.2.0-r1.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~m68k ~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}]
- >=www-servers/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-23.2.0.ebuild b/dev-python/pyzmq/pyzmq-23.2.0.ebuild
deleted file mode 100644
index cdb941627bc5..000000000000
--- a/dev-python/pyzmq/pyzmq-23.2.0.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~m68k 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}]
- >=www-servers/tornado-5.0.2[${PYTHON_USEDEP}]
- )
-"
-
-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.2.ebuild b/dev-python/pyzmq/pyzmq-26.0.2.ebuild
new file mode 100644
index 000000000000..2e3555948fec
--- /dev/null
+++ b/dev-python/pyzmq/pyzmq-26.0.2.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
+HOMEPAGE="
+ https://zeromq.org/languages/python/
+ https://pypi.org/project/pyzmq/
+ https://github.com/zeromq/pyzmq/
+"
+SRC_URI="
+ https://github.com/zeromq/pyzmq/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="drafts"
+
+# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
+DEPEND="
+ >=net-libs/zeromq-4.2.2-r2:=[drafts=]
+"
+# It uses cffi backend for pypy, cython backend for cpython
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+# TODO: Package enum_tools
+# distutils_enable_sphinx docs/source \
+# dev-python/numpydoc \
+# dev-python/sphinx-rtd-theme \
+# dev-python/myst-parser
+
+src_configure() {
+ DISTUTILS_ARGS=(
+ -DZMQ_DRAFT_API="$(usex drafts)"
+ )
+}
+
+src_test() {
+ # need to move them around to make EPYTEST_IGNORE work cleanly
+ # with tests-in-package and extension modules
+ mv zmq/tests . || die
+ rm -r zmq || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Avoid dependency on mypy
+ tests/test_mypy.py
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # not implemented in cffi variant?
+ tests/test_draft.py::TestDraftSockets
+ )
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # avoid large to reduce memory consumption
+ epytest -p asyncio -p rerunfailures tests -m "not large"
+}
diff --git a/dev-python/pyzmq/pyzmq-26.0.3.ebuild b/dev-python/pyzmq/pyzmq-26.0.3.ebuild
new file mode 100644
index 000000000000..2e3555948fec
--- /dev/null
+++ b/dev-python/pyzmq/pyzmq-26.0.3.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
+HOMEPAGE="
+ https://zeromq.org/languages/python/
+ https://pypi.org/project/pyzmq/
+ https://github.com/zeromq/pyzmq/
+"
+SRC_URI="
+ https://github.com/zeromq/pyzmq/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="drafts"
+
+# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
+DEPEND="
+ >=net-libs/zeromq-4.2.2-r2:=[drafts=]
+"
+# It uses cffi backend for pypy, cython backend for cpython
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+# TODO: Package enum_tools
+# distutils_enable_sphinx docs/source \
+# dev-python/numpydoc \
+# dev-python/sphinx-rtd-theme \
+# dev-python/myst-parser
+
+src_configure() {
+ DISTUTILS_ARGS=(
+ -DZMQ_DRAFT_API="$(usex drafts)"
+ )
+}
+
+src_test() {
+ # need to move them around to make EPYTEST_IGNORE work cleanly
+ # with tests-in-package and extension modules
+ mv zmq/tests . || die
+ rm -r zmq || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Avoid dependency on mypy
+ tests/test_mypy.py
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # not implemented in cffi variant?
+ tests/test_draft.py::TestDraftSockets
+ )
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # avoid large to reduce memory consumption
+ epytest -p asyncio -p rerunfailures tests -m "not large"
+}
diff --git a/dev-python/pyzotero/Manifest b/dev-python/pyzotero/Manifest
index 3afc2bfeefbf..dca07ac3c047 100644
--- a/dev-python/pyzotero/Manifest
+++ b/dev-python/pyzotero/Manifest
@@ -1,2 +1 @@
-DIST pyzotero-1.5.4.tar.gz 525739 BLAKE2B 93acb725cb47e9f1642d88ea79e590e29af6eecedb5a14e220c9d6ce2c27d05dfd9042ef49d53c710a507050f566b097a272e025d26d1b10a64357e511da656e SHA512 10c27d531adf358c337aab3358d24e28318dfee02b08387663f0433fffc645ddc633929a8422d508952e26d29219c350c6865248c447391436d8cb5061f273ec
-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.4.ebuild b/dev-python/pyzotero/pyzotero-1.5.4.ebuild
deleted file mode 100644
index 43f353340a99..000000000000
--- a/dev-python/pyzotero/pyzotero-1.5.4.ebuild
+++ /dev/null
@@ -1,38 +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_{8..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/pyzotero/pyzotero-1.5.5.ebuild b/dev-python/pyzotero/pyzotero-1.5.5.ebuild
deleted file mode 100644
index 43f353340a99..000000000000
--- a/dev-python/pyzotero/pyzotero-1.5.5.ebuild
+++ /dev/null
@@ -1,38 +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_{8..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 9e8e925e3e59..000000000000
--- a/dev-python/qdarkstyle/qdarkstyle-3.0.3.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
-
-PYTHON_COMPAT=( python3_{8..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 0a87a186625d..000000000000
--- a/dev-python/qdarkstyle/qdarkstyle-3.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 1dd95accffd1..286bb67e6236 100644
--- a/dev-python/qiskit-aer/Manifest
+++ b/dev-python/qiskit-aer/Manifest
@@ -1 +1,2 @@
-DIST qiskit-aer-0.10.3.gh.tar.gz 6657490 BLAKE2B 443f7df2259c720fb93a60659da9b1cded25f9dbdf585bd0322e9f4effe4c5955daf6587d6c3964ab4a7e4a8bf6270f857abae1cf4e6b0718801daa6a96c2aec SHA512 c882624bac373566b003a01fffa6963d4ad8796ce18786b50ef85350daac26814c147b36067eb6fce4f264919b3680246e767b5c13ac338817fd394620392079
+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.10.3.ebuild b/dev-python/qiskit-aer/qiskit-aer-0.10.3.ebuild
deleted file mode 100644
index 3fc6e2707460..000000000000
--- a/dev-python/qiskit-aer/qiskit-aer-0.10.3.ebuild
+++ /dev/null
@@ -1,92 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="High performance simulator for quantum circuits that includes noise models"
-HOMEPAGE="https://github.com/Qiskit/qiskit-aer"
-SRC_URI="https://github.com/Qiskit/qiskit-aer/archive/refs/tags/${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).
-COMMON_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="
- ${COMMON_DEPEND}
- >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="
- ${COMMON_DEPEND}
- >=dev-python/qiskit-terra-0.19.1[${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"
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- # We have to hide the source code directory so tests
- # do not use these, but instead the compiled library.
- mv qiskit qiskit.hidden || die
- epytest
- mv qiskit.hidden qiskit || die
-}
-
-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 a8227925a43f..674fc138295c 100644
--- a/dev-python/qiskit-terra/Manifest
+++ b/dev-python/qiskit-terra/Manifest
@@ -1 +1,72 @@
-DIST qiskit-terra-0.19.2.gh.tar.gz 9536647 BLAKE2B 966370a782179512f3c4cd209f604f536ac4ac503f4805681d5729f4d6df4020bbaa5a2beb2fc393506eaa67a81666254375f14b827e07e1c1478a381fde5b45 SHA512 d02c028a86927610f1bca63830cb489069e68e016ed744a4092a96ddde163ea8ca1071048fc82b1807d4136e1fb2b0fcdde6d1a639ffc2ebe7c99dfd50c2e3d4
+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-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.10.crate 34955 BLAKE2B 8e7b8554ae360484ceca2a05f834c2664b08f41cbc6c955663e1f8f22fb5750481518bf1c7b49f49223a99a66914ef013347b9186acc97a20249f3222a13f9d4 SHA512 82af9e0417bff9272ed0478be4ac90426405ce210014b21899c6b95fde1b16893bf46295388ff5f13fa712a04c99c46b770fab83f41a1343af1590a86ca8da3b
+DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
+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.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.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.8.crate 32383 BLAKE2B 2f9666872894d1c85895437d1353f9e15be2bc8d004ffc8f0e5be95e9dd4b274797db3752eba1c0b5b6071c1b8a71e4857cae0b2aff1afdaa39e92e70be2e6fd SHA512 8d6dfdf661b0f7d0774cb9f61121f2daefd182ac8a2a0d24eab451febfbe1a664c815c163d34a7f3d15a54915a8e22e6c6cd10e89cb7d7598d48d81ad6a3c256
+DIST petgraph-0.6.3.crate 185740 BLAKE2B dc3d4a0c29662f761bfc107d9654619a3443b07890e0caea5851a6dfab2f071181ab94c521d641197e159098885363d7ed4e1c9c34333fd1339c7484c2237c4e SHA512 9b624ab93ebd06fcda716b1e79dd82c5594a11c71ea0ad806b6b708fee3f432ee174ac292c5af3bb0c84b411c26564ad11436624a52ac4e74ed40432778c21e8
+DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
+DIST priority-queue-1.3.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.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.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-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/files/qiskit-terra-0.19.2-test-corrections.patch b/dev-python/qiskit-terra/files/qiskit-terra-0.19.2-test-corrections.patch
deleted file mode 100644
index ec44ebe75faa..000000000000
--- a/dev-python/qiskit-terra/files/qiskit-terra-0.19.2-test-corrections.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/test/python/qobj/test_pulse_converter.py b/test/python/qobj/test_pulse_converter.py
-index ea5b77e78..cde568ecf 100644
---- a/test/python/qobj/test_pulse_converter.py
-+++ b/test/python/qobj/test_pulse_converter.py
-@@ -341,7 +341,8 @@ class TestQobjToInstructionConverter(QiskitTestCase):
-
- self.assertEqual(evaluated_instruction.start_time, 1)
- self.assertEqual(evaluated_instruction.duration, 1)
-- self.assertEqual(evaluated_instruction.instructions[0][-1], instruction)
-+ self.assertEqual(evaluated_instruction.instructions[0][-1].channel, instruction.channel)
-+ self.assertAlmostEqual(evaluated_instruction.instructions[0][-1].frequency, instruction.frequency)
-
- def test_delay(self):
- """Test converted qobj from Delay."""
-diff --git a/test/randomized/test_transpiler_equivalence.py b/test/randomized/test_transpiler_equivalence.py
-index 302760279..1d0a3e16f 100644
---- a/test/randomized/test_transpiler_equivalence.py
-+++ b/test/randomized/test_transpiler_equivalence.py
-@@ -21,7 +21,7 @@ from hypothesis.stateful import Bundle, RuleBasedStateMachine
-
- import hypothesis.strategies as st
-
--from qiskit import execute, transpile, Aer
-+from qiskit import execute, transpile, BasicAer
- from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister
- from qiskit.circuit import Measure, Reset, Gate, Barrier
- from qiskit.test.mock import (
-@@ -98,7 +98,7 @@ class QCircuitMachine(RuleBasedStateMachine):
- qubits = Bundle("qubits")
- clbits = Bundle("clbits")
-
-- backend = Aer.get_backend("qasm_simulator")
-+ backend = BasicAer.get_backend("qasm_simulator")
- max_qubits = int(backend.configuration().n_qubits / 2)
-
- def __init__(self):
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.19.2.ebuild b/dev-python/qiskit-terra/qiskit-terra-0.19.2.ebuild
deleted file mode 100644
index 36f8af6afe18..000000000000
--- a/dev-python/qiskit-terra/qiskit-terra-0.19.2.ebuild
+++ /dev/null
@@ -1,70 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Terra is the foundation on which Qiskit is built"
-HOMEPAGE="https://github.com/Qiskit/qiskit-terra"
-SRC_URI="https://github.com/Qiskit/qiskit-terra/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="+visualization"
-KEYWORDS="~amd64"
-
-BDEPEND=">=dev-python/cython-0.27.1[${PYTHON_USEDEP}]
- test? (
- >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}]
- >=dev-python/networkx-2.2[${PYTHON_USEDEP}]
- app-text/poppler[png]
- >=sci-libs/scikit-learn-0.20.0[${PYTHON_USEDEP}]
- )"
-
-RDEPEND="
- >=dev-python/retworkx-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}]
- )"
-
-distutils_enable_tests pytest
-
-# Small issues with the tests.
-# qiskit.Aer module depends on qiskit-terra, it cannot be used,
-# and an exact comparison of float switched to approximate comparison.
-PATCHES=( "${FILESDIR}/qiskit-terra-0.19.2-test-corrections.patch" )
-
-python_test() {
- # We have to hide the source code directory so tests
- # do not use these, but instead the compiled library.
- mv qiskit qiskit.hidden || die
-
- # Some small tests are failing which test optional features.
- # Why they fail is still under investigation.
- # transpiler_equivalence tests take too long time, they are also skipped.
- epytest -k 'not (TestOptions and test_copy) and not TestUnitarySynthesisPlugin and not test_transpiler_equivalence and not (TestPauliSumOp and test_to_instruction)'
-
- mv qiskit.hidden qiskit || die
-}
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 0b5d3ce04bb4..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 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_{8..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1 optfeature
DESCRIPTION="Page-based viewer widget for Qt5/PyQt5"
@@ -14,10 +15,12 @@ SRC_URI="https://github.com/frescobaldi/qpageview/archive/refs/tags/v${PV}.tar.g
# Should be GPL-3+ once cleared up
LICENSE="GPL-2+ GPL-3+"
SLOT="0"
-KEYWORDS="amd64 ~x86"
+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 f2aaaf82c36b..000000000000
--- a/dev-python/qrcode/qrcode-7.3.1-r1.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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 8247ffec01ab..96cf9c1d21e4 100644
--- a/dev-python/qscintilla-python/Manifest
+++ b/dev-python/qscintilla-python/Manifest
@@ -1,2 +1 @@
-DIST QScintilla-2.11.6.tar.gz 3027764 BLAKE2B 1eb5d9ba44040cbff30e8b0028e164cf2aa86c565a5368890500614b9395dbe861c5cd268cf6a4ec06e2c7d77860b2ad6064bc3d07fd63a6ede2b060f44a7117 SHA512 8055d72a40f9f5a7d45c6592055c1b8eb5e5c50ce9e51673babd5e567c769d60c64d244ba5a7def5731a3120099e9528d01ed94327a06bb56ae2fa2e5e37b198
-DIST QScintilla_src-2.13.1.tar.gz 3059819 BLAKE2B 147d61cea2d557da6d922599f826a62c4b216f3252226892076ff785a080c9de1fef199297156fce55a00006567240af45e2833e085e423ad47e29c4f9b2241e SHA512 edf7f358e188235d8a39a7d4a8332ca478460a65a8829d9cafcab8f22b84abcd8d624de2076d81a66a56d5a5c53edc6ecc223459bbbb8ac876c5befd8873f700
+DIST QScintilla_src-2.14.1.tar.gz 3233610 BLAKE2B 83b54378f0d3fa39ea120214a06c91982f81281e15c61fc70a9e83928be64724cfd2679b5e4aafee44a324e24a6c4729693cd118c6ad0b1636a199f2f41d34fe SHA512 19e2f9e0a14947501c575018df368d24eb7f8c74e74faa5246db36415bf28dc0beee507ed0e73107c02b36a99bbaf55f0ef3349f479d2332e1b92b2c4a32788a
diff --git a/dev-python/qscintilla-python/metadata.xml b/dev-python/qscintilla-python/metadata.xml
index fe062101d646..cb669d0602d2 100644
--- a/dev-python/qscintilla-python/metadata.xml
+++ b/dev-python/qscintilla-python/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<maintainer status="active">
<email>phil@riverbankcomputing.com</email>
diff --git a/dev-python/qscintilla-python/qscintilla-python-2.11.6.ebuild b/dev-python/qscintilla-python/qscintilla-python-2.11.6.ebuild
deleted file mode 100644
index bea10fcea4e0..000000000000
--- a/dev-python/qscintilla-python/qscintilla-python-2.11.6.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit python-r1 qmake-utils
-
-DESCRIPTION="Python bindings for QScintilla"
-HOMEPAGE="https://www.riverbankcomputing.com/software/qscintilla/"
-
-MY_PN=QScintilla
-MY_P=${MY_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/${MY_PN}/${PV}/${MY_P}.tar.gz"
-fi
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-IUSE="debug"
-
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
-"
-
-RDEPEND="
- ${PYTHON_DEPS}
- <dev-python/PyQt5-5.15.5_pre[gui,printsupport,widgets,${PYTHON_USEDEP}]
- >=dev-python/PyQt5-sip-4.19.22:=[${PYTHON_USEDEP}]
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5
- ~x11-libs/qscintilla-${PV}:=
-"
-DEPEND="${RDEPEND}
- >=dev-python/sip-4.19.22:0[${PYTHON_USEDEP}]
-"
-
-S=${WORKDIR}/${MY_P}/Python
-
-src_configure() {
- configuration() {
- local myconf=(
- "${PYTHON}"
- "${S}"/configure.py
- --pyqt=PyQt5
- --qmake="$(qt5_get_bindir)"/qmake
- $(usex debug '--debug --trace' '')
- --verbose
- )
- echo "${myconf[@]}"
- "${myconf[@]}" || die
-
- # Fix parallel install failure
- sed -i -e '/INSTALLS += distinfo/i distinfo.depends = install_subtargets install_pep484_stubs install_api' \
- ${MY_PN}.pro || die
-
- # Run eqmake to respect toolchain and build flags
- eqmake5 -recursive ${MY_PN}.pro
- }
- python_foreach_impl run_in_build_dir configuration
-}
-
-src_compile() {
- python_foreach_impl run_in_build_dir default
-}
-
-src_install() {
- installation() {
- emake INSTALL_ROOT="${D}" install
- python_optimize
- }
- python_foreach_impl run_in_build_dir installation
-}
diff --git a/dev-python/qscintilla-python/qscintilla-python-2.13.1.ebuild b/dev-python/qscintilla-python/qscintilla-python-2.13.1.ebuild
deleted file mode 100644
index b207654bc061..000000000000
--- a/dev-python/qscintilla-python/qscintilla-python-2.13.1.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit python-r1 qmake-utils
-
-DESCRIPTION="Python bindings for QScintilla"
-HOMEPAGE="https://www.riverbankcomputing.com/software/qscintilla/ https://pypi.org/project/QScintilla/"
-
-MY_PN=QScintilla
-MY_P=${MY_PN}_src-${PV/_pre/.dev}
-if [[ ${PV} == *_pre* ]]; then
- SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
-else
- SRC_URI="https://www.riverbankcomputing.com/static/Downloads/${MY_PN}/${PV}/${MY_P}.tar.gz"
-fi
-S=${WORKDIR}/${MY_P}/Python
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-IUSE="debug"
-
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
-"
-
-DEPEND="${PYTHON_DEPS}
- >=dev-python/PyQt5-5.15.5[gui,printsupport,widgets,${PYTHON_USEDEP}]
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5
- ~x11-libs/qscintilla-${PV}:=
-"
-RDEPEND="${DEPEND}
- >=dev-python/PyQt5-sip-12.9:=[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/PyQt-builder-1.10[${PYTHON_USEDEP}]
- >=dev-python/sip-6.2[${PYTHON_USEDEP}]
- dev-qt/qtcore:5
-"
-
-src_prepare() {
- default
- mv pyproject{-qt5,}.toml || die
-}
-
-src_configure() {
- configuration() {
- local myconf=(
- sip-build
- --verbose
- --build-dir="${BUILD_DIR}"
- --scripts-dir="$(python_get_scriptdir)"
- --qmake="$(qt5_get_bindir)"/qmake
- --no-make
- $(usev debug '--debug --qml-debug --tracing')
- )
- echo "${myconf[@]}"
- "${myconf[@]}" || die
-
- # Run eqmake to respect toolchain and build flags
- run_in_build_dir eqmake5 -recursive ${MY_PN}.pro
- }
- python_foreach_impl configuration
-}
-
-src_compile() {
- python_foreach_impl run_in_build_dir default
-}
-
-src_install() {
- installation() {
- emake INSTALL_ROOT="${D}" install
- python_optimize
- }
- python_foreach_impl run_in_build_dir installation
-}
diff --git a/dev-python/qscintilla-python/qscintilla-python-2.14.1-r2.ebuild b/dev-python/qscintilla-python/qscintilla-python-2.14.1-r2.ebuild
new file mode 100644
index 000000000000..83e0ea4da40d
--- /dev/null
+++ b/dev-python/qscintilla-python/qscintilla-python-2.14.1-r2.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit multibuild python-r1 qmake-utils out-of-source-utils
+
+DESCRIPTION="Python bindings for QScintilla"
+HOMEPAGE="https://www.riverbankcomputing.com/software/qscintilla/ https://pypi.org/project/QScintilla/"
+
+MY_PN=QScintilla
+MY_P=${MY_PN}_src-${PV/_pre/.dev}
+SRC_URI="https://www.riverbankcomputing.com/static/Downloads/${MY_PN}/${PV}/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}/Python
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+IUSE="debug +qt5 qt6"
+
+REQUIRED_USE="|| ( qt5 qt6 ) ${PYTHON_REQUIRED_USE}"
+
+# no tests
+RESTRICT="test"
+
+DEPEND="${PYTHON_DEPS}
+ qt5? (
+ >=dev-python/PyQt5-5.15.5[gui,printsupport,widgets,${PYTHON_USEDEP}]
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? (
+ dev-python/PyQt6[gui,printsupport,widgets,${PYTHON_USEDEP}]
+ dev-qt/qtbase:6[gui,widgets]
+ )
+ ~x11-libs/qscintilla-${PV}:=[qt5(+)?,qt6(-)?]
+"
+RDEPEND="${DEPEND}
+ qt5? ( >=dev-python/PyQt5-sip-12.9:=[${PYTHON_USEDEP}] )
+ qt6? ( >=dev-python/PyQt6-sip-13.5:=[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.10[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.2[${PYTHON_USEDEP}]
+ qt5? ( dev-qt/qtcore:5 )
+ qt6? ( dev-qt/qtbase:6 )
+"
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+ my_src_configure() {
+ case ${MULTIBUILD_VARIANT} in
+ qt5)
+ configuration() {
+ local myconf=(
+ sip-build
+ --verbose
+ --build-dir="${BUILD_DIR}"
+ --scripts-dir="$(python_get_scriptdir)"
+ --qmake="$(qt5_get_bindir)"/qmake
+ --no-make
+ $(usev debug '--debug --qml-debug --tracing')
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}" || die
+
+ run_in_build_dir qmake5 -recursive ${MY_PN}.pro
+ }
+ mv pyproject{-${MULTIBUILD_VARIANT},}.toml || die
+ python_foreach_impl configuration
+ ;;
+ qt6)
+ configuration() {
+ local myconf=(
+ sip-build
+ --verbose
+ --build-dir="${BUILD_DIR}"
+ --scripts-dir="$(python_get_scriptdir)"
+ --qmake="$(qt6_get_bindir)"/qmake
+ --no-make
+ $(usev debug '--debug --qml-debug --tracing')
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}" || die
+
+ run_in_build_dir qmake6 -recursive ${MY_PN}.pro
+ }
+ mv pyproject{-${MULTIBUILD_VARIANT},}.toml || die
+ python_foreach_impl configuration
+ ;;
+ esac
+ }
+ multibuild_foreach_variant my_src_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ installation() {
+ emake INSTALL_ROOT="${D}" install
+ python_optimize
+ }
+ multibuild_foreach_variant python_foreach_impl run_in_build_dir installation
+}
diff --git a/dev-python/qstylizer/Manifest b/dev-python/qstylizer/Manifest
index 6d55a1f5df45..56222e11ee52 100644
--- a/dev-python/qstylizer/Manifest
+++ b/dev-python/qstylizer/Manifest
@@ -1 +1,2 @@
-DIST qstylizer-0.2.1.tar.gz 20687 BLAKE2B ad158ac0f88c4a0a7c6d9fe9adc611f69cb946c28be8c414dbb40532901b53faee281e7c0a798c9f680d8e5cd8a04179b16df796041133a8dd65d117964e9905 SHA512 c5e4a4194b4282a6d2782c0636ed74e9885409570466765c6e2aee0a176175bb688854244828c56ffbd00e76d297a33de211dedae8d984021c816522ea2b6085
+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.1-r1.ebuild b/dev-python/qstylizer/qstylizer-0.2.1-r1.ebuild
deleted file mode 100644
index f8b7f07bfdde..000000000000
--- a/dev-python/qstylizer/qstylizer-0.2.1-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-DISTUTILS_USE_PEP517=setuptools
-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}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~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}]
- dev-vcs/git
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc dev-python/sphinx_rtd_theme dev-python/sphinxcontrib-autoprogram
-
-python_prepare_all() {
- # 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
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/qstylizer/qstylizer-0.2.2.ebuild b/dev-python/qstylizer/qstylizer-0.2.2.ebuild
new file mode 100644
index 000000000000..3f24d1fa7d5b
--- /dev/null
+++ b/dev-python/qstylizer/qstylizer-0.2.2.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="Stylesheet Generator for PyQt5/PySide2"
+HOMEPAGE="
+ https://github.com/blambright/qstylizer/
+ https://pypi.org/project/qstylizer/
+"
+SRC_URI="
+ https://github.com/blambright/qstylizer/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/tinycss2-0.5[${PYTHON_USEDEP}]
+ <dev-python/tinycss2-2[${PYTHON_USEDEP}]
+ >=dev-python/inflection-0.3.0[${PYTHON_USEDEP}]
+ <dev-python/inflection-1[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme \
+ dev-python/sphinxcontrib-autoprogram
+
+python_prepare_all() {
+ # fix test
+ # https://github.com/blambright/qstylizer/pull/17
+ sed -e 's:[.]called_once_with:.assert_called_once_with:' \
+ -i test/unit/test_style.py || die
+
+ distutils-r1_python_prepare_all
+
+ export PBR_VERSION=${PV}
+}
diff --git a/dev-python/qstylizer/qstylizer-0.2.3.ebuild b/dev-python/qstylizer/qstylizer-0.2.3.ebuild
new file mode 100644
index 000000000000..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 30f3a7bc68f5..e60247f3fd04 100644
--- a/dev-python/qtawesome/Manifest
+++ b/dev-python/qtawesome/Manifest
@@ -1 +1 @@
-DIST QtAwesome-1.1.1.tar.gz 2277767 BLAKE2B ca8668e0b6633087b7e09ffcec19809c8b7e12af2caa0beac896940cdbf3a113206f6952916fbe81c53899a56f8222e613df9c028f59907a2553174551ef9fcf SHA512 3cf04b822464c14f52f23499e64515f50f743aba40a8d22224d22315342cef760da476dc9b2ae42e901ac8ef8440e105a6bf6175efc6749250e0fbbbc255e08f
+DIST QtAwesome-1.3.1.tar.gz 2372190 BLAKE2B d7a0a0d5ac1ff8e60e14ce407a2220ef9bc5463304274df7d04a00178b3021dd4f5e35c028a4038f53adf04c85eabd8e33b10c59d57804733265ee17d5875563 SHA512 6b50a4fce231331ec05497905f4fb1e7d91d5bbc9dfd963f3b2dd649d3d28f20436d1c3aed574457ff4afaf277d0e53b371ead7e0ddfb208ab8a4b5ddd4bc2f1
diff --git a/dev-python/qtawesome/qtawesome-1.1.1-r1.ebuild b/dev-python/qtawesome/qtawesome-1.1.1-r1.ebuild
deleted file mode 100644
index 9f975f17e6d9..000000000000
--- a/dev-python/qtawesome/qtawesome-1.1.1-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-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 8068dabd40ce..a9ed92db51ad 100644
--- a/dev-python/qtconsole/Manifest
+++ b/dev-python/qtconsole/Manifest
@@ -1 +1,5 @@
-DIST qtconsole-5.3.1.tar.gz 430680 BLAKE2B 4655d9aa78a95200fb3f4d2016749d4f1c75865d259da8583818259d05301469b9851b85a2716336084f022f546e97ae003483284f0305793da80a5de7635ac2 SHA512 bebf9c97ebe2a030feebd34f9dbc83294af5eb64946b252c5b5e6391e2760ff95efa7f0be89ec59c424de5fefb3f876ead897d17b679fc87896fe440ba936554
+DIST qtconsole-5.4.3.tar.gz 437303 BLAKE2B ead6676dabf342a74c30ecba1f280e697c7e58fb970813a572bcacf4adbc71e525df4323b50c30100433373e89eeea464dc382844066416e121a0f1c140487db SHA512 9c2061441775daa3045c1788ed57048de9197938a927647197d29a0b7cada836d5fe4e3329b5126c984064070a275cccbe0341622c3b8591f63842a619b859e8
+DIST qtconsole-5.4.4.tar.gz 437213 BLAKE2B 2def481c7ceb29c8ce92dfb96055310a8ee3a664a77c76da0eac672c6fd036326402a47cdaab25d504a855172067ae73e7f94b874545951674395d82f18374b5 SHA512 95d00a7896579eeba75896dd96efe9f07a54a687eca4ec2c4d9c7cf05029570788cd23267682ee4bce9943cf4d6cb36d7bd1d77be66f6bfd0f37e7d15e0d8f0f
+DIST qtconsole-5.5.0.tar.gz 438967 BLAKE2B f9833f18ecb0ddadd55793d3dc38b9f421add4ac22cd98849f8770b5762df01c9e4e0e6f5c42baf8e3715e87aa0b6ca5a207f5d2d954b1f6b2a5f9e2664f7669 SHA512 8e128ae3988b29398eb4b0cde4f18668c6ad22718c6f8d1c0feec09eb632f5b3c2bdf004932b8e2931eb4553f70c4a6d73104dcb611b09a41a744f0f8036a7eb
+DIST qtconsole-5.5.1.tar.gz 438961 BLAKE2B 6b65ce4bbba888ca96e5fae7b0067308a0fe188d35ceb309c454eacae784188bffa01ebb5344400c74f46cbffc6518db10ef135e699174187d221e7a76ee9628 SHA512 b9ca316fe7cc305cff33a0e924cb78d5c3bad7d11cbd553a7944a01e726cd59e283f7df4e82fce4da80d52b00b7366d538c567486ba3db4ad08d5b5f48a1e4f1
+DIST qtconsole-5.5.2.tar.gz 439219 BLAKE2B f354d3e6132142a3da52a1cb6b290d0a07b13920bc9f33f7fb29eb307cc5b653beccc5d28e53f7cbe7483147adb6e34ffc584718a79b814c9ce2c37b57a768fc SHA512 f79e51903fe5a1164a90c0905c308d2bce066bef2c61fed2b5bb7e757a9cf56875cdd14665df9284317497cd73bb544ae09e0b23c63b527bbd4bc90b874009f6
diff --git a/dev-python/qtconsole/qtconsole-5.3.1.ebuild b/dev-python/qtconsole/qtconsole-5.3.1.ebuild
deleted file mode 100644
index a596e5db94b6..000000000000
--- a/dev-python/qtconsole/qtconsole-5.3.1.ebuild
+++ /dev/null
@@ -1,59 +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_{8..10} )
-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.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/qtconsole/qtconsole-5.5.2.ebuild b/dev-python/qtconsole/qtconsole-5.5.2.ebuild
new file mode 100644
index 000000000000..75b6d7777e66
--- /dev/null
+++ b/dev-python/qtconsole/qtconsole-5.5.2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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 e6ecc367485f..97a81980ef7c 100644
--- a/dev-python/qtsass/Manifest
+++ b/dev-python/qtsass/Manifest
@@ -1 +1 @@
-DIST qtsass-0.3.0.tar.gz 27880 BLAKE2B 07f71e794392ee23db901b1ae74e4c8a8888040b3e5b0681e05e2aa22ec2bdc958e588e2ee9ca9e5fdb4d341827b7c39a4ceb589ed4c669454cae78ee9747883 SHA512 fc3e082a01b35d1e7cada22cd5bea2aed37d4d3dd5a036d3d6d7621fb64ac61fdb3f2358f377f69e2cc5678798069af1d7cce04c4bcb9edf390d5162d308389c
+DIST qtsass-0.4.0.gh.tar.gz 29466 BLAKE2B 954016c3a7a1ced59a28a50284f284f6138caf6c97cabb2854c56a3c499741060d4de7717ec39733fc41dc221d11f16118380dfc252ee1f169466bacc7ba6ad9 SHA512 58b5b70c5f1c102817d6024acb0d72f496f55217950e5a52422965215b8dc8debf4c7c6d4724efb5609b75b675d81e99dccc9211c0804c75063d33127f25353e
diff --git a/dev-python/qtsass/files/qtsass-0.3.0-fix-py3.10.patch b/dev-python/qtsass/files/qtsass-0.3.0-fix-py3.10.patch
deleted file mode 100644
index 4aa3342170e4..000000000000
--- a/dev-python/qtsass/files/qtsass-0.3.0-fix-py3.10.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From cbea8d8729282106373a12b9e08bcaac8abeb52f Mon Sep 17 00:00:00 2001
-From: goanpeca <goanpeca@gmail.com>
-Date: Tue, 24 Mar 2020 11:51:28 -0500
-Subject: [PATCH] Add check for deprecated api between 2 and 3 versions
-
----
- qtsass/api.py | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/qtsass/api.py b/qtsass/api.py
-index 7ea4138..7a65fe2 100644
---- a/qtsass/api.py
-+++ b/qtsass/api.py
-@@ -13,9 +13,9 @@
- from __future__ import absolute_import, print_function
-
- # Standard library imports
--from collections import Mapping, Sequence
- import logging
- import os
-+import sys
-
- # Third party imports
- import sass
-@@ -26,6 +26,12 @@
- from qtsass.importers import qss_importer
-
-
-+if sys.version_info[0] == 3:
-+ from collections.abc import Mapping, Sequence
-+else:
-+ from collections import Mapping, Sequence
-+
-+
- # yapf: enable
-
- # Constants
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.0-r1.ebuild b/dev-python/qtsass/qtsass-0.3.0-r1.ebuild
deleted file mode 100644
index eace0251f876..000000000000
--- a/dev-python/qtsass/qtsass-0.3.0-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="dev-python/libsass[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-py3.10.patch"
-)
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # assert 1 == 2
- tests/test_watchers.py::test_watchers
-)
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 0495c7ec9fe7..4a036d67ff41 100644
--- a/dev-python/quantities/Manifest
+++ b/dev-python/quantities/Manifest
@@ -1 +1 @@
-DIST python-quantities-0.13.0.tar.gz 107187 BLAKE2B ead5c223892f65c68ced2265356f8c1e5374f80a1507ec561370e56e28e8965217a7b99f5c46cb83a5f6a1b1f12eb9f501844650488871d48794f13a4383df38 SHA512 ec0a61d8df8e48e7ee08cab5c899a8c8ad96b964ee0132ab130f272f062436d91e6370aac9d85453eeb3d95e17e79e8dfb80412397eada1f0a4310c0494fa217
+DIST python-quantities-0.15.0.gh.tar.gz 91327 BLAKE2B b75371e99b0f270d97cf6e9b80df1e7a0afa8ae8eb5d18750196e9b874737d58d3e3189ef9fdca4b312d24a19b406fe21f7eb304f0c1f11987873528190ca2e4 SHA512 987fb30d25a7b14e681d6eb963fc2cc68f954d017eca256739e897062249fce606adcb3224e3c8f0d371e49904caef7171a9a8ba4a7e60baa2fe063004846439
diff --git a/dev-python/quantities/metadata.xml b/dev-python/quantities/metadata.xml
index 3e747c0af2e1..77eea5eedd9a 100644
--- a/dev-python/quantities/metadata.xml
+++ b/dev-python/quantities/metadata.xml
@@ -2,7 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>ddenoncin@gmail.com</email>
+ <email>gentoo@denoncin.fr</email>
<name>David Denoncin</name>
</maintainer>
<maintainer type="project" proxied="proxy">
diff --git a/dev-python/quantities/quantities-0.13.0-r1.ebuild b/dev-python/quantities/quantities-0.13.0-r1.ebuild
deleted file mode 100644
index 2959af19f0d8..000000000000
--- a/dev-python/quantities/quantities-0.13.0-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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"
-SRC_URI="
- https://github.com/python-quantities/python-quantities/archive/v${PV}.tar.gz
- -> ${MY_P}.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
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..277cc969ecb4
--- /dev/null
+++ b/dev-python/quart/Manifest
@@ -0,0 +1 @@
+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.5.ebuild b/dev-python/quart/quart-0.19.5.ebuild
new file mode 100644
index 000000000000..8f88cb4d2002
--- /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 4bdf98f146fc..000000000000
--- a/dev-python/radon/radon-5.1.0-r2.ebuild
+++ /dev/null
@@ -1,37 +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_{8..10} )
-
-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 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 222b90704843..000000000000
--- a/dev-python/raet/raet-0.6.8-r4.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 1bede88ea6f1..000000000000
--- a/dev-python/random2/random2-1.0.1-r2.ebuild
+++ /dev/null
@@ -1,23 +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_{8..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
new file mode 100644
index 000000000000..2b991b1ac19f
--- /dev/null
+++ b/dev-python/rapidfuzz-capi/Manifest
@@ -0,0 +1 @@
+DIST rapidfuzz_capi-1.0.5.gh.tar.gz 5908 BLAKE2B a5f3c27c2292800527f0e0558e0f25525c2865a6348fbbe36da8d5a96e5524c68154bfba8dbfc3c174f759dde14a95c64e47dd6669166beb035bd1126741569b SHA512 b62c6fdd0e5d0804f7c1ef6f6b5e007afd8439720071fbdf1440232c62925e794a6ae33774a33ef745ebbd4ef956a85d2bf60934a7d568d39d1e590467f26bcf
diff --git a/dev-python/rapidfuzz-capi/metadata.xml b/dev-python/rapidfuzz-capi/metadata.xml
new file mode 100644
index 000000000000..43ddd18c41eb
--- /dev/null
+++ b/dev-python/rapidfuzz-capi/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">maxbachmann/rapidfuzz_capi</remote-id>
+ <remote-id type="pypi">rapidfuzz-capi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rapidfuzz-capi/rapidfuzz-capi-1.0.5.ebuild b/dev-python/rapidfuzz-capi/rapidfuzz-capi-1.0.5.ebuild
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
new file mode 100644
index 000000000000..da80c5258bad
--- /dev/null
+++ b/dev-python/rapidfuzz/Manifest
@@ -0,0 +1,2 @@
+DIST rapidfuzz-3.8.1.tar.gz 1592462 BLAKE2B 79062be1bdd2e5aa1c364f2426a8b3cb4fc03e44b7548e475abd60827821414ce4ebcbe90377c0d19eb2c8c741e2e171c73e4672fd8126bf99856ea095e9b85b SHA512 fbebdf804220841257075af51186cde5cf8b0ea71bc4ce208bc64853fd1b1aebf97bfb86d1db058c3fb72a60268e5297fe3691b042d52263c66f8da6ae37f90a
+DIST rapidfuzz-3.9.0.tar.gz 1591028 BLAKE2B 84b8e4572a596c291d6579cfdffd0d624e00ca1f93a38337ba6ad543d346fea0b9a636cd3814724073588b3cd2e61dea9b8c0527b1630f8f06ea6593537bbde6 SHA512 bfd0d399dc75c6654d5e66522a057298d3914f8b74955e873034b314926127971f1bf4ddca0c2c92e81ba5bae79caf249303b169805d48ef3d6c64fb706c9547
diff --git a/dev-python/rapidfuzz/metadata.xml b/dev-python/rapidfuzz/metadata.xml
new file mode 100644
index 000000000000..e69b40da9b2f
--- /dev/null
+++ b/dev-python/rapidfuzz/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">rapidfuzz/RapidFuzz</remote-id>
+ <remote-id type="pypi">rapidfuzz</remote-id>
+ </upstream>
+</pkgmetadata>
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..9605ba31909f
--- /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/rapidfuzz-3.9.0.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.9.0.ebuild
new file mode 100644
index 000000000000..9bf96f9f14b7
--- /dev/null
+++ b/dev-python/rapidfuzz/rapidfuzz-3.9.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 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/rarfile/Manifest b/dev-python/rarfile/Manifest
index a37f413492e3..a583dacc249e 100644
--- a/dev-python/rarfile/Manifest
+++ b/dev-python/rarfile/Manifest
@@ -1 +1 @@
-DIST rarfile-4.0.tar.gz 148026 BLAKE2B 331548d54dcc3d81c690cc383e36e3f00515999c72abb54060e0dbb34691bb7e06736318a33ec349492e27e561ed2f4ff4446cc5254e9f341f4633adaab878aa SHA512 05e15acd749564288d4f069970ac196344c33fd2710e918b84afe4c388aa364a17c63f86577037524336e3a022f6db2c8619f9b526f89e00753a8ab0d89263d4
+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 022f0db41090..000000000000
--- a/dev-python/rarfile/rarfile-4.0-r1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTLS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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.2.ebuild b/dev-python/rarfile/rarfile-4.2.ebuild
new file mode 100644
index 000000000000..0b0a69392cf7
--- /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/metadata.xml b/dev-python/ratelimit/metadata.xml
index 33d713bb3dea..a0f8f0221eaf 100644
--- a/dev-python/ratelimit/metadata.xml
+++ b/dev-python/ratelimit/metadata.xml
@@ -1,19 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <!-- maintainer-needed -->
<longdescription lang="en">
ratelimit introduces a method decorator preventing a method from being
called more than once within a given time period. It prevents API providers
from banning your applications by conforming to set rate limits.
</longdescription>
- <maintainer type="person" proxied="yes">
- <email>gentoo@chymera.eu</email>
- <name>Horea Christian</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">tomasbasham/ratelimit</remote-id>
diff --git a/dev-python/ratelimit/ratelimit-2.2.1-r1.ebuild b/dev-python/ratelimit/ratelimit-2.2.1-r1.ebuild
index 8506452099b0..829c2b5a7c9d 100644
--- a/dev-python/ratelimit/ratelimit-2.2.1-r1.ebuild
+++ b/dev-python/ratelimit/ratelimit-2.2.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..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 a42b874888dc..9d949ab73ce4 100644
--- a/dev-python/rdflib/Manifest
+++ b/dev-python/rdflib/Manifest
@@ -1,2 +1 @@
-DIST rdflib-6.1.1.tar.gz 1587670 BLAKE2B f13831124a8f292f0481f5ee9995b6b7ba82992cbe51abb0067703b2acee9f13ce5a62379636ac9f36823afa5b841799c1f26358efb6c12eca2df333611d5488 SHA512 049608dc37dba929eac1e40431885d319311f27be9fddc292d768e3703927e61a646a73137e4a1eaa16836cfba4606ea2cfd8fe3a86cfbf10e3271cee2ee251f
-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.1.1.ebuild b/dev-python/rdflib/rdflib-6.1.1.ebuild
deleted file mode 100644
index ce98ab1a025b..000000000000
--- a/dev-python/rdflib/rdflib-6.1.1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="sqlite?,threads(+)"
-DISTUTILS_USE_SETUPTOOLS=rdepend
-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="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~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 --install pytest
-
-EPYTEST_IGNORE=(
- # Uses network
- test/test_so_69984830.py
-)
-
-python_prepare_all() {
- # these tests require internet access
- sed -e '/doctest/d' -i setup.cfg || die
- rm test/{test_sparql_service.py,test_graph.py,jsonld/test_onedotone.py} || die
-
- 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
-}
-
-pkg_postinst() {
- optfeature "support for sys-libs/db (Berkeley DB for MySQL)" dev-python/berkeleydb
-}
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 e41b3e6e638d..000000000000
--- a/dev-python/rdflib/rdflib-6.2.0.ebuild
+++ /dev/null
@@ -1,95 +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_{8..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 ~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 4826d5328163..000000000000
--- a/dev-python/re-assert/re-assert-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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 b40364e24797..000000000000
--- a/dev-python/readme_renderer/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST readme_renderer-35.0.tar.gz 27224 BLAKE2B bb58a6cb39aace47714aa351c710663ca9f43f04055e21a5ea3954b2d1fff58dce073b0a41bdfb07f34ffe16f2fbba9ba59c2a6b8f84c0eacfb7d9f7cd881380 SHA512 29377cea5a029f7c4cf2ec0362771a280936e84fc39117c13fc6557172581570af298520ea6f5df53260e1da539ebe3fe4183bd1fb5620af48824bee04fefc75
-DIST readme_renderer-36.0.tar.gz 28680 BLAKE2B e356690bc791d5f4a27ef59c61e356b3932595623434feae8d0fc9cf99d1bd4a724d5c202e47f989017821ce2bd69604338912c37b879699677496b789453c56 SHA512 1e208e830060d2a94e608dbbef36376c7720b8b4e2c8619665e82c64b7111153f4b764c1c7a77b36d3c0d652adb1f49a14bc7306b7bb5c65598db7acec6e984e
diff --git a/dev-python/readme_renderer/readme_renderer-35.0.ebuild b/dev-python/readme_renderer/readme_renderer-35.0.ebuild
deleted file mode 100644
index 8546ba34f288..000000000000
--- a/dev-python/readme_renderer/readme_renderer-35.0.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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/mock[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.rst )
-
-distutils_enable_tests pytest
diff --git a/dev-python/readme_renderer/readme_renderer-36.0.ebuild b/dev-python/readme_renderer/readme_renderer-36.0.ebuild
deleted file mode 100644
index 4ce1fe0bd41c..000000000000
--- a/dev-python/readme_renderer/readme_renderer-36.0.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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/mock[${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 a43d4162004e..689c6ba442cf 100644
--- a/dev-python/readthedocs-sphinx-ext/Manifest
+++ b/dev-python/readthedocs-sphinx-ext/Manifest
@@ -1 +1 @@
-DIST readthedocs-sphinx-ext-2.1.8.tar.gz 12359 BLAKE2B 9a1c66725d4d48b6511462c5eea5d87fb28962444f8ff921208579bb2118571da34d2697d2bc91dc1ff71a2e3b7cb1c5b20021bc2f053fffd34f4eb0ae99d387 SHA512 2766c0ce69d7d3738cd454c8d3e733542849e6cd96414e1714f337defb62f9260c89a00c9bcc26582e15ce1629d61c48441826c2af84d92da0a6a5b65f474891
+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.1.8.ebuild b/dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.1.8.ebuild
deleted file mode 100644
index 377c0a82af2e..000000000000
--- a/dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.1.8.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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 ~m68k 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 83e6b774ff5a..000000000000
--- a/dev-python/rebulk/rebulk-3.1.0-r1.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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 be1beeeb10a0..66b02242eff9 100644
--- a/dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild
+++ b/dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild
@@ -1,19 +1,26 @@
-# 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_{8..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/recurring-ical-events/metadata.xml b/dev-python/recurring-ical-events/metadata.xml
new file mode 100644
index 000000000000..3c5c8d8ba58d
--- /dev/null
+++ b/dev-python/recurring-ical-events/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">niccokunzmann/python-recurring-ical-events</remote-id>
+ <remote-id type="pypi">recurring-ical-events</remote-id>
+ </upstream>
+</pkgmetadata>
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 dfc9dc11274d..000000000000
--- a/dev-python/redis-py/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST redis-py-4.3.4.gh.tar.gz 4613714 BLAKE2B cea5a6455160c67c9ab3b8f9de8ae47aed97e7bea1e408ce1a001afe3e0c4a7a14220887504fa40c749d15be9d89f77e36b6f7a785e0ff22a49037b6ef245e87 SHA512 55dd00c15cedb82cb5edd46b1f18f32c0accb8c85b1b94bbfe04591dc07f6151ced81cbfca8ac6fe88a6743bf5abc50309ea23bef96bf4332a712979c61ea0b7
diff --git a/dev-python/redis-py/redis-py-4.3.4.ebuild b/dev-python/redis-py/redis-py-4.3.4.ebuild
deleted file mode 100644
index 2b6dd12b4c8e..000000000000
--- a/dev-python/redis-py/redis-py-4.3.4.ebuild
+++ /dev/null
@@ -1,72 +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_{8..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}]
- >=dev-python/deprecated-1.2.3[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- <dev-db/redis-7
- 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: 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
-
- # 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"
- # "${EPREFIX}"/usr/sbin/redis-server - <<< "${redis_test_config}" || die
- "${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/redis/Manifest b/dev-python/redis/Manifest
new file mode 100644
index 000000000000..f9f8637baddb
--- /dev/null
+++ b/dev-python/redis/Manifest
@@ -0,0 +1 @@
+DIST redis-py-5.0.4.gh.tar.gz 4774815 BLAKE2B a6f3b678f217a7938d1a2ecbe24058994e33a7985faf0d4b6664aa08d5095c71dc9cd1d98ee327d6ff31589795eed29ece4cdd3ce914a782e60d3ac3f44ab962 SHA512 3c4893e348632d52215096358e5b4a86b3cf5e0153e4d218c46fe77fbb61df116fc98f477f4e8ba94fe7e9bb6f964f478b1187c8b7983a71fc206f14b643965c
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.4.ebuild b/dev-python/redis/redis-5.0.4.ebuild
new file mode 100644
index 000000000000..023d2a7d8947
--- /dev/null
+++ b/dev-python/redis/redis-5.0.4.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 c2cbce4dc1f5..000000000000
--- a/dev-python/reedsolomon/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST reedsolomon-1.5.4.tar.gz 283778 BLAKE2B 5354b8d320db1533469ae1fd706c0412a81bb408675041af5dbf42b42014e4b779b937fa8e3b3d0a5e67e62d9fd7ce9ac519022dd98dbc82a156ee0cda7914ce SHA512 c738f817c8f536ee86e5bcd3de73a4cf6a3e606ba196a359b6c09e7372dba31316ddb8b134d7c335100e4c2ff0158ff07caa35fee9bc20768bde23cd803e274a
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.5.4-r2.ebuild b/dev-python/reedsolomon/reedsolomon-1.5.4-r2.ebuild
deleted file mode 100644
index aaf1728840ff..000000000000
--- a/dev-python/reedsolomon/reedsolomon-1.5.4-r2.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="Pure-Python Reed Solomon encoder/decoder"
-HOMEPAGE="https://github.com/tomerfiliba/reedsolomon https://pypi.org/project/reedsolo/"
-SRC_URI="https://github.com/tomerfiliba/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-src_prepare() {
- default
- rm creedsolo.c || die
-}
-
-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..83f10e56be7d
--- /dev/null
+++ b/dev-python/referencing/Manifest
@@ -0,0 +1,3 @@
+DIST referencing-0.34.0.tar.gz 62624 BLAKE2B c5e8a5d19121f2d09ea443248690e2fa9069140b027b6fa2f741d5133c931da12ae87d8ac7923bfc52ca3d93c966399cf48c1f31d6f4066b6a44488ec50b5d24 SHA512 97e4cfe0fb306068abfd6c0348d12483cbd3705c0b4c8852c0f0209c4d05be08bf77fa3ec56af77a2815a4ff3294ff06d3f09f213a165ae17bdcab246e47c178
+DIST referencing-0.35.0.tar.gz 62860 BLAKE2B 314f98e3c15d384a704def8c1cd62aea9ccfbfb0abce09d27b44062e68e284774314b79c3e9f6b3691f8e8e75e231f9bb0a7bb3c140c05d41f809515f8b4edd0 SHA512 c637a3767a7d03445adb14bcb4c1e9c9a069779d31c5043f300e34398c9c728dfe09cdf9601516a96280d6c095740114e3bd4a6b5103f8a1938b1be6b9cb9cb3
+DIST referencing-0.35.1.tar.gz 62991 BLAKE2B b434d3b24bb01c7ea2b97300408571483ecfaa49b52867374a8734b4dafd06404c8b993757620329668fa01eb791c2a6f938aa4be20ff841fe691a4b47dcf6b3 SHA512 b737afb45bfb1adb91f457b78ab4a31a6f33839ef61095663fd66d91c09fc379d900f778bacaa36722770ce80eccd6a227a074cb44836e69205bed06165d033d
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/referencing/referencing-0.35.0.ebuild b/dev-python/referencing/referencing-0.35.0.ebuild
new file mode 100644
index 000000000000..9bb63870e54d
--- /dev/null
+++ b/dev-python/referencing/referencing-0.35.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/referencing/referencing-0.35.1.ebuild b/dev-python/referencing/referencing-0.35.1.ebuild
new file mode 100644
index 000000000000..9bb63870e54d
--- /dev/null
+++ b/dev-python/referencing/referencing-0.35.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..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 cd75c2162264..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.
@@ -11,5 +11,6 @@
</longdescription>
<upstream>
<remote-id type="pypi">reflink</remote-id>
+ <remote-id type="gitlab">rubdos/pyreflink</remote-id>
</upstream>
</pkgmetadata>
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 d70cec53ca58..000000000000
--- a/dev-python/reflink/reflink-0.2.1-r3.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_IN_SOURCE_BUILD=1
-PYTHON_COMPAT=( python3_{8..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 d03486fa01f1..8da55fb8fefa 100644
--- a/dev-python/regex/Manifest
+++ b/dev-python/regex/Manifest
@@ -1,4 +1,3 @@
-DIST regex-2022.6.2.tar.gz 383342 BLAKE2B 48587a91366203301c517dc9cfe4f09e70905924484b906481bc89cf376854d406871312e154ac8b5833feeb50848636a95fdf99511df4feda4f16794a70856b SHA512 ce69a058aa05c471ce8728d29d5a498e387e5661d754d13bee51558a85f5e9e059a1464cc1b7721294cab421bae7219da7fd067e331e6cd6fd3dc464fdf0ecc1
-DIST regex-2022.7.24.tar.gz 385003 BLAKE2B 996cdec63ec35f893f3bbf3afa7731944c496547f0cf3d97b85a90b8ceb8d4a1571a680608ea01c5d845a11de43365cc30fd98519bb2cfacc01eb5ff36950d0c SHA512 23ce018a4275ffc49ac9ad71e9ed70984e2118421e0d97d497ad41bc5ff4e19a5b783dbce82a94ad15b59681be668092594fa3ace44250d111693e046e953030
-DIST regex-2022.7.25.tar.gz 385022 BLAKE2B 64c2ff2e9a41d6d559ed199e978b7eb453ffe872d3cbe3d14f31ed6f7df546aa33079ce1d8279b815a35a18d9ea75da6f0beb38e4df576037995518a38db688a SHA512 1179239e8e2a1ff55150b6c2e483f2d2b795a7f5cb400310c315a59aad19590d410cc9c1a862c66be2ca93b24b387a4c4fa0a5467d497a9bc5ffc79dac7cb0ff
-DIST regex-2022.7.9.tar.gz 383431 BLAKE2B 9773b3e5c516d79ec6b37d288addb0638016716093ec49d8cdc4a2132fc16ea76c4a21fd02cc6bc6547fd0dd76bb0ec9984bb7f41eb88e4f89623a8d4a5be40d SHA512 0c8b78fc10e5ba4e95a3603a4958efb610168b63a490715c2556243af7bab4d04e6eab6cad6bc98816cfa94209404806ede28cf48643d7e92c9b8323c2b0c5e2
+DIST regex-2023.12.25.tar.gz 394706 BLAKE2B 742abe3a3515b527465d81df8fd9404aaa6aa1545e3e6a8c4a87d72d41138caf7f63bceae8bf06b3576656a6b5577bfec51629a60fe837ad2f3a4cd60a08ac06 SHA512 ecc5916633e2acb8d8a0c5ccfdc1c612f673546c42271d5627aa92a163fa6c8fd5a30ed734a02c23fa64807aaf2f883fa51175b7f482888631f699e77d1c0e15
+DIST regex-2024.4.16.tar.gz 394724 BLAKE2B 75df2f861116ebf37845abdb0883774ac53d7d61e4cdf18128c74b4c1d5a55b86bfd447616cdb8fc14239c0a5aeaa2c7e59cb0b2b365b57185d785a3728e6dce SHA512 15da80751f1a4b000e4ea59887963aec939fc6431a672391a7f882e05ff15934b89e191d19fd388b9dd6032d2ea44f8511c0ce238e5f1d8db102a89d1866f456
+DIST regex-2024.4.28.tar.gz 394810 BLAKE2B 6fa882219feb783c7340015769655e05257ddd17a6e34f830a60f319afca5face64de72511b0bef0820ace4f379ff5ad557bbdfef414cc0371136a79949a7e13 SHA512 3a05ea8f197d6924f6fd3db2609c1ca13f452f1bc598f8d6ec2ee45a0e5966655e93f039cc76e1cdc714856fa5d21e64aae8d83063ebafdd85e44c82e65f8c50
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.6.2.ebuild b/dev-python/regex/regex-2022.6.2.ebuild
deleted file mode 100644
index df6875fb35c8..000000000000
--- a/dev-python/regex/regex-2022.6.2.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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-2022.7.24.ebuild b/dev-python/regex/regex-2022.7.24.ebuild
deleted file mode 100644
index d864a4bd8ea3..000000000000
--- a/dev-python/regex/regex-2022.7.24.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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-2022.7.25.ebuild b/dev-python/regex/regex-2022.7.25.ebuild
deleted file mode 100644
index d864a4bd8ea3..000000000000
--- a/dev-python/regex/regex-2022.7.25.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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-2022.7.9.ebuild b/dev-python/regex/regex-2022.7.9.ebuild
deleted file mode 100644
index d864a4bd8ea3..000000000000
--- a/dev-python/regex/regex-2022.7.9.ebuild
+++ /dev/null
@@ -1,35 +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_{8..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..13181b517dbc
--- /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/regex/regex-2024.4.28.ebuild b/dev-python/regex/regex-2024.4.28.ebuild
new file mode 100644
index 000000000000..850003b0471d
--- /dev/null
+++ b/dev-python/regex/regex-2024.4.28.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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Alternative regular expression module to replace re"
+HOMEPAGE="
+ https://github.com/mrabarnett/mrab-regex/
+ https://pypi.org/project/regex/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="doc"
+
+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/metadata.xml b/dev-python/rencode/metadata.xml
index f2aa20a04dc4..8d8569b19226 100644
--- a/dev-python/rencode/metadata.xml
+++ b/dev-python/rencode/metadata.xml
@@ -3,12 +3,12 @@
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription lang="en">
-The rencode module is similar to bencode from the BitTorrent project. For
-complex, heterogeneous data structures with many small elements, r-encodings
-take up significantly less space than b-encodings. This version of rencode is
-a complete rewrite in Cython to attempt to increase the performance over the
-pure Python module written by Petru Paler, Connelly Barnes et al.
-</longdescription>
+ The rencode module is similar to bencode from the BitTorrent project. For
+ complex, heterogeneous data structures with many small elements, r-encodings
+ take up significantly less space than b-encodings. This version of rencode is
+ a complete rewrite in Cython to attempt to increase the performance over the
+ pure Python module written by Petru Paler, Connelly Barnes et al.
+ </longdescription>
<upstream>
<remote-id type="github">aresch/rencode</remote-id>
<remote-id type="pypi">rencode</remote-id>
diff --git a/dev-python/rencode/rencode-1.0.6-r3.ebuild b/dev-python/rencode/rencode-1.0.6-r3.ebuild
index 9a72df4ef367..e2cc427220b3 100644
--- a/dev-python/rencode/rencode-1.0.6-r3.ebuild
+++ b/dev-python/rencode/rencode-1.0.6-r3.ebuild
@@ -1,22 +1,31 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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_{8..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 ~sparc x86 ~amd64-linux ~x86-linux"
+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 c2f5a53316b9..000000000000
--- a/dev-python/reno/reno-3.5.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 c26c138f4ee9..d03e07e177c6 100644
--- a/dev-python/reportlab/Manifest
+++ b/dev-python/reportlab/Manifest
@@ -1,7 +1,2 @@
DIST pfbfer-20070710.zip 677333 BLAKE2B 100214476a361a5e5d1f3da0999591345f6e3a3f8c6bc3f6a3e9eca734190c6259758a43302c6e41254d33491fe535eb7d5dd07aa9727c912424bebc31fc18df SHA512 6fd4a5d955464b10d13a7b748703450c1fe120d5ed09e8cfa1b4dfa9c183c59fe001df29433af551796b0df62544b7ddc364f9bb1bdcc2cd300434340ffcc4f2
-DIST reportlab-3.6.10.tar.gz 4518482 BLAKE2B be43079f4695bf20804864e5e0a4957093e657516dd6da45ca6b51a5da4522bed80ee0050fdd213c1fa6556c6c3e3c0173829fdc336c0d63b92ef3560c351675 SHA512 b079db8a51c917de1ab6f27d4ba733568e425fb73041331a9da842cdc00f583fb4196e5fa2a5cbdd3fb7f3681bba850950d5b391a38cbbf25ae904b88d0c278c
-DIST reportlab-3.6.11.tar.gz 4519404 BLAKE2B a099a4adcaf7186cbb558ba708abf47019cff33c6a5335b27bb1eb1377c3276ae9ecdf33e66f614880de2f72e195333f3a7839ce776b8946431e2d23872fb13b SHA512 2ef81850f4e30e78ef9e923d3aea7efac6c98dce83f90c0edd47384febd68eb6ac81e05c7038e7d67458bdae16d1b19b75e9aeb8da6a5283e9173e27e4369251
-DIST reportlab-3.6.6.tar.gz 4509457 BLAKE2B d2cb5c764aa86000dd97798b5aea25fdc07e4230015dda6c11099e379884ca74532327dfe723069d5e56569dd7e120d94918f64a5f705bfef212b484f812aa7b SHA512 6f05e5f7c6b6c0b6f8d65fe11e2900ecd427f6c293672b12a4cc094476da1cdebc0df59198660614251d388241d7c886c345f958d337d351ea048b3b25a71ba5
-DIST reportlab-3.6.7.tar.gz 4504447 BLAKE2B 3e691294d20f94850840ddc70565d2235bdcb37d47b5e869e34e5fea93dc9ba017d09f088e18b6479266354076b89461849dd1eb7d1d4e8b12a9c4a95706bf66 SHA512 51f98900ccf7ef34fefc237bf1c787931a525cd82284685bda26f411760b97d1b85fce5bffa59b133705f6c1769a8d3616ef85ea368ed59dfc72f24d5faf6e88
-DIST reportlab-3.6.8.tar.gz 4503191 BLAKE2B 3d61ac2554309a8dfff2107ba6157152b558355fc6ebd7d2337b0f3152ceb9644ae2dc20b6e0f2ed312a579fc5f172e05eeda69e3b6acbbf921b62f27ce50f77 SHA512 7eb2381a8020f751f03008bb8dc1eb07f954a97c0c3d38646602a22ed7f69dd73e11bbd1251a471da141c98492be7f3867cf120e489c58911ae6e9f29c926507
-DIST reportlab-3.6.9.tar.gz 4507750 BLAKE2B 881eeaa36fb3934a75e420822d5b0d0f1718da190741190e58756c952bc3efac304e2c7747d8748713ef3f9449ead40c44d6774d6ca90218db51c16790d9e8cd SHA512 401127eaa3e4c9f303f5c13f96151a563a16efb15d1e9aaf6dab04cb23f275b552cdd8fb9a3a49bca420a8ddf83423c481dacdd11e39220592cf0ad911b70c42
+DIST reportlab-4.2.0.tar.gz 3688649 BLAKE2B 83a35524fa82260ed6b4b6999d5b7903f54e0bdd7e008f3ed53200da8a43807c3d34920f9c7211c4277a560699e894fb12074a530c85adfba0538adaa5812294 SHA512 5dbab548dfa4b0eebb19c0702975b540244693ca30faf7a7bf88e7e596d2a9acd4047f0dddc5433da4da385282ab74f17b66a09394eefe07797c3d193ed38cb5
diff --git a/dev-python/reportlab/files/reportlab-3.5.48-usr-lib-LLD.patch b/dev-python/reportlab/files/reportlab-3.5.48-usr-lib-LLD.patch
deleted file mode 100644
index 09ae9675eb58..000000000000
--- a/dev-python/reportlab/files/reportlab-3.5.48-usr-lib-LLD.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/setup.py
-+++ b/setup.py
-@@ -163,22 +163,6 @@
- if self.L is None:
- L = []
- I = []
-- if platform == "cygwin":
-- aDir(L, os.path.join("/usr/lib", "python%s" % sys.version[:3], "config"))
-- elif platform == "darwin":
-- # attempt to make sure we pick freetype2 over other versions
-- aDir(I, "/sw/include/freetype2")
-- aDir(I, "/sw/lib/freetype2/include")
-- # fink installation directories
-- aDir(L, "/sw/lib")
-- aDir(I, "/sw/include")
-- # darwin ports installation directories
-- aDir(L, "/opt/local/lib")
-- aDir(I, "/opt/local/include")
-- aDir(I, "/usr/local/include")
-- aDir(L, "/usr/local/lib")
-- aDir(I, "/usr/include")
-- aDir(L, "/usr/lib")
- aDir(I, "/usr/include/freetype2")
- prefix = sysconfig.get_config_var("prefix")
- if prefix:
-@@ -574,7 +558,7 @@
- SOURCES,
- include_dirs=[RENDERPM,LIBART_INC,GT1_DIR]+FT_INC_DIR,
- define_macros=FT_MACROS+[('LIBART_COMPILATION',None)]+debug_macros+[('LIBART_VERSION',LIBART_VERSION)],
-- library_dirs=[]+FT_LIB_DIR,
-+ library_dirs=[],
-
- # libraries to link against
- libraries=FT_LIB+LIBART_LIB,
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.10.ebuild b/dev-python/reportlab/reportlab-3.6.10.ebuild
deleted file mode 100644
index e432d96c0d39..000000000000
--- a/dev-python/reportlab/reportlab-3.6.10.ebuild
+++ /dev/null
@@ -1,62 +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_{8..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}"/reportlab-3.6.9-paths.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-3.6.11.ebuild b/dev-python/reportlab/reportlab-3.6.11.ebuild
deleted file mode 100644
index 1ffad971fbde..000000000000
--- a/dev-python/reportlab/reportlab-3.6.11.ebuild
+++ /dev/null
@@ -1,62 +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_{8..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
-)
-
-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-3.6.6.ebuild b/dev-python/reportlab/reportlab-3.6.6.ebuild
deleted file mode 100644
index 39cae44658d1..000000000000
--- a/dev-python/reportlab/reportlab-3.6.6.ebuild
+++ /dev/null
@@ -1,58 +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_{8..10} )
-
-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 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"
-
-distutils_enable_sphinx docs/source
-
-PATCHES=(
- # bug 738312, remove -L/usr/lib from link line
- "${FILESDIR}"/${PN}-3.5.48-usr-lib-LLD.patch
-)
-
-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-3.6.7.ebuild b/dev-python/reportlab/reportlab-3.6.7.ebuild
deleted file mode 100644
index 39cae44658d1..000000000000
--- a/dev-python/reportlab/reportlab-3.6.7.ebuild
+++ /dev/null
@@ -1,58 +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_{8..10} )
-
-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 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"
-
-distutils_enable_sphinx docs/source
-
-PATCHES=(
- # bug 738312, remove -L/usr/lib from link line
- "${FILESDIR}"/${PN}-3.5.48-usr-lib-LLD.patch
-)
-
-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-3.6.8.ebuild b/dev-python/reportlab/reportlab-3.6.8.ebuild
deleted file mode 100644
index ab5df4dfed0a..000000000000
--- a/dev-python/reportlab/reportlab-3.6.8.ebuild
+++ /dev/null
@@ -1,61 +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_{8..10} )
-
-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 ~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
-"
-
-distutils_enable_sphinx docs/source
-
-PATCHES=(
- # bug 738312, remove -L/usr/lib from link line
- "${FILESDIR}"/${PN}-3.5.48-usr-lib-LLD.patch
-)
-
-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-3.6.9.ebuild b/dev-python/reportlab/reportlab-3.6.9.ebuild
deleted file mode 100644
index e432d96c0d39..000000000000
--- a/dev-python/reportlab/reportlab-3.6.9.ebuild
+++ /dev/null
@@ -1,62 +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_{8..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}"/reportlab-3.6.9-paths.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.2.0.ebuild b/dev-python/reportlab/reportlab-4.2.0.ebuild
new file mode 100644
index 000000000000..eef8efaee265
--- /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 07f5c05f0d44..9a0ee04c9318 100644
--- a/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild
+++ b/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="repoze"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ppc ~ppc64 ~riscv x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
!dev-python/namespace-repoze
diff --git a/dev-python/requests-cache/Manifest b/dev-python/requests-cache/Manifest
index d2c56a578588..0a170bdc4a9b 100644
--- a/dev-python/requests-cache/Manifest
+++ b/dev-python/requests-cache/Manifest
@@ -1 +1 @@
-DIST requests-cache-0.9.5.gh.tar.gz 1542034 BLAKE2B 01996e7536ce967dee2b909091d1eb08501b3882b6171a5460b2196666eed848dec89a85ef8ea0c892b2fd153f90107948239de04b973e7766d3acfad7b10059 SHA512 de1481ff609f3ff36ed662d986fb86a500a8d26755832478a9a4396f2c71934b5f65540137b92365eb36f66087b3fbc1cd72c63d37546d09c86bbee7340fd8eb
+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.5.ebuild b/dev-python/requests-cache/requests-cache-0.9.5.ebuild
deleted file mode 100644
index 836dbde0e04f..000000000000
--- a/dev-python/requests-cache/requests-cache-0.9.5.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..10} )
-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 64274ccfbf94..5aec141b3f9b 100644
--- a/dev-python/requests-credssp/requests-credssp-2.0.0.ebuild
+++ b/dev-python/requests-credssp/requests-credssp-2.0.0.ebuild
@@ -1,25 +1,33 @@
-# 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_{8..10} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="HTTPS CredSSP authentication with the requests library"
-HOMEPAGE="https://pypi.org/project/requests-credssp/ https://github.com/jborean93/requests-credssp"
-SRC_URI="https://github.com/jborean93/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://pypi.org/project/requests-credssp/
+ https://github.com/jborean93/requests-credssp/
+"
+SRC_URI="
+ https://github.com/jborean93/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~riscv"
+KEYWORDS="amd64 arm64 ~riscv"
-RDEPEND="dev-python/cryptography[${PYTHON_USEDEP}]
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/gssapi[${PYTHON_USEDEP}]
dev-python/krb5[${PYTHON_USEDEP}]
>=dev-python/pyspnego-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]"
+ >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
+"
distutils_enable_tests pytest
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 538f84179910..000000000000
--- a/dev-python/requests-file/requests-file-1.5.1-r2.ebuild
+++ /dev/null
@@ -1,24 +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_{8..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 2e7cf55ca78c..000000000000
--- a/dev-python/requests-futures/requests-futures-1.0.0-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_{8..11} )
-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 8c42297bc26d..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
@@ -1,16 +1,22 @@
-# 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_{8..10} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
-HOMEPAGE="https://github.com/requests/requests-kerberos/"
DESCRIPTION="A Kerberos authentication handler for python-requests"
-SRC_URI="https://github.com/requests/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/requests/requests-kerberos/
+ https://pypi.org/project/requests-kerberos/
+"
+SRC_URI="
+ https://github.com/requests/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
LICENSE="ISC"
SLOT="0"
diff --git a/dev-python/requests-mock/Manifest b/dev-python/requests-mock/Manifest
index 34960a2cad41..d03e0f6492db 100644
--- a/dev-python/requests-mock/Manifest
+++ b/dev-python/requests-mock/Manifest
@@ -1 +1 @@
-DIST requests-mock-1.9.3.tar.gz 67988 BLAKE2B 8ab651adbde9e18370641655589f5d209d2a9ae07d82108c64e4269757217cf01588066ebc3005852cf48527f911d3fb76cedce3e88bc74123db81725b4b5865 SHA512 bcded541d78670a1b1fc87f97d35286ab4bafd6946beb9d9b44886454c26a4d8c05834add18914f3f72b1d3c0534311efd1cc80e711b5085eb63053ae24cbb6f
+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/files/requests-mock-1.9.3-obj-has-no-attr-url.patch b/dev-python/requests-mock/files/requests-mock-1.9.3-obj-has-no-attr-url.patch
deleted file mode 100644
index d43b0b41e65a..000000000000
--- a/dev-python/requests-mock/files/requests-mock-1.9.3-obj-has-no-attr-url.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 7238c1148c756e6a27c3dbc1ccbff7a3e9a60d82 Mon Sep 17 00:00:00 2001
-From: Jamie Lennox <jamielennox@gmail.com>
-Date: Fri, 28 May 2021 09:33:25 +0700
-Subject: [PATCH] Fix failing pytest
-
-When you start a method with test_ pytest loads it and tries to parse
-the parameters as fixtures. In this case it's not a real test, just a
-matcher function used later on in the test file.
-
-We can inline it into the function as it's only used in one place.
-
-Fixes: #175
----
- tests/test_custom_matchers.py | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/tests/test_custom_matchers.py b/tests/test_custom_matchers.py
-index d49f72a..546a63e 100644
---- a/tests/test_custom_matchers.py
-+++ b/tests/test_custom_matchers.py
-@@ -31,13 +31,6 @@ def match_all(request):
- return requests_mock.create_response(request, content=six.b('data'))
-
-
--def test_a(request):
-- if 'a' in request.url:
-- return match_all(request)
--
-- return None
--
--
- class CustomMatchersTests(base.TestCase):
-
- def assertMatchAll(self, resp):
-@@ -65,7 +58,14 @@ def test_failing_matcher(self, mocker):
-
- @requests_mock.Mocker()
- def test_some_pass(self, mocker):
-- mocker.add_matcher(test_a)
-+
-+ def matcher_a(request):
-+ if 'a' in request.url:
-+ return match_all(request)
-+
-+ return None
-+
-+ mocker.add_matcher(matcher_a)
-
- resp = requests.get('http://any/thing')
- self.assertMatchAll(resp)
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-mock/requests-mock-1.9.3-r1.ebuild b/dev-python/requests-mock/requests-mock-1.9.3-r1.ebuild
deleted file mode 100644
index f6ab5d2b33d0..000000000000
--- a/dev-python/requests-mock/requests-mock-1.9.3-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( pypy3 python3_{8..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/testtools[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-obj-has-no-attr-url.patch"
-)
-
-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 -i -e "/^import purl$/d" -e "s/test_with_purl/_&/" \
- 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 3a7860f9a482..000000000000
--- a/dev-python/requests-ntlm/requests-ntlm-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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 2e2962f4c0f7..000000000000
--- a/dev-python/requests-oauthlib/requests-oauthlib-1.3.1.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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 ~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 619cd63f19ca..394815825ec6 100644
--- a/dev-python/requests-toolbelt/Manifest
+++ b/dev-python/requests-toolbelt/Manifest
@@ -1 +1 @@
-DIST requests-toolbelt-0.9.1.tar.gz 207286 BLAKE2B 6123677a9abafebddf7dffde2150b2426b5132ebe0c330ff891322ecc3d69232a5b15a0c66e3e1fb4832dc04f5a636a939613fba041e499e9fbca9814f548c7e SHA512 12229928df5df71cb57bc65ef453dc0e4a2bbe190c1579811b2c2823673bd81aeba856b00000fa20b253d0f0fa4fff55ea1e750794ca3785f71c376b1df7fd93
+DIST requests-toolbelt-1.0.0.gh.tar.gz 199298 BLAKE2B c8a75005fd27bb725cabe7c6e4493b65bfc6914d7b22490c10869f0f35f6f08d0e829196e7de2e7ec07fed7ad52559f550bfbe072020ed8e782543273c903805 SHA512 1ee5d5dbb0d140796c81d42c051ccfab8810bf5ec511b32c9a54b4adccbab460f3108acdfe5a65b3cb68377586ff0f55206bf231e64651aaea077feda7984953
diff --git a/dev-python/requests-toolbelt/files/requests-toolbelt-0.8.0-test-tracebacks.patch b/dev-python/requests-toolbelt/files/requests-toolbelt-0.8.0-test-tracebacks.patch
deleted file mode 100644
index 418039bc7f94..000000000000
--- a/dev-python/requests-toolbelt/files/requests-toolbelt-0.8.0-test-tracebacks.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From e130ad521d3b5a14cd9494213e6ca9f52d0d9a2e Mon Sep 17 00:00:00 2001
-From: Brian Dolbec <brian.dolbec@sony.com>
-Date: Wed, 7 Mar 2018 21:52:25 +0000
-Subject: [PATCH] threaded/thread.py: Fix unhandled Nonetype job queue
-
-Adding this check and return prevents numerous test tracebacks:
-
-Exception in thread 12f554d5-f61f-44d9-bc69-023714627952:
-Traceback (most recent call last):
- File "/usr/lib64/python3.4/threading.py", line 911, in _bootstrap_inner
- self.run()
- File "/usr/lib64/python3.4/threading.py", line 859, in run
- self._target(*self._args, **self._kwargs)
- File "/home/bdolbec/git/toolbelt/requests_toolbelt/threaded/thread.py", line 43, in _make_request
- kwargs = self._jobs.get_nowait()
-AttributeError: 'NoneType' object has no attribute 'get_nowait'
-
-Signed-off-by: Brian Dolbec <brian.dolbec@sony.com>
-Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
----
- requests_toolbelt/threaded/thread.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/requests_toolbelt/threaded/thread.py b/requests_toolbelt/threaded/thread.py
-index 542813c..f33b759 100644
---- a/requests_toolbelt/threaded/thread.py
-+++ b/requests_toolbelt/threaded/thread.py
-@@ -36,6 +36,8 @@ def _handle_request(self, kwargs):
- self._jobs.task_done()
-
- def _make_request(self):
-+ if self._jobs is None:
-+ return
- while True:
- try:
- kwargs = self._jobs.get_nowait()
diff --git a/dev-python/requests-toolbelt/files/requests-toolbelt-0.9.1-py310.patch b/dev-python/requests-toolbelt/files/requests-toolbelt-0.9.1-py310.patch
deleted file mode 100644
index 182e413158cd..000000000000
--- a/dev-python/requests-toolbelt/files/requests-toolbelt-0.9.1-py310.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 7188b06330e5260be20bce8cbcf0d5ae44e34eaf Mon Sep 17 00:00:00 2001
-From: Jon Dufresne <jon.dufresne@gmail.com>
-Date: Fri, 1 Feb 2019 16:30:01 -0800
-Subject: [PATCH] Fix collections.abc deprecation warning in downloadutils
-
-Warning appears as:
-
-tests/test_downloadutils.py::test_stream_response_to_specific_filename
- requests_toolbelt/downloadutils/stream.py:161: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
- if path and isinstance(getattr(path, 'write', None), collections.Callable):
----
- requests_toolbelt/downloadutils/stream.py | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/requests_toolbelt/downloadutils/stream.py b/requests_toolbelt/downloadutils/stream.py
-index eed60a7..1d1c31b 100644
---- a/requests_toolbelt/downloadutils/stream.py
-+++ b/requests_toolbelt/downloadutils/stream.py
-@@ -1,6 +1,5 @@
- # -*- coding: utf-8 -*-
- """Utilities for dealing with streamed requests."""
--import collections
- import os.path
- import re
-
-@@ -158,7 +157,7 @@ def stream_response_to_file(response, path=None, chunksize=_DEFAULT_CHUNKSIZE):
- pre_opened = False
- fd = None
- filename = None
-- if path and isinstance(getattr(path, 'write', None), collections.Callable):
-+ if path and callable(getattr(path, 'write', None)):
- pre_opened = True
- fd = path
- filename = getattr(fd, 'name', None)
---
-2.31.1
-
diff --git a/dev-python/requests-toolbelt/files/requests-toolbelt-0.9.1-tests.patch b/dev-python/requests-toolbelt/files/requests-toolbelt-0.9.1-tests.patch
deleted file mode 100644
index a2a8929b08d4..000000000000
--- a/dev-python/requests-toolbelt/files/requests-toolbelt-0.9.1-tests.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From c4f918572751151eb3bfc7dfa94580b3e2867a9e Mon Sep 17 00:00:00 2001
-From: Jon Dufresne <jon.dufresne@gmail.com>
-Date: Sun, 3 Feb 2019 09:02:24 -0800
-Subject: [PATCH] Fix unhandled exceptions from threads during tests
-
-A queue.Queue() object was not always passed to SessionThread. In this
-case, SessionThread._make_request() would raise an exception trying to
-call methods on the expected object. Now, always pass a usable object to
-SessionThread.
-
-Previously appeared as:
-
- Traceback (most recent call last):
- File "/usr/lib64/python3.7/threading.py", line 917, in _bootstrap_inner
- self.run()
- File "/usr/lib64/python3.7/threading.py", line 865, in run
- self._target(*self._args, **self._kwargs)
- File "toolbelt/requests_toolbelt/threaded/thread.py", line 41, in _make_request
- kwargs = self._jobs.get_nowait()
- AttributeError: 'NoneType' object has no attribute 'get_nowait'
-
- Exception in thread cd08fad6-d21d-41b0-921e-737a149b12be:
- Traceback (most recent call last):
- File "/usr/lib64/python3.7/threading.py", line 917, in _bootstrap_inner
- self.run()
- File "/usr/lib64/python3.7/threading.py", line 865, in run
- self._target(*self._args, **self._kwargs)
- File "toolbelt/requests_toolbelt/threaded/thread.py", line 41, in _make_request
- kwargs = self._jobs.get_nowait()
- AttributeError: 'NoneType' object has no attribute 'get_nowait'
-
- Exception in thread 4fb72f0d-ba1c-4a78-97a2-4a7283ea01fe:
- Traceback (most recent call last):
- File "/usr/lib64/python3.7/threading.py", line 917, in _bootstrap_inner
- self.run()
- File "/usr/lib64/python3.7/threading.py", line 865, in run
- self._target(*self._args, **self._kwargs)
- File "toolbelt/requests_toolbelt/threaded/thread.py", line 41, in _make_request
- kwargs = self._jobs.get_nowait()
- AttributeError: 'NoneType' object has no attribute 'get_nowait'
-
- Exception in thread 5f3711af-0c01-4821-9e25-8074bbbf769b:
- Traceback (most recent call last):
- File "/usr/lib64/python3.7/threading.py", line 917, in _bootstrap_inner
- self.run()
- File "/usr/lib64/python3.7/threading.py", line 865, in run
- self._target(*self._args, **self._kwargs)
- File "toolbelt/requests_toolbelt/threaded/thread.py", line 41, in _make_request
- kwargs = self._jobs.get_nowait()
- AttributeError: 'NoneType' object has no attribute 'get_nowait'
----
- tests/threaded/test_pool.py | 15 ++++++++++-----
- tests/threaded/test_thread.py | 5 ++++-
- 2 files changed, 14 insertions(+), 6 deletions(-)
-
-diff --git a/tests/threaded/test_pool.py b/tests/threaded/test_pool.py
-index b0653bb..b949dd8 100644
---- a/tests/threaded/test_pool.py
-+++ b/tests/threaded/test_pool.py
-@@ -26,32 +26,37 @@ def test_requires_positive_number_of_processes(self):
-
- def test_number_of_processes_can_be_arbitrary(self):
- """Show that the number of processes can be set."""
-- p = pool.Pool(None, num_processes=100)
-+ job_queue = queue.Queue()
-+ p = pool.Pool(job_queue, num_processes=100)
- assert p._processes == 100
- assert len(p._pool) == 100
-
-- p = pool.Pool(None, num_processes=1)
-+ job_queue = queue.Queue()
-+ p = pool.Pool(job_queue, num_processes=1)
- assert p._processes == 1
- assert len(p._pool) == 1
-
- def test_initializer_is_called(self):
- """Ensure that the initializer function is called."""
-+ job_queue = queue.Queue()
- initializer = mock.MagicMock()
-- pool.Pool(None, num_processes=1, initializer=initializer)
-+ pool.Pool(job_queue, num_processes=1, initializer=initializer)
- assert initializer.called is True
- initializer.assert_called_once_with(mock.ANY)
-
- def test_auth_generator_is_called(self):
- """Ensure that the auth_generator function is called."""
-+ job_queue = queue.Queue()
- auth_generator = mock.MagicMock()
-- pool.Pool(None, num_processes=1, auth_generator=auth_generator)
-+ pool.Pool(job_queue, num_processes=1, auth_generator=auth_generator)
- assert auth_generator.called is True
- auth_generator.assert_called_once_with(mock.ANY)
-
- def test_session_is_called(self):
- """Ensure that the session function is called."""
-+ job_queue = queue.Queue()
- session = mock.MagicMock()
-- pool.Pool(None, num_processes=1, session=session)
-+ pool.Pool(job_queue, num_processes=1, session=session)
- assert session.called is True
- session.assert_called_once_with()
-
-diff --git a/tests/threaded/test_thread.py b/tests/threaded/test_thread.py
-index bb92f7f..fd7e96b 100644
---- a/tests/threaded/test_thread.py
-+++ b/tests/threaded/test_thread.py
-@@ -19,6 +19,8 @@ def _make_mocks():
-
- def _initialize_a_session_thread(session=None, job_queue=None,
- response_queue=None, exception_queue=None):
-+ if job_queue is None:
-+ job_queue = queue.Queue()
- with mock.patch.object(threading, 'Thread') as Thread:
- thread_instance = mock.MagicMock()
- Thread.return_value = thread_instance
-@@ -52,10 +54,11 @@ def test_thread_initialization(self):
-
- def test_is_alive_proxies_to_worker(self):
- """Test that we proxy the is_alive method to the Thread."""
-+ job_queue = queue.Queue()
- with mock.patch.object(threading, 'Thread') as Thread:
- thread_instance = mock.MagicMock()
- Thread.return_value = thread_instance
-- st = thread.SessionThread(None, None, None, None)
-+ st = thread.SessionThread(None, job_queue, None, None)
-
- st.is_alive()
- thread_instance.is_alive.assert_called_once_with()
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.9.1-r1.ebuild b/dev-python/requests-toolbelt/requests-toolbelt-0.9.1-r1.ebuild
deleted file mode 100644
index a5fc91d08018..000000000000
--- a/dev-python/requests-toolbelt/requests-toolbelt-0.9.1-r1.ebuild
+++ /dev/null
@@ -1,55 +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_{8..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="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/requests-3.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/betamax[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( AUTHORS.rst HISTORY.rst README.rst )
-
-PATCHES=(
- "${FILESDIR}/requests-toolbelt-0.8.0-test-tracebacks.patch"
- "${FILESDIR}/requests-toolbelt-0.9.1-tests.patch"
- "${FILESDIR}/requests-toolbelt-0.9.1-py310.patch"
-)
-
-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 cedf1a2d0be4..000000000000
--- a/dev-python/requests-unixsocket/requests-unixsocket-0.3.0-r2.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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 ~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 399f9c8adfdf..0ff86da8cb06 100644
--- a/dev-python/requests/Manifest
+++ b/dev-python/requests/Manifest
@@ -1 +1 @@
-DIST requests-2.28.1.tar.gz 109805 BLAKE2B 2106be5f9e1d9f1a22de5522b5d72084f91c2849e60e33b89b2411b76cae9b1f7faac34947f69c49480d001e9b77e4dce723ee939d51591882854d510db49b59 SHA512 c123ec07171c2c7c34e4173b97750adfa313b4312d91c0d58e4eb8750361604017e5b370c23ec886d2cbf704f9074ec5ad0fa9c2cd8e6f9521532adafff39d41
+DIST requests-2.31.0.tar.gz 110794 BLAKE2B e4e2781b272ccd94230c5b8c1bea83901bc8c28a34880709dbb95b887417b47833512e25045dab6e4226295294e2bf56fc821b6f636ae28aefdeee6039f53d44 SHA512 ce50d64973752f4cf7f7c7c91401669854b55c66d7465bea3689772fae8a6b646cf6720d84a2984bbe6fd78fc8b9ce0aa377f291fb6d7c20c7c2a4be8193acdd
diff --git a/dev-python/requests/metadata.xml b/dev-python/requests/metadata.xml
index 11b5d7220341..da82b014f5d3 100644
--- a/dev-python/requests/metadata.xml
+++ b/dev-python/requests/metadata.xml
@@ -13,6 +13,7 @@
</longdescription>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">psf/requests</remote-id>
<remote-id type="pypi">requests</remote-id>
<remote-id type="cpe">cpe:/a:python-requests:requests</remote-id>
</upstream>
diff --git a/dev-python/requests/requests-2.28.1.ebuild b/dev-python/requests/requests-2.28.1.ebuild
deleted file mode 100644
index 4bd04d958a8e..000000000000
--- a/dev-python/requests/requests-2.28.1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2022 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_{8..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"
-
-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}]
- !alpha? ( !hppa? ( !ia64? (
- 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/requests_download/requests_download-0.1.2-r1.ebuild b/dev-python/requests_download/requests_download-0.1.2-r1.ebuild
index 10fe3377e15f..ae003f7242d0 100644
--- a/dev-python/requests_download/requests_download-0.1.2-r1.ebuild
+++ b/dev-python/requests_download/requests_download-0.1.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2019-2022 Gentoo Authors
+# 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_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{9..11} pypy3 )
inherit distutils-r1
diff --git a/dev-python/requests_download/requests_download-0.1.2-r2.ebuild b/dev-python/requests_download/requests_download-0.1.2-r2.ebuild
new file mode 100644
index 000000000000..816f862190b5
--- /dev/null
+++ b/dev-python/requests_download/requests_download-0.1.2-r2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A convenient function to download to a file using requests"
+HOMEPAGE="
+ https://github.com/takluyver/requests_download
+ https://pypi.org/project/requests_download/
+"
+SRC_URI="https://github.com/takluyver/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~mips ~x86"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+# there are no tests upstream
+RESTRICT="test"
+
+DOCS=( README.rst )
diff --git a/dev-python/requests_pkcs12/Manifest b/dev-python/requests_pkcs12/Manifest
deleted file mode 100644
index eae71edd079b..000000000000
--- a/dev-python/requests_pkcs12/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST requests_pkcs12-1.14.tar.gz 4896 BLAKE2B a8a3f0796092c66c210616ace20fb15cd82beb3ff3c0c0d1f2dccbd1ed7d62092a1faa69986e4f23d0b94af54f7f9b8819730f0c04c251fb751256dbd4c6bb56 SHA512 2d97b44b676c9e6e6eef127494d6c4a34179b8f69d8674ad9ecd9aa4171e5eb46a29a45ad5b5e8fe9facf234c1b7645fc5c87cef2b336beab941ce3e684c6d25
diff --git a/dev-python/requests_pkcs12/metadata.xml b/dev-python/requests_pkcs12/metadata.xml
deleted file mode 100644
index 1136cb253f34..000000000000
--- a/dev-python/requests_pkcs12/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>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
- <longdescription lang="en">
- Adds PKCS#12 support to the Python requests library in a clean way, without monkey patching or temporary files.
- </longdescription>
- <upstream>
- <remote-id type="github">m-click/requests_pkcs12</remote-id>
- <remote-id type="pypi">requests-pkcs12</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/requests_pkcs12/requests_pkcs12-1.14.ebuild b/dev-python/requests_pkcs12/requests_pkcs12-1.14.ebuild
deleted file mode 100644
index 24765222be05..000000000000
--- a/dev-python/requests_pkcs12/requests_pkcs12-1.14.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-inherit distutils-r1
-
-DESCRIPTION="Adds PKCS#12 support to the Python requests library in a clean way"
-HOMEPAGE="https://github.com/m-click/requests_pkcs12"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
-
-DEPEND=""
-
-RDEPEND="
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-
-RESTRICT="test" # no tests
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
new file mode 100644
index 000000000000..dd554a99b8db
--- /dev/null
+++ b/dev-python/requestsexceptions/requestsexceptions-1.4.0-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="Finds the correct path to exceptions in the requests library"
+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}
+"
diff --git a/dev-python/requestsexceptions/requestsexceptions-1.4.0.ebuild b/dev-python/requestsexceptions/requestsexceptions-1.4.0.ebuild
deleted file mode 100644
index 8009ee3bc158..000000000000
--- a/dev-python/requestsexceptions/requestsexceptions-1.4.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-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"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]"
-BDEPEND="${RDEPEND}"
diff --git a/dev-python/resolvelib/Manifest b/dev-python/resolvelib/Manifest
index 8b7ab408f486..32d6b9d48345 100644
--- a/dev-python/resolvelib/Manifest
+++ b/dev-python/resolvelib/Manifest
@@ -1,2 +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-1.0.1.gh.tar.gz 769608 BLAKE2B 7715f61d262cb79ce08f0431650e6213def4582a0774cf36dab722d88013f7bc9c72a31a957d3782e35b315158982c3311fe3e06e26bbf9040fa96b239934661 SHA512 a35f7fdbc3aba5b44fdf6b9c55b082156ca641dfe5825611be6364622bcaaf45faafa2c45bdd13d1b5723a55732759a806905ab4b6f366fba0474d1f808d91bc
diff --git a/dev-python/resolvelib/metadata.xml b/dev-python/resolvelib/metadata.xml
index 1363c414cd95..626ec9a67cd1 100644
--- a/dev-python/resolvelib/metadata.xml
+++ b/dev-python/resolvelib/metadata.xml
@@ -15,9 +15,9 @@
<bugs-to>https://github.com/sarugaku/resolvelib/issues</bugs-to>
</upstream>
<longdescription lang="en">
-ResolveLib at the highest level provides a Resolver class that includes
-dependency resolution logic. You give it some things, and a little
-information on how it should interact with them, and it will spit out
-a resolution result.
-</longdescription>
+ ResolveLib at the highest level provides a Resolver class that includes
+ dependency resolution logic. You give it some things, and a little
+ information on how it should interact with them, and it will spit out
+ a resolution result.
+ </longdescription>
</pkgmetadata>
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 073d81b1a57b..000000000000
--- a/dev-python/resolvelib/resolvelib-0.5.4.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 987cdd751881..000000000000
--- a/dev-python/resolvelib/resolvelib-0.8.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} 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-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 d25bae57b57f..a634dc9300ca 100644
--- a/dev-python/responses/Manifest
+++ b/dev-python/responses/Manifest
@@ -1 +1 @@
-DIST responses-0.21.0.gh.tar.gz 49551 BLAKE2B 3796fd29353f80a04b26a7348153902d959038e072bf512ee4ba8ffd434157c0ce5c37073d114e0d2865c827d82166ee1fcefe2f250c895c23c53664ab919903 SHA512 9e82f0fb7d2a2a4ea071a6384584ba58ebde13504408f8bac351d24df206f0f6815ce3b6d7e013fb87b04d3a1cdccbe7a5287f56f4f9bfb3d4567ad2eeafa778
+DIST responses-0.25.0.tar.gz 77681 BLAKE2B 0437c343feecb071f544d8f6ce1ad15c4d6e2f00c0fff0404dff9160c962a5de46d0b2c882e8d044b6e09c441a534e7bd8772f826a45c9a9b79e34daf0610546 SHA512 6aed8ce17f55e8c1a7438b3e1aa7e7e59322120f3580fede93d61224ea9f1e1f05382cdf82c11cbef29447b6591d7d6e25d156c087025b93d6e5a3e2da82d90d
diff --git a/dev-python/responses/responses-0.21.0.ebuild b/dev-python/responses/responses-0.21.0.ebuild
deleted file mode 100644
index 8a9eb16cce78..000000000000
--- a/dev-python/responses/responses-0.21.0.ebuild
+++ /dev/null
@@ -1,36 +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_{8..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
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- <dev-python/requests-3[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.10[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/pytest-localserver[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
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 b2eb200afff5..7199badb88b6 100644
--- a/dev-python/restructuredtext-lint/restructuredtext-lint-1.4.0.ebuild
+++ b/dev-python/restructuredtext-lint/restructuredtext-lint-1.4.0.ebuild
@@ -1,18 +1,18 @@
-# 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_{8..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 4df00fb12433..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
@@ -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_{8..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/Manifest b/dev-python/retrying/Manifest
index 8044ec16f43a..c8e6cea6481e 100644
--- a/dev-python/retrying/Manifest
+++ b/dev-python/retrying/Manifest
@@ -1 +1 @@
-DIST retrying-1.3.3.tar.gz 11648 BLAKE2B 2c518ca887dddc35bad421ad75c76cb88f08a0965272816af8667b1b151eca2dda1b0b198607f26dcda2df547ba2cb317ac927ebfc5891cd8c6203ded619f1e1 SHA512 e053e62cb71b31573b89b8fffa706c3410794b5cced829582c373a09af78158f7a16948e6ce52078589cf7d8f5bba726c889180588a2628be343f242bc40c035
+DIST retrying-1.3.4.gh.tar.gz 11789 BLAKE2B 8a75a007bfc8333592aa1aed5b7090a44264a3ad46b71d8a494a0033ce94059751e8276c383c7567da8487230ab2877368bed4b15dca6c45cff2d709eebfd6b4 SHA512 80bd19eefdbd8277ec0ba656d1b1d3589b2e3492cbb902c963376b3df475abbe4725c9902426a1784e4dddbd57ea8bc51ea5925a0a72a6f5c11333893314f2c5
diff --git a/dev-python/retrying/metadata.xml b/dev-python/retrying/metadata.xml
index c8f6063c5ccb..9aa7090dde1e 100644
--- a/dev-python/retrying/metadata.xml
+++ b/dev-python/retrying/metadata.xml
@@ -9,12 +9,13 @@
<email>openstack@gentoo.org</email>
<name>Openstack</name>
</maintainer>
- <longdescription lang="en">
- Retrying is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just about anything.
- </longdescription>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">retrying</remote-id>
- <remote-id type="github">rholder/retrying</remote-id>
+ <remote-id type="github">groodt/retrying</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/retrying/retrying-1.3.3-r1.ebuild b/dev-python/retrying/retrying-1.3.3-r1.ebuild
deleted file mode 100644
index 8d90953b7dca..000000000000
--- a/dev-python/retrying/retrying-1.3.3-r1.ebuild
+++ /dev/null
@@ -1,21 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="General-purpose retrying library"
-HOMEPAGE="https://github.com/rholder/retrying"
-SRC_URI="https://github.com/rholder/retrying/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
-
-RDEPEND=">=dev-python/six-1.7.0[${PYTHON_USEDEP}]"
-
-distutils_enable_tests unittest
diff --git a/dev-python/retrying/retrying-1.3.4.ebuild b/dev-python/retrying/retrying-1.3.4.ebuild
new file mode 100644
index 000000000000..6a0fd7dfe7bd
--- /dev/null
+++ b/dev-python/retrying/retrying-1.3.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=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="General-purpose retrying library"
+HOMEPAGE="
+ https://github.com/groodt/retrying/
+ https://pypi.org/project/retrying/
+"
+SRC_URI="
+ https://github.com/groodt/retrying/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/retworkx/Manifest b/dev-python/retworkx/Manifest
deleted file mode 100644
index ed5e3a7acd23..000000000000
--- a/dev-python/retworkx/Manifest
+++ /dev/null
@@ -1,65 +0,0 @@
-DIST ahash-0.7.6.crate 38030 BLAKE2B aca3661477fcd7822d6d10970151e05c28e1615f8cd7ddaac064b15102027e404b19b0f3f16dd76145048594ea1c22ae27dd08cc05c411efbae9ec7a1ef55ce9 SHA512 61354688b6fb096359faefb6f34be958cd2215d56b88c22c737d24183eaad433f811bc9e64f927e4852c87d2799c22fda82b55cfbef2ed6357ff74f0c4ffec68
-DIST autocfg-1.0.1.crate 12908 BLAKE2B 40c53cab298e4f26634c3acff3ece6a3371188d91dbf377ed664eabedcde20536edaa93daf406618f37edde019f049a6e7b9a47f627344587dbd126bee2b5e3a SHA512 630b348acb98b012e97804e6325d03c89abc22f2157762c59144c04e6c733daf550bdc7f0fe0b9f3b50e15dae8c1c3c4bdfce3d805b02f0fc987311f5332419b
-DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
-DIST cfg-if-0.1.10.crate 7933 BLAKE2B 063a96ed176f34f788666b40adc483d147fc011dee941ab60569ddd0e57502b5dd06ed71090f4e14ce005d06e240500a286f74652615e9d068fba649610d8cf8 SHA512 9d22616bfb4a75770a828a0a3cddac6787297a5fdc53eb17e25811cc94de717f2de8bd66d53c5d65ba1c83d8892aefee5ae758cf56a1ef0a0c3120f70b244339
-DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST crossbeam-channel-0.5.1.crate 86919 BLAKE2B b223d0dcacbb09850d457825cb2a018494d798d0000a20eed3f54b1152e41ebca4698e7d50e81f467b86543779155ad08566da9496eee36aa06644b69cf5d7eb SHA512 f15aff67e9105584f5fe41e1ee650ae4fdd0d0ca0fa9202ee83c6f6025398a300decaa50d1b4682e8afb9bd6e11e95b69bcf23f68ae117419aa84df14ee7747b
-DIST crossbeam-deque-0.8.1.crate 20852 BLAKE2B 0e7a2616b82c5e501c0f74935adfea3ee09db5475408be83db8f1b6faab4cd5509de2e029bdf6df90435e474ef91f3fc8d482ce3a72966b2a3bec5967666bdc4 SHA512 44a4fe1d4ab7457e2b0950be787b76b15e1bb0b1c108d032381ce3fe99bf7bf76f3d1718085660083d813e2639e66fdd3635d9186e85a9eb7267063b117eaca4
-DIST crossbeam-epoch-0.9.5.crate 43883 BLAKE2B c0ee0879c583bd1051b63d29eccac37ceb9f9446ee8cb64756b2e3d95a30c5c11bc79d9d460be4ef4b62513049e28900a96085031f805d064e81b5eae4bc297a SHA512 ad822e967e5ef45fa0c4a939f057f44146f1f051032fd032355a75c0f45ae4e0a55e1d31c80bc67c01ff8d9c87a51aba7ccfe9a440f061fd8225c879aa663064
-DIST crossbeam-utils-0.8.5.crate 38414 BLAKE2B 8a10162cbc54f77737602b6f8574b65a02765577f0e2f59d71e1d87662180fe24a781df542f3e765c4d64b7a0666575157e000766dac138bd4fc0356944092ad SHA512 fd4d2ae10340bb96c22b31190b300aab54e96b8089fd62489e102c76a944e6a16c582a90bc40f5e188f13f841293a4b9becf30830c2ece04f3ce78c29066532f
-DIST either-1.6.1.crate 13641 BLAKE2B e5f40c40a5edb6dcb07a10bf79183cbe42438f1f70f3932dce72f6f6e91f75f24d17d82bc447507def4dad4345ffc9dd9162dde778afb253bdb1218e91887949 SHA512 4bfe56920e30cbc8eb4f90162db618f7dca653b42db35ab6a7045d3fd9a24ceb1778b1f79613850bdb1a87ad3794fa0d73015e46c48d513f368d8c3776fc9ddf
-DIST fixedbitset-0.4.1.crate 15551 BLAKE2B bcebd833a45215566a565bcc8cc3440c5bacbced810d2658048da7050808b56c13951bacdd3930f85530129a118bdc23c42381206b63265da7d6846085937536 SHA512 8c53515f1a372a2626e83bc6999adaa00be6451f68627a63e0207ce6a8967e9cab6061adde3e33305c700c472be750903eb36b6f5ce071248db461c0af450b33
-DIST getrandom-0.2.3.crate 26261 BLAKE2B 3e52a87b9355f850e07e5080c20e1ab3acfa927bae28c63bb8bfd6a773ad77be96d3ba770c344631cc0f2d9a95aac920790173168b102e25f50480ee96663569 SHA512 e6da64ed529cb0fc000b613f75187ed6b20f716e721d8a02ac2ae39c507fb9f6189ebb66b522d28584eff1e7e9efc274cad6bfe43f464f58053701e1d51c603d
-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-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.10.crate 5218 BLAKE2B 1e4203d235006ca922134c715781a5bda5a932f6740b7e22505db21d3b675758bce10dbb370e96694574c40c43a1d71ea2e6372df7116b30fe8cb0b65a3b95fe SHA512 a6b2c7e0a7b954e961f2d904a4cd6f701617ad70a7ea13230ee157c473c903803dd64596baa0fabd075e995cd3d013e10681c8d712977341ea2b6f97dd48d596
-DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
-DIST libc-0.2.101.crate 530003 BLAKE2B 55be777a0ab91df07e06f8c5045fa49dcb356eddcda2feb3a16949afbfb395abb3a50a97fdc6b6f1b8974c07af13c9b286f8222fe8557b668247065515063d8a SHA512 876a5739c1ba29d4a4d5c9407b013afabebc6f5644dc57864104e99f0303e7e7ef1d5ee81a665f1029433b9251917b1e1571624a123dfc15586d6bc49ecfb3e2
-DIST lock_api-0.4.5.crate 25199 BLAKE2B c91adefaa0dc3efa786957794b67cf219f5159909179282c13c7e3b68d73a0acebac29438cfcb39b75cbe87bc181e981ab4ff2776134621d8ea92e7a6aaf966a SHA512 d6cd948a4183a73e8b91b9167d551e72dd75820c76123fb0839f8389c7872d2c46dbcf5785d7600ecc4e27f3d214f476585b9c39e85f70500eb8d012e5ff9535
-DIST matrixmultiply-0.2.4.crate 32929 BLAKE2B bd3c6b2d11202ea9390760ca59b7452beb4094b4a95314c1a1c596ff623eb985ae5cf2b3821d365dd2e2912c1bd25713188de07b4555a996a667cb4d6b0cfb11 SHA512 3ec6846e1342d6dddb81f5bd4495e940f011a3e048c712262cc413318c087aaa137550cff6d969873ac96bb628f6a460e92536674c0d503d5c609d9be5d9d184
-DIST memoffset-0.6.4.crate 7664 BLAKE2B 098783d0fde7268b16fc5c9f5df005b93daac18092f04d981559b9f0fa310344c6fbbb93d42587ec7107a5c4e8d757508377dadf03471dbd7022f3bdb5b3da4b SHA512 bf8d05b72571ccdef32a93cc4489ab4cb7abd41415d55572d1dfb983053afe3eb2615e968d87a326af90c5702b9959150f985a4186acfd61df9b69a74e99713d
-DIST ndarray-0.13.1.crate 213899 BLAKE2B 41a4e6249c84dd4acefe911c445f46c6ae2c101b131aba93d3587089622438b834f8eb8941d3159ae49ad02af3b28553ddf171bfd73c40b57d8d71283ed27861 SHA512 8dbe6eea8c04e477f57d9693760424c4d2adbdce65ef8a047fb3b09226f8395e91fbad3a21c71a1d0242cdb89996bbf7eea435ffa8c58c37dee03af9913eedca
-DIST num-bigint-0.4.3.crate 97799 BLAKE2B afe9a08bf20dc974dcea12b5f9dd465e8b399a0cb0a6d0028d08f7f753aa4dfc929710e4dae883e67633d9dda073f995287e5315b1487e8f99f8f23f1f70e581 SHA512 4b38eaa8b51119dbc7cd8a1e177f37ec935ee348b693a93378742e9bfa68fe5f7e5062b7f34638283c23f04d2127451d796d310cd8adb64dc8e865b28708374f
-DIST num-complex-0.2.4.crate 24679 BLAKE2B 175ee644720b6bbff108eb4ef94d0fea8f340533c2be0e18524e54777734d1c7dc10a7c36b1f2ca3f032ddcb3dc351e60564340aa59b29aa4fa7ecb2487314c4 SHA512 53be64d6f67b1ff7d0a4e1723ae21035abfd300ab27bed0976e0c3903fe8e29f47ffe75040832ee2f81da5c2f4f671d3d845d308365b9a5a989ace99a7d463ea
-DIST num-complex-0.4.0.crate 24805 BLAKE2B c9ca4c01f59bea06e68de80aae5fb68362eeadab92f8f2cdf0474d46339b606d4921b80b4ce377771a1c08ea4e38a335e6fe2ddb412dd2842966b824c1252f3d SHA512 ececfb4ecd82acdb038322ffcb431a09c271b33d3f028f90577f585289251c38ba425d67413815442cd5c2daba821ac9b3b45b09122b1ca2cb7d35f45dd9d2d8
-DIST num-integer-0.1.44.crate 22216 BLAKE2B e1c08427e006cde6f2084adadb6086e87e6d6f8bb8dfa757a8228aa671e862a366e4bd8ca5e0500008c18bab128aead9bd5b1e53568a4f40afadcaf3882ee98f SHA512 d07e27ede02a1d007373935fd91e57a26e0e84ae14bbe24be66763baae6850788bd64ad2598d2bde4f4fad6c8a4675c40bfe0927164b16b9b69de5e9a83d9771
-DIST num-traits-0.2.14.crate 45476 BLAKE2B ae310d9d5640acc3e45e1e5d1d2f519539795922c0058ee940c94c94b6654b39358b7c18dd23a276f2c1b16a30dd4de4cbc8575bcda6a5c11e70665d670e6439 SHA512 c3028eca9f7b718de0db3a36cf3e462bdba43562d52c9b809ed4cc0aa6af403aea542d6d4da743cd1dd541397815a3c5a84cef4d6e40122994e4be6a62319b2e
-DIST num_cpus-1.13.0.crate 14704 BLAKE2B e7a26e597ad5e45309393a9500b031ba64a77831320cbb96d7861139a2f7a453b7ba06a3255439b43ac1e2e36269b0a350d514020d3cd82c2513b57934b3ebbc SHA512 e75ec298fa682be84bf4efb6cf40126da9233ef25f07e887c2fa7421ee78790204564e6406c8219466651f47421e27f69eca690bb9cdfc982b644d78cc10de3f
-DIST numpy-0.15.1.crate 42767 BLAKE2B fc33bd004706516796262bcc028565b6c8488bd483bfb4229d2e3bb248965f227c591798e043f107593cdf107400c8445c97c0cee058c6d4f0c87efa075d052d SHA512 ab44f660ddfe0cdfad183c8494e049473c6c0104401a4fd3ec1c2e77e192967bf971c923f8f8ed419b8d160bb55bc22b968964ad902f52f5a795da78ce501907
-DIST once_cell-1.8.0.crate 28925 BLAKE2B 7681b1a7497b5711e663773c1a7e076f333c06c10d3f289079a781c36f050c1620cc279742ea8e5b15ec48f3d6038a6079bbda7fee3ae8e1128bd916d53ed43a SHA512 88e55c9433225ce85a08353168c87fca2237615482160a5c28f3ac17f06d48c63e0c21b5f7ef81f82ca133436e371802ea099453844f1c111003bcb6ba89e827
-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 petgraph-0.6.0.crate 182063 BLAKE2B da9373f4d671d0694b8924e25efde32eaf29a1dc3e460a971b655461717594a84823da8bf65bae20e7a277057d081397999ae3d8c9ca83404e626e547bfefa2b SHA512 d71e014b25cf6008a35d425794f69b4361de7c5e8b8fb255c35758bf5631f375a5646431ab1cb59f1fceef93762a169d0408301a5baebbd3a0886a60f688e8d0
-DIST ppv-lite86-0.2.10.crate 20915 BLAKE2B 83a075381c24b2b89f5266929f5672ce051c3781c1a199252738dadbf471618c8b87452ce84e1cd87a9eac11b44107002894f544091210cc7e77bf52c045288e SHA512 c9941052e504b9b310024064026e4b1d540dd877705ef450a833d9ff6dee70ba874cdad68c46381a71d5b54482cd80b3dbb8e0c225758fd339069031a55195f1
-DIST proc-macro-hack-0.5.19.crate 15556 BLAKE2B 98c22fc3e5f5fa8b6f44d15de42b6ffcc82ba3f98a07ffa48bcbc5d3abcfca6af136c5d0d8c7f1ca34261ed8f8c9c17a394231f97a4c342c81aa7f8b9e74b203 SHA512 9e4cbec41056438287f5b23086264c86e2f0cdc193064006556736377b2954229de13a585149b9995002c9aee3334ee2a80ae4afdcc96cabe7ed2bf718476952
-DIST proc-macro2-1.0.29.crate 38772 BLAKE2B 742c2602afc4beddc96b688d105fd93b1dbdb3cfced724aaf542e97120d374d334e90cfbf02ab62741dd052a272dc583b7d2e1992da3d1b8ff260414c65ac89e SHA512 b3b3b7c6988afeb92209c7e0362f45f9c207611a74bb63bc7746b86fb9ab0d74fea9e7a2d9bc8ac943225ea439540726ffc13711dc5bcb056c1821fc99e8dc63
-DIST pyo3-0.15.1.crate 370722 BLAKE2B b755c93d8dca8e778b886ed1d16e83ddca483d0f6c932b3241edb2e1211306cb0257d2a6bc31ba4298335f277898e59aad67e9f675ed4ad9a2bb9d596400bda3 SHA512 9168911db76f2c9629615c997accfc4234bf91cc72293dcdb3db14b4e93f93af9df3b3aa7900384121719aeda4a0b6dd68c0cb380bfe5424724b0be5303c02e6
-DIST pyo3-build-config-0.15.1.crate 22095 BLAKE2B 47803b389f30f15f487daf96d32e374ebc83b1b41ddee1d2dcadd1a0fbaef40c4c1af2312b86ec085637e3192b1bd213c93b5f4e8dee173d81e510f480fa6953 SHA512 a9aae6bb4a4a56f7857262276bf1c95510912a367e32470b871f2fe2d6adbffd87247ed2e3b5fa2dfd273a3b0e139d92f25f3228e15c6d8c206c6ba919f38a9c
-DIST pyo3-macros-0.15.1.crate 7555 BLAKE2B c7d87c150678efbb5dd6ef98da9997676ef3e7f8628a79f01a3ecbf94cc8b2d0752573d894fd769fb8791f30bcfd03a5c9f76cce73c00be90c1488faed63198d SHA512 1969b5ec6dd26ff2d534fe43143e44b91b66e05c61281b64f96fda47ff7826f625c658412d7587520df7455a67cd970a9aa49c7544ffb70a425314a0cff65060
-DIST pyo3-macros-backend-0.15.1.crate 46111 BLAKE2B fabde516114a001e7f9ec1a1f422c5819ad5bceb4db36ecf2ef5dfde397d4d3c7dc7a8acf11cafde4156594e90a4f95d51dbefa43ee8bc172441d3f81eb299b2 SHA512 6c62fd1bc50666f63f9854947e9d88ae385159d90d026e0179d91aa151fef8403b23f55eab6f3340b1455b23d411083780c49198afacc267b49a52ee9c4999a4
-DIST quote-1.0.9.crate 25042 BLAKE2B 26ef31e89fd2f0cc21ff65f8072f30c7977ac634d2536cf9845a0894d6659f62a96cd0a6ee48f7706036c2c1b898ef8c9167bd62714ad0c9cba4fb02f30922af SHA512 dd6cdaea183b85400531ef01e56657edbec0d8f7c27898c1e591b72dff755fa5875b33ca320bd65be0e9aecfc6a61ec119a4bd1291e9f2057fca642ab5b198c8
-DIST rand-0.8.4.crate 87406 BLAKE2B c09358416d2425a8243b623346fe71bf6f03fddab1a23fc752f4303ba7c241b3606629e4edf0ea720785bda0bca534acd675c2de079b78eac3df24a1ad6ba654 SHA512 77ae0e988e31e12f7d3f2c40814f930eecbc94c4aced827c337be78eeeabf39fde2dc5c4fda059afdc01285ff4afe30393c32694377de004feff16207606558e
-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_hc-0.3.1.crate 11891 BLAKE2B b3aa810638390eea4245ebb711de88ccdc2a64350a5c6e14064fea7685d49746b4b77215dbb8374fa7a6cbc2cfd79fb553513d6e551acf64586d8303f7d4f3a0 SHA512 582bb44b81c27e698eb57c6f06444b8a7c9d3f7ee73f4e14be8004c4bfd3bbfd9795c69f7294b5e87107e86b90fa3e91ad080964474af81c92705d356e43fbb5
-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.1.crate 160424 BLAKE2B 1c31c8e3290f76d02347271cb020e50e8f915b7a064f133a196c12e07ae1551c0e7c31883a31ec419a05198d6c71f0057be1b8ddb21f451db9ba40da511a0e1a SHA512 a68e65aae7040a6f6b0cc33b53b4c22929c15504ed4fdf54f5eb5fcaeab137c220b00c716aed96246b6a762c4f1e8be920356231d6c4a0b3e01132b9ab96ffc9
-DIST rayon-core-1.9.1.crate 64961 BLAKE2B 7201024124324d2cf2d5785b7e79d2195adc7de576b826a9c28603dc44f1b5de46d277b791a741413c85facb4f4a552bfd55989a190f6f5ea3df4bbd32042f66 SHA512 c24c34dc488171ce476df145e8c6953d35fea93412805f6c411ba8b8e9dbbd733610b291203ee91bd265b766b78e14ba15a7b587e8f0ae8bde53f60e0644ef78
-DIST redox_syscall-0.2.10.crate 23582 BLAKE2B 7253dd96415e7b70df488c208d86c250c670b1245ac6573a59085faabbde9e33fabfacd233e7d737e365493db14008c180274b41ea0a4af5f6f98eec666a873f SHA512 ef012eb4bffe32119e50ecdbef4cc31f6e84a344e94f026484fe4e2c904f94053a8b6249fb6bd8ada31b3ecfbf0096085283bb68aeb62b1b01b57f35794aee92
-DIST retworkx-0.11.0.gh.tar.gz 332386 BLAKE2B ec84e208d5a7e6135578ea1c0c053e49e10ccdbfd118e02631304425a880112877472fa4e3d9801bfbf32eb3ab043f71bdaff013de0c13dff2633a01946bd21e SHA512 2b20962add7c9c6716a846144e617a6b4a729739cd1227b91967dbefc6014703739562a639d66ee6f1e7431efc5e25a8e18ea29068aecbed6361744565c4572f
-DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST smallvec-1.6.1.crate 26444 BLAKE2B ca6c50a63acdd93a2131654d99e50545a6e2d08eb3e2bd57d4a8ee073d90c08195ee442745a8d62a68179ce7bb8e229b7ff8c6fcf46372a9844bc9280b7c85cb SHA512 9e6061c8211a4485ab54eb541adf40748e1fc3fdfab0849e38e5fd34fc6cc69ae78bd065b788692385a6b8157b031c2fe373900e13d3e56e94fc08d574edaaad
-DIST syn-1.0.76.crate 233723 BLAKE2B 99b781b6ffa926ca71d0a09ae81dacfc6ee713e15fd057232e527761b73f088c30967eb13d624bdf34a089c5a33fa28ecf6ca069e3dfd7061932643849243967 SHA512 0f32138d219ca74fcff1ee5ee5bb89f965a30b74c10a040bd8361332cb84900322194dd85ad7571c4bce72c1f66368546db5881165939800f2587b15ce07298a
-DIST unicode-xid-0.2.2.crate 14955 BLAKE2B 6c6da49ac08dbd8b3248272224d6bff96b9cd1f36029b1937a58a0b929c3a48326053305ed49e73edd70f572f5abbc4817cedc899c69e3457805ad056669f6af SHA512 92ffd0dd34e3ca235ecf110b38c447d3ec1faa23d76c112457f28d432f92fa6b5f428bc5e1bfd278f361f55426dd96e19ecb0d3eff6cf250892f069c52bd89a8
-DIST unindent-0.1.7.crate 8346 BLAKE2B cbf76fd18e49332e61275ab204cef1fc4dee58091307f8cbe2107d3a8441551055541583f1d643d4d15f9cc17a8405f540f0c53548f5b2379dd70791a03640cb SHA512 d3f4543f97f1386f63306a206074de1d10077ae968ea6eb6638545eeaf8cef662e1c84a15788e9df640eeb6af4cbc187721ec01af43984e4eeb2dfb0423c6d70
-DIST version_check-0.9.3.crate 12547 BLAKE2B 85761c300a8d755e0b376191ef0604728ae641261fdb10682a3134a828eadc4a33216426d286bcdbd8d0c5fcfe6ca8ba20ed078c4f53066b959739a0e73daec0 SHA512 4b3b428214a0322af536a18e6f050438398766af6589389f20a804121a6721962ba411e2dcfded60aaa74313128fb0e831bea31378e2695c29b29bdc24d7cbfd
-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
diff --git a/dev-python/retworkx/metadata.xml b/dev-python/retworkx/metadata.xml
deleted file mode 100644
index 2c287d8e177b..000000000000
--- a/dev-python/retworkx/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" 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>
- retworkx is a general purpose graph library for python3 written in Rust to take advantage of the performance and safety that Rust provides. It was built as a replacement for qiskit's previous (and current) networkx usage (hence the name) but is designed to provide a high performance general purpose graph library for any python application. The project was originally started to build a faster directed graph to use as the underlying data structure for the DAG at the center of qiskit-terra's transpiler, but it has since grown to cover all the graph usage in Qiskit and other applications.
- </longdescription>
- <upstream>
- <remote-id type="github">Qiskit/retworkx</remote-id>
- <remote-id type="pypi">retworkx</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/retworkx/retworkx-0.11.0.ebuild b/dev-python/retworkx/retworkx-0.11.0.ebuild
deleted file mode 100644
index f1f70f80289c..000000000000
--- a/dev-python/retworkx/retworkx-0.11.0.ebuild
+++ /dev/null
@@ -1,112 +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_{8..10} )
-
-# Generated with https://github.com/gentoo/cargo-ebuild.
-CRATES="
- ahash-0.7.6
- autocfg-1.0.1
- bitflags-1.3.2
- cfg-if-0.1.10
- cfg-if-1.0.0
- crossbeam-channel-0.5.1
- crossbeam-deque-0.8.1
- crossbeam-epoch-0.9.5
- crossbeam-utils-0.8.5
- either-1.6.1
- fixedbitset-0.4.1
- getrandom-0.2.3
- hashbrown-0.11.2
- hermit-abi-0.1.19
- indexmap-1.7.0
- indoc-0.3.6
- indoc-impl-0.3.6
- instant-0.1.10
- lazy_static-1.4.0
- libc-0.2.101
- lock_api-0.4.5
- matrixmultiply-0.2.4
- memoffset-0.6.4
- ndarray-0.13.1
- num-bigint-0.4.3
- num-complex-0.2.4
- num-complex-0.4.0
- num-integer-0.1.44
- num-traits-0.2.14
- num_cpus-1.13.0
- numpy-0.15.1
- once_cell-1.8.0
- parking_lot-0.11.2
- parking_lot_core-0.8.5
- paste-0.1.18
- paste-impl-0.1.18
- petgraph-0.6.0
- ppv-lite86-0.2.10
- proc-macro-hack-0.5.19
- proc-macro2-1.0.29
- pyo3-0.15.1
- pyo3-build-config-0.15.1
- pyo3-macros-0.15.1
- pyo3-macros-backend-0.15.1
- quote-1.0.9
- rand-0.8.4
- rand_chacha-0.3.1
- rand_core-0.6.3
- rand_hc-0.3.1
- rand_pcg-0.3.1
- rawpointer-0.2.1
- rayon-1.5.1
- rayon-core-1.9.1
- redox_syscall-0.2.10
- scopeguard-1.1.0
- smallvec-1.6.1
- syn-1.0.76
- unicode-xid-0.2.2
- unindent-0.1.7
- version_check-0.9.3
- 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
-"
-
-inherit cargo distutils-r1
-
-DESCRIPTION="A high performance Python graph library implemented in Rust"
-HOMEPAGE="https://github.com/Qiskit/retworkx"
-SRC_URI="https://github.com/Qiskit/retworkx/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz
- $(cargo_crate_uris ${CRATES})"
-
-LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="dev-python/setuptools-rust
- test? (
- dev-python/fixtures[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/networkx-2.5[${PYTHON_USEDEP}]
- dev-python/stestr[${PYTHON_USEDEP}]
- media-gfx/graphviz[gts]
- dev-python/graphviz[${PYTHON_USEDEP}]
- )"
-
-RDEPEND=">=dev-python/numpy-1.16.0"
-
-# Libraries built with rust do not use CFLAGS and LDFLAGS.
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/retworkx/retworkx.*\\.so"
-
-distutils_enable_tests pytest
-
-python_test() {
- # We have to hide the source code directory so tests
- # do not use these, but instead the compiled library.
- mv retworkx retworkx.hidden || die
- # There is one small test which has issues, skipping it.
- epytest -k 'not test_image_type'
- mv retworkx.hidden retworkx || die
-}
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 3a8d4bdd91cf..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
@@ -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_{8..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 4d0c7d0b9634..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
@@ -1,27 +1,22 @@
-# 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_{8..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 c07905483d49..4230540ef8ca 100644
--- a/dev-python/rfc3986/rfc3986-2.0.0-r1.ebuild
+++ b/dev-python/rfc3986/rfc3986-2.0.0-r1.ebuild
@@ -1,12 +1,12 @@
-# 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_{8..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 f27e19e1778c..000000000000
--- a/dev-python/rfc3987/rfc3987-1.3.8-r2.ebuild
+++ /dev/null
@@ -1,31 +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_{8..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 77499943c089..f37f2db2d0c5 100644
--- a/dev-python/rich/Manifest
+++ b/dev-python/rich/Manifest
@@ -1,2 +1,2 @@
-DIST rich-12.4.4.gh.tar.gz 14891341 BLAKE2B 7829951edb77b8e78bcbdeb340fa6c96901d634fb59ab16b8866b898973a95bd38de9dd1a8f6c821cd2222447878a5d22773abec329f49753e207b5b358c3532 SHA512 c1d077bb1448fd436fea87697d31b484615f787c9259418d6ebd12da45bf14f25f192198e4522653c5bd4e5ba218da7d72597e20d04dbffce4a3ea8bd82ce27c
-DIST rich-12.5.1.gh.tar.gz 15034345 BLAKE2B 0ff73986d46c70ad6c959bdad2a28e25404bc7f50567f2d559213dfc5341a58b3e3f5e20907275b507f12c107e5d2e947434949ffb7887abad86d4df8cf3ba72 SHA512 41b4328211b825319962056a56df66b86770f62556f84c6c9ad276ae919ec352cda58ecae4535cdca8461913b6be4b8f30d81e0a91cb9a2944a890206215f11f
+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-12.4.4.ebuild b/dev-python/rich/rich-12.4.4.ebuild
deleted file mode 100644
index 7bc3d6877b3d..000000000000
--- a/dev-python/rich/rich-12.4.4.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..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 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/colorama[${PYTHON_USEDEP}]
- dev-python/commonmark[${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=(
- # broken with =dev-python/pygments-2.12.0
- tests/test_console.py::test_size_can_fall_back_to_std_descriptors
- )
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # the usual deal: output changes that cause test mismatches
- tests/test_inspect.py::test_inspect_text
- tests/test_inspect.py::test_inspect_builtin_function
- tests/test_inspect.py::test_inspect_integer_with_methods
- tests/test_log.py::test_log
- tests/test_pretty.py::test_attrs_broken
- )
- epytest -p no:pytest-qt
-}
-
-pkg_postinst() {
- optfeature "integration with HTML widgets for Jupyter" dev-python/ipywidgets
-}
diff --git a/dev-python/rich/rich-12.5.1.ebuild b/dev-python/rich/rich-12.5.1.ebuild
deleted file mode 100644
index a049e4167d88..000000000000
--- a/dev-python/rich/rich-12.5.1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..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 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/colorama[${PYTHON_USEDEP}]
- dev-python/commonmark[${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=(
- # broken with =dev-python/pygments-2.12.0
- tests/test_console.py::test_size_can_fall_back_to_std_descriptors
- )
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # the usual deal: output changes that cause test mismatches
- tests/test_inspect.py::test_inspect_text
- tests/test_inspect.py::test_inspect_builtin_function
- tests/test_inspect.py::test_inspect_integer_with_methods
- tests/test_log.py::test_log
- tests/test_pretty.py::test_attrs_broken
- )
- 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..e4db7d2df6c6 100644
--- a/dev-python/roman/Manifest
+++ b/dev-python/roman/Manifest
@@ -1 +1,2 @@
-DIST roman-3.3.tar.gz 7577 BLAKE2B 651d30154e01c9bc61326581c5600efb5f717b2c21cb6345d51ba5aa44d79bff00e66492d3962ed4c9682103a9c00af8205ae9d90b30b9a3f13dc2d18e6f1592 SHA512 8d2952640519052ce629a3881cb871448fc7921eb5f45525305c43ef9fb2672062d0ca96ab16d7aaa95f5eebcad028fdcf519f224f3631734fbb6a4a314f3a49
+DIST roman-4.1.tar.gz 7005 BLAKE2B de3e7dc4e05994f906b357d8db2f1149f3bf9f420552220cf1cf9427a8ae63ed3ba873b28b75dcbc1f675a370354efa5cae3ac9fb070f9b02126a2867bcefb07 SHA512 69214f35098e17bd106411036feec8a4e5c8450e394c74d60a8e3cc17c6884556347a1d2852fa174db4f66d969e71b26c066439afd6d278786d1a47bf925f302
+DIST roman-4.2.tar.gz 7339 BLAKE2B 1315925ffc4324e21582030fa6d963ed50f9fe917056fdf8dba62d90812874dd40d8899ae47274fc584bb56877c5517f507ff8741266e95a89912aead3a23a15 SHA512 4b1ddd54078e5ab38a11cad29fe4ea1f8e4740d7a9d1b093bec7d08ba37ca2bbbf89b2c420987b74270b01a8af5c03bfbfe8cfb5a4dfeb8923894cb52f083e82
diff --git a/dev-python/roman/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 0d63d8a127d4..000000000000
--- a/dev-python/roman/roman-3.3-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=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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/roman/roman-4.2.ebuild b/dev-python/roman/roman-4.2.ebuild
new file mode 100644
index 000000000000..d9b08af45690
--- /dev/null
+++ b/dev-python/roman/roman-4.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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 536f617df1ab..490ab93c1c15 100644
--- a/dev-python/rope/Manifest
+++ b/dev-python/rope/Manifest
@@ -1,3 +1 @@
-DIST rope-1.1.1.tar.gz 274610 BLAKE2B 52354453305ee58db70f86392f7ec27179e1e4a9ec677fb8875bb9ca24663e6dae26e1bac4a1ad62143fe3a419a7a1e1fd0b7d2f03ef556143d2b060b23300af SHA512 aaf664a63ef00e3c844d6999338fe6a3384ddecfe95ef9b7eb213e5c37c9f78f7d2ea59aa7e612487bac5eaaaf7fc8ba499c0d43c740f99a7b3be64c9d7f6e07
-DIST rope-1.2.0.tar.gz 289239 BLAKE2B 314cf382e76a448dcddff0b9c52ae437cde032b54f1c9edbb05c1d47832ecc7a0b35b8eb14cf48ef5b296011a273cf3e21c5433a70e2627c11f2cdeca885e1a3 SHA512 d34a47a6453a85fcaa253287224b7b5265e08d2cba46377d17502f78642d3468d074b43d4916758c2225f98e676080af2b7896ad6194e0ee0234661343259fd1
-DIST rope-1.3.0.tar.gz 286846 BLAKE2B f8b122a276812638eee76cc235e91e013696f6047c450729edde1b4a5bfdd1d6aa7d1e9ac46048e8205a1f544ee82f740e0f7b20f10769a9a28065a8b9caee6b SHA512 45036cfb3abbe6b00306268f62804d787a633ef8981b23553d57ea18087bfbec33be6346bb59393bb6c3b48020a2da87f759668a57ec8e809ba3666aff0dfd2c
+DIST rope-1.13.0.tar.gz 294457 BLAKE2B 6d859f9a5d09734ef90398671a3ef3c8564f2a8b1d03a064d22161ac7deeceefb38849cd6940a53f61f20199c27edc5ef5e88d59336cfd69f4da22685c705356 SHA512 2f150d8b56165dd3cffc3f41d94394b5f44d7d6274859d7b460c6e61b99cb9d9630f3540940fa97bcd1238fa8a799cf9c80f2d9b5b7fd6a690cebabadf775db4
diff --git a/dev-python/rope/rope-1.1.1.ebuild b/dev-python/rope/rope-1.1.1.ebuild
deleted file mode 100644
index bb7f86c3ec75..000000000000
--- a/dev-python/rope/rope-1.1.1.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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 ~amd64-linux ~x86-linux"
-IUSE="doc"
-
-BDEPEND="
- test? (
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
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.2.0.ebuild b/dev-python/rope/rope-1.2.0.ebuild
deleted file mode 100644
index ffa603ad1c4c..000000000000
--- a/dev-python/rope/rope-1.2.0.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=( python3_{8..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"
-IUSE="doc"
-
-RDEPEND="
- dev-python/pytoolconfig[${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.3.0.ebuild b/dev-python/rope/rope-1.3.0.ebuild
deleted file mode 100644
index 67e1183ee5b0..000000000000
--- a/dev-python/rope/rope-1.3.0.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=( python3_{8..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"
-IUSE="doc"
-
-RDEPEND="
- dev-python/pytoolconfig[${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/Manifest b/dev-python/ropemode/Manifest
index 0544969573b9..e42010e410d7 100644
--- a/dev-python/ropemode/Manifest
+++ b/dev-python/ropemode/Manifest
@@ -1,2 +1 @@
-DIST ropemode-0.5.tar.gz 15328 BLAKE2B 051c92a6105c0226c2a2daafbb55485327fcb8777467fc4ff86e1491f9fbbe39cec90100c212ebc64d08d6b1803638597eea0852222f29187b6fe92542a80b3c SHA512 50740982a731045734150171e0c3ae26ccf64bef4699fc7062204c68750b760a373d5b2b0e00b8ba8057d3955059ca1dce2a41cc1878775698184d78f921b76c
DIST ropemode-0.6.1.gh.tar.gz 17062 BLAKE2B fb7dd0d4b4874bcf8ccad5b9b759a46b17cb8a0c6e473b4402db3df0ad8e1cd0f1d42b07822d0bcd4113e8590bb49a7acc735d1bb923b1525e4aa8864a18e10f SHA512 c56a9306ab60a16a18186c28221d297ca1bb350ad64dc02d679e61f575fb88835c091a9fb02754f54cc7af8d0f311313a3435dd7018c912f43417fdfd78035f9
diff --git a/dev-python/ropemode/ropemode-0.5.ebuild b/dev-python/ropemode/ropemode-0.5.ebuild
deleted file mode 100644
index 3c490628e39b..000000000000
--- a/dev-python/ropemode/ropemode-0.5.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A helper for using rope refactoring library in IDEs"
-HOMEPAGE="https://github.com/python-rope/ropemode https://pypi.org/project/ropemode/"
-SRC_URI="https://github.com/python-rope/ropemode/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-python/rope[${PYTHON_USEDEP}]"
-BDEPEND="test? ( ${RDEPEND} )"
-
-python_test() {
- "${PYTHON}" ropemodetest.py -v || die "tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/ropemode/ropemode-0.6.1.ebuild b/dev-python/ropemode/ropemode-0.6.1.ebuild
index e43b13d2d502..4c050d4f2716 100644
--- a/dev-python/ropemode/ropemode-0.6.1.ebuild
+++ b/dev-python/ropemode/ropemode-0.6.1.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_{8..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/rosdistro/Manifest b/dev-python/rosdistro/Manifest
deleted file mode 100644
index 29265cfd33c5..000000000000
--- a/dev-python/rosdistro/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST rosdistro-0.8.3.tar.gz 61665 BLAKE2B 2d5084409d8222cd277a710a06616fa914a35fb6750e32df7bdee6b7b0285df1b15648b8255cda4aa5867dba3611c5ea294db4711ebf2cc38a11648092623aab SHA512 19e248497b4001c522a84a52d768bc9f20a08020c88574d1a8345cf2173dc2aadd8a1480d4fddf2285ac579ee69dd0b6d4b930333cd6a9cbe32708efed2e5747
diff --git a/dev-python/rosdistro/files/yaml.patch b/dev-python/rosdistro/files/yaml.patch
deleted file mode 100644
index 2f81a0218b89..000000000000
--- a/dev-python/rosdistro/files/yaml.patch
+++ /dev/null
@@ -1,252 +0,0 @@
-Index: rosdistro-0.8.0/scripts/rosdistro_convert
-===================================================================
---- rosdistro-0.8.0.orig/scripts/rosdistro_convert
-+++ rosdistro-0.8.0/scripts/rosdistro_convert
-@@ -58,7 +58,7 @@ def get_targets():
- url = BASE_SRC_URL + '/releases/targets.yaml'
- print('Load "%s"' % url)
- yaml_str = load_url(url)
-- data = yaml.load(yaml_str)
-+ data = yaml.safe_load(yaml_str)
- targets = {}
- for d in data:
- targets[d.keys()[0]] = d.values()[0]
-@@ -69,13 +69,13 @@ def convert_release(dist_name, targets):
- url = BASE_SRC_URL + '/releases/%s.yaml' % dist_name
- print('Load "%s"' % url)
- yaml_str = load_url(url)
-- input_ = yaml.load(yaml_str)
-+ input_ = yaml.safe_load(yaml_str)
-
- # improve conversion performance by reusing results from last run
- last_dist = None
- if os.path.exists(dist_name + '/release.yaml'):
- with open(dist_name + '/release.yaml', 'r') as f:
-- last_data = yaml.load(f.read())
-+ last_data = yaml.safe_load(f.read())
- last_dist = ReleaseFile(dist_name, last_data)
-
- output = {}
-@@ -162,7 +162,7 @@ def convert_source(dist_name):
- url = BASE_SRC_URL + '/releases/%s-devel.yaml' % dist_name
- print('Load "%s"' % url)
- yaml_str = load_url(url)
-- input_ = yaml.load(yaml_str)
-+ input_ = yaml.safe_load(yaml_str)
-
- output = {}
- output['type'] = 'source'
-@@ -207,7 +207,7 @@ def convert_doc(dist_name):
- if filename.endswith('.rosinstall'):
- name = os.path.splitext(os.path.basename(filename))[0]
- with open(os.path.join(doc_base, filename)) as f:
-- data = yaml.load(f)
-+ data = yaml.safe_load(f)
- if name.endswith('_depends'):
- rosinstall_depends[name] = data
- else:
-Index: rosdistro-0.8.0/scripts/rosdistro_migrate_to_rep_141
-===================================================================
---- rosdistro-0.8.0.orig/scripts/rosdistro_migrate_to_rep_141
-+++ rosdistro-0.8.0/scripts/rosdistro_migrate_to_rep_141
-@@ -18,7 +18,7 @@ import yaml
-
-
- def migrate(index_yaml):
-- data = yaml.load(open(index_yaml, 'r'))
-+ data = yaml.safe_load(open(index_yaml, 'r'))
- assert data['type'] == 'index'
- assert data['version'] == 1
- data['version'] = 2
-@@ -75,7 +75,7 @@ def generate_repos_url(repos_url, doc_ur
- data['repositories'] = {}
-
- # migrate release stuff
-- release_data = yaml.load(open(release_url, 'r'))
-+ release_data = yaml.safe_load(open(release_url, 'r'))
- assert release_data['type'] == 'release'
- assert release_data['version'] == 1
-
-@@ -100,7 +100,7 @@ def generate_repos_url(repos_url, doc_ur
- data['repositories'][repo_name] = repo_data
-
- # migrate doc stuff
-- doc_data = yaml.load(open(doc_url, 'r'))
-+ doc_data = yaml.safe_load(open(doc_url, 'r'))
- assert doc_data['type'] == 'doc'
- assert doc_data['version'] == 1
-
-@@ -111,7 +111,7 @@ def generate_repos_url(repos_url, doc_ur
- data['repositories'][repo_name]['doc'] = get_dict_parts(doc_repo_data, ['type', 'url', 'version'])
-
- # migrate source stuff
-- source_data = yaml.load(open(source_url, 'r'))
-+ source_data = yaml.safe_load(open(source_url, 'r'))
- assert source_data['type'] == 'source'
- assert source_data['version'] == 1
-
-@@ -137,10 +137,10 @@ def update_cache(index_yaml, distro_name
- if not isinstance(yaml_str, str):
- yaml_str = yaml_str.decode('utf-8')
- f.close()
-- cache_data = yaml.load(yaml_str)
-+ cache_data = yaml.safe_load(yaml_str)
-
- del cache_data['release_file']
-- distribution_data = yaml.load(open(os.path.join(base, distribution_file), 'r'))
-+ distribution_data = yaml.safe_load(open(os.path.join(base, distribution_file), 'r'))
- cache_data['distribution_file'] = distribution_data
-
- cache_data['release_package_xmls'] = cache_data['package_xmls']
-Index: rosdistro-0.8.0/scripts/rosdistro_migrate_to_rep_143
-===================================================================
---- rosdistro-0.8.0.orig/scripts/rosdistro_migrate_to_rep_143
-+++ rosdistro-0.8.0/scripts/rosdistro_migrate_to_rep_143
-@@ -10,7 +10,7 @@ import yaml
-
-
- def migrate(index_yaml):
-- data = yaml.load(open(index_yaml, 'r'))
-+ data = yaml.safe_load(open(index_yaml, 'r'))
- assert data['type'] == 'index'
- assert data['version'] == 2
- data['version'] = 3
-Index: rosdistro-0.8.0/src/rosdistro/develdistro.py
-===================================================================
---- rosdistro-0.8.0.orig/src/rosdistro/develdistro.py
-+++ rosdistro-0.8.0/src/rosdistro/develdistro.py
-@@ -8,7 +8,7 @@ import yaml
- class DevelDistro:
- def __init__(self, name):
- url = urlopen('https://raw.github.com/ros/rosdistro/master/releases/{0}-devel.yaml'.format(name))
-- distro = yaml.load(url.read())['repositories']
-+ distro = yaml.safe_load(url.read())['repositories']
- self.repositories = {}
- for name, data in distro.iteritems():
- repo = DevelDistroRepo(name, data)
-Index: rosdistro-0.8.0/src/rosdistro/legacy.py
-===================================================================
---- rosdistro-0.8.0.orig/src/rosdistro/legacy.py
-+++ rosdistro-0.8.0/src/rosdistro/legacy.py
-@@ -122,7 +122,7 @@ def get_release_cache(index, dist_name):
- f.close()
- else:
- raise NotImplementedError('The url of the cache must end with either ".yaml" or ".yaml.gz"')
-- data = yaml.load(yaml_str)
-+ data = yaml.safe_load(yaml_str)
- return ReleaseCache(dist_name, data)
-
-
-Index: rosdistro-0.8.0/src/rosdistro/rosdistro.py
-===================================================================
---- rosdistro-0.8.0.orig/src/rosdistro/rosdistro.py
-+++ rosdistro-0.8.0/src/rosdistro/rosdistro.py
-@@ -161,7 +161,7 @@ class RosDistroFile:
-
- # parse ros distro file
- distro_url = urlopen('https://raw.github.com/ros/rosdistro/master/releases/%s.yaml' % name)
-- distro = yaml.load(distro_url.read())['repositories']
-+ distro = yaml.safe_load(distro_url.read())['repositories']
-
- # loop over all repo's
- for repo_name, data in distro.iteritems():
-@@ -338,7 +338,7 @@ class RosDependencies:
-
- tar = tarfile.open(fh.name, 'r')
- data = tar.extractfile(self.file_name)
-- deps = yaml.load(data.read())
-+ deps = yaml.safe_load(data.read())
- if not deps \
- or 'cache_version' not in deps \
- or deps['cache_version'] != CACHE_VERSION \
-Index: rosdistro-0.8.0/test/test_distribution.py
-===================================================================
---- rosdistro-0.8.0.orig/test/test_distribution.py
-+++ rosdistro-0.8.0/test/test_distribution.py
-@@ -12,7 +12,7 @@ FILES_DIR = os.path.normpath(os.path.joi
- def test_distribution_file():
- url = 'file://' + FILES_DIR + '/foo/distribution.yaml'
- yaml_str = load_url(url)
-- data = yaml.load(yaml_str)
-+ data = yaml.safe_load(yaml_str)
- dist_file = DistributionFile('foo', data)
- _validate_dist_file(dist_file)
-
-Index: rosdistro-0.8.0/test/test_doc.py
-===================================================================
---- rosdistro-0.8.0.orig/test/test_doc.py
-+++ rosdistro-0.8.0/test/test_doc.py
-@@ -12,7 +12,7 @@ FILES_DIR = os.path.normpath(os.path.joi
- def test_doc_file():
- url = 'file://' + FILES_DIR + '/foo/distribution.yaml'
- yaml_str = load_url(url)
-- data = yaml.load(yaml_str)
-+ data = yaml.safe_load(yaml_str)
- doc_file = DocFile('foo', data)
- _validate_doc_file(doc_file)
-
-Index: rosdistro-0.8.0/test/test_doc_build.py
-===================================================================
---- rosdistro-0.8.0.orig/test/test_doc_build.py
-+++ rosdistro-0.8.0/test/test_doc_build.py
-@@ -12,7 +12,7 @@ FILES_DIR = os.path.normpath(os.path.joi
- def test_doc_build_file():
- url = 'file://' + FILES_DIR + '/foo/doc-build.yaml'
- yaml_str = load_url(url)
-- data = yaml.load(yaml_str)
-+ data = yaml.safe_load(yaml_str)
- DocBuildFile('foo', data)
-
-
-Index: rosdistro-0.8.0/test/test_release.py
-===================================================================
---- rosdistro-0.8.0.orig/test/test_release.py
-+++ rosdistro-0.8.0/test/test_release.py
-@@ -12,7 +12,7 @@ FILES_DIR = os.path.normpath(os.path.joi
- def test_release_file():
- url = 'file://' + FILES_DIR + '/foo/distribution.yaml'
- yaml_str = load_url(url)
-- data = yaml.load(yaml_str)
-+ data = yaml.safe_load(yaml_str)
- rel_file = ReleaseFile('foo', data)
- _validate_rel_file(rel_file)
-
-Index: rosdistro-0.8.0/test/test_release_build.py
-===================================================================
---- rosdistro-0.8.0.orig/test/test_release_build.py
-+++ rosdistro-0.8.0/test/test_release_build.py
-@@ -12,7 +12,7 @@ FILES_DIR = os.path.normpath(os.path.joi
- def test_release_build_file():
- url = 'file://' + FILES_DIR + '/foo/release-build.yaml'
- yaml_str = load_url(url)
-- data = yaml.load(yaml_str)
-+ data = yaml.safe_load(yaml_str)
- ReleaseBuildFile('foo', data)
-
-
-Index: rosdistro-0.8.0/test/test_source.py
-===================================================================
---- rosdistro-0.8.0.orig/test/test_source.py
-+++ rosdistro-0.8.0/test/test_source.py
-@@ -12,7 +12,7 @@ FILES_DIR = os.path.normpath(os.path.joi
- def test_source_file():
- url = 'file://' + FILES_DIR + '/foo/distribution.yaml'
- yaml_str = load_url(url)
-- data = yaml.load(yaml_str)
-+ data = yaml.safe_load(yaml_str)
- src_file = SourceFile('foo', data)
- _validate_src_file(src_file)
-
-Index: rosdistro-0.8.0/test/test_source_build.py
-===================================================================
---- rosdistro-0.8.0.orig/test/test_source_build.py
-+++ rosdistro-0.8.0/test/test_source_build.py
-@@ -12,7 +12,7 @@ FILES_DIR = os.path.normpath(os.path.joi
- def test_source_build_file():
- url = 'file://' + FILES_DIR + '/foo/source-build.yaml'
- yaml_str = load_url(url)
-- data = yaml.load(yaml_str)
-+ data = yaml.safe_load(yaml_str)
- SourceBuildFile('foo', data)
-
-
diff --git a/dev-python/rosdistro/metadata.xml b/dev-python/rosdistro/metadata.xml
deleted file mode 100644
index 99c66b99bc49..000000000000
--- a/dev-python/rosdistro/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>ros@gentoo.org</email>
- <name>Gentoo ROS Project</name>
- </maintainer>
- <upstream>
- <remote-id type="github">ros-infrastructure/rosdistro</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/rosdistro/rosdistro-0.8.3.ebuild b/dev-python/rosdistro/rosdistro-0.8.3.ebuild
deleted file mode 100644
index 87bc969239f4..000000000000
--- a/dev-python/rosdistro/rosdistro-0.8.3.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros-infrastructure/rosdistro"
-fi
-
-inherit ${SCM} distutils-r1
-
-DESCRIPTION="Tools to work with catkinized rosdistro files"
-HOMEPAGE="https://wiki.ros.org/rosdistro"
-if [ "${PV#9999}" != "${PV}" ] ; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/ros-infrastructure/rosdistro/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-
-RDEPEND="
- dev-python/catkin_pkg[${PYTHON_USEDEP}]
- dev-python/rospkg[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-PATCHES=( "${FILESDIR}/yaml.patch" )
-
-distutils_enable_tests nose
-
-src_prepare() {
- # Requires network access
- rm -f test/test_manifest_providers.py
- default
-}
diff --git a/dev-python/rosdistro/rosdistro-9999.ebuild b/dev-python/rosdistro/rosdistro-9999.ebuild
deleted file mode 100644
index 87bc969239f4..000000000000
--- a/dev-python/rosdistro/rosdistro-9999.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros-infrastructure/rosdistro"
-fi
-
-inherit ${SCM} distutils-r1
-
-DESCRIPTION="Tools to work with catkinized rosdistro files"
-HOMEPAGE="https://wiki.ros.org/rosdistro"
-if [ "${PV#9999}" != "${PV}" ] ; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/ros-infrastructure/rosdistro/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-
-RDEPEND="
- dev-python/catkin_pkg[${PYTHON_USEDEP}]
- dev-python/rospkg[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-PATCHES=( "${FILESDIR}/yaml.patch" )
-
-distutils_enable_tests nose
-
-src_prepare() {
- # Requires network access
- rm -f test/test_manifest_providers.py
- default
-}
diff --git a/dev-python/rospkg/Manifest b/dev-python/rospkg/Manifest
deleted file mode 100644
index fb28f34d948c..000000000000
--- a/dev-python/rospkg/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST rospkg-1.4.0.tar.gz 91707 BLAKE2B 02ee199a5f59d1256561cda0e9a6f05e40337a604bfba34d076cd09812fb4cd2f253785e894e9590de86226e8e250d77f50f18c4ffb2857c69095f329c7aa58e SHA512 4e4a40961ed1cfba0746069725378414dc61d3f55e479e7af5efa211419e34e44f5964f8ab41a8c4c9e9b74ae275fd29cf6ffda0eab66b6a0ec7fc7066719797
diff --git a/dev-python/rospkg/files/gentoo.patch b/dev-python/rospkg/files/gentoo.patch
deleted file mode 100644
index 5a9e7738b390..000000000000
--- a/dev-python/rospkg/files/gentoo.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Strip ros_packages/ from paths. ros_packages is only for avoiding to crawl the
-whole /usr but the real one in the path without it.
-
-Index: rospkg-1.1.0/src/rospkg/rospack.py
-===================================================================
---- rospkg-1.1.0.orig/src/rospkg/rospack.py
-+++ rospkg-1.1.0/src/rospkg/rospack.py
-@@ -59,6 +59,7 @@ def list_by_path(manifest_name, path, ca
- path = os.path.abspath(path)
- basename = os.path.basename
- for d, dirs, files in os.walk(path, topdown=True, followlinks=True):
-+ d = d.replace('ros_packages/', '')
- if 'CATKIN_IGNORE' in files:
- del dirs[:]
- continue # leaf
diff --git a/dev-python/rospkg/metadata.xml b/dev-python/rospkg/metadata.xml
deleted file mode 100644
index c01ba35d0853..000000000000
--- a/dev-python/rospkg/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>ros@gentoo.org</email>
- <name>Gentoo ROS Project</name>
- </maintainer>
- <upstream>
- <remote-id type="github">ros-infrastructure/rospkg</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/rospkg/rospkg-1.4.0.ebuild b/dev-python/rospkg/rospkg-1.4.0.ebuild
deleted file mode 100644
index 430b4a135478..000000000000
--- a/dev-python/rospkg/rospkg-1.4.0.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Standalone Python library for the ROS package system"
-HOMEPAGE="https://wiki.ros.org/rospkg"
-
-if [[ ${PV} = *9999 ]]; then
- EGIT_REPO_URI="https://github.com/ros-infrastructure/rospkg"
- inherit git-r3
-
- S="${WORKDIR}/${PN}"
- EGIT_CHECKOUT_DIR="${S}"
-else
- SRC_URI="https://github.com/ros-infrastructure/rospkg/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-
-RDEPEND="
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/catkin_pkg[${PYTHON_USEDEP}]
- dev-python/distro[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-PATCHES=(
- "${FILESDIR}/gentoo.patch"
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/rospkg/rospkg-9999.ebuild b/dev-python/rospkg/rospkg-9999.ebuild
deleted file mode 100644
index 430b4a135478..000000000000
--- a/dev-python/rospkg/rospkg-9999.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Standalone Python library for the ROS package system"
-HOMEPAGE="https://wiki.ros.org/rospkg"
-
-if [[ ${PV} = *9999 ]]; then
- EGIT_REPO_URI="https://github.com/ros-infrastructure/rospkg"
- inherit git-r3
-
- S="${WORKDIR}/${PN}"
- EGIT_CHECKOUT_DIR="${S}"
-else
- SRC_URI="https://github.com/ros-infrastructure/rospkg/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-
-RDEPEND="
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/catkin_pkg[${PYTHON_USEDEP}]
- dev-python/distro[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-PATCHES=(
- "${FILESDIR}/gentoo.patch"
-)
-
-distutils_enable_tests pytest
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 d03227f17e9f..6feb5b4fc0d4 100644
--- a/dev-python/routes/routes-2.5.1-r2.ebuild
+++ b/dev-python/routes/routes-2.5.1-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -23,7 +23,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
RDEPEND="
>=dev-python/repoze-lru-0.3[${PYTHON_USEDEP}]
diff --git a/dev-python/rpds-py/Manifest b/dev-python/rpds-py/Manifest
new file mode 100644
index 000000000000..7558e728f351
--- /dev/null
+++ b/dev-python/rpds-py/Manifest
@@ -0,0 +1,58 @@
+DIST archery-1.0.0.crate 21187 BLAKE2B 5dd323734a238ccc84c186d19fbc1557d8845a7e3b64b53eb952f17e3d44078931e9e2a96fe15373721ee5df4426844a4309172a9ada7a51b4ed71fad1deee55 SHA512 4f955fec7df473279925f195fbb48159ef1e23f9722c416347c84eee22ba9d2a2ecc466a879f43f1f8aed53778467f6d203ca43bfca9dd24f3f7a4cb0cc0eb89
+DIST archery-1.1.0.crate 22240 BLAKE2B bae7ff007419d6aaa738f541610a65f1c2c832a0ef571207b3f55fb6d36adfb64355f0bcdc8c06823166bbdf531d3c52eef042ef720aa2dc51e9e5fa3dc69c7b SHA512 0a5180563fd2cf50e26d470e32f07dc523a94218cfe7d519ea5f79d4fef07d91f2e108b10a786e9f7af0e9c98e4178bf3812d795ddaaa9ffbeb8d9f2b34f7aaa
+DIST archery-1.2.0.crate 22842 BLAKE2B 018539188a76836c35834d948f64e51888083021a90bfd56229e3cf9cba2f12db289a248d2602a71431a04a09c4a9194d11530ec769fa85eaeff239388d00a44 SHA512 82c51b29984ebf611597ef530af2b04aa4046f7e532276612f7ad8485d79cea675f70a7ca60ce65f87114abb72ad6984b2c48c2f257957ba53a05a61537531ea
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST 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 portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST proc-macro2-1.0.66.crate 43575 BLAKE2B 9eb3e816b00fcf625c280ba14ad269f5893d0523473a24de07c21945f6f932fbd08efb3c339b35d903245510e3f065e1478439b024a325f2bb9f97bc7bcbb18d SHA512 85f5a762f9411142e5ac28144bd380f07f0633ed2e44d8a2545be9fb8f42abaca6b5d45631b4be83b8e8b9beca7438bc52f25615c3a410a3a1249474b1aca407
+DIST pyo3-0.19.2.crate 418228 BLAKE2B ee018b33383fada78cd22643aea9231a8c8a2f19d1eb297f40eec9206c5220f322fff4c926d939a93a24ac6d231a207ebb25afcc0709191151c7ed9af7465efa SHA512 58698183e0f2f0507f8f765bf3e90185c933e78d62f0a9be65c4b1ce8eea19a98fe0341abe7c58cafdacb63a012ec417876dccb7be6facc1360fcb22796fcaf9
+DIST pyo3-0.20.2.crate 434326 BLAKE2B 3114fd6f3fb8ae7d1b35c9d2ac5ba6a49c5ac911ee3a5b941c5063263ca7cce47fa4b4f7ec34cbfe3083f3d1303fd7f061639fba833a04fedb9d5098f5784028 SHA512 cc5151a116179157046ec92677e5a72318b4cdb13a7d7e3bb83778739b5758040e5020f667dd83554a66b758581a08f5de05eb38e7b339813cec85e0712e6355
+DIST pyo3-0.20.3.crate 434673 BLAKE2B 1dcb881fd1fe5c76e9b4951f4d95fcd1daa1845c226a4ab1db4283cabe67bda822ff03e3cc85d797fe4665a1614229e7406dea65ec5e99ce4aac96b973a7f55d SHA512 77cce558fa60bbd8d9981ff5e62fdfa9bac94bd650b287fbf14ac93ef1c326c8ae7fda82d744e3582df03cab8adf490e0f2752fabd9ae3de044e7d80984e0350
+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-build-config-0.20.3.crate 30060 BLAKE2B ef122b0b7d840d5362928bac76e1299b333775ec5c49a3bf23a19eccec074917931356bbf719c6d700999941bb6a396948ee7f8761e685c8e9251af07ba0cadc SHA512 70685415bba443787dabb9c61ca3702aefbcacb0705471b496b4f01efe34291735321d91243355b4be9aed8b243e393c09fb65556f1b926ac7f22f64560bd927
+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-ffi-0.20.3.crate 65024 BLAKE2B 33e79a02c7ab85f4767e02a39d8553ddc015c80d13bea674885ad8a18d89bd90f866cc39d81ecbf56270ebe87d29bca48f635c4e73ec99df02ce425f1427cb31 SHA512 3d1ced58e243be7cee4a3ca831dc08a1631fcd511c707dd3bada87d7662807dea2d88393d76e56ff19a6d1c2804d93b5b6b7b5efd36b9c275d66fa1bb1bfc384
+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-0.20.3.crate 7920 BLAKE2B 0510accf51cd83390cbb7b6ba4ec9f4610e3dbb7448d1213994013487ae81bb087df1ba0076a3862e5ecfd172b7846f9439a2d86950a93b016aae565ced4f03b SHA512 454f3c0c054aa131ffe955e4be1af061005b9c81b4d80702827e19b983224c118dfea474da515d5fc2c79cfd3fa21204ed4af2d9e81427123e0a78bd246a23f8
+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 pyo3-macros-backend-0.20.3.crate 49797 BLAKE2B 59c55d482577ce105db3e19a1db794eaab8221d7de01197716b75d5d2602e0f27c86aaae527eae7098eafad311144550bd597efe8cd6560c82dc435021f3428f SHA512 e177ee0d6a538a555fbe9108e3e2c20102622b2c9b9696ae309189e5c4d068efad2132afd4a97d734ebabb4d7146980a26cb68dc05d5eb88f338be2ad0cd651f
+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 rpds_py-0.18.1.tar.gz 25388 BLAKE2B 9f843e7530062c0564a67bae8d8ec15155f0a68cd53b69a52906ba3176d97fc1388d599fddc7bb804a88c77bd5b57fd0f54ed718558355a59100ce3b85b851fe SHA512 3ad144fe399eab121fe6b6ac4fa0a711dc1cc63763705534606d125c66f0e1b68955e53789ec885d217848d1a0c52c8a069905abdcc24d207d16ee65f4050886
+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/rpds-py/rpds-py-0.18.1.ebuild b/dev-python/rpds-py/rpds-py-0.18.1.ebuild
new file mode 100644
index 000000000000..d90515ebf65c
--- /dev/null
+++ b/dev-python/rpds-py/rpds-py-0.18.1.ebuild
@@ -0,0 +1,70 @@
+# 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.2.0
+ autocfg@1.1.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ heck@0.4.1
+ indoc@2.0.4
+ libc@0.2.147
+ lock_api@0.4.10
+ memoffset@0.9.0
+ once_cell@1.18.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.8
+ portable-atomic@1.6.0
+ proc-macro2@1.0.66
+ pyo3-build-config@0.20.3
+ pyo3-ffi@0.20.3
+ pyo3-macros-backend@0.20.3
+ pyo3-macros@0.20.3
+ pyo3@0.20.3
+ quote@1.0.31
+ redox_syscall@0.3.5
+ rpds@1.1.0
+ scopeguard@1.1.0
+ smallvec@1.11.0
+ static_assertions@1.1.0
+ syn@2.0.32
+ target-lexicon@0.12.9
+ triomphe@0.1.9
+ unicode-ident@1.0.11
+ unindent@0.2.3
+ windows-targets@0.48.1
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.48.0
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)"
+HOMEPAGE="
+ https://github.com/crate-py/rpds/
+ https://pypi.org/project/rpds-py/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so"
+
+distutils_enable_tests pytest
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 c17a94b90b44..000000000000
--- a/dev-python/rply/rply-0.7.8.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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 2353a14c03d4..4b05cc402c2c 100644
--- a/dev-python/rpy/Manifest
+++ b/dev-python/rpy/Manifest
@@ -1 +1 @@
-DIST rpy2-3.4.5.tar.gz 194433 BLAKE2B 588c1c270d69b0214e77e586c4c66e78ae8912b6c10a2fe082be64dc75dff574fa0ab6d5bc500b8ff6a199de8540f508467bf0210f1c66b779857dee767262ab SHA512 296056e1c64a4555a1ccef74cfb580674034155a42b8e7c83feb8bb7d7a6d80b8e2f2966df53a6ed8612718ad169755a7994c5635dda1d1c8af1b549a5863935
+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.4.5.ebuild b/dev-python/rpy/rpy-3.4.5.ebuild
deleted file mode 100644
index 2becc8e720c6..000000000000
--- a/dev-python/rpy/rpy-3.4.5.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
-
-PYTHON_COMPAT=( python3_{8..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/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/rpyc/Manifest b/dev-python/rpyc/Manifest
index ae7c6d75df54..3dd555a227cf 100644
--- a/dev-python/rpyc/Manifest
+++ b/dev-python/rpyc/Manifest
@@ -1 +1 @@
-DIST rpyc-5.1.0.tar.gz 1260651 BLAKE2B 4be17e5de4b0475cd63b99bf20e55e3221149f974b9efec638e0387d71815a5a2e4ea782578152690e019e7b8a4ece17405eed6626578a9c9e379d0f4b589008 SHA512 e9783392f423abca6b488dff5be36dae066980004bd221ca5a1c451f0f9dc7e1daf749650106802f9159de619a8d5e2cd6dc90e9a5f49d16f01bbedd59b504cf
+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.1.0.ebuild b/dev-python/rpyc/rpyc-5.1.0.ebuild
deleted file mode 100644
index 1cbb2a594a61..000000000000
--- a/dev-python/rpyc/rpyc-5.1.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
-
-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/${PN}/archive/${PV}.tar.gz -> ${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 )"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- numpy? ( dev-python/numpy[${PYTHON_USEDEP}] dev-python/pandas[${PYTHON_USEDEP}] )
- gdb? ( sys-devel/gdb )"
-
-RDEPEND="dev-python/plumbum[${PYTHON_USEDEP}]
- dev-python/gevent[${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"
-
- 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 ${PYTHON} ${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 bfa2f9d0f1d4..e03d130ba2cd 100644
--- a/dev-python/rq/Manifest
+++ b/dev-python/rq/Manifest
@@ -1,2 +1,2 @@
-DIST rq-1.10.1.tar.gz 599678 BLAKE2B 0673ca0eea69c3f86e50f5609a9c4ed2c2d93d331479510365a744461a5d878e6de6a9683356562754a25760f8ba1d8a65f6d5acfe878e488a70c54dc0bb5b54 SHA512 1a12bd5db27eb3f9303b2f3465c2f22092f7eebfabfc1e6aa7f65de7ea139df3833f9bbdc7061de564b2418608641b3755993bb918efbf93b04df67ca942ea09
-DIST rq-1.11.gh.tar.gz 603425 BLAKE2B f6295e1d7ddbe229001076b8ca04f0f8c323eed988a7963449c2240cbc6168d48539297c16e1ce95f7ec2b8824e6f65fc1e026e76a6093e73c06dd1b847d1c5b SHA512 6e208f4c1c8c55f5847843d7933f17d2fae58e2b24cf1461fddba08894a860f8bcb55aac5c6840f2d9223b88538070c414e2e540e9bc846cef05a26b0ef38ffb
+DIST rq-1.16.1.tar.gz 628089 BLAKE2B 74d57c34f338c8dfe14c921134253618253124fc34b69b78f0526a9c4d08b0d70ed50115658ee275f09b98ca48d7f5334032d81e0e9437184a0d3c4e782645fe SHA512 618f7833724b4bca5509132878d1bb28a25f99299a774709e839ff2b6771e27731330318070f6eb6c4aaced8167aec4ba02a89bf40285a9b16cd04e1935f7428
+DIST rq-1.16.2.tar.gz 629881 BLAKE2B 69ac4ba43ea79ddf998bc9f7cf0fc5fa42acb0315dff663b1c924498ccfabdd37ac6d9613e128b838b9e1f45988632a337fb2fa50f5adcd1b69aa520b5ad33e2 SHA512 1c3162b1acffc9d11292fcbff7177267272a02e752b5839a4004b875bb5bb25af7e61f31041df438ef4e0e47152296c3a2711856c6a36d787848dcb766387d1a
diff --git a/dev-python/rq/rq-1.10.1-r2.ebuild b/dev-python/rq/rq-1.10.1-r2.ebuild
deleted file mode 100644
index 4eb54ea3094c..000000000000
--- a/dev-python/rq/rq-1.10.1-r2.ebuild
+++ /dev/null
@@ -1,58 +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..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="simple, lightweight library for creating and processing background jobs"
-HOMEPAGE="
- https://python-rq.org/
- https://github.com/rq/rq/
-"
-SRC_URI="https://github.com/rq/rq/archive/v${PV}.tar.gz -> ${P}.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/mock[${PYTHON_USEDEP}]
- 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.11.ebuild b/dev-python/rq/rq-1.11.ebuild
deleted file mode 100644
index 6af76a6a12d6..000000000000
--- a/dev-python/rq/rq-1.11.ebuild
+++ /dev/null
@@ -1,57 +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..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="simple, lightweight library for creating and processing background jobs"
-HOMEPAGE="
- https://python-rq.org/
- https://github.com/rq/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/rq/rq-1.16.2.ebuild b/dev-python/rq/rq-1.16.2.ebuild
new file mode 100644
index 000000000000..fbd12ba55bd8
--- /dev/null
+++ b/dev-python/rq/rq-1.16.2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple, lightweight library for creating and processing background jobs"
+HOMEPAGE="
+ https://python-rq.org/
+ https://github.com/rq/rq/
+ https://pypi.org/project/rq/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/click-5.0[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/psutil[${PYTHON_USEDEP}]
+ <dev-python/sentry-sdk-2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+ local redis_test_config="daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1
+ "
+
+ # Spawn Redis itself for testing purposes
+ # NOTE: On sam@'s machine, spawning Redis can hang in the sandbox.
+ # I'm not restricting tests yet because this doesn't happen for anyone else AFAICT.
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ /usr/sbin/redis-server - <<< "${redis_test_config}" || die
+
+ # Run the actual tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/rsa/Manifest b/dev-python/rsa/Manifest
index b59318b0d575..deec8885fcd7 100644
--- a/dev-python/rsa/Manifest
+++ b/dev-python/rsa/Manifest
@@ -1,2 +1 @@
-DIST python-rsa-version-4.8.gh.tar.gz 73634 BLAKE2B 55f25b6747f4f0bad12cbbb75c6e6fdbe6f913265866f11430644b46f9d3a2f615e6ed460d04cc732cfe29f0a4e47b14f2581f29d523b3018272ef976a6a04aa SHA512 d65e5d3c902508f4ea7424099471cd68568b052b9647a87ceb155ecc444ba6a8bd0ebef6fe1bf38720a19193cd494a8b64f744cca5812d1a3bec28f3fa3a9a3d
DIST python-rsa-version-4.9.gh.tar.gz 59238 BLAKE2B 077679131fcd29a0f396ad9db45db9a6891be45afe96a328f66191d747f10d36a3248b0929d5c8270ff32a39d08a9c15d80973ba3af83f7368e792cf003f186a SHA512 0b49c1e5ffb6235ccb9e34c81ad717276c04956e21dd54c08b5cae7dd28ecc115235b2793c8bfc2fbb46a260e574d35cab23729567efeee108b79544793e60ad
diff --git a/dev-python/rsa/files/rsa-4.8-includes.patch b/dev-python/rsa/files/rsa-4.8-includes.patch
deleted file mode 100644
index 181fd638d0de..000000000000
--- a/dev-python/rsa/files/rsa-4.8-includes.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://github.com/sybrenstuvel/python-rsa/commit/3031bf5c6ae64083431e849903b0104d2cfae893
-https://bugs.gentoo.org/859175
-
-From 3031bf5c6ae64083431e849903b0104d2cfae893 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Thu, 27 Jan 2022 10:26:23 +0100
-Subject: [PATCH] Do not include arbitrary files in wheel
-
-Fix the include key to apply to sdist format only. Otherwise, the
-listed files are added to the top directory of wheel as well and end up
-being installed in top-level site-packages directory, e.g.:
-
- * FILES:+usr/lib/python3.9/site-packages/CHANGELOG.md
- * FILES:+usr/lib/python3.9/site-packages/LICENSE
- * FILES:+usr/lib/python3.9/site-packages/README.md
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -26,7 +26,9 @@ classifiers = [
- "Topic :: Security :: Cryptography",
- ]
- include = [
-- "LICENSE", "README.md", "CHANGELOG.md",
-+ { path = "LICENSE", format = "sdist" },
-+ { path = "README.md", format = "sdist" },
-+ { path = "CHANGELOG.md", format = "sdist" },
- ]
-
- [tool.poetry.dependencies]
diff --git a/dev-python/rsa/metadata.xml b/dev-python/rsa/metadata.xml
index 6ed96a28b558..c4ede2ebcb97 100644
--- a/dev-python/rsa/metadata.xml
+++ b/dev-python/rsa/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="cpe">cpe:/a:python:rsa</remote-id>
<remote-id type="pypi">rsa</remote-id>
<remote-id type="github">sybrenstuvel/python-rsa</remote-id>
</upstream>
diff --git a/dev-python/rsa/rsa-4.8-r2.ebuild b/dev-python/rsa/rsa-4.8-r2.ebuild
deleted file mode 100644
index 5a4cdf383088..000000000000
--- a/dev-python/rsa/rsa-4.8-r2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-MY_P=python-rsa-version-${PV}
-DESCRIPTION="Pure-Python RSA implementation"
-HOMEPAGE="
- https://stuvel.eu/rsa/
- https://github.com/sybrenstuvel/python-rsa/
- https://pypi.org/project/rsa/
-"
-SRC_URI="
- https://github.com/sybrenstuvel/python-rsa/archive/version-${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ~ppc64 ~riscv sparc x86"
-
-RDEPEND="
- >=dev-python/pyasn1-0.1.3[${PYTHON_USEDEP}]
-"
-
-PATCHES=( "${FILESDIR}/${P}-includes.patch" )
-
-distutils_enable_tests unittest
-
-src_prepare() {
- rm tests/test_mypy.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/rsa/rsa-4.9.ebuild b/dev-python/rsa/rsa-4.9.ebuild
index a75385ddf3e9..3b6bbd40ffa9 100644
--- a/dev-python/rsa/rsa-4.9.ebuild
+++ b/dev-python/rsa/rsa-4.9.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=poetry
-PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86"
RDEPEND="
>=dev-python/pyasn1-0.1.3[${PYTHON_USEDEP}]
diff --git a/dev-python/rst-linker/Manifest b/dev-python/rst-linker/Manifest
index a733acc18125..9c74c9820e73 100644
--- a/dev-python/rst-linker/Manifest
+++ b/dev-python/rst-linker/Manifest
@@ -1 +1,2 @@
-DIST rst.linker-2.3.0.tar.gz 10146 BLAKE2B a2c1a97a8e734644f5124f89878d770d186c16a44d1eaa98281592754e0a8db4be1e019001448890e712b4e4fea3f4a0f0675009d5285ae94483ef8e8d34ae6f SHA512 a4190c3349c85ee52d17498c99c7879be3f0a98cfc0b5966cc2f6161f9b374d52a64be7035691256d96d4c2ebb2272d5d10802e5e716efedf78859e418e561e0
+DIST rst_linker-2.5.0.tar.gz 11548 BLAKE2B eafa6a0076dd51d05779710cb3b41f4b6e5109b25ea71537bc4f4e75d8c0fe4c9329321833e5a9253bb4a51fab706488a78ece4679a4c52cd7fc0295cc29e76f SHA512 7aaa55ccbe34767f8c0e085703872f4112c5db142e81f7024fd0653fa74fcf0b9d15fec06998268e8161dc70dac6935ba7b380992a132ecaa2548ed0db3b5a13
+DIST rst_linker-2.6.0.tar.gz 11308 BLAKE2B 216c3d79b2de02fc53f1548127d7dc08d85d065e103659168b6e4b9521d75972f1ff28c78b45f59a9be09c16e66897c2506b0e48d37b3a08b114060999a76d09 SHA512 08977a88e53ebdb82f0e69923430e08a9ad643c184ad76154a7d5840c8193e71e53fd1b7fb97f6d74f65d55e3d45f5c0c262a60a1d030788d2c067f71918aa8e
diff --git a/dev-python/rst-linker/rst-linker-2.3.0.ebuild b/dev-python/rst-linker/rst-linker-2.3.0.ebuild
deleted file mode 100644
index 80cbcd25e33b..000000000000
--- a/dev-python/rst-linker/rst-linker-2.3.0.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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-py[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/rst-linker/rst-linker-2.5.0.ebuild b/dev-python/rst-linker/rst-linker-2.5.0.ebuild
new file mode 100644
index 000000000000..052a49409ebd
--- /dev/null
+++ b/dev-python/rst-linker/rst-linker-2.5.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx plugin to add links and timestamps to the changelog"
+HOMEPAGE="
+ https://github.com/jaraco/rst.linker/
+ https://pypi.org/project/rst.linker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
+ test? (
+ dev-python/path[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/rst-linker/rst-linker-2.6.0.ebuild b/dev-python/rst-linker/rst-linker-2.6.0.ebuild
new file mode 100644
index 000000000000..669e22e071d7
--- /dev/null
+++ b/dev-python/rst-linker/rst-linker-2.6.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx plugin to add links and timestamps to the changelog"
+HOMEPAGE="
+ https://github.com/jaraco/rst.linker/
+ https://pypi.org/project/rst.linker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/jaraco-context[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-vcs-2.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
+ test? (
+ dev-python/path[${PYTHON_USEDEP}]
+ dev-python/pytest-subprocess[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/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 50a07f8ac85c..000000000000
--- a/dev-python/rtimulib/rtimulib-7.2.1-r2.ebuild
+++ /dev/null
@@ -1,21 +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_{8..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 853f1e8ad1a3..000000000000
--- a/dev-python/rtslib-fb/rtslib-fb-2.1.74.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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="amd64 ~arm ~arm64 ~mips 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 7ae8e805cc2a..000000000000
--- a/dev-python/ruamel-std-pathlib/ruamel-std-pathlib-0.9.2-r2.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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 c8a4a6df7726..7ca6bb128809 100644
--- a/dev-python/ruamel-yaml-clib/Manifest
+++ b/dev-python/ruamel-yaml-clib/Manifest
@@ -1 +1 @@
-DIST ruamel.yaml.clib-0.2.6.tar.xz 140244 BLAKE2B 8bf4792e8145d8d6220ee1669ee8d87434be8fe419a41671ca4fc9432e219b22c5305ab3fe5388cbe982e2881218c29f45ddbd54e566faf8ea839ba0941d08f4 SHA512 8fb8ca1acf440791f0af96c0f3a9489a4d9399ee51fdfaedc446320852f569bf5bbf71a92b7a1372d0b3302dedfec89531c1726c03b8790997414feb11962731
+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_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.6-r2.ebuild b/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.6-r2.ebuild
deleted file mode 100644
index c039af067336..000000000000
--- a/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.6-r2.ebuild
+++ /dev/null
@@ -1,43 +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_{8..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}]"
-
-src_configure() {
- local cython_tmp_dir="${T}"/ruamel.yaml.clib
- local base_name="_ruamel_yaml" || die
-
- # Needed to recythonise for Python 3.11
- # Can likely drop after next release (after 0.2.6)
- rm ${base_name}.c || die
-
- mkdir "${cython_tmp_dir}" || die
- mv ${base_name}.pyx "${cython_tmp_dir}/" || die
- cythonize -3 "${cython_tmp_dir}"/${base_name}.pyx || die
- mv ${cython_tmp_dir}/* . || die
- rmdir ${cython_tmp_dir} || 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..fd62c9fd61b4
--- /dev/null
+++ b/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.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_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="https://downloads.sourceforge.net/ruamel-dl-tagged-releases/${MY_P}.tar.xz"
+# workaround https://bugs.gentoo.org/898716
+S=${WORKDIR}/ruamel_yaml_clib
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~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 3e7e89d97b20..000000000000
--- a/dev-python/ruamel-yaml/ruamel-yaml-0.17.21-r2.ebuild
+++ /dev/null
@@ -1,58 +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_{8..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..0b0839c508c1
--- /dev/null
+++ b/dev-python/ruamel-yaml/ruamel-yaml-0.17.40.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="https://downloads.sourceforge.net/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..6c7d0b943af2
--- /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="https://downloads.sourceforge.net/ruamel-dl-tagged-releases/${MY_P}.tar.xz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/ruamel-yaml-clib[${PYTHON_USEDEP}]
+ !dev-python/namespace-ruamel
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ _test/test_deprecation.py::test_collections_deprecation
+ )
+ local EPYTEST_IGNORE=(
+ # Old PyYAML tests from lib/ require special set-up and are
+ # invoked indirectly via test_z_olddata, tell pytest itself
+ # to leave the subdir alone.
+ _test/lib/
+ )
+
+ # this is needed to keep the tests working while
+ # dev-python/namespace-ruamel is still installed
+ distutils_write_namespace ruamel
+ epytest
+}
diff --git a/dev-python/rustworkx/Manifest b/dev-python/rustworkx/Manifest
new file mode 100644
index 000000000000..85e38c07b65c
--- /dev/null
+++ b/dev-python/rustworkx/Manifest
@@ -0,0 +1,89 @@
+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-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.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.4.crate 29564 BLAKE2B 8ae65e8f2d87de96ec0a3d0e6d580584aff8cfbd0ebe56272dcf7cc5eea1b545fb9d597cbe4b1e25562b99a217a03ceef60e6cbda47c1e8cbd29b38d16cbe428 SHA512 632f9486df426d9254d2b6484c560b31e4ac0270de85878b9c4d14339a05ab318a90019f0724d2fac4d8496b03680650f899cedb1741c58eb7536cf3732db600
+DIST num-integer-0.1.45.crate 22529 BLAKE2B 4da3e801f71ba8f92c692497e200bfc8d32183c94eaad91260683b09f4697c03175fec7cff5a9ff3782d5db5d514d74f22f7a61a102c0f0d2e67a7a4b4f29222 SHA512 731bdc09c3af7f9d8b171041f2957aa60facef93b06886000d8ba60d410aabbbee358d700bf31b2588b2e077464f290f24a0b712df7bb7f12972675b6c9bd735
+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.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.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.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/metadata.xml b/dev-python/rustworkx/metadata.xml
new file mode 100644
index 000000000000..5025a8788f35
--- /dev/null
+++ b/dev-python/rustworkx/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>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>
+ rustworkx is a general purpose graph library for python3 written in Rust to take advantage of the performance and safety that Rust provides. It was built as a replacement for qiskit's previous (and current) networkx usage (hence the name) but is designed to provide a high performance general purpose graph library for any python application. The project was originally started to build a faster directed graph to use as the underlying data structure for the DAG at the center of qiskit-terra's transpiler, but it has since grown to cover all the graph usage in Qiskit and other applications.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">Qiskit/rustworkx</remote-id>
+ <remote-id type="pypi">rustworkx</remote-id>
+ </upstream>
+</pkgmetadata>
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.ebuild b/dev-python/s3transfer/s3transfer-0.6.0.ebuild
deleted file mode 100644
index abfa397eeb38..000000000000
--- a/dev-python/s3transfer/s3transfer-0.6.0.ebuild
+++ /dev/null
@@ -1,44 +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_{8..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 26a0a7656ff2..000000000000
--- a/dev-python/sabyenc/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST sabyenc-4.0.2.tar.gz 19579235 BLAKE2B 26af61a979f94b954a6fb7fa425ca07a8d757fb16c9d434e9a1e0019d84d156b527e9309cc65113fef64dd3f2afb92b46619dc9506327273f2ba7822337e9ccf SHA512 88e8b47b1438ca55b51dbf8a407c33ec335f0604abf8a3dcbc45853b6dadadf9932d97cf3f0adabd71a9405e2deaeff2777483d9ea692c9d3cbab99dfbfbc901
-DIST sabyenc-5.4.2.gh.tar.gz 19774424 BLAKE2B fbb954435236eb1794611a8e5852534b0f7dbd79806e8a9ca1bb57274df7cc89a6a26aa92c89c596e0c2857d4bfbd4e4c34f1d529cb5d2464a669d6d15a3f392 SHA512 a07a57e6b3416e147fcef4f27e52fea4b3a522ebb722b4d223469b63e9d08f42689950d86c544a41bfe81bba934514a43094c13b98aa585167cae69a5aa1f405
diff --git a/dev-python/sabyenc/files/sabyenc-4.0.2-fix-segfault.patch b/dev-python/sabyenc/files/sabyenc-4.0.2-fix-segfault.patch
deleted file mode 100644
index 1a80d5f13da8..000000000000
--- a/dev-python/sabyenc/files/sabyenc-4.0.2-fix-segfault.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From: Arthur Zamarin <arthurzam@gmail.com>
-Date: Sat, 18 Sep 2021 21:07:45 +0300
-Subject: Fix Segfault during testing
-
-decode_usenet_chunks might receive it argument as bytesarray, or
-as bytes object, but the C code expects only bytesarray.
-Add code, to apply variant for each case, and fail using assert when
-both don't apply.
-
-Signed-off-by: Arthur Zamarin <arthurzam@gmail.com>
-
---- a/src/sabyenc3.c
-+++ b/src/sabyenc3.c
-@@ -593,7 +593,13 @@ PyObject* decode_usenet_chunks(PyObject* self, PyObject* args) {
- num_bytes_reserved = 0;
- lp_max = (int)PyList_Size(Py_input_list);
- for(lp = 0; lp < lp_max; lp++) {
-- num_bytes_reserved += (int)PyByteArray_GET_SIZE(PyList_GetItem(Py_input_list, lp));
-+ PyObject *temp = PyList_GetItem(Py_input_list, lp);
-+ if (PyByteArray_Check(temp))
-+ num_bytes_reserved += (int)PyByteArray_GET_SIZE(temp);
-+ else if (PyBytes_Check(temp))
-+ num_bytes_reserved += (int)PyBytes_GET_SIZE(temp);
-+ else
-+ assert(PyByteArray_Check(temp) || PyBytes_Check(temp));
- }
- }
-
diff --git a/dev-python/sabyenc/metadata.xml b/dev-python/sabyenc/metadata.xml
deleted file mode 100644
index ff36593f0fed..000000000000
--- a/dev-python/sabyenc/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-needed -->
- <upstream>
- <remote-id type="pypi">sabyenc</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/sabyenc/sabyenc-4.0.2.ebuild b/dev-python/sabyenc/sabyenc-4.0.2.ebuild
deleted file mode 100644
index d9536017b50b..000000000000
--- a/dev-python/sabyenc/sabyenc-4.0.2.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-BDEPEND="test? (
- dev-python/chardet[${PYTHON_USEDEP}]
- )"
-
-DOCS=( CHANGES.md README.md doc/yenc-draft.1.3.txt )
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-segfault.patch"
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/sabyenc/sabyenc-5.4.2.ebuild b/dev-python/sabyenc/sabyenc-5.4.2.ebuild
deleted file mode 100644
index 74f8328f2a0f..000000000000
--- a/dev-python/sabyenc/sabyenc-5.4.2.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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 017e909afcc9..24f01fbebc35 100644
--- a/dev-python/sarge/sarge-0.1.7_p1.ebuild
+++ b/dev-python/sarge/sarge-0.1.7_p1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..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.ebuild b/dev-python/sarif_om/sarif_om-1.0.4.ebuild
deleted file mode 100644
index 6841088b37fa..000000000000
--- a/dev-python/sarif_om/sarif_om-1.0.4.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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/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-r2.ebuild b/dev-python/scandir/scandir-1.10.0-r2.ebuild
deleted file mode 100644
index a1eb3af2ae21..000000000000
--- a/dev-python/scandir/scandir-1.10.0-r2.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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"
-
-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..4fbd6daf3cef
--- /dev/null
+++ b/dev-python/schema/Manifest
@@ -0,0 +1,2 @@
+DIST schema-0.7.5.tar.gz 48173 BLAKE2B 3d112ee1960c79a64ec2980cbd70403b6dbcafdeeb4f5826c427426aafd602691fd5ceab408edf88e50854a7d66306a73a4729c056a1ca7d1eaa4d0c725901a9 SHA512 10184a4d2a30600d5c6fe9fcde33925137825e811af691c40fee841f88e4a5106ef7e79be2a0ddddd0e0b74892bf889c3d2eff934a36dbca269cd7bf22748d39
+DIST schema-0.7.7.tar.gz 44245 BLAKE2B c984f5948b5f87eafe45cee42b927a61ea7b3fc1877474f189abf448f95be37d299720d1fe72b46d4a24760758c39818c966cef581df48fbf365b9754bcf7167 SHA512 9c811f5c4e87a123a5a1401b6e4b1ff5319f044458fa2b280740dbe78e76661ae868643f0c8a4b738161be6d8ad575401841a824df6664825a545aa0339815c2
diff --git a/dev-python/schema/metadata.xml b/dev-python/schema/metadata.xml
new file mode 100644
index 000000000000..44897a815387
--- /dev/null
+++ b/dev-python/schema/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">keleshev/schema</remote-id>
+ <remote-id type="pypi">schema</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/schema/schema-0.7.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/schema/schema-0.7.7.ebuild b/dev-python/schema/schema-0.7.7.ebuild
new file mode 100644
index 000000000000..61220e35ea2b
--- /dev/null
+++ b/dev-python/schema/schema-0.7.7.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..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
diff --git a/dev-python/scikit-build-core/Manifest b/dev-python/scikit-build-core/Manifest
new file mode 100644
index 000000000000..1aebda6cdcc5
--- /dev/null
+++ b/dev-python/scikit-build-core/Manifest
@@ -0,0 +1,2 @@
+DIST scikit_build_core-0.9.2.tar.gz 225078 BLAKE2B 8d50e82754013f23a2216d269757fce5b56c5fa99e2f3b93e3bb65e50730799f2874d0eaa71681e248eeb30c443cde03a5bd447732b764852f2069ed18ea98d3 SHA512 c94cb9b109c994bedaba0e82de15caaf4fc4ae5c08375324aeb60f8d05911cc958a70c0430d35b23ad9792d39ab0312ff607b0587cd55eb4fe68ae4f28eed1d9
+DIST scikit_build_core-0.9.3.tar.gz 226732 BLAKE2B b15985eb4bf9cd44e75cf3ea1db4a1541dbac2310927608ab1ec31d5015ef4433290894755230ff5d691d69d90bce1ac92966209e46091d7f4d76099f33cca0a SHA512 e25adbcd2037471046376d3877d7a4a5bea42f3f9c13beaec646ed6e7a254138d0fce050309f634b61ec75c83ad76e34ebfa0bfa403ae394c25870cf15e0ff7a
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.9.2-r1.ebuild b/dev-python/scikit-build-core/scikit-build-core-0.9.2-r1.ebuild
new file mode 100644
index 000000000000..5241d6b57db5
--- /dev/null
+++ b/dev-python/scikit-build-core/scikit-build-core-0.9.2-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..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="
+ app-alternatives/ninja
+ dev-build/cmake
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-metadata-0.5[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ >=dev-python/cattrs-22.2.0[${PYTHON_USEDEP}]
+ dev-python/fastjsonschema[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ >=dev-python/pytest-subprocess-1.5[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local _EPYTEST_DESELECT=(
+ # TODO / we don't package validate_pyproject anyway
+ tests/test_schema.py::test_compare_schemas
+ # setuptools now respects PEP 625
+ tests/test_setuptools_pep517.py::test_pep517_sdist
+ )
+ local EPYTEST_IGNORE=(
+ # needs unpackaged validate_pyproject
+ tests/test_schema.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p subprocess -m "not isolated and not network"
+}
diff --git a/dev-python/scikit-build-core/scikit-build-core-0.9.3.ebuild b/dev-python/scikit-build-core/scikit-build-core-0.9.3.ebuild
new file mode 100644
index 000000000000..729919e913ae
--- /dev/null
+++ b/dev-python/scikit-build-core/scikit-build-core-0.9.3.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..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 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# we always want [pyproject] extra
+RDEPEND="
+ app-alternatives/ninja
+ dev-build/cmake
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-metadata-0.5[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ >=dev-python/cattrs-22.2.0[${PYTHON_USEDEP}]
+ dev-python/fastjsonschema[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ >=dev-python/pytest-subprocess-1.5[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local _EPYTEST_DESELECT=(
+ # TODO / we don't package validate_pyproject anyway
+ tests/test_schema.py::test_compare_schemas
+ # setuptools now respects PEP 625
+ tests/test_setuptools_pep517.py::test_pep517_sdist
+ )
+ local EPYTEST_IGNORE=(
+ # needs unpackaged validate_pyproject
+ tests/test_schema.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p subprocess -m "not isolated and not network"
+}
diff --git a/dev-python/scikit-build/Manifest b/dev-python/scikit-build/Manifest
index 68d0041c10b9..5fba8e6d3153 100644
--- a/dev-python/scikit-build/Manifest
+++ b/dev-python/scikit-build/Manifest
@@ -1 +1 @@
-DIST scikit-build-0.15.0.tar.gz 268691 BLAKE2B f4cb51ee2367bd4ba6f6c1cada15e1e6be731998a914b28edcf703c5a92c409b78b17dddf04a29b24d40f249ffa06eb9d05d36dc30c0e62ee001519c3ca03f58 SHA512 4d9b1d06d48708ff4f2f5fa8c8f264c7ca85946d5842a1254930d9449d6b6386c17392473c3c85147f6573f7256c94c927962cb56fa23a90a5b442de8de8d727
+DIST scikit_build-0.17.6.tar.gz 272208 BLAKE2B 9e3f908041eca89182f798c54a1a248934dc026816f7cd041a8debc97be27096942dda42a0ae63e87b9337304a478d6f520edcd5ea7a45aae6a195d1f769eed2 SHA512 92b97146f40d8222bd8415ef8439497d5075b72e5bafc40aba0a3e2911d269a118f2f7d41f468f7add8949f550b1fd7d5a9113d249e42dfac431108182ca9198
diff --git a/dev-python/scikit-build/metadata.xml b/dev-python/scikit-build/metadata.xml
index 9940475bdf96..209bc13c9fd1 100644
--- a/dev-python/scikit-build/metadata.xml
+++ b/dev-python/scikit-build/metadata.xml
@@ -9,6 +9,7 @@
<email>python@gentoo.org</email>
</maintainer>
<upstream>
+ <remote-id type="github">scikit-build/scikit-build</remote-id>
<remote-id type="pypi">scikit-build</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/scikit-build/scikit-build-0.15.0.ebuild b/dev-python/scikit-build/scikit-build-0.15.0.ebuild
deleted file mode 100644
index 665b0da7c342..000000000000
--- a/dev-python/scikit-build/scikit-build-0.15.0.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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/path-py[${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
- # no pytest-cov
- sed -i -e '/addopts =/d' setup.cfg || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local 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
- )
- epytest ${deselect[@]/#/--deselect }
-}
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..4b094ea850c7
--- /dev/null
+++ b/dev-python/scikit-image/Manifest
@@ -0,0 +1,3 @@
+DIST scikit-image-data-15735b54e85c02427f07c71e6456723495034805.tar.bz2 143900901 BLAKE2B c1352e76337250fe1a9d6e07f08b6c9b1e0aed922ab8e0a3a4a1ea175f593b3375522e59550d30a22d392c34fef26d638c007c2af3d991887e02e7c68e56ebbb SHA512 d113dd258b35be710d841f9900cfbfe7103d1190b042489de88dd504b56277edac9a98fed5517e57725c5292fe26528267a06ff313bf6500b669d872c4481146
+DIST scikit_image-0.23.1.tar.gz 22676819 BLAKE2B 2d02bab4f8d6217c842f428a6758d467393a73a05ac741a49cd27fa6ee48335cf8fed4cc104296388d0e23c61ac3603f72d7bab44986c0d3d4073da383f89726 SHA512 7450387c3adcac15148c3ae4f43fd7da97ceabf3522302b7f3ab4cd02e5a9ec2cd9623f29e4aec3bb47668a231e0900724804619bb91aaaf97283d29c34392e6
+DIST scikit_image-0.23.2.tar.gz 22678261 BLAKE2B 11c44676e9f7bce7735e85d8416175a55b1808807b99597d60495dc2b0c961a05a514b5ec456665a25d31cc09a20e430c331cfd5bc10afa01ca4070722aa03f8 SHA512 8abf6c2bb92a75524d254265822cdc49db636a482efe0d6459fc113f6898bc5c19ad58905a5020a9c4262f55993ad2e8d13810023c62d06c5ee9854666f5337f
diff --git a/dev-python/scikit-image/metadata.xml b/dev-python/scikit-image/metadata.xml
new file mode 100644
index 000000000000..132691d57cb8
--- /dev/null
+++ b/dev-python/scikit-image/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ This SciKit (toolkit for SciPy) includes useful image processing
+ algorithms for use with Python and NumPy. While SciPy’s ndimage
+ provides low-level manipulation, scikits.image centres around
+ algorithms and applications.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">scikit-image</remote-id>
+ <remote-id type="github">scikit-image/scikit-image</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/scikit-image/scikit-image-0.23.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-image/scikit-image-0.23.2.ebuild b/dev-python/scikit-image/scikit-image-0.23.2.ebuild
new file mode 100644
index 000000000000..cb08918d42e9
--- /dev/null
+++ b/dev-python/scikit-image/scikit-image-0.23.2.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..d71d11216c6d
--- /dev/null
+++ b/dev-python/scikit-learn/Manifest
@@ -0,0 +1 @@
+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.4.2.ebuild b/dev-python/scikit-learn/scikit-learn-1.4.2.ebuild
new file mode 100644
index 000000000000..eef7795138fe
--- /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 2dcd72e9f049..bb6e121a9ffd 100644
--- a/dev-python/scipy/Manifest
+++ b/dev-python/scipy/Manifest
@@ -1,4 +1,8 @@
-DIST scipy-1.8.1.tar.gz 38196215 BLAKE2B 180ae646adba2031a4bf99cd4feefe652b8e340110b3b2872e61aa1083054aadf369c7e3b3e3fd8fb71fcd831c95841d2dadd1c71e35e5f7d95800e5551173f0 SHA512 f6fc71c209991fe82baa4b10d8ade0deb1057f6f5942a91dfb7ae45f3eb78a4535efa2861badf5e2d37239fa99dbd99de760aa7e4854b95991ade0263004e7ea
-DIST scipy-1.9.0.tar.gz 42016757 BLAKE2B ca25b3ad44091230c5ecdfa832b382a1f5449565aa460b169a886505e7583399d316fe48f420d45b9993e6522d46fbbd6405e08fcfb8dc02ed5febb2e09749e7 SHA512 03d38f3298e2ca2dcc376acb09593f47a007f2b166508b91cd6f3e3cc417fa3579084aaa806365afee8679b473340b0eba86b36def957da45be404c4b6607675
-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 727696087804..65faa04f1fe2 100644
--- a/dev-python/scipy/metadata.xml
+++ b/dev-python/scipy/metadata.xml
@@ -17,10 +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>
- <flag name="sparse">Adds support for sparse solving with <pkg>sci-libs/umfpack</pkg></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.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.8.1.ebuild b/dev-python/scipy/scipy-1.8.1.ebuild
deleted file mode 100644
index df38fbcc3ec2..000000000000
--- a/dev-python/scipy/scipy-1.8.1.ebuild
+++ /dev/null
@@ -1,189 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_IN_SOURCE_BUILD=1
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit fortran-2 distutils-r1 flag-o-matic multiprocessing toolchain-funcs
-
-# Upstream is often behind with doc updates
-DOC_PV=1.8.1
-DESCRIPTION="Scientific algorithms library for Python"
-HOMEPAGE="
- https://scipy.org/
- https://github.com/scipy/scipy/
- https://pypi.org/project/scipy/
-"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${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
- )"
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 -hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="doc +pythran sparse"
-
-DEPEND="
- >=dev-python/numpy-1.17.3[lapack,${PYTHON_USEDEP}]
- sci-libs/arpack:0=
- virtual/cblas
- virtual/lapack
- sparse? ( sci-libs/umfpack:0= )"
-RDEPEND="${DEPEND}
- dev-python/pillow[${PYTHON_USEDEP}]"
-BDEPEND="
- dev-lang/swig
- >=dev-python/cython-0.29.18[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- pythran? ( dev-python/pythran[${PYTHON_USEDEP}] )
- test? (
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${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
-}
-
-pc_incdir() {
- $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
- sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
-}
-
-pc_libdir() {
- $(tc-getPKG_CONFIG) --libs-only-L $@ | \
- sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
-}
-
-pc_libs() {
- $(tc-getPKG_CONFIG) --libs-only-l $@ | \
- sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
- -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
- | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
-}
-
-python_prepare_all() {
- # scipy automatically detects libraries by default
- export {FFTW,FFTW3,UMFPACK}=None
- use sparse && unset UMFPACK
-
- # the missing symbols are in -lpythonX.Y, but since the version can
- # differ, we just introduce the same scaryness as on Linux/ELF
- [[ ${CHOST} == *-darwin* ]] \
- && append-ldflags -bundle "-undefined dynamic_lookup" \
- || append-ldflags -shared
-
- [[ -z ${FC} ]] && export FC="$(tc-getFC)"
- # hack to force F77 to be FC until bug #278772 is fixed
- [[ -z ${F77} ]] && export F77="$(tc-getFC)"
- export F90="${FC}"
- export SCIPY_FCONFIG="config_fc --noopt --noarch"
- append-fflags -fPIC
-
- local libdir="${EPREFIX}"/usr/$(get_libdir)
- cat >> site.cfg <<-EOF || die
- [blas]
- include_dirs = $(pc_incdir cblas)
- library_dirs = $(pc_libdir cblas blas):${libdir}
- blas_libs = $(pc_libs cblas blas)
- [lapack]
- library_dirs = $(pc_libdir lapack):${libdir}
- lapack_libs = $(pc_libs lapack)
- EOF
- cat >> setup.cfg <<-EOF || die
- [options]
- zip_safe = False
- EOF
-
- # TODO
- sed -e "s:== 'levy_stable':in ('levy_stable', 'crystalball', 'ncf'):" \
- -i scipy/stats/tests/test_continuous_basic.py || die
-
- # Skip known-failing test. Broken on all versions in Gentoo for years.
- # bug #743295
- sed -e 's:test_bisplev_integer_overflow:_&:' \
- -i scipy/interpolate/tests/test_fitpack.py || die
-
- # Skip a few 32-bit related failures
- if use x86 ; then
- # TODO: Tidy this up and switch to epytest
- sed -i -e 's:test_nd_axis_m1:_&:' \
- -e 's:test_nd_axis_0:_&:' \
- -e 's:test_maxiter_worsening:_&:' \
- -e 's:test_pdist_jensenshannon_iris:_&:' \
- -e 's:test_align_vectors_single_vector:_&:' \
- scipy/signal/tests/test_spectral.py \
- scipy/spatial/tests/test_distance.py \
- scipy/spatial/transform/tests/test_rotation.py || die
- fi
-
- if has_version ">=sci-libs/lapack-3.10"; then
- sed -e 's:test_sort(:_&:' \
- -i scipy/linalg/tests/test_decomp.py || die
- sed -e 's:test_solve_discrete_are:_&:' \
- -i scipy/linalg/tests/test_solvers.py || die
- fi
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- export SCIPY_USE_PYTHRAN=$(usex pythran 1 0)
-
- # bug 721860
- test-flag-FC -fallow-argument-mismatch &&
- append-fflags -fallow-argument-mismatch
-}
-
-python_compile() {
- # FIXME: parallel python building fails, bug #614464
- export ORIGINAL_MAKEOPTS="${MAKEOPTS}"
- export MAKEOPTS=-j1
-
- ${EPYTHON} tools/cythonize.py || die
- distutils-r1_python_compile \
- ${SCIPY_FCONFIG}
-}
-
-python_test() {
- # fails with bdist_egg. should it be fixed in distutils-r1 eclass?
- distutils_install_for_testing ${SCIPY_FCONFIG}
- cd "${TEST_DIR}/lib" || die "no ${TEST_DIR} available"
-
- # Let's try using pytest again with xdist to speed things up.
- # Note that using pytest is required to avoid dying b/c of a
- # deprecation warning with distutils in Python 3.01.
- epytest -n "$(makeopts_jobs "${ORIGINAL_MAKEOPTS}" "$(get_nproc)")"
-}
-
-python_install_all() {
- use doc && \
- local DOCS=( "${DISTDIR}"/${PN}-ref-${DOC_PV}.pdf ) \
- local HTML_DOCS=( "${WORKDIR}"/html/. )
- distutils-r1_python_install_all
-}
-
-python_install() {
- distutils-r1_python_install ${SCIPY_FCONFIG}
- python_optimize
-}
-
-pkg_postinst() {
- elog "You might want to set the variable SCIPY_PIL_IMAGE_VIEWER"
- elog "to your prefered image viewer. Example:"
- elog " echo \"export SCIPY_PIL_IMAGE_VIEWER=display\" >> ~/.bashrc"
-}
diff --git a/dev-python/scipy/scipy-1.9.0-r1.ebuild b/dev-python/scipy/scipy-1.9.0-r1.ebuild
deleted file mode 100644
index 3968a54a22ab..000000000000
--- a/dev-python/scipy/scipy-1.9.0-r1.ebuild
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{8..10} )
-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 ~arm64 -hppa ~ppc64 ~riscv"
- fi
-fi
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-IUSE="doc"
-
-# 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}]
-"
-# TODO: restore pythran optionality?
-BDEPEND="
- dev-lang/swig
- >=dev-python/cython-0.29.18[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- dev-python/pythran[${PYTHON_USEDEP}]
- >=dev-util/meson-0.62.2
- dev-util/patchelf
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- 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
-}
-
-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.9999.ebuild b/dev-python/scipy/scipy-1.9.9999.ebuild
deleted file mode 100644
index 47dd4358d2c0..000000000000
--- a/dev-python/scipy/scipy-1.9.9999.ebuild
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{8..10} )
-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 -hppa ~ppc64 ~riscv"
- fi
-fi
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-IUSE="doc"
-
-# 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}]
-"
-# TODO: restore pythran optionality?
-BDEPEND="
- dev-lang/swig
- >=dev-python/cython-0.29.18[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- dev-python/pythran[${PYTHON_USEDEP}]
- >=dev-util/meson-0.62.2
- dev-util/patchelf
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- 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
-}
-
-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 fc115d20989f..0475fb845bdc 100644
--- a/dev-python/scripttest/scripttest-1.3.0-r2.ebuild
+++ b/dev-python/scripttest/scripttest-1.3.0-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} 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 cb9ef602fcd0..000000000000
--- a/dev-python/scrypt/scrypt-0.8.20.ebuild
+++ /dev/null
@@ -1,25 +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_{8..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 bd3ce794d459..9ea5f0535596 100644
--- a/dev-python/seaborn/Manifest
+++ b/dev-python/seaborn/Manifest
@@ -1 +1 @@
-DIST seaborn-0.11.2.tar.gz 268839 BLAKE2B b1ba3a76431843921f01f714e601ebe7ed87a8c4136acb65a7cdb89059d67cb136484cb968efd713a5260caa552673efd5d06898a69624b36311fd3908f00179 SHA512 f08fe82b4ecca2b140a953c89bb7f811255d00ec819225809bb224aadde161ddabdeaf5cab53e3558bb84334cee828baafe0ee5efe465e80875a0513fb1ab9ac
+DIST seaborn-0.13.2.tar.gz 1457696 BLAKE2B 82caa82da487cb880318313e2af270ac409ecde8f0b26f7c7ba39b1763f9f247fa9a4f7c90f989467004e84c41b7eeb9561d1a59e0a23d4d6994ae63e71c1894 SHA512 5a2f11865d0f5b8a9281f0dac1eaf4cd205828293b3e0a2f7f1c24e7d20c989582ecc7e40c32a0fab6736de1f7e126293d9ae5c270e9aa4e93704e86b6b51ef6
diff --git a/dev-python/seaborn/files/seaborn-Update-tests-for-compatability-with-matplotlib-3.5.0.patch b/dev-python/seaborn/files/seaborn-Update-tests-for-compatability-with-matplotlib-3.5.0.patch
deleted file mode 100644
index 9f46a59145f1..000000000000
--- a/dev-python/seaborn/files/seaborn-Update-tests-for-compatability-with-matplotlib-3.5.0.patch
+++ /dev/null
@@ -1,280 +0,0 @@
-From 262bb95402e405489f6d58bb96dcb06fcd24f0ba Mon Sep 17 00:00:00 2001
-From: Michael Waskom <mwaskom@users.noreply.github.com>
-Date: Sun, 31 Oct 2021 16:52:06 -0400
-Subject: [PATCH] Update tests for compatability with matplotlib 3.5.0 (#2690)
-
-* Update boxplot tests for mpl3.5 compatability
-
-* Update kdeplot tests for mpl3.5 compatability
-
-* Update legend tests for mpl3.5 compatability
-
-* Pin docutils to avoid buggy interaction with sphinx
-
-[ flow: modified to apply on top of 0.11.2 ]
-
-Modified-by: Florian Schmaus <flow@gentoo.org>
----
- seaborn/tests/test_categorical.py | 30 +++++++++------
- seaborn/tests/test_distributions.py | 58 ++++++++++++++++++++---------
- 3 files changed, 61 insertions(+), 28 deletions(-)
-
-diff --git a/seaborn/tests/test_categorical.py b/seaborn/tests/test_categorical.py
-index a0b0393c330c..ac41a8885773 100644
---- a/seaborn/tests/test_categorical.py
-+++ b/seaborn/tests/test_categorical.py
-@@ -28,6 +28,14 @@ class CategoricalFixture:
- df = pd.DataFrame(dict(y=y, g=g, h=h, u=u))
- x_df["W"] = g
-
-+ def get_box_artists(self, ax):
-+
-+ if Version(mpl.__version__) < Version("3.5.0b0"):
-+ return ax.artists
-+ else:
-+ # Exclude labeled patches, which are for the legend
-+ return [p for p in ax.patches if not p.get_label()]
-+
-
- class TestCategoricalPlotter(CategoricalFixture):
-
-@@ -772,12 +780,12 @@ class TestBoxPlotter(CategoricalFixture):
- def test_axes_data(self):
-
- ax = cat.boxplot(x="g", y="y", data=self.df)
-- assert len(ax.artists) == 3
-+ assert len(self.get_box_artists(ax)) == 3
-
- plt.close("all")
-
- ax = cat.boxplot(x="g", y="y", hue="h", data=self.df)
-- assert len(ax.artists) == 6
-+ assert len(self.get_box_artists(ax)) == 6
-
- plt.close("all")
-
-@@ -785,14 +793,14 @@ class TestBoxPlotter(CategoricalFixture):
-
- ax = cat.boxplot(x="g", y="y", data=self.df, saturation=1)
- pal = palettes.color_palette(n_colors=3)
-- for patch, color in zip(ax.artists, pal):
-+ for patch, color in zip(self.get_box_artists(ax), pal):
- assert patch.get_facecolor()[:3] == color
-
- plt.close("all")
-
- ax = cat.boxplot(x="g", y="y", hue="h", data=self.df, saturation=1)
- pal = palettes.color_palette(n_colors=2)
-- for patch, color in zip(ax.artists, pal * 2):
-+ for patch, color in zip(self.get_box_artists(ax), pal * 2):
- assert patch.get_facecolor()[:3] == color
-
- plt.close("all")
-@@ -801,7 +809,7 @@ class TestBoxPlotter(CategoricalFixture):
-
- ax = cat.boxplot(x="g", y="y", data=self.df,
- order=["a", "b", "c", "d"])
-- assert len(ax.artists) == 3
-+ assert len(self.get_box_artists(ax)) == 3
-
- def test_missing_data(self):
-
-@@ -811,13 +819,13 @@ class TestBoxPlotter(CategoricalFixture):
- y[-2:] = np.nan
-
- ax = cat.boxplot(x=x, y=y)
-- assert len(ax.artists) == 3
-+ assert len(self.get_box_artists(ax)) == 3
-
- plt.close("all")
-
- y[-1] = 0
- ax = cat.boxplot(x=x, y=y, hue=h)
-- assert len(ax.artists) == 7
-+ assert len(self.get_box_artists(ax)) == 7
-
- plt.close("all")
-
-@@ -2504,11 +2512,11 @@ class TestCatPlot(CategoricalFixture):
-
- g = cat.catplot(x="g", y="y", data=self.df, kind="box")
- want_artists = self.g.unique().size
-- assert len(g.ax.artists) == want_artists
-+ assert len(self.get_box_artists(g.ax)) == want_artists
-
- g = cat.catplot(x="g", y="y", hue="h", data=self.df, kind="box")
- want_artists = self.g.unique().size * self.h.unique().size
-- assert len(g.ax.artists) == want_artists
-+ assert len(self.get_box_artists(g.ax)) == want_artists
-
- g = cat.catplot(x="g", y="y", data=self.df,
- kind="violin", inner=None)
-@@ -2858,14 +2866,14 @@ class TestBoxenPlotter(CategoricalFixture):
-
- ax = cat.boxenplot(x="g", y="y", data=self.df, saturation=1)
- pal = palettes.color_palette(n_colors=3)
-- for patch, color in zip(ax.artists, pal):
-+ for patch, color in zip(self.get_box_artists(ax), pal):
- assert patch.get_facecolor()[:3] == color
-
- plt.close("all")
-
- ax = cat.boxenplot(x="g", y="y", hue="h", data=self.df, saturation=1)
- pal = palettes.color_palette(n_colors=2)
-- for patch, color in zip(ax.artists, pal * 2):
-+ for patch, color in zip(self.get_box_artists(ax), pal * 2):
- assert patch.get_facecolor()[:3] == color
-
- plt.close("all")
-diff --git a/seaborn/tests/test_distributions.py b/seaborn/tests/test_distributions.py
-index 737d6ccdaddc..57b380c32ca1 100644
---- a/seaborn/tests/test_distributions.py
-+++ b/seaborn/tests/test_distributions.py
-@@ -39,6 +39,27 @@ from .._testing import (
- )
-
-
-+def get_contour_coords(c):
-+ """Provide compatability for change in contour artist type in mpl3.5."""
-+ # See https://github.com/matplotlib/matplotlib/issues/20906
-+ if isinstance(c, mpl.collections.LineCollection):
-+ return c.get_segments()
-+ elif isinstance(c, mpl.collections.PathCollection):
-+ return [p.vertices[:np.argmax(p.codes) + 1] for p in c.get_paths()]
-+
-+
-+def get_contour_color(c):
-+ """Provide compatability for change in contour artist type in mpl3.5."""
-+ # See https://github.com/matplotlib/matplotlib/issues/20906
-+ if isinstance(c, mpl.collections.LineCollection):
-+ return c.get_color()
-+ elif isinstance(c, mpl.collections.PathCollection):
-+ if c.get_facecolor().size:
-+ return c.get_facecolor()
-+ else:
-+ return c.get_edgecolor()
-+
-+
- class TestDistPlot(object):
-
- rs = np.random.RandomState(0)
-@@ -803,7 +824,10 @@ class TestKDEPlotUnivariate:
- for label, level in zip(legend_labels, order):
- assert label.get_text() == level
-
-- legend_artists = ax.legend_.findobj(mpl.lines.Line2D)[::2]
-+ legend_artists = ax.legend_.findobj(mpl.lines.Line2D)
-+ if Version(mpl.__version__) < Version("3.5.0b0"):
-+ # https://github.com/matplotlib/matplotlib/pull/20699
-+ legend_artists = legend_artists[::2]
- palette = color_palette()
- for artist, color in zip(legend_artists, palette):
- assert to_rgb(artist.get_color()) == to_rgb(color)
-@@ -854,7 +878,7 @@ class TestKDEPlotBivariate:
- f, ax = plt.subplots()
- kdeplot(data=long_df, x="x", y="y", hue="c", fill=fill)
- for c in ax.collections:
-- if fill:
-+ if fill or Version(mpl.__version__) >= Version("3.5.0b0"):
- assert isinstance(c, mpl.collections.PathCollection)
- else:
- assert isinstance(c, mpl.collections.LineCollection)
-@@ -870,8 +894,8 @@ class TestKDEPlotBivariate:
- kdeplot(x=x, y=y, hue=hue, common_norm=True, ax=ax1)
- kdeplot(x=x, y=y, hue=hue, common_norm=False, ax=ax2)
-
-- n_seg_1 = sum([len(c.get_segments()) > 0 for c in ax1.collections])
-- n_seg_2 = sum([len(c.get_segments()) > 0 for c in ax2.collections])
-+ n_seg_1 = sum([len(get_contour_coords(c)) > 0 for c in ax1.collections])
-+ n_seg_2 = sum([len(get_contour_coords(c)) > 0 for c in ax2.collections])
- assert n_seg_2 > n_seg_1
-
- def test_log_scale(self, rng):
-@@ -898,7 +922,7 @@ class TestKDEPlotBivariate:
- ax2.contour(10 ** xx, yy, density, levels=levels)
-
- for c1, c2 in zip(ax1.collections, ax2.collections):
-- assert_array_equal(c1.get_segments(), c2.get_segments())
-+ assert_array_equal(get_contour_coords(c1), get_contour_coords(c2))
-
- def test_bandwidth(self, rng):
-
-@@ -911,7 +935,7 @@ class TestKDEPlotBivariate:
- kdeplot(x=x, y=y, bw_adjust=2, ax=ax2)
-
- for c1, c2 in zip(ax1.collections, ax2.collections):
-- seg1, seg2 = c1.get_segments(), c2.get_segments()
-+ seg1, seg2 = get_contour_coords(c1), get_contour_coords(c2)
- if seg1 + seg2:
- x1 = seg1[0][:, 0]
- x2 = seg2[0][:, 0]
-@@ -936,9 +960,9 @@ class TestKDEPlotBivariate:
- kdeplot(x=x, y=y, hue=hue, weights=weights, ax=ax2)
-
- for c1, c2 in zip(ax1.collections, ax2.collections):
-- if c1.get_segments() and c2.get_segments():
-- seg1 = np.concatenate(c1.get_segments(), axis=0)
-- seg2 = np.concatenate(c2.get_segments(), axis=0)
-+ if get_contour_coords(c1) and get_contour_coords(c2):
-+ seg1 = np.concatenate(get_contour_coords(c1), axis=0)
-+ seg2 = np.concatenate(get_contour_coords(c2), axis=0)
- assert not np.array_equal(seg1, seg2)
-
- def test_hue_ignores_cmap(self, long_df):
-@@ -946,7 +970,7 @@ class TestKDEPlotBivariate:
- with pytest.warns(UserWarning, match="cmap parameter ignored"):
- ax = kdeplot(data=long_df, x="x", y="y", hue="c", cmap="viridis")
-
-- color = tuple(ax.collections[0].get_color().squeeze())
-+ color = tuple(get_contour_color(ax.collections[0]).squeeze())
- assert color == mpl.colors.colorConverter.to_rgba("C0")
-
- def test_contour_line_colors(self, long_df):
-@@ -955,7 +979,7 @@ class TestKDEPlotBivariate:
- ax = kdeplot(data=long_df, x="x", y="y", color=color)
-
- for c in ax.collections:
-- assert tuple(c.get_color().squeeze()) == color
-+ assert tuple(get_contour_color(c).squeeze()) == color
-
- def test_contour_fill_colors(self, long_df):
-
-@@ -987,7 +1011,7 @@ class TestKDEPlotBivariate:
- kdeplot(**plot_kws, levels=np.linspace(thresh, 1, n), ax=ax2)
-
- for c1, c2 in zip(ax1.collections, ax2.collections):
-- assert_array_equal(c1.get_segments(), c2.get_segments())
-+ assert_array_equal(get_contour_coords(c1), get_contour_coords(c2))
-
- with pytest.raises(ValueError):
- kdeplot(**plot_kws, levels=[0, 1, 2])
-@@ -999,7 +1023,7 @@ class TestKDEPlotBivariate:
- kdeplot(**plot_kws, levels=n, thresh=0, ax=ax2)
-
- for c1, c2 in zip(ax1.collections, ax2.collections):
-- assert_array_equal(c1.get_segments(), c2.get_segments())
-+ assert_array_equal(get_contour_coords(c1), get_contour_coords(c2))
- for c1, c2 in zip(ax1.collections, ax2.collections):
- assert_array_equal(c1.get_facecolors(), c2.get_facecolors())
-
-@@ -2246,13 +2270,13 @@ class TestDisPlot:
- z = [0] * 80 + [1] * 20
-
- g = displot(x=x, y=y, col=z, kind="kde", levels=10)
-- l1 = sum(bool(c.get_segments()) for c in g.axes.flat[0].collections)
-- l2 = sum(bool(c.get_segments()) for c in g.axes.flat[1].collections)
-+ l1 = sum(bool(get_contour_coords(c)) for c in g.axes.flat[0].collections)
-+ l2 = sum(bool(get_contour_coords(c)) for c in g.axes.flat[1].collections)
- assert l1 > l2
-
- g = displot(x=x, y=y, col=z, kind="kde", levels=10, common_norm=False)
-- l1 = sum(bool(c.get_segments()) for c in g.axes.flat[0].collections)
-- l2 = sum(bool(c.get_segments()) for c in g.axes.flat[1].collections)
-+ l1 = sum(bool(get_contour_coords(c)) for c in g.axes.flat[0].collections)
-+ l2 = sum(bool(get_contour_coords(c)) for c in g.axes.flat[1].collections)
- assert l1 == l2
-
- def test_bivariate_hist_norm(self, rng):
---
-2.35.1
-
diff --git a/dev-python/seaborn/metadata.xml b/dev-python/seaborn/metadata.xml
index b5254f7272a1..29173bb2d4d7 100644
--- a/dev-python/seaborn/metadata.xml
+++ b/dev-python/seaborn/metadata.xml
@@ -1,14 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>gentoo@chymera.eu</email>
- <name>Horea Christian</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/seaborn/seaborn-0.11.2.ebuild b/dev-python/seaborn/seaborn-0.11.2.ebuild
deleted file mode 100644
index 50b1cabf1626..000000000000
--- a/dev-python/seaborn/seaborn-0.11.2.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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}]
-"
-BDEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-Update-tests-for-compatability-with-matplotlib-3.5.0.patch
-)
-
-distutils_enable_tests pytest
-
-python_test() {
- # Tests fail due to a newer matplotlib (3.5) being used. Was fixed
- # upstream in https://github.com/mwaskom/seaborn/issues/2663 but not
- # for the 0.11 branch. Partially backported in
- # seaborn-Update-tests-for-compatability-with-matplotlib-3.5.0.patch.
- local EPYTEST_DESELECT=(
- 'seaborn/tests/test_categorical.py::TestBoxPlotter::test_axes_data'
- 'seaborn/tests/test_categorical.py::TestBoxPlotter::test_box_colors'
- 'seaborn/tests/test_categorical.py::TestBoxPlotter::test_draw_missing_boxes'
- 'seaborn/tests/test_categorical.py::TestBoxPlotter::test_missing_data'
- 'seaborn/tests/test_categorical.py::TestCatPlot::test_plot_elements'
- 'seaborn/tests/test_categorical.py::TestBoxenPlotter::test_box_colors'
- 'seaborn/tests/test_distributions.py::TestKDEPlotUnivariate::test_legend'
- 'seaborn/tests/test_distributions.py::TestKDEPlotBivariate::test_fill_artists'
- 'seaborn/tests/test_distributions.py::TestDisPlot::test_with_rug[kwargs0]'
- 'seaborn/tests/test_distributions.py::TestDisPlot::test_with_rug[kwargs1]'
- 'seaborn/tests/test_distributions.py::TestDisPlot::test_with_rug[kwargs2]'
- )
- cat > matplotlibrc <<- EOF || die
- backend : Agg
- EOF
- epytest
-}
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/Manifest b/dev-python/secretstorage/Manifest
index 6c378ec84501..f5625856fd41 100644
--- a/dev-python/secretstorage/Manifest
+++ b/dev-python/secretstorage/Manifest
@@ -1 +1 @@
-DIST SecretStorage-3.3.2.tar.gz 19285 BLAKE2B 17089e61a9549f4547faa8c6f7f711f5e4b3ba9ac0bf7787c3384d4920c5cd02704bab86fd4b7abe4ad9b93098b1668cf89901f4a0760023e274c8daf009d5a4 SHA512 f04a35925f86fec25435554083ac0d4b21b88cbc19b67a4c744247e659bc767675a52d18b33be557e99593922aecb0c261ec40803c61e089ff35b6c8b541ac63
+DIST SecretStorage-3.3.3.tar.gz 19739 BLAKE2B 9ad575df8b059102a38b4f20c956bf80a5f440a80c13a9fe10a96b14c49bd7868667306b75fca7a395e4d4ce44d28174fafcf27521446d4c7d070c5381eeeed7 SHA512 9a048c8245cfb01babebdd85dbbe84f9634b9b28188f7d11d3abad841109cfa307861de05e529199e409e595864ff3e097fcc961fcff210040d214a50f932f6e
diff --git a/dev-python/secretstorage/secretstorage-3.3.2.ebuild b/dev-python/secretstorage/secretstorage-3.3.2.ebuild
deleted file mode 100644
index 9d520e6034d8..000000000000
--- a/dev-python/secretstorage/secretstorage-3.3.2.ebuild
+++ /dev/null
@@ -1,56 +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_{8..11} )
-
-inherit distutils-r1
-
-MY_PN="SecretStorage"
-
-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"
-
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
- >=dev-python/jeepney-0.6[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- !hppa? ( !sparc? ( !s390? (
- sys-apps/dbus
- virtual/secret-service
- )
- ) ) )
-"
-
-distutils_enable_tests unittest
-distutils_enable_sphinx docs \
- dev-python/alabaster
-
-src_test() {
- case ${ARCH} in
- hppa|sparc)
- einfo "gnome-keyring is not supported on ${ARCH}, skipping tests"
- return
- ;;
- esac
-
- distutils-r1_src_test
-}
-
-python_test() {
- dbus-run-session "${EPYTHON}" -m unittest discover -v -s tests \
- || die "tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/secretstorage/secretstorage-3.3.3.ebuild b/dev-python/secretstorage/secretstorage-3.3.3.ebuild
new file mode 100644
index 000000000000..3bcd2a5e1eb2
--- /dev/null
+++ b/dev-python/secretstorage/secretstorage-3.3.3.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
+PYPI_NO_NORMALIZE=1
+PYPI_PN="SecretStorage"
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings to FreeDesktop.org Secret Service API"
+HOMEPAGE="
+ https://github.com/mitya57/secretstorage/
+ https://pypi.org/project/SecretStorage/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/jeepney-0.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ !hppa? ( !sparc? ( !s390? (
+ sys-apps/dbus
+ virtual/secret-service
+ ) ) )
+ )
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx docs \
+ dev-python/alabaster
+
+src_test() {
+
+ if ! has_version "virtual/secret-service"; then
+ einfo "gnome-keyring is not supported on ${ARCH}, skipping tests"
+ return
+ fi
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ dbus-run-session "${EPYTHON}" -m unittest discover -v -s tests \
+ || die "tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/seedir/Manifest b/dev-python/seedir/Manifest
new file mode 100644
index 000000000000..0924726d115d
--- /dev/null
+++ b/dev-python/seedir/Manifest
@@ -0,0 +1 @@
+DIST seedir-0.4.2.gh.tar.gz 3096194 BLAKE2B daabdf1f5bb202ab454bea376c6e14dab2eb9c964a3bf87349c3ac6075bb8ed201b66082518aff01cb4515e89026a02c662da5e9a5f43c5d0ea21556cda07e90 SHA512 8d16ae1ba020268f9587742cacbc55ecc1d218f36955c625f64829940396c908d0498ee6bf50d560f87b10488dc6daa5698681e10e1699d20d958b3cd58f14c4
diff --git a/dev-python/seedir/metadata.xml b/dev-python/seedir/metadata.xml
new file mode 100644
index 000000000000..ada04050a691
--- /dev/null
+++ b/dev-python/seedir/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">seedir</remote-id>
+ <remote-id type="github">earnestt1234/seedir</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/seedir/seedir-0.4.2.ebuild b/dev-python/seedir/seedir-0.4.2.ebuild
new file mode 100644
index 000000000000..d89d3c8c0a84
--- /dev/null
+++ b/dev-python/seedir/seedir-0.4.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Package for creating, editing, and reading folder tree diagrams"
+HOMEPAGE="
+ https://github.com/earnestt1234/seedir/
+ https://pypi.org/project/seedir/
+"
+SRC_URI="
+ https://github.com/earnestt1234/seedir/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ dev-python/natsort[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
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 8b41b5af4e3d..c71b9ee64f1a 100644
--- a/dev-python/selenium/Manifest
+++ b/dev-python/selenium/Manifest
@@ -1,2 +1,4 @@
-DIST selenium-3.141.0.gh.tar.gz 155705874 BLAKE2B f75eec80e6caa86744092020abaeef56defcfac8278dd3fd605c29d6860c1c046956c7599164ba1b4682f20dfa997f5a942d83f7ad707b052ad3ca98c0800527 SHA512 add14d426c5b929901cd71104460c7ceaacf46374b46898254dc2e2602f4a9a370199da603e3f35375c0f297d6fc2fda00c9ce2ede9d5b893b072e0487883df2
-DIST selenium-3.141.0.tar.gz 854669 BLAKE2B 621f4ab03bf85718b50099fdf10cdfadaf326bc7d9c9f1676a2a20e3ad23bede7884d8017b98bc6ebc314c6a4221c7668628d2d1888f36350c95eed1d82acee7 SHA512 3d2afbe9e96f88e9c055a89786b5090af387d3feba4598577b70fd3e0b20c2c09c4b25af920c654f52ec7e34f23181e6d278ac05f1a1f960d2d371ce7a6b82d8
+DIST selenium-4.19.0.tar.gz 10279010 BLAKE2B f4f7761c52a38108c13d846f013eaeb54ce90ce894f3435567bf00e5b5d9ed13f71f1fcabad2ce972e098d86d3df82f1a1c5bf14ac849dcfb3378e41bc791e90 SHA512 ad4fec7dd4309478e4b53e1fdaf957230ae7c074fc77ffed6445cd80d475fd8f0f9aa88d2b732fb75b1060e03ab29257b040d95aa104b7bbaa6289ad08bb418f
+DIST selenium-4.20.0.tar.gz 9307193 BLAKE2B 26d0441039776ae0c524891ed89ce2b631b2d74b561403890081ba649e1d067b841610e53d468fc2aa622fea05affd997f580e63af44256eb33dffe17b65b619 SHA512 102ce43dd9878275a80fa5e8c59162952c9ab04173c3c35f543392b31df1d600f403ad7764af76513c81df8eef5781456bf6ef2027af6a93ad99d855ab384869
+DIST selenium-selenium-4.19.0.gh.tar.gz 77053184 BLAKE2B 42319ddad80832e107acfb9f7f3dc5a18fb1779ec0910322d6c11ca9d441ce7e9992c0f7acd5c313855b33b8e67e8a2eab7736b11cd925c163fe70dee58aad44 SHA512 5e707545fdb8b38d16470988fe74b31b9040c5ff6c1958c2a500a5d20a023dedf12e321b1c60bb4d79c11cbd27e86dc2b6dc3d27b92b55759b5d9a57af526531
+DIST selenium-selenium-4.20.0.gh.tar.gz 77055043 BLAKE2B 3a146a41fcebe0abb0a83b914a66252f541ab712e606166c941c08781cca92315254d3be075a988044713544909134dc7a9203ac414ba7f7985173713779e810 SHA512 1a4ee0421c8ba02fc8217792fda26bb977524531bdaaf8cb56276decdddb13adc702bd20ac195c97a7182fdd27c3a88b92a901af38c6fd059c2421e422c82768
diff --git a/dev-python/selenium/selenium-3.141.0-r1.ebuild b/dev-python/selenium/selenium-3.141.0-r1.ebuild
deleted file mode 100644
index 87cb9bb3c3d2..000000000000
--- a/dev-python/selenium/selenium-3.141.0-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python language binding for Selenium Remote Control"
-HOMEPAGE="https://www.seleniumhq.org"
-# pypi tarball misses tests, github tarball misses generated files
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- test? (
- https://github.com/SeleniumHQ/selenium/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
- )"
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-DOCS=( CHANGES README.rst )
-
-QA_PREBUILT="/usr/lib*/python*/site-packages/${PN}/webdriver/firefox/*/x_ignore_nofocus.so"
-
-RDEPEND="
- dev-python/urllib3[${PYTHON_USEDEP}]"
-BDEPEND="
- test? ( dev-python/pytest-mock[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
-
-src_unpack() {
- unpack "${P}.tar.gz"
- if use test; then
- cd "${S}" || die
- ebegin "Unpacking tests from ${P}.gh.tar.gz"
- tar -x -z -f "${DISTDIR}/${P}.gh.tar.gz" --strip-components 2 \
- "${PN}-${P}"/py/test
- eend ${?} || die
- fi
-}
-
-python_test() {
- pytest -vv test/unit || die "Tests fail with ${EPYTHON}"
-}
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.20.0.ebuild b/dev-python/selenium/selenium-4.20.0.ebuild
new file mode 100644
index 000000000000..e74259a73bf0
--- /dev/null
+++ b/dev-python/selenium/selenium-4.20.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/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..6cde6827cc60
--- /dev/null
+++ b/dev-python/semantic-version/semantic-version-2.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..13} 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() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
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 be971abcc1e3..000000000000
--- a/dev-python/semantic_version/semantic_version-2.10.0.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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 c4ed05fc9562..000000000000
--- a/dev-python/semver/semver-2.13.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{8..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 ~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..e6dd4ffd8c12 100644
--- a/dev-python/send2trash/Manifest
+++ b/dev-python/send2trash/Manifest
@@ -1 +1 @@
-DIST send2trash-1.8.0.gh.tar.gz 15040 BLAKE2B 06f6b0b9e4e9316bc60332ea76426922db6d35fa5d4e0602e91a58996bb55a2344d7d56547bdf21151641c5ec710b78b2b11c8fda158eb911155994c86d10078 SHA512 9dc15fbd262eb5a05a355b436c0e582e5ef9b484f859b53faafe6af5bd08ef88b9aa5121485c2fffb7dbe5aeeef29f6719035e08c61da273fd4fa51383b062fe
+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 8b0851db162d..000000000000
--- a/dev-python/send2trash/send2trash-1.8.0-r1.ebuild
+++ /dev/null
@@ -1,25 +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_{8..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 ~m68k 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..b857080fec6a
--- /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/sentinels/Manifest b/dev-python/sentinels/Manifest
deleted file mode 100644
index ee2ff905a5be..000000000000
--- a/dev-python/sentinels/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sentinels-1.0.0.tar.gz 4074 BLAKE2B 5fdbe488430685e24218b4c1a2ead75272c2024f6653c5f1363ee0e1180878e91ad1e6500ce8f7199b7a95f9680f427927ffa8e573fb5c7ff45ede2894a9fa9f SHA512 06aebf28a3074d377b4257ce3e07ced51425f738b3f2e3e4c1764e946137a363c6e94b247e0eb165c6c87eb749751aac36b580b9c550fe513dc0e126738e8794
diff --git a/dev-python/sentinels/metadata.xml b/dev-python/sentinels/metadata.xml
deleted file mode 100644
index c3e0312a6378..000000000000
--- a/dev-python/sentinels/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>
- Sentinels are objects with special meanings. They can be thought of as singletons, but they service the need of having 'special' values in your code, that have special meanings.
- </longdescription>
- <upstream>
- <remote-id type="pypi">sentinels</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/sentinels/sentinels-1.0.0.ebuild b/dev-python/sentinels/sentinels-1.0.0.ebuild
deleted file mode 100644
index 5ab83cb8e8d4..000000000000
--- a/dev-python/sentinels/sentinels-1.0.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python Sentinels class which are objects with special meanings"
-HOMEPAGE="https://pypi.org/project/sentinels"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-distutils_enable_tests nose
diff --git a/dev-python/sentry-sdk/Manifest b/dev-python/sentry-sdk/Manifest
index a7e5e706649c..b3149eb44d1c 100644
--- a/dev-python/sentry-sdk/Manifest
+++ b/dev-python/sentry-sdk/Manifest
@@ -1,6 +1,3 @@
-DIST sentry-sdk-1.6.0.gh.tar.gz 249637 BLAKE2B c4d6788c80184ce9127ed85dfb5305363fd27bcbebd74763e4c14c4fed35dd05069ad4a244fa2d8a59f8cb618df22d4d864bf72510fe42600d23fcc6bf8228cf SHA512 d2999831af595ed7f1861ec78887e46887eea8c4c931f22bd4003aede508511287f67eb6100232362a110d16b7bdec892572225440be52a9bd37952c30478f15
-DIST sentry-sdk-1.7.2.gh.tar.gz 254370 BLAKE2B e65b2236bfec9279a4aa05b77c9492547f657e461a7c96c4158acb6bc0887571186bfa71893dce34251ef8d783fb5d583b25aa12539c5db7993cec65fdf05229 SHA512 9fe2c283a326b78c8be95500e4916bb633dc7369960a4e0ef69c0f29de74c38db81f43b3931c47d50431ee7f1a66a2b18e8c4fc02ce71c404a5e9700644cb76c
-DIST sentry-sdk-1.8.0.gh.tar.gz 286488 BLAKE2B d47f33a1c83cfffa6e4a801a6fdfde132d4cfe1b734e464c4db60e97abf53ebe503c53c3edd89d1a84e655a348a4463a75c3475d4824d03cd9b95733b13b5532 SHA512 aa3be96dbc55265f17371d8f20f8b3116b4310cbc1d078b62beeb1fd90bdbb840db85c25309e16f793a188d373c6dbcfd11a104db21b60221a5fb06d8deacc2d
-DIST sentry-sdk-1.9.0.gh.tar.gz 290271 BLAKE2B fcb4c45c129faf23a1177167e2bdd567a7ff228abbaa782676abb16c29e9c4cccef89f67ae5cd28c4f2b25e6687152fdc5eab0c7d981021a8df16374dc4e1fec SHA512 4f287bad8e9dd8eaad8f8a31d7335ccf6bfe72cc0ba8c0b26abcbd7e326bad886709d001976966a7b917f39e1ca249fa881abf29778cfd4bd65c63f05a6f6ef2
-DIST sentry-sdk-1.9.1.gh.tar.gz 270398 BLAKE2B 66ee16816d312b38df737c5ecb0ecc4a2189c932c162bbedf165f2a153029e95c389372a4638d5f71f669ac780710769e4708c3e7673573d1b1e79a29cbf93c9 SHA512 5997252aeee900125e42d7275627359ca5382707162b93e45b238c11a181ac724fea327fa1b29deed63dbf800463d10c9d2a8e8943c32b907e4eac055e399297
-DIST sentry-sdk-1.9.2.gh.tar.gz 270400 BLAKE2B 690e62c1b4f64677442ac46b15973173d96d587b71786f5c2e0a9e8d15aec7978b86b247a52ff15b6d0dc9665f8eafa4b1ad458d3aa3fca3447e7c9946503c69 SHA512 189916cf8b931df73eaa252bbc2f3beb53bf56529d50ebe79affd04e9684ffa89e1f66ec651b7dca6fbd5de641333ddd6f65512978ee06c2abb73617bd6f3ea2
+DIST sentry-python-1.45.0.gh.tar.gz 475425 BLAKE2B 8dc46154dfc1c7c9104a706be032b5269d407dee6845da252f1c603ea4f9486d02d1d3c6bec314064b821dee31b503d07a9c17935ca1f4dd6cc4d7b9c3165094 SHA512 dad23a3f6a8e6ef5fe78e1d38a61977d8974edf306d5688537f331801d8fa0f60743d18cc3dadf6e9a9666c55a01c98b9ff8d8808ece7d8f95ee68a69b6cb9be
+DIST sentry-python-2.0.1.gh.tar.gz 486632 BLAKE2B ace9891068050d988b3c16622f6937486f733caaf3de864ed973ea156e1e06e44f2d73764d01d5943a9347044c3c880bb9cf00229f2a36f2730aad9ef55660d0 SHA512 c62447a990ead1bebee89cd16d7a9d7a3798c48af53fba2cf5cece47c9bf5971fa1cd2b028b9fe8f7d9996cc48962ca50a61df9899b1c24a2dffced74f38e6ce
+DIST sentry-python-2.1.1.gh.tar.gz 499979 BLAKE2B 92a401dd0b7202cff288ea252bcaa52c6b7175607aeddcc8f0f6506b722c694bd4499bef1b058e886bed28493408b197916ffff5b698c8c4470747d80a39e098 SHA512 13566786b97ddc571bbb189a3e57ea6721c57c23805be99929883e37db52fe65b636e6f129118dcb7453cb20bb00a352c4a1fa0d43dce7a71236c9d3a9ad5451
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.45.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.45.0.ebuild
new file mode 100644
index 000000000000..4cdc0f653f3e
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-1.45.0.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+MY_P=sentry-python-${PV}
+DESCRIPTION="Python client for Sentry"
+HOMEPAGE="
+ https://sentry.io/
+ https://github.com/getsentry/sentry-python/
+ https://pypi.org/project/sentry-sdk/
+"
+SRC_URI="
+ https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asttokens[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/executing[${PYTHON_USEDEP}]
+ dev-python/fakeredis[${PYTHON_USEDEP}]
+ dev-python/flask-login[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pyrsistent[${PYTHON_USEDEP}]
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/python-socks[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
+)
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # tests require Internet access
+ tests/integrations/httpx/test_httpx.py
+ tests/integrations/requests/test_requests.py
+ tests/integrations/stdlib/test_httplib.py
+ tests/integrations/flask/test_flask.py
+ tests/integrations/django/test_basic.py
+ tests/integrations/socket/test_socket.py
+ # wtf is it supposed to do?!
+ tests/integrations/gcp/test_gcp.py
+ # broken by rq-1.10.1 (optional dep)
+ tests/integrations/rq/test_rq.py
+ # fastapi is not packaged
+ tests/integrations/asgi/test_fastapi.py
+ # TODO
+ tests/integrations/bottle
+ # TODO: causes breakage in other tests
+ tests/integrations/starlette
+ # TODO
+ tests/integrations/tornado
+ # requires mockupdb
+ tests/integrations/pymongo
+ # requires AWS access
+ tests/integrations/aws_lambda
+ # requires quart_auth
+ tests/integrations/quart
+ # TODO: require opentelemetry (with py3.10)
+ tests/integrations/opentelemetry
+ )
+
+ local EPYTEST_DESELECT=(
+ # hangs
+ 'tests/test_transport.py::test_transport_works'
+ # TODO
+ 'tests/test_basics.py::test_auto_enabling_integrations_catches_import_error'
+ tests/test_client.py::test_databag_depth_stripping
+ tests/test_client.py::test_databag_string_stripping
+ tests/test_client.py::test_databag_breadth_stripping
+ tests/integrations/asgi/test_asgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/asgi/test_asgi.py::test_websocket
+ tests/integrations/aiohttp/test_aiohttp.py::test_transaction_style
+ tests/integrations/aiohttp/test_aiohttp.py::test_traces_sampler_gets_request_object_in_sampling_context
+ tests/integrations/django/test_data_scrubbing.py::test_scrub_django_custom_session_cookies_filtered
+ # incompatible version?
+ tests/integrations/falcon/test_falcon.py
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_large_event_not_truncated
+ tests/integrations/django/test_data_scrubbing.py::test_scrub_django_session_cookies_{filtered,removed}
+ # test_circular_references: apparently fragile
+ 'tests/integrations/threading/test_threading.py::test_circular_references'
+ # test for new feature, fails with IndexError
+ tests/integrations/wsgi/test_wsgi.py::test_session_mode_defaults_to_request_mode_in_wsgi_handler
+ # TODO
+ tests/integrations/wsgi/test_wsgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/wsgi/test_wsgi.py::test_profile_sent_when_profiling_enabled
+ tests/test_profiler.py::test_sample_buffer
+ tests/test_profiler.py::test_thread_scheduler_takes_first_samples
+ tests/test_profiler.py::test_thread_scheduler_takes_more_samples
+ tests/test_profiler.py::test_thread_scheduler_single_background_thread
+ # broken with py3.11, *shrug*
+ tests/test_profiler.py::test_extract_stack_with_max_depth
+ # TODO
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_long_sql_query_preserved
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_engine_name_not_string
+ tests/test_scrubber.py::test_breadcrumb_extra_scrubbing
+ tests/test_scrubber.py::test_span_data_scrubbing
+ # this is not even funny
+ tests/test_utils.py::test_installed_modules
+ # flaky hypothesis stuff
+ tests/test_serializer.py::test_bytes_serialization_repr_many
+ # TODO
+ tests/integrations/aiohttp/test_aiohttp.py::test_basic
+ tests/tracing/test_decorator_py3.py::test_trace_decorator_{,a}sync_py3
+ # crashes Python
+ tests/integrations/grpc/test_grpc_aio.py
+ # hangs
+ tests/integrations/threading/test_threading.py::test_propagates_threadpool_hub
+ # TODO
+ tests/test_utils.py::test_default_release
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_orm_queries
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_transactions
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_query_source
+ tests/integrations/stdlib/test_subprocess.py::test_subprocess_basic
+ tests/integrations/threading/test_threading.py
+ tests/integrations/wsgi/test_wsgi.py
+ 'tests/utils/test_contextvars.py::test_leaks[threads]'
+ # skipped without gevent but breaks stuff via broken teardown?
+ tests/test_metrics.py::test_no_metrics_with_gevent
+ # TODO
+ tests/utils/test_contextvars.py::test_leaks
+ # broken teardown?
+ tests/test_client.py::test_uwsgi_warnings
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p aiohttp -p pytest_forked
+}
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.6.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.6.0.ebuild
deleted file mode 100644
index ac1650bb3f7f..000000000000
--- a/dev-python/sentry-sdk/sentry-sdk-1.6.0.ebuild
+++ /dev/null
@@ -1,91 +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_{8..10} )
-
-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/gevent[${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}]
- $(python_gen_cond_dep '
- dev-python/eventlet[${PYTHON_USEDEP}]
- ' python3_{8..9})
- )
-"
-
-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
-)
-
-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
- # 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
-)
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.7.2.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.7.2.ebuild
deleted file mode 100644
index 45d775960169..000000000000
--- a/dev-python/sentry-sdk/sentry-sdk-1.7.2.ebuild
+++ /dev/null
@@ -1,91 +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_{8..10} )
-
-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/gevent[${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}]
- $(python_gen_cond_dep '
- dev-python/eventlet[${PYTHON_USEDEP}]
- ' python3_{8..9})
- )
-"
-
-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
-)
-
-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
- # 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
-)
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.8.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.8.0.ebuild
deleted file mode 100644
index f9b396aebcf8..000000000000
--- a/dev-python/sentry-sdk/sentry-sdk-1.8.0.ebuild
+++ /dev/null
@@ -1,95 +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_{8..10} )
-
-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/gevent[${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}]
- $(python_gen_cond_dep '
- dev-python/eventlet[${PYTHON_USEDEP}]
- ' python3_{8..9})
- )
-"
-
-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
- # requires python-multipart (TODO: package it)
- tests/integrations/starlette
-)
-
-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
-)
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.9.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.9.0.ebuild
deleted file mode 100644
index 9d1e2042e8f2..000000000000
--- a/dev-python/sentry-sdk/sentry-sdk-1.9.0.ebuild
+++ /dev/null
@@ -1,96 +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_{8..10} )
-
-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/gevent[${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}]
- $(python_gen_cond_dep '
- dev-python/eventlet[${PYTHON_USEDEP}]
- ' python3_{8..9})
- )
-"
-
-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
- # requires python-multipart (TODO: package it)
- tests/integrations/starlette
-)
-
-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
-)
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.9.1.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.9.1.ebuild
deleted file mode 100644
index 9d1e2042e8f2..000000000000
--- a/dev-python/sentry-sdk/sentry-sdk-1.9.1.ebuild
+++ /dev/null
@@ -1,96 +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_{8..10} )
-
-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/gevent[${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}]
- $(python_gen_cond_dep '
- dev-python/eventlet[${PYTHON_USEDEP}]
- ' python3_{8..9})
- )
-"
-
-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
- # requires python-multipart (TODO: package it)
- tests/integrations/starlette
-)
-
-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
-)
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.9.2.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.9.2.ebuild
deleted file mode 100644
index 9d1e2042e8f2..000000000000
--- a/dev-python/sentry-sdk/sentry-sdk-1.9.2.ebuild
+++ /dev/null
@@ -1,96 +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_{8..10} )
-
-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/gevent[${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}]
- $(python_gen_cond_dep '
- dev-python/eventlet[${PYTHON_USEDEP}]
- ' python3_{8..9})
- )
-"
-
-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
- # requires python-multipart (TODO: package it)
- tests/integrations/starlette
-)
-
-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
-)
diff --git a/dev-python/sentry-sdk/sentry-sdk-2.0.1.ebuild b/dev-python/sentry-sdk/sentry-sdk-2.0.1.ebuild
new file mode 100644
index 000000000000..2098315872e0
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-2.0.1.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_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/django/test_basic.py
+ tests/integrations/socket/test_socket.py
+ # wtf is it supposed to do?!
+ tests/integrations/gcp/test_gcp.py
+ # TODO
+ tests/integrations/bottle
+ # TODO: most of them hang
+ tests/integrations/starlette
+ # TODO
+ tests/integrations/tornado
+ # requires mockupdb
+ tests/integrations/pymongo
+ # requires AWS access
+ tests/integrations/aws_lambda
+ # requires quart_auth
+ tests/integrations/quart
+ # TODO: require opentelemetry (with py3.10)
+ tests/integrations/opentelemetry
+ )
+
+ local EPYTEST_DESELECT=(
+ # hangs
+ tests/integrations/threading/test_threading.py::test_propagates_threadpool_hub
+ # broken teardown?
+ tests/test_client.py::test_uwsgi_warnings
+ # too many dependencies installed, sigh
+ tests/test_new_scopes_compat_event.py
+ # Internet
+ tests/integrations/stdlib/test_httplib.py::test_outgoing_trace_headers
+ tests/integrations/stdlib/test_httplib.py::test_outgoing_trace_headers_head_sdk
+ # TODO
+ tests/integrations/aiohttp/test_aiohttp.py::test_basic
+ tests/integrations/django/test_data_scrubbing.py::test_scrub_django_custom_session_cookies_filtered
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_orm_queries
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_query_source
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_transactions
+ tests/integrations/stdlib/test_subprocess.py::test_subprocess_basic
+ tests/integrations/threading/test_threading.py
+ tests/integrations/wsgi/test_wsgi.py
+ tests/test_basics.py::test_auto_enabling_integrations_catches_import_error
+ tests/test_client.py::test_databag_breadth_stripping
+ tests/test_client.py::test_databag_depth_stripping
+ tests/test_client.py::test_databag_string_stripping
+ tests/test_utils.py::test_default_release
+ tests/tracing/test_sampling.py::test_records_lost_event_only_if_traces_sample_rate_enabled
+ tests/tracing/test_sampling.py::test_records_lost_event_only_if_traces_sampler_enabled
+ tests/utils/test_contextvars.py::test_leaks
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p aiohttp -p pytest_forked
+}
diff --git a/dev-python/sentry-sdk/sentry-sdk-2.1.1.ebuild b/dev-python/sentry-sdk/sentry-sdk-2.1.1.ebuild
new file mode 100644
index 000000000000..2c15ed7e6ceb
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-2.1.1.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_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/django/test_basic.py
+ tests/integrations/socket/test_socket.py
+ # wtf is it supposed to do?!
+ tests/integrations/gcp/test_gcp.py
+ # TODO
+ tests/integrations/bottle
+ # TODO: most of them hang
+ tests/integrations/starlette
+ # TODO
+ tests/integrations/tornado
+ # requires mockupdb
+ tests/integrations/pymongo
+ # requires AWS access
+ tests/integrations/aws_lambda
+ # requires quart_auth
+ tests/integrations/quart
+ # TODO: require opentelemetry (with py3.10)
+ tests/integrations/opentelemetry
+ # broken (incompatible rq version?)
+ tests/integrations/rq
+ )
+
+ local EPYTEST_DESELECT=(
+ # hangs
+ tests/integrations/threading/test_threading.py::test_propagates_threadpool_hub
+ # broken teardown?
+ tests/test_client.py::test_uwsgi_warnings
+ # too many dependencies installed, sigh
+ tests/test_new_scopes_compat_event.py
+ # Internet
+ tests/integrations/stdlib/test_httplib.py::test_outgoing_trace_headers
+ tests/integrations/stdlib/test_httplib.py::test_outgoing_trace_headers_head_sdk
+ # TODO
+ tests/integrations/aiohttp/test_aiohttp.py::test_basic
+ tests/integrations/django/test_data_scrubbing.py::test_scrub_django_custom_session_cookies_filtered
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_orm_queries
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_query_source
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_transactions
+ tests/integrations/stdlib/test_subprocess.py::test_subprocess_basic
+ tests/integrations/threading/test_threading.py
+ tests/integrations/wsgi/test_wsgi.py
+ tests/test_basics.py::test_auto_enabling_integrations_catches_import_error
+ tests/test_client.py::test_databag_breadth_stripping
+ tests/test_client.py::test_databag_depth_stripping
+ tests/test_client.py::test_databag_string_stripping
+ tests/test_utils.py::test_default_release
+ tests/tracing/test_sampling.py::test_records_lost_event_only_if_traces_sample_rate_enabled
+ tests/tracing/test_sampling.py::test_records_lost_event_only_if_traces_sampler_enabled
+ tests/utils/test_contextvars.py::test_leaks
+ # pointless, fragile to packages being installed in parallel
+ tests/test_utils.py::test_installed_modules
+ )
+
+ 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 89b002d4440f..540c24b0df01 100644
--- a/dev-python/serpent/serpent-1.41.ebuild
+++ b/dev-python/serpent/serpent-1.41.ebuild
@@ -1,20 +1,22 @@
-# 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_{8..10} pypy3 )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
DESCRIPTION="A simple serialization library based on ast.literal_eval"
-HOMEPAGE="https://pypi.org/project/serpent/
- https://github.com/irmen/Serpent"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/irmen/Serpent/
+ https://pypi.org/project/serpent/
+"
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
new file mode 100644
index 000000000000..b0b4a9a2b7f0
--- /dev/null
+++ b/dev-python/serverfiles/serverfiles-0.3.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
+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/
+ https://pypi.org/project/serverfiles/
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+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/serverfiles/serverfiles-0.3.1.ebuild b/dev-python/serverfiles/serverfiles-0.3.1.ebuild
deleted file mode 100644
index c8ced538b614..000000000000
--- a/dev-python/serverfiles/serverfiles-0.3.1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-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"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-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 c44c3fb35dd9..000000000000
--- a/dev-python/service_identity/service_identity-21.1.0-r1.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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 aec1460cc2d6..a24ba4029d67 100644
--- a/dev-python/setproctitle/Manifest
+++ b/dev-python/setproctitle/Manifest
@@ -1,3 +1 @@
-DIST setproctitle-1.2.3.tar.gz 23618 BLAKE2B 58bafb30a9b0da9cd552c7ed1ccd197a2ee7a3c70ae02773e6a857e4f16069126d2507f30206c83a24d84d030a1fc9306d024f4e5b988f73d95df049fa9c055f SHA512 ae94e3f5e1dd10e80488f81250e979a6a15c7c3ae399bf557612b9b1edbdcb8aec4e68a7f44ff7375a399ab53d6319dfb5c5c4a1e3a0bb824c40f6921c9d9c6b
-DIST setproctitle-1.3.0.tar.gz 26778 BLAKE2B 620df2c342fd76ff762135eed88b4d6d921c1c85c7865e3921c95e968de07b10cccf86e2d62297fdfb91aa5b44e9e9fb7c496aa2fdbbe039eecda668b079328e SHA512 41f0557b73ed41323c8d71d87d143ccd78f980c01027e76c7e6ff4cf375cb8cda55f01a5c4a3cd12fea3459070382b84fd1346995696df7a3e1cc03ff8e71b4e
-DIST setproctitle-1.3.1.tar.gz 27010 BLAKE2B c29f2acc1c02a375227b4f249340d979a4922d1ebf8e6f17f2e5a202ad2e41affe9d0ff8aed0345ebb534a00868896036e15a985c6d21ebbbb341afaa951ae8d SHA512 c21d87555cc258a779dbc5574ef0c58b4fdcd0cc28410a931f05974d9714f2bd9a57fbec4fa1cf16aef21ea50cd900a52eb85974c399b451bc357671d1490dc4
+DIST setproctitle-1.3.3.tar.gz 27253 BLAKE2B 92a789ec5a132e7560e203ef185f914e3b26986da3b53992a1954d3db0ff0b213ffdec5a0db9bf57bd80b197e09481a23541b8979b54a445df1840f469810922 SHA512 daf9954beef0c28b5c9f71e1dbf713e655d2ea6b66387f6f47da5b3b6c679f3faaa26c74d2b7c3b5460468394e0582a1ff45e5d67ff2d85826317fc69c9eb828
diff --git a/dev-python/setproctitle/setproctitle-1.2.3.ebuild b/dev-python/setproctitle/setproctitle-1.2.3.ebuild
deleted file mode 100644
index a66f942b8d4f..000000000000
--- a/dev-python/setproctitle/setproctitle-1.2.3.ebuild
+++ /dev/null
@@ -1,22 +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_{8..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.0.ebuild b/dev-python/setproctitle/setproctitle-1.3.0.ebuild
deleted file mode 100644
index 13ace7223215..000000000000
--- a/dev-python/setproctitle/setproctitle-1.3.0.ebuild
+++ /dev/null
@@ -1,22 +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_{8..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.1.ebuild b/dev-python/setproctitle/setproctitle-1.3.1.ebuild
deleted file mode 100644
index 13ace7223215..000000000000
--- a/dev-python/setproctitle/setproctitle-1.3.1.ebuild
+++ /dev/null
@@ -1,22 +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_{8..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-declarative-requirements/Manifest b/dev-python/setuptools-declarative-requirements/Manifest
deleted file mode 100644
index 89d52db79027..000000000000
--- a/dev-python/setuptools-declarative-requirements/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST setuptools-declarative-requirements-1.2.0.tar.gz 17936 BLAKE2B a5be2b64fc22d5a45136ec2b98c1d4cc6c20e17dc81070d12948b6f536a517ec8a660c105dfc13a4319d1de54409fb4f7a4c6bacaf1291afa13c7ecc27fd933f SHA512 ce0eeb8692ff2ea80db91cad981853da74c0ca80f58b698753de92f6df3ef5e1c158e314d0ac4d0b4fa99a2ad8ee2d7d80a9d1a13f334966c948dee1a0ae3d98
-DIST setuptools-declarative-requirements-1.3.0.gh.tar.gz 19692 BLAKE2B 5030cd7a0b651a11bec8ca9ca4db680c86634c3fe895a6a76544468c2f48aef43a15e30d0c7ba1eea1133dc5b47257a061f6700b8d1e1863d72430a0459ba9f5 SHA512 eb20016ab0b8029a38ff4632d19d63cd4b6396c9d101efce577ac862feb3fc485ac4a644035d3267cd05caf679f9b2259e1d1340f8cd902ea7c7451e099c71cc
diff --git a/dev-python/setuptools-declarative-requirements/metadata.xml b/dev-python/setuptools-declarative-requirements/metadata.xml
deleted file mode 100644
index 27e94aca3590..000000000000
--- a/dev-python/setuptools-declarative-requirements/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">
- <name>Patrick McLean</name>
- <email>chutzpah@gentoo.org</email>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">setuptools-declarative-requirements</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/setuptools-declarative-requirements/setuptools-declarative-requirements-1.2.0-r2.ebuild b/dev-python/setuptools-declarative-requirements/setuptools-declarative-requirements-1.2.0-r2.ebuild
deleted file mode 100644
index 9dd0c2513c1b..000000000000
--- a/dev-python/setuptools-declarative-requirements/setuptools-declarative-requirements-1.2.0-r2.ebuild
+++ /dev/null
@@ -1,51 +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=( pypy3 python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Requirements Support For Setuptools Declarative setup.cfg"
-HOMEPAGE="
- https://pypi.org/project/setuptools-declarative-requirements/
- https://github.com/s0undt3ch/setuptools-declarative-requirements
-"
-SRC_URI="
- https://github.com/s0undt3ch/${PN}/archive/${PV}.tar.gz
- -> ${P}.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- test? (
- dev-python/pypiserver[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_prepare_all() {
- sed -e "s/localhost/127.0.0.1/g" -i tests/conftest.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PIP_DEFAULT_TIMEOUT=3
- local -x PIP_INDEX_URL="http://127.0.0.1:8080"
- epytest -k 'not sdist'
-}
diff --git a/dev-python/setuptools-declarative-requirements/setuptools-declarative-requirements-1.3.0.ebuild b/dev-python/setuptools-declarative-requirements/setuptools-declarative-requirements-1.3.0.ebuild
deleted file mode 100644
index f7b059247728..000000000000
--- a/dev-python/setuptools-declarative-requirements/setuptools-declarative-requirements-1.3.0.ebuild
+++ /dev/null
@@ -1,52 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Requirements Support For Setuptools Declarative setup.cfg"
-HOMEPAGE="
- https://pypi.org/project/setuptools-declarative-requirements/
- https://github.com/s0undt3ch/setuptools-declarative-requirements
-"
-SRC_URI="
- https://github.com/s0undt3ch/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- test? (
- dev-python/pypiserver[${PYTHON_USEDEP}]
- dev-python/pytest-shell-utilities[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_prepare_all() {
- sed -e "/http/s/localhost/127.0.0.1/g" -i tests/conftest.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PIP_DEFAULT_TIMEOUT=3
- local -x PIP_INDEX_URL="http://127.0.0.1:8080"
- epytest -k 'not sdist'
-}
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 0d0da6be1a6a..1ed7da856d44 100644
--- a/dev-python/setuptools-git/setuptools-git-1.2-r3.ebuild
+++ b/dev-python/setuptools-git/setuptools-git-1.2-r3.ebuild
@@ -1,19 +1,19 @@
-# 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_{8..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 2b786cf4a5a4..601516e72924 100644
--- a/dev-python/setuptools-rust/Manifest
+++ b/dev-python/setuptools-rust/Manifest
@@ -1,3 +1,4 @@
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
DIST byteorder-1.4.3.crate 22512 BLAKE2B d39c546ba7346df315297fc53da4bfc77ecb1f38567ddb788549ee31cae2719a8bc0b7d1f1705abb3cff033aa57af004987d90748f5a31765273b3223a011c0d SHA512 8c8000eb8ecf40351c9ce36a3a8acd7a02f81786d1b11aab85adfeffa0f2267ed74df29b2ca5d1d38128484d1d3cad2b673aa0d0441dcd0620dfd3934bb888fa
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
@@ -10,71 +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.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.16.2.crate 350698 BLAKE2B dff6af75527ed3e34839e25810663ba0a1210cebaa4be0030b5fe1032fcbe93e813b9b3ca1398e446cca62ac5d77a025e40c32884f11caa7787fd35fef48af57 SHA512 b4de2d2bd631de6bcf3cb29802d634b27cab36c4f18a6dbf18f44a8e634e105b1222a9342c2978da701f43047e1a2fff41b8ce1efa9def92b5e97063f1a29b37
-DIST pyo3-0.16.5.crate 363266 BLAKE2B 3162d9a3da37b5579a91dbd42d3e200c480b5e3fb3a2ec208735045cb78a8418f6810a72ec24452f24d00961c72a58ccac4f5ca9a567c92c0a82ca37173de442 SHA512 068019c76b1fc3de2e100c6cdf084df24587094aac3479cb1d906f7fc95ab6296cfe4d0d211a1c5696261be5e0e0e96776f5bc5535faf8243432f93e4d2537f9
-DIST pyo3-build-config-0.16.2.crate 23501 BLAKE2B 0dc159f6059d64c7fdc8f287c6785b5db626b5776b5564be2ad33289115ee2cedce63131b8d747d913ac22cff4949b9ded7695672f01bfc6eac31b99db8b7c45 SHA512 ef645bb2bbc408c9e566ee6631fa669a54c51d9c751544f704b6b23852e5575e5178d138a677c4a5cd89d432ca48fbd771b4464f512302ff01e9dc0057aa7897
-DIST pyo3-build-config-0.16.5.crate 28880 BLAKE2B b821818831e410dc75df12f9f9625986ceea97d00f3160fc8cbf7315f003f94bad425bcfb3db73cca07ec62de47b763196e019e37d16beed9d5cf7386c05ca6c SHA512 91a9eb743b05808ccb5816a631e381167b16707515a68bbc43c04dee333c2537fd03ca1ae4a02b26738c79baa695b5dfa603753eee58e9002ac6b33320d275c6
-DIST pyo3-ffi-0.16.2.crate 60227 BLAKE2B cb19ce27510afa61cc0e1f40f27c2cb359fa13f72e9bdef499ecc8d925eac482c0c886dc8175fe0c8e775ebf88a09a55e8ce9df6b672596a8a0fbc1ff4807153 SHA512 2de278222eb74e4cbc67be5ee790de5ba76b06ad3ab09a2fcd0bdb8a1c6daab551a3948d58fd713277150a6cf35a39b71160809990bc8277ed631135dd1ecb2d
-DIST pyo3-ffi-0.16.5.crate 60737 BLAKE2B 84907201cf48e57a6b692a9261d67d005d0b773965116dd22d679eff2a3a02ee4f59678dde896635052e62c55ee2703f30726a65651a0f38fdcb31e8c95e3059 SHA512 8b4a486dfd204ea5c394b6832f5e2ead5cd88bc2a943bbc156fcf70e8212be6fa96af5c9ce06ce28a2d0e702fee858f26b49094070e00be658ffe3fa84265496
-DIST pyo3-macros-0.16.2.crate 8027 BLAKE2B dfe930ba1e718b8626743a36eb395e62010609cde6a58ac324da3137c3d28884b61c2d99efa52091d4cdd9915cbc7c7ffa65b75b851bb9b0f63b492f5621d3b6 SHA512 4988a4f4167f1408bd31454520113419af94f24b0d58c7887345bd5ccda4f6d6c8b3fb5e317a55ecbb2401e1cb0a0c8224ee9d3a7384cced6ef2bb54c0ed0191
-DIST pyo3-macros-0.16.5.crate 8456 BLAKE2B c37f31ebcea08fec38849ac52e6a52613b07e7532d7c79889ad52693461a0966e69a6cf29d4c2c8da19bce7e7d05e8c103dddccbb41667c69b28bb15cd388230 SHA512 c4f4993ab67d2f8fc6f1fe5c0eeffc00c10024e201c64fb49f3075f5c33af63d2d455f7696b094fe9786091469a27c5472cb11aea3e9c3b73404578ba76a93fc
-DIST pyo3-macros-backend-0.16.2.crate 49378 BLAKE2B 9227c6e7e29a316431adf697675e38c267fc2b18423c99b0198739c8eda91b028d8ed1ce1841cd29225db1827e1449ef95db04941e51466be6a266487de63d96 SHA512 5d6a4292ba8ea0910d209d59f8f8cf7e5b00a28d940d8ce2a221c28b782c2f98fde20fdbbedee8aab2f741ddac3a6267fb17a600c00964c2b155a5e43a841510
-DIST pyo3-macros-backend-0.16.5.crate 49221 BLAKE2B 690f5e90074f44478b7701203b8a7b63f1fd83ab20c7458fbafa17e61ff34053c8f81d22151a30aa78980bc983a73cb1e56b2cdc5a55c5d8ab9b7e3941ab7503 SHA512 c85a1f53311355e96284cffc40d181aa65d63f9fffcdf8fa33fa989b771bb1b412ab118c9d3b08b1f686936797edb24c61c000dc59bbc5c69aacccf70b035b4f
-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.3.0.tar.gz 285698 BLAKE2B ecd1a2cdce5a9b3ca7c648c97d472dd0ed60db3738d44cfe601c85ac1cd8f3924cb82fe0a06f02a70d60cbe1956c324f3fe0153275c7bae75a14a21b242ecda7 SHA512 5971413a9544ddd626671de74e9517fb20410e4838c5420ed31653d7fdf07b858ff4ef14ec2d5b51677e3402757da915a76858337d0c2b164682450bce35ba11
-DIST setuptools-rust-1.4.1.tar.gz 288848 BLAKE2B 28f4ac618ae3550158814ac14b87d628ce16f140840c3948d48f486cb5a7f50389eccd78385fe3e5be635dad61bf19e25464d39567c2fc760e247d5a2e692145 SHA512 3b92eb37564872b4094e77c8412b006f57a3557213d1368e2db883bc04f5d0d516a97a5b1f0b5255b362ecc32832d2ef734ac759a49db72439f227d54f8a86f5
+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.3.0.ebuild b/dev-python/setuptools-rust/setuptools-rust-1.3.0.ebuild
deleted file mode 100644
index 07b2de60c5ec..000000000000
--- a/dev-python/setuptools-rust/setuptools-rust-1.3.0.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2022 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_{8..11} pypy3 )
-
-CRATES="
- 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
- 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.16.2
- pyo3-build-config-0.16.2
- pyo3-ffi-0.16.2
- pyo3-macros-0.16.2
- pyo3-macros-backend-0.16.2
- quote-1.0.16
- rand-0.7.3
- rand_chacha-0.2.2
- rand_core-0.5.1
- rand_hc-0.2.0
- rand_pcg-0.2.1
- redox_syscall-0.2.11
- rustc_version-0.4.0
- scopeguard-1.1.0
- selectors-0.22.0
- semver-1.0.6
- serde-1.0.136
- servo_arc-0.1.1
- siphasher-0.3.10
- smallvec-1.8.0
- stable_deref_trait-1.2.0
- string_cache-0.8.3
- string_cache_codegen-0.5.1
- syn-1.0.89
- 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="
- mirror://pypi/${PN::1}/${PN}/${P}.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[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-3.7.4.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools_scm-6.3.2[${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 test >/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.4.1.ebuild b/dev-python/setuptools-rust/setuptools-rust-1.4.1.ebuild
deleted file mode 100644
index d1f06304937c..000000000000
--- a/dev-python/setuptools-rust/setuptools-rust-1.4.1.ebuild
+++ /dev/null
@@ -1,157 +0,0 @@
-# Copyright 1999-2022 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_{8..11} pypy3 )
-
-CRATES="
- 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
- 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.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.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="
- mirror://pypi/${PN::1}/${PN}/${P}.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}]
- >=dev-python/setuptools_scm-6.3.2[${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..0e76efb97976
--- /dev/null
+++ b/dev-python/setuptools-scm/Manifest
@@ -0,0 +1,3 @@
+DIST setuptools-scm-8.0.4.tar.gz 74280 BLAKE2B 317f4955365b6b7d21ddecc846b0158a72537692b70b5f2092183bd93af119875054d775628659b113dec3bdb94575485b6f1e58760f1580b143dc3b0882cb57 SHA512 1b584f20dfad115f379a97de9e96bb3b36ab00986381748c2f395facd26ce01a6556ccfbabeb8f0cf9ce8720b26ce3a00040dba02cc689701ccf1d31f13277da
+DIST setuptools_scm-7.1.0.tar.gz 71904 BLAKE2B be5ae215dadcc290290762b732434258409ecc2d71cdf1332ffe73431effae7cbc33e052a718efd952be79350171ed3e468492fc719bc08750dc23364fb0ee9d SHA512 bd7260672c213db6b8c5842dbb6ac69e69ce040777865c935033971f65d905bd8e6b54e174190a924e452c302e69d4c1de231cbc8f603176ba013a739840dad3
+DIST setuptools_scm-8.1.0.tar.gz 76465 BLAKE2B f50a1c25c93179809cb448dbaeab9d71596c729e374c88c2f8d9f5f7a1d746a001f9aa9fb93478679f1c1af96f35313e1250f96375f56310a4b814ee0542ed52 SHA512 205f1c122539d107a61a7ef01ff9ec225f7b2e6d92fc33a9f2a0c616051cbf32163ac4e6878d898e51cc1ff81fce6c6521a18fc5e09bdbc9d7d2467ba013c57f
diff --git a/dev-python/setuptools_scm/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-scm/setuptools-scm-8.1.0.ebuild b/dev-python/setuptools-scm/setuptools-scm-8.1.0.ebuild
new file mode 100644
index 000000000000..adabb32dbb37
--- /dev/null
+++ b/dev-python/setuptools-scm/setuptools-scm-8.1.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Manage versions by scm tags via setuptools"
+HOMEPAGE="
+ https://github.com/pypa/setuptools_scm/
+ https://pypi.org/project/setuptools-scm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# there's an optional dep on rich for cute logs
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-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 76c7657d112b..f58862845837 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -1,6 +1,2 @@
-DIST setuptools-62.6.0.tar.gz 2599326 BLAKE2B 7f4200f9d9e94fca17fad2c37dab6c2175f5562703d2913ac11cf34020e65dd6aa7d024536e5294de5fb5e9523419526f0b56282da62ba0ca40e7e164c97260e SHA512 d67c438d507fc7959162b5e8c2a15e9c36d37e5cd7052e16eeb58d8a9bcf19b725a0e7b840e101500799d725bbc4c1872d0f79eead66a538e891cc7cfbe3d979
-DIST setuptools-63.1.0.tar.gz 2599380 BLAKE2B 532f484ea0e40a820ac266e878e6210c953a37f32f6ec51032c2570395c71fe7d59b30f8787a1127c7c2ebfcd76985bd3f6f57b558f01a34eced8797cc6d1aa6 SHA512 367b52dfbd5d1a6980d061a47c1948ee8efd9632f694c21e8d518639b8097fbda8f1735641c25d7528bc11beeffc42d6bcba9e0d9b755d5b6fbb74d26bf7cc5c
-DIST setuptools-63.2.0.tar.gz 2605892 BLAKE2B c9475a64fbe22be348277d25582a0c1789544822a891ebfb8e8e79b122631d31bf3535aac1b408a254c1f29ea9ca20bd9b270e4d78ddc539aea4e3c59a6e7f7b SHA512 e55c19bb95415a5f831fd23dfc32cb79fdad71867bc225f2a76caecb3c188fa6a5dac8d13e131a97d1833672a245b28a53a11ceafd67ac19cacd4a247ba7d291
-DIST setuptools-63.3.0.tar.gz 2598685 BLAKE2B 8562824cf6e45f2757cbaf4360c0b7c8e592233875a00e5490de5f2af47ca2d43a6feac5876ca9e866fb840c62dc1b0aa2b2d7c1e5e9baf34741404803b02d31 SHA512 01f3b658862f70e8ce2dd74d9dd82a293216b356f1f3abb3b6b4fa77dd5347156a58959da6e6df349a1c114d58f617890e4bc8c6603f06be0fb3caec9bf21fe2
-DIST setuptools-63.4.1.tar.gz 2598515 BLAKE2B ae75b12d18e35c0d7d48c43eaf8f114dafc739253f672eb3ff2646a8951d0895df95c2d46fd77bb42aeca49a460e652eff41ac109fff24460fbcf02f7400faa1 SHA512 525bba1c07370a633c827629879bd4bf0147aec461ed2d935eaade21635527515eef6bdd1c8809304522cc890929ae0b12a5357e0035807d04cb8fb5a65fbf39
-DIST setuptools-63.4.2.tar.gz 2600520 BLAKE2B e5cedf9f5e58044ec74e45b7232ef64680854ba7be8f2c22e33373c7a8f5fc80578f99c9103eb81bc609fef56021fc7a311b03682842facea019d14387031f89 SHA512 a9cb002f3c9fd3e8ed189f800c45a9ab7bc51640430585226f290c2d6b24655999fbe827ddcc30fdd7f8a6ebd5e87dfc085d2ae1efbf35968213bb7dc77eeaee
+DIST setuptools-69.0.3.tar.gz 2219609 BLAKE2B 1a5e7896c7ea82d51b0aa4794435b9899cef871f6ae43d22ae5e08c57d87b70641f3f2abfcc29956a3de515f90b112fd61d3daf793474b4cf33f8567e3a38f4a SHA512 11df934931f4b73f7e07ea5713479593c6baa134d423556b2ae7aff0f1e5bdbdee1f5b516131adb169c838231ceb0293441fbf275ef7030dabecf74122565b6d
+DIST setuptools-69.5.1.tar.gz 2291314 BLAKE2B 3756dd587136c7e688bdfecf4c0434c0e799f50f9a9a95750d41cb75e26b613b3dc178f43a9e0d21f17c42a7c4ad7461e7986966aefb814e3d0ff05178c82542 SHA512 81f4a5184976a0d4aa070261bb56458c54ec6a479786fa469e98cb336e9a1691b281ae771abe41bc5398fac15b2dd039c07cf014ee00572f46908ce6830fcb6a
diff --git a/dev-python/setuptools/setuptools-62.6.0.ebuild b/dev-python/setuptools/setuptools-62.6.0.ebuild
deleted file mode 100644
index 46976e01afd9..000000000000
--- a/dev-python/setuptools/setuptools-62.6.0.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2022 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_TESTED=( python3_{8..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-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/mock[${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-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
- )
-
- # 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
-
- distutils-r1_src_prepare
-
- 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_distutils_adoption.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
- )
-
- epytest -n "$(makeopts_jobs)" setuptools
-}
diff --git a/dev-python/setuptools/setuptools-63.1.0.ebuild b/dev-python/setuptools/setuptools-63.1.0.ebuild
deleted file mode 100644
index 4133756fb9e7..000000000000
--- a/dev-python/setuptools/setuptools-63.1.0.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2022 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_TESTED=( python3_{8..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-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/mock[${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-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
- )
-
- # 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
-
- distutils-r1_src_prepare
-
- 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_distutils_adoption.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
- )
-
- epytest -n "$(makeopts_jobs)" setuptools
-}
diff --git a/dev-python/setuptools/setuptools-63.2.0.ebuild b/dev-python/setuptools/setuptools-63.2.0.ebuild
deleted file mode 100644
index 4133756fb9e7..000000000000
--- a/dev-python/setuptools/setuptools-63.2.0.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2022 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_TESTED=( python3_{8..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-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/mock[${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-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
- )
-
- # 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
-
- distutils-r1_src_prepare
-
- 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_distutils_adoption.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
- )
-
- epytest -n "$(makeopts_jobs)" setuptools
-}
diff --git a/dev-python/setuptools/setuptools-63.3.0.ebuild b/dev-python/setuptools/setuptools-63.3.0.ebuild
deleted file mode 100644
index e6015c0fc03f..000000000000
--- a/dev-python/setuptools/setuptools-63.3.0.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 1999-2022 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-wheels along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{8..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-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/mock[${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-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
- )
-
- # 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
-
- distutils-r1_src_prepare
-
- 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_distutils_adoption.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
- )
-
- epytest -n "$(makeopts_jobs)" setuptools
-}
diff --git a/dev-python/setuptools/setuptools-63.4.1.ebuild b/dev-python/setuptools/setuptools-63.4.1.ebuild
deleted file mode 100644
index e6015c0fc03f..000000000000
--- a/dev-python/setuptools/setuptools-63.4.1.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 1999-2022 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-wheels along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{8..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-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/mock[${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-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
- )
-
- # 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
-
- distutils-r1_src_prepare
-
- 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_distutils_adoption.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
- )
-
- epytest -n "$(makeopts_jobs)" setuptools
-}
diff --git a/dev-python/setuptools/setuptools-63.4.2.ebuild b/dev-python/setuptools/setuptools-63.4.2.ebuild
deleted file mode 100644
index e6015c0fc03f..000000000000
--- a/dev-python/setuptools/setuptools-63.4.2.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 1999-2022 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-wheels along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{8..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-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/mock[${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-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
- )
-
- # 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
-
- distutils-r1_src_prepare
-
- 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_distutils_adoption.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
- )
-
- 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.5.1-r1.ebuild b/dev-python/setuptools/setuptools-69.5.1-r1.ebuild
new file mode 100644
index 000000000000..dec59bb85752
--- /dev/null
+++ b/dev-python/setuptools/setuptools-69.5.1-r1.ebuild
@@ -0,0 +1,134 @@
+# 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[@]}" python3_13 )
+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 ~loong ~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/wheel-0.37.1-r1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/build[${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/virtualenv-20[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ ' python3_10 pypy3)
+ )
+"
+# 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 2f12c66bb930..000000000000
--- a/dev-python/setuptools_scm/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST setuptools_scm-7.0.5.tar.gz 70716 BLAKE2B 242809a32cd23d9d98e3326714d1435220907eacdb3127558987d0d8be95775b7f8ed284707421a9c52e401c1738c11a01782fee2c0635924122307d3308cc0c SHA512 5b3420f0aaa0dd1655afb0fdcedc3738b75dbb9d8205e0ad67555c251d330a0d3620a7297cfdcfabbc7386a8acf43fe73fa7f3b17e2d156495fd8b2ab7d1c985
diff --git a/dev-python/setuptools_scm/setuptools_scm-7.0.5.ebuild b/dev-python/setuptools_scm/setuptools_scm-7.0.5.ebuild
deleted file mode 100644
index 28dd95ccdd0b..000000000000
--- a/dev-python/setuptools_scm/setuptools_scm-7.0.5.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2022 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_{8..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}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-vcs/git
- !sparc? (
- dev-vcs/mercurial
- )
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fetching from the Internet
- testing/test_regressions.py::test_pip_download
-
- # the usual nondescript gpg-agent failure
- testing/test_git.py::test_git_getdate_signed_commit
-
- # broken by... pbr?
- testing/test_integration.py::test_pyproject_support
-
- # missing files, i guess
- testing/test_git.py::test_git_archhival_from_unfiltered
-)
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 cb155636233b..000000000000
--- a/dev-python/setuptools_scm_git_archive/setuptools_scm_git_archive-1.4.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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 ~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 849cb00d85f1..000000000000
--- a/dev-python/setuptools_trial/setuptools_trial-0.6.0-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 cef2841d5473..000000000000
--- a/dev-python/sexpdata/sexpdata-0.0.3-r2.ebuild
+++ /dev/null
@@ -1,19 +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_{8..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 a2575c494142..7ad804d30cdd 100644
--- a/dev-python/sgmllib3k/sgmllib3k-1.0.0-r1.ebuild
+++ b/dev-python/sgmllib3k/sgmllib3k-1.0.0-r1.ebuild
@@ -1,19 +1,18 @@
-# Copyright 2020-2022 Gentoo Authors
+# 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_{8..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 5a74657fad05..dd3d6cdd60d5 100644
--- a/dev-python/sh/Manifest
+++ b/dev-python/sh/Manifest
@@ -1,2 +1 @@
-DIST sh-1.14.2.tar.gz 63779 BLAKE2B adc9004334a53f3704e22c318df6b4f60fd9ca2d31f5a9601f84abfaf0fe2ded06938b165e10b1a977ed38fcad7d0fa08799f2f552fc2c6b9b4c2a6476477115 SHA512 b7917504ae85606e1986b681274077777ad3011639bfe933d4133c3ed16f930842e03b572caa396ca4d58f41fd5594bef776cc16c4b0fbd1242e57c6aad19e62
-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/metadata.xml b/dev-python/sh/metadata.xml
index 06d79e11c18c..553946706cc6 100644
--- a/dev-python/sh/metadata.xml
+++ b/dev-python/sh/metadata.xml
@@ -18,7 +18,7 @@
print ifconfig("eth0")
sh is not a collection of system commands implemented in Python.
-</longdescription>
+ </longdescription>
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">sh</remote-id>
diff --git a/dev-python/sh/sh-1.14.2-r1.ebuild b/dev-python/sh/sh-1.14.2-r1.ebuild
deleted file mode 100644
index 3e3501afdcd1..000000000000
--- a/dev-python/sh/sh-1.14.2-r1.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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="amd64 arm arm64 hppa ~ia64 ~loong ~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-1.14.3.ebuild b/dev-python/sh/sh-1.14.3.ebuild
deleted file mode 100644
index 233a8137076b..000000000000
--- a/dev-python/sh/sh-1.14.3.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~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 e0d2a0642263..0934e8098cb6 100644
--- a/dev-python/shapely/Manifest
+++ b/dev-python/shapely/Manifest
@@ -1 +1,2 @@
-DIST shapely-1.8.2.gh.tar.gz 322064 BLAKE2B f21f91eb58818aa30464c719b1079d382c5a00f13eda70c532e4a12f1612284240e5c8c110a867c74eaa4aac5f3a21fd10b23c7ce781808d4adc871d038b8b2b SHA512 c85323f180622235257aed28c85640c63bb43cbcb2bd7ed9b354a0f23a92e0ca8becf7a94e85edea3a90cfd01017ddfc6f268f4bb2945639c2cae29a73292bd6
+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/metadata.xml b/dev-python/shapely/metadata.xml
index 6432c651184e..b2f2b59a497d 100644
--- a/dev-python/shapely/metadata.xml
+++ b/dev-python/shapely/metadata.xml
@@ -18,6 +18,6 @@
<bugs-to>https://github.com/shapely/shapely/issues</bugs-to>
<doc>https://shapely.readthedocs.io</doc>
<remote-id type="github">shapely/shapely</remote-id>
- <remote-id type="pypi">Shapely</remote-id>
+ <remote-id type="pypi">shapely</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/shapely/shapely-1.8.2.ebuild b/dev-python/shapely/shapely-1.8.2.ebuild
deleted file mode 100644
index a437821df180..000000000000
--- a/dev-python/shapely/shapely-1.8.2.ebuild
+++ /dev/null
@@ -1,50 +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_{8..11} )
-
-inherit distutils-r1
-
-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}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/matplotlib
-
-src_prepare() {
- rm -r _vendor || die
- sed -i -e 's:_vendor\.::' setup.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- rm -rf shapely || die
- epytest
-}
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-r1.ebuild b/dev-python/shapely/shapely-2.0.4-r1.ebuild
new file mode 100644
index 000000000000..783a39d102fc
--- /dev/null
+++ b/dev-python/shapely/shapely-2.0.4-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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="
+ dev-python/numpy:=[${PYTHON_USEDEP}]
+ >=sci-libs/geos-3.9
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ ${DEPEND}
+ >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0.2-c99.patch
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf shapely || die
+ epytest --pyargs shapely
+}
diff --git a/dev-python/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 d9abb71faf82..e0d57a9d915f 100644
--- a/dev-python/shiboken2/Manifest
+++ b/dev-python/shiboken2/Manifest
@@ -1 +1 @@
-DIST pyside-setup-opensource-src-5.15.2.tar.xz 3472624 BLAKE2B 099abeaf25059a88f299f90b18cf79aa45acd86580c0873767b09f76268d6746cc3576743a19493a605de59b520471ddee6bba0e5340801ef44a21f2a9d41507 SHA512 5043c1c9db4ba0133baaabb4d4943182e9741b1007bedd992394758707a37bba0688dc6413ea46620e7c2fb09daa3c74e6a7bb2c302b9d08e5f3bb7575d02b62
+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.2-numpy-1.23.patch b/dev-python/shiboken2/files/shiboken2-5.15.2-numpy-1.23.patch
deleted file mode 100644
index 6cd9feab800b..000000000000
--- a/dev-python/shiboken2/files/shiboken2-5.15.2-numpy-1.23.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Backport of https://code.qt.io/cgit/pyside/pyside-setup.git/commit/?id=1422cf4a7f277fb13fd209f24a90d6c02641497d.
-
-From 1422cf4a7f277fb13fd209f24a90d6c02641497d Mon Sep 17 00:00:00 2001
-From: Friedemann Kleint <Friedemann.Kleint@qt.io>
-Date: Thu, 23 Jun 2022 10:44:01 +0200
-Subject: libshiboken: Fix build with numpy 1.23.0
-
-Pick-to: 6.3 6.2 5.15
-Change-Id: I885c332d6c948820140946c73ae1926e88834143
-Reviewed-by: Christian Tismer <tismer@stackless.com>
---- 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 ((flags & NPY_ARRAY_UPDATEIFCOPY) != 0)
-- str << " NPY_ARRAY_UPDATEIFCOPY";
-+#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';
- }
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.2-python310.patch b/dev-python/shiboken2/files/shiboken2-5.15.2-python310.patch
deleted file mode 100644
index c4f582ff71de..000000000000
--- a/dev-python/shiboken2/files/shiboken2-5.15.2-python310.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-diff -upr libshiboken/pep384impl.cpp libshiboken/pep384impl.cpp
---- a/libshiboken/pep384impl.cpp 2020-11-11 14:51:30.000000000 +0200
-+++ b/libshiboken/pep384impl.cpp 2021-12-01 15:17:21.444888977 +0200
-@@ -751,14 +751,14 @@ _Pep_PrivateMangle(PyObject *self, PyObj
- #endif // IS_PY2
- Shiboken::AutoDecRef privateobj(PyObject_GetAttr(
- reinterpret_cast<PyObject *>(Py_TYPE(self)), Shiboken::PyMagicName::name()));
--#ifndef Py_LIMITED_API
-- return _Py_Mangle(privateobj, name);
--#else
-- // For some reason, _Py_Mangle is not in the Limited API. Why?
-- size_t plen = PyUnicode_GET_LENGTH(privateobj);
-+
-+ // PYSIDE-1436: _Py_Mangle is no longer exposed; implement it always.
-+ // The rest of this function is our own implementation of _Py_Mangle.
-+ // Please compare the original function in compile.c .
-+ size_t plen = PyUnicode_GET_LENGTH(privateobj.object());
- /* Strip leading underscores from class name */
- size_t ipriv = 0;
-- while (PyUnicode_READ_CHAR(privateobj, ipriv) == '_')
-+ while (PyUnicode_READ_CHAR(privateobj.object(), ipriv) == '_')
- ipriv++;
- if (ipriv == plen) {
- Py_INCREF(name);
-@@ -787,7 +787,6 @@ _Pep_PrivateMangle(PyObject *self, PyObj
- if (amount > big_stack)
- free(resbuf);
- return result;
--#endif // else Py_LIMITED_API
- }
-
- /*****************************************************************************
-diff -upr libshiboken/pep384impl.h libshiboken/pep384impl.h
---- a/libshiboken/pep384impl.h 2020-11-11 14:51:30.000000000 +0200
-+++ b/libshiboken/pep384impl.h 2021-12-01 15:13:58.899521842 +0200
-@@ -40,6 +40,11 @@
- #ifndef PEP384IMPL_H
- #define PEP384IMPL_H
-
-+// PYSIDE-1436: Adapt to Python 3.10
-+#if PY_VERSION_HEX < 0x030900A4
-+# define Py_SET_REFCNT(obj, refcnt) ((Py_REFCNT(obj) = (refcnt)), (void)0)
-+#endif
-+
- extern "C"
- {
-
-@@ -327,7 +332,7 @@ LIBSHIBOKEN_API PyObject *PyRun_String(c
- // But this is no problem as we check it's validity for every version.
-
- #define PYTHON_BUFFER_VERSION_COMPATIBLE (PY_VERSION_HEX >= 0x03030000 && \
-- PY_VERSION_HEX < 0x0309FFFF)
-+ PY_VERSION_HEX < 0x030AFFFF)
- #if !PYTHON_BUFFER_VERSION_COMPATIBLE
- # error Please check the buffer compatibility for this python version!
- #endif
-diff -upr libshiboken/sbkstring.cpp libshiboken/sbkstring.cpp
---- a/libshiboken/sbkstring.cpp 2020-11-11 14:51:30.000000000 +0200
-+++ b/libshiboken/sbkstring.cpp 2021-12-01 15:14:47.703201473 +0200
-@@ -247,7 +247,7 @@ static void finalizeStaticStrings()
- {
- auto &set = staticStrings();
- for (PyObject *ob : set) {
-- Py_REFCNT(ob) = 1;
-+ Py_SET_REFCNT(ob, 1);
- Py_DECREF(ob);
- }
- set.clear();
-diff -upr shibokenmodule/files.dir/shibokensupport/signature/mapping.py shibokenmodule/files.dir/shibokensupport/signature/mapping.py
---- a/shibokenmodule/files.dir/shibokensupport/signature/mapping.py 2020-11-11 14:51:30.000000000 +0200
-+++ b/shibokenmodule/files.dir/shibokensupport/signature/mapping.py 2021-12-01 15:15:14.560100869 +0200
-@@ -300,6 +300,7 @@ type_map.update({
- "zero(object)": None,
- "zero(str)": "",
- "zero(typing.Any)": None,
-+ "zero(Any)": None,
- })
-
- type_map.update({
-diff -upr shibokenmodule/files.dir/shibokensupport/signature/parser.py shibokenmodule/files.dir/shibokensupport/signature/parser.py
---- a/shibokenmodule/files.dir/shibokensupport/signature/parser.py 2020-11-11 14:51:30.000000000 +0200
-+++ b/shibokenmodule/files.dir/shibokensupport/signature/parser.py 2021-12-01 15:25:43.267843740 +0200
-@@ -43,10 +43,11 @@ import sys
- import re
- import warnings
- import types
-+import typing
- import keyword
- import functools
- from shibokensupport.signature.mapping import (type_map, update_mapping,
-- namespace, typing, _NotCalled, ResultVariable, ArrayLikeVariable)
-+ namespace, _NotCalled, ResultVariable, ArrayLikeVariable)
- from shibokensupport.signature.lib.tool import (SimpleNamespace,
- build_brace_pattern)
-
-@@ -222,7 +223,7 @@ def _resolve_arraytype(thing, line):
- def to_string(thing):
- if isinstance(thing, str):
- return thing
-- if hasattr(thing, "__name__"):
-+ if hasattr(thing, "__name__") and thing.__module__ != "typing":
- dot = "." in str(thing)
- name = get_name(thing)
- return thing.__module__ + "." + name if dot else name
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.2-python311-fixups.patch b/dev-python/shiboken2/files/shiboken2-5.15.2-python311-fixups.patch
deleted file mode 100644
index 4ab435555591..000000000000
--- a/dev-python/shiboken2/files/shiboken2-5.15.2-python311-fixups.patch
+++ /dev/null
@@ -1,47 +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/libshiboken/basewrapper.cpp
-+++ b/libshiboken/basewrapper.cpp
-@@ -366,7 +366,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);
-@@ -1110,7 +1114,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
-@@ -741,7 +741,11 @@ newTypeWithName(const char *name,
- copyNumberMethods(numbers_fromFlag, newslots, &idx);
- newspec.slots = newslots;
- auto *type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&newspec));
-- 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.2-python311.patch b/dev-python/shiboken2/files/shiboken2-5.15.2-python311.patch
deleted file mode 100644
index 063861a1cb1a..000000000000
--- a/dev-python/shiboken2/files/shiboken2-5.15.2-python311.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-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>
---- a/libshiboken/basewrapper.cpp
-+++ b/libshiboken/basewrapper.cpp
-@@ -1468,6 +1468,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/basewrapper.cpp
-+++ b/libshiboken/basewrapper.cpp
-@@ -366,7 +366,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);
-@@ -1110,7 +1110,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
---- a/libshiboken/sbkenum.cpp
-+++ b/libshiboken/sbkenum.cpp
-@@ -741,7 +741,7 @@ newTypeWithName(const char *name,
- copyNumberMethods(numbers_fromFlag, newslots, &idx);
- newspec.slots = newslots;
- auto *type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&newspec));
-- Py_TYPE(type) = SbkEnumType_TypeF();
-+ Py_SET_TYPE(type, SbkEnumType_TypeF());
-
- auto *enumType = reinterpret_cast<SbkEnumType *>(type);
- PepType_SETP(enumType)->cppName = cppName;
-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
-
---- a/libshiboken/sbkstring.cpp
-+++ b/libshiboken/sbkstring.cpp
-@@ -5,8 +5,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
- {
-@@ -179,6 +185,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
-@@ -225,6 +238,8 @@ PyObject *createStaticString(const char *str)
- return result;
- }
-
-+#endif // !USE_INTERN_STRINGS
-+
- ///////////////////////////////////////////////////////////////////////
- //
- // PYSIDE-1019: Helper function for snake_case vs. camelCase names
-cgit v1.2.1
-
diff --git a/dev-python/shiboken2/metadata.xml b/dev-python/shiboken2/metadata.xml
index c0eff1d300a3..a7c45f401a25 100644
--- a/dev-python/shiboken2/metadata.xml
+++ b/dev-python/shiboken2/metadata.xml
@@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="proxy">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>waebbl-gentoo@posteo.net</email>
+ <name>Bernd Waibel</name>
+ </maintainer>
<use>
<flag name="docstrings">Expose documentation as Python docstrings (recommended)</flag>
<flag name="numpy">Implicitly convert passed NumPy arrays to Qt lists</flag>
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.2-r2.ebuild b/dev-python/shiboken2/shiboken2-5.15.2-r2.ebuild
deleted file mode 100644
index b022d8ba5b8c..000000000000
--- a/dev-python/shiboken2/shiboken2-5.15.2-r2.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 1999-2022 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_{8..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.
-RDEPEND="${PYTHON_DEPS}
- >=dev-qt/qtcore-${QT_PV}
- sys-devel/clang:=
- sys-devel/clang-runtime:=
- 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}/${P}-python310.patch"
- "${FILESDIR}/${P}-numpy-1.23.patch"
- "${FILESDIR}/${P}-python311.patch"
- "${FILESDIR}"/${PN}-5.15.2-python311-fixups.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)"
- 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
new file mode 100644
index 000000000000..be987c7433ba
--- /dev/null
+++ b/dev-python/shiboken6/Manifest
@@ -0,0 +1 @@
+DIST pyside-setup-everywhere-src-6.7.0.tar.xz 14382456 BLAKE2B 607e496cdeb7e55166b4f0dc15662a8792c7d8925856e8edbb927dfdc33342d158f430e3433d3d4a78ea33740e333fb2422ea1f4332408c3c6214f92d31bdd0d SHA512 7801d564d8d359edec431dc0e6f170538b9fc6f834cb7ab8eff41c1989bffb619c446d4d62d65db2a5b7592c0bff5d450d42de2797726658fe1a8f53df8a4c14
diff --git a/dev-python/shiboken6/files/shiboken6-6.3.1-no-strip.patch b/dev-python/shiboken6/files/shiboken6-6.3.1-no-strip.patch
new file mode 100644
index 000000000000..c43f945964d1
--- /dev/null
+++ b/dev-python/shiboken6/files/shiboken6-6.3.1-no-strip.patch
@@ -0,0 +1,26 @@
+diff --git a/libshiboken/CMakeLists.txt b/libshiboken/CMakeLists.txt
+index c65dcdb..f27287f 100644
+--- a/libshiboken/CMakeLists.txt
++++ b/libshiboken/CMakeLists.txt
+@@ -140,8 +140,6 @@ set_target_properties(libshiboken PROPERTIES OUTPUT_NAME "shiboken6${shiboken6_S
+ SOVERSION ${libshiboken_SOVERSION}
+ DEFINE_SYMBOL BUILD_LIBSHIBOKEN)
+
+-qfp_strip_library("libshiboken")
+-
+ install(FILES
+ autodecref.h
+ basewrapper.h
+diff --git a/shibokenmodule/CMakeLists.txt b/shibokenmodule/CMakeLists.txt
+index 2d52766..8defd5d 100644
+--- a/shibokenmodule/CMakeLists.txt
++++ b/shibokenmodule/CMakeLists.txt
+@@ -34,8 +34,6 @@ target_link_libraries(shibokenmodule PUBLIC libshiboken)
+
+ create_generator_target(shibokenmodule)
+
+-qfp_strip_library("shibokenmodule")
+-
+ install(TARGETS shibokenmodule DESTINATION ${PYTHON_SITE_PACKAGES}/shiboken6)
+
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/_config.py.in"
diff --git a/dev-python/shiboken6/metadata.xml b/dev-python/shiboken6/metadata.xml
new file mode 100644
index 000000000000..e9260d23bd94
--- /dev/null
+++ b/dev-python/shiboken6/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" proxied="proxy">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>waebbl-gentoo@posteo.net</email>
+ <name>Bernd Waibel</name>
+ </maintainer>
+ <use>
+ <flag name="docstrings">Expose documentation as Python docstrings (recommended)</flag>
+ <flag name="numpy">Implicitly convert passed NumPy arrays to Qt lists</flag>
+ <flag name="vulkan">Generate "QSurface::VulkanSurface" bindings</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">shiboken6</remote-id>
+ </upstream>
+</pkgmetadata>
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..fb64e3ad4dd7
--- /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 ~arm 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 4e5245f7c9ab..000000000000
--- a/dev-python/signature_dispatch/signature_dispatch-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..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 d52dc8df1afc..5c19a7f8df46 100644
--- a/dev-python/signedjson/metadata.xml
+++ b/dev-python/signedjson/metadata.xml
@@ -1,14 +1,11 @@
<?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>
<remote-id type="github">matrix-org/python-signedjson</remote-id>
diff --git a/dev-python/signedjson/signedjson-1.1.4.ebuild b/dev-python/signedjson/signedjson-1.1.4.ebuild
index 9807bb723e92..a1b79283e894 100644
--- a/dev-python/signedjson/signedjson-1.1.4.ebuild
+++ b/dev-python/signedjson/signedjson-1.1.4.ebuild
@@ -1,17 +1,17 @@
-# 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
DESCRIPTION="Signs JSON objects with ED25519 signatures."
HOMEPAGE="
- https://github.com/matrix-org/python-signedjson
- https://pypi.python.org/pypi/signedjson
+ https://github.com/matrix-org/python-signedjson/
+ https://pypi.org/project/signedjson/
"
SRC_URI="https://github.com/matrix-org/python-signedjson/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
@@ -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 5097239f4df7..21f41b229d50 100644
--- a/dev-python/simber/Manifest
+++ b/dev-python/simber/Manifest
@@ -1 +1 @@
-DIST simber-0.2.4.tar.gz 91600 BLAKE2B 64ef49a8458fc98bfe87ceaeaa7bfcf9f76c8283f8a80cd918dcc8709ca5f4c2b1d657fda345812b3cb280855f3bc7bc9e3d8045b593bc8dd9dbc134f84e0e81 SHA512 17def9e8c6f0695ec36b5e48011d2db892436b7076203fe008aac7c8c2ce0e0ab9cc5be45f6eb136984f41997a7e91549c77cb1761b65694039619bdb8397ae1
+DIST simber-0.2.6.gh.tar.gz 91616 BLAKE2B 7c5cd87ba3c87315369f9d966f11cadc1578c410bf99c0d2f82f89bf4f3f008d32b6ce35126110db7ea218e6eabcb19e0a54e401cfa53610432a0e4ef381d4a7 SHA512 805f5c4aa08e1a6af803528648d3359d745fafba5e44ac416a8bdfc1e9c4ec80e9436aecd82e5b8efb16ec8b346074dc5b1300026ae21e4211777a0eb1642986
diff --git a/dev-python/simber/metadata.xml b/dev-python/simber/metadata.xml
index 240cc57edb23..8ad401e7208c 100644
--- a/dev-python/simber/metadata.xml
+++ b/dev-python/simber/metadata.xml
@@ -6,6 +6,10 @@
<email>xgqt@gentoo.org</email>
<name>Maciej Barć</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<upstream>
<bugs-to>https://github.com/deepjyoti30/simber/issues/</bugs-to>
<remote-id type="github">deepjyoti30/simber</remote-id>
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 00d98b96fe71..000000000000
--- a/dev-python/simber/simber-0.2.4.ebuild
+++ /dev/null
@@ -1,21 +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_{8..10} )
-
-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.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 1bd64a777a9d..615cece994e9 100644
--- a/dev-python/simpervisor/Manifest
+++ b/dev-python/simpervisor/Manifest
@@ -1 +1 @@
-DIST simpervisor-0.4.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.ebuild b/dev-python/simpervisor/simpervisor-0.4.ebuild
deleted file mode 100644
index a4917e465cf2..000000000000
--- a/dev-python/simpervisor/simpervisor-0.4.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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}.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 6eba77932096..000000000000
--- a/dev-python/simplebayes/simplebayes-1.5.8.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8..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.ebuild b/dev-python/simpleeval/simpleeval-0.9.12.ebuild
deleted file mode 100644
index 3d8806ea1a9f..000000000000
--- a/dev-python/simpleeval/simpleeval-0.9.12.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_SETUPTOOLS=pyproject.toml
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A simple, safe single expression evaluator library"
-HOMEPAGE="https://github.com/danthedeckie/simpleeval"
-SRC_URI="mirror://pypi/s/${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/Manifest b/dev-python/simplegeneric/Manifest
deleted file mode 100644
index 3459f19c92b1..000000000000
--- a/dev-python/simplegeneric/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST simplegeneric-0.8.1.zip 12663 BLAKE2B cc3d70f8f4f04209b7ce259c6caaccec001515a3da04736cb8baa5fe7e6091f4f85bdde0c5c4227a01bfe52739f51ab0116d8bfdc4bb58bd2188c3a54c5eac37 SHA512 74c25d4e04fe197058cb43fabe3702cc5901989dc0b0bcf7511369f4f3d90fd98e4225174db0680c8f39389914f82824bdbdaf4c302b53998fbabbf0dba393e4
diff --git a/dev-python/simplegeneric/metadata.xml b/dev-python/simplegeneric/metadata.xml
deleted file mode 100644
index 348f365dd42e..000000000000
--- a/dev-python/simplegeneric/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="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <longdescription>
- The simplegeneric module lets you define simple single-dispatch
- generic functions, akin to Python's built-in generic functions like len(),
- iter() and so on. However, instead of using specially-named methods, these
- generic functions use simple lookup tables, akin to those used by
- e.g. pickle.dump() and other generic functions found in the Python
- standard library.
- </longdescription>
- <upstream>
- <remote-id type="pypi">simplegeneric</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/simplegeneric/simplegeneric-0.8.1-r1.ebuild b/dev-python/simplegeneric/simplegeneric-0.8.1-r1.ebuild
deleted file mode 100644
index c062692b4dfc..000000000000
--- a/dev-python/simplegeneric/simplegeneric-0.8.1-r1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple generic functions for Python"
-HOMEPAGE="https://pypi.org/project/simplegeneric/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-BDEPEND="app-arch/unzip"
-
-distutils_enable_tests setup.py
diff --git a/dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild b/dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild
deleted file mode 100644
index 6cda9300b798..000000000000
--- a/dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild
+++ /dev/null
@@ -1,21 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple generic functions for Python"
-HOMEPAGE="https://pypi.org/project/simplegeneric/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-BDEPEND="app-arch/unzip"
-
-distutils_enable_tests setup.py
diff --git a/dev-python/simplejson/Manifest b/dev-python/simplejson/Manifest
index c5dda2b98763..070b48b4c162 100644
--- a/dev-python/simplejson/Manifest
+++ b/dev-python/simplejson/Manifest
@@ -1 +1 @@
-DIST simplejson-3.17.6.tar.gz 83134 BLAKE2B 5aa9275673a0c8feab2a86f1bc85864791a847a7eda77ea6f3e4f8d8677ff88d2277ff659285d183d2d439c58e78b25846badb3a2fddbc959d40eb23273dfa2b SHA512 4a25032fcc78025d82db571716deef8769f036a330560f92e14563687db4a42dbe60866b8afb57baf24104ef94fcbe938cdbddfc169542664957eef2d00d04e3
+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.17.6.ebuild b/dev-python/simplejson/simplejson-3.17.6.ebuild
deleted file mode 100644
index a61f4bbe1312..000000000000
--- a/dev-python/simplejson/simplejson-3.17.6.ebuild
+++ /dev/null
@@ -1,24 +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_{8..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 56ce9f1be94c..a022f1c8ea54 100644
--- a/dev-python/simplekml/simplekml-1.3.6.ebuild
+++ b/dev-python/simplekml/simplekml-1.3.6.ebuild
@@ -1,15 +1,14 @@
-# Copyright 2019-2022 Gentoo Authors
+# 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_{8..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.ebuild b/dev-python/simpy/simpy-4.0.1.ebuild
deleted file mode 100644
index 86288c2b3512..000000000000
--- a/dev-python/simpy/simpy-4.0.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} )
-PYTHON_REQ_USE="tk"
-
-inherit distutils-r1
-
-MY_P="${P/simpy/SimPy}"
-
-DESCRIPTION="Object-oriented, process-based discrete-event simulation language"
-HOMEPAGE="https://simpy.readthedocs.org"
-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 --install 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/simsimd/Manifest b/dev-python/simsimd/Manifest
new file mode 100644
index 000000000000..f8e563bde92f
--- /dev/null
+++ b/dev-python/simsimd/Manifest
@@ -0,0 +1 @@
+DIST SimSIMD-4.3.1.gh.tar.gz 105424 BLAKE2B b5886261ad8290662325321816cf9e7eeb7059b58e3e2352f341345667393d4ee009a840061768666234ae2619bbd4c7522726a2efc4f60935309a393649fd22 SHA512 722a8ae473d4526130a0d80bd6074ba6cee7a2566414505b7db8cd4d63efade2470153e4364a9cff140780fc839264c7ccb6580983170d25ff3bbb4a00d78155
diff --git a/dev-python/simsimd/metadata.xml b/dev-python/simsimd/metadata.xml
new file mode 100644
index 000000000000..2d9fde8689d5
--- /dev/null
+++ b/dev-python/simsimd/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ashvardanian/SimSIMD</remote-id>
+ <remote-id type="pypi">simsimd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/simsimd/simsimd-4.3.1.ebuild b/dev-python/simsimd/simsimd-4.3.1.ebuild
new file mode 100644
index 000000000000..ede8569c67d3
--- /dev/null
+++ b/dev-python/simsimd/simsimd-4.3.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 toolchain-funcs
+
+MY_P=SimSIMD-${PV}
+DESCRIPTION="Fastest SIMD-Accelerated Vector Similarity Functions for x86 and Arm"
+HOMEPAGE="
+ https://github.com/ashvardanian/SimSIMD/
+ https://pypi.org/project/simsimd/
+"
+# no sdist, as of 4.3.1
+# https://github.com/ashvardanian/SimSIMD/issues/113
+SRC_URI="
+ https://github.com/ashvardanian/SimSIMD/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="openmp"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-repeat[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
+ tc-check-openmp
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
+ tc-check-openmp
+ fi
+}
+
+src_prepare() {
+ # https://github.com/ashvardanian/SimSIMD/pull/115
+ sed -i -e '/-O3/d' -e 's:-lgomp:-fopenmp:' setup.py || die
+ if ! use openmp; then
+ sed -i -e '/-fopenmp/d' setup.py || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p repeat python/test.py
+}
diff --git a/dev-python/sip/Manifest b/dev-python/sip/Manifest
index 9c197847ec48..7ee71215d482 100644
--- a/dev-python/sip/Manifest
+++ b/dev-python/sip/Manifest
@@ -1,3 +1,2 @@
-DIST sip-4.19.25.tar.gz 1056384 BLAKE2B f92e105e6b30e871aea2883dc9cd459e4032fb139a9eaff153a3412a66b39df4d7ac985711a2693aee83195ff3850ae648bee4102f7fc3cc30d09885799f2b98 SHA512 60fb4133c68869bf0993144978b4847d94a0f9c7b477f64a346ea133cfe35bc11820204ab327dcf9a929b6f65a26d16cc7efbce65e49967c3347b39376e57001
-DIST sip-6.6.1.tar.gz 1134991 BLAKE2B dec51bce80566ffad25dd67686a746134e032f3cf1696fbf256d000d266f9e3921dcafaead40bcf3dc67d42aa89c5982d090abde7d8b3c3f8ec6ddd4470b9a43 SHA512 49d03730819210f4239946da0ddd0694583dc13458997edc11895ef399d8017f38e3354a87bae495492c3cf3334b810c2d924ec0f5bbb129e88cc15eac720c01
-DIST sip-6.6.2.tar.gz 1143535 BLAKE2B 92158af35be47a7581b71d97d1d79f6ca9022144144e3e44e09ccbfa3a285ebb4cec1264e621275159345c33f0f45c86183f7ea1fb3792aca2aeb64d9e46f7ad SHA512 5e031baa9ff6d8d19f4c36ef7c3900c6440d261102259cdc12fce28471a849fed80c123bf31ad506b099a925b2967eb5863e6736ac00fbcff99198711cf0e5e5
+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.5.0-pep517-args.patch b/dev-python/sip/files/sip-6.5.0-pep517-args.patch
deleted file mode 100644
index c4d39dcf6156..000000000000
--- a/dev-python/sip/files/sip-6.5.0-pep517-args.patch
+++ /dev/null
@@ -1,190 +0,0 @@
-Backport from https://www.riverbankcomputing.com/hg/sip/
-
-changeset: 2771:8543f04b374f
-branch: 6.6-maint
-tag: tip
-user: Phil Thompson <phil@riverbankcomputing.com>
-date: Tue May 10 13:58:28 2022 +0100
-summary: Fixed the PEP571 backend to handle multiple instances of the same config
-
-changeset: 2769:c02af095a016
-branch: 6.6-maint
-user: Phil Thompson <phil@riverbankcomputing.com>
-date: Sat May 07 15:18:14 2022 +0100
-summary: Fix an API backward incompatibility.
-
-changeset: 2768:98dbce3e62f1
-branch: 6.6-maint
-user: Phil Thompson <phil@riverbankcomputing.com>
-date: Sat May 07 15:03:49 2022 +0100
-summary: Any config settings passed by a PEP 571 frontend are now used.
-
-diff -r 8583e2bb1b32 sipbuild/abstract_project.py
---- a/sipbuild/abstract_project.py Thu Nov 25 18:15:32 2021 +0000
-+++ b/sipbuild/abstract_project.py Tue May 10 16:15:30 2022 +0200
-@@ -1,4 +1,4 @@
--# Copyright (c) 2020, Riverbank Computing Limited
-+# Copyright (c) 2022, Riverbank Computing Limited
- # All rights reserved.
- #
- # This copy of SIP is licensed for use under the terms of the SIP License
-@@ -34,7 +34,7 @@
- """ This specifies the API of a project. """
-
- @classmethod
-- def bootstrap(cls, tool, tool_description=''):
-+ def bootstrap(cls, tool, tool_description='', arguments=None):
- """ Return an AbstractProject instance fully configured for a
- particular command line tool.
- """
-@@ -79,6 +79,10 @@
- "The project factory did not return an AbstractProject "
- "object")
-
-+ # We set this as an attribute rather than change the API of the ctor or
-+ # setup().
-+ project.arguments = arguments
-+
- # Complete the configuration of the project.
- project.setup(pyproject, tool, tool_description)
-
-diff -r 8583e2bb1b32 sipbuild/api.py
---- a/sipbuild/api.py Thu Nov 25 18:15:32 2021 +0000
-+++ b/sipbuild/api.py Tue May 10 16:15:30 2022 +0200
-@@ -1,4 +1,4 @@
--# Copyright (c) 2019, Riverbank Computing Limited
-+# Copyright (c) 2022, Riverbank Computing Limited
- # All rights reserved.
- #
- # This copy of SIP is licensed for use under the terms of the SIP License
-@@ -28,10 +28,8 @@
- def build_sdist(sdist_directory, config_settings=None):
- """ The PEP 517 hook for building an sdist from pyproject.toml. """
-
-- # Note that we ignore config_settings until we have a frontend that we can
-- # fully test with. (pip seems lacking at the moment.)
--
-- project = AbstractProject.bootstrap('pep517')
-+ project = AbstractProject.bootstrap('sdist',
-+ arguments=_convert_config_settings(config_settings))
-
- # pip executes this in a separate process and doesn't handle exceptions
- # very well. However it does capture stdout and (eventually) show it to
-@@ -45,10 +43,8 @@
- def build_wheel(wheel_directory, config_settings=None, metadata_directory=None):
- """ The PEP 517 hook for building a wheel from pyproject.toml. """
-
-- # Note that we ignore config_settings until we have a frontend that we can
-- # fully test with. (pip seems lacking at the moment.)
--
-- project = AbstractProject.bootstrap('pep517')
-+ project = AbstractProject.bootstrap('wheel',
-+ arguments=_convert_config_settings(config_settings))
-
- # pip executes this in a separate process and doesn't handle exceptions
- # very well. However it does capture stdout and (eventually) show it to
-@@ -57,3 +53,26 @@
- return project.build_wheel(wheel_directory)
- except Exception as e:
- handle_exception(e)
-+
-+
-+def _convert_config_settings(config_settings):
-+ """ Return any configuration settings from the frontend to a pseudo-command
-+ line.
-+ """
-+
-+ if config_settings is None:
-+ config_settings = {}
-+
-+ args = []
-+
-+ for name, value in config_settings.items():
-+ if value:
-+ if not isinstance(value, list):
-+ value = [value]
-+
-+ for m_value in value:
-+ args.append(name + '=' + m_value)
-+ else:
-+ args.append(name)
-+
-+ return args
-diff -r 8583e2bb1b32 sipbuild/configurable.py
---- a/sipbuild/configurable.py Thu Nov 25 18:15:32 2021 +0000
-+++ b/sipbuild/configurable.py Tue May 10 16:15:30 2022 +0200
-@@ -1,4 +1,4 @@
--# Copyright (c) 2021, Riverbank Computing Limited
-+# Copyright (c) 2022, Riverbank Computing Limited
- # All rights reserved.
- #
- # This copy of SIP is licensed for use under the terms of the SIP License
-@@ -244,7 +244,7 @@
- """
-
- # The tools that will build a set of bindings.
-- BUILD_TOOLS = ('build', 'install', 'pep517', 'wheel')
-+ BUILD_TOOLS = ('build', 'install', 'wheel')
-
- # All the valid tools.
- _ALL_TOOLS = BUILD_TOOLS + ('sdist', )
-diff -r 8583e2bb1b32 sipbuild/project.py
---- a/sipbuild/project.py Thu Nov 25 18:15:32 2021 +0000
-+++ b/sipbuild/project.py Tue May 10 16:15:30 2022 +0200
-@@ -155,6 +155,7 @@
-
- # The current directory should contain the .toml file.
- self.root_dir = os.getcwd()
-+ self.arguments = None
- self.bindings = collections.OrderedDict()
- self.bindings_factories = []
- self.builder = None
-@@ -204,11 +205,6 @@
- def apply_user_defaults(self, tool):
- """ Set default values for user options that haven't been set yet. """
-
-- # If we are the backend to a 3rd-party frontend (most probably pip)
-- # then let it handle the verbosity of messages.
-- if self.verbose is None and tool == '':
-- self.verbose = True
--
- # This is only used when creating sdist and wheel files.
- if self.name is None:
- self.name = self.metadata['name']
-@@ -569,14 +565,9 @@
- # Set the initial configuration from the pyproject.toml file.
- self._set_initial_configuration(pyproject, tool)
-
-- # Add any tool-specific command line options for (so far unspecified)
-+ # Add any tool-specific command line arguments for (so far unspecified)
- # parts of the configuration.
-- if tool != 'pep517':
-- self._configure_from_command_line(tool, tool_description)
-- else:
-- # Until pip improves it's error reporting we give the user all the
-- # help we can.
-- self.verbose = True
-+ self._configure_from_arguments(tool, tool_description)
-
- # Now that any help has been given we can report a problematic
- # pyproject.toml file.
-@@ -712,8 +703,8 @@
- for bindings in self.bindings.values():
- bindings.verify_configuration(tool)
-
-- def _configure_from_command_line(self, tool, tool_description):
-- """ Update the configuration from the user supplied command line. """
-+ def _configure_from_arguments(self, tool, tool_description):
-+ """ Update the configuration from any user supplied arguments. """
-
- from argparse import SUPPRESS
- from .argument_parser import ArgumentParser
-@@ -739,7 +730,7 @@
- bindings.add_command_line_options(parser, tool, all_options)
-
- # Parse the arguments and update the corresponding configurables.
-- args = parser.parse_args()
-+ args = parser.parse_args(self.arguments)
-
- for option, configurables in all_options.items():
- for configurable in configurables:
diff --git a/dev-python/sip/files/sip-6.6.1-python311-invalid-regex.patch b/dev-python/sip/files/sip-6.6.1-python311-invalid-regex.patch
deleted file mode 100644
index 908111627854..000000000000
--- a/dev-python/sip/files/sip-6.6.1-python311-invalid-regex.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-
-# HG changeset patch
-# User Phil Thompson <phil@riverbankcomputing.com>
-# Date 1651507410 -3600
-# Node ID 3d656f0765f508ea9714b5e7c9ce00e304e6f600
-# Parent c179f418c5bee188e3ec7a0c0e50f9eab34cf12f
-Fixed indented directives.
-
-diff -r c179f418c5be -r 3d656f0765f5 sipbuild/generator/parser/tokens.py
---- a/sipbuild/generator/parser/tokens.py Mon May 02 16:51:06 2022 +0100
-+++ b/sipbuild/generator/parser/tokens.py Mon May 02 17:03:30 2022 +0100
-@@ -174,7 +174,7 @@
-
- # Handle directives.
- def t_DIRECTIVE(t):
-- r'(?m)^\s*%[a-zA-Z][a-zA-Z]*'
-+ r'%[a-zA-Z][a-zA-Z]*'
-
- # The name of the directive is used as its type.
- name = t.value[t.value.index('%') + 1:]
-
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 6847f5907166..000000000000
--- a/dev-python/sip/sip-4.19.25-r1.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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.6.1.ebuild b/dev-python/sip/sip-6.6.1.ebuild
deleted file mode 100644
index fa5b7a2265af..000000000000
--- a/dev-python/sip/sip-6.6.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 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}]
- dev-python/toml[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-python311-invalid-regex.patch"
- "${FILESDIR}/${PN}-6.5.0-pep517-args.patch"
-)
-
-distutils_enable_sphinx doc --no-autodoc
diff --git a/dev-python/sip/sip-6.6.2.ebuild b/dev-python/sip/sip-6.6.2.ebuild
deleted file mode 100644
index 0633666aa3de..000000000000
--- a/dev-python/sip/sip-6.6.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 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}]
- dev-python/toml[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx doc --no-autodoc
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 93a91b8888a7..9850b41681e3 100644
--- a/dev-python/six/six-1.16.0-r1.ebuild
+++ b/dev-python/six/six-1.16.0-r1.ebuild
@@ -1,32 +1,41 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} 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
python_test() {
local EPYTEST_DESELECT=()
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- 'test_six.py::test_move_items[dbm_ndbm]'
- )
-
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ 'test_six.py::test_move_items[dbm_ndbm]'
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ 'test_six.py::test_move_items[tkinter_tix]'
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest
}
diff --git a/dev-python/slackclient/Manifest b/dev-python/slackclient/Manifest
deleted file mode 100644
index f70f221aa6eb..000000000000
--- a/dev-python/slackclient/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST slackclient-2.5.0.tar.gz 49814 BLAKE2B 19f9e66af086d431494de0ef7f3569657eb769022223d0e9b0f74c0600858e20de397fd385dc1c41d416eb3a98a7437d2b0c1b5e156be6d98941b26749103c5b SHA512 3a7a1e741e81e673cb09f8b1d9a18ca3d0e7a0e41a7ac6062725b87752f3877548faa0f9150eb1b1775479dfe9035d03fd4d991ac108b0f634cc179f4b70e2db
diff --git a/dev-python/slackclient/metadata.xml b/dev-python/slackclient/metadata.xml
deleted file mode 100644
index 3d3c0d259590..000000000000
--- a/dev-python/slackclient/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>robbat2@gentoo.org</email>
- <name>Robin H. Johnson</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">slackapi/python-slackclient</remote-id>
- <remote-id type="pypi">slackclient</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/slackclient/slackclient-2.5.0.ebuild b/dev-python/slackclient/slackclient-2.5.0.ebuild
deleted file mode 100644
index b9fe8acb2f4c..000000000000
--- a/dev-python/slackclient/slackclient-2.5.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit distutils-r1
-
-DESCRIPTION="Client for Slack supporting the Slack Web and Real Time Messaging API"
-HOMEPAGE="https://github.com/slackapi/python-slackclient"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-RESTRICT="test" # upstream does not include tests in the package tarball!
-
-RDEPEND="
- dev-python/aiodns[${PYTHON_USEDEP}]
- dev-python/aiohttp[${PYTHON_USEDEP}]"
-
-src_prepare() {
- # Upstream uses pytest-runner as an extra optional target in setup.py as
- # part of tooling to generate distfiles.
- sed -i \
- -e '/setup_requires=/s,"pytest-runner",,' \
- "${S}"/setup.py || die
- default
-}
diff --git a/dev-python/slimit/Manifest b/dev-python/slimit/Manifest
deleted file mode 100644
index f68f9ac306ce..000000000000
--- a/dev-python/slimit/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST slimit-0.8.1.tar.gz 90096 BLAKE2B 9bf7a00fa7aa48a47950b2db66868c03e3923ed7b878ac4d93bd92becc1909cb79a15365db8185f6d8872028e0d01343394e4c768149155bc6aaeb4acf69954f SHA512 ce33dd15c755b8327a73121322b525738b5f8d83c08b0b6329fa6e090575c68883b4bfa29df04544e5f566f3a81a60e480b5e760e2b0e67644a7db5e25604cc0
diff --git a/dev-python/slimit/files/slimit-0.8.1-fix-python3.patch b/dev-python/slimit/files/slimit-0.8.1-fix-python3.patch
deleted file mode 100644
index a1af2de3dcf0..000000000000
--- a/dev-python/slimit/files/slimit-0.8.1-fix-python3.patch
+++ /dev/null
@@ -1,277 +0,0 @@
-From e8331659fb89e8a4613c5e4e338c877fead9c551 Mon Sep 17 00:00:00 2001
-From: Lele Gaifax <lele@metapensiero.it>
-Date: Sun, 9 Feb 2014 09:42:25 +0100
-Subject: [PATCH] Do not use ur"unicode-raw" strings, not supported by Python 3
-
-Use plain unicode strings instead, doubling backslashes when needed.
----
- src/slimit/tests/test_lexer.py | 6 +-
- src/slimit/unicode_chars.py | 220 ++++++++++++++++++++---------------------
- 2 files changed, 113 insertions(+), 113 deletions(-)
-
-diff --git a/src/slimit/tests/test_lexer.py b/src/slimit/tests/test_lexer.py
-index 922d628..e94d588 100644
---- a/src/slimit/tests/test_lexer.py
-+++ b/src/slimit/tests/test_lexer.py
-@@ -87,8 +87,8 @@ def test_illegal_unicode_char_in_identifier(self):
- ['ID i', 'ID my_variable_name', 'ID c17', 'ID _dummy',
- 'ID $str', 'ID $', 'ID _', 'ID CamelCase', 'ID class2type']
- ),
-- (ur'\u03c0 \u03c0_tail var\ua67c',
-- [ur'ID \u03c0', ur'ID \u03c0_tail', ur'ID var\ua67c']),
-+ (u'\u03c0 \u03c0_tail var\ua67c',
-+ [u'ID \u03c0', u'ID \u03c0_tail', u'ID var\ua67c']),
- # https://github.com/rspivak/slimit/issues/2
- ('nullify truelie falsepositive',
- ['ID nullify', 'ID truelie', 'ID falsepositive']),
-@@ -150,7 +150,7 @@ def test_illegal_unicode_char_in_identifier(self):
- (r"""'\u0001' "\uFCEF" 'a\\\b\n'""",
- [r"STRING '\u0001'", r'STRING "\uFCEF"', r"STRING 'a\\\b\n'"]
- ),
-- (ur'"теÑÑ‚ Ñтроки\""', [ur'STRING "теÑÑ‚ Ñтроки\""']),
-+ (u'"теÑÑ‚ Ñтроки\\""', [u'STRING "теÑÑ‚ Ñтроки\\""']),
- # Bug - https://github.com/rspivak/slimit/issues/5
- (r"var tagRegExp = new RegExp('<(\/*)(FooBar)', 'gi');",
- ['VAR var', 'ID tagRegExp', 'EQ =',
-diff --git a/src/slimit/unicode_chars.py b/src/slimit/unicode_chars.py
-index eec4411..b898138 100644
---- a/src/slimit/unicode_chars.py
-+++ b/src/slimit/unicode_chars.py
-@@ -30,127 +30,127 @@
- # 'Uppercase letter (Lu)', 'Lowercase letter (Ll)',
- # 'Titlecase letter(Lt)', 'Modifier letter (Lm)', 'Other letter (Lo)'
- LETTER = (
-- ur'[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6'
-- ur'\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376'
-- ur'\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5'
-- ur'\u03F7-\u0481\u048A-\u0523\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA'
-- ur'\u05F0-\u05F2\u0621-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6'
-- ur'\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1'
-- ur'\u07CA-\u07EA\u07F4\u07F5\u07FA\u0904-\u0939\u093D\u0950\u0958-\u0961'
-- ur'\u0971\u0972\u097B-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8'
-- ur'\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1'
-- ur'\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32'
-- ur'\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74'
-- ur'\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3'
-- ur'\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10'
-- ur'\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D'
-- ur'\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99'
-- ur'\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0'
-- ur'\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D'
-- ur'\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8'
-- ur'\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0D05-\u0D0C'
-- ur'\u0D0E-\u0D10\u0D12-\u0D28\u0D2A-\u0D39\u0D3D\u0D60\u0D61\u0D7A-\u0D7F'
-- ur'\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30'
-- ur'\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D'
-- ur'\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB'
-- ur'\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC\u0EDD\u0F00'
-- ur'\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8B\u1000-\u102A\u103F\u1050-\u1055'
-- ur'\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E'
-- ur'\u10A0-\u10C5\u10D0-\u10FA\u10FC\u1100-\u1159\u115F-\u11A2\u11A8-\u11F9'
-- ur'\u1200-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288'
-- ur'\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5'
-- ur'\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F'
-- ur'\u13A0-\u13F4\u1401-\u166C\u166F-\u1676\u1681-\u169A\u16A0-\u16EA'
-- ur'\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C'
-- ur'\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA'
-- ur'\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19A9\u19C1-\u19C7'
-- ur'\u1A00-\u1A16\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF'
-- ur'\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1D00-\u1DBF\u1E00-\u1F15'
-- ur'\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D'
-- ur'\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC'
-- ur'\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071'
-- ur'\u207F\u2090-\u2094\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124'
-- ur'\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E'
-- ur'\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2C6F\u2C71-\u2C7D'
-- ur'\u2C80-\u2CE4\u2D00-\u2D25\u2D30-\u2D65\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6'
-- ur'\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE'
-- ur'\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C'
-- ur'\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D'
-- ur'\u3131-\u318E\u31A0-\u31B7\u31F0-\u31FF\u3400\u4DB5\u4E00\u9FC3'
-- ur'\uA000-\uA48C\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA65F'
-- ur'\uA662-\uA66E\uA67F-\uA697\uA717-\uA71F\uA722-\uA788\uA78B\uA78C'
-- ur'\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873'
-- ur'\uA882-\uA8B3\uA90A-\uA925\uA930-\uA946\uAA00-\uAA28\uAA40-\uAA42'
-- ur'\uAA44-\uAA4B\uAC00\uD7A3\uF900-\uFA2D\uFA30-\uFA6A\uFA70-\uFAD9'
-- ur'\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C'
-- ur'\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F'
-- ur'\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A'
-- ur'\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7'
-- ur'\uFFDA-\uFFDC]'
-+ u'[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6'
-+ u'\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376'
-+ u'\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5'
-+ u'\u03F7-\u0481\u048A-\u0523\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA'
-+ u'\u05F0-\u05F2\u0621-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6'
-+ u'\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1'
-+ u'\u07CA-\u07EA\u07F4\u07F5\u07FA\u0904-\u0939\u093D\u0950\u0958-\u0961'
-+ u'\u0971\u0972\u097B-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8'
-+ u'\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1'
-+ u'\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32'
-+ u'\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74'
-+ u'\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3'
-+ u'\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10'
-+ u'\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D'
-+ u'\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99'
-+ u'\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0'
-+ u'\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D'
-+ u'\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8'
-+ u'\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0D05-\u0D0C'
-+ u'\u0D0E-\u0D10\u0D12-\u0D28\u0D2A-\u0D39\u0D3D\u0D60\u0D61\u0D7A-\u0D7F'
-+ u'\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30'
-+ u'\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D'
-+ u'\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB'
-+ u'\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC\u0EDD\u0F00'
-+ u'\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8B\u1000-\u102A\u103F\u1050-\u1055'
-+ u'\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E'
-+ u'\u10A0-\u10C5\u10D0-\u10FA\u10FC\u1100-\u1159\u115F-\u11A2\u11A8-\u11F9'
-+ u'\u1200-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288'
-+ u'\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5'
-+ u'\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F'
-+ u'\u13A0-\u13F4\u1401-\u166C\u166F-\u1676\u1681-\u169A\u16A0-\u16EA'
-+ u'\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C'
-+ u'\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA'
-+ u'\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19A9\u19C1-\u19C7'
-+ u'\u1A00-\u1A16\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF'
-+ u'\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1D00-\u1DBF\u1E00-\u1F15'
-+ u'\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D'
-+ u'\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC'
-+ u'\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071'
-+ u'\u207F\u2090-\u2094\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124'
-+ u'\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E'
-+ u'\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2C6F\u2C71-\u2C7D'
-+ u'\u2C80-\u2CE4\u2D00-\u2D25\u2D30-\u2D65\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6'
-+ u'\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE'
-+ u'\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C'
-+ u'\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D'
-+ u'\u3131-\u318E\u31A0-\u31B7\u31F0-\u31FF\u3400\u4DB5\u4E00\u9FC3'
-+ u'\uA000-\uA48C\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA65F'
-+ u'\uA662-\uA66E\uA67F-\uA697\uA717-\uA71F\uA722-\uA788\uA78B\uA78C'
-+ u'\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873'
-+ u'\uA882-\uA8B3\uA90A-\uA925\uA930-\uA946\uAA00-\uAA28\uAA40-\uAA42'
-+ u'\uAA44-\uAA4B\uAC00\uD7A3\uF900-\uFA2D\uFA30-\uFA6A\uFA70-\uFAD9'
-+ u'\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C'
-+ u'\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F'
-+ u'\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A'
-+ u'\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7'
-+ u'\uFFDA-\uFFDC]'
- )
-
- NON_SPACING_MARK = (
-- ur'[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5'
-- ur'\u05C7\u0610-\u061A\u064B-\u065E\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7'
-- ur'\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3'
-- ur'\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0900-\u0902\u093C'
-- ur'\u0941-\u0948\u094D\u0951-\u0955\u0962\u0963\u0981\u09BC\u09C1-\u09C4'
-- ur'\u09CD\u09E2\u09E3\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48'
-- ur'\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5'
-- ur'\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D'
-- ur'\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C3E-\u0C40\u0C46-\u0C48'
-- ur'\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD'
-- ur'\u0CE2\u0CE3\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6'
-- ur'\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC'
-- ur'\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84'
-- ur'\u0F86\u0F87\u0F90-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037'
-- ur'\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082'
-- ur'\u1085\u1086\u108D\u109D\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753'
-- ur'\u1772\u1773\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9'
-- ur'\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A56'
-- ur'\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1B00-\u1B03'
-- ur'\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5'
-- ur'\u1BA8\u1BA9\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0'
-- ur'\u1CE2-\u1CE8\u1CED\u1DC0-\u1DE6\u1DFD-\u1DFF\u20D0-\u20DC\u20E1'
-- ur'\u20E5-\u20F0\u2CEF-\u2CF1\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F'
-- ur'\uA67C\uA67D\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA8C4'
-- ur'\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9'
-- ur'\uA9BC\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAAB0'
-- ur'\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uABE5\uABE8\uABED\uFB1E'
-- ur'\uFE00-\uFE0F\uFE20-\uFE26]'
-+ u'[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5'
-+ u'\u05C7\u0610-\u061A\u064B-\u065E\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7'
-+ u'\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3'
-+ u'\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0900-\u0902\u093C'
-+ u'\u0941-\u0948\u094D\u0951-\u0955\u0962\u0963\u0981\u09BC\u09C1-\u09C4'
-+ u'\u09CD\u09E2\u09E3\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48'
-+ u'\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5'
-+ u'\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D'
-+ u'\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C3E-\u0C40\u0C46-\u0C48'
-+ u'\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD'
-+ u'\u0CE2\u0CE3\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6'
-+ u'\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC'
-+ u'\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84'
-+ u'\u0F86\u0F87\u0F90-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037'
-+ u'\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082'
-+ u'\u1085\u1086\u108D\u109D\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753'
-+ u'\u1772\u1773\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9'
-+ u'\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A56'
-+ u'\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1B00-\u1B03'
-+ u'\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5'
-+ u'\u1BA8\u1BA9\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0'
-+ u'\u1CE2-\u1CE8\u1CED\u1DC0-\u1DE6\u1DFD-\u1DFF\u20D0-\u20DC\u20E1'
-+ u'\u20E5-\u20F0\u2CEF-\u2CF1\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F'
-+ u'\uA67C\uA67D\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA8C4'
-+ u'\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9'
-+ u'\uA9BC\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAAB0'
-+ u'\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uABE5\uABE8\uABED\uFB1E'
-+ u'\uFE00-\uFE0F\uFE20-\uFE26]'
- )
-
- COMBINING_SPACING_MARK = (
-- ur'[\u0903\u093E-\u0940\u0949-\u094C\u094E\u0982\u0983\u09BE-\u09C0\u09C7'
-- ur'\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9'
-- ur'\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57'
-- ur'\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03'
-- ur'\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB'
-- ur'\u0CD5\u0CD6\u0D02\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57'
-- ur'\u0D82\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F'
-- ur'\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062-\u1064'
-- ur'\u1067-\u106D\u1083\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6'
-- ur'\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931'
-- ur'\u1933-\u1938\u19B0-\u19C0\u19C8\u19C9\u1A19-\u1A1B\u1A55\u1A57\u1A61'
-- ur'\u1A63\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43\u1B44'
-- ur'\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF2'
-- ur'\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4'
-- ur'\uA9B5\uA9BA\uA9BB\uA9BD-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAA7B'
-- ur'\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC]'
-+ u'[\u0903\u093E-\u0940\u0949-\u094C\u094E\u0982\u0983\u09BE-\u09C0\u09C7'
-+ u'\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9'
-+ u'\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57'
-+ u'\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03'
-+ u'\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB'
-+ u'\u0CD5\u0CD6\u0D02\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57'
-+ u'\u0D82\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F'
-+ u'\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062-\u1064'
-+ u'\u1067-\u106D\u1083\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6'
-+ u'\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931'
-+ u'\u1933-\u1938\u19B0-\u19C0\u19C8\u19C9\u1A19-\u1A1B\u1A55\u1A57\u1A61'
-+ u'\u1A63\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43\u1B44'
-+ u'\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF2'
-+ u'\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4'
-+ u'\uA9B5\uA9BA\uA9BB\uA9BD-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAA7B'
-+ u'\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC]'
- )
-
--COMBINING_MARK = ur'%s|%s' % (NON_SPACING_MARK, COMBINING_SPACING_MARK)
-+COMBINING_MARK = u'%s|%s' % (NON_SPACING_MARK, COMBINING_SPACING_MARK)
-
- CONNECTOR_PUNCTUATION = (
-- ur'[\u005F\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F]'
-+ u'[\u005F\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F]'
- )
-
- DIGIT = (
-- ur'[\u0030-\u0039\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F'
-- ur'\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF'
-- ur'\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0E50-\u0E59\u0ED0-\u0ED9'
-- ur'\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819'
-- ur'\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59'
-- ur'\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9'
-- ur'\uA900-\uA909\uA9D0-\uA9D9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]'
-+ u'[\u0030-\u0039\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F'
-+ u'\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF'
-+ u'\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0E50-\u0E59\u0ED0-\u0ED9'
-+ u'\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819'
-+ u'\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59'
-+ u'\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9'
-+ u'\uA900-\uA909\uA9D0-\uA9D9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]'
- )
diff --git a/dev-python/slimit/metadata.xml b/dev-python/slimit/metadata.xml
deleted file mode 100644
index 1623da04bf76..000000000000
--- a/dev-python/slimit/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" proxied="yes">
- <email>paolo.pedroni@iol.it</email>
- <name>Paolo Pedroni</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Gentoo Proxy Maintainers Project</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">slimit</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/slimit/slimit-0.8.1-r1.ebuild b/dev-python/slimit/slimit-0.8.1-r1.ebuild
deleted file mode 100644
index d402ab74e3ea..000000000000
--- a/dev-python/slimit/slimit-0.8.1-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{7..10} )
-inherit distutils-r1
-
-DESCRIPTION="A JavaScript minifier written in Python"
-HOMEPAGE="https://slimit.readthedocs.io/en/latest/"
-SRC_URI="https://github.com/rspivak/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-python/ply:=[${PYTHON_USEDEP}]"
-
-PATCHES=( "${FILESDIR}/${P}-fix-python3.patch" )
-
-distutils_enable_tests pytest
-
-python_compile() {
- distutils-r1_python_compile
-
- rm "${BUILD_DIR}"/lib/slimit/*tab.py || die
-
- # Regenerate yacctab.py and lextab.py files to avoid warnings whenever
- # the module is imported. See https://github.com/rspivak/slimit/issues/97
- # for details
- "${EPYTHON}" -B -c 'import slimit;slimit.minify("")' || die
-}
-
-python_test() {
- epytest "${BUILD_DIR}"
-}
diff --git a/dev-python/slixmpp/Manifest b/dev-python/slixmpp/Manifest
index 40fb9ac6a697..1c0233af55fa 100644
--- a/dev-python/slixmpp/Manifest
+++ b/dev-python/slixmpp/Manifest
@@ -1 +1 @@
-DIST slixmpp-1.8.2.tar.gz 535672 BLAKE2B 8af0329083d5e8bb630bfbedddbe67a78eadcbcb25ed5c9b9b0ddbfbedf973702110d2b3558f5bcf25257d6a7029b1e6afba87c57a37c1f0d4d36305b246979b SHA512 243223754a7c84b653d0282b38f4df58fb5905865635c210bc78b444e85c3b8b964feda7d42b66e9c414ea7a07ecadfc3206c446cc1d9fa625308e783e3d3be5
+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.2.ebuild b/dev-python/slixmpp/slixmpp-1.8.2.ebuild
deleted file mode 100644
index bd3fed708553..000000000000
--- a/dev-python/slixmpp/slixmpp-1.8.2.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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 5490e617241b..58e07cc7ebc8 100644
--- a/dev-python/slixmpp/slixmpp-9999.ebuild
+++ b/dev-python/slixmpp/slixmpp-9999.ebuild
@@ -1,28 +1,32 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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_{8..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 773d6e56c5d0..e1ab8ba2d497 100644
--- a/dev-python/smartypants/smartypants-2.0.1-r1.ebuild
+++ b/dev-python/smartypants/smartypants-2.0.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..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 ~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
new file mode 100644
index 000000000000..6e830043c97b
--- /dev/null
+++ b/dev-python/smbus2/Manifest
@@ -0,0 +1 @@
+DIST smbus2-0.4.3.gh.tar.gz 17474 BLAKE2B b53160d586c1ed0627597872582dbd07b1b2a9e03bf1a7dc01003ba5569013c11cf4c10df01c4649a069d6bf178c40a122a18a720fb03cab6485e04638fc9233 SHA512 e512954e89be9ba356a9e43ad023712ddfad006eaeadb45e92e21348176f838a2f65d89f3bd4a2ea68414486ff688d58acd668e4bae53f945cd9b24bcb328f9f
diff --git a/dev-python/smbus2/metadata.xml b/dev-python/smbus2/metadata.xml
new file mode 100644
index 000000000000..0dd4c42c45fe
--- /dev/null
+++ b/dev-python/smbus2/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>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">smbus2</remote-id>
+ <remote-id type="github">kplindegaard/smbus2</remote-id>
+ </upstream>
+</pkgmetadata>
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 b1d96a16fe66..000000000000
--- a/dev-python/smmap/smmap-5.0.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~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 95465c6ee744..bfd8a713f81f 100644
--- a/dev-python/snakeoil/Manifest
+++ b/dev-python/snakeoil/Manifest
@@ -1,5 +1 @@
-DIST snakeoil-0.9.10.tar.gz 264409 BLAKE2B ef4cff92b1110f3b0912a2899732a29de041ea0e1d5338bbee9b84cbd1e9b4231b66be8fbf98bb14e59360294de9652b816b1de904dc948a3ebcd3e429bd03ba SHA512 dfdf3c96a9e65d6353e9251bb4c9c761d9c6084185119f7e653efc27868e5dd41ece0c54307e306d14effd9c2fcfd3ec15407df3f15f2d4ecfe16ae00c6d7e00
-DIST snakeoil-0.9.11.tar.gz 266004 BLAKE2B c919f21737f91a26a77ed6ea5da490fe48ffe9b8077e8f144ea5d8feb268ab9ab62ca3c7b515d70a0eb270bd7cf1c7a5be827ddd34e97fb3e231f3caa2a32b65 SHA512 34fe8fd0a1215e5e1fe53bf002cbc262fb77e58df4a713d5413c91eeb16b93708f476f6cd08908102857901ffab7dd46349a721312671bc175b7d7991687d319
-DIST snakeoil-0.9.5.tar.gz 266086 BLAKE2B 635d2d821e47a92a668b2e95364d6587f0f74c21438356e708d6b16ed6c027df39a28f73d261d8ae06eb32de471124cd5ba5df0fc899f59dad5f7d2363391e00 SHA512 0762d90932bdf995160b3410e224660dae2cce327cdc30d5093ca9e3d16d3e910f88e409a87d2d7da211b850f7d0b7d9c70f053462dd9a651e4202b8ca018105
-DIST snakeoil-0.9.7.tar.gz 261551 BLAKE2B 6739541d1e40b3ac5c4908e6bb92b5b40957f49119307d6046fd17327394ae0406c01dc10396cb568ceb3757ba3367b930441d08079e9be635eeb6f14bd02e3a SHA512 c2626d8050bf24b4ce3f6fed5c6b8993fa9a5ebb40dd664c7008caffe4b26237edeecd3de8fe90f3a1c5756de3d770c3b9e1ef2e95cc052a5f8fcf22058925f6
-DIST snakeoil-0.9.9.tar.gz 264344 BLAKE2B 160f45dad3a53371063c0c86c186a8baf6370751cf455d84f6e9b9334e6e6f0aa76962803daff031f050d5d8b05b85ebcb05a2b8b9e957babac6e01f127a722f SHA512 bada12556fd2c63fabc8340444f470e08c68ffe56612ae14f08f155c11bd1d4b9657a885cfdee7454faf758309f5287792adf2cf5bd7ab411c7fd6b4982f229e
+DIST snakeoil-0.10.8.tar.gz 174380 BLAKE2B 96c5f4e106513ee8061c6278345ac132510202faa0e915b362170ee7de5f23f0b7bfdc671c0c07721f57eeeb90df5f6851be70d4541295029d93126ea680e50b SHA512 7088cd3fb34bc666a51ddd59b0bf6c9d9da2f04727057ffa5b74ffb188efd63153afcf45442e99b8e1611642b71cf92518dafcacb85717dfa82370df18458497
diff --git a/dev-python/snakeoil/metadata.xml b/dev-python/snakeoil/metadata.xml
index 34099b24a766..82a7321ef27c 100644
--- a/dev-python/snakeoil/metadata.xml
+++ b/dev-python/snakeoil/metadata.xml
@@ -1,18 +1,11 @@
<?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>
- <maintainer type="person">
- <email>mgorny@gentoo.org</email>
- <name>Michał Górny</name>
- </maintainer>
<maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
+ <email>pkgcore@gentoo.org</email>
+ <name>Pkgcore</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">pkgcore/snakeoil</remote-id>
<remote-id type="pypi">snakeoil</remote-id>
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-0.9.10.ebuild b/dev-python/snakeoil/snakeoil-0.9.10.ebuild
deleted file mode 100644
index 727ebffd5eb9..000000000000
--- a/dev-python/snakeoil/snakeoil-0.9.10.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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="
- test? ( >=dev-python/pytest-6 )"
-
-[[ ${PV} == 9999 ]] && BDEPEND+=" dev-python/cython[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/snakeoil/snakeoil-0.9.11.ebuild b/dev-python/snakeoil/snakeoil-0.9.11.ebuild
deleted file mode 100644
index ed32d56d36ac..000000000000
--- a/dev-python/snakeoil/snakeoil-0.9.11.ebuild
+++ /dev/null
@@ -1,31 +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_{8..10} 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}]
-"
-
-[[ ${PV} == 9999 ]] && BDEPEND+=" dev-python/cython[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/snakeoil/snakeoil-0.9.5.ebuild b/dev-python/snakeoil/snakeoil-0.9.5.ebuild
deleted file mode 100644
index 4c6cfdc00b8b..000000000000
--- a/dev-python/snakeoil/snakeoil-0.9.5.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..9} )
-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 ~mips ppc ppc64 ~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}]"
-
-[[ ${PV} == 9999 ]] && BDEPEND+=" dev-python/cython[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/snakeoil/snakeoil-0.9.7.ebuild b/dev-python/snakeoil/snakeoil-0.9.7.ebuild
deleted file mode 100644
index 036e753319ec..000000000000
--- a/dev-python/snakeoil/snakeoil-0.9.7.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 ~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="
- test? ( >=dev-python/pytest-6 )"
-
-[[ ${PV} == 9999 ]] && BDEPEND+=" dev-python/cython[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/snakeoil/snakeoil-0.9.9.ebuild b/dev-python/snakeoil/snakeoil-0.9.9.ebuild
deleted file mode 100644
index 66ebcf075394..000000000000
--- a/dev-python/snakeoil/snakeoil-0.9.9.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 ~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="
- test? ( >=dev-python/pytest-6 )"
-
-[[ ${PV} == 9999 ]] && BDEPEND+=" dev-python/cython[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/snakeoil/snakeoil-9999.ebuild b/dev-python/snakeoil/snakeoil-9999.ebuild
index ed32d56d36ac..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=setuptools
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
+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://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"
@@ -25,7 +26,8 @@ SLOT="0"
RDEPEND="
dev-python/lazy-object-proxy[${PYTHON_USEDEP}]
"
-
-[[ ${PV} == 9999 ]] && BDEPEND+=" dev-python/cython[${PYTHON_USEDEP}]"
+BDEPEND="
+ >=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 045db2b2d4a0..000000000000
--- a/dev-python/snaketrace/snaketrace-0.3.1.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 3cf02af40dda..000000000000
--- a/dev-python/snappy/snappy-0.6.1.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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 390ad2eb66f6..d01d038c7f3c 100644
--- a/dev-python/snapshottest/snapshottest-0.6.0.ebuild
+++ b/dev-python/snapshottest/snapshottest-0.6.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2022 Gentoo Authors
+# 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_{8..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 d096430d8bf3..4ae7428a4dc1 100644
--- a/dev-python/sniffio/Manifest
+++ b/dev-python/sniffio/Manifest
@@ -1 +1 @@
-DIST sniffio-1.2.0.gh.tar.gz 17335 BLAKE2B 0d67baa18702ac38932680bdc741c87ee0a31342cc752c1463a7f90720ea0ebf6d62ef682a042c58e8fe96456e1461638e0f02c6f60da5f5e0d07464be27a4a3 SHA512 8e1dd2bb6fc22ee5824adfffe688ff0621b8c1ef5daea594dedce13d5e04a498e05816bb32e9bbed206a653a330ff710df57c888ddcff00a6254eafddc538273
+DIST sniffio-1.3.1.gh.tar.gz 16907 BLAKE2B 9edec11e204f2624d589786744ed2bce6b082fb338c542bf6bddc22a481c9cc97cfd1c5101ae8cad95bf5068ee40d1659aeb420a2f6377377bf9e514e4c49cd1 SHA512 34e2e0a2e1c43e4ce1e1b5cdfb16c4f872897bbc7da77a76b55dc9cae475d87fe1e35d7103cad68ddab93c8be743aaa312ec12b1ddd96ad968be027faa24839f
diff --git a/dev-python/sniffio/sniffio-1.2.0-r1.ebuild b/dev-python/sniffio/sniffio-1.2.0-r1.ebuild
deleted file mode 100644
index dbc7302ff47a..000000000000
--- a/dev-python/sniffio/sniffio-1.2.0-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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 ae0c6fae73db..3b6dcc6db839 100644
--- a/dev-python/snowballstemmer/snowballstemmer-2.2.0-r1.ebuild
+++ b/dev-python/snowballstemmer/snowballstemmer-2.2.0-r1.ebuild
@@ -1,17 +1,18 @@
-# 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_{8..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 1e9dbbc00dba..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-2022 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_{8..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/socketio-client/Manifest b/dev-python/socketio-client/Manifest
deleted file mode 100644
index 0729bf40be1d..000000000000
--- a/dev-python/socketio-client/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST socketio-client-0.7.2.tar.gz 23488 BLAKE2B 8c638dcc8ed30fb01a31e36f8175ef7e6b77b37dac0a66f1ef663a372458ccb34bac2ed58fce31a3856eb3d067ad8dc20f7d4a332b2af10ae12717bbb786349f SHA512 850839f804953c706458467c9e35c4c3637d3a61ff55042ef0b6f98e39a277faa97a0a3d7b1e18210e68ec32bb4ca793cd404631e0e2b533e61ad5d05cbc18fa
diff --git a/dev-python/socketio-client/metadata.xml b/dev-python/socketio-client/metadata.xml
deleted file mode 100644
index 61b88ed00a2a..000000000000
--- a/dev-python/socketio-client/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>
- <upstream>
- <remote-id type="pypi">socketIO-client</remote-id>
- <remote-id type="github">invisibleroads/socketIO-client</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/socketio-client/socketio-client-0.7.2.ebuild b/dev-python/socketio-client/socketio-client-0.7.2.ebuild
deleted file mode 100644
index 85244b087217..000000000000
--- a/dev-python/socketio-client/socketio-client-0.7.2.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-MY_PN="socketIO-client"
-DESCRIPTION="A socket.io client library for Python"
-HOMEPAGE="https://github.com/invisibleroads/socketIO-client/ https://pypi.org/project/socketIO-client/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]
- >=dev-python/requests-2.7.0[${PYTHON_USEDEP}]
- dev-python/websocket-client[${PYTHON_USEDEP}]"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( ${RDEPEND}
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/coverage[${PYTHON_USEDEP}]
- )"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-python_test() {
- # https://github.com/invisibleroads/socketIO-client/issues/90
- # This runs the suite but has nill output to the screen
- # The bug filed will hopefully yield a more conventional testsuite
-
- # The import of SocketIO need be made with abs path to run the tests
- sed -e 's:from .. import:from socketIO_client import:' \
- -i socketIO_client/tests/__init__.py || die
- sed -e 's:from ..exceptions import:from socketIO_client.exceptions import:' \
- -i socketIO_client/tests/__init__.py || die
-
- "${PYTHON}" socketIO_client/tests/__init__.py || \
- die "Tests failed under ${EPYTHON}"
-
- # Return to original form for final install
- sed -e 's:from socketIO_client import:from .. import:' \
- -i socketIO_client/tests/__init__.py || die
- sed -e 's:from socketIO_client.exceptions import:from ..exceptions import:' \
- -i socketIO_client/tests/__init__.py || die
-}
diff --git a/dev-python/socksio/socksio-1.0.0.ebuild b/dev-python/socksio/socksio-1.0.0.ebuild
index 4689d421843f..dcfe1c0b002b 100644
--- a/dev-python/socksio/socksio-1.0.0.ebuild
+++ b/dev-python/socksio/socksio-1.0.0.ebuild
@@ -1,23 +1,22 @@
-# 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=flit
-PYTHON_COMPAT=( pypy3 python3_{8..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 59f00df5eaf9..43fb8db977c9 100644
--- a/dev-python/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild
+++ b/dev-python/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} 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 ad8b70cc7b61..000000000000
--- a/dev-python/soupsieve/soupsieve-2.3.2_p1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8..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..bf71993e5753
--- /dev/null
+++ b/dev-python/soupsieve/soupsieve-2.5.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} 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/speaklater/Manifest b/dev-python/speaklater/Manifest
deleted file mode 100644
index c060a184a3aa..000000000000
--- a/dev-python/speaklater/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST speaklater3-1.4.tar.gz 4309 BLAKE2B 6ba32926a81c978c7d001d0ebe39c74779e05dd0275ee4f0b9d06fb9cc8bdd8502417ff6b9adefd5df3d6030a2f1b26d461ba2a8afcff383af294f634a68dec3 SHA512 7603bc5852b870a9ada6d730857de32ff47b842dabe8cb2310bbcdefceaf3bc5021a02cab058e646ba38d5a46e831ad9ec7bb4db75f91e07e999a9917ac24251
diff --git a/dev-python/speaklater/metadata.xml b/dev-python/speaklater/metadata.xml
deleted file mode 100644
index ecc091ea70c4..000000000000
--- a/dev-python/speaklater/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">speaklater</remote-id>
- <remote-id type="pypi">speaklater3</remote-id>
- <remote-id type="github">mitsuhiko/speaklater</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/speaklater/speaklater-1.4.ebuild b/dev-python/speaklater/speaklater-1.4.ebuild
deleted file mode 100644
index cedfff974ec1..000000000000
--- a/dev-python/speaklater/speaklater-1.4.ebuild
+++ /dev/null
@@ -1,24 +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_{8..11} )
-
-inherit distutils-r1
-
-MY_P=speaklater3-${PV}
-DESCRIPTION="Lazy strings for Python"
-HOMEPAGE="https://pypi.org/project/speaklater3/"
-SRC_URI="mirror://pypi/s/speaklater3/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-python_test() {
- "${EPYTHON}" -m doctest -v speaklater.py ||
- die "tests failed with ${EPYTHON}"
-}
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 b89b93cdfe1e..000000000000
--- a/dev-python/speg/speg-0.3_p20180819-r1.ebuild
+++ /dev/null
@@ -1,25 +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_{8..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 af017f6db7c3..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,23 +1,20 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6.ebuild b/dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6.ebuild
deleted file mode 100644
index 35d024d5085c..000000000000
--- a/dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-MY_PN="${PN#sphinx-}"
-MY_P="${MY_PN}-${PV}"
-
-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"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
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 1c64975e41d0..568f1fb352dd 100644
--- a/dev-python/sphinx-autoapi/Manifest
+++ b/dev-python/sphinx-autoapi/Manifest
@@ -1,2 +1 @@
-DIST sphinx-autoapi-1.8.4.tar.gz 83541 BLAKE2B 05d706fda6da4aea55e535a995ef01dc54269fa8e452c51c9bf2cec2e596ccec20191b8cb3c0cde1b93daa4f5d85074a293c9fd449d99d3c494ba20c6cee2df8 SHA512 10b4d87e1046ad372a3491006cd4bece8334fc398025f98654781c83ee200045d707f3293a031f8cf0abe5d20a111e7ded864f2b6deffe5222b331ca8c9b688b
-DIST sphinx-autoapi-1.9.0.gh.tar.gz 84730 BLAKE2B 31547c0dee076736d65867d9856e713581c440d2b1f01b7ebcbe09b31a7bf2979346bcbe18d6064fd5656b7d7dab9149c67fe79f0db7e5757c2581370c11a8cd SHA512 f098f474d9821c974c2ede77de30f3317c87cb87ec00b7a1c021add1d07a1ed59fa3b4165edf2b7f5165004ba9c717394962154098bc89b52989d0e604c542f1
+DIST sphinx-autoapi-3.0.0.gh.tar.gz 62951 BLAKE2B 80c1168b7d6f2d8489139d1daaa00817bf88345b92d962d1b7114ffd078dab5babd00f3837b9a80bd7175f07a50a432be4096140ac3ee8db11d90e1b836cd308 SHA512 fece7ff76de1ad4a58d8128d7c1f4c57a91ffbc2fb788f7bf4ce230860e97279f8ddf32d24dee4b961d89807056abd2f621484ff91e13b98b57d7f7a00d1cd4c
diff --git a/dev-python/sphinx-autoapi/sphinx-autoapi-1.8.4.ebuild b/dev-python/sphinx-autoapi/sphinx-autoapi-1.8.4.ebuild
deleted file mode 100644
index 47a5de5a7f8a..000000000000
--- a/dev-python/sphinx-autoapi/sphinx-autoapi-1.8.4.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_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="A new approach to API documentation in Sphinx"
-HOMEPAGE="https://sphinx-autoapi.readthedocs.io/"
-SRC_URI="https://github.com/readthedocs/sphinx-autoapi/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-# pypi lacks docs/
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 x86"
-
-RDEPEND="
- dev-python/astroid[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/sphinx[${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-1.9.0.ebuild b/dev-python/sphinx-autoapi/sphinx-autoapi-1.9.0.ebuild
deleted file mode 100644
index 3a7bbebfd20c..000000000000
--- a/dev-python/sphinx-autoapi/sphinx-autoapi-1.9.0.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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[${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 7e73c2d3778e..8bd48b726f11 100644
--- a/dev-python/sphinx-autodoc-typehints/Manifest
+++ b/dev-python/sphinx-autodoc-typehints/Manifest
@@ -1,4 +1 @@
-DIST sphinx-autodoc-typehints-1.18.3.gh.tar.gz 26457 BLAKE2B 343a6ffcbca40f28a66c67266431f3a9b2292bd0d991de4287b9adf9e02b7d8fb24094646caa55790f32cd9081abca525f310367335d60fa1b7ea3bc9623bb1c SHA512 549bdfad8f5c07f5edb1c6cdeaff39df22cc7bfa475c70b5c54ff46b311d14c9f3682bf68663d852b95ebff8fd1b71038fc077495d99d870ae2efbf72ec99a42
-DIST sphinx-autodoc-typehints-1.19.0.gh.tar.gz 26950 BLAKE2B 4e530c0b16500d8489bed7f50518b1bc30fdc824d41eb6cc66786096c09c910deb92ac580438395e3b71fd2d3b64690986cb035ff2d784e26918a42bdc73d8fc SHA512 d9459aca1091da0fa446d7ce72ef83c172775b66081d87431c14fd9cfda42770dbd08450ff193e3accffe0eb11efde22804e4ffff20a8e0e9072a05bc34a99e9
-DIST sphinx-autodoc-typehints-1.19.1.gh.tar.gz 26942 BLAKE2B a2b16292eeaf87cb4879bf54727874952b61b596c6226679ba472a0e138fc09f82aaeffabf0f83eca56d2b2df609ed0355e1f3ab5dffd8119c1eccc755bbb16d SHA512 16227301bb0e3035163734c852068d7d06ff03c1e577963bdbcffb5b24b1ededc7feb16025fdcf8611182bdbbc7b071288f5d1d42cb0115bef6f9652898e3a8a
-DIST sphinx-autodoc-typehints-1.19.2.gh.tar.gz 26983 BLAKE2B 694edbf94bac05670adad992cfdc7e1146228af7b888a97c4f8e2394623ef3e42251ba0f3c22985517b2a251996cc41a305ea5497b2369363bc00d4bb3d24da7 SHA512 c35c7ed3f0698651be5ba4dd2232912d1f6d9d30e08153527df3fe16001266abc80cd1b11e3a41ccf92140c6baea98105e9bccd9466e65664dcf008f9a944634
+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.18.3.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.18.3.ebuild
deleted file mode 100644
index 8ef083efe1aa..000000000000
--- a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.18.3.ebuild
+++ /dev/null
@@ -1,44 +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_{8..10} )
-
-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-4.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- >=dev-python/nptyping-2.1.1[${PYTHON_USEDEP}]
- dev-python/sphobjinv[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.1[${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.19.0.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.19.0.ebuild
deleted file mode 100644
index 9eca6f1f4db5..000000000000
--- a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.19.0.ebuild
+++ /dev/null
@@ -1,44 +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_{8..10} )
-
-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-4.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- >=dev-python/nptyping-2.1.1[${PYTHON_USEDEP}]
- dev-python/sphobjinv[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.1[${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.19.1.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.19.1.ebuild
deleted file mode 100644
index 9eca6f1f4db5..000000000000
--- a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.19.1.ebuild
+++ /dev/null
@@ -1,44 +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_{8..10} )
-
-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-4.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- >=dev-python/nptyping-2.1.1[${PYTHON_USEDEP}]
- dev-python/sphobjinv[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.1[${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.19.2.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.19.2.ebuild
deleted file mode 100644
index 9eca6f1f4db5..000000000000
--- a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.19.2.ebuild
+++ /dev/null
@@ -1,44 +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_{8..10} )
-
-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-4.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- >=dev-python/nptyping-2.1.1[${PYTHON_USEDEP}]
- dev-python/sphobjinv[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.1[${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.1.0.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.1.0.ebuild
new file mode 100644
index 000000000000..dd2aff21f131
--- /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 8d370c8ca62b..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.a11.gh.tar.gz 21539 BLAKE2B 31707bc8f3c6cd0c1af1aeff309543889119d33e5f5ae33194b58f88a0ff6ec424c5b876fef36b64161932ebb69c0f6108801697b49d47e10ad13affcf89e1fa SHA512 e9f9278a360d2c8d25a6679134d2d54b37c9f2e55285592fa910c85b2f8bfd4ab13d117b7078cb67d862703f8054c3d3a3ca68152551d67a26d7c1a8b75952ff
+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_alpha11.ebuild b/dev-python/sphinx-basic-ng/sphinx-basic-ng-0.0.1_alpha11.ebuild
deleted file mode 100644
index 816e140e46e4..000000000000
--- a/dev-python/sphinx-basic-ng/sphinx-basic-ng-0.0.1_alpha11.ebuild
+++ /dev/null
@@ -1,44 +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=( pypy3 python3_{8..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="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 83f0a8770a57..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-2022 Gentoo Authors
+# 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_{8..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 fd6bd21839a7..000000000000
--- a/dev-python/sphinx-epytext/sphinx-epytext-0.0.4.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{8..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 ~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 92a1d6e5108e..4148b45df8eb 100644
--- a/dev-python/sphinx-gallery/Manifest
+++ b/dev-python/sphinx-gallery/Manifest
@@ -1,2 +1,2 @@
-DIST sphinx-gallery-0.10.1.tar.gz 6546135 BLAKE2B 1f4ead74b848f28944820a77717183d845d1fba7459d11fa9bece16c5cd83742e012cce6906f8f5cd357e5c7db01107b6c7c32e2f7d5b7ce46dcd8d6a4b36e9c SHA512 da3b35907782846a58402fddf2a7f507eba76cd708725ff0ba097ec7bda6e9029252c9fb4df6d192aa7f64c6873465d4ff5e634b5c4cc6c4294e0d38c6db2f02
-DIST sphinx-gallery-0.11.0.tar.gz 395136 BLAKE2B 4380484cb37baeb749469f810cbaf24f51a4f83a24a6ff868d1b8872f58db7b189575e8023926b70c576b029b895e18c3de070d69d20a87c70db5d959ebe8915 SHA512 8c97c9bea3bdeb400715bf7ad36e277c01efd5a5d9a85eaeac397eb1f7066112eaf8ef46cc42226275e50e030bfb1010d7516db70e415fbde953f051f4c3cbf4
+DIST sphinx-gallery-0.15.0.tar.gz 422363 BLAKE2B cbca8ec252e03e9cacc0df27da43ebc9bbed8531d5df65bf9cb7f54f7ae8b127582f353cb245bcc459d6fa86240207346a05d777504163d49be0fabb029a172b SHA512 b6b0d5022da9de27417f8cc72ba24f0d51e57f83c68b17a296269b074888a711d61fcf933fbbfaf4d6977702b3f020d4b0eaa89e78e51185ee2dd26e911fe8be
+DIST sphinx_gallery-0.16.0.tar.gz 432247 BLAKE2B 130800616a29be2daedb77404f79ca8d1543ecd391f45f8f19cbcf46ce742d02725d9b087be337d11496021b5c486c6c24b35f22b2c7d4cb575cb2c217d328db SHA512 b45e9141d64b1e277d75f501f2cc40979942953cd8412716e5af64917a3b9adc0a746fbd6249c3636c3db222c1e438ee7f9a9ad93f57b2f05f9ec80a562796c3
diff --git a/dev-python/sphinx-gallery/sphinx-gallery-0.10.1.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.10.1.ebuild
deleted file mode 100644
index cd6c79e83ffa..000000000000
--- a/dev-python/sphinx-gallery/sphinx-gallery-0.10.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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.11.0.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.11.0.ebuild
deleted file mode 100644
index 74dea626257b..000000000000
--- a/dev-python/sphinx-gallery/sphinx-gallery-0.11.0.ebuild
+++ /dev/null
@@ -1,44 +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_{8..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-gallery/sphinx-gallery-0.16.0.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.16.0.ebuild
new file mode 100644
index 000000000000..28e368e47dd3
--- /dev/null
+++ b/dev-python/sphinx-gallery/sphinx-gallery-0.16.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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-4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/joblib[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ sphinx_gallery/tests/test_docs_resolv.py::test_embed_code_links_get_data
+ sphinx_gallery/tests/test_full.py::test_run_sphinx
+ sphinx_gallery/tests/test_full.py::test_embed_links_and_styles
+ # require jupyterlite_sphinx
+ sphinx_gallery/tests/test_full.py
+ sphinx_gallery/tests/test_full_noexec.py
+ sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents
+ sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_non_default_contents
+ sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_with_jupyterlite_disabled_via_config
+ )
+
+ epytest -o addopts=
+}
diff --git a/dev-python/sphinx-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..582e55558da8 100644
--- a/dev-python/sphinx-issues/Manifest
+++ b/dev-python/sphinx-issues/Manifest
@@ -1 +1 @@
-DIST sphinx-issues-3.0.1.tar.gz 12320 BLAKE2B 770aa19a443bacd489157244f087fdb99740d5eae2f45246ab0fd0596260f249dcf7fb0642acf0a925d1a1def08f6d944a2ec67017334843b636623b05df8327 SHA512 dd64e1611eb58fc455bedb1658473fd71e4deab1371d8a42e6fa7fe3b128a991251add12e463b9a5826fd4eb5aa12e9a117dcf953feeb8df980a7951e43d8baa
+DIST sphinx_issues-4.1.0.tar.gz 14148 BLAKE2B 7d28cd650abe8248ed7edafcc64fc71bdaf97499597d034e9d9bf875224735b8445ee8b95fd465d8524345e3c8137570bda3ef1b9e25ffb97aa3a438ecac1b0f SHA512 ef7da6d4b1a46adde216d548d1be48773d653f383981d5ddde56260793d05c5e10a99d9196c4ed04ba1722b6d646eaa0c12a2650206f5582cf85ced448c3a361
diff --git a/dev-python/sphinx-issues/sphinx-issues-3.0.1-r1.ebuild b/dev-python/sphinx-issues/sphinx-issues-3.0.1-r1.ebuild
deleted file mode 100644
index 46bb5f21d67e..000000000000
--- a/dev-python/sphinx-issues/sphinx-issues-3.0.1-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="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-3.0.1.ebuild b/dev-python/sphinx-issues/sphinx-issues-3.0.1.ebuild
deleted file mode 100644
index 124033e2da6b..000000000000
--- a/dev-python/sphinx-issues/sphinx-issues-3.0.1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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
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..e753a9e2f1fb
--- /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 e22136266481..000000000000
--- a/dev-python/sphinx-multiversion/sphinx-multiversion-0.2.4.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_{8..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 d09882719356..9e83ebdcb588 100644
--- a/dev-python/sphinx-notfound-page/Manifest
+++ b/dev-python/sphinx-notfound-page/Manifest
@@ -1,2 +1 @@
-DIST sphinx-notfound-page-0.8.3.gh.tar.gz 59219 BLAKE2B cdb95906dba4d51aee88b220f094204575f2800737f160c7c028033002d41d2c793a91e1c61101f7c7c960ddf3b4d2ef83fbd285dd73ff5aed6c6c933b1fc1e7 SHA512 8d43ccfd3f83ff25b7a20ee3f5352489092dc641b4a794199c06c0971078a132a42b05c85588508ec38487f2915eedec98c2deac02d6c4576828be2fbc7f13b0
-DIST sphinx-notfound-page-0.8.gh.tar.gz 57650 BLAKE2B e57634ba9a7faf81e6ee8d9b082d96742b580606f2e2fd559842049ba2e80bcb44bb6bd7a9c7eed6038e4c3ddb0416e32fceb4d47a72b8a600443e0020ff33d6 SHA512 eeb5b8da24ecb8f9814540a126f08204ae623705068608c2ee32a4f90303bdaab5f3934bdc36dd06dff047beb0225603f8cfc9b736769836385837047a36a674
+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 4d240a8aa65b..000000000000
--- a/dev-python/sphinx-notfound-page/sphinx-notfound-page-0.8.3.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{8..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-0.8.ebuild b/dev-python/sphinx-notfound-page/sphinx-notfound-page-0.8.ebuild
deleted file mode 100644
index db1ca25f3051..000000000000
--- a/dev-python/sphinx-notfound-page/sphinx-notfound-page-0.8.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( pypy3 python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Create a custom 404 page with absolute URLs hardcoded"
-HOMEPAGE="https://sphinx-notfound-page.readthedocs.io/"
-# PyPI tarballs lack tests
-# https://github.com/readthedocs/sphinx-notfound-page/pull/110
-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
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 78513e157a8b..000000000000
--- a/dev-python/sphinx-panels/sphinx-panels-0.6.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 31ebe59234ea..000000000000
--- a/dev-python/sphinx-prompt/sphinx-prompt-1.5.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( pypy3 python3_{8..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 718f5fb3673a..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-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 b3a82425fd6e..e42b71406198 100644
--- a/dev-python/sphinx-pytest/Manifest
+++ b/dev-python/sphinx-pytest/Manifest
@@ -1,2 +1 @@
-DIST sphinx-pytest-0.0.3.gh.tar.gz 5898 BLAKE2B 08fe98b3add1d76454c30a11f4d82bd04123e44fa5c28d420401014e5aef11354541781c0ba43a5d95c0c6fd35b12742ecf630005faae68125f5c6686c19ef59 SHA512 f1ee23fd5f320b5b4ac48638d509963638322374136d98516a17075e0d5b05cfa64107541c80daad424dfcd9e769a95dd5aa8d7f86d8ded214c9a3cdf901cf1f
-DIST sphinx-pytest-0.0.4.gh.tar.gz 6196 BLAKE2B 24b8be165a58b15a845f076b33fb7a2525afefa7fd8bf836ac679280d271716ff02bf3adfa9b485507bc3f8a6cb91b0458a0b5bdb62bf8920c09eb20468e8949 SHA512 25bf3fafddf02aed8b2478dc2beafa251027652d03f31bbac67eb98913e359f9497a9018561aff0fdaf568ece4bcfa15705dcfa2fd3734f4db6c613b24d6a568
+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.3.ebuild b/dev-python/sphinx-pytest/sphinx-pytest-0.0.3.ebuild
deleted file mode 100644
index 5dda95b0b5eb..000000000000
--- a/dev-python/sphinx-pytest/sphinx-pytest-0.0.3.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{8..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="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv"
-
-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.0.4.ebuild b/dev-python/sphinx-pytest/sphinx-pytest-0.0.4.ebuild
deleted file mode 100644
index f4af682173f2..000000000000
--- a/dev-python/sphinx-pytest/sphinx-pytest-0.0.4.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{8..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="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 2dac63ad81da..000000000000
--- a/dev-python/sphinx-tabs/sphinx-tabs-3.4.1.ebuild
+++ /dev/null
@@ -1,57 +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_{8..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 cac1dd5705d2..000000000000
--- a/dev-python/sphinx-testing/sphinx-testing-1.0.1-r2.ebuild
+++ /dev/null
@@ -1,24 +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_{8..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 a993fd2cfc5e..8d26b2d8487b 100644
--- a/dev-python/sphinx/Manifest
+++ b/dev-python/sphinx/Manifest
@@ -1,4 +1,2 @@
-DIST Sphinx-4.5.0.tar.gz 6698212 BLAKE2B e6c46d35492c3d3068c4f97e497d33973ca86b40934578804fcec901fa89d2c52b45a7546b835b873846dd16936c1bd34a7b053aec8206c688d974671155fd56 SHA512 b44d2a81ed67adaefe16a07ae0cf053b5e6c775023aaa6c57d7b3950f171deac410e8004f787b151c3c2fc350650aa69a4dc2dc7239d1fd3d351e5194617cb2c
-DIST Sphinx-5.0.2.tar.gz 6729086 BLAKE2B a2cbf8efca673d15e364d0db74a8c5e2c0ff469f2a102317fb9bf23aac12c12ced2593e3a5e2dd0ee2bc114f2018356d382d601a3c7ff9b2943e38b59fe45db4 SHA512 d564697f0b82a9a59dd6a81e7822dbeac00fb6cc98cdc2422f04ec87c5133b5e03057ccdfdcfe38dccff41f6c53262d49f4ee6f77047c579aa2e55370bfe2dc6
-DIST sphinx-5.1.0.gh.tar.gz 6766298 BLAKE2B d12ef1ec0edd931a597457d868e8fc3b68675df266d8bb626021fa098aacd6027af925275ccf482b7a0d1c8d3cf4c872fca96359f433017274d66bbdcc0d7efa SHA512 595f6f75703d0849393043f24ac216e0bc726a6bf9a23964f8c024e42f2558e2c4f184752835e4016da85391d494fd20bb526d7d379fa9198ac97ff5eca605a2
-DIST sphinx-5.1.1.gh.tar.gz 6766329 BLAKE2B ff385abe35d4a700cbb3cd8acc72313f7c923d48b38934cc35ea6128ef6c16eb6a33604daea25f81f60b65951b4623f62cd4c1a482b2c5e7285ce0ddb6226c80 SHA512 23261cabbcc73072134c22e7fb36f4c7911f4284cea9cc7be6006e500d9de65727f43214fb4427d307845cc684b9a569960ed276320855283a33b9542a2a6918
+DIST sphinx-7.2.6.gh.tar.gz 7067425 BLAKE2B 4da1cb5ccebea4df0dc134c552311d7b70ce9b76424ea4355ad67b1ece60c9b445e56c96b838832d4df2f50940832b3fa9555b596390464a4017a573bcf514c3 SHA512 204e859318ad5044639f2e682098b07c7cc675b54ba801feeb3322290bfd15316cc15a2cae8fa6a55e6ec6d1e9690790e5402652eb04720bfe96e172f4c8bdbc
+DIST sphinx-7.3.7.gh.tar.gz 7165383 BLAKE2B bcc68f26937e6aefe60cedea533a5c8e245c76b59ab4913fb6516f285e3afc32be60b336c662ac8305fb88e82fcc2b477128f2d8b9bf92f037b124f4c855df2a SHA512 540553ecddc55b3e673c79bc776a899d2c660f1e93ef819711be52174accf5b70465883a46bed81d163534e56718caf0765b4bae153e9307a3792387d8228df5
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 d11d1075493e..000000000000
--- a/dev-python/sphinx/sphinx-4.5.0-r1.ebuild
+++ /dev/null
@@ -1,125 +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_{8..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.0.2.ebuild b/dev-python/sphinx/sphinx-5.0.2.ebuild
deleted file mode 100644
index c551896317c1..000000000000
--- a/dev-python/sphinx/sphinx-5.0.2.ebuild
+++ /dev/null
@@ -1,122 +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_{8..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-MY_P=${P^}
-DESCRIPTION="Python documentation generator"
-HOMEPAGE="
- https://www.sphinx-doc.org/
- https://github.com/sphinx-doc/sphinx/
- https://pypi.org/project/Sphinx/
-"
-SRC_URI="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 ~x64-solaris"
-IUSE="doc latex"
-
-RDEPEND="
- <dev-python/alabaster-0.8[${PYTHON_USEDEP}]
- >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
- <dev-python/docutils-0.19[${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}]
- ' 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? (
- 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}/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_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
- # TODO
- tests/test_ext_autodoc_autoclass.py::test_classes
- tests/test_ext_autodoc_autofunction.py::test_classes
- )
- [[ ${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-5.1.0.ebuild b/dev-python/sphinx/sphinx-5.1.0.ebuild
deleted file mode 100644
index ed132f4e10f4..000000000000
--- a/dev-python/sphinx/sphinx-5.1.0.ebuild
+++ /dev/null
@@ -1,124 +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_{8..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-1.3[${PYTHON_USEDEP}]
- <dev-python/docutils-0.20[${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}]
- ' 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? (
- 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}/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_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
- # 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
- )
- [[ ${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-5.1.1.ebuild b/dev-python/sphinx/sphinx-5.1.1.ebuild
deleted file mode 100644
index ed132f4e10f4..000000000000
--- a/dev-python/sphinx/sphinx-5.1.1.ebuild
+++ /dev/null
@@ -1,124 +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_{8..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-1.3[${PYTHON_USEDEP}]
- <dev-python/docutils-0.20[${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}]
- ' 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? (
- 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}/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_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
- # 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
- )
- [[ ${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/sphinx-7.3.7-r1.ebuild b/dev-python/sphinx/sphinx-7.3.7-r1.ebuild
new file mode 100644
index 000000000000..4151e90e6efc
--- /dev/null
+++ b/dev-python/sphinx/sphinx-7.3.7-r1.ebuild
@@ -0,0 +1,133 @@
+# 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
+
+DESCRIPTION="Python documentation generator"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinx/
+ https://pypi.org/project/Sphinx/
+"
+SRC_URI="
+ https://github.com/sphinx-doc/sphinx/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc latex"
+
+RDEPEND="
+ >=dev-python/alabaster-0.7.14[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.9[${PYTHON_USEDEP}]
+ <dev-python/docutils-0.22[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.18.1[${PYTHON_USEDEP}]
+ >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.25.0[${PYTHON_USEDEP}]
+ >=dev-python/snowballstemmer-2.0[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-applehelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-devhelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-jsmath[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-htmlhelp-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-serializinghtml-1.1.9[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2[${PYTHON_USEDEP}]
+ ' 3.10)
+ latex? (
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ app-text/dvipng
+ )
+ !dev-python/namespace-sphinxcontrib
+"
+# added temporarily because of unconditional import in sphinx.testing.util
+# until we figure out how to deal with it better
+RDEPEND+="
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ doc? (
+ dev-python/sphinxcontrib-websupport[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+ )
+ test? (
+ app-text/dvipng
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.0[${PYTHON_USEDEP}]
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ virtual/imagemagick-tools[jpeg,png,svg]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/sphinx-3.2.1-doc-link.patch"
+ "${FILESDIR}/sphinx-4.3.2-doc-link.patch"
+)
+
+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=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_exception
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_ignore_module_all
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_inherited_members_None
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_subclass_of_builtin_class
+ tests/test_extensions/test_ext_autodoc.py::test_automethod_for_builtin
+ tests/test_extensions/test_ext_autodoc.py::test_cython
+ tests/test_extensions/test_ext_autodoc.py::test_format_signature
+ tests/test_extensions/test_ext_autodoc.py::test_partialfunction
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_builtin_function
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_methoddescriptor
+ tests/test_extensions/test_ext_autodoc_automodule.py::test_automodule_inherited_members
+ tests/test_extensions/test_ext_autodoc_preserve_defaults.py::test_preserve_defaults_special_constructs
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
+ tests/test_util/test_util_inspect.py::test_isattributedescriptor
+ tests/test_util/test_util_inspect.py::test_signature
+ tests/test_util/test_util_typing.py::test_is_invalid_builtin_class
+ )
+ ;;
+ esac
+
+ # note: pytest-xdist causes random test failures
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/sphinx_ansible_theme/Manifest b/dev-python/sphinx_ansible_theme/Manifest
deleted file mode 100644
index f22dd7a3afce..000000000000
--- a/dev-python/sphinx_ansible_theme/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST sphinx-ansible-theme-0.8.0.tar.gz 34401 BLAKE2B 493663331e593da8d56683991762452419fd5fdb48e2c59ee3a38b6242216bccf56e047e59294ae73cccfb48a66606e55fac6c9a19d91e6ea778920f9919dbd1 SHA512 399af992428dd3212681efa66036af9ae7dbd9a9dd507452686cc76aa3e365aabee0ba7b599fbbed85f1f252075d5158ade9a816a9aad17b4e5ed696be1c962e
-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.8.0.ebuild b/dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.8.0.ebuild
deleted file mode 100644
index d2a23da1d80f..000000000000
--- a/dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.8.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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"
-
-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'
-
-S="${WORKDIR}"/${MY_P}
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 60343704c810..000000000000
--- a/dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.9.1.ebuild
+++ /dev/null
@@ -1,29 +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_{8..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 85de2bc0e770..000000000000
--- a/dev-python/sphinx_celery/sphinx_celery-2.0.0-r1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..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 a5ca5dd47c43..000000000000
--- a/dev-python/sphinx_lv2_theme/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST sphinx_lv2_theme-v1.0.0.tar.gz 9795 BLAKE2B 7406d03b53c06a4e814490df65c5dad3bb8299be2808fe89da842c4285ac8798141d7e59713e6bf3b3ea72a7af8650c2b7ead586fdf48004df78350ef789a649 SHA512 e10331f4a979055929b7146b89a4c19b05698e32d0acb2eb3d7734f6e9298d1dbe24dbe5f56697505f9f7488845643011fa1df4ed112b4f016ba21d41a4f91c8
-DIST sphinx_lv2_theme-v1.2.0.tar.gz 10724 BLAKE2B f2045ab4ce427ed1d36eea02e6ba9eea426c2fc810ed44a7033296602416629b2b03c73ca8b24b777eaf2434aae69c006ed06d5ac57cc20f4f8268b6bb0f00d7 SHA512 8c6bbdf77acec9c104b000f9c586fcb4ba3c39d64a7895b4445fcde2df401b843794e254b121034af8ffe62be8ed55205c177b9b64369b03c591fcad109f1383
diff --git a/dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.0.0-r1.ebuild b/dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.0.0-r1.ebuild
deleted file mode 100644
index a56b41e44ebb..000000000000
--- a/dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Minimal pure-CSS Sphinx theme using the LV2 plugin documentation style"
-HOMEPAGE="https://gitlab.com/lv2/sphinx_lv2_theme"
-SRC_URI="https://gitlab.com/lv2/${PN}/-/archive/v${PV}/${PN}-v${PV}.tar.gz"
-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_lv2_theme/sphinx_lv2_theme-1.2.0.ebuild b/dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.2.0.ebuild
deleted file mode 100644
index 797aa5604888..000000000000
--- a/dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.2.0.ebuild
+++ /dev/null
@@ -1,21 +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_{8..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.gz"
-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 36c2ba7770a6..000000000000
--- a/dev-python/sphinx_rtd_theme/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sphinx_rtd_theme-1.0.0.tar.gz 2780623 BLAKE2B 02e72ddade0632423d21e512ab86fbdcc9f18eddbef328ba766f1b06a49c838808af4ee000e57c8f0f40112569b35c1b62c9c0c8853c237fd2ddb6de76d48a21 SHA512 06025445e1358c994bf0c15a382ec8f8f3f2114dfac19f340585a3660d91a279100c2d16ef665d9eb8d38b0e4ed264e96d3ac6814dd01b9430d2f8a0d8275178
diff --git a/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-1.0.0-r1.ebuild b/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-1.0.0-r1.ebuild
deleted file mode 100644
index 32622a4a45ed..000000000000
--- a/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,43 +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_{8..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 ~m68k 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.py || 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 7509d12a09b3..000000000000
--- a/dev-python/sphinx_selective_exclude/sphinx_selective_exclude-1.0.3.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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/metadata.xml b/dev-python/sphinxcontrib-apidoc/metadata.xml
index e9de95cb6de3..71b93bcd2e3a 100644
--- a/dev-python/sphinxcontrib-apidoc/metadata.xml
+++ b/dev-python/sphinxcontrib-apidoc/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>arthurzam@gentoo.org</email>
- <name>Arthur Zamarin</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
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 97b185b1d01f..000000000000
--- a/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.3.0-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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 ~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 45dabb0e11ac..735617b724ea 100644
--- a/dev-python/sphinxcontrib-applehelp/Manifest
+++ b/dev-python/sphinxcontrib-applehelp/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib-applehelp-1.0.2.tar.gz 24548 BLAKE2B 9532cb990ed97c6773388a66895a066958187e9100d226e2274c26ba07fc5832e42ba407864b69b002da926a79e71ac2d6315125906156214df3920b585d9f71 SHA512 1325ac83ff15dd28d6f2791caf64e6c08d1dd2f0946dc8891f5c4d8fd062a1e8650c9c39a7459195ef41f3b425f5b8d6c5e277ea85621a36dd870ca5162508da
+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 b11431d540dd..000000000000
--- a/dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.2-r1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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.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/Manifest b/dev-python/sphinxcontrib-asyncio/Manifest
deleted file mode 100644
index 57f179b3d9ef..000000000000
--- a/dev-python/sphinxcontrib-asyncio/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sphinxcontrib-asyncio-0.3.0.tar.gz 11622 BLAKE2B 8c3358ad191e12e79767be6e6f3800e5de423d9a5ad005bdb416aa7a601cddc5f115db3e9b27213c06dbc341b671cbacd00217b65496baada40bfe257069abfa SHA512 fa66a2a9b5f89327686481f46d8e5be0b674f6355c8c0eeb862bf0ca0b5bb848121c5ed153780f653242faf1b82debc6917c3f6046244cce0f1423303a324f29
diff --git a/dev-python/sphinxcontrib-asyncio/metadata.xml b/dev-python/sphinxcontrib-asyncio/metadata.xml
deleted file mode 100644
index 0fe2c2780fe9..000000000000
--- a/dev-python/sphinxcontrib-asyncio/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">aio-libs/sphinxcontrib-asyncio</remote-id>
- <remote-id type="pypi">sphinxcontrib-asyncio</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/sphinxcontrib-asyncio/sphinxcontrib-asyncio-0.3.0.ebuild b/dev-python/sphinxcontrib-asyncio/sphinxcontrib-asyncio-0.3.0.ebuild
deleted file mode 100644
index ad4309c706ff..000000000000
--- a/dev-python/sphinxcontrib-asyncio/sphinxcontrib-asyncio-0.3.0.ebuild
+++ /dev/null
@@ -1,39 +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_{8..11} )
-
-inherit distutils-r1
-
-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"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs
-
-src_prepare() {
- # fix for sphinx >= 4.0
- sed -e 's/PyModulelevel/PyFunction/g' \
- -e 's/PyClassmember/PyClassMethod/g' \
- -i sphinxcontrib/asyncio.py || die
- default
-}
-
-python_compile() {
- distutils-r1_python_compile
- rm "${BUILD_DIR}/install$(python_get_sitedir)"/sphinxcontrib/__init__.py || die
-}
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 0b4e74d67e69..000000000000
--- a/dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.7.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 6b2af5ac532d..a6f0b8f7093c 100644
--- a/dev-python/sphinxcontrib-bibtex/Manifest
+++ b/dev-python/sphinxcontrib-bibtex/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib-bibtex-2.4.2.tar.gz 284061 BLAKE2B 06d9a868da621cca522c45998ce5f28a5aafc501127760c494e9e796d807800cccf3ee0cace7f4b824a00a76e8dd80e77d0ac5e037f2eaebbeec2ce4ea2ead70 SHA512 52d47bf0a20ef13f29b712bbe66cbcb98bd9531b8032a847375ff23180368decc3f89c2323b9ccff77c9bc9fdada63c521a81da6b701533973fcf627c2672e82
+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.4.2.ebuild b/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.4.2.ebuild
deleted file mode 100644
index d63be4fb2ab4..000000000000
--- a/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.4.2.ebuild
+++ /dev/null
@@ -1,42 +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_{8..10} )
-
-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[${PYTHON_USEDEP}]
- >=dev-python/pybtex-0.24[${PYTHON_USEDEP}]
- dev-python/pybtex-docutils[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/numpydoc[${PYTHON_USEDEP}]
- )
-"
-
-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 06eed23ec667..000000000000
--- a/dev-python/sphinxcontrib-blockdiag/sphinxcontrib-blockdiag-3.0.0.ebuild
+++ /dev/null
@@ -1,53 +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_{8..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 55798fd4310b..000000000000
--- a/dev-python/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.2-r1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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 52b2d167d271..9317da98f9a1 100644
--- a/dev-python/sphinxcontrib-doxylink/Manifest
+++ b/dev-python/sphinxcontrib-doxylink/Manifest
@@ -1,3 +1 @@
-DIST sphinxcontrib-doxylink-1.12.0.gh.tar.gz 22589 BLAKE2B 322fdd0968147abc480a88247ee724daa8c4da4519ff97280af1d81e9f36d4636aca358f5bb1ba08e5ff0f138cf8446194d1fe819a9d18a227eb463b20ee5738 SHA512 7626fad06613a614b5d6efdea088825732571c7ed45f6f2d69f34e0aede020df0930716cb34ca14260891a29aa152019c7bfae8aad729039642ea1c6bbf7d09e
-DIST sphinxcontrib-doxylink-1.12.1.gh.tar.gz 22622 BLAKE2B 2818dc9e155156e60a23183ac35e72b51f316e5e3a8f08379236a141436bbca4fee2ad534a391495dbe9bbc7c0d9f32526f5646592d16c1610121c36275a4c27 SHA512 164c523d6fb081d2ee70fa249901eb0fa3233d20a2ba73b52c4f7bf5f31c3f088c0420e39ace36c66a65fceccc137d6d62c28f7b7b58f3fbf96a3f2f73372fc8
-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.0.ebuild b/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.0.ebuild
deleted file mode 100644
index 0f214cf2d915..000000000000
--- a/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..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
-
-python_test() {
- distutils_write_namespace sphinxcontrib
- cd "${T}" || die
- epytest "${S}"/tests
-}
diff --git a/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.1.ebuild b/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.1.ebuild
deleted file mode 100644
index a6360df99206..000000000000
--- a/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..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.2.ebuild b/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.2.ebuild
deleted file mode 100644
index a6360df99206..000000000000
--- a/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.2.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8..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/Manifest b/dev-python/sphinxcontrib-github-alt/Manifest
index 4075c8bc8391..512c3e9774e0 100644
--- a/dev-python/sphinxcontrib-github-alt/Manifest
+++ b/dev-python/sphinxcontrib-github-alt/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib-github-alt-1.2.tar.gz 3680 BLAKE2B afd5a20d073e58bcb657fbf100b28fab9d8cda2e1ae7e488dab42e8d4b12e4668185657673a56e9c410aa81cb65dbf4b706740511a8ed9d6c49482ea014c2fc0 SHA512 08f6738206232a5f37446ecac7b804178a57173efee58886623c7d2b43678c8acfd5a7527bacfe7c8f004fd531be9606f24a99c5665b78f97a5676398d2d2857
+DIST sphinxcontrib_github_alt-1.2.gh.tar.gz 3680 BLAKE2B afd5a20d073e58bcb657fbf100b28fab9d8cda2e1ae7e488dab42e8d4b12e4668185657673a56e9c410aa81cb65dbf4b706740511a8ed9d6c49482ea014c2fc0 SHA512 08f6738206232a5f37446ecac7b804178a57173efee58886623c7d2b43678c8acfd5a7527bacfe7c8f004fd531be9606f24a99c5665b78f97a5676398d2d2857
diff --git a/dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r1.ebuild b/dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r1.ebuild
deleted file mode 100644
index 9fe7b806baf5..000000000000
--- a/dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=pyproject.toml
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-MY_PN="sphinxcontrib_github_alt"
-
-DESCRIPTION="Link to GitHub issues, pull requests, commits and users from Sphinx docs"
-HOMEPAGE="https://github.com/jupyter/sphinxcontrib_github_alt"
-SRC_URI="https://github.com/jupyter/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/sphinx[${PYTHON_USEDEP}]
- !dev-python/sphinxcontrib_github_alt
-"
-BDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r2.ebuild b/dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r2.ebuild
new file mode 100644
index 000000000000..5db8977c227e
--- /dev/null
+++ b/dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+MY_P=sphinxcontrib_github_alt-${PV}
+DESCRIPTION="Link to GitHub issues, pull requests, commits and users from Sphinx docs"
+HOMEPAGE="
+ https://github.com/jupyter/sphinxcontrib_github_alt/
+ https://pypi.org/project/sphinxcontrib_github_alt/
+"
+SRC_URI="
+ https://github.com/jupyter/sphinxcontrib_github_alt/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ !dev-python/sphinxcontrib_github_alt
+"
+BDEPEND="
+ dev-python/sphinx[${PYTHON_USEDEP}]
+"
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 60072db33248..000000000000
--- a/dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.0-r1.ebuild
+++ /dev/null
@@ -1,44 +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_{8..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 03a69a475880..35621e8618cd 100644
--- a/dev-python/sphinxcontrib-httpdomain/Manifest
+++ b/dev-python/sphinxcontrib-httpdomain/Manifest
@@ -1 +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 e4822f5f221d..000000000000
--- a/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.8.0-r1.ebuild
+++ /dev/null
@@ -1,49 +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_{8..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}]
- www-servers/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
new file mode 100644
index 000000000000..e8de5eb31e78
--- /dev/null
+++ b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.8.1.ebuild
@@ -0,0 +1,49 @@
+# 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="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-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 940a154e6fc2..000000000000
--- a/dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1-r2.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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 0434d7971d7d..000000000000
--- a/dev-python/sphinxcontrib-log_cabinet/sphinxcontrib-log_cabinet-1.0.1-r1.ebuild
+++ /dev/null
@@ -1,30 +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_{8..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 f0df71c8b01e..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
@@ -1,19 +1,19 @@
-# 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_{8..10} )
+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 5c06294918a4..f5fd32763e2c 100644
--- a/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.17-r1.ebuild
+++ b/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.17-r1.ebuild
@@ -1,23 +1,23 @@
-# 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_{8..10} )
+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 009a3220f32b..000000000000
--- a/dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.3-r1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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 95b287b4927d..000000000000
--- a/dev-python/sphinxcontrib-serializinghtml/sphinxcontrib-serializinghtml-1.1.5-r1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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 3f358a827475..cedb274abe4a 100644
--- a/dev-python/sphinxcontrib-spelling/Manifest
+++ b/dev-python/sphinxcontrib-spelling/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib-spelling-7.6.0.tar.gz 56329 BLAKE2B e26a3fcb39edf622b20bce0d79d1ce2d2a13e4dd8bdef0bb5cc31108a8ee42afd728975fd65e840c91bc6c6510a57904ebc478b458a52a96031bf44f1cbfa8b6 SHA512 102202eb73767ffface2aa5555c8ee2658bcd3c1eb7f3a925e8713e2f233d1bcf0eb307fed6c264c4e4e6503c30d83a3025b0c39ef608451d2fe86664aeb48c5
+DIST sphinxcontrib-spelling-8.0.0.tar.gz 37610 BLAKE2B 8ae9fb62a5a7d35194884ce075b27b0e54f54c18d55f9573bc53ef7b2f953011655631e37ac3bb7c988df470c8cdf1cb576e4830c61fddc068e50d382d067751 SHA512 0d8c21ea660516238c43fabb505666dfee15abb39f538c40c6b61f91e20c246b16aa170cd444263507dd51913a27fc7719cddb28f30eab26825b565f70dd3ab6
diff --git a/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-7.6.0.ebuild b/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-7.6.0.ebuild
deleted file mode 100644
index 2384e4dd356d..000000000000
--- a/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-7.6.0.ebuild
+++ /dev/null
@@ -1,49 +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_{8..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 441ce266fbea..000000000000
--- a/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 5de0c967feaa..000000000000
--- a/dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.4-r2.ebuild
+++ /dev/null
@@ -1,62 +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_{8..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 446873841359..000000000000
--- a/dev-python/sphinxemoji/sphinxemoji-0.2.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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/Manifest b/dev-python/sphobjinv/Manifest
index 5af733c4cae2..573a85633509 100644
--- a/dev-python/sphobjinv/Manifest
+++ b/dev-python/sphobjinv/Manifest
@@ -1 +1 @@
-DIST sphobjinv-2.2.2.tar.gz 1188094 BLAKE2B f693254f3746b0e5cb6cc863be381f41d26465eab2e1494c29f30f1a72374e8d03dfa5c433958dfa1dcbaa0a7da1ff454c42da5c09011fa67264c26e3623a302 SHA512 36e7667b071f30d4ca066422b21d298c5691321d813ba6ad9eb7a69cd4107ceb18365ee2f95865fad64ab872428b035661a3f513df2e4aab1124b48f49c7280b
+DIST sphobjinv-2.3.1.gh.tar.gz 1345653 BLAKE2B 17752829028d2dd249be0afa1a1420a4b6e61afc508f89377171aa11f528f62b15022413a8e665a213f95f3a888a85c5134e1cc7ca27bc3afd6f90bff18ce071 SHA512 7253b8b21e2027ce22013edf76a6cd397dcebf652e235a8af8b82349fb19a2f7df15d33f9f032f195a4b471f5bb5321c7de0fb195a5c0c2ce3847be23da35862
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.2.2.ebuild b/dev-python/sphobjinv/sphobjinv-2.2.2.ebuild
deleted file mode 100644
index 87713d62173f..000000000000
--- a/dev-python/sphobjinv/sphobjinv-2.2.2.ebuild
+++ /dev/null
@@ -1,57 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx objects.inv Inspection/Manipulation Tool"
-HOMEPAGE="
- https://github.com/bskinn/sphobjinv/
- https://pypi.org/project/sphobjinv/
-"
-SRC_URI="
- https://github.com/bskinn/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
-"
-
-LICENSE="MIT"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/fuzzywuzzy[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/dictdiffer[${PYTHON_USEDEP}]
- dev-python/pytest-check[${PYTHON_USEDEP}]
- dev-python/pytest-ordering[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- >=dev-python/stdio-mgr-1.0.1[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/timeout-decorator[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc/source \
- dev-python/sphinx_rtd_theme \
- dev-python/sphinx-issues \
- dev-python/sphinxcontrib-programoutput
-
-src_prepare() {
- # --strict option is deprecated in pytest>6
- sed -i -e '/addopts/d' tox.ini || die
- sed -e '/CLI_TEST_TIMEOUT/s/2/20/' -i tests/test_cli.py || die
-
- # remove bundled deps
- rm -r src/sphobjinv/_vendored || die
- sed -i -e 's:sphobjinv[.]_vendored[.]::' src/sphobjinv/*.py || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/sphobjinv/sphobjinv-2.3.1.ebuild b/dev-python/sphobjinv/sphobjinv-2.3.1.ebuild
new file mode 100644
index 000000000000..3eb641b971c7
--- /dev/null
+++ b/dev-python/sphobjinv/sphobjinv-2.3.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx objects.inv Inspection/Manipulation Tool"
+HOMEPAGE="
+ https://github.com/bskinn/sphobjinv/
+ https://pypi.org/project/sphobjinv/
+"
+SRC_URI="
+ https://github.com/bskinn/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+SLOT="0"
+
+RDEPEND="
+ >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/fuzzywuzzy[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/dictdiffer[${PYTHON_USEDEP}]
+ dev-python/pytest-check[${PYTHON_USEDEP}]
+ dev-python/pytest-ordering[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ >=dev-python/stdio-mgr-1.0.1[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/timeout-decorator[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ README.rst::README.rst
+ tests/test_readme.py::test_readme_shell_cmds
+)
+
+src_prepare() {
+ sed -e '/CLI_TEST_TIMEOUT/s/2/20/' -i tests/test_cli.py || die
+
+ # remove bundled deps
+ rm -r src/sphobjinv/_vendored || die
+ sed -i -e 's:sphobjinv[.]_vendored[.]::' src/sphobjinv/*.py || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/spotipy/Manifest b/dev-python/spotipy/Manifest
index 6a5da472b855..9f7c8f6e6543 100644
--- a/dev-python/spotipy/Manifest
+++ b/dev-python/spotipy/Manifest
@@ -1,2 +1 @@
-DIST spotipy-2.19.0.tar.gz 102703 BLAKE2B bc132edb972236b43097c0bbc9d86932a3305d8bd3807e44e20767b123455950b8e01060efd83c87b3a162e329f5c48614205f131686af7f9312a44894a7f1e7 SHA512 fbaecd1a2cab3ef458d30de46cb89462021dfc3cfc85516d8bfe509af016a0b19af2f8de4f5cae36188b1ce1f5718c75edff0e71af2a87f4d720ee99d4541a6a
-DIST spotipy-2.20.0.tar.gz 103437 BLAKE2B 78b026b9de04b0115c5621345e4f4c0ee47a51980221c77da8754c54fc8c321a1826983ceb9bcf9c415690906f3b3ea4657243e6b5d351d3edb48084baeca292 SHA512 8b5d0704fa84974ea0728dda0fe89d021b7b1550b464026d2b087671102745c7edcab116246399dd97de42d9c0cc7411295297c328b301712b6536aa6a3cd6fd
+DIST spotipy-2.23.0.gh.tar.gz 112399 BLAKE2B 5510ce35624c561df61fffee78f211dfa91ff8d5b3dc15d37c96a51bf830e67aac9c6a0787c71715bee17a3ba91b84766c1ecec37d5775f2182617f2b74a2cb3 SHA512 52955fa3365d5153f19f60874ce8e96910ac8db783499e0e2ef2ab31127277844e24a045115dc522dd7b7535f7907de56da87e02a63b94ee7506b75c1e108e9b
diff --git a/dev-python/spotipy/metadata.xml b/dev-python/spotipy/metadata.xml
index 7e88424460d2..344189ef2f36 100644
--- a/dev-python/spotipy/metadata.xml
+++ b/dev-python/spotipy/metadata.xml
@@ -6,9 +6,13 @@
<email>xgqt@gentoo.org</email>
<name>Maciej Barć</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<upstream>
- <bugs-to>https://github.com/plamere/spotipy/issues/</bugs-to>
- <remote-id type="github">plamere/spotipy</remote-id>
+ <bugs-to>https://github.com/spotipy-dev/spotipy/issues/</bugs-to>
+ <remote-id type="github">spotipy-dev/spotipy</remote-id>
<remote-id type="pypi">spotipy</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/spotipy/spotipy-2.19.0.ebuild b/dev-python/spotipy/spotipy-2.19.0.ebuild
deleted file mode 100644
index 91857474e8f3..000000000000
--- a/dev-python/spotipy/spotipy-2.19.0.ebuild
+++ /dev/null
@@ -1,48 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A light weight Python library for the Spotify Web API"
-HOMEPAGE="https://spotipy.readthedocs.io"
-SRC_URI="https://github.com/plamere/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-KEYWORDS="~amd64 ~x86"
-SLOT="0"
-IUSE="examples"
-
-RDEPEND="
- 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
-
-python_prepare_all() {
- # Requires user credentials
- rm tests/integration/test_user_endpoints.py || die
-
- # Requires a spotify client ID
- rm tests/integration/test_non_user_endpoints.py || die
-
- # Needs internet access
- sed -i -e 's:test_spotify_client_credentials_get_access_token:_&:' \
- tests/unit/test_oauth.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- use examples && dodoc -r examples
-}
diff --git a/dev-python/spotipy/spotipy-2.20.0.ebuild b/dev-python/spotipy/spotipy-2.20.0.ebuild
deleted file mode 100644
index 3409dd977e02..000000000000
--- a/dev-python/spotipy/spotipy-2.20.0.ebuild
+++ /dev/null
@@ -1,49 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A light weight Python library for the Spotify Web API"
-HOMEPAGE="https://spotipy.readthedocs.io"
-SRC_URI="https://github.com/plamere/${PN}/archive/${PV}.tar.gz -> ${P}.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
-
-python_prepare_all() {
- # Requires user credentials
- rm tests/integration/test_user_endpoints.py || die
-
- # Requires a spotify client ID
- rm tests/integration/test_non_user_endpoints.py || die
-
- # Needs internet access
- sed -i -e 's:test_spotify_client_credentials_get_access_token:_&:' \
- tests/unit/test_oauth.py || die
-
- distutils-r1_python_prepare_all
-}
-
-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 8ffdb4654927..dff8e65c3f08 100644
--- a/dev-python/spur/Manifest
+++ b/dev-python/spur/Manifest
@@ -1 +1 @@
-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.ebuild b/dev-python/spur/spur-0.3.22.ebuild
deleted file mode 100644
index 0b5e31be2505..000000000000
--- a/dev-python/spur/spur-0.3.22.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-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"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/paramiko[${PYTHON_USEDEP}]"
-
-distutils_enable_tests nose
-
-src_prepare() {
- # TODO: set up a local SSH server?
- rm tests/{ssh_tests,testing}.py || die
-
- # does random guesswork on top of exceptions that stopped working
- # in py3.8; this only causes a different exception to be raised
- # https://github.com/mwilliamson/spur.py/issues/85
- sed -e 's:spawning_command_that_uses_path_env_variable_asks_if_command_is_installed:_&:' \
- -e 's:spawning_non_existent_command_raises_specific_no_such_command_exception:_&:' \
- -e 's:using_non_existent_command_and_correct_cwd_raises_no_such_command_exception:_&:' \
- -i tests/process_test_set.py || die
-
- distutils-r1_src_prepare
-}
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 c713381d104b..8ed3fe7c9986 100644
--- a/dev-python/spyder-kernels/Manifest
+++ b/dev-python/spyder-kernels/Manifest
@@ -1,2 +1,2 @@
-DIST spyder-kernels-2.3.1.gh.tar.gz 89715 BLAKE2B 567101be14bc759a995b5753ecf129a1e3fb466a16e4d84d55cf19223d8e3bbd439bf519376bd0dfad13b076fcd29aa3f4f7ab66dfa2525f300e7842b7aa2bc7 SHA512 e8831204f242b68a8aff29f3e66c78f38a8b09542d651754c557af7333e7e3d9fa85ac1dd048972cd1f7eadedee3017afd5b2d012b1473b261603e9990ee12af
-DIST spyder-kernels-2.3.2.gh.tar.gz 90754 BLAKE2B 1725ab6a72c31eab7befa1b86406e92eedbc19f7afe72d78c9713cf96a57dcfd950408d11c5e4c769b5f670dd021e047c047deff446d3d609913a3f7a8118640 SHA512 d63ee48e6934679b353dd5a5d42e5faaa4b9a3a7dab8f9e00e5e08526894af23e5dc6c78fc6ce190f181ede6fd32e72d9e1c9a8bc078234d4a7a1bb19923384d
+DIST spyder-kernels-2.5.1.tar.gz 99906 BLAKE2B 50cae2744ea2bb2d59046423f084d8e29385a82fe05c5d18fa15a64261c4ae0bef6e6f0427c8053ea6cc622d87660f98dc55613d954818a72babc92a119e3dc2 SHA512 bd855e95fb84014cf86dd062aeffc580ce23db7f1c5c1b4ba6d5386d0be4a4bcde625a6bc3a6d126b07a66ef720860019bab5f245a383fd0b2c7975f6d331598
+DIST spyder-kernels-3.0.0b5.tar.gz 237958 BLAKE2B 3684892bac2f3f525d133b6a7bac3d2f77cf772de09f61e5c58c5a7a914274688006345348f2ffcfa8af04ace2eaee2d97db709b0772cab15752a5d9c5fb6405 SHA512 f02fe0a2bbe1aa7849aa30f784ab507dcd988349f5874e1fe3bcc468d139eb27f168005c9d475dcc826252dca00bbd2bfa8f5ae38ae71001c8e515e6e91d535a
diff --git a/dev-python/spyder-kernels/spyder-kernels-2.3.1-r2.ebuild b/dev-python/spyder-kernels/spyder-kernels-2.3.1-r2.ebuild
deleted file mode 100644
index 0745e08a1548..000000000000
--- a/dev-python/spyder-kernels/spyder-kernels-2.3.1-r2.ebuild
+++ /dev/null
@@ -1,73 +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_{8..10} )
-
-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.9.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-7.31.1[${PYTHON_USEDEP}]
- <dev-python/jupyter_client-8[${PYTHON_USEDEP}]
- >=dev-python/jupyter_client-7.3.4[${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/dask[${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
- 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
-)
-
-python_prepare_all() {
- # No additional test failures with ipython-8: 843251
- sed -i -e "/ipython/s:,<8::" setup.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/spyder-kernels/spyder-kernels-2.3.2.ebuild b/dev-python/spyder-kernels/spyder-kernels-2.3.2.ebuild
deleted file mode 100644
index 0745e08a1548..000000000000
--- a/dev-python/spyder-kernels/spyder-kernels-2.3.2.ebuild
+++ /dev/null
@@ -1,73 +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_{8..10} )
-
-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.9.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-7.31.1[${PYTHON_USEDEP}]
- <dev-python/jupyter_client-8[${PYTHON_USEDEP}]
- >=dev-python/jupyter_client-7.3.4[${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/dask[${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
- 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
-)
-
-python_prepare_all() {
- # No additional test failures with ipython-8: 843251
- sed -i -e "/ipython/s:,<8::" setup.py || die
-
- distutils-r1_python_prepare_all
-}
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_beta5.ebuild b/dev-python/spyder-kernels/spyder-kernels-3.0.0_beta5.ebuild
new file mode 100644
index 000000000000..4e2774419bfe
--- /dev/null
+++ b/dev-python/spyder-kernels/spyder-kernels-3.0.0_beta5.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.29.3[${PYTHON_USEDEP}]
+ <dev-python/ipython-9[${PYTHON_USEDEP}]
+ >dev-python/ipython-8.13.0[${PYTHON_USEDEP}]
+ <dev-python/jupyter-client-9[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-7.4.9[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24.0.0[${PYTHON_USEDEP}]
+ >=dev-python/wurlitzer-1.0.3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # we no longer package distributed, and also removed dependency on dask
+ spyder_kernels/console/tests/test_console_kernel.py::test_dask_multiprocessing
+
+ # RuntimeError: There is no current event loop in thread 'MainThread'.
+ # https://bugs.gentoo.org/834893
+ spyder_kernels/console/tests/test_console_kernel.py::test_cwd_in_sys_path
+ spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing
+ spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing_2
+ spyder_kernels/console/tests/test_console_kernel.py::test_runfile
+ spyder_kernels/console/tests/test_console_kernel.py::test_np_threshold
+ spyder_kernels/console/tests/test_console_kernel.py::test_turtle_launch
+ spyder_kernels/console/tests/test_console_kernel.py::test_matplotlib_inline
+
+ # pydicom only packaged in ::sci at the moment
+ spyder_kernels/utils/tests/test_iofuncs.py::test_load_dicom_files
+)
+
+python_test() {
+ if [[ ${EPYTHON} == pypy3 ]]; then
+ EPYTEST_IGNORE=(
+ # requires pandas
+ spyder_kernels/utils/tests/test_nsview.py
+ )
+ EPYTEST_DESELECT+=(
+ # requires hdf5
+ spyder_kernels/utils/tests/test_iofuncs.py::test_save_load_hdf5_files
+ spyder_kernels/utils/tests/test_dochelpers.py
+ )
+ fi
+ distutils-r1_python_test
+}
diff --git a/dev-python/spyder-line-profiler/Manifest b/dev-python/spyder-line-profiler/Manifest
new file mode 100644
index 000000000000..f9874ec5bd9d
--- /dev/null
+++ b/dev-python/spyder-line-profiler/Manifest
@@ -0,0 +1 @@
+DIST spyder-line-profiler-0.3.2.gh.tar.gz 88725 BLAKE2B 9e15a9b88d1b36a39428e7eccafb7a2c3d3609aece2c6e5c2f379c9f9180093863472bd1e071b12bf313e7cb6ccd4993bb407785716cab2dda871a1ebd527d41 SHA512 fb2e86cc640c7cd32567852063845567634e7cec365f7f5f5f3d770316b9adabc0447d3ad8334411fe3894aeb086cde4f14b77fd3483c099296db7df15f0b46b
diff --git a/dev-python/spyder-line-profiler/metadata.xml b/dev-python/spyder-line-profiler/metadata.xml
new file mode 100644
index 000000000000..a364741e8b32
--- /dev/null
+++ b/dev-python/spyder-line-profiler/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>
+ <upstream>
+ <remote-id type="pypi">spyder-line-profiler</remote-id>
+ <remote-id type="github">spyder-ide/spyder-line-profiler</remote-id>
+ </upstream>
+ <stabilize-allarches/>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..d66a6430ff82
--- /dev/null
+++ b/dev-python/spyder-notebook/Manifest
@@ -0,0 +1 @@
+DIST spyder-notebook-0.5.1.tar.gz 5546854 BLAKE2B ccdc93c948e6b4db005cf2433794008c65e9a56574db15cd5627f44938bcc2c865341f2417bcf000e27e3d19fe11b6eb6340e6225a682bf32b2cb06ca8f4605a SHA512 daf91361344f96db0ac855b80d17388bda7bf96eab280fba7ac406915dc9b5283c09e914c07342154ed2d0d23420b5e16923cf4ccddb090364db43cf606319f3
diff --git a/dev-python/spyder-notebook/metadata.xml b/dev-python/spyder-notebook/metadata.xml
new file mode 100644
index 000000000000..40485f6d4e4b
--- /dev/null
+++ b/dev-python/spyder-notebook/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>
+ <upstream>
+ <remote-id type="pypi">spyder-notebook</remote-id>
+ <remote-id type="github">spyder-ide/spyder-notebook</remote-id>
+ </upstream>
+ <stabilize-allarches/>
+</pkgmetadata>
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/metadata.xml b/dev-python/spyder-terminal/metadata.xml
index 96ef61818e5d..38dc189dce1c 100644
--- a/dev-python/spyder-terminal/metadata.xml
+++ b/dev-python/spyder-terminal/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<upstream>
<remote-id type="pypi">spyder-terminal</remote-id>
+ <remote-id type="github">spyder-ide/spyder-terminal</remote-id>
</upstream>
<stabilize-allarches/>
</pkgmetadata>
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 a0e0411785d2..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+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"
@@ -20,5 +20,5 @@ RDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
>=dev-python/spyder-5.2.0[${PYTHON_USEDEP}]
>=dev-python/terminado-0.13.1[${PYTHON_USEDEP}]
- www-servers/tornado[${PYTHON_USEDEP}]
+ dev-python/tornado[${PYTHON_USEDEP}]
"
diff --git a/dev-python/spyder-unittest/Manifest b/dev-python/spyder-unittest/Manifest
index 22be279e4c0c..0734087a0fe5 100644
--- a/dev-python/spyder-unittest/Manifest
+++ b/dev-python/spyder-unittest/Manifest
@@ -1 +1 @@
-DIST spyder-unittest-0.5.0.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/metadata.xml b/dev-python/spyder-unittest/metadata.xml
index 7a33a2fede83..f8bc4578a4c1 100644
--- a/dev-python/spyder-unittest/metadata.xml
+++ b/dev-python/spyder-unittest/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<upstream>
<remote-id type="pypi">spyder-unittest</remote-id>
+ <remote-id type="github">spyder-ide/spyder-unittest</remote-id>
</upstream>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/dev-python/spyder-unittest/spyder-unittest-0.5.0.ebuild b/dev-python/spyder-unittest/spyder-unittest-0.5.0.ebuild
deleted file mode 100644
index dbb35f3719d4..000000000000
--- a/dev-python/spyder-unittest/spyder-unittest-0.5.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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}.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.2.0[${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/nose[${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/Manifest b/dev-python/spyder-vim/Manifest
new file mode 100644
index 000000000000..112da2f8b6c7
--- /dev/null
+++ b/dev-python/spyder-vim/Manifest
@@ -0,0 +1 @@
+DIST spyder-vim-0.1.0.gh.tar.gz 867270 BLAKE2B 23f8d880bfbb168f4c6260cd19ac90aeef7413a825e4023d3e2f9fd6296f96f36792f553a98f458cb452d7f6a80f0b1bb7a31a4e4aa25bf3127cf3dafb600a85 SHA512 4671850782113e5c801ccb058bed036fb0675d817714929bcdf247f9819a25378925d20d4216cd9d6eba621be1c56b45631a9796c2b80f0a0b24cdc79c20d715
diff --git a/dev-python/spyder-vim/metadata.xml b/dev-python/spyder-vim/metadata.xml
new file mode 100644
index 000000000000..25fa136d9c7f
--- /dev/null
+++ b/dev-python/spyder-vim/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">spyder-ide/spyder-vim</remote-id>
+ <remote-id type="pypi">spyder-vim</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/spyder-vim/spyder-vim-0.1.0.ebuild b/dev-python/spyder-vim/spyder-vim-0.1.0.ebuild
new file mode 100644
index 000000000000..3f2c4b180037
--- /dev/null
+++ b/dev-python/spyder-vim/spyder-vim-0.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=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Plugin for Spyder to enable Vim keybindings"
+HOMEPAGE="https://github.com/spyder-ide/spyder-vim"
+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/spyder-5.3.3[${PYTHON_USEDEP}]
+ <dev-python/spyder-6[${PYTHON_USEDEP}]
+ "
+
+DEPEND="test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-qt[${PYTHON_USEDEP}]
+)"
+
+DOCS=( "README.md" "RELEASE.md" "doc/example.gif" )
+
+distutils_enable_tests pytest
+
+python_test() {
+ virtx epytest
+}
diff --git a/dev-python/spyder/Manifest b/dev-python/spyder/Manifest
index 3f0105fb53ec..dc9f810090af 100644
--- a/dev-python/spyder/Manifest
+++ b/dev-python/spyder/Manifest
@@ -1,4 +1,3 @@
-DIST spyder-5.3.1.tar.gz 24415110 BLAKE2B 368179c6ba6d355ca56fe3eb3ed8b24be3e986f1f2d0284f0f5739bdecb21225bce10802883b54dd888da54515bd8477adf6c0d3e38a3c549bb10407534254b0 SHA512 2501ddc45df11671b1a318eb33b50788b334ab10fbafb97a9491775a0efcc6a57814672068ab84314f9cb43961d6fabd9b906fb164cd58c77b6d6ecf0d6621e6
-DIST spyder-5.3.2.gh.tar.gz 24441566 BLAKE2B dae46baf1a2673ee7449d1060302a726963424c946c9a0188ab85401c9a457fe818039ce3217ccd94ee3976b3e1a4dbb4379945862dee039ebd01ca41077846f SHA512 d1e9a83ddad6e637bef9cacc8261e9097684996661f730ff2813c2bdd72b1d58e9ae75f8a54730088761750eee6ae3d622f25fb9d0e6bca70325906cf4fc9348
-DIST spyder-docs-d43d6cd46b6eb7675ec690b0dff573ca03f2e301.gh.tar.gz 90037375 BLAKE2B 2faf8d2d07b10aec750534c73ebcfc9146533db4223908ecabafb214d7e0a85416aaaf4359f95768572bbd8806f13bd707124f9585299527af5bd5bc735293d4 SHA512 00f12af5298f5b90eaf9a4ea8706b5bb29445ca344b5117801dbac54508eefa29c807e0d4f36524fb5d8b6208204533dc657da63849cadaf13f4aa3652612cb1
-DIST spyder-docs-d43d6cd46b6eb7675ec690b0dff573ca03f2e301.tar.gz 90037375 BLAKE2B 2faf8d2d07b10aec750534c73ebcfc9146533db4223908ecabafb214d7e0a85416aaaf4359f95768572bbd8806f13bd707124f9585299527af5bd5bc735293d4 SHA512 00f12af5298f5b90eaf9a4ea8706b5bb29445ca344b5117801dbac54508eefa29c807e0d4f36524fb5d8b6208204533dc657da63849cadaf13f4aa3652612cb1
+DIST spyder-5.5.4.gh.tar.gz 16258160 BLAKE2B 4f29db0805e1d7eed33497df0b28754cd873cfa5c6bd6c7955efc881000498a7527e413de5107ca4414f2dcbf0aa55903b1bf496626e7b470942cc5142abc152 SHA512 4f68d1edc2901b4cffb67943c782ccd89e923722579ec4144064de2ec1b6bbf89f831feb3eb58a7adf7c403efc7d2529c38017b423bb32709170915792f4deb2
+DIST spyder-6.0.0_alpha5.gh.tar.gz 15518670 BLAKE2B 936137c8bf20338b2cb084c8a798819d877595336b74e68fb7418c221f7168b2716042d0b6b26f9ae36034611a0d25962880026587a6a6b40f0009c818d316bb SHA512 dedc46c4651735abdaedba79c9acb55ba91a23f7fd78c426d23d8a34153b33e57601c49d1417767ad4f7d23fcf52449d6e44c7f77fddb4810f75739aa64bd16c
+DIST spyder-docs-32efdaebc11dab0b8e0767717342b7d306dc06ea.gh.tar.gz 94897009 BLAKE2B 30e0b42e34bddb60d8fc986183a363b71455067bc7f4411cb75a00c5758e87501ee07ad0b484caed2aa3cf91153be814c7faf935be8665b6984bce38ebcd0be2 SHA512 9f9aa56ab27aed8d27c3d653119d5c5454b4317a78a7ff27715d91cac9dec79143db85d4f1c87b10fa821eb33abc043912df308fa6c84ade59539bd633eefbd2
diff --git a/dev-python/spyder/metadata.xml b/dev-python/spyder/metadata.xml
index b23b17765ada..f4aa91a44bfb 100644
--- a/dev-python/spyder/metadata.xml
+++ b/dev-python/spyder/metadata.xml
@@ -23,7 +23,6 @@
</longdescription>
<upstream>
<remote-id type="pypi">spyder</remote-id>
- <remote-id type="bitbucket">spyder-ide/spyderlib</remote-id>
<remote-id type="github">spyder-ide/spyder</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/spyder/spyder-5.3.1-r1.ebuild b/dev-python/spyder/spyder-5.3.1-r1.ebuild
deleted file mode 100644
index 15fb63a0e467..000000000000
--- a/dev-python/spyder/spyder-5.3.1-r1.ebuild
+++ /dev/null
@@ -1,202 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit optfeature xdg distutils-r1
-
-# Commit of documentation to fetch
-DOCS_PV="d43d6cd46b6eb7675ec690b0dff573ca03f2e301"
-
-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}.tar.gz
- https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.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/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/qdarkstyle-3.1[${PYTHON_USEDEP}]
- >=dev-python/qstylizer-0.1.10[${PYTHON_USEDEP}]
- >=dev-python/qtawesome-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/qtconsole-5.3.0[${PYTHON_USEDEP}]
- <dev-python/qtconsole-5.4.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.3.1[${PYTHON_USEDEP}]
- <dev-python/spyder-kernels-2.4.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-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"
-)
-
-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/d' \
- -e '/pyqtwebengine/d' \
- -e '/python-lsp-server/d' \
- -e '/parso/d' \
- -e '/jedi/d' \
- -e '/pylint/d' \
- -e '/ipython/d' \
- requirements/conda.txt || die
- 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 "The memory profiler plugin" dev-python/spyder-memory-profiler
- # spyder-autopep8 does not have a release (yet)
- # and are not compatible with >=spyder-4.0.0 at the moment
- # optfeature "The autopep8 plugin" dev-python/spyder-autopep8
- # optfeature "Vim key bindings" dev-python/spyder-vim
- optfeature "Unittest support" dev-python/spyder-unittest
- # optfeature "Jupyter notebook support" dev-python/spyder-notebook
- optfeature "System terminal inside spyder" dev-python/spyder-terminal
- # spyder-reports not yet updated to >=spyder-4.0.0
- # optfeature "Markdown reports using Pweave" dev-python/spyder-reports
-}
diff --git a/dev-python/spyder/spyder-5.3.2.ebuild b/dev-python/spyder/spyder-5.3.2.ebuild
deleted file mode 100644
index d4b8b5281e41..000000000000
--- a/dev-python/spyder/spyder-5.3.2.ebuild
+++ /dev/null
@@ -1,193 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit optfeature xdg distutils-r1
-
-# Commit of documentation to fetch
-DOCS_PV="d43d6cd46b6eb7675ec690b0dff573ca03f2e301"
-
-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/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/qdarkstyle-3.1[${PYTHON_USEDEP}]
- >=dev-python/qstylizer-0.1.10[${PYTHON_USEDEP}]
- >=dev-python/qtawesome-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/qtconsole-5.3.0[${PYTHON_USEDEP}]
- <dev-python/qtconsole-5.4.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.3.2[${PYTHON_USEDEP}]
- <dev-python/spyder-kernels-2.4.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-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"
-)
-
-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 "The memory profiler plugin" dev-python/spyder-memory-profiler
- # spyder-autopep8 does not have a release (yet)
- # and are not compatible with >=spyder-4.0.0 at the moment
- # optfeature "The autopep8 plugin" dev-python/spyder-autopep8
- # optfeature "Vim key bindings" dev-python/spyder-vim
- optfeature "Unittest support" dev-python/spyder-unittest
- # optfeature "Jupyter notebook support" dev-python/spyder-notebook
- optfeature "System terminal inside spyder" dev-python/spyder-terminal
- # spyder-reports not yet updated to >=spyder-4.0.0
- # optfeature "Markdown reports using Pweave" dev-python/spyder-reports
-}
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_alpha5.ebuild b/dev-python/spyder/spyder-6.0.0_alpha5.ebuild
new file mode 100644
index 000000000000..f0067e582d78
--- /dev/null
+++ b/dev-python/spyder/spyder-6.0.0_alpha5.ebuild
@@ -0,0 +1,190 @@
+# 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//_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.1[${PYTHON_USEDEP}]
+ <dev-python/qtawesome-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/qtconsole-5.5.1[${PYTHON_USEDEP}]
+ <dev-python/qtconsole-5.6.0[${PYTHON_USEDEP}]
+ >=dev-python/QtPy-2.4.0[${PYTHON_USEDEP},svg,webengine]
+ >=sci-libs/rtree-0.9.7[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}]
+ >=dev-python/spyder-kernels-3.0.0_beta5[${PYTHON_USEDEP}]
+ <dev-python/spyder-kernels-3.0.0_beta6[${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 d0115a2f70cc..000000000000
--- a/dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-1.1.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 885bbf9f1282..3d0e9e8fa3d2 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,2 +1,3 @@
-DIST SQLAlchemy-1.4.39.tar.gz 8212369 BLAKE2B d65993c4342c2cb5bc76ea4ecc986d0ec521a6eb785604ceeca0c9c22187e4af29fc8bd940a130162ca9dd5c30d58b5d0999472285382c6f6bed3863ff9f20cd SHA512 a7c6b73250044289add492b2d7df9010f3b9a3a5126c8b3448d7339cf743c4be3f1c08d238107bb12c579b2bbd7d20e216e331d3ee10dcf79c0f23ca44d496af
-DIST SQLAlchemy-1.4.40.tar.gz 8277132 BLAKE2B fa4362a8abec9845beb3cdb65de4066a8a77a40518187a624af3207198395ae3702db5ca5f65970ec7485e8647bdc5a8685f5d9a3b772778c7d6ec66ad820dcf SHA512 49b8ad8becd6fb2c43615890ef05554ce151f44cda20971a585ff5b325a6a91bb356a3c4320f4b1ac877a9eccdca9bec65cc9942bc5948d4143495b5c884f458
+DIST SQLAlchemy-1.4.52.tar.gz 8514200 BLAKE2B b41fccb885ce6761e29621a654c97537610a1875d66302ba56fac560f5c85db35b14595efd903aebfd0186ee39b75a8666e1304cdee6a6ec6eb9923bc602b9e5 SHA512 afda6a3503c9d2baba8c1dd9e7216d5ac1561f52f5f11009c41a1a98ac998643c980c60cf8ba4d84c4af8808be26ead9fd2e7a2c8bf15b2fdb521b4e5de7748e
+DIST SQLAlchemy-2.0.29.tar.gz 9543967 BLAKE2B 04425618b6e0bcf98a7a32a4a6b1c092120a9f3eb55761879b072ac3a3e08c8f1b97fb4d2df4b35b2fd810e11146f4d83cf67cd8ec23fb4d96c5d6cfff7657af SHA512 d1143c65fb26335d652083b9a90afaecf78ed312cea5c26f989380204e909c341c1bc3bb1e07274353e1c409d21737fad4d7391f186b2d2373814582d3baaf78
+DIST SQLAlchemy-2.0.30.tar.gz 9579500 BLAKE2B 3c1711ee72a355eb5e6a71d6581d951ffe3ddab459ac4bb4c36a8640ed5f6298a80847e9bb66dd700622fa9275bf77c4c18be5e324092a576d1b35983371730a SHA512 b39275a7312609fd0a78ac5bb4fb0f29f2948d7fc81007587c01f38849ff28bff273182a06c8ec830b7e1ba4cd30aea2cd7214bbf971a61125c9b56c6ddbbe52
diff --git a/dev-python/sqlalchemy/sqlalchemy-1.4.39.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.39.ebuild
deleted file mode 100644
index e4039b787fa5..000000000000
--- a/dev-python/sqlalchemy/sqlalchemy-1.4.39.ebuild
+++ /dev/null
@@ -1,93 +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_{8..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
- )
- 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[True-_exclusions0]"
- "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.40.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.40.ebuild
deleted file mode 100644
index b9b2ea0d21f1..000000000000
--- a/dev-python/sqlalchemy/sqlalchemy-1.4.40.ebuild
+++ /dev/null
@@ -1,93 +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_{8..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
- )
- 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[True-_exclusions0]"
- "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.29.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.29.ebuild
new file mode 100644
index 000000000000..7d275169242d
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.29.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 multiprocessing optfeature pypi
+
+MY_PN="SQLAlchemy"
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+SRC_URI="$(pypi_sdist_url --no-normalize "${MY_PN}")"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples +sqlite test"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/greenlet/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ test/ext/mypy/test_mypy_plugin_py3k.py
+ test/typing/test_mypy.py
+ # hardcode call counts specific to Python versions
+ test/aaa_profiling
+ )
+ local EPYTEST_DESELECT=(
+ # warning tests are unreliable
+ test/base/test_warnings.py
+ )
+ local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
+ test/engine/test_processors.py::PyDateProcessorTest::test_date_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_datetime_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
+ "test/dialect/test_sqlite.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
+ "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"::test_{delete,insert,update}_single
+ test/base/test_utils.py::ImmutableDictTest::test_pep584
+ )
+ ;;
+ esac
+ if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]"
+ )
+ fi
+
+ # upstream's test suite is horribly hacky; it relies on disabling
+ # the warnings plugin and turning warnings into errors; this also
+ # means that any DeprecationWarnings from third-party plugins cause
+ # everything to explode
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=10 --reruns-delay=2 \
+ -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "asyncio support" dev-python/greenlet
+ optfeature "MySQL support" \
+ dev-python/mysqlclient \
+ dev-python/pymysql
+ optfeature "postgresql support" dev-python/psycopg:2
+}
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.30.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.30.ebuild
new file mode 100644
index 000000000000..f6836f064aa4
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.30.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 multiprocessing optfeature pypi
+
+MY_PN="SQLAlchemy"
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+SRC_URI="$(pypi_sdist_url --no-normalize "${MY_PN}")"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples +sqlite test"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/greenlet/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ test/ext/mypy/test_mypy_plugin_py3k.py
+ test/typing/test_mypy.py
+ # hardcode call counts specific to Python versions
+ test/aaa_profiling
+ )
+ local EPYTEST_DESELECT=(
+ # warning tests are unreliable
+ test/base/test_warnings.py
+ )
+ local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
+ test/engine/test_processors.py::PyDateProcessorTest::test_date_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_datetime_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
+ "test/dialect/test_sqlite.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
+ "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"::test_{delete,insert,update}_single
+ test/base/test_utils.py::ImmutableDictTest::test_pep584
+ )
+ ;;
+ esac
+ if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]"
+ )
+ fi
+
+ # upstream's test suite is horribly hacky; it relies on disabling
+ # the warnings plugin and turning warnings into errors; this also
+ # means that any DeprecationWarnings from third-party plugins cause
+ # everything to explode
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=10 --reruns-delay=2 \
+ -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "asyncio support" dev-python/greenlet
+ optfeature "MySQL support" \
+ dev-python/mysqlclient \
+ dev-python/pymysql
+ optfeature "postgresql support" dev-python/psycopg:2
+}
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
new file mode 100644
index 000000000000..e936317e57a6
--- /dev/null
+++ b/dev-python/sqlglot/Manifest
@@ -0,0 +1,36 @@
+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.13.7.tar.gz 13093895 BLAKE2B 3d6311e81030f01675251380c7883ef4d2151e00438b3767bf7da57bdfc5818054ed33ef4517836d178028d8984ff206256aa48138020c0acce1cb0c27709322 SHA512 dbf53572ce8fd5e1bc694e275356740997aa0a87885d8c5991bac45084a301e52474c9e6193f36346c4cf429ec953fcb276e66861ce7a1e0e7909600dee57528
+DIST sqlglot-23.14.0.tar.gz 13092216 BLAKE2B d0ea74b6c29162553e48d75c021951b377661ed0080954202967b88c8908068439982a7ac34974d96a3ba910ca3f604d0ba5aedd79fbb9ca9090be9db5e2acd4 SHA512 f5af3ec913197fbd5c2bc5cd3338b23eee526a51441fc9d5a608d8435ea717faa74cc0d60ca056f043858b38b1ba1859a49ed5909639ef61b088dd3b0b06bf60
+DIST sqlglot-23.15.0.tar.gz 13095809 BLAKE2B c8a7f63cfc1014f43a14ba655551948ab3e8c98b89a1458b3f44fd26a0b36c9219610d0f7078da4632c8e7a87111c13b05f52a4b368d900ae7a03af90c7eca40 SHA512 e04aea350d702c0def2b57024ec959fa4f5128cda71b610da1d919db5ac1f415e3e53e0aae5f2a9de37fca120f44a64c8d8d41f136ab446d4df80b6cf6fef6b0
+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.13.7.ebuild b/dev-python/sqlglot/sqlglot-23.13.7.ebuild
new file mode 100644
index 000000000000..058fa81df816
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-23.13.7.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.14.0.ebuild b/dev-python/sqlglot/sqlglot-23.14.0.ebuild
new file mode 100644
index 000000000000..058fa81df816
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-23.14.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.15.0.ebuild b/dev-python/sqlglot/sqlglot-23.15.0.ebuild
new file mode 100644
index 000000000000..058fa81df816
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-23.15.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/sqlitedict/Manifest b/dev-python/sqlitedict/Manifest
index 77daa8afcae4..10d3c6871266 100644
--- a/dev-python/sqlitedict/Manifest
+++ b/dev-python/sqlitedict/Manifest
@@ -1 +1 @@
-DIST sqlitedict-2.0.0.tar.gz 46266 BLAKE2B c320c5b61e535ff668462fc079cd501e8aae4fb334230ed0b9c5eae0c53f569c8971a8484cddf85575b1e2d28b051d2f0fa8376a1176e3116a1a0516e36202aa SHA512 3ba84676680e5e9408804618e4ae871d09fcfdc999f06c1143f42329059e6033abb2d897ed485d9d84dc2761032fa07f00f08b259f1d9e6426c4ee0068446ed8
+DIST sqlitedict-2.1.0.tar.gz 21846 BLAKE2B 727d37cefcd1f847b29297f15dc97d70e516d44953dec69e4453bb7649b08edcb6b090d3915826b2b607864dbe28faa489d72fc930d2b1497077e6330d76f99f SHA512 b981dfd70b0d8d0a51e71c14db484fec523adf6cd3af70fcf5c24ae743dc97694113f977cd10c89746e5220aa9334f4ebe89bcf47aebaecd03bd8a4695b03fc9
diff --git a/dev-python/sqlitedict/sqlitedict-2.0.0.ebuild b/dev-python/sqlitedict/sqlitedict-2.0.0.ebuild
deleted file mode 100644
index ec3a8162d777..000000000000
--- a/dev-python/sqlitedict/sqlitedict-2.0.0.ebuild
+++ /dev/null
@@ -1,30 +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_{8..10} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1
-
-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"
-KEYWORDS="~amd64 ~arm"
-
-DOCS=( README.rst )
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/test_core.py::TablenamesTest::test_tablenames
- tests/test_onimport.py::SqliteDictPython24Test::test_py24_error
-)
diff --git a/dev-python/sqlitedict/sqlitedict-2.1.0.ebuild b/dev-python/sqlitedict/sqlitedict-2.1.0.ebuild
new file mode 100644
index 000000000000..da7495ac1ac3
--- /dev/null
+++ b/dev-python/sqlitedict/sqlitedict-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=( python3_{10..12} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Persistent dict in Python, backed by SQLite and pickle"
+HOMEPAGE="
+ https://github.com/RaRe-Technologies/sqlitedict/
+ https://pypi.org/project/sqlitedict/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+DOCS=( README.rst )
+
+distutils_enable_tests pytest
+
+python_test() {
+ mkdir -p tests/db || die
+ distutils-r1_python_test
+}
diff --git a/dev-python/sqlparse/Manifest b/dev-python/sqlparse/Manifest
index 992d5a41ec34..a00a2773f92d 100644
--- a/dev-python/sqlparse/Manifest
+++ b/dev-python/sqlparse/Manifest
@@ -1 +1 @@
-DIST sqlparse-0.4.2.tar.gz 67771 BLAKE2B 790ba224ed04ce1952602e7d01a2f0bd7e830e62a38c35d69c3fcd2b5b1016560a1e23c24ec82ff4b2e7021cbeab17968b9cff01acc8674fa18a05ab88efb84b SHA512 8136e5c14650b5286616958bfb19039a6981e4c84bf955b0f668053f5427202eff9a6472f71820293ddbe55c0f793fb690d42d0e0134135aed7eb6e13edca01e
+DIST sqlparse-0.5.0.tar.gz 83475 BLAKE2B 6553de08385e90bbb0b7ce45db5894aabceb997885f1c610d83725b1a5d632caae1944e022ef43b3ed586ed05d160d5e88e450a077a6531955abda8a794dc173 SHA512 eade99e832054ddbc466d1c56a4d5ce6f79d31be8dbfa0b175b8413e4326af18baa20a42d9661bc09e91f04edd8329d4c0df2ca6f62983df3daef67d38342269
diff --git a/dev-python/sqlparse/sqlparse-0.4.2.ebuild b/dev-python/sqlparse/sqlparse-0.4.2.ebuild
deleted file mode 100644
index fa28d5c85917..000000000000
--- a/dev-python/sqlparse/sqlparse-0.4.2.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 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..643d4bafea3a
--- /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/ssh2-python/Manifest b/dev-python/ssh2-python/Manifest
deleted file mode 100644
index 30f124c907c8..000000000000
--- a/dev-python/ssh2-python/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ssh2-python-0.27.0.tar.gz 1146845 BLAKE2B 18512ca23da628ab9f590cd796ee38522116b133ad537b868893276b083b53ca3647b05e47585a26cc667d39b6f796cfae31f1a8cb29d74fe185e8b837453612 SHA512 f215fa11a99c58350d832680ebd1b96cb9e4b4f90621737595c526af083403379b3529361dbfea6ede40c911c267fa2a6d49becfdc55f5604b9a9f903d6d6208
diff --git a/dev-python/ssh2-python/metadata.xml b/dev-python/ssh2-python/metadata.xml
deleted file mode 100644
index 887fbaf657a4..000000000000
--- a/dev-python/ssh2-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>slashbeast@gentoo.org</email>
- <name>Piotr Karbowski</name>
- </maintainer>
- <upstream>
- <remote-id type="github">ParallelSSH/ssh2-python</remote-id>
- <remote-id type="pypi">ssh2-python</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/ssh2-python/ssh2-python-0.27.0.ebuild b/dev-python/ssh2-python/ssh2-python-0.27.0.ebuild
deleted file mode 100644
index 88f071e99186..000000000000
--- a/dev-python/ssh2-python/ssh2-python-0.27.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Super fast SSH2 protocol library, Python bindings for libssh2"
-HOMEPAGE="https://pypi.org/project/ssh2-python/"
-SRC_URI="https://github.com/ParallelSSH/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- net-libs/libssh2
- dev-libs/openssl
- sys-libs/zlib
-"
-python_configure_all() {
- export SYSTEM_LIBSSH2=1
-}
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 51ca22c5ab19..bf393ff70dad 100644
--- a/dev-python/sshtunnel/sshtunnel-0.3.1.ebuild
+++ b/dev-python/sshtunnel/sshtunnel-0.3.1.ebuild
@@ -1,14 +1,13 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{9..10} )
+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 49c0ec042f98..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} 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 ed96683472a6..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} 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
new file mode 100644
index 000000000000..f81ea3de7e61
--- /dev/null
+++ b/dev-python/stack-data/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">stack-data</remote-id>
+ <remote-id type="github">alexmojaki/stack_data</remote-id>
+ </upstream>
+</pkgmetadata>
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 40dfb58c41a6..000000000000
--- a/dev-python/stack_data/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST stack_data-0.3.0.tar.gz 41061 BLAKE2B 9202ddb2e6e8c8c9e050e085cfe6e1bdbf26124eb85c19516558336d46876aba5ede1b6a87cf17e09c2b44629063a8f5e1f558fdaf64db2db029978a5860cd99 SHA512 648b6fd0dbf43ee974c15de85aa530034c6c67a3a7c297c1ea3f1ddd59bf13d331f8db9f8ddf54f69e59385ed2c0c2a24b48c5a93330df62082c333610d8a6bb
diff --git a/dev-python/stack_data/metadata.xml b/dev-python/stack_data/metadata.xml
deleted file mode 100644
index d9203f16e337..000000000000
--- a/dev-python/stack_data/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">stack-data</remote-id>
- <remote-id type="github">alexmojaki/stack_data</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/stack_data/stack_data-0.3.0.ebuild b/dev-python/stack_data/stack_data-0.3.0.ebuild
deleted file mode 100644
index 833bda6e4c4b..000000000000
--- a/dev-python/stack_data/stack_data-0.3.0.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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Extract data from Python tracebacks for informative displays"
-HOMEPAGE="https://github.com/alexmojaki/stack_data"
-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"
-
-RDEPEND="
- dev-python/asttokens[${PYTHON_USEDEP}]
- dev-python/executing[${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/Manifest b/dev-python/stapler/Manifest
index 362284cffa13..8509b2111ea0 100644
--- a/dev-python/stapler/Manifest
+++ b/dev-python/stapler/Manifest
@@ -1 +1 @@
-DIST stapler-1.0.0_p20220330.tar.gz 43659 BLAKE2B 10c24868d51086b37dd2d517aa84e3c3fc0b6becc7a29ebf496646bdd65494eb0c43488f725241d7bd7b3083ce5703538db3e05de9976a2e5029731fc2e645d2 SHA512 acd2dfec0dfab46b2cf6b440cba6c0db5399be2ba2194ca12530c311c6c5a8028614164af45b850061e7d22cbec33458ceff7757f1b104c722228dc2d02cae0a
+DIST stapler-382f1edc62296e071093a5419811a2fca9d78d93.tar.gz 43659 BLAKE2B 10c24868d51086b37dd2d517aa84e3c3fc0b6becc7a29ebf496646bdd65494eb0c43488f725241d7bd7b3083ce5703538db3e05de9976a2e5029731fc2e645d2 SHA512 acd2dfec0dfab46b2cf6b440cba6c0db5399be2ba2194ca12530c311c6c5a8028614164af45b850061e7d22cbec33458ceff7757f1b104c722228dc2d02cae0a
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-fix-tests-for-PyPDF2-2.x.patch b/dev-python/stapler/files/stapler-1.0.0_p20220330-fix-tests-for-PyPDF2-2.x.patch
new file mode 100644
index 000000000000..125b06a7735a
--- /dev/null
+++ b/dev-python/stapler/files/stapler-1.0.0_p20220330-fix-tests-for-PyPDF2-2.x.patch
@@ -0,0 +1,13 @@
+diff --git a/staplelib/tests.py b/staplelib/tests.py
+index 4d59153..447d48a 100755
+--- a/staplelib/tests.py
++++ b/staplelib/tests.py
+@@ -5,7 +5,7 @@ import shutil
+ import tempfile
+ import unittest
+
+-from PyPDF2.pdf import PdfFileReader
++from PyPDF2 import PdfFileReader
+
+ from staplelib import main, CommandError
+
diff --git a/dev-python/stapler/files/stapler-1.0.0_p20220330-port-to-PyPDF2-3.0.0.patch b/dev-python/stapler/files/stapler-1.0.0_p20220330-port-to-PyPDF2-3.0.0.patch
new file mode 100644
index 000000000000..91eea95ae217
--- /dev/null
+++ b/dev-python/stapler/files/stapler-1.0.0_p20220330-port-to-PyPDF2-3.0.0.patch
@@ -0,0 +1,302 @@
+From 48d6ab21369f1e71dc57890f9bf78fff66c00a90 Mon Sep 17 00:00:00 2001
+From: Ben Kohler <bkohler@gentoo.org>
+Date: Wed, 28 Dec 2022 10:08:30 -0600
+Subject: [PATCH 2/2] Port to PyPDF2-3.0.0
+
+Lots of functions got renamed in the recent PyPDF2-3.0.0 release
+
+Signed-off-by: Ben Kohler <bkohler@gentoo.org>
+---
+ staplelib/commands.py | 46 +++++++++++++++++++++----------------------
+ staplelib/iohelper.py | 12 +++++------
+ staplelib/tests.py | 34 ++++++++++++++++----------------
+ 3 files changed, 46 insertions(+), 46 deletions(-)
+
+diff --git a/staplelib/commands.py b/staplelib/commands.py
+index d37bfa7..caf75f9 100644
+--- a/staplelib/commands.py
++++ b/staplelib/commands.py
+@@ -4,9 +4,9 @@ import math
+ import os
+
+ try:
+- from PyPDF2 import PdfFileWriter, PdfFileReader
++ from PyPDF2 import PdfWriter, PdfReader
+ except:
+- from pyPdf import PdfFileWriter, PdfFileReader
++ from pyPdf import PdfWriter, PdfReader
+
+ from . import CommandError, iohelper
+ import staplelib
+@@ -33,7 +33,7 @@ def select(args, inverse=False):
+ if not filesandranges or not outputfilename:
+ raise CommandError("Both input and output filenames are required.")
+
+- output = PdfFileWriter()
++ output = PdfWriter()
+ try:
+ for input in filesandranges:
+ pdf = input['pdf']
+@@ -44,21 +44,21 @@ def select(args, inverse=False):
+ if not inverse:
+ pagerange = input['pages'] or [
+ (p, iohelper.ROTATION_NONE) for p in
+- range(1, pdf.getNumPages() + 1)]
++ range(1, len(pdf.pages) + 1)]
+ else:
+ excluded = [p for p, r in input['pages']]
+ pagerange = [(p, iohelper.ROTATION_NONE) for p in
+- range(1, pdf.getNumPages() + 1) if
++ range(1, len(pdf.pages) + 1) if
+ p not in excluded]
+
+ for pageno, rotate in pagerange:
+- if 1 <= pageno <= pdf.getNumPages():
++ if 1 <= pageno <= len(pdf.pages):
+ if verbose:
+ print("Using page: {} (rotation: {} deg.)".format(
+ pageno, rotate))
+
+- output.addPage(pdf.getPage(pageno-1)
+- .rotateClockwise(rotate))
++ output.add_page(pdf.pages[pageno-1]
++ .rotate(rotate))
+ else:
+ raise CommandError("Page {} not found in {}.".format(
+ pageno, input['name']))
+@@ -98,14 +98,14 @@ def split(args):
+ base,
+ '_',
+ '%0',
+- str(math.ceil(math.log10(input.getNumPages()))),
++ str(math.ceil(math.log10(len(input.pages)))),
+ 'd',
+ ext
+ ])
+
+- for pageno in range(input.getNumPages()):
+- output = PdfFileWriter()
+- output.addPage(input.getPage(pageno))
++ for pageno in range(len(input.pages)):
++ output = PdfWriter()
++ output.add_page(input.pages[pageno])
+
+ outputname = output_template % (pageno + 1)
+ if verbose:
+@@ -150,17 +150,17 @@ def zip_pdf_pages(filesandranges, verbose):
+ # empty range means "include all pages"
+ pagerange = input['pages'] or [
+ (p, iohelper.ROTATION_NONE) for p in
+- range(1, pdf.getNumPages() + 1)]
++ range(1, len(pdf.pages) + 1)]
+
+ pagestozip = []
+ for pageno, rotate in pagerange:
+- if 1 <= pageno <= pdf.getNumPages():
++ if 1 <= pageno <= len(pdf.pages):
+ if verbose:
+ print("Using page: {} (rotation: {} deg.)".format(
+ pageno, rotate))
+
+- pagestozip.append(pdf.getPage(pageno-1)
+- .rotateClockwise(rotate))
++ pagestozip.append(pdf.pages[pageno-1]
++ .rotate(rotate))
+ else:
+ raise CommandError("Page {} not found in {}.".format(
+ pageno, input['name']))
+@@ -181,7 +181,7 @@ def background(args):
+ try:
+ filestozip = zip_pdf_pages(filesandranges, verbose)
+
+- output = PdfFileWriter()
++ output = PdfWriter()
+ for pageno in range(max(map(len, filestozip))):
+ page = None
+ for listno in range(len(filestozip)):
+@@ -190,8 +190,8 @@ def background(args):
+ if not page:
+ page = p
+ else:
+- page.mergePage(p)
+- output.addPage(page)
++ page.merge_page(p)
++ output.add_page(page)
+
+ except Exception as e:
+ import sys
+@@ -213,11 +213,11 @@ def zip(args):
+ filestozip = zip_pdf_pages(filesandranges, verbose)
+
+ # Interweave pages.
+- output = PdfFileWriter()
++ output = PdfWriter()
+ for pageno in range(max(map(len, filestozip))):
+ for listno in range(len(filestozip)):
+ if pageno < len(filestozip[listno]):
+- output.addPage(filestozip[listno][pageno])
++ output.add_page(filestozip[listno][pageno])
+
+ _write_output(output, outputfilename)
+
+@@ -266,7 +266,7 @@ def pdf_page_enumeration(pdf):
+ pagelabels = pdf.trailer["/Root"]["/PageLabels"]
+ except:
+ # ("No /Root/PageLabels object"), so infer the list.
+- return range(1, pdf.getNumPages() + 1)
++ return range(1, len(pdf.pages) + 1)
+
+ # """Select the item that is most likely to contain the information you desire; e.g.
+ # {'/Nums': [0, IndirectObject(42, 0)]}
+@@ -292,7 +292,7 @@ def pdf_page_enumeration(pdf):
+ style = '/D'
+ prefix = ''
+ next_pageno = 1
+- for i in range(0, pdf.getNumPages()):
++ for i in range(0, len(pdf.pages)):
+ if len(pagelabels_nums_list) > 0 and i >= pagelabels_nums_list[0]:
+ pagelabels_nums_list.pop(0) # discard index
+ pnle = pagelabels_nums_list.pop(0)
+diff --git a/staplelib/iohelper.py b/staplelib/iohelper.py
+index 959e900..8df365c 100644
+--- a/staplelib/iohelper.py
++++ b/staplelib/iohelper.py
+@@ -7,9 +7,9 @@ import re
+ import sys
+
+ try:
+- from PyPDF2 import PdfFileWriter, PdfFileReader
++ from PyPDF2 import PdfWriter, PdfReader
+ except ImportError:
+- from pyPdf import PdfFileWriter, PdfFileReader
++ from pyPdf import PdfWriter, PdfReader
+
+
+ from . import CommandError
+@@ -31,8 +31,8 @@ def read_pdf(filename):
+ """Open a PDF file with PyPDF2."""
+ if not os.path.exists(filename):
+ raise CommandError("{} does not exist".format(filename))
+- pdf = PdfFileReader(open(filename, "rb"))
+- if pdf.isEncrypted:
++ pdf = PdfReader(open(filename, "rb"))
++ if pdf.is_encrypted:
+ while True:
+ pw = prompt_for_pw(filename)
+ matched = pdf.decrypt(pw)
+@@ -46,7 +46,7 @@ def read_pdf(filename):
+ def write_pdf(pdf, filename):
+ force = staplelib.OPTIONS.force
+
+- """Write the content of a PdfFileWriter object to a file."""
++ """Write the content of a PdfWriter object to a file."""
+ if os.path.exists(filename) and not force:
+ raise CommandError("File already exists: {}".format(filename))
+
+@@ -123,7 +123,7 @@ def parse_ranges(handles_files_and_ranges):
+ "page range '{}'".format(handle_key, inputname))
+
+ current = operations[-1]
+- max_page = current['pdf'].getNumPages()
++ max_page = len(current['pdf'].pages)
+ # allow "end" as alias for the last page
+ replace_end = lambda page: (
+ max_page if page.lower() == 'end' else int(page))
+diff --git a/staplelib/tests.py b/staplelib/tests.py
+index 4d59153..3350dfc 100755
+--- a/staplelib/tests.py
++++ b/staplelib/tests.py
+@@ -5,7 +5,7 @@ import shutil
+ import tempfile
+ import unittest
+
+-from PyPDF2 import PdfFileReader
++from PyPDF2 import PdfReader
+
+ from staplelib import main, CommandError
+
+@@ -38,40 +38,40 @@ class TestStapler(unittest.TestCase):
+ self.outputfile])
+ self.assertTrue(os.path.isfile(self.outputfile))
+ with open(self.outputfile, 'rb') as outputfile:
+- pdf = PdfFileReader(outputfile)
+- self.assertEqual(pdf.getNumPages(), 6)
++ pdf = PdfReader(outputfile)
++ self.assertEqual(len(pdf.pages), 6)
+
+ def test_sel_one_page(self):
+ """Test select of a one page from a PDF file."""
+ run_stapler(['sel', 'A=' + FIVEPAGE_PDF, 'A2', self.outputfile])
+ self.assertTrue(os.path.isfile(self.outputfile))
+ with open(self.outputfile, 'rb') as outputfile:
+- pdf = PdfFileReader(outputfile)
+- self.assertEqual(pdf.getNumPages(), 1)
++ pdf = PdfReader(outputfile)
++ self.assertEqual(len(pdf.pages), 1)
+
+ def test_sel_range(self):
+ """Test select of more pages from a PDF file."""
+ run_stapler(['cat', 'A=' + FIVEPAGE_PDF, 'A2-4', self.outputfile])
+ self.assertTrue(os.path.isfile(self.outputfile))
+ with open(self.outputfile, 'rb') as outputfile:
+- pdf = PdfFileReader(outputfile)
+- self.assertEqual(pdf.getNumPages(), 3)
++ pdf = PdfReader(outputfile)
++ self.assertEqual(len(pdf.pages), 3)
+
+ def test_del_one_page(self):
+ """Test del command for inverse select of one page."""
+ run_stapler(['del', 'A=' + FIVEPAGE_PDF, 'A1', self.outputfile])
+ self.assertTrue(os.path.isfile(self.outputfile))
+ with open(self.outputfile, 'rb') as outputfile:
+- pdf = PdfFileReader(outputfile)
+- self.assertEqual(pdf.getNumPages(), 4)
++ pdf = PdfReader(outputfile)
++ self.assertEqual(len(pdf.pages), 4)
+
+ def test_del_range(self):
+ """Test del command for inverse select multiple pages."""
+ run_stapler(['del', 'A=' + FIVEPAGE_PDF, 'A2-4', self.outputfile])
+ self.assertTrue(os.path.isfile(self.outputfile))
+ with open(self.outputfile, 'rb') as outputfile:
+- pdf = PdfFileReader(outputfile)
+- self.assertEqual(pdf.getNumPages(), 2)
++ pdf = PdfReader(outputfile)
++ self.assertEqual(len(pdf.pages), 2)
+
+ def test_split(self):
+ """Make sure a file is properly split into pages."""
+@@ -81,24 +81,24 @@ class TestStapler(unittest.TestCase):
+ self.assertEqual(len(filelist), 5)
+ for f in os.listdir(self.tmpdir):
+ with open(os.path.join(self.tmpdir, f), 'rb') as pdf_file:
+- pdf = PdfFileReader(pdf_file)
+- self.assertEqual(pdf.getNumPages(), 1)
++ pdf = PdfReader(pdf_file)
++ self.assertEqual(len(pdf.pages), 1)
+
+ def test_background(self):
+ """Test background."""
+ run_stapler(['background', ONEPAGE_PDF, FIVEPAGE_PDF, self.outputfile])
+ self.assertTrue(os.path.isfile(self.outputfile))
+ with open(self.outputfile, 'rb') as outputfile:
+- pdf = PdfFileReader(outputfile)
+- self.assertEqual(pdf.getNumPages(), 5)
++ pdf = PdfReader(outputfile)
++ self.assertEqual(len(pdf.pages), 5)
+
+ def test_zip(self):
+ """Test zip."""
+ run_stapler(['zip', ONEPAGE_PDF, FIVEPAGE_PDF, self.outputfile])
+ self.assertTrue(os.path.isfile(self.outputfile))
+ with open(self.outputfile, 'rb') as outputfile:
+- pdf = PdfFileReader(outputfile)
+- self.assertEqual(pdf.getNumPages(), 6)
++ pdf = PdfReader(outputfile)
++ self.assertEqual(len(pdf.pages), 6)
+
+ def test_output_file_already_exists(self):
+ """Test zip."""
+--
+2.39.0
+
diff --git a/dev-python/stapler/files/stapler-1.0.0_p20220330-use-poetry-core-backend-for-PEP517.patch b/dev-python/stapler/files/stapler-1.0.0_p20220330-use-poetry-core-backend-for-PEP517.patch
new file mode 100644
index 000000000000..276df746791f
--- /dev/null
+++ b/dev-python/stapler/files/stapler-1.0.0_p20220330-use-poetry-core-backend-for-PEP517.patch
@@ -0,0 +1,32 @@
+From 3907d86f515ff0e9f042df7111515205e9abaa11 Mon Sep 17 00:00:00 2001
+From: Ben Kohler <bkohler@gentoo.org>
+Date: Thu, 26 May 2022 13:33:38 -0500
+Subject: [PATCH 1/2] pyproject.toml: use poetry-core backend for PEP517
+
+Per poetry upstream, "If your pyproject.toml file still references
+poetry directly as a build backend, you should update it to reference
+poetry-core instead."
+
+https://python-poetry.org/docs/pyproject/#poetry-and-pep-517
+https://projects.gentoo.org/python/guide/distutils.html#deprecated-pep-517-backends
+
+Signed-off-by: Ben Kohler <bkohler@gentoo.org>
+---
+ pyproject.toml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index efa98ea..d34823e 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -28,5 +28,5 @@ pdf-stapler = 'staplelib:main'
+
+ # this section is for PEP517 compliance. It is technically unnecessary if using Poetry
+ [build-system]
+-requires = ["poetry>=1.0"]
+-build-backend = "poetry.masonry.api"
++requires = ["poetry-core>=1.0.0"]
++build-backend = "poetry.core.masonry.api"
+--
+2.39.0
+
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/stapler/stapler-1.0.0_p20220330.ebuild b/dev-python/stapler/stapler-1.0.0_p20220330.ebuild
deleted file mode 100644
index 4f7a695bcf35..000000000000
--- a/dev-python/stapler/stapler-1.0.0_p20220330.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2022 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 -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${COMMIT}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="test? ( dev-python/PyPDF2[${PYTHON_USEDEP}] )"
-RDEPEND="dev-python/PyPDF2[${PYTHON_USEDEP}]"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- default
- sed -i -e 's/^from PyPDF2.pdf/from PyPDF2/' staplelib/tests.py || die
-}
diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest
index 7b54e175d022..1c0a3afa328c 100644
--- a/dev-python/starlette/Manifest
+++ b/dev-python/starlette/Manifest
@@ -1,3 +1 @@
-DIST starlette-0.18.0.gh.tar.gz 408097 BLAKE2B ddc85690d9eb962a8d82544a1667d17316025330c8fda0c79dc21422399bcff01ccf5baf85eda7941f40aac5845d18fdcefaa23ba8ba442d30f0b9e194f7287c SHA512 521d39c1eec818250da3f2dc24cd2fb08393b76e6314a9bd5f3e520bdfa4652ae4ace5876b7e7f3a7ddc5540160e1086997a40b86a1b1bfd694c6aa1abde9106
-DIST starlette-0.20.3.gh.tar.gz 417054 BLAKE2B 5564026142cb45075aa3ea3fabbc3e0eb39d4e2d776c6577d79b9c28522befaa92869e5f4211bc77235f6d25102f8d90e3811c972b74bb295abd0d186e29ceef SHA512 fa7f8de299ee452a52bf43ff6c39851fc7985775e1938b38cb564d5cb19705a84fbb173229a090295bca3be87b71214fdf7c80e3db0f870cf018510e1bd06b1b
-DIST starlette-0.20.4.gh.tar.gz 2819634 BLAKE2B 265ef6b88ebc5cee4361601198891cbab9e92e354942a06622bdac46dc63d2644557bef952730b455157ee83b15035016039f8a88f17e673487e9a3571d6180c SHA512 481a095ada3140164abae89026da36c90657d8ccabb0a6753094bf7fdf47ce6f789320ed15e94d15dedffaf302691e204cb541c26a4c779848aa6505dfe52b2f
+DIST starlette-0.37.2.gh.tar.gz 2846433 BLAKE2B 489fe0d3148f8f006d32d3e52e82cc2c07d9b1a8e3a3cadabe2aa2eb9dd7e00b35e2093dc1de0cb4a6a4606395ed4d19b26778686216a7f8b55a15e61701c9da SHA512 27240c706553e610da05cfc92f818c61e97a891ea7c960fef925a122100a61931cbca973a0995aa1e79d192cda2250139f471929a3f4a7b0f4600d00b6287744
diff --git a/dev-python/starlette/metadata.xml b/dev-python/starlette/metadata.xml
index 55eaddf99b38..5673753cc718 100644
--- a/dev-python/starlette/metadata.xml
+++ b/dev-python/starlette/metadata.xml
@@ -7,5 +7,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="github">encode/starlette</remote-id>
+ <remote-id type="pypi">starlette</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/starlette/starlette-0.18.0.ebuild b/dev-python/starlette/starlette-0.18.0.ebuild
deleted file mode 100644
index 7aa5fe6feff9..000000000000
--- a/dev-python/starlette/starlette-0.18.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="The little ASGI framework that shines"
-HOMEPAGE="https://www.starlette.io/"
-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[${PYTHON_USEDEP}]
- dev-python/itsdangerous[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' python3_{8,9} )
-"
-BDEPEND="test? ( dev-python/trio[${PYTHON_USEDEP}] )"
-
-EPYTEST_IGNORE=(
- # Unpackaged 'databases' dependency
- tests/test_database.py
-
- # Unpackaged 'multipart' dependency
- tests/test_formparsers.py
-)
-
-EPYTEST_DESELECT=(
- # Unpackaged 'multipart' dependency
- tests/test_requests.py::test_request_form_urlencoded
-)
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # fix accept-encoding, as new support was added with newer versions
- sed -e '/accept-encoding/s/",/, br&/' -i tests/test_{websockets,requests}.py || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/starlette/starlette-0.20.3.ebuild b/dev-python/starlette/starlette-0.20.3.ebuild
deleted file mode 100644
index 2a2de474dce5..000000000000
--- a/dev-python/starlette/starlette-0.20.3.ebuild
+++ /dev/null
@@ -1,65 +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_{8..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/itsdangerous[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-# brotli needed for consistent test output
-BDEPEND="
- test? (
- || (
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- app-arch/brotli[python,${PYTHON_USEDEP}]
- )
- dev-python/trio[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Unpackaged 'databases' dependency
- tests/test_database.py
-
- # Unpackaged 'multipart' dependency
- tests/test_formparsers.py
-)
-
-EPYTEST_DESELECT=(
- # Unpackaged 'multipart' dependency
- tests/test_requests.py::test_request_form_urlencoded
-)
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # fix accept-encoding, as new support was added with newer versions
- sed -e '/accept-encoding/s/",/, br&/' -i tests/test_{websockets,requests}.py || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/starlette/starlette-0.20.4.ebuild b/dev-python/starlette/starlette-0.20.4.ebuild
deleted file mode 100644
index 2a2de474dce5..000000000000
--- a/dev-python/starlette/starlette-0.20.4.ebuild
+++ /dev/null
@@ -1,65 +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_{8..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/itsdangerous[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-# brotli needed for consistent test output
-BDEPEND="
- test? (
- || (
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- app-arch/brotli[python,${PYTHON_USEDEP}]
- )
- dev-python/trio[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Unpackaged 'databases' dependency
- tests/test_database.py
-
- # Unpackaged 'multipart' dependency
- tests/test_formparsers.py
-)
-
-EPYTEST_DESELECT=(
- # Unpackaged 'multipart' dependency
- tests/test_requests.py::test_request_form_urlencoded
-)
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # fix accept-encoding, as new support was added with newer versions
- sed -e '/accept-encoding/s/",/, br&/' -i tests/test_{websockets,requests}.py || die
-
- distutils-r1_src_prepare
-}
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/Manifest b/dev-python/statsd/Manifest
index 843b002b0208..ce238ef36409 100644
--- a/dev-python/statsd/Manifest
+++ b/dev-python/statsd/Manifest
@@ -1 +1 @@
-DIST statsd-3.3.0.tar.gz 259045 BLAKE2B 015eb32d40d1eb45d64266f0bd62d9496a7eb8815dccf4ad482bb3b81b45fceef14a25893b05ad3b5a8da8582434a46725598a90ebd06c6120dac32169a1f201 SHA512 e2693bc7f179e275c53044d13a4685dd72ebd47adafcab5064e803fbf9e8df4a0f20f61c3695846d3c33178be17dd7286f487213fa2bd8545ed1612e200c8f36
+DIST statsd-4.0.1.tar.gz 27814 BLAKE2B 18e7d1c0e4701e53972cf0f7f8fb7f4d17e41023019a642e609fc86537a6f51cd89da8d4e725ffaf5328f7d4a2a41034676f419856d0da0bbeb9915751b81eff SHA512 1a9aa4ba810aa75b3235e6357b820d8987ffe4ed55709929a9a53c6ced587525217e55754600f9c5596ea1e5fd26a0ea15b643199aa39e920d95120e22fc2ae0
diff --git a/dev-python/statsd/statsd-3.3.0.ebuild b/dev-python/statsd/statsd-3.3.0.ebuild
deleted file mode 100644
index 98a4c9d68639..000000000000
--- a/dev-python/statsd/statsd-3.3.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-
-inherit distutils-r1
-
-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"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests nose
diff --git a/dev-python/statsd/statsd-4.0.1.ebuild b/dev-python/statsd/statsd-4.0.1.ebuild
new file mode 100644
index 000000000000..1d406f51acaf
--- /dev/null
+++ b/dev-python/statsd/statsd-4.0.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} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A simple statsd client"
+HOMEPAGE="
+ https://github.com/jsocol/pystatsd/
+ https://pypi.org/project/statsd/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest statsd/tests.py
+}
diff --git a/dev-python/statsmodels/Manifest b/dev-python/statsmodels/Manifest
index 541073544dbf..cd4c982a0c50 100644
--- a/dev-python/statsmodels/Manifest
+++ b/dev-python/statsmodels/Manifest
@@ -1 +1,2 @@
-DIST statsmodels-0.13.2.tar.gz 17874260 BLAKE2B 93f7a308217ba938b3cd2e11d75e8f5ad19e2d4e6ab2abbea702143129bb53e7b9be54864375dbfec805624538bc73850357eb944d6c9a4c1252cc8a7606b904 SHA512 79d8dd63f667d4019e462d93e007a5ef8e11972fe35fb4d657931d6d68f3e35d29978a865682133db12fd6742f3362c2d77dfb5735c82ae454570388dd84d59a
+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/metadata.xml b/dev-python/statsmodels/metadata.xml
index 539db809506b..d821a5056760 100644
--- a/dev-python/statsmodels/metadata.xml
+++ b/dev-python/statsmodels/metadata.xml
@@ -9,14 +9,6 @@
<email>sci-mathematics@gentoo.org</email>
<name>Gentoo Mathematics Project</name>
</maintainer>
- <maintainer type="person" proxied="yes">
- <email>gentoo@chymera.eu</email>
- <name>Horea Christian</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<longdescription lang="en">
statsmodels is a Python module that allows users to explore data,
estimate statistical models, and perform statistical tests. An
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 98f3e30f19b9..000000000000
--- a/dev-python/statsmodels/statsmodels-0.13.2.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~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
-
- 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.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..85811c7aab0a
--- /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 c6457905e464..000000000000
--- a/dev-python/stdio-mgr/stdio-mgr-1.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=7
-
-PYTHON_COMPAT=( python3_{8..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 484a3edd58c6..cbb82d763777 100644
--- a/dev-python/stestr/Manifest
+++ b/dev-python/stestr/Manifest
@@ -1 +1 @@
-DIST stestr-3.2.1.tar.gz 118139 BLAKE2B dedb63767adfab26d837ce92762dcc44a482b1772aecbc31d12beb22f2c3c08368475cd110de7376f4df7fa8ce03c5b8e3b04436296ad4bd11c2fc3a4243695b SHA512 43187ca0d81e3b31e16ed60a1db561dc49c34f679594d11cad8cb0e658bf790af0b3d606bf99233a5767e2511675d3aedb6a476046d2f5483ffab05eaae393ed
+DIST stestr-4.1.0.tar.gz 113187 BLAKE2B 6bd423aaad6189c90fe9b43db9390e85a5f458cfa899c33bd34b1340ca7f111d2edd2981d9c664d63ec6b880a904b08a26c09c332548ac5f2ebdabd2bad6a00a SHA512 77287ffdfe59042c4d189aa6c662df4357633d3a134ea60a4533b5b8b1b433ffd6f265a430977da175f242cc1c8e8514f876a486cc900a436cf93ab629fe7b7d
diff --git a/dev-python/stestr/stestr-3.2.1.ebuild b/dev-python/stestr/stestr-3.2.1.ebuild
deleted file mode 100644
index e9eab5e48fd1..000000000000
--- a/dev-python/stestr/stestr-3.2.1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 c06d9c13f5e3..d9d4b9225c92 100644
--- a/dev-python/stevedore/Manifest
+++ b/dev-python/stevedore/Manifest
@@ -1,2 +1 @@
-DIST stevedore-3.5.0.tar.gz 513548 BLAKE2B bb9b1968dbfdbce0764b0c2030e5d555e159e04a88d8fbdb151d3146e7940643c761ff476f7d950c2e83501b9b125e8323a8463d8b4b93b79cc76ddf2f71a362 SHA512 be0f82230d7d4d3cf18dd913e11093ad90744e32a3021d9f88f0be244f56d0e3606af0adef67674c569c41d885837be3f0fc4d58009e036151cc67963a4f2ab3
-DIST stevedore-4.0.0.tar.gz 513561 BLAKE2B 7d82b001546c49d4a9fd7891751b2ed35f6b798bbe5efbadb1017472008cf0e32bd148311d100ac062ca45ee8c823ffc394842f4a9d2296262e2587c021e20b7 SHA512 584421b0fd8f9f45f7f6fa960a98817ae85c2a7938b0ea49c0906b6b88ae8111d3ac3cc8eb61e9e45dea494d976fad8074e51b8550d870bfca82704b7c8900fc
+DIST stevedore-5.2.0.tar.gz 513817 BLAKE2B 598e479c18a01fb315f43d0257d555ab7d5c3a67833d3af1f38ac2d0e911e14c3927381b50827d40ae63bdd189c0095daec73daa8bd3cf815aacc6b2d6c813c6 SHA512 ab7afe7d238b7cf1ecdc0cce0b60f0bddc1b59c28c126006bc49c7dbdfa7991fc3813822502ecb4952226b9caf5a80a2809f3b5bd910525c1feab336a5017d26
diff --git a/dev-python/stevedore/stevedore-3.5.0.ebuild b/dev-python/stevedore/stevedore-3.5.0.ebuild
deleted file mode 100644
index f7b722d6adc9..000000000000
--- a/dev-python/stevedore/stevedore-3.5.0.ebuild
+++ /dev/null
@@ -1,53 +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_{8..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
-
- # Known bug in tests
- # https://bugs.launchpad.net/python-stevedore/+bug/1966040
- sed -i -e 's:test_extras:_&:' stevedore/tests/test_extension.py || 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-4.0.0.ebuild b/dev-python/stevedore/stevedore-4.0.0.ebuild
deleted file mode 100644
index 1f6940496911..000000000000
--- a/dev-python/stevedore/stevedore-4.0.0.ebuild
+++ /dev/null
@@ -1,53 +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_{8..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
-
- # Known bug in tests
- # https://bugs.launchpad.net/python-stevedore/+bug/1966040
- sed -i -e 's:test_extras:_&:' stevedore/tests/test_extension.py || 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 bd1012a4f420..000000000000
--- a/dev-python/stomp-py/stomp-py-8.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=poetry
-PYTHON_COMPAT=( python3_{8..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 128cf024e743..dc4b7da3736f 100644
--- a/dev-python/strict-rfc3339/strict-rfc3339-0.7-r2.ebuild
+++ b/dev-python/strict-rfc3339/strict-rfc3339-0.7-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..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 909474eb2b5d..2ff9f765b77e 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1,2 +1,4 @@
-DIST stripe-3.5.0.tar.gz 247698 BLAKE2B 8c47b3f4af21934d4dddea2d95831d5d4772c0cf42f8a5d3cff90dbd2dfd51a37c34f92b6df30ddcafbb1ccbde766744ec63fe62881acabbf1437a626ec0ef6c SHA512 67e63f95b489e049d81d9b3929342a8cc2bc3638060d9f278752459d32408bfe8d5f09c4c047a1ed0deedce875b0a84873a3b120f6bb5f30c0668eda5129e4ee
-DIST stripe-4.0.2.tar.gz 252436 BLAKE2B d05153e4ddc58b5cbb9f42202a5b8dbcaeff39fab51b5415c59bbbfd615003b4d76881a408fd067a0e17d275a663e7ac8d574af6ead90f9c51e677617ef6117b SHA512 b13ace2419555e21a93f37a328bd59d9ac8af69787dc89ed4851ce5a5a616a34e63d5667b9981f43c486dafee18186a9dc32524c047c9db204dc8ba831198c91
+DIST stripe-9.3.0.tar.gz 1257309 BLAKE2B 819f2ece26282020383953b2f9436023796897b7928ac9f07c753a56a79aa8b80cadad9b1f8b1021224f6a4f704a3c2a92aa807d60a6bc769992d7fc6793aecb SHA512 708ffe2b36946de7e5780f582bc0db6a7b3dc82c163a0839491060944e882fa1f7679900d398b87fd2dc336d2e74eccc0f4f821095ce0465affd49b813d2b4fa
+DIST stripe-9.4.0.tar.gz 1260466 BLAKE2B 77bcca5fa3e514733f3812b738ae1590da641b24e58de4d6e2eb49d45512e6eecc6025912d03e73344645bd86ea14db2673f9fe9c34519520284bdf965c98eae SHA512 6d290c0c0e86c9eac5862bea8918c7f4508049b0f87fca7e087d05678a35eec28acd1304a8a6f32265856baa8992f364c4cb98b85727862989990024a240ba49
+DIST stripe-9.5.0.tar.gz 1262346 BLAKE2B 45ba78fac985352f1857b7f6e5e4907afc9ff45815419671b9ee6476f04a7bf216fa49eb0008b8804d0a9763885ee5a8d09431ba6c26cca5e2091787353ae688 SHA512 2a530fe88d56a4753a5f497547aaf51ae770c1c616677eaad65d820eef638f5dd35d78486a3105caf97b2986f3940019a7cc0e7f89fe1c4ae83195bccd1ce000
+DIST stripe-9.6.0.tar.gz 1265189 BLAKE2B d5b37cc8c7ee8597b80f9920e782e6eda5ff6905f8b303c4344b345c73c80a37eb1cd8dc9cc30d7321c58070cc5b0180144964d5f285edcff031cb0655b41409 SHA512 d93349c85791abec7d691c2aa726996e3110117dfda5608aa63e39463399200a4f8427dc609fc2a32c7eea005e4a79fd93cffa76762e0914efcd89b83baa58c2
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-3.5.0.ebuild b/dev-python/stripe/stripe-3.5.0.ebuild
deleted file mode 100644
index ab3da878ee9f..000000000000
--- a/dev-python/stripe/stripe-3.5.0.ebuild
+++ /dev/null
@@ -1,71 +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_{8..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.136.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-4.0.2.ebuild b/dev-python/stripe/stripe-4.0.2.ebuild
deleted file mode 100644
index 85f74b80fdad..000000000000
--- a/dev-python/stripe/stripe-4.0.2.ebuild
+++ /dev/null
@@ -1,71 +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_{8..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-9.3.0.ebuild b/dev-python/stripe/stripe-9.3.0.ebuild
new file mode 100644
index 000000000000..3aeb163f093c
--- /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/stripe/stripe-9.4.0.ebuild b/dev-python/stripe/stripe-9.4.0.ebuild
new file mode 100644
index 000000000000..c2489c242a9d
--- /dev/null
+++ b/dev-python/stripe/stripe-9.4.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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.185.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.5.0.ebuild b/dev-python/stripe/stripe-9.5.0.ebuild
new file mode 100644
index 000000000000..c2489c242a9d
--- /dev/null
+++ b/dev-python/stripe/stripe-9.5.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.185.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.6.0.ebuild b/dev-python/stripe/stripe-9.6.0.ebuild
new file mode 100644
index 000000000000..c2489c242a9d
--- /dev/null
+++ b/dev-python/stripe/stripe-9.6.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.185.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/Manifest b/dev-python/subprocess-tee/Manifest
index 34f583554fcf..37ace876f6e8 100644
--- a/dev-python/subprocess-tee/Manifest
+++ b/dev-python/subprocess-tee/Manifest
@@ -1 +1 @@
-DIST subprocess-tee-0.3.5.tar.gz 16887 BLAKE2B 6eb25085eb2b2ee4557efd556d8035ab8f6b781b47783f24f227db04b3f82fffcfa29d69f0e3588c3fa6188446a3d96d4421e6b1ea5b3292f42635e19a404bab SHA512 47de075e7b6c75598dac0ad1899e1cce9dc1131b49c35ccade2b67c8d2a2d0248ce22a20c336519ff00bfd57269613bc663012e48cf0afa087c93ee74e18e4d4
+DIST subprocess-tee-0.4.1.tar.gz 13599 BLAKE2B 779a8b5381155e8d524b6715ab9cc37f8e55565dd378a2d256648d56f018dc71860b0db2a50572a5e03fab7d2de5cd691be53c49c1aa79e756b4eb8a8d5878a5 SHA512 683813096c4bb78a4263075ba8590a926134ec92db5e2e72ed98ab1db9e231768adc15bb4273ba138f9a1b2a14ae4050d0b6acc76d483d0f3530f376ce8d9eee
diff --git a/dev-python/subprocess-tee/subprocess-tee-0.3.5.ebuild b/dev-python/subprocess-tee/subprocess-tee-0.3.5.ebuild
deleted file mode 100644
index ea05ad858dc4..000000000000
--- a/dev-python/subprocess-tee/subprocess-tee-0.3.5.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="subprocess.run replacement with tee(1)-like output"
-HOMEPAGE="https://github.com/pycontribs/subprocess-tee"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~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[${PYTHON_USEDEP}]
- dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
- test? (
- dev-python/enrich[${PYTHON_USEDEP}]
- test-full? ( app-admin/ansible-molecule )
- )"
-
-distutils_enable_tests pytest
-
-python_test() {
- if ! use test-full; then
- local -x EPYTEST_DESELECT=( "src/${PN/-/_}/test/test_func.py::test_molecule" )
- fi
- distutils-r1_python_test
-}
diff --git a/dev-python/subprocess-tee/subprocess-tee-0.4.1.ebuild b/dev-python/subprocess-tee/subprocess-tee-0.4.1.ebuild
new file mode 100644
index 000000000000..7fe26d7f68c5
--- /dev/null
+++ b/dev-python/subprocess-tee/subprocess-tee-0.4.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
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="subprocess.run replacement with tee(1)-like output"
+HOMEPAGE="
+ https://github.com/pycontribs/subprocess-tee/
+ https://pypi.org/project/subprocess-tee/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv"
+IUSE="test-full"
+REQUIRED_USE="test-full? ( test )"
+
+# ansible-molecule is invoked as an executable so no need for PYTHON_USEDEP
+BDEPEND="
+ >=dev-python/setuptools-scm-7.0.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/enrich[${PYTHON_USEDEP}]
+ test-full? ( app-admin/ansible-molecule )
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ if ! use test-full; then
+ EPYTEST_DESELECT+=(
+ test/test_func.py::test_molecule
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/subunit/Manifest b/dev-python/subunit/Manifest
index eecdb73522a1..fc68f55c9485 100644
--- a/dev-python/subunit/Manifest
+++ b/dev-python/subunit/Manifest
@@ -1 +1 @@
-DIST subunit-1.4.0_p20210729.tar.gz 112644 BLAKE2B 56e785c029f3f2896d0ed3d8005c37403e6aa32d05b653db0e3b679d2157820558e578b53133f4f79404a660f37a710aeeec03ff941fd7cd0819020a0d474515 SHA512 90b1ad071fb5246a7446a4c999142566b9d96c39838905e9020b80f2f0aba0b86dd5185bbd25ff7fc65f69ae68e1e53dfde5b2de05755aa97db9248c6faaa9d7
+DIST subunit-1.4.4.gh.tar.gz 105357 BLAKE2B 5937c62357d9cb70e25242aa7678d89f79fed3d8d28fb5306bc21e28d643665e563078a84a9dd64b9192809e542d69218154227c8e5d281c861085d3175c73c4 SHA512 a666e45951afab70ea85cf9614d5e60c8884c0e2d7987e690bf7acedec5c544c412407b02134a125b4dca8772c0b1ce17fdbd9546d97ef06592119ec49b2a21f
diff --git a/dev-python/subunit/subunit-1.4.0_p20210729.ebuild b/dev-python/subunit/subunit-1.4.0_p20210729.ebuild
deleted file mode 100644
index 16343b0d8815..000000000000
--- a/dev-python/subunit/subunit-1.4.0_p20210729.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1 multilib-minimal autotools
-
-MY_COMMIT="c87ffbd904627d777aa1430963dced92a36aa033"
-
-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/${MY_COMMIT}.tar.gz
- -> ${P}.tar.gz
-"
-S="${WORKDIR}/${PN}-${MY_COMMIT}"
-
-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() {
- sed -i -e 's/os.chdir(os.path.dirname(__file__))//' setup.py || die
-
- # Install perl modules in vendor_perl, bug 534654.
- export INSTALLDIRS=vendor
-
- # fails on py3.6
- sed -i -e 's:test_add_tag:_&:' \
- python/subunit/tests/test_subunit_tags.py || die
-
- 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
- "${PYTHON}" -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 e6cba6dd1497..81b3bd2cb4cc 100644
--- a/dev-python/suds-community/suds-community-1.1.2.ebuild
+++ b/dev-python/suds-community/suds-community-1.1.2.ebuild
@@ -1,24 +1,24 @@
-# 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
+PYPI_NO_NORMALIZE=1
PYTHON_REQ_USE="xml(+)"
-PYTHON_COMPAT=( python3_{8..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/superqt/Manifest b/dev-python/superqt/Manifest
new file mode 100644
index 000000000000..e3c34fc11b5b
--- /dev/null
+++ b/dev-python/superqt/Manifest
@@ -0,0 +1 @@
+DIST superqt-0.6.4.tar.gz 95502 BLAKE2B 0354fbea1925bac84a72fc1d8e0402ba80fdd38cdec32a0e91c4b360dc8d906d631e5e36ffea8d20baae9d1e620417a08f19c2d4d37778f2e50ca3673e12bca3 SHA512 934df6d7c0dd80e045a03b88fb6b254fd7f7e3a09c882bcd46c3635ed7ba434c5704b110dd590a491fc9cead767c2f885245fdae09ef26e1a1e556d66cb2d7a3
diff --git a/dev-python/superqt/metadata.xml b/dev-python/superqt/metadata.xml
new file mode 100644
index 000000000000..b35f6702957f
--- /dev/null
+++ b/dev-python/superqt/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="pypi">superqt</remote-id>
+ <remote-id type="github">pyapp-kit/superqt</remote-id>
+ </upstream>
+ <stabilize-allarches/>
+ <maintainer type="person">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/superqt/superqt-0.6.4.ebuild b/dev-python/superqt/superqt-0.6.4.ebuild
new file mode 100644
index 000000000000..d28d26f40bb0
--- /dev/null
+++ b/dev-python/superqt/superqt-0.6.4.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="Missing widgets and components for PyQt/PySide"
+HOMEPAGE="
+ https://github.com/pyapp-kit/superqt
+ https://pypi.org/project/superqt/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/QtPy-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-3.7.4.3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pytest-qt[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # pint and pyconify not packaged
+ tests/test_quantity.py
+)
+
+EPYTEST_DESELECT=(
+ # fails in the sandbox, but works outside of it
+ tests/test_eliding_label.py::test_wrapped_eliding_label
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ virtx distutils-r1_python_test
+}
diff --git a/dev-python/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 6fdca046fed5..000000000000
--- a/dev-python/sure/sure-2.0.0-r1.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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/metadata.xml b/dev-python/svg-path/metadata.xml
index 370a1d29af51..3f09df96bb70 100644
--- a/dev-python/svg-path/metadata.xml
+++ b/dev-python/svg-path/metadata.xml
@@ -1,14 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>gentoo@chymera.eu</email>
- <name>Horea Christian</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/svg-path/svg-path-6.2.ebuild b/dev-python/svg-path/svg-path-6.2.ebuild
deleted file mode 100644
index b16f7c7da356..000000000000
--- a/dev-python/svg-path/svg-path-6.2.ebuild
+++ /dev/null
@@ -1,33 +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_{8..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/Manifest b/dev-python/svglib/Manifest
index 10fbfa2d0358..a1a5929a53ea 100644
--- a/dev-python/svglib/Manifest
+++ b/dev-python/svglib/Manifest
@@ -1,2 +1 @@
-DIST svglib-1.3.0.gh.tar.gz 1264820 BLAKE2B f53bda781479ddc5d4b04fd122b5141620db81756308973cb283957615711e62623baa74b69af954936be24970a4e4a6f026667c4069d62bf1705a839ecc52f3 SHA512 457fb69ba1c298079888f200502c7099cf5ee674857ff8682948011bf8e1544715e6196544212f5c0ddef1202d04f3f05d01edb4351e673ceae16a85ca0d66e5
-DIST svglib-1.4.1.gh.tar.gz 1265260 BLAKE2B ad4d6a402cd56e2e6f1fb534a8cc9c2bdc038fbdd01aad228d0b6471fd9781bcec88064dd6b93ef324201f141202404d25e31834c0f32a40c0a8037be7196edc SHA512 058aae53224cc590d56585a0f5e45506bd6586f70ddb3d9429052c8b2c18a3906925cd17a19c0f6b46695159eee1914f5e658293e7c40c1a7506f2414f8c41f8
+DIST svglib-1.5.1.gh.tar.gz 1265304 BLAKE2B e147df6c5326f0ed27ffa56a158442b7727946cd9f51577df36b05b04ffa7ee6b8112736eab92e214ef26b7d055506844820b323e5342e04efbd615a7b8f982f SHA512 5cd93db39078c7598a51e08afee08b689c4c95e5ac6340d1a51f85b6459fa4635b8edf45add3b39d0a079f0177a99b3d4786e40fb6276aa5ba80c9b5513e6d4c
diff --git a/dev-python/svglib/svglib-1.3.0.ebuild b/dev-python/svglib/svglib-1.3.0.ebuild
deleted file mode 100644
index b7b7af262730..000000000000
--- a/dev-python/svglib/svglib-1.3.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure-Python library for reading and converting SVG"
-HOMEPAGE="
- https://github.com/deeplook/svglib/
- https://pypi.org/project/svglib/
-"
-SRC_URI="
- https://github.com/deeplook/svglib/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/cssselect2[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/reportlab[${PYTHON_USEDEP}]
- dev-python/tinycss2[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Needs network access
- tests/test_samples.py::TestWikipediaFlags::test_convert_pdf
- tests/test_samples.py::TestW3CSVG::test_convert_pdf_png
-)
diff --git a/dev-python/svglib/svglib-1.4.1.ebuild b/dev-python/svglib/svglib-1.4.1.ebuild
deleted file mode 100644
index b7b7af262730..000000000000
--- a/dev-python/svglib/svglib-1.4.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure-Python library for reading and converting SVG"
-HOMEPAGE="
- https://github.com/deeplook/svglib/
- https://pypi.org/project/svglib/
-"
-SRC_URI="
- https://github.com/deeplook/svglib/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/cssselect2[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/reportlab[${PYTHON_USEDEP}]
- dev-python/tinycss2[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Needs network access
- tests/test_samples.py::TestWikipediaFlags::test_convert_pdf
- tests/test_samples.py::TestW3CSVG::test_convert_pdf_png
-)
diff --git a/dev-python/svglib/svglib-1.5.1.ebuild b/dev-python/svglib/svglib-1.5.1.ebuild
new file mode 100644
index 000000000000..bb2a6690df6b
--- /dev/null
+++ b/dev-python/svglib/svglib-1.5.1.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="Pure-Python library for reading and converting SVG"
+HOMEPAGE="
+ https://github.com/deeplook/svglib/
+ https://pypi.org/project/svglib/
+"
+SRC_URI="
+ https://github.com/deeplook/svglib/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/cssselect2[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/reportlab[${PYTHON_USEDEP}]
+ dev-python/tinycss2[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Needs network access
+ tests/test_samples.py::TestWikipediaFlags::test_convert_pdf
+ tests/test_samples.py::TestW3CSVG::test_convert_pdf_png
+)
diff --git a/dev-python/svgwrite/Manifest b/dev-python/svgwrite/Manifest
index 34657f0ad866..46b665958e73 100644
--- a/dev-python/svgwrite/Manifest
+++ b/dev-python/svgwrite/Manifest
@@ -1,2 +1 @@
-DIST svgwrite-1.4.2.gh.tar.gz 251587 BLAKE2B d375b45fb1ae4c06c4511975777cb5fc25d5bd949853e99c8213b60857992deaf1355d397b7a3377a288892863c6305d1a96892cd2230d9fcaab2bcdc849c7a3 SHA512 bf853da84f24f8d63d045797519d6c02a0e33cbcb549ae2ff09464c35eb85399920a5ffd01e2cd25ebb58b6daf851d6840b7ec927d3573fde02b6ad4e5812ad7
DIST svgwrite-1.4.3.gh.tar.gz 251851 BLAKE2B 6d1b31456b1074354260316940603359da8b7366717f23e6ef6ae034c865c8973082faaab3e4d21cdb9cd1752beefc0709407cc4f962f95c9cb4d4c386b9fc90 SHA512 3e599c13c2138aec1f9098baf3cf978b477f45ec2acd14d6aaadbcdf952064dac6313fd26050e670e9e989867c3539fa1cc7fb1cd226e34ff9f2a1ca2e7ddeff
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.2.ebuild b/dev-python/svgwrite/svgwrite-1.4.2.ebuild
deleted file mode 100644
index 7df25c70cddf..000000000000
--- a/dev-python/svgwrite/svgwrite-1.4.2.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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python Package to write SVG files"
-HOMEPAGE="
- https://github.com/mozman/svgwrite/
- https://pypi.org/project/svgwrite/
-"
-SRC_URI="
- https://github.com/mozman/svgwrite/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # fetches from the Internet
- sed -i -e 's:test_embed_google_web_font:_&:' \
- tests/test_style.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/svgwrite/svgwrite-1.4.3.ebuild b/dev-python/svgwrite/svgwrite-1.4.3.ebuild
index 889031c103b9..6132c966d11c 100644
--- a/dev-python/svgwrite/svgwrite-1.4.3.ebuild
+++ b/dev-python/svgwrite/svgwrite-1.4.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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_{8..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 0157bab898e2..302dfaf890c7 100644
--- a/dev-python/swagger-spec-validator/Manifest
+++ b/dev-python/swagger-spec-validator/Manifest
@@ -1 +1 @@
-DIST swagger-spec-validator-2.7.4.gh.tar.gz 47446 BLAKE2B d284bede24477cfc942d094937cec12224535902383779c223899ab7b359ea45427777ebc8d5f264a76696eae6746b619d35824090ae2f87c6acda4ef040b293 SHA512 d65c060f4730413280a188b01cf62d0f2d77fa04461bb60f2711d1806be2e7b8de16c23d952440a838f57acd50294a16114d34eeee988902fb90c099404c7942
+DIST swagger_spec_validator-3.0.3.gh.tar.gz 48151 BLAKE2B 6156789b6491c61ca33b09ea5a5db8ed30a7d3651e1780a5a287b6d58e159b530c8e1644c685376bade118b295307bad8ea26e3f4cf43a9648e843165e996b1e SHA512 977a6320ce629d102c7c608249d220996aba852d1c0c464be447b6b5a7aa7bb2a61023bc967a41c561a12c4620306c6a077605c4b34b828540d0ee8926d59a94
diff --git a/dev-python/swagger-spec-validator/metadata.xml b/dev-python/swagger-spec-validator/metadata.xml
index e8e3a986eb0d..68d5d8eac660 100644
--- a/dev-python/swagger-spec-validator/metadata.xml
+++ b/dev-python/swagger-spec-validator/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">swagger-spec-validator</remote-id>
diff --git a/dev-python/swagger-spec-validator/swagger-spec-validator-2.7.4.ebuild b/dev-python/swagger-spec-validator/swagger-spec-validator-2.7.4.ebuild
deleted file mode 100644
index e78ec11c2bdc..000000000000
--- a/dev-python/swagger-spec-validator/swagger-spec-validator-2.7.4.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="validate Swagger specs against Swagger 1.1 or 2.0 specification"
-HOMEPAGE="https://github.com/Yelp/swagger_spec_validator"
-SRC_URI="
- https://github.com/Yelp/swagger_spec_validator/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${PN//-/_}-${PV}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs/source \
- dev-python/sphinx_rtd_theme
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/sybil/Manifest b/dev-python/sybil/Manifest
index df143e6c4dbb..9142a713ce46 100644
--- a/dev-python/sybil/Manifest
+++ b/dev-python/sybil/Manifest
@@ -1 +1,2 @@
-DIST sybil-3.0.1.tar.gz 38265 BLAKE2B 3a9dd8d85a5a6228944f104d255826b4dfee80f5a349da3a0fa69edcfa0953145378f002c1bf834e21c0d382fc96a993b927bdc92bb3e9a84d34998ad6ade62f SHA512 312c57f0de646b1e7a3b992806362c1020b2d567c805d248e94ab22a336a8fc77704234e123e1ec74987bfea620b2f8c4d3714d32aee03587c615d3d90fe5558
+DIST sybil-6.1.0.gh.tar.gz 70823 BLAKE2B dfdd931f1f2bb7944a97ceb92425e55accc8d7587c829b65be9b6b65007f8a32b076938e1114bbee76d0a9592ba29335cf88e982aa00d1a3ad17c8523f162548 SHA512 2048073c8ef8a9c0f71dabe39ada1404eef3d83509fe3f3e0a7e6b5d1f65a24242c8faf14aaac9ea12b21ab5908dee9bae9d03d9907f09a830d73a3b6e52f8d3
+DIST sybil-6.1.1.gh.tar.gz 71447 BLAKE2B 44ced68adfae094454c9dc4ae55b7327fc9d149728ec9f2faafc42057bc9e99572289100e310f16afdde7741841964a365c008fc9a16092d270ce88dfb0d89be SHA512 f14bb09b8886bd17ccd3a56d3dfc8e2ff510ad04f7b9c8deadff826571e36547934af6855e0a6cbed43e0c0767a0f0af8f80afcecf4a8db74b041fae9d84bd5a
diff --git a/dev-python/sybil/sybil-3.0.1.ebuild b/dev-python/sybil/sybil-3.0.1.ebuild
deleted file mode 100644
index 1254f47d97fb..000000000000
--- a/dev-python/sybil/sybil-3.0.1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Automated testing for the examples in your documentation"
-HOMEPAGE="https://github.com/simplistix/sybil"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/sybil/sybil-6.1.0.ebuild b/dev-python/sybil/sybil-6.1.0.ebuild
new file mode 100644
index 000000000000..72135c802961
--- /dev/null
+++ b/dev-python/sybil/sybil-6.1.0.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="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/myst-parser[${PYTHON_USEDEP}]
+ dev-python/seedir[${PYTHON_USEDEP}]
+ dev-python/testfixtures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/sybil/sybil-6.1.1.ebuild b/dev-python/sybil/sybil-6.1.1.ebuild
new file mode 100644
index 000000000000..adf69fd38724
--- /dev/null
+++ b/dev-python/sybil/sybil-6.1.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/myst-parser[${PYTHON_USEDEP}]
+ dev-python/seedir[${PYTHON_USEDEP}]
+ dev-python/testfixtures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/symengine/Manifest b/dev-python/symengine/Manifest
index 2e8f0ac04eb6..deb51f65dd3c 100644
--- a/dev-python/symengine/Manifest
+++ b/dev-python/symengine/Manifest
@@ -1,3 +1 @@
-DIST symengine.py-0.8.1.tar.gz 108857 BLAKE2B ff721982af3448d63074e599d56d38eef3002b4e8073fc22740ae61b288b863ed856d849675cbb1286f1b9bdd2263aa1e531635a0b074a7de6909a604e6b57e9 SHA512 73af12f686dcb495aef06964c76e6f31ef242bbba2e3b2fd545594fbf1902487edd021cc25b0a8324a7ac014e90ee85f64e388e092d36e8796db4c1ed53e75c7
-DIST symengine.py-0.9.1.tar.gz 110693 BLAKE2B 16ac7a36ebf7ef6642f8fde1b8463b63177753db3c5d87ed3cacc547c94561df504e5ae92af0e121010cabf70f6b123c73f5eb8e77809bed1de779dbf18f2e7c SHA512 560c809b0a5628752aefe4be5aaa8f1f8482abcbb50d018d9ffee395d7c956b4f5cedd13953f0641594d468fcbbe0465576d16543d22dbbc84b270b285970786
-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.8.1-r1.ebuild b/dev-python/symengine/symengine-0.8.1-r1.ebuild
deleted file mode 100644
index 9b74041ddb29..000000000000
--- a/dev-python/symengine/symengine-0.8.1-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~amd64-linux ~x86-linux"
-
-BDEPEND="
- dev-util/cmake
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/sympy[${PYTHON_USEDEP}]
- )
-"
-# See bug #786582 for symengine constraint
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- >=sci-libs/symengine-$(ver_cut 1-2):=
-"
-
-distutils_enable_tests pytest
-
-# the C library installs the same docs
-DOCS=()
-
-src_prepare() {
- default
-
- # Don't install tests
- > "${S}/symengine/tests/CMakeLists.txt" || die
-}
-
-python_test() {
- cd "${BUILD_DIR}" || die
- epytest
-}
-
-python_install() {
- distutils-r1_python_install
- python_optimize
-}
diff --git a/dev-python/symengine/symengine-0.9.1.ebuild b/dev-python/symengine/symengine-0.9.1.ebuild
deleted file mode 100644
index 2d68a11c36b1..000000000000
--- a/dev-python/symengine/symengine-0.9.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_PEP517_MODE=setuptools
-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 ~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}"
-
-distutils_enable_tests pytest
-
-# the C library installs the same docs
-DOCS=()
-
-src_prepare() {
- default
-
- # Don't install tests
- > "${S}/symengine/tests/CMakeLists.txt" || die
-}
-
-python_test() {
- cd "${BUILD_DIR}" || die
- epytest
-}
-
-python_install() {
- distutils-r1_python_install
- python_optimize
-}
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 09fdecd13d48..000000000000
--- a/dev-python/symengine/symengine-0.9.2-r1.ebuild
+++ /dev/null
@@ -1,56 +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_{8..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/symengine/symengine-0.9.2.ebuild b/dev-python/symengine/symengine-0.9.2.ebuild
deleted file mode 100644
index e65a2353d4c8..000000000000
--- a/dev-python/symengine/symengine-0.9.2.ebuild
+++ /dev/null
@@ -1,51 +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_{8..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}"
-
-distutils_enable_tests pytest
-
-# the C library installs the same docs
-DOCS=()
-
-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 3de66a97f00f..94b934578aef 100644
--- a/dev-python/sympy/Manifest
+++ b/dev-python/sympy/Manifest
@@ -1 +1,2 @@
-DIST sympy-1.10.1.tar.gz 7666681 BLAKE2B e522e71058ebc8bdf3c016e3067bae9138e9a9a15ea658cba1fd35a04ce58246b5c3d7ab9c231d7071ed20b588ecfaa9275f383825b511a40c9821eadb53dd44 SHA512 7b6d5718826951bb1e477a78c3de8b95b8edda103981ad03c9f0da125ad35d72d8e5b5716d478ac4f00810939f1dc35786cc2e0a6b75cffb098cc1be9d8f7168
+DIST sympy-1.12.1rc1.gh.tar.gz 8009898 BLAKE2B 7afbcb0c17249509a1a780bdfbe72eee5aaa4b4548a587968bd2c454cbdbda9e81b47ee31c98a8aa2323d575a9cc8897f9b52aba0eec1ed831e3038b2fc15aff SHA512 575947bc1057d8bfb5e4d6f84243d0206449ef97d861e6029c11f0868c34b8d909159901054469738577edc8f941db14a61936402037a24153c1ca97af4758ad
+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/metadata.xml b/dev-python/sympy/metadata.xml
index f2f24c366603..d54d19807758 100644
--- a/dev-python/sympy/metadata.xml
+++ b/dev-python/sympy/metadata.xml
@@ -18,12 +18,12 @@
<name>Python</name>
</maintainer>
<longdescription>
- SymPy is a Python library for symbolic mathematics (manipulation). It
- aims to become a full-featured computer algebra system (CAS) while keeping
- the code as simple as possible in order to be comprehensible and easily
- extensible. SymPy is written entirely in Python and does not require
- any external libraries, except optionally for plotting support.
-</longdescription>
+ SymPy is a Python library for symbolic mathematics (manipulation). It
+ aims to become a full-featured computer algebra system (CAS) while keeping
+ the code as simple as possible in order to be comprehensible and easily
+ extensible. SymPy is written entirely in Python and does not require
+ any external libraries, except optionally for plotting support.
+ </longdescription>
<stabilize-allarches/>
<use>
<flag name="aesara">Add support for <pkg>dev-python/aesara</pkg></flag>
diff --git a/dev-python/sympy/sympy-1.10.1.ebuild b/dev-python/sympy/sympy-1.10.1.ebuild
deleted file mode 100644
index 5fb33c0e074e..000000000000
--- a/dev-python/sympy/sympy-1.10.1.ebuild
+++ /dev/null
@@ -1,66 +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_{8..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"
-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/sympy/sympy-1.12.1_rc1.ebuild b/dev-python/sympy/sympy-1.12.1_rc1.ebuild
new file mode 100644
index 000000000000..b5b261a645c7
--- /dev/null
+++ b/dev-python/sympy/sympy-1.12.1_rc1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( 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/
+"
+# pypi sdist misses some files, notably top-level conftest.py, as of 1.12.1_rc1
+SRC_URI="
+ https://github.com/sympy/sympy/archive/${PV/_/}.tar.gz
+ -> ${P/_/}.gh.tar.gz
+"
+S=${WORKDIR}/${P/_/}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~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
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require old version of antlr4
+ sympy/parsing/tests/test_autolev.py
+ sympy/parsing/tests/test_latex.py
+ # crash due to assertions in sys-devel/llvm[debug]
+ sympy/parsing/tests/test_c_parser.py
+
+ # TODO: pytest?
+ sympy/solvers/ode/tests/test_systems.py::test_linear_3eq_order1_type4_long_check
+ sympy/solvers/ode/tests/test_systems.py::test_linear_3eq_order1_type4_long_dsolve_dotprodsimp
+
+ # either very slow or hanging
+ sympy/solvers/ode/tests/test_systems.py::test_linear_new_order1_type2_de_lorentz_slow_check
+ sympy/integrals/tests/test_failing_integrals.py::test_issue_15227
+ sympy/matrices/tests/test_matrices.py::test_pinv_rank_deficient_when_diagonalization_fails
+ sympy/solvers/ode/tests/test_systems.py::test_nonlinear_3eq_order1_type1
+ sympy/solvers/ode/tests/test_systems.py::test_nonlinear_3eq_order1_type3
+
+ # known broken
+ # https://github.com/sympy/sympy/issues/26321
+ sympy/solvers/tests/test_simplex.py::test_lp
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest --veryquickcheck ||
+ die -n "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( AUTHORS README.md )
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+
+ if use texmacs; then
+ exeinto /usr/libexec/TeXmacs/bin/
+ doexe data/TeXmacs/bin/tm_sympy
+ insinto /usr/share/TeXmacs/plugins/sympy/
+ doins -r data/TeXmacs/progs
+ fi
+}
diff --git a/dev-python/tables/Manifest b/dev-python/tables/Manifest
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/tables/files/tables-3.8.0-blosc2.patch b/dev-python/tables/files/tables-3.8.0-blosc2.patch
new file mode 100644
index 000000000000..59403cdec12d
--- /dev/null
+++ b/dev-python/tables/files/tables-3.8.0-blosc2.patch
@@ -0,0 +1,30 @@
+From 99a7f336635aaeb666ea8dc791743177a030dc18 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 28 Dec 2022 15:53:08 +0100
+Subject: [PATCH] Workaround blosc2 detection via blosc2 package
+
+---
+ setup.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 966be028..2708deb9 100755
+--- a/setup.py
++++ b/setup.py
+@@ -262,11 +262,11 @@ if __name__ == "__main__":
+
+ debug = "--debug" in sys.argv
+
+- blosc2_inc, blosc2_lib = get_blosc2_directories()
++ blosc2_inc, blosc2_lib = "", ""
+
+ # Global variables
+ lib_dirs = [blosc2_lib]
+- inc_dirs = [Path("hdf5-blosc/src"), Path("hdf5-blosc2/src"), blosc2_inc]
++ inc_dirs = [Path("hdf5-blosc/src"), Path("hdf5-blosc2/src")]
+ optional_libs = []
+ copy_libs = []
+
+--
+2.39.0
+
diff --git a/dev-python/tables/files/tables-3.8.0-cython3.patch b/dev-python/tables/files/tables-3.8.0-cython3.patch
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..774972532129
--- /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/Manifest b/dev-python/tabulate/Manifest
index bc6626b53dbb..e8780121f3cd 100644
--- a/dev-python/tabulate/Manifest
+++ b/dev-python/tabulate/Manifest
@@ -1 +1 @@
-DIST python-tabulate-0.8.10.gh.tar.gz 49453 BLAKE2B 9bf5c9e937f8ef051792fc57dcd56f1150636bf29493fabe56d4b706df04add41fdffbe1108cb93aa561edc96245ba85e621d4a8b402ace513b55710e6e5498c SHA512 d216076112c0d0f0879c1eeecf2d2c0c30edc84d7289396f1a8d24bca862ef90fcf221a09812b409547696c3b7d4472d431043e359c3a7f67bb8392ce1e95ddc
+DIST python-tabulate-0.9.0.gh.tar.gz 59342 BLAKE2B dc101ab8d1411196619c3d77dd83c84e48f31e148ec3878c2b844a1e26ea1187cc948cfb1eb740d61a667d6b669806a5288c397ea7fcbd59685fedaa9bd0bd2e SHA512 26b0f079f1aca48578883147cb1a2e30e96e0bb85d5af3b72b26eba5f73cea41cf1a0686f666487c8374f95ca0412703168e480c947f1567e6408f941756498b
diff --git a/dev-python/tabulate/tabulate-0.8.10.ebuild b/dev-python/tabulate/tabulate-0.8.10.ebuild
deleted file mode 100644
index 8c3e9b4a5657..000000000000
--- a/dev-python/tabulate/tabulate-0.8.10.ebuild
+++ /dev/null
@@ -1,56 +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_{8..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
-
-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-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/tagpy/Manifest b/dev-python/tagpy/Manifest
index e78e624b4af7..cae7e14312ac 100644
--- a/dev-python/tagpy/Manifest
+++ b/dev-python/tagpy/Manifest
@@ -1 +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/metadata.xml b/dev-python/tagpy/metadata.xml
index 71d1be34fe2f..ac2570686aa0 100644
--- a/dev-python/tagpy/metadata.xml
+++ b/dev-python/tagpy/metadata.xml
@@ -9,6 +9,7 @@
Wheeler's TagLib. It builds upon Boost.Python, a wrapper generation
library which is part of the Boost set of C++ libraries.</longdescription>
<upstream>
+ <remote-id type="github">palfrey/tagpy</remote-id>
<remote-id type="pypi">tagpy</remote-id>
</upstream>
</pkgmetadata>
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 92001e25ca96..000000000000
--- a/dev-python/tagpy/tagpy-2018.1-r3.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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-1.70:=[python,threads(+),${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
new file mode 100644
index 000000000000..2a8e65aca5eb
--- /dev/null
+++ b/dev-python/tagpy/tagpy-2022.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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Bindings for TagLib"
+HOMEPAGE="
+ https://github.com/palfrey/tagpy/
+ https://pypi.org/project/tagpy/
+"
+SRC_URI="
+ https://github.com/palfrey/tagpy/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 ~sparc x86"
+
+DEPEND="
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ >=media-libs/taglib-1.8
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/tappy/tappy-3.1-r1.ebuild b/dev-python/tappy/tappy-3.1-r1.ebuild
index d8f60d87e9c3..01aeed69447c 100644
--- a/dev-python/tappy/tappy-3.1-r1.ebuild
+++ b/dev-python/tappy/tappy-3.1-r1.ebuild
@@ -1,28 +1,32 @@
-# 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_{8..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"
-KEYWORDS="~alpha 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"
BDEPEND="
dev-python/Babel[${PYTHON_USEDEP}]
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/Manifest b/dev-python/tavalidate/Manifest
new file mode 100644
index 000000000000..5f7c460f4188
--- /dev/null
+++ b/dev-python/tavalidate/Manifest
@@ -0,0 +1 @@
+DIST tavalidate-0.0.6.tar.gz 4561 BLAKE2B 85e923888cf419e7c58f864e1f651d822ee1d52711f12730831d95fe71efc3a7549963983239ef3f7d2babd5c8a624f2b6a55361732e6ef6401c0df654096bb1 SHA512 7651ba2e28d5ff74ce506e1184c20b149c018ba75c5e02631da5b0efa8c48800a3315d74f48d7ba4b5368cf4be445f589099f0d788005c61161a31047c464103
diff --git a/dev-python/tavalidate/metadata.xml b/dev-python/tavalidate/metadata.xml
new file mode 100644
index 000000000000..5a7da36b5a4b
--- /dev/null
+++ b/dev-python/tavalidate/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">sohoffice/tavalidate</remote-id>
+ <remote-id type="pypi">tavalidate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tavalidate/tavalidate-0.0.6-r1.ebuild b/dev-python/tavalidate/tavalidate-0.0.6-r1.ebuild
new file mode 100644
index 000000000000..35a456295086
--- /dev/null
+++ b/dev-python/tavalidate/tavalidate-0.0.6-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 pypi
+
+DESCRIPTION="Utities to validate Tavern responses"
+HOMEPAGE="
+ https://github.com/sohoffice/tavalidate/
+ https://pypi.org/project/tavalidate/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ >=dev-python/lxml-4.0.0[${PYTHON_USEDEP}]
+ dev-python/python-box[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/tavern/Manifest b/dev-python/tavern/Manifest
new file mode 100644
index 000000000000..435e5d4429f1
--- /dev/null
+++ b/dev-python/tavern/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..0e4ef7c4e398
--- /dev/null
+++ b/dev-python/tavern/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>kangie@gentoo.org</email>
+ <name>Matt Jolly</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.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">taverntesting/tavern</remote-id>
+ <remote-id type="pypi">tavern</remote-id>
+ </upstream>
+</pkgmetadata>
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..d1864eb7d4d0
--- /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 2ab2af01a6cc..000000000000
--- a/dev-python/tblib/tblib-1.7.0-r1.ebuild
+++ /dev/null
@@ -1,36 +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_{8..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 ~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..f85b85d17337 100644
--- a/dev-python/tcolorpy/Manifest
+++ b/dev-python/tcolorpy/Manifest
@@ -1 +1,2 @@
-DIST tcolorpy-0.1.2.tar.gz 11024 BLAKE2B 7d2b8e525f507f2061c7401e452e06b76e3f85db1611a579b6f80d3a781c640b0379c22da85b4ec5878bf9762e1c471303e5bf79f51393c3a0ae8ff8fa3bcd51 SHA512 e5a0b26439291d0c7a045cf92818ad50a5c9fcf5d31e8140231ce8bb4c52a1ce163d125a2094e3738a6a14d29b99036ee7a9d5014ea8578f09307d4a4e5674e8
+DIST tcolorpy-0.1.4.tar.gz 11072 BLAKE2B 2ceefe31475d44546efbf919c6353caf3d023f269f1cf373185900704c88d318bd7c96beae2e0ef287a695ef1cf7367fd5e5dd21d73a61400b17a9a40d1d727a SHA512 4be98b0819c6eca0af55170e473e26b90d0c62b81c00fb1fe66b197f1fd6e7aec38cdd2b24dcc1b059af0ed1a54cfdc0900fad2e9145bf49b578d90edc65e74c
+DIST tcolorpy-0.1.6.tar.gz 298986 BLAKE2B ed21c484df83ce6e4d8a90acf982bd574dc308939599e451767006412f762ab71781ce41c98ccf1aafc39a19c12a862bb801ffb0a459b09310a01c9c5a35101d SHA512 c96cfbba2c42a17618aa68f252f6e18a5a842eeeced0d2ccdf6aee903d5552375575652bb4d6417e4e0f566b92750afccf9c3fc1866b67b95ab91d4129c02a0a
diff --git a/dev-python/tcolorpy/tcolorpy-0.1.2-r1.ebuild b/dev-python/tcolorpy/tcolorpy-0.1.2-r1.ebuild
deleted file mode 100644
index 9c4b8e36e4a5..000000000000
--- a/dev-python/tcolorpy/tcolorpy-0.1.2-r1.ebuild
+++ /dev/null
@@ -1,19 +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_{8..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.2.ebuild b/dev-python/tcolorpy/tcolorpy-0.1.2.ebuild
deleted file mode 100644
index 4913643d8c01..000000000000
--- a/dev-python/tcolorpy/tcolorpy-0.1.2.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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/tcolorpy/tcolorpy-0.1.6.ebuild b/dev-python/tcolorpy/tcolorpy-0.1.6.ebuild
new file mode 100644
index 000000000000..0d644aa6e233
--- /dev/null
+++ b/dev-python/tcolorpy/tcolorpy-0.1.6.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/tekore/Manifest b/dev-python/tekore/Manifest
index 3784199cf12d..9f7109958368 100644
--- a/dev-python/tekore/Manifest
+++ b/dev-python/tekore/Manifest
@@ -1 +1,2 @@
-DIST tekore-4.4.0.gh.tar.gz 261768 BLAKE2B b0da919bd0feb32fa5770eb02cd817142d80f63e29602695b7cc6e9099203e502e61aab816ec3586595ab06f7f493243b13dd98cdb9e89913854e7cfcefcfd61 SHA512 86ef782971f1ea9d9f49e9683b27a8d9f70511e89a7fa7c8cffd01ba716782b1d91adcde2e24a52e42ec5b5b936005545ea1e15b067d1f109d2ecd2cebbd930d
+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.4.0.ebuild b/dev-python/tekore/tekore-4.4.0.ebuild
deleted file mode 100644
index cd7308b5ca24..000000000000
--- a/dev-python/tekore/tekore-4.4.0.ebuild
+++ /dev/null
@@ -1,48 +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_{8..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}]
- )
-"
-
-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 ed62c3ae45f7..b3cadfa0b903 100644
--- a/dev-python/tempest/Manifest
+++ b/dev-python/tempest/Manifest
@@ -1 +1 @@
-DIST tempest-31.1.0.tar.gz 1114805 BLAKE2B 29c0f55db6812a4da6bdbce1159a7e5b87ef0caf4b21e0810b6c941633182da12b72675d86ec0f9f2b844d91258439305c059f6f03ed09d45f7758426c6c096f SHA512 56726d5c0aa8d576e3dc200d30a370be08fec178f357381f00ca08883ab1ccf56fbfaa53ec9322a5f4eb5383e0572f25d8cd277848bc0c3a3d12e57722860a2b
+DIST tempest-38.0.0.tar.gz 1148398 BLAKE2B 2905b24ebad4b5e5c83575f0d51de7eae23567dc508367a1c7a40eccbde33990152f7eebe6b7af7b9a1379b72178684b2dbf1e6d87b848b85c06ace98c8f4116 SHA512 d3a57b73e58b4898abc57e004da4a7d7e544612c498d03d4b8b2e88b36f5a160c2e74e6fea0ebd022f86dc6eb963125c45df8b932e7e012210a36e9318b548cd
diff --git a/dev-python/tempest/metadata.xml b/dev-python/tempest/metadata.xml
index 8e745082126b..8d35a4e595ea 100644
--- a/dev-python/tempest/metadata.xml
+++ b/dev-python/tempest/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>arthurzam@gentoo.org</email>
- <name>Arthur Zamarin</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
@@ -13,5 +9,6 @@
<upstream>
<remote-id type="pypi">tempest</remote-id>
<remote-id type="github">openstack/tempest</remote-id>
+ <remote-id type="launchpad">tempest</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/tempest/tempest-31.1.0.ebuild b/dev-python/tempest/tempest-31.1.0.ebuild
deleted file mode 100644
index 003830d1993e..000000000000
--- a/dev-python/tempest/tempest-31.1.0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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}]
-"
-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 OS_TEST_TIMEOUT=320
- 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/tempita/Manifest b/dev-python/tempita/Manifest
deleted file mode 100644
index 719389014bed..000000000000
--- a/dev-python/tempita/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tempita-0.5.3-bitbucket.tar.gz 22756 BLAKE2B 59d273b1dc206eea452f7e5265d59b3ef1248b2d920eae559d74f4c569852b2a127e2a906f866cb748a12663dca944d9080413410edd5c69bd93b0d9574e3026 SHA512 cebe443bf0fc7705304fe127c796801acb6cdc54e79315c2afddb79ece1d04427852c1d0924ab9dd54520b584ae09a0644a20ff2dd6ed0408ee103f5b3fb9410
diff --git a/dev-python/tempita/files/tempita-0.5.3-2to3.patch b/dev-python/tempita/files/tempita-0.5.3-2to3.patch
deleted file mode 100644
index d2aaae6546c1..000000000000
--- a/dev-python/tempita/files/tempita-0.5.3-2to3.patch
+++ /dev/null
@@ -1,233 +0,0 @@
-commit d886499651add63bbb944c25fc56a276cc2a7884
-Author: Louis Sautier <sautier.louis@gmail.com>
-Date: Thu Sep 9 23:35:03 2021 +0200
-
- Stop using deprecated 2to3 option for setuptools
-
-diff --git a/setup.py b/setup.py
-index f575020..678b555 100644
---- a/setup.py
-+++ b/setup.py
-@@ -36,5 +36,4 @@ more to learn about it.
- test_suite='nose.collector',
- include_package_data=True,
- zip_safe=True,
-- use_2to3=True,
- )
-diff --git a/tempita/__init__.py b/tempita/__init__.py
-index acc2fd9..a3cb8a1 100755
---- a/tempita/__init__.py
-+++ b/tempita/__init__.py
-@@ -35,9 +35,9 @@ import os
- import re
- import sys
- import tokenize
--from cStringIO import StringIO
-+from io import StringIO
- from html import escape
--from urllib import quote as url_quote
-+from urllib.parse import quote as url_quote
- from tempita._looper import looper
- from tempita.compat3 import bytes, basestring_, next, is_unicode, coerce_text
-
-@@ -103,7 +103,7 @@ class Template(object):
- delimiters = (self.default_namespace['start_braces'],
- self.default_namespace['end_braces'])
- else:
-- assert len(delimiters) == 2 and all([isinstance(delimeter, basestring)
-+ assert len(delimiters) == 2 and all([isinstance(delimeter, str)
- for delimeter in delimiters])
- self.default_namespace = self.__class__.default_namespace.copy()
- self.default_namespace['start_braces'] = delimiters[0]
-@@ -198,7 +198,7 @@ class Template(object):
- position=None, name=self.name)
- templ = self.get_template(inherit_template, self)
- self_ = TemplateObject(self.name)
-- for name, value in defs.iteritems():
-+ for name, value in defs.items():
- setattr(self_, name, value)
- self_.body = body
- ns = ns.copy()
-@@ -294,7 +294,7 @@ class Template(object):
- try:
- try:
- value = eval(code, self.default_namespace, ns)
-- except SyntaxError, e:
-+ except SyntaxError as e:
- raise SyntaxError(
- 'invalid syntax in expression: %s' % code)
- return value
-@@ -306,12 +306,12 @@ class Template(object):
- else:
- arg0 = coerce_text(e)
- e.args = (self._add_line_info(arg0, pos),)
-- raise exc_info[0], e, exc_info[2]
-+ raise exc_info[0](e).with_traceback(exc_info[2])
-
- def _exec(self, code, ns, pos):
- __traceback_hide__ = True
- try:
-- exec code in self.default_namespace, ns
-+ exec(code, self.default_namespace, ns)
- except:
- exc_info = sys.exc_info()
- e = exc_info[1]
-@@ -319,7 +319,7 @@ class Template(object):
- e.args = (self._add_line_info(e.args[0], pos),)
- else:
- e.args = (self._add_line_info(None, pos),)
-- raise exc_info[0], e, exc_info[2]
-+ raise exc_info[0](e).with_traceback(exc_info[2])
-
- def _repr(self, value, pos):
- __traceback_hide__ = True
-@@ -328,7 +328,7 @@ class Template(object):
- return ''
- if self._unicode:
- try:
-- value = unicode(value)
-+ value = str(value)
- except UnicodeDecodeError:
- value = bytes(value)
- else:
-@@ -341,7 +341,7 @@ class Template(object):
- exc_info = sys.exc_info()
- e = exc_info[1]
- e.args = (self._add_line_info(e.args[0], pos),)
-- raise exc_info[0], e, exc_info[2]
-+ raise exc_info[0](e).with_traceback(exc_info[2])
- else:
- if self._unicode and isinstance(value, bytes):
- if not self.default_encoding:
-@@ -350,7 +350,7 @@ class Template(object):
- '(no default_encoding provided)' % value)
- try:
- value = value.decode(self.default_encoding)
-- except UnicodeDecodeError, e:
-+ except UnicodeDecodeError as e:
- raise UnicodeDecodeError(
- e.encoding,
- e.object,
-@@ -387,7 +387,7 @@ def paste_script_template_renderer(content, vars, filename=None):
- class bunch(dict):
-
- def __init__(self, **kw):
-- for name, value in kw.iteritems():
-+ for name, value in kw.items():
- setattr(self, name, value)
-
- def __setattr__(self, name, value):
-@@ -410,7 +410,7 @@ class bunch(dict):
-
- def __repr__(self):
- items = [
-- (k, v) for k, v in self.iteritems()]
-+ (k, v) for k, v in self.items()]
- items.sort()
- return '<%s %s>' % (
- self.__class__.__name__,
-@@ -463,7 +463,7 @@ def url(v):
-
-
- def attr(**kw):
-- kw = list(kw.iteritems())
-+ kw = list(kw.items())
- kw.sort()
- parts = []
- for name, value in kw:
-@@ -545,7 +545,7 @@ class TemplateDef(object):
- values = {}
- sig_args, var_args, var_kw, defaults = self._func_signature
- extra_kw = {}
-- for name, value in kw.iteritems():
-+ for name, value in kw.items():
- if not var_kw and name not in sig_args:
- raise TypeError(
- 'Unexpected argument %s' % name)
-@@ -568,7 +568,7 @@ class TemplateDef(object):
- raise TypeError(
- 'Extra position arguments: %s'
- % ', '.join(repr(v) for v in args))
-- for name, value_expr in defaults.iteritems():
-+ for name, value_expr in defaults.items():
- if name not in values:
- values[name] = self._template._eval(
- value_expr, self._ns, self._pos)
-@@ -614,7 +614,7 @@ class _Empty(object):
- return 'Empty'
-
- def __unicode__(self):
-- return u''
-+ return ''
-
- def __iter__(self):
- return iter(())
-@@ -1164,7 +1164,7 @@ def fill_command(args=None):
- vars.update(os.environ)
- for value in args:
- if '=' not in value:
-- print('Bad argument: %r' % value)
-+ print(('Bad argument: %r' % value))
- sys.exit(2)
- name, value = value.split('=', 1)
- if name.startswith('py:'):
-diff --git a/tempita/_looper.py b/tempita/_looper.py
-index 6784c7c..70aded7 100644
---- a/tempita/_looper.py
-+++ b/tempita/_looper.py
-@@ -7,9 +7,9 @@ These can be awkward to manage in a normal Python loop, but using the
- looper you can get a better sense of the context. Use like::
-
- >>> for loop, item in looper(['a', 'b', 'c']):
-- ... print loop.number, item
-+ ... print(loop.number, item)
- ... if not loop.last:
-- ... print '---'
-+ ... print('---')
- 1 a
- ---
- 2 b
-@@ -161,3 +161,4 @@ class loop_pos(object):
- return getter(item) != getter(other)
- else:
- return item[getter] != other[getter]
-+
-diff --git a/tempita/compat3.py b/tempita/compat3.py
-index 5e18fa0..f17f588 100644
---- a/tempita/compat3.py
-+++ b/tempita/compat3.py
-@@ -4,7 +4,7 @@ __all__ = ['b', 'basestring_', 'bytes', 'next', 'is_unicode']
-
- if sys.version < "3":
- b = bytes = str
-- basestring_ = basestring
-+ basestring_ = str
- else:
-
- def b(s):
-@@ -18,14 +18,14 @@ text = str
- if sys.version < "3":
-
- def next(obj):
-- return obj.next()
-+ return obj.__next__()
- else:
- next = next
-
- if sys.version < "3":
-
- def is_unicode(obj):
-- return isinstance(obj, unicode)
-+ return isinstance(obj, str)
- else:
-
- def is_unicode(obj):
-@@ -39,7 +39,7 @@ def coerce_text(v):
- else:
- attr = '__str__'
- if hasattr(v, attr):
-- return unicode(v)
-+ return str(v)
- else:
- return bytes(v)
- return v
diff --git a/dev-python/tempita/files/tempita-0.5.3-cgi-escape.patch b/dev-python/tempita/files/tempita-0.5.3-cgi-escape.patch
deleted file mode 100644
index d411d28ced48..000000000000
--- a/dev-python/tempita/files/tempita-0.5.3-cgi-escape.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/tempita/__init__.py b/tempita/__init__.py
-index 137ba2d..acc2fd9 100755
---- a/tempita/__init__.py
-+++ b/tempita/__init__.py
-@@ -31,12 +31,12 @@ can use ``__name='tmpl.html'`` to set the name of the template.
- If there are syntax errors ``TemplateError`` will be raised.
- """
-
--import cgi
- import os
- import re
- import sys
- import tokenize
- from cStringIO import StringIO
-+from html import escape
- from urllib import quote as url_quote
- from tempita._looper import looper
- from tempita.compat3 import bytes, basestring_, next, is_unicode, coerce_text
-@@ -445,10 +445,10 @@ def html_quote(value, force=True):
- if not isinstance(value, basestring_):
- value = coerce_text(value)
- if sys.version >= "3" and isinstance(value, bytes):
-- value = cgi.escape(value.decode('latin1'), 1)
-+ value = escape(value.decode('latin1'), 1)
- value = value.encode('latin1')
- else:
-- value = cgi.escape(value, 1)
-+ value = escape(value, 1)
- if sys.version < "3":
- if is_unicode(value):
- value = value.encode('ascii', 'xmlcharrefreplace')
diff --git a/dev-python/tempita/metadata.xml b/dev-python/tempita/metadata.xml
deleted file mode 100644
index d1cf4b0c2906..000000000000
--- a/dev-python/tempita/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">Tempita</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/tempita/tempita-0.5.3-r3.ebuild b/dev-python/tempita/tempita-0.5.3-r3.ebuild
deleted file mode 100644
index be3b68c6bb55..000000000000
--- a/dev-python/tempita/tempita-0.5.3-r3.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( pypy3 python3_{8..10} )
-# The package uses pkg_resources
-DISTUTILS_USE_SETUPTOOLS=manual
-
-inherit distutils-r1
-
-MY_COMMIT="97392d008cc8"
-
-DESCRIPTION="A very small text templating language"
-HOMEPAGE="https://pypi.org/project/Tempita/"
-# Tests are not published on PyPI
-SRC_URI="https://bitbucket.org/ianb/${PN}/get/${MY_COMMIT}.tar.gz -> ${P}-bitbucket.tar.gz"
-S="${WORKDIR}/ianb-${PN}-${MY_COMMIT}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-BDEPEND="${RDEPEND}"
-
-PATCHES=(
- # cgi.escape has been removed in Python 3.9
- "${FILESDIR}/${P}-cgi-escape.patch"
- # The 2to3 option for setuptools is deprecated
- "${FILESDIR}/${P}-2to3.patch"
-)
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Remove reference to a non-existent CSS file
- # in order to make sphinx use its default theme.
- sed -i '/^html_style =/d' docs/conf.py || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest tests/test_template.txt docs/index.txt
-}
diff --git a/dev-python/tempora/Manifest b/dev-python/tempora/Manifest
index 939c004fc7ba..46d3a53be930 100644
--- a/dev-python/tempora/Manifest
+++ b/dev-python/tempora/Manifest
@@ -1,2 +1 @@
-DIST tempora-5.0.1.tar.gz 18456 BLAKE2B b21d60dc8fa5ff9701bbdf66cc9f657c9e4bc779a4a564ea788b201034f818a688c53bcd94f315ef4650b62cce1866fad4a196e2ab724e89670bbc36e9ea15ac SHA512 941b1a231bfae6cf2321325ada785806578643dc9ae215116393623f780de7a409f918c215aae353013bd89c6866ab870ac61470af09f281af0953ce6e20ea3b
-DIST tempora-5.0.2.tar.gz 19530 BLAKE2B 9c07fc294ef77d9a12276578ffdde39ef58508075deb98c0a89d6179bc7c9cbb7633d20077801a1d99d5c016c72206f508e5d7cd6af5667704b025ffccabe552 SHA512 d0fe086b92e21622444b941c583e3432420b1826e60aa4b90bab31907a98b4989dd21ca99b5554e965f87e23c9d65d9bce8e434d801985f99f187b7dad2a715a
+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.0.1.ebuild b/dev-python/tempora/tempora-5.0.1.ebuild
deleted file mode 100644
index 9a7003570d5a..000000000000
--- a/dev-python/tempora/tempora-5.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_{8..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.0.2.ebuild b/dev-python/tempora/tempora-5.0.2.ebuild
deleted file mode 100644
index e32d2ca05b4c..000000000000
--- a/dev-python/tempora/tempora-5.0.2.ebuild
+++ /dev/null
@@ -1,33 +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_{8..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..0a0302c6d6d0
--- /dev/null
+++ b/dev-python/tempora/tempora-5.5.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Objects and routines pertaining to date and time"
+HOMEPAGE="
+ https://github.com/jaraco/tempora/
+ https://pypi.org/project/tempora/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/jaraco-functools-1.20[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pytest-freezegun[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p freezegun
+}
diff --git a/dev-python/tenacity/Manifest b/dev-python/tenacity/Manifest
index 78bbcb10f9a9..cef9ceb79cfb 100644
--- a/dev-python/tenacity/Manifest
+++ b/dev-python/tenacity/Manifest
@@ -1 +1,2 @@
-DIST tenacity-8.0.1.tar.gz 37492 BLAKE2B 10438b3877862baa88d164837b201773c287e7ce11b6213c677c227cbddda02434b423c0f331746495e68ab130ff9a9c720cccd2def3efa8ca6df8eef441eee9 SHA512 b5a615306e25c93d2734d408cc73f4db5361d92b713c1e7bbb57cd7bf635f82c5ccffafe9c0a6bc0da4057d11c92012d2337a5e4f15465bf4e6839d1fa97b877
+DIST tenacity-8.2.3.tar.gz 40651 BLAKE2B c79af0a6e0ee0af52fe47579b830ee911b10bd780467eaa22308443830a29cf76583455acbe53c92805abb51686db32696e94cb83ca2ce576a5508272e016fe4 SHA512 c1e82867c0be8a0a38d05ecee04568c3c4eebff85d8c1b90713e3ca953197da7a857d8dc20083afc4fa4b92cc5e43a8aabe8022bc104394acbe6a0aba7602613
+DIST tenacity-8.3.0.tar.gz 43608 BLAKE2B fcf7471110c831cfab20c81bb0bfa2c2895ce33b6cdf22c21dfd0f219eeb674dc4e7f4186e7c9a3366574636becd7391d68acb285069844ccaf358da6afa9c02 SHA512 46152ffacc0a87931cec09bd90eed3d2ad46f89101997c5da2aa510844c814b887a83805b4ec0de6a56759a7f2bcbab0cb2b2f1a4e6c11860ae53f64ff2a4c31
diff --git a/dev-python/tenacity/tenacity-8.0.1-r1.ebuild b/dev-python/tenacity/tenacity-8.0.1-r1.ebuild
deleted file mode 100644
index d868c572a81c..000000000000
--- a/dev-python/tenacity/tenacity-8.0.1-r1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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? (
- www-servers/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/tenacity/tenacity-8.3.0.ebuild b/dev-python/tenacity/tenacity-8.3.0.ebuild
new file mode 100644
index 000000000000..07f870f16ac3
--- /dev/null
+++ b/dev-python/tenacity/tenacity-8.3.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="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/pytest-8.2[${PYTHON_USEDEP}]
+ dev-python/tornado[${PYTHON_USEDEP}]
+ dev-python/typeguard[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/termcolor/Manifest b/dev-python/termcolor/Manifest
index 9b895e4fa594..b290d3416c14 100644
--- a/dev-python/termcolor/Manifest
+++ b/dev-python/termcolor/Manifest
@@ -1 +1 @@
-DIST termcolor-1.1.0.tar.gz 3912 BLAKE2B 8d661a708eff02894b6e390befddaef1c9d14f78f0c7d10ac332fa149f7892109f77bd279c9a488a3aa4070569c92f0ce847e3911d419ff549a10555b34534fb SHA512 4bd06bf4405a9ef6c005cd4d159ef602f7fc7fccb3e57586da1187c402f4d0b9051ef930cae423065c51ff4be8a22ceae556a61a6b3c8c519d623c066c340b53
+DIST termcolor-2.4.0.py.tar.gz 12664 BLAKE2B e5cf8f3ce1d27ffc0128cd9c1e38323e1e579a7a4017254a1d03c5f5baf0fa897522134ea68929c2e492b933fe8a6c3d79b55cb674fa3af134445581d870bf85 SHA512 e715940ccc8863baae020345cabc8fc90b5bbbd5ef4b384de96920a90d97508cee6f863aa39a2c08971e58f45cf85ec73c0659715f54072bbc57612681138355
diff --git a/dev-python/termcolor/metadata.xml b/dev-python/termcolor/metadata.xml
index 2d8caf7fcbe5..feebb5e5cdea 100644
--- a/dev-python/termcolor/metadata.xml
+++ b/dev-python/termcolor/metadata.xml
@@ -12,5 +12,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">termcolor</remote-id>
+ <remote-id type="github">termcolor/termcolor</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/termcolor/termcolor-1.1.0-r3.ebuild b/dev-python/termcolor/termcolor-1.1.0-r3.ebuild
deleted file mode 100644
index 206ba967ef8f..000000000000
--- a/dev-python/termcolor/termcolor-1.1.0-r3.ebuild
+++ /dev/null
@@ -1,20 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="ANSI Color formatting for output in terminal"
-HOMEPAGE="https://pypi.org/project/termcolor/"
-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 ~x64-macos"
-
-# no tests...
-RESTRICT="test"
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 7afa33264f4b..eac4d1ddf22a 100644
--- a/dev-python/terminado/Manifest
+++ b/dev-python/terminado/Manifest
@@ -1 +1 @@
-DIST terminado-0.15.0.tar.gz 29599 BLAKE2B b287e5c28fccbf9116d727e11e0a9d3d89f45a16374c7ee950b30427c8f52064dbb59c36fdb7b4d1457a3526e51254708ee13ef3505303c6052da050460046d1 SHA512 9aa00b7e6d442a7358f007be9d45c6a5326243e64d51a2e9fda863ab5ac8f12b72b1684aed91da376e2c45347635fe64a66da5ff2792b2b15d538080fa6f832b
+DIST terminado-0.18.1.tar.gz 32701 BLAKE2B 136a4b8e9cd60c96d2e67c612bdcaa58c3e740d0782ecd9c15235d9a7b74ccab6e8f86502f6f73af355630446bcc3d4181b46922ae074bbb171be68bc04caaf6 SHA512 a7b5a420cef31926756fcfd6b7353868f9a5f169969940695348d7bd04501fc0f5e1e1814f8580f4e47edfc0218d29e145244102d66aaecb48fbe2afb39a7482
diff --git a/dev-python/terminado/terminado-0.15.0.ebuild b/dev-python/terminado/terminado-0.15.0.ebuild
deleted file mode 100644
index 5c0f71ce8180..000000000000
--- a/dev-python/terminado/terminado-0.15.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8..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 ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/ptyprocess[${PYTHON_USEDEP}]
- www-servers/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 b08a653b797d..50ffbc6b6a46 100644
--- a/dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild
+++ b/dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild
@@ -1,22 +1,27 @@
-# 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=poetry
-PYTHON_COMPAT=( python3_{8..10} )
+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? (
@@ -38,3 +43,10 @@ src_prepare() {
distutils-r1_src_prepare
}
+
+python_test() {
+ # We override FORCE_COLOR otherwise termcolor
+ # would pick it up from env. and give unexpected
+ # output for tests.
+ FORCE_COLOR=1 epytest
+}
diff --git a/dev-python/terminaltables/terminaltables-9999.ebuild b/dev-python/terminaltables/terminaltables-9999.ebuild
index c5cb790fdd38..10b2ae4c6d5c 100644
--- a/dev-python/terminaltables/terminaltables-9999.ebuild
+++ b/dev-python/terminaltables/terminaltables-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=poetry
-PYTHON_COMPAT=( python3_{8..10} )
+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? (
@@ -32,3 +31,10 @@ src_prepare() {
distutils-r1_src_prepare
}
+
+python_test() {
+ # We override FORCE_COLOR otherwise termcolor
+ # would pick it up from env. and give unexpected
+ # output for tests.
+ FORCE_COLOR=1 epytest
+}
diff --git a/dev-python/test_server/Manifest b/dev-python/test_server/Manifest
deleted file mode 100644
index 24ed575aa604..000000000000
--- a/dev-python/test_server/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST test_server-0.0.40.gh.tar.gz 17104 BLAKE2B 7bc9211e4c16ddd210d7a8b2973d173b217fdef419a708e377225cb5da194d7ba5a31eea39ac8a4f1607e0354d440f4f07f00a64bad5ad5e1c37ecf71ce076d9 SHA512 3bffccf66d49d996e7175d61f9ac2d3575c102fda84e48763331cc39f84656661bd6deaae80a016483be6aad7c8ed4eaef5f7433ab86e9bdc52e846cdcbbcd83
diff --git a/dev-python/test_server/metadata.xml b/dev-python/test_server/metadata.xml
deleted file mode 100644
index 4371783d79f7..000000000000
--- a/dev-python/test_server/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">test-server</remote-id>
- <remote-id type="github">lorien/test_server</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/test_server/test_server-0.0.40.ebuild b/dev-python/test_server/test_server-0.0.40.ebuild
deleted file mode 100644
index 0a3b82120f33..000000000000
--- a/dev-python/test_server/test_server-0.0.40.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Server to test HTTP clients"
-HOMEPAGE="
- https://github.com/lorien/test_server/
- https://pypi.org/project/test-server/
-"
-SRC_URI="
- https://github.com/lorien/test_server/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/testfixtures/Manifest b/dev-python/testfixtures/Manifest
index f7d183dd620c..2b744a8f6c43 100644
--- a/dev-python/testfixtures/Manifest
+++ b/dev-python/testfixtures/Manifest
@@ -1,2 +1,2 @@
-DIST testfixtures-6.18.5.tar.gz 124944 BLAKE2B 6f1431b3e7201a3c12bf683cfcb123329b186f42a64fdfe3ee7897ab0c5e9ba3995deb88934ae59f0d35b64710ac04b421d07f1c496429b18a0b6a03e600885d SHA512 4d4ec7295bb056102995dc1c872b86059109b114ab921769d3aa2c2de96a3789fef30558f51826655b6d2d668ea1b1bc9f161a4584aab628f59d4da1fa95940e
-DIST testfixtures-7.0.0.tar.gz 126163 BLAKE2B e9f31180878e7645a62b93242344c6cd8335067cf8158b03dbfb46b4ab79d57380809a20d6fdc6a6d4b0aca2d22f5d7c18636607a54c70de4bea39e79a9df6b1 SHA512 5fe56e0a654586c266aab5cebcdbf1e6b9988227605395c3198c759759be0fa98ff3c0a1885711ede5ef6d262a60cd19a29dc6e7a90a1f9f8b57df3cb2d9b97b
+DIST testfixtures-8.1.0.tar.gz 134639 BLAKE2B 9f930d15b039a808717e06d86711553c4b165b39927c36901a78a028d227a9aaa39b05091192bcaf15a579f08262e8f9561670e959d6cfa58541f2213f8c15ef SHA512 17aa2be892e8095d2386b72e72daa73689fb44283a168a0cb3fad8c847cd9527e4e273cf0ac527cdd2579f2e0689074de77b26c1124e3ae7aa7efce0f5909fec
+DIST testfixtures-8.2.0.tar.gz 136662 BLAKE2B 37dcc8c718a0db51d42f7f7c5b8876e852d4e9ddbd157ce7f278c0ccbd304ce923e41e5126ee9194680059274fad04567de6e56976b281249e85e540b1a984d8 SHA512 a151767ea44a36c244e4c46fc2ce8665ebc64a52159213e5739f78537e684d6760b03a56b393894afabb70a5d777e3b9fbe0aa8acec33c958fc973eda3ec1e5e
diff --git a/dev-python/testfixtures/testfixtures-6.18.5.ebuild b/dev-python/testfixtures/testfixtures-6.18.5.ebuild
deleted file mode 100644
index 2d62c3463591..000000000000
--- a/dev-python/testfixtures/testfixtures-6.18.5.ebuild
+++ /dev/null
@@ -1,51 +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_{8..10} )
-
-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
-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-7.0.0.ebuild b/dev-python/testfixtures/testfixtures-7.0.0.ebuild
deleted file mode 100644
index 8d96b3520597..000000000000
--- a/dev-python/testfixtures/testfixtures-7.0.0.ebuild
+++ /dev/null
@@ -1,52 +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_{8..10} )
-
-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
-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..734d16fc15ab
--- /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="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ >=dev-python/sybil-6[${PYTHON_USEDEP}]
+ >=dev-python/twisted-18[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/furo
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTHONPATH="."
+ local -x DJANGO_SETTINGS_MODULE=testfixtures.tests.test_django.settings
+
+ local EPYTEST_DESELECT=(
+ # TODO
+ testfixtures/tests/test_shouldwarn.py::ShouldWarnTests::test_filter_missing
+ testfixtures/tests/test_shouldwarn.py::ShouldWarnTests::test_filter_present
+ )
+
+ epytest
+}
diff --git a/dev-python/testfixtures/testfixtures-8.2.0.ebuild b/dev-python/testfixtures/testfixtures-8.2.0.ebuild
new file mode 100644
index 000000000000..07bcb3d54340
--- /dev/null
+++ b/dev-python/testfixtures/testfixtures-8.2.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ >=dev-python/sybil-6[${PYTHON_USEDEP}]
+ >=dev-python/twisted-18[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/furo
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTHONPATH="."
+ local -x DJANGO_SETTINGS_MODULE=testfixtures.tests.test_django.settings
+
+ local EPYTEST_DESELECT=(
+ # TODO
+ testfixtures/tests/test_shouldwarn.py::ShouldWarnTests::test_filter_missing
+ testfixtures/tests/test_shouldwarn.py::ShouldWarnTests::test_filter_present
+ )
+
+ 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 ec0d110d4721..bfd0a36131be 100644
--- a/dev-python/testpath/testpath-0.6.0.ebuild
+++ b/dev-python/testpath/testpath-0.6.0.ebuild
@@ -1,20 +1,27 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{8..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
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"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
distutils_enable_tests pytest
distutils_enable_sphinx doc
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 05d03edf42a8..000000000000
--- a/dev-python/testresources/testresources-2.0.1-r2.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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 ~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 c443176e7cab..2af67c1a1ba8 100644
--- a/dev-python/testscenarios/testscenarios-0.5.0-r3.ebuild
+++ b/dev-python/testscenarios/testscenarios-0.5.0-r3.ebuild
@@ -1,12 +1,12 @@
-# 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_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A pyunit extension for dependency injection"
HOMEPAGE="
@@ -14,11 +14,10 @@ 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"
-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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
RDEPEND="
dev-python/testtools[${PYTHON_USEDEP}]
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 bb2db0ed321e..000000000000
--- a/dev-python/testtools/testtools-2.5.0-r1.ebuild
+++ /dev/null
@@ -1,60 +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_{8..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 ~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 ab324ea45131..c43db6e5c99f 100644
--- a/dev-python/text-unidecode/text-unidecode-1.3-r1.ebuild
+++ b/dev-python/text-unidecode/text-unidecode-1.3-r1.ebuild
@@ -1,22 +1,22 @@
-# Copyright 2020-2022 Gentoo Authors
+# 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_{8..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 44ef615bbff7..000000000000
--- a/dev-python/textX/textX-3.0.0.ebuild
+++ /dev/null
@@ -1,59 +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_{8..10} )
-
-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 95327219d3aa..51e618e7230f 100644
--- a/dev-python/textdistance/Manifest
+++ b/dev-python/textdistance/Manifest
@@ -1 +1,2 @@
-DIST textdistance-4.3.0.gh.tar.gz 45535 BLAKE2B e43ae62b0b7656a6c4f879b1d8e0c34ae6c83705d324aa99bb7ff6e2d0166faf1fed3ee7bc06602388c16c742a1983a4eaee143b09a7c371b9e941d53edca2b5 SHA512 30d68048b1f0b79e584f5f07731e03193af64cb2de3f52882c17154cc027f4ff8d590b994941bd5d62642d4da334ef0739d4bb65b6b12f039a1ee9aef154cde4
+DIST textdistance-4.6.1.gh.tar.gz 46618 BLAKE2B 168737e2380380570e67e873913823851e6e50a52f5180d4c5519a71f7899074aff2514f0df1a5d920c1c6a8313522fda6eb987862008eda9221ea8cc5be2902 SHA512 a27256c8ad9a228711acb6d54c5ea05634c89537686751c50623411238ee0b519cf0415e345c83b5cd347bda855751562c37ad88f06c1eacfea959cf2798b97c
+DIST textdistance-4.6.2.gh.tar.gz 46619 BLAKE2B 0a205bd5615f252f4ab832597b26cd81f3a817fa9544675b947b2ba8a9d8c128ad261a09fb1ee118e0ca807ff7721f3594de5da11f5df59c90c2d9b7110b84ff SHA512 4e5ec7ef76cfd45b05f5813d624d934a6aa90c326b8bc1af50fdde51c4fda141d5aa826e7a145f4cf59f7d7cbcdcf775746eeb197a2adef3c62ad8570d699890
diff --git a/dev-python/textdistance/textdistance-4.3.0.ebuild b/dev-python/textdistance/textdistance-4.3.0.ebuild
deleted file mode 100644
index b7752b1c5c8d..000000000000
--- a/dev-python/textdistance/textdistance-4.3.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Compute distance between the two texts"
-HOMEPAGE="https://github.com/life4/textdistance"
-SRC_URI="
- https://github.com/life4/textdistance/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-BDEPEND="
- test? (
- dev-python/abydos[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/isort[${PYTHON_USEDEP}]
- dev-python/jellyfish[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/python-levenshtein[${PYTHON_USEDEP}]
- dev-python/pyxDamerauLevenshtein[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests --install pytest
-
-EPYTEST_DESELECT=(
- 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/textdistance/textdistance-4.6.2.ebuild b/dev-python/textdistance/textdistance-4.6.2.ebuild
new file mode 100644
index 000000000000..e80570bea804
--- /dev/null
+++ b/dev-python/textdistance/textdistance-4.6.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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 c1d05a13eca8..4336e9355516 100644
--- a/dev-python/texttable/Manifest
+++ b/dev-python/texttable/Manifest
@@ -1 +1 @@
-DIST texttable-1.6.4.tar.gz 11611 BLAKE2B a97a9beefc9547fe7487af5b6411effd7391e303a13161d7e1c9304a1b580cf47bb10c8649dfea5c6f8ba05bc6c3fd7595662e8b74b282696d9ee3a110746212 SHA512 300b02f5b682f1c09a3eb5abfd4ee9c724354505a3f9e8f68207fd7d244402f234437807d68b6b526c3d4ade9e527e66c921bcd47a5e86d680698d559da3fe1a
+DIST texttable-1.7.0.gh.tar.gz 11928 BLAKE2B 7f8ae7b7c249d72dcc6b75ee78128bfe46f49b4ca8612a6fc23967f19b6f5ac1fd5e8ebf1b53734cfb7e067c8ee06e2b15dec8be58b0186bfbef8379d0d87464 SHA512 30b99abe0448fd4ab7a0ef70f5762a388978c2c09acd843e0a669a7870b6b73df8bc638e94853d77186df104bfa2d689f8b72d11df90b6844355ae0b38f6e549
diff --git a/dev-python/texttable/texttable-1.6.4-r1.ebuild b/dev-python/texttable/texttable-1.6.4-r1.ebuild
deleted file mode 100644
index 5639bd1f80f4..000000000000
--- a/dev-python/texttable/texttable-1.6.4-r1.ebuild
+++ /dev/null
@@ -1,29 +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_{8..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Module for creating simple ASCII tables"
-HOMEPAGE="https://github.com/foutaise/texttable https://pypi.org/project/texttable/"
-SRC_URI="https://github.com/foutaise/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="dev-python/wcwidth[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-python_test() {
- pytest -vv tests.py || die
-}
-
-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..88e5eea37303 100644
--- a/dev-python/threadpoolctl/Manifest
+++ b/dev-python/threadpoolctl/Manifest
@@ -1 +1,2 @@
-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
+DIST threadpoolctl-3.5.0.gh.tar.gz 37417 BLAKE2B 56b175afb96ce824286f42d0384c158823460b15f66c56b9b904c99e258629ed892906a16f15c3626908c293d25879cc0ca114d0578b1daff3610c2e9b38a3ed SHA512 6b24a6b3df3104b4222df5a20a8c7e321753dfa9ab0df872345a715d5f9ced2a577fe0d730dc4fd382e0ecfdb91a244eb28ba0b831d5db5af98f246f8f56228d
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 e60f6c77b65d..000000000000
--- a/dev-python/threadpoolctl/threadpoolctl-3.1.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..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/threadpoolctl/threadpoolctl-3.5.0.ebuild b/dev-python/threadpoolctl/threadpoolctl-3.5.0.ebuild
new file mode 100644
index 000000000000..88092a680ad2
--- /dev/null
+++ b/dev-python/threadpoolctl/threadpoolctl-3.5.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..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 cc2bd0c6cdf5..000000000000
--- a/dev-python/three-merge/three-merge-0.1.1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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/thrift/thrift-0.16.0.ebuild b/dev-python/thrift/thrift-0.16.0.ebuild
index b9c4693a0a74..b6038d7247e8 100644
--- a/dev-python/thrift/thrift-0.16.0.ebuild
+++ b/dev-python/thrift/thrift-0.16.0.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_{8..11} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
DESCRIPTION="Python implementation of Thrift"
diff --git a/dev-python/thriftpy2/Manifest b/dev-python/thriftpy2/Manifest
index 907734570ece..6b2a6d9fa440 100644
--- a/dev-python/thriftpy2/Manifest
+++ b/dev-python/thriftpy2/Manifest
@@ -1 +1,2 @@
-DIST thriftpy2-0.4.14.gh.tar.gz 127552 BLAKE2B 4061642fb14b60ba53e0c4e6342ead25f781ee923b718a6c557235fcbfe4219b4d8944894afe9783062e7950b689b909af6be5cefe3b634a476ec582adfefbed SHA512 0b248c4999b0a97287d8db3e5b79ac687bc7e25a5478ef125b479e0baf9be9d0aa5f9eaadf0612c228133295743ba913bfe69e7fe59a8d5f854a682da9d31c50
+DIST thriftpy2-0.4.20.tar.gz 689003 BLAKE2B b7ceb8345e984d6b3524fadff359bb125b0c94900afbfa4c3e64de7034bd816e3fd37fe721b7c35bee0c7fa7a6416ab859c2987cb66ed3fa4a66f6ca06eac952 SHA512 e06b22e1b63df3425eccdd3c83d1154413744ee387c3882d783a5168635087e6e38fd73d24c173e76854c4fe3f57631f4dd59fbb8e5b28cd380dd27d1d51caf3
+DIST thriftpy2-0.5.0.tar.gz 779019 BLAKE2B b29e5349e11e3ce3bd587a7c8212cd6def7b9b287554a068399591bb7493a5c1d0e97c9b38a64973c01d27a83d49e181aad64cb41ce9500e40b96c813caa7b2d SHA512 f4c83bac053a2f073507e38f284f981bd129ee960dc9817f3bd5795c8e9773b78fa23d49d97cb5975783dbd1f4b52f380861bf4fc32a1af795365f703856f350
diff --git a/dev-python/thriftpy2/thriftpy2-0.4.14-r1.ebuild b/dev-python/thriftpy2/thriftpy2-0.4.14-r1.ebuild
deleted file mode 100644
index d71392dd16a7..000000000000
--- a/dev-python/thriftpy2/thriftpy2-0.4.14-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Pure python approach of Apache Thrift"
-HOMEPAGE="https://github.com/Thriftpy/thriftpy2"
-SRC_URI="https://github.com/Thriftpy/thriftpy2/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/ply[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- www-servers/tornado[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests --install pytest
-
-python_prepare_all() {
- # tests that need network access
- rm tests/test_{tornado,rpc,sslsocket}.py || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- distutils_install_for_testing --via-root
- pushd tests >/dev/null || die
- epytest
- popd >/dev/null || die
-}
diff --git a/dev-python/thriftpy2/thriftpy2-0.4.20-r1.ebuild b/dev-python/thriftpy2/thriftpy2-0.4.20-r1.ebuild
new file mode 100644
index 000000000000..a763b9df7329
--- /dev/null
+++ b/dev-python/thriftpy2/thriftpy2-0.4.20-r1.ebuild
@@ -0,0 +1,57 @@
+# 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 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
+ )
+
+ pushd tests >/dev/null || die
+ epytest
+ popd >/dev/null || die
+}
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/thriftpy2/thriftpy2-0.5.0.ebuild b/dev-python/thriftpy2/thriftpy2-0.5.0.ebuild
new file mode 100644
index 000000000000..bb893082bf0b
--- /dev/null
+++ b/dev-python/thriftpy2/thriftpy2-0.5.0.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..12} )
+
+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 20f6bac54822..000000000000
--- a/dev-python/thunarx-python/thunarx-python-0.5.2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 28a36f324b70..6a3c8de8c372 100644
--- a/dev-python/tifffile/Manifest
+++ b/dev-python/tifffile/Manifest
@@ -1,4 +1,2 @@
-DIST tifffile-2022.5.4.gh.tar.gz 290116 BLAKE2B 4c608ad38ad7ada0e1b41512eae7b4109680cab1f5623ea3cd6c01dfe17b534b518868ee21879ecfa9909f7680a04fbb63967b5c8064062cc325286baaaccb6b SHA512 cc6139872c42e0e2840a9774989b5cba57ef8957e2efa4349e7b224c61ebb8ad34287b9305dddd85b1239d03be4ada73526259b038c19c73513007e5f63d224d
-DIST tifffile-2022.7.28.gh.tar.gz 309010 BLAKE2B 4a52a688ce7f09265592f8bd2bed2eaf9648304908aa1b190c07a22b58f10bb3f71f9ea1f9a612a2592f75f457acc04cc2139ef0cbd75ea40a7e91408075062b SHA512 12647884cb77fc8e414c09aface82def1ad2bb0a11a1f17fa00e6954cf565a906b6a8c9e861d0a476a86ef8ea25da12d1069199109cb84030d312021d722f23e
-DIST tifffile-2022.7.31.gh.tar.gz 309561 BLAKE2B 9a7c2584dbf7741d3c77c7dac3a6a16393dc5630ac97fa2d5110ad7458c04b60dbb618075718856f7ad7846470430c6f978a17dc1706a58441460b28a57d0c78 SHA512 6e935b46cf404cc027e6430e304c3993e74b6ae577817efc68fff525de96b01f13b14cfce9a21c5d25a082bdcb56e4b4e6ab9803959357ec6bd7a26bf0d0503a
-DIST tifffile-2022.8.3.gh.tar.gz 310296 BLAKE2B ae503d79105ff5172879cb1b048b061b7ac795efebe8c3fe44792a33fb3fb14d1d6ba5e57cdaf5b8df6623b512efc3a8979474b3327b932087d898226b786b65 SHA512 7040ff4cdcf4de33bd158172086a31072084dd43ebd9b3277394ac7f50044af2447e8871a4f9df7132b068e0bea71ab4beefbbbb0e91dfaf3bdb07337cb7ec0a
+DIST tifffile-2024.4.24.gh.tar.gz 346320 BLAKE2B 55f755044a6ee3826beaa8c9d39e5351474d73a64bd2af7d7e31dc20ac156c762b93a5d4986cd3dab8a70ed3b1674fe47e7ed07834a8833dcfa15fe6f179ccb5 SHA512 7ca3b32596210878e24c48475df8b95b193906669f0c561ba0567b6159fe951dd0d89ab83b094ba859da526e6c456d21e4b53bcc6038824556a0391d48a601f5
+DIST tifffile-2024.5.3.gh.tar.gz 347188 BLAKE2B 965b216c69f3257870298303ed165e6c5a9a581c079ec349156e40e8d812dd21cf2b8f7b2d3036ae4f2357296e6c6035ac52d8b7e799dd57b0c63287415c1a70 SHA512 46d90a78c0cf8111fd7c9a22ead8f4b8e1715a57cb0e7be0112027e44495d8d239ebe87433e94865b0925e47eb43af13b720318e906c63c0848c52e4f17f22d7
diff --git a/dev-python/tifffile/tifffile-2022.5.4.ebuild b/dev-python/tifffile/tifffile-2022.5.4.ebuild
deleted file mode 100644
index c7b39355f0d6..000000000000
--- a/dev-python/tifffile/tifffile-2022.5.4.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Read and write TIFF files"
-HOMEPAGE="
- https://pypi.org/project/tifffile/
- https://github.com/cgohlke/tifffile/
- https://www.lfd.uci.edu/~gohlke/
-"
-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/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_bigtiff
- 'tests/test_tifffile.py::test_write_imagej_raw'
-)
diff --git a/dev-python/tifffile/tifffile-2022.7.28.ebuild b/dev-python/tifffile/tifffile-2022.7.28.ebuild
deleted file mode 100644
index c7b39355f0d6..000000000000
--- a/dev-python/tifffile/tifffile-2022.7.28.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Read and write TIFF files"
-HOMEPAGE="
- https://pypi.org/project/tifffile/
- https://github.com/cgohlke/tifffile/
- https://www.lfd.uci.edu/~gohlke/
-"
-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/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_bigtiff
- 'tests/test_tifffile.py::test_write_imagej_raw'
-)
diff --git a/dev-python/tifffile/tifffile-2022.7.31.ebuild b/dev-python/tifffile/tifffile-2022.7.31.ebuild
deleted file mode 100644
index 867f25de5f9d..000000000000
--- a/dev-python/tifffile/tifffile-2022.7.31.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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/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_bigtiff
- 'tests/test_tifffile.py::test_write_imagej_raw'
-)
diff --git a/dev-python/tifffile/tifffile-2022.8.3.ebuild b/dev-python/tifffile/tifffile-2022.8.3.ebuild
deleted file mode 100644
index 867f25de5f9d..000000000000
--- a/dev-python/tifffile/tifffile-2022.8.3.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
-
-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/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_bigtiff
- 'tests/test_tifffile.py::test_write_imagej_raw'
-)
diff --git a/dev-python/tifffile/tifffile-2024.4.24.ebuild b/dev-python/tifffile/tifffile-2024.4.24.ebuild
new file mode 100644
index 000000000000..d9d1ef282037
--- /dev/null
+++ b/dev-python/tifffile/tifffile-2024.4.24.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Read and write TIFF files"
+HOMEPAGE="
+ https://pypi.org/project/tifffile/
+ https://github.com/cgohlke/tifffile/
+ https://www.cgohlke.com/
+"
+SRC_URI="
+ https://github.com/cgohlke/tifffile/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ >=dev-python/fsspec-2021.5.0[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ )
+"
+
+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.5.3.ebuild b/dev-python/tifffile/tifffile-2024.5.3.ebuild
new file mode 100644
index 000000000000..190a5b9ccada
--- /dev/null
+++ b/dev-python/tifffile/tifffile-2024.5.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Read and write TIFF files"
+HOMEPAGE="
+ https://pypi.org/project/tifffile/
+ https://github.com/cgohlke/tifffile/
+ https://www.cgohlke.com/
+"
+SRC_URI="
+ https://github.com/cgohlke/tifffile/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ >=dev-python/fsspec-2021.5.0[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x SKIP_LARGE=1
+ local -x SKIP_HTTP=1
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/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 4fb1107300d0..000000000000
--- a/dev-python/tikzplotlib/tikzplotlib-0.10.1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..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
new file mode 100644
index 000000000000..8c94468934a9
--- /dev/null
+++ b/dev-python/time-machine/Manifest
@@ -0,0 +1 @@
+DIST time-machine-2.14.1.gh.tar.gz 29600 BLAKE2B b118e3a2f08f75cc6cd89181a9e533c89bc6e5312a520b2a854fb8aa7ac59f1570e48a85788261f781ef83f9864380318074724f6eadab9cda7a3374b2322e7d SHA512 42a127e2dc5a86e33896010e6d141fc9248fe685d3477ec71ec8a72315914cea99ae4a4d6623a59fd69505d935d2feadcfd831a7fff5617c3f98a93d48652ecf
diff --git a/dev-python/time-machine/metadata.xml b/dev-python/time-machine/metadata.xml
new file mode 100644
index 000000000000..00899fd664c4
--- /dev/null
+++ b/dev-python/time-machine/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">adamchainz/time-machine</remote-id>
+ <remote-id type="pypi">time-machine</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/time-machine/time-machine-2.14.1.ebuild b/dev-python/time-machine/time-machine-2.14.1.ebuild
new file mode 100644
index 000000000000..9c3580a6fb3e
--- /dev/null
+++ b/dev-python/time-machine/time-machine-2.14.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Travel through time in your tests"
+HOMEPAGE="
+ https://github.com/adamchainz/time-machine/
+ https://pypi.org/project/time-machine/
+"
+SRC_URI="
+ https://github.com/adamchainz/time-machine/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/timeout-decorator/timeout-decorator-0.5.0-r1.ebuild b/dev-python/timeout-decorator/timeout-decorator-0.5.0-r1.ebuild
index 2921710f8039..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
@@ -1,10 +1,10 @@
-# Copyright 2021-2022 Gentoo Authors
+# 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_{8..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
new file mode 100644
index 000000000000..8462960b7c5d
--- /dev/null
+++ b/dev-python/tiny-proxy/Manifest
@@ -0,0 +1 @@
+DIST tiny-proxy-0.2.1.gh.tar.gz 17090 BLAKE2B 971c0f6d4c1624f89ccf0753adf375f34e35be7108251b8acd54fe724989d8e9799ba933c8dc2e53ba9a3b5d603c873ae9556b74d403883627ff51591b0d8111 SHA512 26dcf470fa0d59b4d1abc7ddf8eddc40df7d599ae5e82c8ce788141410f07e94427eb8282a9c9ccb99f39ec19914280849dd86841d92f25f109abf28557449fc
diff --git a/dev-python/tiny-proxy/metadata.xml b/dev-python/tiny-proxy/metadata.xml
new file mode 100644
index 000000000000..8d3bfbf924c7
--- /dev/null
+++ b/dev-python/tiny-proxy/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">tiny-proxy</remote-id>
+ <remote-id type="github">romis2012/tiny-proxy</remote-id>
+ </upstream>
+</pkgmetadata>
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 fe3fda3233c8..c6b2dae8d2f2 100644
--- a/dev-python/tinycss/tinycss-0.4-r1.ebuild
+++ b/dev-python/tinycss/tinycss-0.4-r1.ebuild
@@ -1,12 +1,13 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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_{8..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/Manifest b/dev-python/tinycss2/Manifest
index 89c74b1fb5a4..4aa31b3383d0 100644
--- a/dev-python/tinycss2/Manifest
+++ b/dev-python/tinycss2/Manifest
@@ -1,2 +1,2 @@
-DIST css-parsing-tests-c5749e51dda3868b3e8062e65a36584c2fec8059.gh.tar.gz 35758 BLAKE2B d834011c3ac774eb79b35e2e74f3854ddc2bb871531a32194041d6f98bde3dc68db67baea25d5463a03e057197144237be69fee4eacfb8edb73167e6e4faf7be SHA512 ef44eb1144a6484f308fabe4187310b2ef0067f328bf5213969d87c475fccae3d716dc66640a0a554ab2a3d7da0efb3a168a288ac6eef7722f3ae46959943b49
-DIST tinycss2-1.1.1.gh.tar.gz 28261 BLAKE2B f86b25be62c4c107dd6dca0b9e49605bc0c04b6ec48c4283fa7a5a33249032dcc3a42bdb9910d6235da4c4ddbf581ef8ebdc404c3bb32eeca7f355c0081e6fb7 SHA512 788b57fbadd299a4d4745bcc1814a2ebf6db76e337f2de2637ffc1610a3dac5a70f01bb9ffbb2afbdb0c638a6b23cc1b2f199eebfbb77d84906a9da5dfecada6
+DIST css-parsing-tests-43e65b244133f17eb8a4d4404d5774672b94824f.gh.tar.gz 35943 BLAKE2B 69a3dd9e638d04b498c28bf8367e1d0bfe1876e8bcdfc6796f5b5715425f943e6308afa7774a5af5e6d3b3d5cd4f8424fa2809bdf0ecdadddfcfd36354986d82 SHA512 ed83bf447a595d754bbae9fcf25c3d2b4812f99b65c5e46b39d5f7ade57d49b4ffded9bc9d1cfef0a50b078f8ceb9bedb1d4f2f9ebf6db875eaad6c956b4f1d5
+DIST tinycss2-1.3.0.tar.gz 67360 BLAKE2B f39eaaaafe2be20d2d420977e8d2d80c0e1817c277e14c57b155f1dafa54191ac2aed6908b038da5c03b4cbed66b626af432160699152800ebe2d7823e1685ed SHA512 d215ba2d8c580ca785bc2c3e33c8ae220c085e3ec1b932c01f81e176987c48559867af186056e2c501541d1d337b4fc33eea7ff2feba490e81076608b7c3aaee
diff --git a/dev-python/tinycss2/tinycss2-1.1.1-r1.ebuild b/dev-python/tinycss2/tinycss2-1.1.1-r1.ebuild
deleted file mode 100644
index 112af1b5fe04..000000000000
--- a/dev-python/tinycss2/tinycss2-1.1.1-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-CSS_TEST_COMMIT_ID=c5749e51dda3868b3e8062e65a36584c2fec8059
-
-DESCRIPTION="A complete yet simple CSS parser for Python"
-HOMEPAGE="
- https://www.courtbouillon.org/tinycss2
- https://github.com/Kozea/tinycss2/
- https://pypi.org/project/tinycss2/
-"
-SRC_URI="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? (
- https://github.com/SimonSapin/css-parsing-tests/archive/${CSS_TEST_COMMIT_ID}.tar.gz
- -> css-parsing-tests-${CSS_TEST_COMMIT_ID}.gh.tar.gz
- )
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- >=dev-python/webencodings-0.4[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/addopts/d' pyproject.toml || die
- if use test; then
- mv "${WORKDIR}/css-parsing-tests-${CSS_TEST_COMMIT_ID}"/* \
- tests/css-parsing-tests/ || die
- fi
- distutils-r1_src_prepare
-}
diff --git a/dev-python/tinycss2/tinycss2-1.3.0.ebuild b/dev-python/tinycss2/tinycss2-1.3.0.ebuild
new file mode 100644
index 000000000000..678d7cd17ec9
--- /dev/null
+++ b/dev-python/tinycss2/tinycss2-1.3.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+CSS_TEST_COMMIT_ID=43e65b244133f17eb8a4d4404d5774672b94824f
+
+DESCRIPTION="A complete yet simple CSS parser for Python"
+HOMEPAGE="
+ https://www.courtbouillon.org/tinycss2/
+ https://github.com/Kozea/tinycss2/
+ https://pypi.org/project/tinycss2/
+"
+SRC_URI+="
+ test? (
+ https://github.com/CourtBouillon/css-parsing-tests/archive/${CSS_TEST_COMMIT_ID}.tar.gz
+ -> css-parsing-tests-${CSS_TEST_COMMIT_ID}.gh.tar.gz
+ )
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/webencodings-0.4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ if use test; then
+ mv "${WORKDIR}/css-parsing-tests-${CSS_TEST_COMMIT_ID}"/* \
+ tests/css-parsing-tests/ || die
+ fi
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/tld/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 e969ca8f57ba..000000000000
--- a/dev-python/tld/tld-0.12.6.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 f03970d73119..17f59e0acca5 100644
--- a/dev-python/tldextract/Manifest
+++ b/dev-python/tldextract/Manifest
@@ -1,2 +1 @@
-DIST tldextract-3.3.0.tar.gz 110388 BLAKE2B 4f60f35de9bf774b3cbf9a67e17a5724197521b1ff1ec072fe4487608165c265ba6de736140e8677eca47229fc68d6c634ba1013a5bee294e7e1990925703938 SHA512 530e8592c2813c297355cdea591a772fad3e4cdcfccf72844c49ad68ab1acd57e6050828f78fe3bbfb9d54d62f33c63fec70dfb81d9955abf971703f53daa326
-DIST tldextract-3.3.1.tar.gz 110819 BLAKE2B 18fda8d78783c3da7949fc9d019921dc4188686d932033dea8f393c0964adb935d104475836df188390c4dc5d0d67b4d5be45baf7f0dda1264fc4b8adf73be7d SHA512 ec1c8f326772cad04caecb65fc4b6c0bd168233ca59c14b4baf0d365420fda6c740febb8399bb8ead747f259bf81b513a7edef3b3e832576703d56ab8fda1bc1
+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.3.0.ebuild b/dev-python/tldextract/tldextract-3.3.0.ebuild
deleted file mode 100644
index feb404aac8d8..000000000000
--- a/dev-python/tldextract/tldextract-3.3.0.ebuild
+++ /dev/null
@@ -1,33 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Accurately separate the TLD from the registered domain and subdomains of a URL"
-HOMEPAGE="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-3.3.1.ebuild b/dev-python/tldextract/tldextract-3.3.1.ebuild
deleted file mode 100644
index b6e706ea735f..000000000000
--- a/dev-python/tldextract/tldextract-3.3.1.ebuild
+++ /dev/null
@@ -1,33 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Accurately separate the TLD from the registered domain and subdomains of a URL"
-HOMEPAGE="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 7471c4cbb5d7..0973a0cbb0a7 100644
--- a/dev-python/tlsh/tlsh-4.8.2.ebuild
+++ b/dev-python/tlsh/tlsh-4.8.2.ebuild
@@ -1,10 +1,11 @@
-# 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_{8..10} )
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_EXT=1
inherit distutils-r1
DESCRIPTION="Fuzzy matching library - C++ extension for Python"
@@ -14,7 +15,7 @@ S=${WORKDIR}/${P}/py_ext
LICENSE="|| ( Apache-2.0 BSD )"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc64 x86"
DEPEND="dev-libs/tlsh"
RDEPEND="${DEPEND}"
diff --git a/dev-python/tokenize-rt/Manifest b/dev-python/tokenize-rt/Manifest
new file mode 100644
index 000000000000..3477fdb114de
--- /dev/null
+++ b/dev-python/tokenize-rt/Manifest
@@ -0,0 +1 @@
+DIST tokenize-rt-5.2.0.gh.tar.gz 7239 BLAKE2B a81251b6b8b336a6b1b1095e0b31456e834196fc2174958299ac293e5fc979dcdd2b4fc9c7e2e231e73fd09e116d0538dadf9436b4efdcf1390b2db9a025a4b8 SHA512 4288d474dfa260dea710bfbf529c722215bf8883360d281f41a456c79d4aa029bff9fa22a89e11d83c4095a43738f0751416a53c7e116a484a32937b58c20ff1
diff --git a/dev-python/tokenize-rt/metadata.xml b/dev-python/tokenize-rt/metadata.xml
new file mode 100644
index 000000000000..4bd5a6fb82c6
--- /dev/null
+++ b/dev-python/tokenize-rt/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>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>ajak@gentoo.org</email>
+ <name>John Helmert III</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">tokenize-rt</remote-id>
+ <remote-id type="github">asottile/tokenize-rt</remote-id>
+ </upstream>
+</pkgmetadata>
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..7fe095a2532f
--- /dev/null
+++ b/dev-python/tokenize-rt/tokenize-rt-5.2.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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 ~x86"
+
+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 b57cbf0c63d0..000000000000
--- a/dev-python/toml/toml-0.10.2-r1.ebuild
+++ /dev/null
@@ -1,48 +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_{8..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 2d68495a7fe3..41878e1e9a52 100644
--- a/dev-python/tomli-w/tomli-w-1.0.0-r1.ebuild
+++ b/dev-python/tomli-w/tomli-w-1.0.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2022 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/tomli/tomli-2.0.1-r1.ebuild b/dev-python/tomli/tomli-2.0.1-r1.ebuild
index 4a4c0bc1ea17..2aa05fb0cf28 100644
--- a/dev-python/tomli/tomli-2.0.1-r1.ebuild
+++ b/dev-python/tomli/tomli-2.0.1-r1.ebuild
@@ -1,13 +1,13 @@
-# Copyright 2021-2022 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
EAPI=7
DISTUTILS_USE_PEP517=no
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} 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 cf3a2f36dbb6..05a5ba64102e 100644
--- a/dev-python/tomlkit/Manifest
+++ b/dev-python/tomlkit/Manifest
@@ -1,3 +1,2 @@
-DIST tomlkit-0.11.0.tar.gz 185695 BLAKE2B cd2a22afb8ea445e39567cdc65f636d8d9f2aef07575a2dd989c19abf1a6f7baf2e9adb78003576af9cdefebe4e8c6031efdabcc9487e10770565589a67b0c86 SHA512 2e89748140cfdae217ac3ac999f0b718414d28218d61fb5219adc503ede2ea1f4003be9ef4453f189b0ee86df463c59520244b9fd26553bd4d8047674cba61c9
-DIST tomlkit-0.11.1.tar.gz 186422 BLAKE2B 805cf22577a2eb32f4c0183d517886706c23cb925b66a4620d11c4b7f8c6b4314f83403b01d5139695e70e3cb83125923db9e93d651d9bec598fe5fe6ea08038 SHA512 04e8c05ce6ce41a7040fdd02274bebc7ad363f54da9525af06ce39e842d4e7548395dca90a3d1f60956d29d051108719847bebfe6a9db0842a19f400e75481ac
-DIST tomlkit-0.11.2.tar.gz 187584 BLAKE2B 0b18625ab2a1a1caa916961ebedbe943f87a20695b9412ff8d276a39510f897e8df000c45e3b5324e285ce1bf925cb22370e9eef1008639e14f01ce28599692a SHA512 9f8e5f85ae9f408c10a1c64d1ab649db7b42c1b19eb0162a5edcfe894f0a179a0ba39ac7f478eb7bb14267f610169bea1d4e96cde8b9cf62df91218c989d5a2a
+DIST tomlkit-0.12.4.tar.gz 191162 BLAKE2B 3a5f8f01c7965a6d445fa96d0253d0dad55414bf9cae875fe9d9bc670d5b0a20a76fbf655695396ea188cddcea7ad034a38eed05d85f48c47301a3f23a9c7ded SHA512 b6b1cbb954202a256411388eea46852964bbdd02026086a42eab9107c55b961718398ec504f0289560894e9b46cf1c2f4b7e943267454509f6212e899e161d05
+DIST tomlkit-0.12.5.tar.gz 191420 BLAKE2B 3175f2932db1da3aca439581c7a11fd2dce01dff3c9d21b07577bdf38138515105939bc864510dce1f98e28caa222b6ba94a0d0906b515e7b677c405b90bf77c SHA512 85fba0018059c72f483251e53c039ede4ed630dd31afc58a1555705281a42c090aee2d8c25234b8700ff5f3a766313d7c9c716d7224f608f22f836c9e701c251
diff --git a/dev-python/tomlkit/tomlkit-0.11.0.ebuild b/dev-python/tomlkit/tomlkit-0.11.0.ebuild
deleted file mode 100644
index ae58bab0c59b..000000000000
--- a/dev-python/tomlkit/tomlkit-0.11.0.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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.11.1.ebuild b/dev-python/tomlkit/tomlkit-0.11.1.ebuild
deleted file mode 100644
index 8f575bb2866a..000000000000
--- a/dev-python/tomlkit/tomlkit-0.11.1.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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.11.2.ebuild b/dev-python/tomlkit/tomlkit-0.11.2.ebuild
deleted file mode 100644
index 8f575bb2866a..000000000000
--- a/dev-python/tomlkit/tomlkit-0.11.2.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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/tomlkit/tomlkit-0.12.5.ebuild b/dev-python/tomlkit/tomlkit-0.12.5.ebuild
new file mode 100644
index 000000000000..909ac0927d76
--- /dev/null
+++ b/dev-python/tomlkit/tomlkit-0.12.5.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 488ee52ec49f..8c4c7547ac42 100644
--- a/dev-python/toolz/Manifest
+++ b/dev-python/toolz/Manifest
@@ -1,2 +1 @@
-DIST toolz-0.11.2.tar.gz 65928 BLAKE2B 3a2baddae437272e8f3efb665b63df127b3ec6bc2a68f3381651a1a3a3b45e4de6e575a328306fac95e9261228ee91193effd4aeca8d115f1608cb2561d50f13 SHA512 67e8aaea3f9fb8811027f19aa9cf56ab980e4f9cea43978ed9515662c78a7bea12314054b2c26da483b055382d4b080125c011fc43bc48b0965a6ff8415f7168
-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.11.2-r1.ebuild b/dev-python/toolz/toolz-0.11.2-r1.ebuild
deleted file mode 100644
index 1f4e04582f0f..000000000000
--- a/dev-python/toolz/toolz-0.11.2-r1.ebuild
+++ /dev/null
@@ -1,18 +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_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="List processing tools and functional utilities"
-HOMEPAGE="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
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 85ec887510f1..000000000000
--- a/dev-python/toolz/toolz-0.12.0.ebuild
+++ /dev/null
@@ -1,27 +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_{8..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 88d7234e8335..641e7ea9bf0a 100644
--- a/dev-python/toposort/Manifest
+++ b/dev-python/toposort/Manifest
@@ -1 +1 @@
-DIST toposort-1.7.tar.gz 10671 BLAKE2B 89da22e803c334cec77d5ac8ad6a9ab8013f7516555c2822bd6d511edf28230c85c2eaeabad3dc4a24a58ae3ce3850d407ad957d0e28491574557140a286843a SHA512 a585d1c103b2162fa3f37f6b0ef60a8709f08d9543d7fab619af3718bf9f752a293e50061d370fd08872b2d8a8db504cb9d9c1cce5446885b46fe8e833813833
+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.7-r1.ebuild b/dev-python/toposort/toposort-1.7-r1.ebuild
deleted file mode 100644
index 8ef124f887c2..000000000000
--- a/dev-python/toposort/toposort-1.7-r1.ebuild
+++ /dev/null
@@ -1,21 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Implements a topological sort algorithm"
-HOMEPAGE="https://gitlab.com/ericvsmith/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
new file mode 100644
index 000000000000..17479fd3986d
--- /dev/null
+++ b/dev-python/tornado/Manifest
@@ -0,0 +1 @@
+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/metadata.xml b/dev-python/tornado/metadata.xml
new file mode 100644
index 000000000000..990b39b886fd
--- /dev/null
+++ b/dev-python/tornado/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">tornado</remote-id>
+ <remote-id type="github">tornadoweb/tornado</remote-id>
+ </upstream>
+</pkgmetadata>
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 57628a4901fd..7c628ce9eddc 100644
--- a/dev-python/towncrier/Manifest
+++ b/dev-python/towncrier/Manifest
@@ -1 +1 @@
-DIST towncrier-21.9.0.gh.tar.gz 32161 BLAKE2B 9160feb1d7fa8b70350a266b91f0ebca81287ac2c25d1a586cc4db6dc64d55534e39a75aba3407fdccff83fca336cb559d21604299ecb2c01aa168e8fa75fcb2 SHA512 d58e5c9f916144085bf24fd2062bee24a1a577e283350f81bdfcd42b797fcefeece6988659b75ddc8b0701ff40a070628a548f0d4fbfb9d7c5a8c8f9cfdd29a3
+DIST towncrier-23.11.0.gh.tar.gz 63343 BLAKE2B d628ce1ad3f8efc2880ca2321d81ab0b2c40ec6473527c74a12ca48f58dfdc65029f5a9f025f69a3c45ff3b52594728c8e4168b0ce75199794298c941f1dcbaf SHA512 6226ef75c163748872f0f5d60c03629365cf0a942412ca791ea28762a227942d974f8573205551678735380629eadf2bf726478b0ef1d4d1e6ee14b47e25fbae
diff --git a/dev-python/towncrier/towncrier-21.9.0.ebuild b/dev-python/towncrier/towncrier-21.9.0.ebuild
deleted file mode 100644
index 9ed09581b725..000000000000
--- a/dev-python/towncrier/towncrier-21.9.0.ebuild
+++ /dev/null
@@ -1,38 +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_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="Building newsfiles for your project"
-HOMEPAGE="https://github.com/twisted/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="
- 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 83a317b278a1..0bddde40eb69 100644
--- a/dev-python/tox/Manifest
+++ b/dev-python/tox/Manifest
@@ -1 +1,2 @@
-DIST tox-3.25.1.gh.tar.gz 307697 BLAKE2B 2c778df22388b101e6e68423636c9753f0e6faac2360184fd6b9022dc3bbb5662840cf24e7907dd4c652f6401723be3be35bcdeb0f290f9839325babf5ec776d SHA512 e0443cb72378fc18c9bc001413261d9bac2d6f89bb0ebff618a3848ffd5b02c80902cefbd90f7b0d0e3119f1df3cd22b46be23077db0ee90c03a9780ba4b248b
+DIST tox-4.14.2.tar.gz 178515 BLAKE2B 812a4e0ffe218c5799a5bdf76cc5f1f99f60c7de464953349283e3951c91aded247941cb173bfdff670c9c079b9efb3645220ff7126b7e0cf341071d561a375b SHA512 45bbd3f8d00eee05158452295230321947ec16a8bfff43e84ea9825d514976526f3889709255ed042cfb7a7ebfed020707cfc2d25b69ce90c148f4472092350d
+DIST tox-4.15.0.tar.gz 179243 BLAKE2B ba126d2dbe9598667570e1798567cf2301a60ca4859947b0b5cd15603b6f1b9c1b557bc090973a3c99960c29242edbb684d9ab81b90ecca3ac020b129a033850 SHA512 a113d8e921301dc4bc39e03103f8857604b28beedc49c764315cf99694e8a351b965e0e1b7d91555ce437a1cbb2bce0e1dd645b7c92c36e8e0e1dedcf610d1af
diff --git a/dev-python/tox/tox-3.25.1.ebuild b/dev-python/tox/tox-3.25.1.ebuild
deleted file mode 100644
index cb4f9d1950f3..000000000000
--- a/dev-python/tox/tox-3.25.1.ebuild
+++ /dev/null
@@ -1,69 +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_{8..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/pip[${PYTHON_USEDEP}]
- dev-python/py[${PYTHON_USEDEP}]
- >=dev-python/six-1.14[${PYTHON_USEDEP}]
- dev-python/toml[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-16.0.0[${PYTHON_USEDEP}]
-"
-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.15.0.ebuild b/dev-python/tox/tox-4.15.0.ebuild
new file mode 100644
index 000000000000..e80094cd0dd9
--- /dev/null
+++ b/dev-python/tox/tox-4.15.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=( 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/tpm2-pytss/Manifest b/dev-python/tpm2-pytss/Manifest
index e64e0fbfbc18..e52433cd8399 100644
--- a/dev-python/tpm2-pytss/Manifest
+++ b/dev-python/tpm2-pytss/Manifest
@@ -1 +1 @@
-DIST tpm2-pytss-1.1.0.tar.gz 162559 BLAKE2B 2c9b34c323b96b3a8ded82a04accac9647d7f0b1cf05d269ed4bdf225d785fd8454dee82f054a5085f9d49d0feabacc8c5b72a7ee8af7bc9da8473d5689501b5 SHA512 71da9e005a3f645c0528a96bb96bafde9c262c5778646a19841af6323edaf889ede7267317ea96b7d44c7901d7bea04ca15fd1b5c86d61d33e49b34f5d0e2e94
+DIST tpm2-pytss-2.2.1.tar.gz 208114 BLAKE2B fe07f38a6c19bc2b2baf079184f39d3ef28268900a35e14bfa22abb61dd956fdb286560ab6d35d66160147296e590fa3dac3d015f9919e1966f43179c1bdcdb1 SHA512 0acaa37d118d71edb123c5e88ef5af5dd78a73b0f8db15500866b6799d98e4c6107f9da1b8c1bce1c9061e9df85d735a39d9335cea65cac0e058db83aed8ad06
diff --git a/dev-python/tpm2-pytss/files/tpm2-pytss-1.1.0-src-move-package-under-src-directory.patch b/dev-python/tpm2-pytss/files/tpm2-pytss-1.1.0-src-move-package-under-src-directory.patch
deleted file mode 100644
index 6e6342cac5b6..000000000000
--- a/dev-python/tpm2-pytss/files/tpm2-pytss-1.1.0-src-move-package-under-src-directory.patch
+++ /dev/null
@@ -1,239 +0,0 @@
-From a03b66dd73a2ff58ebf847864102585aa3d11af7 Mon Sep 17 00:00:00 2001
-From: William Roberts <william.c.roberts@intel.com>
-Date: Wed, 11 May 2022 17:07:53 -0500
-Subject: [PATCH] src: move package under src directory
-
-Issue #341 reports that building a wheel and running the tests fails. I
-was able to reproduce this behavior with the following commands:
-
-python3 -Bm build -w --no-isolation
-python3 -m installer --destdir=installation dist/*.whl
-export PYTHONPATH="/home/wcrobert/tmp/installation/usr/lib/python3.8/site-packages"
-pytest test/test_types.py
-
-Note:
- - Current Working Directory is the repo clone, so tpm2-pytss
- - The export command may need to be updated for your specific version
- of python.
-
-It fails with:
-ImportError while importing test module '/home/wcrobert/workspace/tpm2-pytss/test/test_types.py'.
-<snip>
-E ModuleNotFoundError: No module named 'tpm2_pytss._libtpm2_pytss'
-
-However, this issue is a red herring. This really has to do with the
-fact that the relative import in the test code tries to resolve to
-non-built package in that directory rather then the built one on
-PYTHONPATH.
-
-Proposed solutions to use full package names also don't work, becuase it
-has to resolve to the built package and it will still attempt to resolve
-the non-built package. The least finicky solution to fix this, was to
-match what bcrypt was doing and move it under a src directory so it
-forces the resolution to not occur on that directory and inplace (pip
-install -e .) installations still work as well.
-
-Fixes: #341
-
-Signed-off-by: William Roberts <william.c.roberts@intel.com>
----
- .gitignore | 4 ++--
- MANIFEST.in | 8 ++++----
- scripts/prepare_headers.py | 2 +-
- setup.cfg | 6 ++++--
- setup.py | 8 +++++---
- {tpm2_pytss => src/tpm2_pytss}/ESAPI.py | 0
- {tpm2_pytss => src/tpm2_pytss}/FAPI.py | 0
- {tpm2_pytss => src/tpm2_pytss}/TCTI.py | 0
- {tpm2_pytss => src/tpm2_pytss}/TCTILdr.py | 0
- {tpm2_pytss => src/tpm2_pytss}/TSS2_Exception.py | 0
- {tpm2_pytss => src/tpm2_pytss}/__init__.py | 0
- {tpm2_pytss => src/tpm2_pytss}/callbacks.py | 0
- {tpm2_pytss => src/tpm2_pytss}/constants.py | 0
- {tpm2_pytss => src/tpm2_pytss}/encoding.py | 0
- {tpm2_pytss => src/tpm2_pytss}/fapi_info.py | 0
- src/tpm2_pytss/internal/__init__.py | 0
- {tpm2_pytss => src/tpm2_pytss}/internal/constants.py | 0
- {tpm2_pytss => src/tpm2_pytss}/internal/crypto.py | 0
- {tpm2_pytss => src/tpm2_pytss}/internal/templates.py | 0
- {tpm2_pytss => src/tpm2_pytss}/internal/utils.py | 0
- {tpm2_pytss => src/tpm2_pytss}/tsskey.py | 0
- {tpm2_pytss => src/tpm2_pytss}/types.py | 0
- {tpm2_pytss => src/tpm2_pytss}/utils.py | 0
- 23 files changed, 16 insertions(+), 12 deletions(-)
- rename {tpm2_pytss => src/tpm2_pytss}/ESAPI.py (100%)
- rename {tpm2_pytss => src/tpm2_pytss}/FAPI.py (100%)
- rename {tpm2_pytss => src/tpm2_pytss}/TCTI.py (100%)
- rename {tpm2_pytss => src/tpm2_pytss}/TCTILdr.py (100%)
- rename {tpm2_pytss => src/tpm2_pytss}/TSS2_Exception.py (100%)
- rename {tpm2_pytss => src/tpm2_pytss}/__init__.py (100%)
- rename {tpm2_pytss => src/tpm2_pytss}/callbacks.py (100%)
- rename {tpm2_pytss => src/tpm2_pytss}/constants.py (100%)
- rename {tpm2_pytss => src/tpm2_pytss}/encoding.py (100%)
- rename {tpm2_pytss => src/tpm2_pytss}/fapi_info.py (100%)
- create mode 100644 src/tpm2_pytss/internal/__init__.py
- rename {tpm2_pytss => src/tpm2_pytss}/internal/constants.py (100%)
- rename {tpm2_pytss => src/tpm2_pytss}/internal/crypto.py (100%)
- rename {tpm2_pytss => src/tpm2_pytss}/internal/templates.py (100%)
- rename {tpm2_pytss => src/tpm2_pytss}/internal/utils.py (100%)
- rename {tpm2_pytss => src/tpm2_pytss}/tsskey.py (100%)
- rename {tpm2_pytss => src/tpm2_pytss}/types.py (100%)
- rename {tpm2_pytss => src/tpm2_pytss}/utils.py (100%)
-
-diff --git a/.gitignore b/.gitignore
-index 07e277e..396cfdb 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -40,5 +40,5 @@ public/
- *.rej
- htmlcov
- /.pytest_cache/
--tpm2_pytss/internal/type_mapping.py
--tpm2_pytss/internal/versions.py
-+src/tpm2_pytss/internal/type_mapping.py
-+src/tpm2_pytss/internal/versions.py
-diff --git a/MANIFEST.in b/MANIFEST.in
-index 6bc43ab..7bbc96a 100644
---- a/MANIFEST.in
-+++ b/MANIFEST.in
-@@ -1,8 +1,8 @@
- include README.md
- include LICENSE
--include tpm2_pytss/version
--include tpm2_pytss/config.json
--recursive-include tpm2_pytss/swig *
-+include src/tpm2_pytss/version
-+include src/tpm2_pytss/config.json
-+recursive-include src/tpm2_pytss/swig *
- recursive-include tests *
- recursive-include examples *
--exclude tpm2_pytss/internal/type_mapping.py
-+exclude src/tpm2_pytss/internal/type_mapping.py
-diff --git a/scripts/prepare_headers.py b/scripts/prepare_headers.py
-index 0864a3d..7eb0a57 100644
---- a/scripts/prepare_headers.py
-+++ b/scripts/prepare_headers.py
-@@ -11,7 +11,7 @@ import textwrap
-
- # import tpm2_pytss.constants
- constants_spec = importlib.util.spec_from_file_location(
-- "tpm2_pytss.internal.constants", "tpm2_pytss/internal/constants.py"
-+ "tpm2_pytss.internal.constants", "src/tpm2_pytss/internal/constants.py"
- )
- constants = importlib.util.module_from_spec(constants_spec)
- constants_spec.loader.exec_module(constants)
-diff --git a/setup.cfg b/setup.cfg
-index 89a3c7a..5426a07 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -18,9 +18,11 @@ classifiers =
- Programming Language :: Python :: 3.10
-
- [options]
--packages =
-+package_dir=
-+ =src
-+packages=
- tpm2_pytss
-- tpm2_pytss/internal
-+ tpm2_pytss.internal
- setup_requires =
- setuptools_scm[toml]>=3.4.3
- cffi>=1.0.0
-diff --git a/setup.py b/setup.py
-index f10fe73..b7f1c96 100644
---- a/setup.py
-+++ b/setup.py
-@@ -200,13 +200,15 @@ class type_generator(build_ext):
-
- p = os.path.join(self.build_lib, "tpm2_pytss/internal/type_mapping.py")
- sp = os.path.join(
-- os.path.dirname(__file__), "tpm2_pytss/internal/type_mapping.py"
-+ os.path.dirname(__file__), "src/tpm2_pytss/internal/type_mapping.py"
- )
-
- vp = os.path.join(self.build_lib, "tpm2_pytss/internal/versions.py")
-- svp = os.path.join(os.path.dirname(__file__), "tpm2_pytss/internal/versions.py")
-+ svp = os.path.join(
-+ os.path.dirname(__file__), "src/tpm2_pytss/internal/versions.py"
-+ )
-
-- print(f"generated _type_map with {len(type_map)} mappings")
-+ print(f"generated _type_map with {len(type_map)} mappings in {p} and {sp}")
- print(f"generated _element_type_map with {len(element_type_map)} mappings")
- print(f"generated _versions with {len(versions)} versions")
-
-diff --git a/tpm2_pytss/ESAPI.py b/src/tpm2_pytss/ESAPI.py
-similarity index 100%
-rename from tpm2_pytss/ESAPI.py
-rename to src/tpm2_pytss/ESAPI.py
-diff --git a/tpm2_pytss/FAPI.py b/src/tpm2_pytss/FAPI.py
-similarity index 100%
-rename from tpm2_pytss/FAPI.py
-rename to src/tpm2_pytss/FAPI.py
-diff --git a/tpm2_pytss/TCTI.py b/src/tpm2_pytss/TCTI.py
-similarity index 100%
-rename from tpm2_pytss/TCTI.py
-rename to src/tpm2_pytss/TCTI.py
-diff --git a/tpm2_pytss/TCTILdr.py b/src/tpm2_pytss/TCTILdr.py
-similarity index 100%
-rename from tpm2_pytss/TCTILdr.py
-rename to src/tpm2_pytss/TCTILdr.py
-diff --git a/tpm2_pytss/TSS2_Exception.py b/src/tpm2_pytss/TSS2_Exception.py
-similarity index 100%
-rename from tpm2_pytss/TSS2_Exception.py
-rename to src/tpm2_pytss/TSS2_Exception.py
-diff --git a/tpm2_pytss/__init__.py b/src/tpm2_pytss/__init__.py
-similarity index 100%
-rename from tpm2_pytss/__init__.py
-rename to src/tpm2_pytss/__init__.py
-diff --git a/tpm2_pytss/callbacks.py b/src/tpm2_pytss/callbacks.py
-similarity index 100%
-rename from tpm2_pytss/callbacks.py
-rename to src/tpm2_pytss/callbacks.py
-diff --git a/tpm2_pytss/constants.py b/src/tpm2_pytss/constants.py
-similarity index 100%
-rename from tpm2_pytss/constants.py
-rename to src/tpm2_pytss/constants.py
-diff --git a/tpm2_pytss/encoding.py b/src/tpm2_pytss/encoding.py
-similarity index 100%
-rename from tpm2_pytss/encoding.py
-rename to src/tpm2_pytss/encoding.py
-diff --git a/tpm2_pytss/fapi_info.py b/src/tpm2_pytss/fapi_info.py
-similarity index 100%
-rename from tpm2_pytss/fapi_info.py
-rename to src/tpm2_pytss/fapi_info.py
-diff --git a/src/tpm2_pytss/internal/__init__.py b/src/tpm2_pytss/internal/__init__.py
-new file mode 100644
-index 0000000..e69de29
-diff --git a/tpm2_pytss/internal/constants.py b/src/tpm2_pytss/internal/constants.py
-similarity index 100%
-rename from tpm2_pytss/internal/constants.py
-rename to src/tpm2_pytss/internal/constants.py
-diff --git a/tpm2_pytss/internal/crypto.py b/src/tpm2_pytss/internal/crypto.py
-similarity index 100%
-rename from tpm2_pytss/internal/crypto.py
-rename to src/tpm2_pytss/internal/crypto.py
-diff --git a/tpm2_pytss/internal/templates.py b/src/tpm2_pytss/internal/templates.py
-similarity index 100%
-rename from tpm2_pytss/internal/templates.py
-rename to src/tpm2_pytss/internal/templates.py
-diff --git a/tpm2_pytss/internal/utils.py b/src/tpm2_pytss/internal/utils.py
-similarity index 100%
-rename from tpm2_pytss/internal/utils.py
-rename to src/tpm2_pytss/internal/utils.py
-diff --git a/tpm2_pytss/tsskey.py b/src/tpm2_pytss/tsskey.py
-similarity index 100%
-rename from tpm2_pytss/tsskey.py
-rename to src/tpm2_pytss/tsskey.py
-diff --git a/tpm2_pytss/types.py b/src/tpm2_pytss/types.py
-similarity index 100%
-rename from tpm2_pytss/types.py
-rename to src/tpm2_pytss/types.py
-diff --git a/tpm2_pytss/utils.py b/src/tpm2_pytss/utils.py
-similarity index 100%
-rename from tpm2_pytss/utils.py
-rename to src/tpm2_pytss/utils.py
---
-2.35.1
-
diff --git a/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-Revert-test-skip-some-FAPI-tests-if-testing-agains-t.patch b/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-Revert-test-skip-some-FAPI-tests-if-testing-agains-t.patch
new file mode 100644
index 000000000000..ff18af2015c6
--- /dev/null
+++ b/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-Revert-test-skip-some-FAPI-tests-if-testing-agains-t.patch
@@ -0,0 +1,83 @@
+From a04715c5ef5bc3d6b30b1354d64db1762bc42b9c Mon Sep 17 00:00:00 2001
+From: Erik Larsson <who+github@cnackers.org>
+Date: Fri, 12 Apr 2024 19:49:52 +0200
+Subject: [PATCH 1/2] Revert "test: skip some FAPI tests if testing agains
+ tpm2-tss master branch."
+
+This reverts commit 9e948984676b38f71e923a6e167340dc99554ac0.
+
+Fixed in tpm2-tss master branch, so remove the temporary fixes.
+
+Signed-off-by: Erik Larsson <who+github@cnackers.org>
+---
+ test/test_fapi.py | 19 +++++--------------
+ 1 file changed, 5 insertions(+), 14 deletions(-)
+
+diff --git a/test/test_fapi.py b/test/test_fapi.py
+index f702fc9..6b77c66 100644
+--- a/test/test_fapi.py
++++ b/test/test_fapi.py
+@@ -13,7 +13,7 @@ from cryptography.hazmat.primitives.asymmetric.padding import PSS
+
+ from tpm2_pytss import *
+
+-from tpm2_pytss.internal.utils import is_bug_fixed, _lib_version_atleast
++from tpm2_pytss.internal.utils import is_bug_fixed
+
+ from .TSS2_BaseTest import TpmSimulator
+ from tpm2_pytss.TSS2_Exception import TSS2_Exception
+@@ -614,8 +614,7 @@ class Common:
+ self.fapi.sign(key_path, b"\x22" * 32)
+
+ @pytest.mark.skipif(
+- _lib_version_atleast("tss2-fapi", "4.0.1-170")
+- or not is_bug_fixed(fixed_in="3.2", backports=["2.4.7", "3.0.5", "3.1.1"]),
++ not is_bug_fixed(fixed_in="3.2", backports=["2.4.7", "3.0.5", "3.1.1"]),
+ reason="tpm2-tss bug, see #2084",
+ )
+ def test_write_authorize_nv(self, esys):
+@@ -662,8 +661,7 @@ class Common:
+ self.fapi.quote(path=key_path, pcrs=[7, 9])
+
+ @pytest.mark.skipif(
+- _lib_version_atleast("tss2-fapi", "4.0.1-170")
+- or not is_bug_fixed(fixed_in="3.2", backports=["2.4.7", "3.0.5", "3.1.1"]),
++ not is_bug_fixed(fixed_in="3.2", backports=["2.4.7", "3.0.5", "3.1.1"]),
+ reason="tpm2-tss bug, see #2084",
+ )
+ def test_authorize_policy(self, sign_key):
+@@ -728,9 +726,7 @@ class Common:
+ self.fapi.quote(path=key_path, pcrs=[7, 9])
+
+ @pytest.mark.skipif(
+- _lib_version_atleast("tss2-fapi", "4.0.1-170")
+- or not is_bug_fixed(fixed_in="3.2"),
+- reason="tpm2-tss bug, see #2080",
++ not is_bug_fixed(fixed_in="3.2"), reason="tpm2-tss bug, see #2080"
+ )
+ def test_policy_signed(self, cryptography_key):
+ # create external signing key used by the signing authority external to the TPM
+@@ -792,10 +788,6 @@ class Common:
+ with pytest.raises(TSS2_Exception):
+ self.fapi.sign(path=key_path, digest=b"\x11" * 32)
+
+- @pytest.mark.skipif(
+- _lib_version_atleast("tss2-fapi", "4.0.1-170"),
+- reason="issue on master branch.",
+- )
+ def test_policy_branched(self):
+ pcr_index = 15
+ pcr_data = b"ABCDEF"
+@@ -913,8 +905,7 @@ class Common:
+ self.fapi.delete(path=nv_path)
+
+ @pytest.mark.skipif(
+- _lib_version_atleast("tss2-fapi", "4.0.1-170")
+- or not is_bug_fixed(fixed_in="3.2", backports=["2.4.7", "3.0.5", "3.1.1"]),
++ not is_bug_fixed(fixed_in="3.2", backports=["2.4.7", "3.0.5", "3.1.1"]),
+ reason="tpm2-tss bug, see #2089",
+ )
+ def test_policy_action(self):
+--
+2.43.2
+
diff --git a/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-cryptography-fixes-for-newer-version-of-cryptography.patch b/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-cryptography-fixes-for-newer-version-of-cryptography.patch
new file mode 100644
index 000000000000..2938e1938940
--- /dev/null
+++ b/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-cryptography-fixes-for-newer-version-of-cryptography.patch
@@ -0,0 +1,53 @@
+From 5a33c767be196328948baef569de084d97d62384 Mon Sep 17 00:00:00 2001
+From: Erik Larsson <who+github@cnackers.org>
+Date: Tue, 26 Mar 2024 13:25:10 +0100
+Subject: [PATCH] cryptography: fixes for newer version of cryptography
+
+Signed-off-by: Erik Larsson <who+github@cnackers.org>
+---
+ src/tpm2_pytss/internal/crypto.py | 1 +
+ test/test_encoding.py | 2 +-
+ test/test_policy.py | 2 +-
+ 3 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/tpm2_pytss/internal/crypto.py b/src/tpm2_pytss/internal/crypto.py
+index 42030c5..f9d8c34 100644
+--- a/src/tpm2_pytss/internal/crypto.py
++++ b/src/tpm2_pytss/internal/crypto.py
+@@ -25,6 +25,7 @@ from cryptography.hazmat.backends import default_backend
+ from cryptography.exceptions import UnsupportedAlgorithm, InvalidSignature
+ from typing import Tuple, Type, Any
+ import secrets
++import inspect
+ import sys
+
+ _curvetable = (
+diff --git a/test/test_encoding.py b/test/test_encoding.py
+index 1f58562..8cf4b51 100644
+--- a/test/test_encoding.py
++++ b/test/test_encoding.py
+@@ -1406,7 +1406,7 @@ class ToolsTest(TSS2_BaseTest):
+ def test_tools_decode_tpm2b_name(self):
+ if not self.has_tools:
+ self.skipTest("tools not in path")
+- key = ec.generate_private_key(ec.SECP256R1).public_key()
++ key = ec.generate_private_key(ec.SECP256R1()).public_key()
+ kb = key.public_bytes(
+ serialization.Encoding.PEM, serialization.PublicFormat.SubjectPublicKeyInfo
+ )
+diff --git a/test/test_policy.py b/test/test_policy.py
+index f18aa8a..5f56e21 100644
+--- a/test/test_policy.py
++++ b/test/test_policy.py
+@@ -47,7 +47,7 @@ class TestPolicy(TSS2_EsapiTest):
+ super().setUp()
+ self._has_secp192r1 = True
+ try:
+- ec.generate_private_key(ec.SECP192R1)
++ ec.generate_private_key(ec.SECP192R1())
+ except Exception:
+ self._has_secp192r1 = False
+
+--
+2.43.2
+
diff --git a/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-scripts-update-regex-for-defines.patch b/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-scripts-update-regex-for-defines.patch
new file mode 100644
index 000000000000..99f65025434f
--- /dev/null
+++ b/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-scripts-update-regex-for-defines.patch
@@ -0,0 +1,28 @@
+From b02fdc8e259fe977c1065389c042be69e2985bdf Mon Sep 17 00:00:00 2001
+From: Erik Larsson <who+github@cnackers.org>
+Date: Sat, 20 Apr 2024 10:32:55 +0200
+Subject: [PATCH 2/2] scripts: update regex for #defines
+
+Commit fdb3594b27aee315ad56af361512800266672582 in tpm2-tss changed
+the structure of some defines, so fix the regex.
+
+Signed-off-by: Erik Larsson <who+github@cnackers.org>
+---
+ scripts/prepare_headers.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/scripts/prepare_headers.py b/scripts/prepare_headers.py
+index 6ca9b64..a7529b3 100644
+--- a/scripts/prepare_headers.py
++++ b/scripts/prepare_headers.py
+@@ -32,6 +32,7 @@ def remove_common_guards(s):
+
+ # Restructure #defines with ...
+ s = re.sub("(#define [A-Za-z0-9_]+) +\(\(.*?\) \(.*?\)\)", "\g<1>...", s)
++ s = re.sub("(#define [A-Za-z0-9_]+) +\(\(\(.*?\) .*\)", "\g<1>...", s)
+ s = re.sub("(#define [A-Za-z0-9_]+) +\(\(.*?\).*?\) ", "\g<1>...", s)
+ s = re.sub(
+ "(#define [A-Za-z0-9_]+) .*\n.*?.*\)\)", "\g<1>...", s, flags=re.MULTILINE
+--
+2.43.2
+
diff --git a/dev-python/tpm2-pytss/metadata.xml b/dev-python/tpm2-pytss/metadata.xml
index 3028937ca6da..9045ee6322a1 100644
--- a/dev-python/tpm2-pytss/metadata.xml
+++ b/dev-python/tpm2-pytss/metadata.xml
@@ -12,4 +12,8 @@
<use>
<flag name="fapi">Enable feature API (requires tpm2-tss be compile with thes same)</flag>
</use>
+ <upstream>
+ <remote-id type="pypi">tpm2-pytss</remote-id>
+ <remote-id type="github">tpm2-software/tpm2-pytss</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/tpm2-pytss/tpm2-pytss-1.1.0.ebuild b/dev-python/tpm2-pytss/tpm2-pytss-1.1.0.ebuild
deleted file mode 100644
index d7f07c588526..000000000000
--- a/dev-python/tpm2-pytss/tpm2-pytss-1.1.0.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-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}]"
-
-DEPEND="${RDEPEND}
- test? ( app-crypt/swtpm )"
-
-BDEPEND="dev-python/setuptools_scm[${PYTHON_USEDEP}]
- dev-python/pkgconfig[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.1.0-src-move-package-under-src-directory.patch"
- )
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-distutils_enable_tests pytest
diff --git a/dev-python/tpm2-pytss/tpm2-pytss-2.2.1.ebuild b/dev-python/tpm2-pytss/tpm2-pytss-2.2.1.ebuild
new file mode 100644
index 000000000000..a14aa4203d81
--- /dev/null
+++ b/dev-python/tpm2-pytss/tpm2-pytss-2.2.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for TSS"
+HOMEPAGE="
+ https://pypi.org/project/tpm2-pytss/
+ https://github.com/tpm2-software/tpm2-pytss/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+fapi test"
+
+DEPEND="
+ app-crypt/tpm2-tss:=[fapi=]
+ fapi? ( >=app-crypt/tpm2-tss-3.0.3:= )
+ test? ( app-crypt/swtpm )
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/cffi[${PYTHON_USEDEP}]
+ dev-python/asn1crypto[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/pycparser[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.2.1-cryptography-fixes-for-newer-version-of-cryptography.patch"
+ "${FILESDIR}/${PN}-2.2.1-Revert-test-skip-some-FAPI-tests-if-testing-agains-t.patch"
+ "${FILESDIR}/${PN}-2.2.1-scripts-update-regex-for-defines.patch"
+ )
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+distutils_enable_tests pytest
diff --git a/dev-python/tqdm/Manifest b/dev-python/tqdm/Manifest
index dba4b9568441..7ea7ae8f9a2b 100644
--- a/dev-python/tqdm/Manifest
+++ b/dev-python/tqdm/Manifest
@@ -1 +1,2 @@
-DIST tqdm-4.64.0.tar.gz 169499 BLAKE2B a6b9587a366c026716c63af4358ddba693b52be3490a161071bc750fffcd50429bc639255635d96c950a130d9fe994dc2abc98f3fbaf0a0c344140c8ae972596 SHA512 84d243b86ea3665e915e6a79e7887a4d0487b166971d211e34229b7a46429f4e4f5808c03f24420b20fb85d274e1e6b36ed852af99c5c9d177c8ce71f0ce0c17
+DIST tqdm-4.66.2.tar.gz 169462 BLAKE2B 57a1e5895ed2e1f99246fd6bdfc08fb75a24451e358bbf38324cdcfe35559b6748dbe63dcdaf65024b12165daa404c98d5b6db81673e7d0f930142cab1b623d7 SHA512 49abd9006ca7c8672835b202e4e722602035a0e21723337b4227e114d6d50b678edb6c5f2b0cf4e6741eae5e86551ba59233f87989f6b69bb4d4414d5a3c80e5
+DIST tqdm-4.66.4.tar.gz 169392 BLAKE2B 6d8e3e9775d93d9c064289b8a830b4f541a753a48044ec65fcee9c8d158d423e362d06c3404efce67de28fab2c3f1fb3d8aaa0fdec33b4d040ad1f2aec97fde2 SHA512 fdafa64784564f7f400f29ffa75ba564a3c9bc6d935a1ccd82260d4a1f4431792a9dae2d5c6ed69cc265f078f674081589a040d47b8745a500870d27670feadc
diff --git a/dev-python/tqdm/tqdm-4.64.0.ebuild b/dev-python/tqdm/tqdm-4.64.0.ebuild
deleted file mode 100644
index 41de10518a23..000000000000
--- a/dev-python/tqdm/tqdm-4.64.0.ebuild
+++ /dev/null
@@ -1,46 +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_{8..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 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/tqdm/tqdm-4.66.4.ebuild b/dev-python/tqdm/tqdm-4.66.4.ebuild
new file mode 100644
index 000000000000..1f7508033f3b
--- /dev/null
+++ b/dev-python/tqdm/tqdm-4.66.4.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 b7344c520625..7a2bbb1ed9fe 100644
--- a/dev-python/traitlets/Manifest
+++ b/dev-python/traitlets/Manifest
@@ -1 +1 @@
-DIST traitlets-5.3.0.tar.gz 136916 BLAKE2B 72f1a8ec9524a2a77046e592206ca0fd5c788daf67c673b8335f840272ce49b6b82735b272d29e1a507096dc2c65b82350b1ccbf925864a643918ff813e8a888 SHA512 1c6c74b18b1a4d37fb61f466b9018b5612a8cf8b7a52c58bf0d3f576d0a94487f73c9d1005458d2b56ac9e86083bb5f1ef67e107ceced1009fda442f1fc9aa44
+DIST traitlets-5.14.3.tar.gz 161621 BLAKE2B b7367c4f14bf1e5dc24361d5d6780ef353a0356be2cbc8548052a27d279b02ce856b73ae1320d5dcded86afe16e8ead7f9d6964d9822f87cc06b616394c42693 SHA512 7c8469761aab7ad708b12d49c222a6e892877152c68125b805a1819b06292380be16e816c405398ad988f2197adc2c59781457a51efc7d1e410f9ed8b11c06c4
diff --git a/dev-python/traitlets/traitlets-5.14.3.ebuild b/dev-python/traitlets/traitlets-5.14.3.ebuild
new file mode 100644
index 000000000000..1eabacf54469
--- /dev/null
+++ b/dev-python/traitlets/traitlets-5.14.3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..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.3.0.ebuild b/dev-python/traitlets/traitlets-5.3.0.ebuild
deleted file mode 100644
index 0edc0e6b5b02..000000000000
--- a/dev-python/traitlets/traitlets-5.3.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8..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 ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_sphinx docs/source \
- dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/transitions/Manifest b/dev-python/transitions/Manifest
index 8af07eb305b9..d5f65b9bde9e 100644
--- a/dev-python/transitions/Manifest
+++ b/dev-python/transitions/Manifest
@@ -1 +1 @@
-DIST transitions-0.8.11.tar.gz 1103585 BLAKE2B e91800baa5101e2654b4e88fecec8bc795329a0e43890e32f42f7777136379d9852702f7cef14da3f3c26b50ce7bf9dcf2f6d2980d4af82149d2d16ea343d826 SHA512 96c91c988db990326f50b06c7538fb806c2a5d19f950f23cd0304b40517657c888df6c09445917d5e7224c1aa1b1d8d719bd10b0e210001f15eec947681c3847
+DIST transitions-0.9.0.gh.tar.gz 1116052 BLAKE2B 3c3f0f70029fac11b89741c17b4f8223ffff7b1f4120dbacf9047c7c9d8063df00449e7ceb378aeb6263d4f55245bb89f08f6eaa0a74948368bd0eb0227fea40 SHA512 805894ba772e4a31f1fd567d3765f8ee3f3498ca5b9dd4d5b94224722d48347a2feee284dab577eca97a748dc6f810dedf1cbc3b50f41f0ab5b65d84241b9638
diff --git a/dev-python/transitions/transitions-0.8.11.ebuild b/dev-python/transitions/transitions-0.8.11.ebuild
deleted file mode 100644
index b809687c46ad..000000000000
--- a/dev-python/transitions/transitions-0.8.11.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A lightweight, object-oriented state machine implementation in Python"
-HOMEPAGE="https://github.com/pytransitions/transitions"
-SRC_URI="https://github.com/pytransitions/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="examples"
-
-RDEPEND="
- || (
- dev-python/pygraphviz[${PYTHON_USEDEP}]
- dev-python/graphviz[${PYTHON_USEDEP}]
- )
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/dill[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pycodestyle[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_install() {
- distutils-r1_src_install
- use examples && dodoc examples/*.ipynb
-}
diff --git a/dev-python/transitions/transitions-0.9.0.ebuild b/dev-python/transitions/transitions-0.9.0.ebuild
new file mode 100644
index 000000000000..e2e2b36fea8f
--- /dev/null
+++ b/dev-python/transitions/transitions-0.9.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
+
+DESCRIPTION="A lightweight, object-oriented state machine implementation in Python"
+HOMEPAGE="https://github.com/pytransitions/transitions"
+SRC_URI="
+ https://github.com/pytransitions/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="examples"
+
+RDEPEND="
+ || (
+ dev-python/pygraphviz[${PYTHON_USEDEP}]
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ )
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/dill[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pycodestyle[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_install() {
+ distutils-r1_src_install
+ use examples && dodoc examples/*.ipynb
+}
diff --git a/dev-python/translate-toolkit/Manifest b/dev-python/translate-toolkit/Manifest
index 1eeb10d1599c..aec6cb2e5c6e 100644
--- a/dev-python/translate-toolkit/Manifest
+++ b/dev-python/translate-toolkit/Manifest
@@ -1 +1,2 @@
-DIST translate-3.7.2.gh.tar.gz 1153306 BLAKE2B 986c531004cb0ee0a58a940043377ee047e13b0f32c6fda5ab80cc7fca96d18b45f2cd3e112d47f177cd06a7e99580777c6591df969a8237bcb9fe7a52b1d4fd SHA512 28d774ff670c92dedee5d98d7d33f21d32ed4b7afd6a8281fcf7abb39470e11a6c0d9c121576aa2be10edf18929c74b2cfc36b70984d66d432cfa5e337b9556c
+DIST translate-3.12.2.gh.tar.gz 1202828 BLAKE2B fdfc6ea91d0e0fe9f36e1352247463fe04ff3f4cdd13dd969077ccf0dde984250303872f6bb605dcd1628a1089d81dd98b36dfd68e92c3030c740d65899a70ba SHA512 7488f45521f1744d8d457ce5f74a4955a0e4468af8b3f5be06410667f2c1e52a3dacd3b959330e6c2eb5b3a443c1e2c761538896352576f5090ce27dbfc8edab
+DIST translate-3.13.0.gh.tar.gz 1171837 BLAKE2B 9c6212d26749eac652369e94d2b653f67b364afc9f9125c5125d19e3cabc1bb36bd27bc172ad93d28cb6cdf57ed2b245336664b6b4954db9bbbfb4a8ad92b3f9 SHA512 7c6f87ec32c81a14d1775dc24d43e49b79fdf8473a4380c93a2af1532bed32a9733ee755641ce26852b1bd63acffa2110598c5fc3010bbf9de40e8a0f32af308
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.12.2.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.12.2.ebuild
new file mode 100644
index 000000000000..0e75f48593c6
--- /dev/null
+++ b/dev-python/translate-toolkit/translate-toolkit-3.12.2.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+MY_P=translate-${PV}
+DESCRIPTION="Toolkit to convert between many translation formats"
+HOMEPAGE="
+ https://github.com/translate/translate/
+ https://pypi.org/project/translate-toolkit/
+"
+SRC_URI="
+ https://github.com/translate/translate/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+IUSE="+html +ical +ini +subtitles +yaml"
+
+RDEPEND="
+ app-text/iso-codes
+ >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
+ dev-python/cheroot[${PYTHON_USEDEP}]
+ >=dev-python/Levenshtein-0.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
+ ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
+ ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
+ subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
+ yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+"
+# Technically, the test suite also has undeclared dependency
+# on dev-python/snapshottest but all the tests using it are broken
+# anyway, so we skip them.
+BDEPEND="
+ test? (
+ dev-python/phply[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
+ # correctly, so we need to reassemble all data files in a single directory
+ local -x XDG_DATA_HOME=${T}/share
+ cp -r translate/share "${T}/" || die
+ cp -r "${ESYSROOT}/usr/share"/gaupol "${XDG_DATA_HOME}"/ || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Fails with network-sandbox (and even with it off but w/ softer fail)
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
+ # all tests based on snapshottest are broken and I'm too tired
+ # to figure this out
+ tests/translate/tools/test_pocount.py::test_{cases,output}
+ tests/translate/tools/test_junitmsgfmt.py::test_output
+ )
+ local EPYTEST_IGNORE=(
+ # unpackaged fluent.*
+ tests/translate/storage/test_fluent.py
+ # changes directory and does not change it back, sigh
+ tests/odf_xliff/test_odf_xliff.py
+ )
+
+ if ! use ini; then
+ EPYTEST_IGNORE+=(
+ translate/convert/test_ini2po.py
+ translate/convert/test_po2ini.py
+ )
+ fi
+
+ if ! use subtitles; then
+ EPYTEST_IGNORE+=(
+ translate/storage/test_subtitles.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /usr
+ doins -r translate/share
+
+ if ! use html; then
+ rm "${ED}"/usr/bin/{html2po,po2html} || die
+ fi
+ if ! use ical; then
+ rm "${ED}"/usr/bin/{ical2po,po2ical} || die
+ fi
+ if ! use ini; then
+ rm "${ED}"/usr/bin/{ini2po,po2ini} || die
+ fi
+ if ! use subtitles; then
+ rm "${ED}"/usr/bin/{sub2po,po2sub} || die
+ fi
+}
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.13.0.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.13.0.ebuild
new file mode 100644
index 000000000000..384bc7109a3a
--- /dev/null
+++ b/dev-python/translate-toolkit/translate-toolkit-3.13.0.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+MY_P=translate-${PV}
+DESCRIPTION="Toolkit to convert between many translation formats"
+HOMEPAGE="
+ https://github.com/translate/translate/
+ https://pypi.org/project/translate-toolkit/
+"
+SRC_URI="
+ https://github.com/translate/translate/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+html +ical +ini +subtitles +yaml"
+
+RDEPEND="
+ app-text/iso-codes
+ >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
+ dev-python/cheroot[${PYTHON_USEDEP}]
+ >=dev-python/Levenshtein-0.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
+ ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
+ ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
+ subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
+ yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+"
+# Technically, the test suite also has undeclared dependency
+# on dev-python/snapshottest but all the tests using it are broken
+# anyway, so we skip them.
+BDEPEND="
+ test? (
+ dev-python/phply[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
+ # correctly, so we need to reassemble all data files in a single directory
+ local -x XDG_DATA_HOME=${T}/share
+ cp -r translate/share "${T}/" || die
+ cp -r "${ESYSROOT}/usr/share"/gaupol "${XDG_DATA_HOME}"/ || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Fails with network-sandbox (and even with it off but w/ softer fail)
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
+ # all tests based on snapshottest are broken and I'm too tired
+ # to figure this out
+ tests/translate/tools/test_pocount.py::test_{cases,output}
+ tests/translate/tools/test_junitmsgfmt.py::test_output
+ )
+ local EPYTEST_IGNORE=(
+ # unpackaged fluent.*
+ tests/translate/storage/test_fluent.py
+ # changes directory and does not change it back, sigh
+ tests/odf_xliff/test_odf_xliff.py
+ )
+
+ if ! use ini; then
+ EPYTEST_IGNORE+=(
+ translate/convert/test_ini2po.py
+ translate/convert/test_po2ini.py
+ )
+ fi
+
+ if ! use subtitles; then
+ EPYTEST_IGNORE+=(
+ translate/storage/test_subtitles.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /usr
+ doins -r translate/share
+
+ if ! use html; then
+ rm "${ED}"/usr/bin/{html2po,po2html} || die
+ fi
+ if ! use ical; then
+ rm "${ED}"/usr/bin/{ical2po,po2ical} || die
+ fi
+ if ! use ini; then
+ rm "${ED}"/usr/bin/{ini2po,po2ini} || die
+ fi
+ if ! use subtitles; then
+ rm "${ED}"/usr/bin/{sub2po,po2sub} || die
+ fi
+}
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.7.2.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.7.2.ebuild
deleted file mode 100644
index 7022e482cf3f..000000000000
--- a/dev-python/translate-toolkit/translate-toolkit-3.7.2.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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="
- !dev-python/pydiff
- app-text/iso-codes
- >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
- dev-python/cheroot[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.3.1[${PYTHON_USEDEP}]
- >=dev-python/pycountry-19.8.18[${PYTHON_USEDEP}]
- >=dev-python/python-levenshtein-0.12.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}] )
-"
-BDEPEND="
- test? ( dev-python/phply[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx-bootstrap-theme
-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'
- )
- 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 573505a8fd88..d6d4ea82788c 100644
--- a/dev-python/tree-sitter/Manifest
+++ b/dev-python/tree-sitter/Manifest
@@ -1,3 +1,11 @@
-DIST py-tree-sitter-4f39f6919ca3be8efb420a338fd2cf9b8b68b156.tar.gz 14075 BLAKE2B b9a7a2247114c34e211f5098f04c456b25a3aee6cfde6d75bdd83427a379c5f339f1e897a3246ef7dafb2b512442bd0e7da18f391bc8283545e060dd00481421 SHA512 21629a147cda0c95a054c31223b082afa2d12491fee7a0d720187e5c390d9771c2e9b7d85fd35a56a2cf97a7addfa5332b58b3a36893aab2d7487f9522c5cddc
+DIST tree-sitter-0.20.1.gh.tar.gz 22013 BLAKE2B 961619ab28b71c4051708695f245246e9c9197987c3ce7f162c87af1cfeb2ae378301cce160c071d4df872124274c7984bcaf938c611a91f45515c44cea53e5a SHA512 d6db28fcfb0ea46840ae863a625ef1d8794015b147137e8ef1e113ea6d04e2b87a3bd44dcabe6e41a65230b8da09ce0563a5d9d5aeac30d279547a9085720da3
+DIST tree-sitter-0.21.0.gh.tar.gz 38263 BLAKE2B 27c1b52c40e94368c66e222fbc1f5e64734d7d9243e0b76d9607edebaee80211f228323db23cd83c6bc338e7d933a28be8eff13f7ee49495c282d8e9afed4bfb SHA512 f62896edebcb305d1216e540d4a10a2622228b12b1f969dd9722e2d56615f05aea4e681b6d933beaeed52ce59d36641c80c9a4a1ac79b038fb2a75e079987231
+DIST tree-sitter-0.21.3.gh.tar.gz 38504 BLAKE2B dd8ed0047763d92babbdb3fd34a6fe6b7a9299b99067600f473bf16b9754a98ada141d96f9b6b26abcb2ff178dd4ec34da547c9cdb7b3449f7b98a44ad10476e SHA512 61f3d4cb15a4106eb350be2adc6ad39de31bd5b2656f35acf2cdf828ababac37b6197d5565ee74b0b2c3a161619163bb98c38108ca3db616fee633e6e2a835a7
+DIST tree-sitter-embedded-template-6d791b897ecda59baa0689a85a9906348a2a6414.tar.gz 12420 BLAKE2B 9b9c6dd135cef4490e145657c5eeeb1fd470faee3846007638d8247daf07227029c6e7e323a0ed30c5cf6d35602be6bfb62dc1c22076fd4a0e76b161d55cca38 SHA512 7744852711cb1659607298fa373ce3ef79de3212ff55c0fb4e9aebcb715548934065ee3b5b12e9d08169a6207879e154a94c9de8bff892c32729c35d49964736
+DIST tree-sitter-html-b5d9758e22b4d3d25704b72526670759a9e4d195.tar.gz 26609 BLAKE2B 223fe82ea18bf61b2b7ec664ad68ec1f324c9e0a1c78578db6063b9037c62be2bb762a9e47d0af81f7f244889f1f72683da3751c1d1c609c4a27fdcd0dc008b8 SHA512 15fd961c18d55a20487f48ef6a6f1822f9033baba8995f2e00cf8db1750036d69e19607f578fe90676aab30a173874969c69b91605b6073eb298f32f5f24f81d
DIST tree-sitter-javascript-0.19.0.tar.gz 257637 BLAKE2B dc28bcbb003d623f5930dbf575f94f51c00eb008a77ba080f05e730fae63fb24d29c02ebb62d179a59d0f9cb8a02dbd3971440f299d952b1ec29b25bc6d21e34 SHA512 ef842787742e76d2534528ec710800df91958feaa4ba351558b5315f58a4bd85c729d088d139e15e0395726a690a97c05e03846c9176af0fd482777ae57087ed
+DIST tree-sitter-javascript-de1e682289a417354df5b4437a3e4f92e0722a0f.tar.gz 396570 BLAKE2B d80cecb070bd1c82737ee1d38fff293ac4c96fde02563ecc910d30c920b902bd5c25a7ac50585f8cb7a26203d98f4a9e6feeebd4ac0d54bede9486ff642e03be SHA512 4a509a886ebeae0d960360113aff89fb56090f1fe4bb5a7866952736a04838a8b6421cc7d19473acc48b135bca4615325c59c0f0f7f3734f23a78fff9cc2050e
+DIST tree-sitter-json-3b129203f4b72d532f58e72c5310c0a7db3b8e6d.tar.gz 15580 BLAKE2B d31b38f959fed785e8f26782e7de3da94502cd3c65de2caf4ad0621287d80e95dcc317b4f224461fa70b59f7a8ca933a235bdffbbcc1d9ca8d7cc0b31b3b2862 SHA512 90dd3e757d384d1b95cec892c5b465a0413ba61df35669fd7afc47037596c8d6b72b4f0fd9a39512ebda0d5d078ce7a408455ae11e535591e1515740cdcf9f6f
DIST tree-sitter-python-0.19.0.tar.gz 129336 BLAKE2B 8a37b0d74ab89aa56d7164bd38ac527b7b9676cafd8f53faaee3d10316f91decd30c02078b1bb785a474615ae58e6edba1b28bc3311e6ff094435e5f53d64cd6 SHA512 df7c72f988a62af0774df1b3a60c86397725aaeb1e2ffaa9b1295ab22eec09bffaf391cad20fb0d08a20914b22af430c2248c26cad179fd68c9f2b32419c0b60
+DIST tree-sitter-python-03e88c170cb23142559a406b6e7621c4af3128f5.tar.gz 272632 BLAKE2B 72f2e7f48456bad7b495605171c1c5ed3aa2790e832a4bc152ef522ee2ce210a922f7d38ad1154c58a8c621f81739071ab3404135dbb79a12ba28ca7c97ff3c7 SHA512 7ed72e6ad464935423aaca1a829c51eefd4a4b5651eeda4b7f1ed2a67ec4088f17267796872a1e1cf5666fc8a920c2b1763a9cb4cd82924ee7214e01d7fe8ab8
+DIST tree-sitter-rust-3a56481f8d13b6874a28752502a58520b9139dc7.tar.gz 419237 BLAKE2B 681b9656c872bcd15abbf11923d07df61b80b36b2972461a29f249dc53915e6d18a6dfdc65d71c863f7b38a27c8b3a47376f590d86afa44caa71f103e710fed5 SHA512 a8ce10080b984aa469d952ff8e862165676e10dc30c3d1762f7141d9fe83734aec3cb92c48552cb8f24575b538dd53fe0a80f1337f5d0d4c8767dd6bf564143e
diff --git a/dev-python/tree-sitter/files/tree-sitter-0.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.0-r1.ebuild b/dev-python/tree-sitter/tree-sitter-0.20.0-r1.ebuild
deleted file mode 100644
index 4c9281501245..000000000000
--- a/dev-python/tree-sitter/tree-sitter-0.20.0-r1.ebuild
+++ /dev/null
@@ -1,65 +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_{8..11} )
-
-inherit distutils-r1
-
-EGIT_COMMIT="4f39f6919ca3be8efb420a338fd2cf9b8b68b156"
-MY_P=py-tree-sitter-${EGIT_COMMIT}
-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/${EGIT_COMMIT}.tar.gz
- -> ${MY_P}.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}/${MY_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.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.21.0-r1.ebuild b/dev-python/tree-sitter/tree-sitter-0.21.0-r1.ebuild
new file mode 100644
index 000000000000..b703b3349a52
--- /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/tree-sitter/tree-sitter-0.21.3.ebuild b/dev-python/tree-sitter/tree-sitter-0.21.3.ebuild
new file mode 100644
index 000000000000..2a0762d99fd0
--- /dev/null
+++ b/dev-python/tree-sitter/tree-sitter-0.21.3.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+# Use the versions from the submodules under "tests/fixtures/"
+declare -A TEST_FIXTURES=(
+ ["embedded-template"]="6d791b897ecda59baa0689a85a9906348a2a6414"
+ ["html"]="b5d9758e22b4d3d25704b72526670759a9e4d195"
+ ["javascript"]="de1e682289a417354df5b4437a3e4f92e0722a0f"
+ ["json"]="3b129203f4b72d532f58e72c5310c0a7db3b8e6d"
+ ["python"]="03e88c170cb23142559a406b6e7621c4af3128f5"
+ ["rust"]="3a56481f8d13b6874a28752502a58520b9139dc7"
+)
+
+DESCRIPTION="Python bindings to the Tree-sitter parsing library"
+HOMEPAGE="
+ https://github.com/tree-sitter/py-tree-sitter/
+ https://pypi.org/project/tree-sitter/
+"
+SRC_URI="
+ https://github.com/tree-sitter/py-tree-sitter/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+SRC_URI+=" test? ("
+for fixture in "${!TEST_FIXTURES[@]}" ; do
+ SRC_URI+="
+ https://github.com/tree-sitter/tree-sitter-${fixture}/archive/${TEST_FIXTURES[${fixture}]}.tar.gz
+ -> tree-sitter-${fixture}-${TEST_FIXTURES[${fixture}]}.tar.gz
+ "
+done
+SRC_URI+=" )"
+S=${WORKDIR}/py-${P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+# setuptools is needed for distutils import
+DEPEND=">=dev-libs/tree-sitter-0.22.1:="
+RDEPEND="${DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ' 3.12)
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/tree-sitter-0.21.0-unbundle.patch
+)
+
+src_unpack() {
+ default
+ rmdir "${S}/tree_sitter/core" || die
+
+ if use test; then
+ mkdir -p "${S}/tests/fixtures" || die
+ local fixture
+ for fixture in "${!TEST_FIXTURES[@]}" ; do
+ mv -T "tree-sitter-${fixture}-${TEST_FIXTURES[${fixture}]}" "${S}/tests/fixtures/tree-sitter-${fixture}" || die
+ done
+ fi
+}
+
+src_test() {
+ rm -r tree_sitter || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/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 c2314d897ea1..000000000000
--- a/dev-python/treq/treq-22.2.0-r1.ebuild
+++ /dev/null
@@ -1,50 +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_{8..10} )
-
-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 40f4361e5ab1..fd2aa866bc06 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1,4 +1,3 @@
-DIST trimesh-3.12.7.gh.tar.gz 10756892 BLAKE2B af1f40b5de1eb60ec3241d342b3ed99fc7dc5e906c71a7669578e539d7c45ab4b037038423efb324cc462dc34a8ac1d1a8134f6b775f1965f2512acd76a8af14 SHA512 35f8039e46f55a3b2e713249d66a658ef48eb8c4a0a6e196f34933fc28052ad0a73953cc4736377bb7b79606ea08b78b132bb9d709fc50da11b2e96aa0e231e6
-DIST trimesh-3.12.8.gh.tar.gz 10758444 BLAKE2B d26fa059d4015bd8b1185665d00da619471908d60dd612a6e761a2334b4f78d21bda5bc25f469be23185964f8b068977208a4e7b41591b20f7669c8f193e926d SHA512 ea6ff5577a72dc56ce89076cdee942b41866ce7bdef1971f86ec680e0ae34fad8c7038741a4a19cb83d355891d415b5e88561ae83ae13d0fc2448c08e06b2ba8
-DIST trimesh-3.12.9.gh.tar.gz 10757706 BLAKE2B a81e01a665a2a80a6a8f5b8bfcd8eb92f4dacb0a62b63209afccde48bea4dc31e05eeef8abcd40f01844cab1c9b7fe644b322c9761257be3f6abdb1858356c88 SHA512 55f9830b7f9016dc9827f5b852e035fa36ce0dafb69618fee627395c12fe40db58ea400d8c66981a313dd9a3293d538d5a0dec1c107e9bbbe691295b1a1f5fc7
-DIST trimesh-3.13.0.gh.tar.gz 10803906 BLAKE2B aa99ecec3d108ca7a7c96183ff354f930d349e1d35f00b689cba1dfed1990d0f8f9dcf93d83bb55173280d31235766052d99ce06c64bb80ecc0bf17b5ea49da4 SHA512 db816f163faed97281dcf8d251d2d57a1b7cb7d4b90ec39d74426e87ef3b22508968cd8701accc49803c3dc73bc39f1f81554feb339a46a9a67bbff5f916f803
+DIST trimesh-4.2.4.gh.tar.gz 13554819 BLAKE2B 233f4d5404793ed1b5dc475da2dd371ca3a792239ae9ffea95ef3609a19b2701f66ad7aeb72b7b078b7a58d812ebe59b3bc12fedc6b9c34213c60378a2959d1c SHA512 3d37a429a21250a26f0a46c29c432b97158849bc0fbba7dec441bdd2453c4ef6a917483604f1c7ecb0e2415b9a270a80e36225cb951e59af1db54d20ebf60902
+DIST trimesh-4.3.1.gh.tar.gz 13596739 BLAKE2B 3d14fc70c29c70c93d4b63c6486a66eb7d059b2c6856702696e5f07668810019d98f2b0f1d964d80be9fafd702924e505762283b476a554960ea37b554031b7f SHA512 01d7bcca7c1d36488f236a45481ed0cda2b63cd4a1308b0067ba95392b2517df143e3afb93c8632ad117e2dfea12e3eec80c057f8367a465a8f26b554d29614c
+DIST trimesh-4.3.2.gh.tar.gz 13597959 BLAKE2B 538c3ecc9153bbef04fd004076277d50e1ac80e73231ae5faffadb6a810e5c6aa23953206f8a9817a16c3d104d0a38b0da07fc6f8460f2bfde0a356c760048d7 SHA512 2bf40f2290875547dabf40101004581e7287cf2a954d4c1bd0df1adbf044e72bd30d8fbbadb8db44e8bfc33049cc68a075b347eeb538f8fef5225a724a4ddc3b
diff --git a/dev-python/trimesh/trimesh-3.12.7.ebuild b/dev-python/trimesh/trimesh-3.12.7.ebuild
deleted file mode 100644
index 40922f106994..000000000000
--- a/dev-python/trimesh/trimesh-3.12.7.ebuild
+++ /dev/null
@@ -1,65 +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_{8..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[${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}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- 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.12.8.ebuild b/dev-python/trimesh/trimesh-3.12.8.ebuild
deleted file mode 100644
index 11e1a73dfac5..000000000000
--- a/dev-python/trimesh/trimesh-3.12.8.ebuild
+++ /dev/null
@@ -1,65 +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_{8..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[${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}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- 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.12.9.ebuild b/dev-python/trimesh/trimesh-3.12.9.ebuild
deleted file mode 100644
index 11e1a73dfac5..000000000000
--- a/dev-python/trimesh/trimesh-3.12.9.ebuild
+++ /dev/null
@@ -1,65 +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_{8..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[${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}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- 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.13.0.ebuild b/dev-python/trimesh/trimesh-3.13.0.ebuild
deleted file mode 100644
index 11e1a73dfac5..000000000000
--- a/dev-python/trimesh/trimesh-3.13.0.ebuild
+++ /dev/null
@@ -1,65 +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_{8..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[${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}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- 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.2.4.ebuild b/dev-python/trimesh/trimesh-4.2.4.ebuild
new file mode 100644
index 000000000000..f9d4f8b6b52e
--- /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.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/trimesh/trimesh-4.3.2.ebuild b/dev-python/trimesh/trimesh-4.3.2.ebuild
new file mode 100644
index 000000000000..de69dee532e8
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.3.2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=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-2[${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 a4fd4634294e..000000000000
--- a/dev-python/trio-asyncio/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST trio-asyncio-0.12.0.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.ebuild b/dev-python/trio-asyncio/trio-asyncio-0.12.0.ebuild
deleted file mode 100644
index 05009fc247e8..000000000000
--- a/dev-python/trio-asyncio/trio-asyncio-0.12.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-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}.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" )
-
-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 e0e21672d738..24faf192634e 100644
--- a/dev-python/trio/Manifest
+++ b/dev-python/trio/Manifest
@@ -1 +1 @@
-DIST trio-0.21.0.gh.tar.gz 491228 BLAKE2B e5f65d3aa9e4bc0c449e3986048d63fe3001a2eee96dbe5d8c088e0fce786b1d50861b47170baa7cced097938b16c92f0efd51518404a5e0ea6a17a48d656823 SHA512 383b11f264ddf4c78eb75829472826ebacf32d063790e8d4681d5df2f21c4f9287884db1752fd19976b674643adf7299816d4404e3032193ef90f522ad9cfa79
+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 3e91277b5bb8..000000000000
--- a/dev-python/trio/trio-0.21.0.ebuild
+++ /dev/null
@@ -1,66 +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_{8..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="~alpha amd64 arm arm64 hppa ~ia64 ~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.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 da224792d4c0..db183d2aec56 100644
--- a/dev-python/trove-classifiers/Manifest
+++ b/dev-python/trove-classifiers/Manifest
@@ -1,3 +1 @@
-DIST trove-classifiers-2022.6.23.gh.tar.gz 14950 BLAKE2B 7203b8edb6f8a8886371a60f3c273b02b7fe045230a3a0c89a7282a896e513535a47fe06834fd6e33b98c480695b69be524dea1402f463f3c82fc80ddf8ac320 SHA512 c2c186b5d13f626a43f29a1eff6ebf2f17f8240af554f27ffdf05b506d428dd59582e7357a85b62f94714e024ae98ea216487726526639371c24c6b46b96df4e
-DIST trove-classifiers-2022.6.26.gh.tar.gz 14966 BLAKE2B 360a8a01d710456a7edf2f56ce5ca4645e0f5e79db09087a888556e6555a15fd6f6b0aa3112bf0f6c2652759fce93e76357775ca57e53615dd99c4f1b929303d SHA512 1857d53e7731ada3ca811222bab2d0734da0e18fdf36dcada166bd15b1f397cf8575963d8432eb2d0de571646da6b0b18299af3bb7e44fb225586aa76f6de35f
-DIST trove-classifiers-2022.7.22.gh.tar.gz 14999 BLAKE2B ba6647b8ccb0a8a791d91c48094f3a748866c7f80f92b28903bd09084b7a216b2ba824657ba5f8ef8988edf242140c0b449804f58d3c1522e857670a1f01d455 SHA512 7d60a18a7ee11e21021f5ccc131e9ca28769083776898d931dd92131ea7edecd7ecad17a7a9d6d2d11e19ab8ff6a6fc2373ff9938fc26567e0f7c4a0e903d3c1
+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-2022.6.23.ebuild b/dev-python/trove-classifiers/trove-classifiers-2022.6.23.ebuild
deleted file mode 100644
index 964617661415..000000000000
--- a/dev-python/trove-classifiers/trove-classifiers-2022.6.23.ebuild
+++ /dev/null
@@ -1,34 +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=( pypy3 python3_{8..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-2022.6.26.ebuild b/dev-python/trove-classifiers/trove-classifiers-2022.6.26.ebuild
deleted file mode 100644
index 964617661415..000000000000
--- a/dev-python/trove-classifiers/trove-classifiers-2022.6.26.ebuild
+++ /dev/null
@@ -1,34 +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=( pypy3 python3_{8..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-2022.7.22.ebuild b/dev-python/trove-classifiers/trove-classifiers-2022.7.22.ebuild
deleted file mode 100644
index 964617661415..000000000000
--- a/dev-python/trove-classifiers/trove-classifiers-2022.7.22.ebuild
+++ /dev/null
@@ -1,34 +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=( pypy3 python3_{8..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.4.10.ebuild b/dev-python/trove-classifiers/trove-classifiers-2024.4.10.ebuild
new file mode 100644
index 000000000000..663cb41fa84d
--- /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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)"
+HOMEPAGE="
+ https://github.com/pypa/trove-classifiers/
+ https://pypi.org/project/trove-classifiers/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease hatchling bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "trove-classifiers"
+ version = "${PV}"
+ description = "Canonical source for classifiers on PyPI (pypi.org)."
+ EOF
+}
+
+python_test() {
+ epytest
+ "${EPYTHON}" -m tests.lib || die
+}
diff --git a/dev-python/trustme/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 b7b847259831..000000000000
--- a/dev-python/trustme/trustme-0.9.0-r1.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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..7475de894309
--- /dev/null
+++ b/dev-python/truststore/Manifest
@@ -0,0 +1,2 @@
+DIST truststore-0.9.0.gh.tar.gz 26618 BLAKE2B f3d26a863e2810f620bc565eb819f8c113d9746f30869d2d7c1310f317b846f97525d7437fcf511ffaa28b622112604426f4e02655cbe5af1096b0c19dd39ece SHA512 b0af8bb3688c387c521b722c84ce7b5660238d7919eca76dd60f3dfe3bd6484c6e005125975b326eae2824a96120693536f8047980feae4c3aaed443870705ea
+DIST truststore-0.9.1.gh.tar.gz 26720 BLAKE2B e5bf3905367f75cdfd9314f1c544f004e62c2ddcde97f83bfe5ddc2d7606d44df5fc352811c8c42423be2da46e5f7b9642a2aeebe61436669c4cd9265ddbec96 SHA512 38567198a3b0d4e9c0b3df72674f3e1fef0614ef0afa80bd7276f98c2e7ef2dc00cca92184b80a1dfe535c5d2508ebdb775e389576c2f07536838f67de1958ca
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.9.0.ebuild b/dev-python/truststore/truststore-0.9.0.ebuild
new file mode 100644
index 000000000000..6f5193f91dbe
--- /dev/null
+++ b/dev-python/truststore/truststore-0.9.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..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"
+# The vast majority of tests require Internet access.
+PROPERTIES="test_network"
+RESTRICT="test"
+
+BDEPEND="
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p pytest_httpserver
+}
diff --git a/dev-python/truststore/truststore-0.9.1.ebuild b/dev-python/truststore/truststore-0.9.1.ebuild
new file mode 100644
index 000000000000..6f5193f91dbe
--- /dev/null
+++ b/dev-python/truststore/truststore-0.9.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..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"
+# The vast majority of tests require Internet access.
+PROPERTIES="test_network"
+RESTRICT="test"
+
+BDEPEND="
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p pytest_httpserver
+}
diff --git a/dev-python/tubes/metadata.xml b/dev-python/tubes/metadata.xml
index 4bcfb56ec8d9..321dc3ed8589 100644
--- a/dev-python/tubes/metadata.xml
+++ b/dev-python/tubes/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>dolsen@gentoo.org</email>
- <name>Brian Dolbec</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/tubes/tubes-0.2.1.ebuild b/dev-python/tubes/tubes-0.2.1.ebuild
index 94bae2b54e46..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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/tvdb_api/Manifest b/dev-python/tvdb_api/Manifest
deleted file mode 100644
index 601d5f13ce3a..000000000000
--- a/dev-python/tvdb_api/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tvdb_api-3.0.2.tar.gz 20436 BLAKE2B d9df5f1e2e8dd26486ec5aa2fa542534e43e08ce9c19ae8f8e48a05b3167db856ccb7765bb7d7acb4adcf7a53f5deff299f69123d60c3495ec1cc4d849d3e0b5 SHA512 b6c3c04eb300f2a371f50ef0331ca1ae602c7ccda2a0d8ad52f5c89fac5cf4dff77ce11d0dc774aa2a8dc1e02798a4432262cbaafea9239693c300931213107c
diff --git a/dev-python/tvdb_api/metadata.xml b/dev-python/tvdb_api/metadata.xml
deleted file mode 100644
index 0573aff57f62..000000000000
--- a/dev-python/tvdb_api/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">dbr/tvdb_api</remote-id>
- <remote-id type="pypi">tvdb-api</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/tvdb_api/tvdb_api-3.0.2.ebuild b/dev-python/tvdb_api/tvdb_api-3.0.2.ebuild
deleted file mode 100644
index 4432098ac2ae..000000000000
--- a/dev-python/tvdb_api/tvdb_api-3.0.2.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python interface to thetvdb.com API"
-HOMEPAGE="https://github.com/dbr/tvdb_api"
-SRC_URI="mirror://pypi/t/${PN}/${P}.tar.gz"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="dev-python/requests[${PYTHON_USEDEP}]
- dev-python/requests-cache[${PYTHON_USEDEP}]"
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 48368b47ba02..000000000000
--- a/dev-python/tweedledum/tweedledum-1.1.1-r1.ebuild
+++ /dev/null
@@ -1,46 +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_{8..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 7c0989baf461..86a36bb60287 100644
--- a/dev-python/twine/Manifest
+++ b/dev-python/twine/Manifest
@@ -1 +1 @@
-DIST twine-4.0.1.gh.tar.gz 214569 BLAKE2B 82c1793718cfd7d81d9745d16dfe21f59fdfd8b157840ff29629f8b7b86c1e36281f1ed9ba613ec0048c8eef8a2c80d2b9b160893ed953b06c9bfb027f5299e0 SHA512 0b5d24c56731239400b6713e0e52d1cfdb399a84e886b02ea4b59e7af69cc1578e03bf442cca4b2ea5f400995955d27c8d9d3cc17a6ea59013bdaaf6ac63a567
+DIST twine-5.0.0.gh.tar.gz 218873 BLAKE2B 0f4f92d3ee9ae0f154c68cbc165ce014cbd5c34d88f8067c5f9ab4b6cfd3fc9d435f9c1ada6911af2f711bef3c5607fdfd969ad454c06e3a9bbce4f23ebc2a07 SHA512 a1701844df03f0ca0e4b15eeae97e1a1a5788f13f04bbd5b084a9dc6637c2404aefc354705c974edd53b2f09517e088f5857cb211ed45ed7dbcedecb0f6392d5
diff --git a/dev-python/twine/twine-4.0.1.ebuild b/dev-python/twine/twine-4.0.1.ebuild
deleted file mode 100644
index b56ab48ee848..000000000000
--- a/dev-python/twine/twine-4.0.1.ebuild
+++ /dev/null
@@ -1,78 +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_{8..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 a09e09f8b963..437756ad44fa 100644
--- a/dev-python/twisted/Manifest
+++ b/dev-python/twisted/Manifest
@@ -1,2 +1,2 @@
-DIST twisted-22.4.0.tar.gz 3896724 BLAKE2B 830a724156473a28394e6c731f6cec184c491410dc880bc2e37a99cb460c7fe040219463f224941532b12478abe953aa0228c70676e5baecda4a3b2bdd6a0a32 SHA512 776d36040bcefb9ca65e471d9058fe1067ffc8171a501cb451e9d4824a88dd83f79dc9b27a127ca898451587454ee661000acbce6c4c39b069aeadd64710f103
+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/files/twisted-22.4.0-py311.patch b/dev-python/twisted/files/twisted-22.4.0-py311.patch
deleted file mode 100644
index ed8ded87d4de..000000000000
--- a/dev-python/twisted/files/twisted-22.4.0-py311.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 074fc742a699278ea5266b34aace1e34049b3de3 Mon Sep 17 00:00:00 2001
-From: Colin Watson <cjwatson@canonical.com>
-Date: Sat, 23 Apr 2022 22:29:07 +0100
-Subject: [PATCH] Implement twisted.python.failure._Code.co_positions
-
-This is needed for compatibility with Python 3.11.
----
- src/twisted/newsfragments/10336.bugfix | 1 +
- src/twisted/python/failure.py | 5 ++++-
- src/twisted/test/test_failure.py | 1 +
- 3 files changed, 6 insertions(+), 1 deletion(-)
- create mode 100644 src/twisted/newsfragments/10336.bugfix
-
-diff --git a/src/twisted/newsfragments/10336.bugfix b/src/twisted/newsfragments/10336.bugfix
-new file mode 100644
-index 00000000000..a7ffab3627d
---- /dev/null
-+++ b/src/twisted/newsfragments/10336.bugfix
-@@ -0,0 +1 @@
-+Implement twisted.python.failure._Code.co_positions for compatibility with Python 3.11.
-diff --git a/src/twisted/python/failure.py b/src/twisted/python/failure.py
-index 6471e7bca59..c5a359e405b 100644
---- a/src/twisted/python/failure.py
-+++ b/src/twisted/python/failure.py
-@@ -130,7 +130,7 @@ def _Traceback(stackFrames, tbFrames):
-
-
- # The set of attributes for _TracebackFrame, _Frame and _Code were taken from
--# https://docs.python.org/3.10/library/inspect.html Other Pythons may have a
-+# https://docs.python.org/3.11/library/inspect.html Other Pythons may have a
- # few more attributes that should be added if needed.
- class _TracebackFrame:
- """
-@@ -202,6 +202,9 @@ def __init__(self, name, filename):
- self.co_nlocals = 0
- self.co_stacksize = 0
-
-+ def co_positions(self):
-+ return ((None, None, None, None),)
-+
-
- _inlineCallbacksExtraneous = []
-
-diff --git a/src/twisted/test/test_failure.py b/src/twisted/test/test_failure.py
-index 6dd7c682bf9..6fd82c868ec 100644
---- a/src/twisted/test/test_failure.py
-+++ b/src/twisted/test/test_failure.py
-@@ -825,6 +825,7 @@ def test_fakeCodeAttributes(self):
- self.assertIsInstance(code.co_nlocals, int)
- self.assertIsInstance(code.co_stacksize, int)
- self.assertIsInstance(code.co_varnames, list)
-+ self.assertIsInstance(code.co_positions(), tuple)
-
- def test_fakeTracebackFrame(self):
- """
diff --git a/dev-python/twisted/metadata.xml b/dev-python/twisted/metadata.xml
index 1b215147691e..5fb905aee3f7 100644
--- a/dev-python/twisted/metadata.xml
+++ b/dev-python/twisted/metadata.xml
@@ -6,15 +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.4.0-r2.ebuild b/dev-python/twisted/twisted-22.4.0-r2.ebuild
deleted file mode 100644
index 5acedaa99e6a..000000000000
--- a/dev-python/twisted/twisted-22.4.0-r2.ebuild
+++ /dev/null
@@ -1,168 +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_{8..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
- 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.3.0[${PYTHON_USEDEP}]
- >=dev-python/constantly-15.1.0[${PYTHON_USEDEP}]
- >=dev-python/hyperlink-17.1.1[${PYTHON_USEDEP}]
- >=dev-python/incremental-21.3.0[${PYTHON_USEDEP}]
- >=dev-python/pyhamcrest-1.9.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[${PYTHON_USEDEP}]
- >=dev-python/cryptography-1.5.0[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- )
- http2? (
- >=dev-python/h2-3.0.0[${PYTHON_USEDEP}]
- <dev-python/h2-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/priority-1.1.0[${PYTHON_USEDEP}]
- <dev-python/priority-2.0[${PYTHON_USEDEP}]
- )
- serial? ( >=dev-python/pyserial-3.0[${PYTHON_USEDEP}] )
- ssl? (
- >=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
- dev-python/service_identity[${PYTHON_USEDEP}]
- >=dev-python/idna-0.6[${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[${PYTHON_USEDEP}]
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- dev-python/pyserial[${PYTHON_USEDEP}]
- net-misc/openssh
- conch? (
- dev-python/bcrypt[${PYTHON_USEDEP}]
- >=dev-python/cryptography-1.5.0[${PYTHON_USEDEP}]
- )
- ssl? (
- >=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
- dev-python/service_identity[${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"
- # https://github.com/twisted/twisted/pull/1723
- "${FILESDIR}/${P}-py311.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-24.3.0.ebuild b/dev-python/twisted/twisted-24.3.0.ebuild
new file mode 100644
index 000000000000..2d913b858d7d
--- /dev/null
+++ b/dev-python/twisted/twisted-24.3.0.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="An asynchronous networking framework written in Python"
+HOMEPAGE="
+ https://twisted.org/
+ https://github.com/twisted/twisted/
+ https://pypi.org/project/Twisted/
+"
+SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+IUSE="conch http2 serial ssl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/automat-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/constantly-15.1[${PYTHON_USEDEP}]
+ >=dev-python/hyperlink-17.1.1[${PYTHON_USEDEP}]
+ >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-5[${PYTHON_USEDEP}]
+ conch? (
+ >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-3.3[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ )
+ http2? (
+ <dev-python/h2-5.0[${PYTHON_USEDEP}]
+ >=dev-python/h2-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/priority-2.0[${PYTHON_USEDEP}]
+ >=dev-python/priority-1.1.0[${PYTHON_USEDEP}]
+ )
+ serial? (
+ >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
+ )
+ ssl? (
+ >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
+ >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.4[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/constantly-15.1.0[${PYTHON_USEDEP}]
+ <dev-python/cython-test-exception-raiser-2[${PYTHON_USEDEP}]
+ >=dev-python/cython-test-exception-raiser-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.4[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.56[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ >=dev-python/pyhamcrest-2[${PYTHON_USEDEP}]
+ >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
+ virtual/openssh
+ ssl? (
+ >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
+ >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
+ )
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+python_prepare_all() {
+ # upstream test for making releases; not very useful and requires
+ # sphinx (including on py2)
+ rm src/twisted/python/test/test_release.py || die
+
+ # multicast tests fail within network-sandbox
+ sed -e 's:test_joinLeave:_&:' \
+ -e 's:test_loopback:_&:' \
+ -e 's:test_multiListen:_&:' \
+ -e 's:test_multicast:_&:' \
+ -i src/twisted/test/test_udp.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ # the test suite handles missing file & failing ioctl()s gracefully
+ # but not permission errors from sandbox
+ addwrite /dev/net/tun
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON} (xfail)"
+ return
+ fi
+
+ # breaks some tests by overriding empty environment
+ local -x SANDBOX_ON=0
+ "${EPYTHON}" -m twisted.trial twisted ||
+ die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # own the dropin.cache so we don't leave orphans
+ > "${D}$(python_get_sitedir)"/twisted/plugins/dropin.cache || die
+
+ python_doscript "${WORKDIR}"/twisted-regen-cache
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newconfd "${FILESDIR}/twistd.conf" twistd
+ newinitd "${FILESDIR}/twistd.init" twistd
+}
+
+python_postinst() {
+ twisted-regen-cache || die
+}
+
+pkg_postinst() {
+ if [[ -z ${ROOT} ]]; then
+ python_foreach_impl python_postinst
+ fi
+}
+
+python_postrm() {
+ rm -f "${ROOT}$(python_get_sitedir)/twisted/plugins/dropin.cache" || die
+}
+
+pkg_postrm() {
+ # if we're removing the last version, remove the cache file
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ python_foreach_impl python_postrm
+ fi
+}
diff --git a/dev-python/twython/twython-3.9.1-r1.ebuild b/dev-python/twython/twython-3.9.1-r1.ebuild
index cf9ff0e450af..25d43535088f 100644
--- a/dev-python/twython/twython-3.9.1-r1.ebuild
+++ b/dev-python/twython/twython-3.9.1-r1.ebuild
@@ -1,22 +1,26 @@
-# 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_{8..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 ~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
new file mode 100644
index 000000000000..2f98f787eaed
--- /dev/null
+++ b/dev-python/txAMQP/txAMQP-0.8.2-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1
+
+MY_P="${PN,,}-${PV}"
+
+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}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/twisted[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ net-misc/rabbitmq-server
+ )
+"
+
+python_test() {
+ cd src || die
+ # tests look for those files relatively to modules
+ cp -r specs "${BUILD_DIR}"/lib || die
+
+ TXAMQP_BROKER=RABBITMQ "${EPYTHON}" -m twisted.trial txamqp
+ local ret=${?}
+
+ [[ ${ret} == 0 ]] || die "Tests failed with ${EPYTHON}"
+}
+
+src_test() {
+ einfo "Starting rabbitmq"
+ local -x RABBITMQ_LOG_BASE="${T}/rabbitmq/log"
+ local -x RABBITMQ_MNESIA_BASE="${T}/rabbitmq/mnesia"
+ local -x RABBITMQ_LOGS="${T}/rabbitmq.log"
+ local -x RABBITMQ_PID_FILE="${T}/rabbitmq.pid"
+ local -x RABBITMQ_ENABLED_PLUGINS_FILE="${T}/rabbitmq/enabled_plugins"
+ /usr/libexec/rabbitmq/rabbitmq-server -p 5672:5672 &
+
+ einfo "Waiting for rabbitmq to fully load"
+ while ! { echo >/dev/tcp/localhost/5672 ; } &> /dev/null; do
+ sleep 1
+ done
+ einfo "rabbitmq is ready"
+
+ distutils-r1_src_test
+
+ einfo "Stopping rabbitmq"
+ kill "$(<"${RABBITMQ_PID_FILE}")" || die
+}
+
+python_install_all() {
+ local DOCS=( doc/* )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/txAMQP/txAMQP-0.8.2.ebuild b/dev-python/txAMQP/txAMQP-0.8.2.ebuild
deleted file mode 100644
index b5cd02193b9a..000000000000
--- a/dev-python/txAMQP/txAMQP-0.8.2.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1
-
-MY_P="${PN,,}-${PV}"
-
-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"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/twisted[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- net-misc/rabbitmq-server
- )"
-
-python_test() {
- cd src || die
- # tests look for those files relatively to modules
- cp -r specs "${BUILD_DIR}"/lib || die
-
- TXAMQP_BROKER=RABBITMQ "${EPYTHON}" -m twisted.trial txamqp
- local ret=${?}
-
- # avoid installing spec files
- rm -r "${BUILD_DIR}"/lib/specs || die
-
- [[ ${ret} == 0 ]] || die "Tests failed with ${EPYTHON}"
-}
-
-src_test() {
- einfo "Starting rabbitmq"
- local -x RABBITMQ_LOG_BASE="${T}/rabbitmq/log"
- local -x RABBITMQ_MNESIA_BASE="${T}/rabbitmq/mnesia"
- local -x RABBITMQ_LOGS="${T}/rabbitmq.log"
- local -x RABBITMQ_PID_FILE="${T}/rabbitmq.pid"
- local -x RABBITMQ_ENABLED_PLUGINS_FILE="${T}/rabbitmq/enabled_plugins"
- /usr/libexec/rabbitmq/rabbitmq-server -p 5672:5672 &
-
- einfo "Waiting for rabbitmq to fully load"
- while ! { echo >/dev/tcp/localhost/5672 ; } &> /dev/null; do
- sleep 1
- done
- einfo "rabbitmq is ready"
-
- distutils-r1_src_test
-
- einfo "Stopping rabbitmq"
- kill "$(<"${RABBITMQ_PID_FILE}")" || die
-}
-
-python_install_all() {
- local DOCS=( doc/* )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/txaio/Manifest b/dev-python/txaio/Manifest
index 1b6fde8f7c16..459f42edc441 100644
--- a/dev-python/txaio/Manifest
+++ b/dev-python/txaio/Manifest
@@ -1 +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 9b967afe9b6f..000000000000
--- a/dev-python/txaio/txaio-22.2.1.ebuild
+++ /dev/null
@@ -1,44 +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_{8..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
new file mode 100644
index 000000000000..babec5abf80d
--- /dev/null
+++ b/dev-python/txaio/txaio-23.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} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Compatibility API between asyncio/Twisted/Trollius"
+HOMEPAGE="
+ https://github.com/crossbario/txaio/
+ https://pypi.org/project/txaio/
+"
+
+LICENSE="MIT"
+SLOT="0"
+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'
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # we certainly don't need to test "python setup.py sdist" here
+ test/test_packaging.py
+)
+
+pkg_postinst() {
+ optfeature "Twisted support" "dev-python/twisted dev-python/zope-interface"
+}
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
new file mode 100644
index 000000000000..76b501b28431
--- /dev/null
+++ b/dev-python/txrequests/txrequests-0.9.6-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Asynchronous Python HTTP for Humans"
+HOMEPAGE="
+ https://github.com/tardyp/txrequests/
+ https://pypi.org/project/txrequests/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
+IUSE="test"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/requests-1.2.0[${PYTHON_USEDEP}]
+ dev-python/twisted[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ )
+"
+
+python_test() {
+ "${EPYTHON}" -m twisted.trial test_txrequests ||
+ die "Tests failed for ${EPYTHON}"
+}
diff --git a/dev-python/txrequests/txrequests-0.9.6.ebuild b/dev-python/txrequests/txrequests-0.9.6.ebuild
deleted file mode 100644
index 9abf1545119f..000000000000
--- a/dev-python/txrequests/txrequests-0.9.6.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Asynchronous Python HTTP for Humans"
-HOMEPAGE="https://github.com/tardyp/txrequests"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/requests-1.2.0[${PYTHON_USEDEP}]
- dev-python/twisted[${PYTHON_USEDEP}]
-"
-BDEPEND="test? ( ${RDEPEND} )"
-
-python_test() {
- "${EPYTHON}" -m twisted.trial txrequests || die "Tests failed with ${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/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.ebuild b/dev-python/typed-ast/typed-ast-1.4.3.ebuild
deleted file mode 100644
index a1ffc97a501f..000000000000
--- a/dev-python/typed-ast/typed-ast-1.4.3.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_{7..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"
-
-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 5a955d69ddbc..000000000000
--- a/dev-python/typed-ast/typed-ast-1.5.4.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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..362123c96f82 100644
--- a/dev-python/typeguard/Manifest
+++ b/dev-python/typeguard/Manifest
@@ -1 +1 @@
-DIST typeguard-2.13.3.gh.tar.gz 37436 BLAKE2B a3cb616692119c64a9dc0d0bae25cc661b7974a0b6cf6632fa403f7c5430873570b1aaa310bc03843deee6f77a831c303ea9d9091db596eb565fce43980bbb13 SHA512 26c31ee9670650d1969320187a924d29d986894a38f1026af58f705b132b64be3b6e2ac34729f966f5d302d486334b5a5d9e65fb206245b82b0ff0852020b609
+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 d7652e57ad9f..000000000000
--- a/dev-python/typeguard/typeguard-2.13.3-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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 ~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.2.1.ebuild b/dev-python/typeguard/typeguard-4.2.1.ebuild
new file mode 100644
index 000000000000..e1bccd27bc50
--- /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
new file mode 100644
index 000000000000..755cf04c82a1
--- /dev/null
+++ b/dev-python/types-docutils/Manifest
@@ -0,0 +1,2 @@
+DIST types-docutils-0.20.0.20240406.tar.gz 19423 BLAKE2B 13292676e4f46ebd273962eae09961f7f7ab86168ff49b5372ecbf3ef0c13a95857bc65b22447016779f608b92e76e9310e746394e68e174a3d98a5f7003d442 SHA512 94a742e151e66497e96b761279913c741f4e79194a37def496cd71930803668ab5c96c76eab584cbeb491a3750ba0a45727894d24a123fd01f3bb72cbc36a8a8
+DIST types-docutils-0.21.0.20240423.tar.gz 19468 BLAKE2B a1fda020a7390ae7a95a46ec484697ecc7f18331607e6c85b0d0d9ecaea6fcc3ce8763a6d800e6ce232ddb4cb3633272eaa9ea607c0eb9a85fff4e1be48c64dc SHA512 e7e596ffb26d50730d00204ff8bd4474ef109b9d755aaa2dd473cf96e1baf477961cc6073a66e136fe363546b25ed0e306aee86959ebb95243b44bd9993dae44
diff --git a/dev-python/types-docutils/metadata.xml b/dev-python/types-docutils/metadata.xml
new file mode 100644
index 000000000000..5036710827d7
--- /dev/null
+++ b/dev-python/types-docutils/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>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">types-docutils</remote-id>
+ </upstream>
+</pkgmetadata>
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-docutils/types-docutils-0.21.0.20240423.ebuild b/dev-python/types-docutils/types-docutils-0.21.0.20240423.ebuild
new file mode 100644
index 000000000000..cb335ec2836f
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.21.0.20240423.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
new file mode 100644
index 000000000000..0fef35f89316
--- /dev/null
+++ b/dev-python/types-gdb/Manifest
@@ -0,0 +1,2 @@
+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/metadata.xml b/dev-python/types-gdb/metadata.xml
new file mode 100644
index 000000000000..e93a81ca28c5
--- /dev/null
+++ b/dev-python/types-gdb/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>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">types-gdb</remote-id>
+ </upstream>
+</pkgmetadata>
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-psutil/Manifest b/dev-python/types-psutil/Manifest
new file mode 100644
index 000000000000..a05a6a48771a
--- /dev/null
+++ b/dev-python/types-psutil/Manifest
@@ -0,0 +1 @@
+DIST types-psutil-5.9.5.20240423.tar.gz 14582 BLAKE2B 64922d5e12a0f2e9fb5de8dc519c234c4b60372f618393ffe8da21215cf9ce41d0dcd233a44d77c4b3ad852eb7dfb996e58784908a7e44e169bac5541413d038 SHA512 52e895fb82e3221d0dae945afed0091421df65131ed7d9705a58ed90246ed2c884737d2cfda17a70e2fc7bfab3f6d37bd1f0015c6b04218b41bf2a621585c144
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.20240423.ebuild b/dev-python/types-psutil/types-psutil-5.9.5.20240423.ebuild
new file mode 100644
index 000000000000..2f3b385784e8
--- /dev/null
+++ b/dev-python/types-psutil/types-psutil-5.9.5.20240423.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..a8b4087284fa
--- /dev/null
+++ b/dev-python/types-setuptools/Manifest
@@ -0,0 +1 @@
+DIST types-setuptools-69.5.0.20240423.tar.gz 37608 BLAKE2B 8a5b9ece3318ac9646c5a8e5961e6fbc05fddb4a5e96cc2d0d96f11b317b2ec1da1f4fb8624348e0cc307cc7781895f9d016eac3f07f37351a3211f77a2de1a0 SHA512 2134c4c31bddd6c8f5722f171054dda21abdb13d743fb94fc280fc185b521b24e889be9f61c21e83a5d881c9ca40ffb7b60d49a3abb63f30c51793ed2b32b56f
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.5.0.20240423.ebuild b/dev-python/types-setuptools/types-setuptools-69.5.0.20240423.ebuild
new file mode 100644
index 000000000000..4ac1e9e449a5
--- /dev/null
+++ b/dev-python/types-setuptools/types-setuptools-69.5.0.20240423.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 e1d65a2521ef..d42f1eba9247 100644
--- a/dev-python/typing-extensions/Manifest
+++ b/dev-python/typing-extensions/Manifest
@@ -1 +1 @@
-DIST typing_extensions-4.3.0.gh.tar.gz 47842 BLAKE2B 23a600dcded95a1109da46537bab49a6a478c77334d7c9effe65564bf236371c413a07220df3fa1de1bd0451e90961df908e097e7c7cb6d2534102369ce2590e SHA512 3c4a9073dc89e71b8027d535853d35725163961f7feeaba817e28f93b236bcae805d9b1f6e2be8e9fc3651c283b662935ba0352e5de25ff74df4dc18373e8f7a
+DIST typing_extensions-4.11.0.tar.gz 78744 BLAKE2B 641d4a13fcd10151a0b7059d11393c78974883710a860805dc132a148677c80a0be06dc32f66cffc4ae2dd838c607bdaa8d3f44e4e3cf55848d2a315bd74ce5a SHA512 d795fadbe9c0a24c4d3190f375d72576f5b42a14dc3a999127c1356f2ae77d4bffdc04a23b7a05331cc8b703a81f504328aaf5d6c1247ea24cbeed25dccb0a37
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..2b2ddff925ca
--- /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 00720a9bd39e..000000000000
--- a/dev-python/typing-extensions/typing-extensions-4.3.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..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/typogrify/typogrify-2.0.7-r1.ebuild b/dev-python/typogrify/typogrify-2.0.7-r1.ebuild
index 523c52bbe2fc..6766eb073754 100644
--- a/dev-python/typogrify/typogrify-2.0.7-r1.ebuild
+++ b/dev-python/typogrify/typogrify-2.0.7-r1.ebuild
@@ -1,23 +1,22 @@
-# Copyright 2021-2022 Gentoo Authors
+# 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_{8..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 ~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 24e6796390c5..000000000000
--- a/dev-python/tzlocal/tzlocal-4.2.ebuild
+++ /dev/null
@@ -1,37 +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_{8..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 b5c610e840e1..d2047dd3ecf5 100644
--- a/dev-python/u-msgpack-python/Manifest
+++ b/dev-python/u-msgpack-python/Manifest
@@ -1 +1 @@
-DIST u-msgpack-python-2.7.1.tar.gz 20631 BLAKE2B 10008f0653f969f1f5655c894be5b2497d692bf7ebf6d50de221695cab9c3a973c0870a8162efe6b61f2d9d4fb062c4130c07cddff8d64d6258d7d832efe4021 SHA512 0825b9edee28db2c954c9c0d64987a4640f11af52570c1ad834882a5fcd2e3a76eab3524cc3bb639cacfaf9eef27bf0a75656b4d02bca42b2d35b708348691d6
+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.1-r1.ebuild b/dev-python/u-msgpack-python/u-msgpack-python-2.7.1-r1.ebuild
deleted file mode 100644
index a979a5962182..000000000000
--- a/dev-python/u-msgpack-python/u-msgpack-python-2.7.1-r1.ebuild
+++ /dev/null
@@ -1,22 +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_{8..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..576445cf9b5d
--- /dev/null
+++ b/dev-python/u-msgpack-python/u-msgpack-python-2.8.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
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} 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 ac37b98b535b..e0e6bfde97e7 100644
--- a/dev-python/ubelt/Manifest
+++ b/dev-python/ubelt/Manifest
@@ -1,4 +1,2 @@
-DIST ubelt-1.1.1.gh.tar.gz 263082 BLAKE2B c146cfa7084b1d04d5a16443e5f8bdd4858992c2de1ff68a28c0febc74728da6320f45661cea69f88530a2fb88ca421cfc103f7f9f6ff420cf65152cbd61576d SHA512 d4d77013920563f3b2e5f47365624a4a794d84047eeb2eccaf2888f8d574c38b047393e550399e0d7ea7df373dabd40acce05ac56db4f0099da8f2a39113fc5c
-DIST ubelt-1.1.2.gh.tar.gz 267530 BLAKE2B c00c0b9d548b324090c012a0b1786c7011e9a3ccbdf055e5db39597fe8b695c785f0499a0f089c63c61ea7da76cd6cd802122d0f0e2f77aef4c08568331a6be6 SHA512 e2e77b1736870a010a3256cef2d4071294fdb525c0c6ad8d4665cc85b05148b7381e66f06c2ff74d1ae3588d78daaa71fb8a1907ae1585edb3ff9f2c9fb62b59
-DIST ubelt-1.2.0.gh.tar.gz 290425 BLAKE2B f4bae0580dc70461082e906892dbe7bc635bbb3ce9f4cf82ec101deb7ac5b23633232ebb6fe579258c9b0add00fd9fc08d01312c140ae3fca431c646945f0d67 SHA512 4009a3de269140340dcdc70cf150ec55576a10506942195261b4420bb471d00a11771bae5366b72f901c89f74843a281a2b147e9b565c2d256f1a0fdcc2c665d
-DIST ubelt-1.2.1.gh.tar.gz 294026 BLAKE2B 7c1050a1107ebbc833c19adeb6c53377842634b8f7a861825d637d578ad7e1a5cab4410c9b07913c3a29fe9eb1f84bc61694269ce86b02cef5170eed4c3e5dd5 SHA512 6ac74a09a00693d8f4091952e1c7ec06646c48b0d8cf3affe7154e20c708ceb95ba9e113c4f10fa73fb971e6d932e3aea04b1aa7d2c9d446f1de5269f91cafa0
+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.1.1.ebuild b/dev-python/ubelt/ubelt-1.1.1.ebuild
deleted file mode 100644
index 04c09d5462ff..000000000000
--- a/dev-python/ubelt/ubelt-1.1.1.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=( python3_{8..10} )
-
-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/xdoctest[${PYTHON_USEDEP}]
- >=dev-python/xxhash-1.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # relies on passwd home being equal to ${HOME}
- ubelt/util_path.py::userhome:0
-)
diff --git a/dev-python/ubelt/ubelt-1.1.2.ebuild b/dev-python/ubelt/ubelt-1.1.2.ebuild
deleted file mode 100644
index 04c09d5462ff..000000000000
--- a/dev-python/ubelt/ubelt-1.1.2.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=( python3_{8..10} )
-
-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/xdoctest[${PYTHON_USEDEP}]
- >=dev-python/xxhash-1.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # relies on passwd home being equal to ${HOME}
- ubelt/util_path.py::userhome:0
-)
diff --git a/dev-python/ubelt/ubelt-1.2.0.ebuild b/dev-python/ubelt/ubelt-1.2.0.ebuild
deleted file mode 100644
index 222d3a32f9b1..000000000000
--- a/dev-python/ubelt/ubelt-1.2.0.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-
-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=(
- # relies on passwd home being equal to ${HOME}
- ubelt/util_path.py::userhome:0
-)
diff --git a/dev-python/ubelt/ubelt-1.2.1.ebuild b/dev-python/ubelt/ubelt-1.2.1.ebuild
deleted file mode 100644
index 222d3a32f9b1..000000000000
--- a/dev-python/ubelt/ubelt-1.2.1.ebuild
+++ /dev/null
@@ -1,41 +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_{8..10} )
-
-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=(
- # 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
new file mode 100644
index 000000000000..645eaf91b9b8
--- /dev/null
+++ b/dev-python/uc-micro-py/Manifest
@@ -0,0 +1 @@
+DIST uc-micro-py-1.0.3.tar.gz 6043 BLAKE2B 9d5b4d111d83b2385bb5abcce962d3c8b4a2b4a6e731dfde56aa1e88d02af5c177fbb4f59f475e87f8d863933132fe34b183754f74839acb7a6d1da6aeb2d340 SHA512 6f69c84718e16f5bdac08787f728801bcb95591d984f58044e3914b08a5a9c41885d1106ad8f53afd82940b18e638ed285ccf57d1725582a0c160d7b1e0f265f
diff --git a/dev-python/uc-micro-py/metadata.xml b/dev-python/uc-micro-py/metadata.xml
new file mode 100644
index 000000000000..c91cb5f9f4b7
--- /dev/null
+++ b/dev-python/uc-micro-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="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">tsutsu3/uc.micro-py</remote-id>
+ <remote-id type="pypi">uc-micro-py</remote-id>
+ </upstream>
+</pkgmetadata>
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 ad33a9313ddb..019bd3f62f6f 100644
--- a/dev-python/ujson/Manifest
+++ b/dev-python/ujson/Manifest
@@ -1 +1 @@
-DIST ujson-5.4.0.tar.gz 7139576 BLAKE2B d3bd6bcc4dc733cafc47e613e2dc503e8cf7faf562d2fad91ea66b1a62dd4a8d67a2c80c392eba0c224f382280e58ff3fff51308c22862aaae5e671b5183027c SHA512 9622e872391d5467455b32e324d7b680487664ca486bfc56ba8c3969853e5db94725cd45e81b535dca80af4a3c718af171ce7adb6dcb9b98a37a8068824f89c6
+DIST ujson-5.9.0.tar.gz 7154214 BLAKE2B a13eda1c967b8ad39265caf28f97ef302a0b320653cde3ac927dc8119861aa468cfe267980c18b71172f5b766b2e6bc61bb86f18695528934902867ae3a42d37 SHA512 9940bc0c892341a6d2b85cfe592888866f02f054f1367812c39395eaee946f7c66a0197b2791bbb765ae38a06dcd871145effefbc06c71a87f7d24be105cda1f
diff --git a/dev-python/ujson/ujson-5.4.0.ebuild b/dev-python/ujson/ujson-5.4.0.ebuild
deleted file mode 100644
index 4b3de22aa5d0..000000000000
--- a/dev-python/ujson/ujson-5.4.0.ebuild
+++ /dev/null
@@ -1,41 +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_{8..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="/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 f01ec2986b4c..dedeabf17c98 100644
--- a/dev-python/ukkonen/ukkonen-1.0.1-r1.ebuild
+++ b/dev-python/ukkonen/ukkonen-1.0.1-r1.ebuild
@@ -1,29 +1,36 @@
-# Copyright 2021-2022 Gentoo Authors
+# 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_{8..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..35deb1c4913c 100644
--- a/dev-python/unasync/Manifest
+++ b/dev-python/unasync/Manifest
@@ -1 +1,2 @@
-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
+DIST unasync-0.6.0.gh.tar.gz 18124 BLAKE2B 80e7e2ef2be10c9d1f5b0e1dd8316f4d8ab4c051f902442adb0f52cf6c78fa3432e6bdf58a42243e31b9daf43f7a3db8afbfe968c4d9128b6bc7a6e30d09cfbf SHA512 1092df25ac6fbd7517ed2157c0bf7a993342806bcc2a7bbed474d9a7659cf1116cd147a4494877f19a35b741ed7d81389daef1533c5a96ad109005c10363cac2
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 82deb0746798..000000000000
--- a/dev-python/unasync/unasync-0.5.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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/unasync/unasync-0.6.0-r1.ebuild b/dev-python/unasync/unasync-0.6.0-r1.ebuild
new file mode 100644
index 000000000000..91eebfdb534d
--- /dev/null
+++ b/dev-python/unasync/unasync-0.6.0-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+distutils_enable_sphinx docs/source \
+ dev-python/sphinxcontrib-trio \
+ dev-python/sphinx-rtd-theme
+
+distutils_enable_tests pytest
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/tokenize-rt[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/uncertainties/Manifest b/dev-python/uncertainties/Manifest
index aa347a6caa00..ef3ca04a07c5 100644
--- a/dev-python/uncertainties/Manifest
+++ b/dev-python/uncertainties/Manifest
@@ -1,2 +1 @@
-DIST uncertainties-3.1.6.tar.gz 158419 BLAKE2B 09582936a9b982efeee6cf3c99de568ebc820940ca2bfa1e4fd10edbcbd9447e7711158f8b98567a506d6c5a9ecf63b6e21d296c7f8d8dcbbaf4c2fb6a571355 SHA512 8835ed851d00bbe830770e57bc89ce57acf291e6cef2fca59897adb75e1e2de456da3631f73242ade20f567358b1d727b2b7f5df02e2f3e0cd8d861e81a6a211
DIST uncertainties-3.1.7.tar.gz 158727 BLAKE2B d68b74d291b1f6c4505a47f6fa19653eade43dc1ccaf78e02bd320df92d8bdaeac1b0808a21dceb046a6e2acd076836728b4014d39ca8da17647582320ce50e8 SHA512 24576415265df22459d83bb28e632195e6760204a6e11523821afe25222ea3e035bf7f10c552ec456bb2cdf42a09e296865f9bf0d13ff44beb88c11ebc479ff9
diff --git a/dev-python/uncertainties/metadata.xml b/dev-python/uncertainties/metadata.xml
index 7c343d7bf1e7..86cdd1f286cc 100644
--- a/dev-python/uncertainties/metadata.xml
+++ b/dev-python/uncertainties/metadata.xml
@@ -21,6 +21,7 @@
are what is predicted by error propagation theory.
</longdescription>
<upstream>
+ <remote-id type="github">lebigot/uncertainties</remote-id>
<remote-id type="pypi">uncertainties</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/uncertainties/uncertainties-3.1.6.ebuild b/dev-python/uncertainties/uncertainties-3.1.6.ebuild
deleted file mode 100644
index c7a176fb8e25..000000000000
--- a/dev-python/uncertainties/uncertainties-3.1.6.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python module for calculations with uncertainties"
-HOMEPAGE="https://pythonhosted.org/uncertainties/"
-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/future[${PYTHON_USEDEP}]"
-BDEPEND="${RDEPEND}
- test? ( dev-python/numpy[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests nose
-distutils_enable_sphinx doc --no-autodoc
-
-pkg_postinst() {
- optfeature "numpy support" dev-python/numpy
-}
diff --git a/dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild b/dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild
new file mode 100644
index 000000000000..5c1abc030534
--- /dev/null
+++ b/dev-python/uncertainties/uncertainties-3.1.7-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_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python module for calculations with uncertainties"
+HOMEPAGE="
+ https://pythonhosted.org/uncertainties/
+ https://github.com/lebigot/uncertainties/
+ https://pypi.org/project/uncertainties/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc --no-autodoc
+
+src_prepare() {
+ # not used in py3, see https://github.com/lebigot/uncertainties/pull/168
+ sed -i -e '/future/d' setup.py || die
+ distutils-r1_src_prepare
+}
+
+pkg_postinst() {
+ optfeature "numpy support" dev-python/numpy
+}
diff --git a/dev-python/uncertainties/uncertainties-3.1.7.ebuild b/dev-python/uncertainties/uncertainties-3.1.7.ebuild
deleted file mode 100644
index 6a0cd2fa7e53..000000000000
--- a/dev-python/uncertainties/uncertainties-3.1.7.ebuild
+++ /dev/null
@@ -1,28 +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_{8..10} )
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python module for calculations with uncertainties"
-HOMEPAGE="https://pythonhosted.org/uncertainties/"
-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/future[${PYTHON_USEDEP}]"
-BDEPEND="${RDEPEND}
- test? ( dev-python/numpy[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests nose
-distutils_enable_sphinx doc --no-autodoc
-
-pkg_postinst() {
- optfeature "numpy support" dev-python/numpy
-}
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 eafec87e347b..70cd22a2d40b 100644
--- a/dev-python/unidecode/Manifest
+++ b/dev-python/unidecode/Manifest
@@ -1 +1 @@
-DIST Unidecode-1.3.4.tar.gz 192346 BLAKE2B 34edea805896022fa42f47929a55ba01850475cb49431c4c50329caa2f198455704224320887ac7dcad5fba3517ab42cafc8ade726e785be0d0141814a5ad455 SHA512 bdbf482abd0d93ea8d891b95aea9f95cca6f85dbe71cd2bef4664216b3aa1d672c2f4ecf3b8bf356cdb1d8e4a1141c296728498473d9d0067d9774d0a7de8d48
+DIST Unidecode-1.3.8.tar.gz 192701 BLAKE2B 622b61b89d83070101626775187a666b830399bc86c67367b0793b6626667dc8f4655372c7bc8b61f2433ac927ec7572e5beb104407784dd2f8e20ced9ecf981 SHA512 0c93647b05b3ce041ba0091705630a4d75dfc249b3aa57b1d8bd26d26f1a067af1d0103a0f57ee2ea07224797ce204562e08df92d0fe60e250a16614bf146ece
diff --git a/dev-python/unidecode/unidecode-1.3.4.ebuild b/dev-python/unidecode/unidecode-1.3.4.ebuild
deleted file mode 100644
index d30a1472394b..000000000000
--- a/dev-python/unidecode/unidecode-1.3.4.ebuild
+++ /dev/null
@@ -1,21 +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_{8..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 320ea2cc930e..35e73a1877aa 100644
--- a/dev-python/unidiff/Manifest
+++ b/dev-python/unidiff/Manifest
@@ -1,2 +1 @@
-DIST python-unidiff-0.7.4.gh.tar.gz 17582 BLAKE2B 9b674d5b1bc434464c5b7b08b4b6527e1394633abcc6211b9f459fde545fef1c6418ad84dbe9cf7a3a308deeb2221749f50f25458306046f2930d0fcc3af9526 SHA512 b8e1d8165efcc5788707432c3c3236d97ec86ae577ff3dd7ec405809dbaef3153a835572844f7ef2a4d5d2c9b60dee586717e4cf0acf4db8049ab7c5af178a07
-DIST unidiff-0.7.3.tar.gz 19897 BLAKE2B bc29b912855955de08fdbc186bdf9edf63a0a622262f36a54160f2c61e6604a40d093d43261101864c209e4d2cd5c1db0e48d0dd76174b02a71f89199e00e31d SHA512 451bc765532329c0963961afd15e061e3bcbd85a16cb799310ae0fd34b534f6222514ed4825f90c5ae9ea1b3b0e11a8e169b7991ba9ed82c33325ccb3b10a3b0
+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.3.ebuild b/dev-python/unidiff/unidiff-0.7.3.ebuild
deleted file mode 100644
index 66c1699a2b3e..000000000000
--- a/dev-python/unidiff/unidiff-0.7.3.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Unified diff parsing/metadata extraction library"
-HOMEPAGE="https://github.com/matiasb/python-unidiff
- https://pypi.org/project/unidiff/"
-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/unidiff/unidiff-0.7.4.ebuild b/dev-python/unidiff/unidiff-0.7.4.ebuild
deleted file mode 100644
index a7d91e8e1903..000000000000
--- a/dev-python/unidiff/unidiff-0.7.4.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-# 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 ae7bc4f3882d..8f8948d08f8f 100644
--- a/dev-python/unittest-mixins/unittest-mixins-1.6-r2.ebuild
+++ b/dev-python/unittest-mixins/unittest-mixins-1.6-r2.ebuild
@@ -1,26 +1,23 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} 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 8bd236e3b5a0..e71959e95147 100644
--- a/dev-python/unittest-or-fail/unittest-or-fail-2.ebuild
+++ b/dev-python/unittest-or-fail/unittest-or-fail-2.ebuild
@@ -1,27 +1,34 @@
-# Copyright 2021-2022 Gentoo Authors
+# 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_{8..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 9b1cf451b586..970beb6c7428 100644
--- a/dev-python/unpaddedbase64/metadata.xml
+++ b/dev-python/unpaddedbase64/metadata.xml
@@ -1,14 +1,11 @@
<?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>
<remote-id type="github">matrix-org/python-unpaddedbase64</remote-id>
diff --git a/dev-python/unpaddedbase64/unpaddedbase64-2.1.0.ebuild b/dev-python/unpaddedbase64/unpaddedbase64-2.1.0.ebuild
index 0d8d7d1ec803..82c95b8c2fb9 100644
--- a/dev-python/unpaddedbase64/unpaddedbase64-2.1.0.ebuild
+++ b/dev-python/unpaddedbase64/unpaddedbase64-2.1.0.ebuild
@@ -1,17 +1,17 @@
-# 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
DESCRIPTION="Unpadded Base64"
HOMEPAGE="
- https://github.com/matrix-org/python-unpaddedbase64
- https://pypi.python.org/pypi/unpaddedbase64
+ https://github.com/matrix-org/python-unpaddedbase64/
+ https://pypi.org/project/unpaddedbase64/
"
SRC_URI="https://github.com/matrix-org/python-unpaddedbase64/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
@@ -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 5eb51b75d48f..1c3dee1ddc2d 100644
--- a/dev-python/untangle/untangle-1.2.1-r1.ebuild
+++ b/dev-python/untangle/untangle-1.2.1-r1.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=poetry
-PYTHON_COMPAT=( python3_{8..11} )
+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 ~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/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 24acdf4ea25e..000000000000
--- a/dev-python/uranium/uranium-4.13.0-r1.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2022 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_{8..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/urdf_parser_py/Manifest b/dev-python/urdf_parser_py/Manifest
deleted file mode 100644
index 18961602c39d..000000000000
--- a/dev-python/urdf_parser_py/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST urdf_parser_py-0.4.5.tar.gz 21512 BLAKE2B aa50f24c35c7919707c89770cb1b60b3d97d1c54e2a613e0fc272b15b023626c0b9ac4b7d7f26ed73859c97e9550d8c0ad32ce8d3804dae0dbbf2877fdfdf1f9 SHA512 d288a26bc776283ea8644c51ed5da14a28b619200269ef7719e894fc4d284ed12eb1932db79083aaf0349219770d5b75b7f4bf6ad2bef21ddaf8089f8263b0b7
diff --git a/dev-python/urdf_parser_py/metadata.xml b/dev-python/urdf_parser_py/metadata.xml
deleted file mode 100644
index 4b5118c6f4d7..000000000000
--- a/dev-python/urdf_parser_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>ros@gentoo.org</email>
- <name>Gentoo ROS Project</name>
- </maintainer>
- <upstream>
- <remote-id type="github">ros/urdf_parser_py</remote-id>
- <remote-id type="pypi">urdf-parser-py</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/urdf_parser_py/urdf_parser_py-0.4.5.ebuild b/dev-python/urdf_parser_py/urdf_parser_py-0.4.5.ebuild
deleted file mode 100644
index 7d12842e3722..000000000000
--- a/dev-python/urdf_parser_py/urdf_parser_py-0.4.5.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="URDF parser for Python"
-HOMEPAGE="https://wiki.ros.org/urdfdom_py"
-SRC_URI="https://github.com/ros/urdf_parser_py/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm"
-
-RDEPEND="
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/catkin_pkg[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests nose
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
new file mode 100644
index 000000000000..c8c34f38db6f
--- /dev/null
+++ b/dev-python/uri-template/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">uri-template</remote-id>
+ </upstream>
+ <stabilize-allarches/>
+</pkgmetadata>
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/metadata.xml b/dev-python/uri_template/metadata.xml
deleted file mode 100644
index efd1dd6075af..000000000000
--- a/dev-python/uri_template/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>gentoo@chymera.eu</email>
- <name>Horea Christian</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">uri-template</remote-id>
- </upstream>
- <stabilize-allarches/>
-</pkgmetadata>
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 6338f0309acd..000000000000
--- a/dev-python/uri_template/uri_template-1.2.0-r1.ebuild
+++ /dev/null
@@ -1,34 +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=( pypy3 python3_{8..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 0057169782fc..cce88877edfb 100644
--- a/dev-python/uritemplate/uritemplate-4.1.1.ebuild
+++ b/dev-python/uritemplate/uritemplate-4.1.1.ebuild
@@ -1,12 +1,12 @@
-# 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_{8..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 d2096e37231e..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
@@ -1,25 +1,30 @@
-# Copyright 2021-2022 Gentoo Authors
+# 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_{8..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 bf5bbc2a7c6a..000000000000
--- a/dev-python/urlgrabber/urlgrabber-4.1.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 8762e265c4c1..9c5d5de51cb8 100644
--- a/dev-python/urllib3/Manifest
+++ b/dev-python/urllib3/Manifest
@@ -1,2 +1,4 @@
-DIST urllib3-1.26.10.tar.gz 297854 BLAKE2B 2523bc197ed9720e2bd011ffa46a46605cab902d66b245cb5229e15e90ac5bac990851d6cb9b6aa2dd5682da2639af7cd8e3c8c27f1210e5ca0c7c10498babd3 SHA512 76c1cc9420c267986c7775a9d9eadfd08e980643c2da16602f755e11a274ffbbf1813f30245fb0d84ee3a99bb3aa33b98893f285cabec8dd4aee1304420cb15b
-DIST urllib3-1.26.11.tar.gz 299255 BLAKE2B bf4d5f0b9f8a95c825b9f8fd963a1dc46688123641c3198812dedc11155f445f75ca321e3e283b649bc30cda8de497d0fb88298d6ad41660d91b8843121e50a2 SHA512 d2cc0f57469b640147f2087e2844a7c2c45e5a374ad0f28c1639d9a38ff6d6760f65b9b3187409cee29782d854468a1e4bc1b20d96e010fdd1fd4213bf1cd924
+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.10.ebuild b/dev-python/urllib3/urllib3-1.26.10.ebuild
deleted file mode 100644
index 9f87338afe5a..000000000000
--- a/dev-python/urllib3/urllib3-1.26.10.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2022 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_{8..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/trustme-0.5.3[\${PYTHON_USEDEP}]
- >=www-servers/tornado-4.2.1[\${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.11.ebuild b/dev-python/urllib3/urllib3-1.26.11.ebuild
deleted file mode 100644
index 47fa4076e5a4..000000000000
--- a/dev-python/urllib3/urllib3-1.26.11.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2022 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_{8..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/trustme-0.5.3[\${PYTHON_USEDEP}]
- >=www-servers/tornado-4.2.1[\${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..a3d77c9a3762 100644
--- a/dev-python/urwid/Manifest
+++ b/dev-python/urwid/Manifest
@@ -1 +1 @@
-DIST urwid-2.1.2.tar.gz 634621 BLAKE2B ce274820c27708fd0b10f22359923316576b895f6888c9b174b42dedcd551353b6c3ba797c68d61a082ecf23b8f0108a58454bdb44806e33b74d9e6e5bd28537 SHA512 f102bdde5f5d39d4bce455020bbe4f18290589da0750a3b15b1e2bc8acf8a405f02295d7efa3009877801a36bfbfade92ec963086122e9b133db137d816a1ea5
+DIST urwid-2.6.11.tar.gz 847254 BLAKE2B af0f23f404bc926c378b14a124b5c9504ea282048acd943221ca85f69b86cc8435df7cffc0ed632b3a2067504aca528e560454855acf129518cf69535242a6a6 SHA512 351185673a4ed506a55e2142c0a65150987ac4b6c1176e10c497df6f69c9f4acdabb15ec45564554b9a720387eaa725854fbe4adc4d288ef519b754b17b2fb33
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 d0f82d7ae433..000000000000
--- a/dev-python/urwid/urwid-2.1.2-r1.ebuild
+++ /dev/null
@@ -1,48 +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_{8..10} )
-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="amd64 ~arm ~arm64 ~ia64 ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="examples"
-
-distutils_enable_sphinx docs
-distutils_enable_tests setup.py
-
-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.11.ebuild b/dev-python/urwid/urwid-2.6.11.ebuild
new file mode 100644
index 000000000000..e2bd2964e777
--- /dev/null
+++ b/dev-python/urwid/urwid-2.6.11.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 c84ed068d42c..000000000000
--- a/dev-python/urwid_readline/urwid_readline-0.13.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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 06c265e656c3..e5e022dee514 100644
--- a/dev-python/urwidtrees/Manifest
+++ b/dev-python/urwidtrees/Manifest
@@ -1 +1 @@
-DIST urwidtrees-1.0.3.tar.gz 292930 BLAKE2B 91487debf4878fb58cf2505366a4762a4c755b53eaac86e3ac912d2972c66442828e152749f34e73ade10fd1b912054e4047900e0b54b960629909c1b03e2270 SHA512 f7d69d359ba24345a694659fd9432335679f4b505a5c0e33baf9fc0c068935148c393aff8e11cd5f2c12aa26884aa37ba86e9b3a763472e382d73dd57fd32cd6
+DIST urwidtrees-1.0.3.gh.tar.gz 292930 BLAKE2B 91487debf4878fb58cf2505366a4762a4c755b53eaac86e3ac912d2972c66442828e152749f34e73ade10fd1b912054e4047900e0b54b960629909c1b03e2270 SHA512 f7d69d359ba24345a694659fd9432335679f4b505a5c0e33baf9fc0c068935148c393aff8e11cd5f2c12aa26884aa37ba86e9b3a763472e382d73dd57fd32cd6
diff --git a/dev-python/urwidtrees/urwidtrees-1.0.3-r2.ebuild b/dev-python/urwidtrees/urwidtrees-1.0.3-r2.ebuild
new file mode 100644
index 000000000000..7d46fa388d5a
--- /dev/null
+++ b/dev-python/urwidtrees/urwidtrees-1.0.3-r2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Tree widgets for urwid"
+HOMEPAGE="https://github.com/pazz/urwidtrees"
+SRC_URI="
+ https://github.com/pazz/urwidtrees/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND=">=dev-python/urwid-1.1.0[${PYTHON_USEDEP}]"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-no-mock-dep.patch #770391
+)
+
+distutils_enable_sphinx docs/source
+
+src_prepare() {
+ find -name '*.py' -exec \
+ sed -i -e '1i# -*- coding: utf-8 -*-' {} + || die
+
+ distutils-r1_src_prepare
+
+ local md
+ for md in *.md; do
+ mv "${md}" "${md%.md}" || die
+ done
+}
diff --git a/dev-python/urwidtrees/urwidtrees-1.0.3.ebuild b/dev-python/urwidtrees/urwidtrees-1.0.3.ebuild
deleted file mode 100644
index ce3d82ea9796..000000000000
--- a/dev-python/urwidtrees/urwidtrees-1.0.3.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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
new file mode 100644
index 000000000000..8d2e6d919e55
--- /dev/null
+++ b/dev-python/userpath/Manifest
@@ -0,0 +1,2 @@
+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/metadata.xml b/dev-python/userpath/metadata.xml
new file mode 100644
index 000000000000..2829383089f0
--- /dev/null
+++ b/dev-python/userpath/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">ofek/userpath</remote-id>
+ <remote-id type="pypi">userpath</remote-id>
+ </upstream>
+</pkgmetadata>
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 d6764c451d75..6e5cdc5e78e6 100644
--- a/dev-python/utidylib/Manifest
+++ b/dev-python/utidylib/Manifest
@@ -1 +1 @@
-DIST utidylib-0.8.gh.tar.gz 15285 BLAKE2B 85f0ec1a969f31cb952e326a5bce5f51d9a5bacdf33d7e703cc3a464621df86f568921a9dd17755be67d49c02631782cdabb4112ee7cf8e321079656bb362122 SHA512 cb9c868337e1bbfa80ac36ca1b3f85c4e35f62acb67dbd321167d568da17d9e562fdca6b777d88c08e03107401fbadc7cdebf243654bcde9825259117e36392f
+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.8.ebuild b/dev-python/utidylib/utidylib-0.8.ebuild
deleted file mode 100644
index fe3261dc7a97..000000000000
--- a/dev-python/utidylib/utidylib-0.8.ebuild
+++ /dev/null
@@ -1,36 +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_{8..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..85cc09a055e4
--- /dev/null
+++ b/dev-python/uv/Manifest
@@ -0,0 +1,14 @@
+DIST pubgrub-0e684a874c9fb8f74738cd8875524c80e3d4820b.gh.tar.gz 86899 BLAKE2B 51b8753a092deda12a35b501f34c16e800f2ed2c4c47b64622c752bcf8a52dd1fb9dc1ee69cd107b5b6ee48003c8ef804e20f7eed975a6e63615b94648e37890 SHA512 15e404590fb3b21b01fac318df9cbf81f598dc0506d6d5738ff566a5eb1075e6d7a096a8ad1567e27982662aac0ce2a889a0039ce5736ff140fa617ae8b3cb08
+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.38-crates.tar.xz 65881140 BLAKE2B c1a640c44d73d5607c8d07468cefc66c150135b0f0249362148bd2b8f8c99a43c9031a642c0f76140631177df947be7637b49e99e247afbd7efbebb2ad79bcb1 SHA512 99bf6f341f9e6cf8eb0834c436b81453615725cabd3ddc4cca34edb307200bdbb71e913e8ff52a2a1d11e5f1a4abfb4dbdfe40a9c4f114079a7d9fdace0bcaab
+DIST uv-0.1.38.gh.tar.gz 1023332 BLAKE2B e62259084fc9122d311bbcac754796b9e0ac28f4865755e03729eb6ad5adab4f9e3f77c41af1dbdbdc3a55d5a4736875aa26ddc7b78b745c8d6fb4d6b8bbd959 SHA512 7dad22d038aad03ad72ee0c5fdb77ccfbf56fc94a38613373a037eb26c2f228bc6c883d542621b45f2a55c8d51b7345fdd919dc1db45aa4d598e368311c72fdd
+DIST uv-0.1.39.gh.tar.gz 1026174 BLAKE2B 857e3f3dd81fae33244bbae5b7e124886ee8c57576f57e5264fb11b89fcb842e18ec07756e70204dc28be0e02ac0368c238d69ae5b1c0a95ab07416a6cf1ccff SHA512 6454fde2eb5166c2097fb44c4b8f505d27344a4a63589589de402887a57c8e1aeed5d52c7e892530d16de9d4a187b6b423f70550016d3c233cec8300b81a8b34
+DIST uv-0.1.41-crates.tar.xz 65965588 BLAKE2B 350a4e9e5d3a41682844d7f5e2824f262ef78dab7329723b65c1605c064601d0680c89d194e0228597043d66ae4fd70eb3b20433a42c29668af284c75044d281 SHA512 60f99aee7ee8660565bb3d44694e7eb897599a5b6f11fc6af771b00ee66911a8f0d9117ad61c152e56fc40137edd9f5cc0d1726c9158544adbc8c9b52dbe4384
+DIST uv-0.1.41.gh.tar.gz 1069659 BLAKE2B 9caa7c282fa9626510c9f736dfd1796d2e33238378dad1de2c468f745e914b75d7346ecf8ee6d4a87de82b86b3fee5260d95bf0c526c14b96bce44bc983e5758 SHA512 ea8a2b0cd15f3276404c2b8e00ec700346bc2839e3dc7806e537f94bd600818e479fbe3928e1047436382a7caa3d0792fef5f83cfc243ed42018e58a1bee1e6f
+DIST uv-0.1.42-crates.tar.xz 65954692 BLAKE2B ae5b41ebee15530577623f7592ddc1c08c74c47f145ed5521ecea154558d3b5eff4c8f8af1d2d058719c59d87d00ae86d1bda8e3146349bc7a8f5344dfd40a01 SHA512 a5fd91054debc1d08b5270f3a39ae8fe5ca15bcc62e1c3412fb9566c40c3d8387ecbfd24d8b4f3db12199dfec7ddc175a638e7854efbb8c44cb1dbbe97d2b57c
+DIST uv-0.1.42.gh.tar.gz 1077448 BLAKE2B 84c4e5f6e35ac9a50ff3b1ba7b9cdd415a8e4dc2c153aec4a116892b2c567f91ddb67cd32937c2ed867bbfef26c13b3b75c17bc7728334c8db1c58f550d4e735 SHA512 e0451614d8a7f016f382a2c9eaee03cb015fa8c552258bbaa7329e7802b1013878bc16134e0232262fa588bbc724857fb1818e61cb2b948c333aba295ee6c4b8
diff --git a/dev-python/uv/files/tokio-tar-0.3.1-ppc.patch b/dev-python/uv/files/tokio-tar-0.3.1-ppc.patch
new file mode 100644
index 000000000000..cb3c2f93cf57
--- /dev/null
+++ b/dev-python/uv/files/tokio-tar-0.3.1-ppc.patch
@@ -0,0 +1,35 @@
+diff --git a/src/archive.rs b/src/archive.rs
+index 63f4293..986a146 100644
+--- a/src/archive.rs
++++ b/src/archive.rs
+@@ -3,12 +3,13 @@ use std::{
+ collections::VecDeque,
+ path::Path,
+ pin::Pin,
+- sync::{
+- atomic::{AtomicU64, Ordering},
+- Arc,
+- },
++ sync::Arc,
+ task::{Context, Poll},
+ };
++use portable_atomic::{
++ AtomicU64,
++ Ordering,
++};
+ use tokio::{
+ io::{self, AsyncRead as Read, AsyncReadExt},
+ sync::Mutex,
+diff -dup a/Cargo.toml b/Cargo.toml
+--- a/Cargo.toml 2024-04-27 10:39:21.186708179 +0200
++++ b/Cargo.toml 2024-04-27 10:39:37.940402613 +0200
+@@ -43,6 +43,9 @@ version = "0.2"
+ [dependencies.futures-core]
+ version = "0.3"
+
++[dependencies.portable-atomic]
++version = "1"
++
+ [dependencies.tokio]
+ version = "1"
+ features = [
diff --git a/dev-python/uv/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/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.38.ebuild b/dev-python/uv/uv-0.1.38.ebuild
new file mode 100644
index 000000000000..7bfc616ced7f
--- /dev/null
+++ b/dev-python/uv/uv-0.1.38.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 ~ppc ~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() {
+ default
+
+ # https://github.com/vorot93/tokio-tar/pull/23
+ # (fortunately uv already depends on portable-atomic, so we don't
+ # have to fight Cargo.lock)
+ cd "${WORKDIR}/cargo_home/gentoo/tokio-tar-0.3.1" || die
+ eapply "${FILESDIR}/tokio-tar-0.3.1-ppc.patch"
+}
+
+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.39.ebuild b/dev-python/uv/uv-0.1.39.ebuild
new file mode 100644
index 000000000000..43beac99bbb1
--- /dev/null
+++ b/dev-python/uv/uv-0.1.39.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
+
+CRATE_P=${PN}-0.1.38
+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/${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 ~loong ~ppc ~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() {
+ default
+
+ # https://github.com/vorot93/tokio-tar/pull/23
+ # (fortunately uv already depends on portable-atomic, so we don't
+ # have to fight Cargo.lock)
+ cd "${WORKDIR}/cargo_home/gentoo/tokio-tar-0.3.1" || die
+ eapply "${FILESDIR}/tokio-tar-0.3.1-ppc.patch"
+}
+
+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.41.ebuild b/dev-python/uv/uv-0.1.41.ebuild
new file mode 100644
index 000000000000..9fc32bfd4abf
--- /dev/null
+++ b/dev-python/uv/uv-0.1.41.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
+
+CRATE_P=${P}
+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/${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 ~loong ~ppc ~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() {
+ default
+
+ # https://github.com/vorot93/tokio-tar/pull/23
+ # (fortunately uv already depends on portable-atomic, so we don't
+ # have to fight Cargo.lock)
+ cd "${WORKDIR}/cargo_home/gentoo/tokio-tar-0.3.1" || die
+ eapply "${FILESDIR}/tokio-tar-0.3.1-ppc.patch"
+}
+
+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.42.ebuild b/dev-python/uv/uv-0.1.42.ebuild
new file mode 100644
index 000000000000..9f1c8df44f4a
--- /dev/null
+++ b/dev-python/uv/uv-0.1.42.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;0e684a874c9fb8f74738cd8875524c80e3d4820b;pubgrub-%commit%'
+)
+
+inherit cargo check-reqs
+
+CRATE_P=${P}
+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/${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 ~loong ~ppc ~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() {
+ default
+
+ # https://github.com/vorot93/tokio-tar/pull/23
+ # (fortunately uv already depends on portable-atomic, so we don't
+ # have to fight Cargo.lock)
+ cd "${WORKDIR}/cargo_home/gentoo/tokio-tar-0.3.1" || die
+ eapply "${FILESDIR}/tokio-tar-0.3.1-ppc.patch"
+}
+
+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 eb0404a6fdf5..036951a88147 100644
--- a/dev-python/uvicorn/Manifest
+++ b/dev-python/uvicorn/Manifest
@@ -1,2 +1 @@
-DIST uvicorn-0.17.6.tar.gz 708048 BLAKE2B 83b06907c8109b38e13930d8b73584682fa4e34fe7e51fe14b6ca1ddc7ef8122d950a09e31cb364a02f5f12eead5d0522b41cbf428509c6900604d4e2776dfb2 SHA512 d5c5223759d59648f279e22f7e6af728fe8117ed75488d125c1db3e5e9d385a50d574cff72ac46db4eb0a78d0e4f690096cfe78c774674dfba61860e55b7494e
-DIST uvicorn-0.18.2.gh.tar.gz 712706 BLAKE2B d8d300579d945a5c2f51b7746b93cd64710c103cd0b7694ce858ec0f4e9dc09f89e9663529dd84c13c9f6334d0f4543cc9442e94aedf8dbddd72a6a0394ba370 SHA512 d2e05198cd833efbe7dddffc30f9a52be3168192269cd493816df8a7d4053e312f534988ee09c5270d63f52dfa48d0b105862c9e05acad41ebf3a40e5fa1aa76
+DIST uvicorn-0.29.0.gh.tar.gz 719202 BLAKE2B 15a1e9d001e00805d9efe89c1b46416f6556d944ec5a32fb31c8368d4c0e1e32155169e9b5754c7d56a3ee86a1b7edddcf0d9a641abf74fdb89c1332ebd289af SHA512 bb37940acc2eba2a649d07ba44890400332e5ad873ac03c6740c1bc730068ede39c2e6d9aefb0f100ec261d7ed2eef1596c99a060fd8000cff874b25bdbbbdfa
diff --git a/dev-python/uvicorn/uvicorn-0.17.6.ebuild b/dev-python/uvicorn/uvicorn-0.17.6.ebuild
deleted file mode 100644
index f69e2acde09d..000000000000
--- a/dev-python/uvicorn/uvicorn-0.17.6.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Lightning-fast ASGI server implementation"
-HOMEPAGE="https://www.uvicorn.org/"
-SRC_URI="https://github.com/encode/${PN}/archive/${PV}.tar.gz -> ${P}.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/watchgod[${PYTHON_USEDEP}]
- dev-python/wsproto[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-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
-)
diff --git a/dev-python/uvicorn/uvicorn-0.18.2.ebuild b/dev-python/uvicorn/uvicorn-0.18.2.ebuild
deleted file mode 100644
index 8176b7865f0f..000000000000
--- a/dev-python/uvicorn/uvicorn-0.18.2.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{8..11} )
-
-inherit distutils-r1 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.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 0a77f108a5fa..6e0b45805324 100644
--- a/dev-python/uvloop/Manifest
+++ b/dev-python/uvloop/Manifest
@@ -1,2 +1,2 @@
-DIST uvloop-0.15.3.tar.gz 2094066 BLAKE2B 77ae4634ee31211dba13f41aede4480d70271e042a30a1268e9ad18f5de2b296b84931fb6b2022d2351f33521a84264f74cbc30caa5ff84b0f429bc9f1d426a0 SHA512 5687371a13509bdac0ef7a5ca0f7c78b54d0d9225cbf68cebc6d4fdf3807c2e3346579f5440eb0ff6578088780cc5efb09fba114da0bc0e60ad3f607d9df652f
-DIST uvloop-0.16.0.tar.gz 2129067 BLAKE2B 8a5a5c760b1036428483d2cf1f509784aa61cb69388720775c9555bdb0ce19341cb58fc051ab6f92066a3478acf729513dafafd79f31115b064bf1d3660479de SHA512 dd6dcec38f7f94dc0cf0123302fd6fe404428196b452a80a8258a207654e3f67e210233be3d649668c22b48390232d0347706b1d87fb50016287142c742b806d
+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/files/uvloop-0.15.3-uint64-thread-id.patch b/dev-python/uvloop/files/uvloop-0.15.3-uint64-thread-id.patch
deleted file mode 100644
index a74fedd308e9..000000000000
--- a/dev-python/uvloop/files/uvloop-0.15.3-uint64-thread-id.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 732df28f0739d84c687d3e6d81995dafa18ac775 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 28 Jul 2021 09:21:00 +0200
-Subject: [PATCH] Revert 32-bit thread ID hack
-
-Apparently the hack used to fix 32-bit platforms actually breaks 64-bit
-platforms using large thread IDs (e.g. sparc).
-
-Reverts: b5b4abb16ba558cf957cf40120dfd4937c53aea5
----
- uvloop/includes/stdlib.pxi | 2 +-
- uvloop/loop.pyx | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/uvloop/includes/stdlib.pxi b/uvloop/includes/stdlib.pxi
-index adf9806..21d69e6 100644
---- a/uvloop/includes/stdlib.pxi
-+++ b/uvloop/includes/stdlib.pxi
-@@ -135,7 +135,7 @@ cdef int ssl_SSL_ERROR_WANT_READ = ssl.SSL_ERROR_WANT_READ
- cdef int ssl_SSL_ERROR_WANT_WRITE = ssl.SSL_ERROR_WANT_WRITE
- cdef int ssl_SSL_ERROR_SYSCALL = ssl.SSL_ERROR_SYSCALL
-
--cdef uint64_t MAIN_THREAD_ID = <uint64_t><int64_t>threading.main_thread().ident
-+cdef uint64_t MAIN_THREAD_ID = <uint64_t>threading.main_thread().ident
- cdef threading_Thread = threading.Thread
-
- cdef int subprocess_PIPE = subprocess.PIPE
-diff --git a/uvloop/loop.pyx b/uvloop/loop.pyx
-index d9b5aaa..96c9cde 100644
---- a/uvloop/loop.pyx
-+++ b/uvloop/loop.pyx
-@@ -707,7 +707,7 @@ cdef class Loop:
- return
-
- cdef uint64_t thread_id
-- thread_id = <uint64_t><int64_t>PyThread_get_thread_ident()
-+ thread_id = <uint64_t>PyThread_get_thread_ident()
-
- if thread_id != self._thread_id:
- raise RuntimeError(
---
-2.32.0
-
diff --git a/dev-python/uvloop/uvloop-0.15.3-r1.ebuild b/dev-python/uvloop/uvloop-0.15.3-r1.ebuild
deleted file mode 100644
index c52b01da9204..000000000000
--- a/dev-python/uvloop/uvloop-0.15.3-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_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Ultra-fast implementation of asyncio event loop on top of libuv"
-HOMEPAGE="https://github.com/magicstack/uvloop"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-KEYWORDS="amd64 arm arm64 ppc ppc64 -riscv sparc"
-LICENSE="MIT"
-SLOT="0"
-IUSE="doc examples"
-
-RDEPEND=">=dev-libs/libuv-1.11.0:="
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- doc? (
- >=dev-python/alabaster-0.6.2[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- )
- test? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests setup.py
-
-PATCHES=(
- "${FILESDIR}"/${P}-uint64-thread-id.patch
-)
-
-python_prepare_all() {
- cat <<-EOF >> setup.cfg || die
- [build_ext]
- use_system_libuv=1
- EOF
-
- # flake8 only
- rm tests/test_sourcecode.py || die
- # TODO: broken by cythonize
- rm tests/test_cython.py || die
- # force cythonization
- rm uvloop/loop.c || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
- use doc && esetup.py build_ext --inplace build_sphinx
-}
-
-python_install_all() {
- use examples && dodoc -r examples
- use doc && local HTML_DOCS=( "${BUILD_DIR}/sphinx/html/." )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/uvloop/uvloop-0.15.3.ebuild b/dev-python/uvloop/uvloop-0.15.3.ebuild
deleted file mode 100644
index 53214c0c6779..000000000000
--- a/dev-python/uvloop/uvloop-0.15.3.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Ultra-fast implementation of asyncio event loop on top of libuv"
-HOMEPAGE="https://github.com/magicstack/uvloop"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 -riscv x86"
-LICENSE="MIT"
-SLOT="0"
-IUSE="doc examples"
-
-RDEPEND=">=dev-libs/libuv-1.11.0:="
-DEPEND="${RDEPEND}"
-BDEPEND="
- doc? (
- >=dev-python/alabaster-0.6.2[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- )
- test? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests setup.py
-
-python_prepare_all() {
- cat <<-EOF >> setup.cfg || die
- [build_ext]
- use_system_libuv=1
- EOF
-
- # flake8 only
- rm tests/test_sourcecode.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
- use doc && esetup.py build_ext --inplace build_sphinx
-}
-
-python_install_all() {
- use examples && dodoc -r examples
- use doc && local HTML_DOCS=( "${BUILD_DIR}/sphinx/html/." )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/uvloop/uvloop-0.16.0.ebuild b/dev-python/uvloop/uvloop-0.16.0.ebuild
deleted file mode 100644
index b01168428710..000000000000
--- a/dev-python/uvloop/uvloop-0.16.0.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_{8..10} )
-inherit distutils-r1
-
-DESCRIPTION="Ultra-fast implementation of asyncio event loop on top of libuv"
-HOMEPAGE="https://github.com/magicstack/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="doc examples"
-
-RDEPEND=">=dev-libs/libuv-1.11.0:="
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=dev-python/cython-0.29.24[${PYTHON_USEDEP}]
- doc? (
- >=dev-python/alabaster-0.6.2[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- )
- test? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests setup.py
-
-PATCHES=(
- "${FILESDIR}"/uvloop-0.15.3-uint64-thread-id.patch
-)
-
-python_prepare_all() {
- cat <<-EOF >> setup.cfg || die
- [build_ext]
- use_system_libuv=1
- EOF
-
- # flake8 only
- rm tests/test_sourcecode.py || die
- # TODO: broken by cythonize
- rm tests/test_cython.py || die
- # force cythonization
- rm uvloop/loop.c || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
- use doc && esetup.py build_ext --inplace build_sphinx
-}
-
-python_install_all() {
- use examples && dodoc -r examples
- use doc && local HTML_DOCS=( "${BUILD_DIR}/sphinx/html/." )
- 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..cff784edcb3a 100644
--- a/dev-python/validators/Manifest
+++ b/dev-python/validators/Manifest
@@ -1 +1 @@
-DIST validators-0.20.0.tar.gz 30665 BLAKE2B 7534c4970ab288cc02794176e0b3368ed2d4035d602d36ecadad84fb4a41407210b22a8ed1230650f4f247ba1552634aa500fea5c2f03f5e13d6e1120e62b15b SHA512 2f3d9caac9246b346e10604758168092ac483fe6e4a0c9470900e49719fbbebfd18e03aca525f8cca33cec224589aee28de3ea9bf5cd4941a49715d4216dba20
+DIST validators-0.28.1.tar.gz 66294 BLAKE2B c52bb565243b74b7be5442c7d20140fafd47d6240b735b1d0ebb3ed53ad7827d853a1e3cdcba3d09ecd0343c38e62c0549e87b648abd8f596141cffae6e67233 SHA512 69f6dacda7aa326bad42296a7deba3e95545e657f40a687e3995a61b3f75e2597232467267325c638c05df88518b02021a20262a1e223f600268112facd30fac
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 937621790e02..000000000000
--- a/dev-python/validators/validators-0.20.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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.28.1.ebuild b/dev-python/validators/validators-0.28.1.ebuild
new file mode 100644
index 000000000000..1189da209562
--- /dev/null
+++ b/dev-python/validators/validators-0.28.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=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/varlink/Manifest b/dev-python/varlink/Manifest
new file mode 100644
index 000000000000..1b7a34c31b1b
--- /dev/null
+++ b/dev-python/varlink/Manifest
@@ -0,0 +1 @@
+DIST python-varlink-31.0.0.gh.tar.gz 41003 BLAKE2B 3ffe5808ed130d09beabe545ff3437b6f91d74a35a7bf2a72eca854c77c7f8992f6d59c9f73428356cbb98f95b0af2950afd3bf3c6f9955b4f2b12524903d2c6 SHA512 3b8a9479c78a73793d56854b008fca7d041044314b6cf424326f9429c480b0b8561075ce6fa282c92b79ce75c2ec941249a65e9fb6a995510ede9dc064d6dcab
diff --git a/dev-python/varlink/metadata.xml b/dev-python/varlink/metadata.xml
new file mode 100644
index 000000000000..83e6fff6c697
--- /dev/null
+++ b/dev-python/varlink/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>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">varlink</remote-id>
+ <remote-id type="github">varlink/python</remote-id>
+ </upstream>
+</pkgmetadata>
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 33a6913fe413..c46c3f45a3a1 100644
--- a/dev-python/vcrpy/Manifest
+++ b/dev-python/vcrpy/Manifest
@@ -1 +1 @@
-DIST vcrpy-4.2.0.gh.tar.gz 331096 BLAKE2B dccb9310da42c6f75d0d503cb64aa09876447098bff2ad6a1507a0e0907ce05a89d46ccc159e79f310e027fc8f3075b7474274ad39ca4778acbc6d2a8f633004 SHA512 61eeec585fc78be1ae6d4f9047123c9680611e436bb5980fb7c6b885e16b2ef9bd5ce921efff7e87a222b3662c7009dbf0a8df24cdb9849d09deb24957ba4889
+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.0.ebuild b/dev-python/vcrpy/vcrpy-4.2.0.ebuild
deleted file mode 100644
index d7b461c16f56..000000000000
--- a/dev-python/vcrpy/vcrpy-4.2.0.ebuild
+++ /dev/null
@@ -1,58 +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_{8..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 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/vcstools/Manifest b/dev-python/vcstools/Manifest
deleted file mode 100644
index 07dd6f6cfdcf..000000000000
--- a/dev-python/vcstools/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST vcstools-0.1.42.tar.gz 65979 BLAKE2B 2deb29116e891bc93410e4a8f58938009140d01baaa834cccfdba2be3243d98bb11507fd134284bc1dbeca1434ea0eeaf2ed332dcb579bbacf1bc92815f8623d SHA512 1b54270c878684862eb607c2e445fe24d8edfdd8ea2cc75e899044d9e8e89a882fd2dd6fb7825553f83003ae7af08850c18fdeaabaa107a6bfdb2759b32e8fa6
diff --git a/dev-python/vcstools/files/yaml.patch b/dev-python/vcstools/files/yaml.patch
deleted file mode 100644
index 727131bc5618..000000000000
--- a/dev-python/vcstools/files/yaml.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-https://github.com/vcstools/vcstools/issues/158
-https://bugs.gentoo.org/698668
-
-Index: vcstools-0.1.42/src/vcstools/tar.py
-===================================================================
---- vcstools-0.1.42.orig/src/vcstools/tar.py
-+++ vcstools-0.1.42/src/vcstools/tar.py
-@@ -77,7 +77,7 @@ class TarClient(VcsClientBase):
- """
- if self.detect_presence():
- with open(self.metadata_path, 'r') as metadata_file:
-- metadata = yaml.load(metadata_file.read())
-+ metadata = yaml.full_load(metadata_file.read())
- if 'url' in metadata:
- return metadata['url']
- return None
-@@ -165,7 +165,7 @@ class TarClient(VcsClientBase):
-
- if self.detect_presence():
- with open(self.metadata_path, 'r') as metadata_file:
-- metadata = yaml.load(metadata_file.read())
-+ metadata = yaml.full_load(metadata_file.read())
- if 'version' in metadata:
- return metadata['version']
- return None
diff --git a/dev-python/vcstools/metadata.xml b/dev-python/vcstools/metadata.xml
deleted file mode 100644
index 4a8bec5b97bd..000000000000
--- a/dev-python/vcstools/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>ros@gentoo.org</email>
- <name>Gentoo ROS Project</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">vcstools/vcstools</remote-id>
- <remote-id type="pypi">vcstools</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/vcstools/vcstools-0.1.42.ebuild b/dev-python/vcstools/vcstools-0.1.42.ebuild
deleted file mode 100644
index beea876d5506..000000000000
--- a/dev-python/vcstools/vcstools-0.1.42.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library for interacting with various VCS systems"
-HOMEPAGE="https://wiki.ros.org/vcstools"
-SRC_URI="
- http://download.ros.org/downloads/${PN}/${P}.tar.gz
- https://github.com/vcstools/vcstools/archive/${PV}.tar.gz -> ${P}.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm"
-
-RDEPEND="
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
-"
-BDEPEND="test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-vcs/git
- dev-vcs/mercurial
- dev-vcs/subversion
- )
-"
-
-PATCHES=( "${FILESDIR}/yaml.patch" )
-
-distutils_enable_tests nose
-
-src_prepare() {
- # Those fail because of broken upstream testing
- rm test/test_bzr.py || die
- sed -e 's/test_checkout_timeout/_&/' -i test/test_git.py || die
-
- distutils-r1_src_prepare
-}
-
-src_test() {
- # From travis.yml
- # Set git config to silence some stuff in the tests
- git config --global user.email "foo@example.com" || die
- git config --global user.name "Foo Bar" || die
- # Set the hg user
- cat > ~/.hgrc <<- EOF || die
- [ui]
- username = Your Name <your@mail.com>
- EOF
-
- distutils-r1_src_test
-}
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 b4f78940674a..51be1e5702a8 100644
--- a/dev-python/vdf/vdf-3.4-r1.ebuild
+++ b/dev-python/vdf/vdf-3.4-r1.ebuild
@@ -1,19 +1,25 @@
-# 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_{8..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 c4b5782242fd..fdd656fe9063 100644
--- a/dev-python/vdirsyncer/Manifest
+++ b/dev-python/vdirsyncer/Manifest
@@ -1 +1 @@
-DIST vdirsyncer-0.18.0.tar.gz 115125 BLAKE2B d81bb9b51658d16a3b9ea044846561a1ce2dac3a839d7e0a165f0136069fcd0716525ab2b908be7cafed60846a1aed6fd72aa1d31fc2a38dbe6de8d0e6585226 SHA512 7fb3d0f7d982d8390d278de1a620231e6ead1ec64057c5dbac98dcff491fa3e6b9ed8ba953995458e393aab73b0b9ab8ba14010e06f90a04d8ee2c28c7c7fbfd
+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 8dea04b86044..000000000000
--- a/dev-python/vdirsyncer/vdirsyncer-0.18.0-r4.ebuild
+++ /dev/null
@@ -1,76 +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_{8..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.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
new file mode 100644
index 000000000000..6c627614a504
--- /dev/null
+++ b/dev-python/vecrec/vecrec-0.3.1-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=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="2D vector and rectangle classes"
+HOMEPAGE="
+ https://github.com/kxgames/vecrec/
+ https://pypi.org/project/vecrec/
+"
+
+LICENSE="MIT"
+KEYWORDS="~amd64 ~arm64"
+SLOT="0"
+
+RDEPEND="
+ dev-python/autoprop[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ 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 -o addopts= tests
+}
diff --git a/dev-python/vecrec/vecrec-0.3.1.ebuild b/dev-python/vecrec/vecrec-0.3.1.ebuild
deleted file mode 100644
index c784a58d1ffe..000000000000
--- a/dev-python/vecrec/vecrec-0.3.1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-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"
-
-LICENSE="MIT"
-KEYWORDS="~amd64"
-SLOT="0"
-
-RDEPEND="dev-python/autoprop[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/addopts/d' -i tests/pytest.ini || die
- sed -e 's/distutils.core/setuptools/' -i setup.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- epytest tests
-}
diff --git a/dev-python/verboselogs/verboselogs-1.7-r1.ebuild b/dev-python/verboselogs/verboselogs-1.7-r1.ebuild
index f855d7e4bb8c..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-2022 Gentoo Authors
+# 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_{8..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 60fa4208476b..7524b0565bef 100644
--- a/dev-python/versioneer/Manifest
+++ b/dev-python/versioneer/Manifest
@@ -1 +1 @@
-DIST versioneer-0.22.tar.gz 50847 BLAKE2B 3508ac89e65df7a936168fefc1a557191d9362ba69fc9b79eea495cb340c9e314ba5fbac28041bc502aee3adff555e56b43e4ff7fb0d682e96fc3e2ad6bddbad SHA512 f02d50a47c1990275ebf9e720bdb7f13e5fbfc344b361197ecb7602e5ff02e438e43983b4e1cbfde5aa6fa4328a1ffdac60009d6925cf027e484b0ce12587484
+DIST python-versioneer-0.29.retag.gh.tar.gz 78792 BLAKE2B 6a82c57968d13fbc16d5aa67d721dede32762c6327ed5b2ed721c29fdba24f6277aaa0a19cf3ec2fe7e449bc815ad164e905c5869fbd24d59b6eff0d9e88d8f9 SHA512 36bc69021c7d6c2bfa96b35e797336f8807908fc9ca3948241c18266984ca77af3141d7ff98525168e9c3604f62268b7964627bd211e04e9c0732cde56b62841
diff --git a/dev-python/versioneer/versioneer-0.22.ebuild b/dev-python/versioneer/versioneer-0.22.ebuild
deleted file mode 100644
index d79ea33ab270..000000000000
--- a/dev-python/versioneer/versioneer-0.22.ebuild
+++ /dev/null
@@ -1,36 +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_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="Easy VCS-based management of project version strings"
-HOMEPAGE="
- https://pypi.org/project/versioneer/
- https://github.com/python-versioneer/python-versioneer/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="public-domain"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-
-python_test() {
- esetup.py make_versioneer
-
- git config --global user.email "you@example.com" || die
- git config --global user.name "Your Name" || 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 33a5275c2764..75fda49f2ae0 100644
--- a/dev-python/versioningit/Manifest
+++ b/dev-python/versioningit/Manifest
@@ -1,2 +1,2 @@
-DIST versioningit-2.0.0.tar.gz 735138 BLAKE2B 59247c0a2ec85f828b1b36c7f7ff6981fdd430b242c262f7325586e8ab35410083e0a795e72204c9ad9c0c50bb02c047f8baa01c556f74d69a8ddfc9e911474b SHA512 d700e25f3b58efd87943a950ede66ad8814e3aeea1927bb68b51312a636684b16695c44492f4357595305a5a85a3fc8c411d80a02e9b157162844d731dcab93f
-DIST versioningit-2.0.1.tar.gz 735415 BLAKE2B 92aefa4c565ba1e7e707e7ea53a139c64e645ca5e68c74f8ee516122996037061174f703b566458d947e131ed56cc0a9922ce23bf82680607591900a7cc88e36 SHA512 b6f8c578d36607731429e43a7bd349ac69e44943a7b9a79c9f70e1dd44201ee6af239a575ebb36a44e870ee2a121a91d1d63c8e63dadaac71139431ef2eb36e5
+DIST versioningit-3.1.0.tar.gz 215117 BLAKE2B d0fc7056cc59088ed0091bc20af540b39238ca33bc049ffb87978e48a605cbee69a2daf574ff9b3791b3d55b708adeaca877f1914b8d4d2106f76cfa33dea608 SHA512 d30ec0b2831ab3e77e51b3e41b542ef2e73838dd78a2b1bebb64db4f7fdb4c988299f7b9605c9ff884c130fe97b2491e1bb27866450346023b68dd1a2204e04d
+DIST versioningit-3.1.1.tar.gz 212882 BLAKE2B 786af766a5e85ea426dee02d1ae888b0a50712f9d154690302b3fdb1f4aa037a931612ad3f1f169a3d8f3481db09da895cf3ba7dcbc7d2f256b3b8622334e08e SHA512 f8e23834324f785b93668f4cb55d57885cf96e9ca16f1d6a06c3610dd00a79c018960fe52aff5fe4cc735b5fcec27be1ceb151a88e0e9a447cba750dd6956816
diff --git a/dev-python/versioningit/versioningit-2.0.0.ebuild b/dev-python/versioningit/versioningit-2.0.0.ebuild
deleted file mode 100644
index 392e4e954b30..000000000000
--- a/dev-python/versioningit/versioningit-2.0.0.ebuild
+++ /dev/null
@@ -1,46 +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_{8..10} )
-
-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 ~x86"
-
-RDEPEND="
- >=dev-python/packaging-17.1[${PYTHON_USEDEP}]
-"
-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' \
- -e '/-cov-/d' \
- tox.ini || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/versioningit/versioningit-2.0.1.ebuild b/dev-python/versioningit/versioningit-2.0.1.ebuild
deleted file mode 100644
index 7af2c2936c5d..000000000000
--- a/dev-python/versioningit/versioningit-2.0.1.ebuild
+++ /dev/null
@@ -1,50 +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_{8..10} )
-
-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 ~x86"
-
-RDEPEND="
- >=dev-python/packaging-17.1[${PYTHON_USEDEP}]
-"
-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' \
- -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/versioningit/versioningit-3.1.1.ebuild b/dev-python/versioningit/versioningit-3.1.1.ebuild
new file mode 100644
index 000000000000..105eac3c72ec
--- /dev/null
+++ b/dev-python/versioningit/versioningit-3.1.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..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.ebuild b/dev-python/vine/vine-5.0.0.ebuild
deleted file mode 100644
index 2572581272f6..000000000000
--- a/dev-python/vine/vine-5.0.0.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
-PYTHON_COMPAT=( python3_{7..10} pypy3 )
-DISTUTILS_USE_SETUPTOOLS=bdepend
-
-inherit distutils-r1
-
-DESCRIPTION="Python Promises"
-HOMEPAGE="https://pypi.org/project/vine/ https://github.com/celery/vine"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-DEPEND="
- test? (
- >=dev-python/case-1.3.1[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
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 2d8fc5c2f597..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~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 5d2a022c4b06..6217b828fe85 100644
--- a/dev-python/virtualenv/Manifest
+++ b/dev-python/virtualenv/Manifest
@@ -1,4 +1,2 @@
-DIST virtualenv-20.15.1.tar.gz 13523736 BLAKE2B 4f8d491fae7c0c28ae349845c4c5ddd27e53b9007a427c8a36e66a427269b519829f1c351f028b63fe38b49e934f4e209bd2cf2e07363171f732c6b0a052a3bc SHA512 244e3b091c8b049edbb07d808633fd44b3327200e1d38394814794773d05723ef535721ee163b382d23bc16572d55657b5c2544efd83494753746cc85116696a
-DIST virtualenv-20.16.0.tar.gz 12217565 BLAKE2B 534d665b56191c2e804306677b6771d3d0fa6104c476f8f17fbf40c2f8a3b7ccf6ffa9f8dec4d8de515f610f2ffc7b5d67bc99d82be4c0cc73990e5664a1d1e3 SHA512 f34827ec0e1b7325ee23b53b5fa2c36c1377d3fe7265b7187cf43592f74b37d66747abf69f0f33850212bf3aa69c98147cfffc37b311b98a1127f7ac5d9c69e4
-DIST virtualenv-20.16.2.tar.gz 12217706 BLAKE2B 1dff9c8697eb80cf590819c451790599977d52dcfe2935c7d9e355aeb34c9b3bd4f6d97bb051c7a02ba95878717fac82766a0370124d21a4c89fee42a31bbb31 SHA512 3998ea1e70a56d859be808059249251ca944216998a48af70db731cf5655624c12078d94caa5827ab41326cfd702319d3a486fbc0fe424369e07df39c9cd8ce9
-DIST virtualenv-20.16.3.tar.gz 12219368 BLAKE2B 00a7d38db3e9d929e5f01eb020436cf5b917a10bca876ef4abe7a07f5e86a1b1930ed42acbac96d80375a78b660a70872ba6048c673a4ad4d51cafb7824d8f6d SHA512 d3a90bab9862ea2a70e1dc429dff98a729425858a2153281cba4ecaf13107e6c3a43781e8c96b1f2a6c1ddd797de86bcfee8129a698e45d20eed76432efba5a6
+DIST virtualenv-20.25.3.tar.gz 7289627 BLAKE2B 9edd92a238af78d4178f7c7b553f4b86206815fad3cd5f257b9fe35552835ab916849a07e06248f880335dc9a356364154ea689c08d64274eab4df36a81c05db SHA512 3933ed6dfa393a2f6cb6f996d8830f60204d5bf8953d61726afc5cc9b079bd1723c3e9044e33d3a584725ba80b93d9ac5a5d11c7304d0234303ce49c33ca1a9e
+DIST virtualenv-20.26.1.tar.gz 7290258 BLAKE2B acad9457ad56c7565091cc5a540e41039d87aa8d0b61687d8504b9452a560a32915585be39e5d17cf6d96644206ebd650f620f0a8e51a70cbd214c50bdb36575 SHA512 062621a7d6ec42db8b93d3cefef1f13e49bc46bec2528d02190c3a47944cd89e088bd3fa44f5d926959c5574559c0900afe54495cfbc8f3e4c19e8997a69285e
diff --git a/dev-python/virtualenv/virtualenv-20.15.1.ebuild b/dev-python/virtualenv/virtualenv-20.15.1.ebuild
deleted file mode 100644
index 03c4a89ffb0e..000000000000
--- a/dev-python/virtualenv/virtualenv-20.15.1.ebuild
+++ /dev/null
@@ -1,103 +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_{8..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.1[${PYTHON_USEDEP}]
- >=dev-python/filelock-3[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2[${PYTHON_USEDEP}]
- >=dev-python/setuptools-41[${PYTHON_USEDEP}]
- >=dev-python/six-1.9.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-20.0.2[${PYTHON_USEDEP}]
- >=dev-python/pytest-freezegun-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-1.3.4[${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
- )
- [[ ${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
- )
-
- 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.16.0.ebuild b/dev-python/virtualenv/virtualenv-20.16.0.ebuild
deleted file mode 100644
index 8018e0d0a409..000000000000
--- a/dev-python/virtualenv/virtualenv-20.16.0.ebuild
+++ /dev/null
@@ -1,106 +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_{8..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.1[${PYTHON_USEDEP}]
- >=dev-python/filelock-3[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2[${PYTHON_USEDEP}]
- >=dev-python/setuptools-41[${PYTHON_USEDEP}]
- >=dev-python/six-1.9.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-20.0.2[${PYTHON_USEDEP}]
- >=dev-python/pytest-freezegun-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-1.3.4[${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
- )
-
- 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.16.2.ebuild b/dev-python/virtualenv/virtualenv-20.16.2.ebuild
deleted file mode 100644
index 8018e0d0a409..000000000000
--- a/dev-python/virtualenv/virtualenv-20.16.2.ebuild
+++ /dev/null
@@ -1,106 +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_{8..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.1[${PYTHON_USEDEP}]
- >=dev-python/filelock-3[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2[${PYTHON_USEDEP}]
- >=dev-python/setuptools-41[${PYTHON_USEDEP}]
- >=dev-python/six-1.9.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-20.0.2[${PYTHON_USEDEP}]
- >=dev-python/pytest-freezegun-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-1.3.4[${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
- )
-
- 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.16.3.ebuild b/dev-python/virtualenv/virtualenv-20.16.3.ebuild
deleted file mode 100644
index fe3fd6720779..000000000000
--- a/dev-python/virtualenv/virtualenv-20.16.3.ebuild
+++ /dev/null
@@ -1,106 +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_{8..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.5[${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}]
- >=dev-python/six-1.9.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/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
- )
-
- 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.3.ebuild b/dev-python/virtualenv/virtualenv-20.25.3.ebuild
new file mode 100644
index 000000000000..2a0d236c54b4
--- /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/virtualenv/virtualenv-20.26.1.ebuild b/dev-python/virtualenv/virtualenv-20.26.1.ebuild
new file mode 100644
index 000000000000..17590a856722
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.26.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=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 4b98295be7d2..8b706320125a 100644
--- a/dev-python/virtualenvwrapper/metadata.xml
+++ b/dev-python/virtualenvwrapper/metadata.xml
@@ -1,11 +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-r1.ebuild b/dev-python/virtualenvwrapper/virtualenvwrapper-4.8.4-r1.ebuild
deleted file mode 100644
index cdcda949f6b1..000000000000
--- a/dev-python/virtualenvwrapper/virtualenvwrapper-4.8.4-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9,10} )
-
-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 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}]"
-
-python_test() {
- bash ./tests/run_tests || die "Tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/virtualenvwrapper/virtualenvwrapper-6.1.0.ebuild b/dev-python/virtualenvwrapper/virtualenvwrapper-6.1.0.ebuild
new file mode 100644
index 000000000000..45e014b5fb7f
--- /dev/null
+++ b/dev-python/virtualenvwrapper/virtualenvwrapper-6.1.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Set of extensions to Ian Bicking's virtualenv tool"
+HOMEPAGE="
+ https://github.com/python-virtualenvwrapper/virtualenvwrapper/
+ https://pypi.org/project/virtualenvwrapper/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/stevedore[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/virtualenv-clone[${PYTHON_USEDEP}]
+ ')
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ ')
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/pip[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/virtualenvwrapper-6.0.0-remove-use-of-which.patch"
+ "${FILESDIR}/virtualenvwrapper-4.8.4_p20230121-override-default-python-executable.patch"
+)
+
+src_prepare() {
+ default
+
+ # specify default python interpeter to align with PYTHON_SINGLE_TARGET
+ sed -i -e "s:@@GENTOO_PYTHON_EXECUTABLE@@:${PYTHON}:" virtualenvwrapper.sh || die
+
+ # remove tests which require an internet connection
+ rm tests/test_mkvirtualenv_install.sh || die
+ rm tests/test_mkvirtualenv_requirements.sh || die
+
+ # remove tests which require functional git repos with remotes
+ sed -i -e '/test_wipeenv_\(pip_e\|develop\) () {/,/}/ d' tests/test_wipeenv.sh || die
+}
+
+python_test() {
+ # tests have unusual expectations
+ local -x HOME="${HOME%/}"
+ local -x USER="${USER}"
+
+ cp -a "${BUILD_DIR}"/{install/usr,test} || die
+ local -x VIRTUAL_ENV="${BUILD_DIR}/test"
+
+ bash ./tests/run_tests "${VIRTUAL_ENV}" || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/visitor/visitor-0.1.3-r2.ebuild b/dev-python/visitor/visitor-0.1.3-r2.ebuild
index 7b3e44ba3ce8..090b0bf6e1ea 100644
--- a/dev-python/visitor/visitor-0.1.3-r2.ebuild
+++ b/dev-python/visitor/visitor-0.1.3-r2.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=( pypy3 python3_{8..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 ca9dc4afcedc..000000000000
--- a/dev-python/vncdotool/vncdotool-0.13.0-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~arm64 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 ca9dc4afcedc..000000000000
--- a/dev-python/vncdotool/vncdotool-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~arm64 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 16c3884a49b4..000000000000
--- a/dev-python/vobject/vobject-0.9.6.1-r3.ebuild
+++ /dev/null
@@ -1,24 +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_{8..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 28f3950346b5..000000000000
--- a/dev-python/voluptuous/voluptuous-0.13.1-r1.ebuild
+++ /dev/null
@@ -1,26 +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_{8..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 34523dd6e181..31bbeaa0eb44 100644
--- a/dev-python/vpython/Manifest
+++ b/dev-python/vpython/Manifest
@@ -1 +1,2 @@
-DIST vpython-7.6.3.tar.gz 4461187 BLAKE2B 4698396fb9f846db59233bb6795748cadf7a0c8c4b1969dfe439965fa29db703806197a6e91b5d91935b8fdcf5c626dac6613a73e06b88c899bdddd0b19ef69e SHA512 0270103eb5c67ecbf7461e1821e3502295976f430d290fbefc5281643802963bf6ccd729eb37b19e50b2403f7cf0dc09f869d4cd30726ccd086bacb6180f868e
+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.3.ebuild b/dev-python/vpython/vpython-7.6.3.ebuild
deleted file mode 100644
index 2c0cd2303be8..000000000000
--- a/dev-python/vpython/vpython-7.6.3.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
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="VPython for Jupyter notebook"
-HOMEPAGE="https://www.vpython.org/ https://pypi.org/project/vpython/"
-SRC_URI="https://github.com/${PN}/${PN}-jupyter/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-jupyter-${PV}"
-
-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-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.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 a8ede63daac5..000000000000
--- a/dev-python/waitress/waitress-2.1.2.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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 6ff9c203df35..3b382724144c 100644
--- a/dev-python/wand/Manifest
+++ b/dev-python/wand/Manifest
@@ -1,3 +1 @@
-DIST Wand-0.6.7.tar.gz 11686093 BLAKE2B 58abbdc22eb1603ed42e2e2473c0ed2b9026c9c0a499bb885512b56ecf01fb4ffe450979808bba2b4c4466994f86bea9a9c0ced216f8338c845b96a755f39c9f SHA512 e79ecb909f6ad7b3ddae217bb7b27f3c010d22a40eb99866e2a6eb07346000acbead280176e3352da13c20b68a341c751c55d6203bef7968522c8dbcfcab0b06
-DIST Wand-0.6.8.tar.gz 11884527 BLAKE2B 45784abf55682d8b5e101cc4fc93f0492f9275a2805f06dbda2d98e28c6359c7df84fd7870b12348c0a6c513ae3f2bafba61a00020a41263d6a91fd67d9ce682 SHA512 111eef211edd8d5a6c825f0b455db5510c91b43852165934dbab36a9cdeea7e920987c98d975fb8c7f82ac19f20867c0ed5c8c1e2f9dd9467bc30931b4a03dd1
-DIST Wand-0.6.9.tar.gz 11885077 BLAKE2B 15390e6aca4ac947dbeba84e2f6805689d4c44e318f7dd4827c6cf2cca42066968de0d9a7a932c950f79ef82bc090d8061e86b63234477f4807b5dc1cc36f735 SHA512 23adcb3360bc6a579aa4e4ff406631821cca05c8ad5ca057510a3185bf09ee58c13940706ce3b725545cc46ca5e8aaaebeb9b418e2a91cf15b570e223ede6552
+DIST Wand-0.6.13.tar.gz 11883700 BLAKE2B b4764d87a5a71acae42ef41b6f066649d9df675045c78de49a64d2a6fa440d0ae995ef20c02ae8fa40af9d728d0b91a43f0371ea220afbae13d3bb9ed3742cd4 SHA512 a166a365474e3c4442b1c0fc521837026a236d416b7cf3f899acee5f3b1febb4c5deb0b75bf158393fb9df60e37e6cd8d528cdfdb637a19ecd271ba841dfada2
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/wand/wand-0.6.7-r1.ebuild b/dev-python/wand/wand-0.6.7-r1.ebuild
deleted file mode 100644
index 1e2ac9121025..000000000000
--- a/dev-python/wand/wand-0.6.7-r1.ebuild
+++ /dev/null
@@ -1,33 +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_{8..10} )
-inherit distutils-r1
-
-MY_P="${PN^}-${PV}"
-DESCRIPTION="Ctypes-based simple ImageMagick binding for Python"
-HOMEPAGE="http://wand-py.org/"
-SRC_URI="mirror://pypi/${PN:0: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]
- )
-"
-
-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.7.ebuild b/dev-python/wand/wand-0.6.7.ebuild
deleted file mode 100644
index 6f133f63eaa4..000000000000
--- a/dev-python/wand/wand-0.6.7.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( pypy3 python3_{8..10} )
-inherit distutils-r1
-
-MY_P="${PN^}-${PV}"
-DESCRIPTION="Ctypes-based simple ImageMagick binding for Python"
-HOMEPAGE="http://wand-py.org/"
-SRC_URI="mirror://pypi/${PN:0: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]
- )
-"
-
-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.8.ebuild b/dev-python/wand/wand-0.6.8.ebuild
deleted file mode 100644
index 753e731d2674..000000000000
--- a/dev-python/wand/wand-0.6.8.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_{8..10} )
-
-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]
- )
-"
-
-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.9.ebuild b/dev-python/wand/wand-0.6.9.ebuild
deleted file mode 100644
index d5709e974bca..000000000000
--- a/dev-python/wand/wand-0.6.9.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_{8..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]
- )
-"
-
-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-1.3.3-r3.ebuild b/dev-python/warlock/warlock-1.3.3-r3.ebuild
index 6d98dc033bee..0edd5f9c4683 100644
--- a/dev-python/warlock/warlock-1.3.3-r3.ebuild
+++ b/dev-python/warlock/warlock-1.3.3-r3.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_{8..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
DESCRIPTION="Python object model built on JSON schema and JSON patch"
diff --git a/dev-python/warlock/warlock-2.0.1.ebuild b/dev-python/warlock/warlock-2.0.1.ebuild
index 3f1cf60f7cff..ad2d2e78b32f 100644
--- a/dev-python/warlock/warlock-2.0.1.ebuild
+++ b/dev-python/warlock/warlock-2.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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_{8..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/watchdog/Manifest b/dev-python/watchdog/Manifest
index ff5bc3eb867e..ba383ae35737 100644
--- a/dev-python/watchdog/Manifest
+++ b/dev-python/watchdog/Manifest
@@ -1 +1 @@
-DIST watchdog-2.1.9.gh.tar.gz 102882 BLAKE2B 601c94541846e0d63a39367040ac9b6a24c2920c70638ee3887a51838dd75bf8dfef8afae34c9566047c27502026d944f01c6f6249090f4a233a4892fc1e7c59 SHA512 1005c48b08968db7705acbb8a94a0852c72d8bcf45ac935e7e0b49daa6e422adb081cf431485618b37bcc1b2d3429369af1672b826bf9c1ebfa7aff91a88175a
+DIST watchdog-4.0.0.tar.gz 126415 BLAKE2B 59cba81d705031b89b6cd0a92959cd714ec701c4b986446fb7946898b9df1389734bc7eb7521d5af2df5a1a5e31b2f1dc436ca603b8f70313e99ad2abf0e9922 SHA512 ba1beafe292b52b4628eb570b05d816faffe09acd3b63bc50d986cf04f3c7b4fa9c1ebe5c99a10c0723b5604cfdcbd0c09a17507196a32b8fddeeb46faccf4dd
diff --git a/dev-python/watchdog/watchdog-2.1.9.ebuild b/dev-python/watchdog/watchdog-2.1.9.ebuild
deleted file mode 100644
index 858b84c59fb2..000000000000
--- a/dev-python/watchdog/watchdog-2.1.9.ebuild
+++ /dev/null
@@ -1,52 +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_{8..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 902da412506d..f0575bcf4749 100644
--- a/dev-python/watchfiles/Manifest
+++ b/dev-python/watchfiles/Manifest
@@ -1,53 +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 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-pre.15.crate 57624 BLAKE2B 0f07e7ba2e6b431769e69730dc81c056ab1098a905855d6edb9866e36fb33dcb123c1a464c667d0130322d3810255edf62cf8f3f4e3fc9307782bc050c2913eb SHA512 31c7313c53654ccb76d14826511bd9a687f89cdfe832b0e85adaae22aeba98776fcecabaf321e26fde060357ae52e358b1b48d118e70e562dde98944258d055d
-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.16.4.crate 362007 BLAKE2B 8a24115b71cc075c76e82170038133d955b5e0f3a5bf73224148bf90f48b8134054edbd567a99f740fbc671597f1586faad2ac2956c965b7d58be5fcfad585b6 SHA512 189eaa8472b0925d69c959e1b365b4c3a5f258329021384d402deb9fd03a3ce5b6637076394512a05eb858d2e53382a6b7c933df68f36a5cdc5326e26ae97968
-DIST pyo3-build-config-0.16.4.crate 28562 BLAKE2B 973df4b148acf98cc92145fb732da33a3c1ff5e5e62bea60ca60fbdc54b8135bc5f6cca0b397a9fa949ad74644d41db777fc0fa2197313abd4fb63488f9020c3 SHA512 60044e707e4d15176b02069994950b2a0557801ddee7ec9fbbd839e303b15facef62f2b07f81925c921aefcf341ecfae9bf4ce86d23da931d14698d48529f660
-DIST pyo3-ffi-0.16.4.crate 60544 BLAKE2B aa76de43d9f83a5c5ce08158e7ffb882a84a98d10c9bb19bb62c833dffc296175fbb6a4b0f31daa8ff44a425b299818fb6ae77a725e024be70f08f38c69d4f5e SHA512 d41868fec5e850bf6b1a796a2d1119310ebe1765a750581a8fdcd83fabf92587fa6eb91a32a85f8084cd41a92b7741c2a266928c5658536fde7f76ed20b844c9
-DIST pyo3-macros-0.16.4.crate 8455 BLAKE2B 94cac5c6838ba49aa3842583dd2227685b26e0bdd6e828401ee8ea147a74a17804f8e5c24f3d0df27c6a62b6e5011ee6e5b3f3d558e1abf04056fea2aef584a9 SHA512 5620588a3e3538d00f0b86d5badc1d9929d8f044eb17e6c30cc73e414d68c04d9a90a66ab163a0dc261516fac80443db763f5981f70549ef57a13571a36dcad5
-DIST pyo3-macros-backend-0.16.4.crate 49218 BLAKE2B 48ced6e30c2b0c936e89483f007771120430e67751d4baba524baf4c575ae6d6177f50b06802a29456f1fc40352999f3736733a4cafbf2113f6f4942e804281a SHA512 216a5b329ef19e45ca2c8a09b3047aa00a0de6aa0d77fc8509e515952f6b82512bae6413d2649ce50b00f29b3371494128b59cedfbc9b81223b706723f640e15
-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.15.0.gh.tar.gz 38496 BLAKE2B b748904540c28bac3a3be3a1a236352bdba316d1230b196ce1d0ec90324299664c065d1644f7eeafa232e197493aba5b8685db5583c9899f57262651f0e53dc7 SHA512 1398c3337cd0f36bfd489dbca4c968bae2c23949d43567777411c1e9773ac633962164d61dcc84d462adba9d79e108ec98fc31866f364bfa72c26599d12a6fdc
-DIST watchfiles-0.16.0.gh.tar.gz 40356 BLAKE2B beb71a54a12a36f97bdbd710a6a9f0d82d1ecb9a4a19f64dfa503ff96b882afbb90679925d86d74d2bbc570a1e98e3c18df8dac539c19e2536bea69d343dddb7 SHA512 72bb989643111257326fb2185e2d7a5ee945ee75c1645287ab05486c1ada700b4f7924c0871ea304c72ee6f222e776e1f86ab8718d0300f916f9948009f721d5
-DIST watchfiles-0.16.1.gh.tar.gz 40404 BLAKE2B 885cb2a0a8ccaf7cbde85524a9f6efbaba713ad8e3eff39b1685cfea201d56ddb006be96169de25e6d7000b8bf7d9bc71de449a7f8493f4bf55b1239ff2c8444 SHA512 fd797c471d3f0db475322398d09cc88f390fb4c348d9fa01c3a41cefa8f797e007e8b223acf5e09f277bb7f37443063daa9a38bda3cd137edc102d23a7f15e65
+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.15.0-r1.ebuild b/dev-python/watchfiles/watchfiles-0.15.0-r1.ebuild
deleted file mode 100644
index aeab77a1d524..000000000000
--- a/dev-python/watchfiles/watchfiles-0.15.0-r1.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{8..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
- mio-0.8.2
- miow-0.3.7
- notify-5.0.0-pre.15
- 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.16.4
- pyo3-build-config-0.16.4
- pyo3-ffi-0.16.4
- pyo3-macros-0.16.4
- pyo3-macros-backend-0.16.4
- 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 BSD"
-LICENSE+=" CC0-1.0 ISC MIT Unlicense"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~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.16.0.ebuild b/dev-python/watchfiles/watchfiles-0.16.0.ebuild
deleted file mode 100644
index aeab77a1d524..000000000000
--- a/dev-python/watchfiles/watchfiles-0.16.0.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{8..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
- mio-0.8.2
- miow-0.3.7
- notify-5.0.0-pre.15
- 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.16.4
- pyo3-build-config-0.16.4
- pyo3-ffi-0.16.4
- pyo3-macros-0.16.4
- pyo3-macros-backend-0.16.4
- 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 BSD"
-LICENSE+=" CC0-1.0 ISC MIT Unlicense"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~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.16.1.ebuild b/dev-python/watchfiles/watchfiles-0.16.1.ebuild
deleted file mode 100644
index aeab77a1d524..000000000000
--- a/dev-python/watchfiles/watchfiles-0.16.1.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{8..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
- mio-0.8.2
- miow-0.3.7
- notify-5.0.0-pre.15
- 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.16.4
- pyo3-build-config-0.16.4
- pyo3-ffi-0.16.4
- pyo3-macros-0.16.4
- pyo3-macros-backend-0.16.4
- 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 BSD"
-LICENSE+=" CC0-1.0 ISC MIT Unlicense"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~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/watchgod/Manifest b/dev-python/watchgod/Manifest
deleted file mode 100644
index 5d3210f07978..000000000000
--- a/dev-python/watchgod/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST watchfiles-0.8.2.gh.tar.gz 15515 BLAKE2B 97c17737c6970c8b799707547cef760c307cd000d09cf3a338e47c0735d537e0321643066eab592f7f7e6ccc25272ea1e7e0bbc02f6274864f7cc39a177b83ba SHA512 a44b831352ace03c450781bc815b1813c44c386d666a9b724b562ff69228705651bfc23e81b7344d0f79c62577d4f910b323c734298e2a609f85bbc4a0f0498e
diff --git a/dev-python/watchgod/metadata.xml b/dev-python/watchgod/metadata.xml
deleted file mode 100644
index f8df5d7b0948..000000000000
--- a/dev-python/watchgod/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>
- </maintainer>
- <upstream>
- <remote-id type="github">samuelcolvin/watchfiles</remote-id>
- <remote-id type="pypi">watchgod</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/watchgod/watchgod-0.8.2-r1.ebuild b/dev-python/watchgod/watchgod-0.8.2-r1.ebuild
deleted file mode 100644
index a19fe1d0b4f5..000000000000
--- a/dev-python/watchgod/watchgod-0.8.2-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{8..11} )
-
-inherit distutils-r1
-
-MY_P=watchfiles-${PV}
-DESCRIPTION="Simple, modern file watching and code reload in Python"
-HOMEPAGE="
- https://pypi.org/project/watchgod/
- https://github.com/samuelcolvin/watchfiles/
-"
-SRC_URI="
- https://github.com/samuelcolvin/watchfiles/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- =dev-python/anyio-3*[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-toolbox[${PYTHON_USEDEP}]
- dev-python/trio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # increase timeout
- sed -i -e '/sleep/s/0.01/1.0/' tests/test_watch.py || die
- # fix version number in metadata
- sed -i -e "s:0\.0\.dev0:${PV}:" watchgod/version.py || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # flaky test on slow systems, https://github.com/samuelcolvin/watchgod/issues/84
- tests/test_watch.py::test_awatch_log
- )
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- tests/test_watch.py::test_does_not_exist
- )
- 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 cec8f300bb3a..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
@@ -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_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
diff --git a/dev-python/wcmatch/Manifest b/dev-python/wcmatch/Manifest
index 106502d62cf3..9e1a9ccab3ab 100644
--- a/dev-python/wcmatch/Manifest
+++ b/dev-python/wcmatch/Manifest
@@ -1 +1 @@
-DIST wcmatch-8.4.gh.tar.gz 116596 BLAKE2B cdfbc243fa62f4854490510a563163f99dac09eed16248fa7a72d0a2a7b96484fab4edf3ba497e96a46dca1f734b9c1b098da4d71784775f51b48fcfa5b8a24c SHA512 92478a769be129f9997ef75a384b9978d0647bbd7f2212aa058f1438e698a0a77d069871daf20889455f6e9bb73266d4e312f29f61c704a708fa48fa565d7614
+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.ebuild b/dev-python/wcmatch/wcmatch-8.4.ebuild
deleted file mode 100644
index 74c632c98978..000000000000
--- a/dev-python/wcmatch/wcmatch-8.4.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 ~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 "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/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 d91815164490..1556339e9ca4 100644
--- a/dev-python/wcwidth/Manifest
+++ b/dev-python/wcwidth/Manifest
@@ -1 +1 @@
-DIST wcwidth-0.2.5.gh.tar.gz 47514 BLAKE2B 0ac5fb08283c23039453408da2edac36e2079fde8fc903002785e2e0f8bed55d1d6a291181097f73e4ec8152b6eaa4f4553b0b39fe1cadc7a99bacb2d7e55d2c SHA512 3f1f1fefd3ee9f06ea2051842e8c3bb09a92501f031124b8514bec444eaa8594ab9649534b4264340d475716d5a6571dbe5ae932f685160defd75c19295e60f9
+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 b9a7436a25fb..000000000000
--- a/dev-python/wcwidth/wcwidth-0.2.5-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 ~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/weasyprint/Manifest b/dev-python/weasyprint/Manifest
index 815a722af43a..b3ad2af8d6dd 100644
--- a/dev-python/weasyprint/Manifest
+++ b/dev-python/weasyprint/Manifest
@@ -1,3 +1,3 @@
-DIST weasyprint-55.0.tar.gz 410970 BLAKE2B ba77f249c3568031eff9b7110864b69113f71ea197d0c7136de01bd40155a437b5e540e87219e6ca49428b98d8ec471dcf9ed1d0224d68a3b320e5fffb568239 SHA512 96cc6de5af86da47aa0b5a84c3f00679690774574f3370ca319afe77f3eb9c9725f3b0a6cbddf589f23f444972bc77b07cce7e27ee2c466484636b3cb30250a3
-DIST weasyprint-56.0.tar.gz 419236 BLAKE2B c64d382e4ac169904a51fec17152faacccf4ccdab775a3b34b0db7e0a4306e6cadf6810482cee5535991400455864749cce1fc6ba5e0b469a3eb934d62298028 SHA512 d8efc83f77967a514d26806a9b73ef03e047431c6db9b367cd23a819b4a68714d216081afc74162b60084d0f3755498dc782d0335069bc9e70c42b611b737eec
-DIST weasyprint-56.1.tar.gz 420035 BLAKE2B ac6ff4fae70406c125f8e5c959acba297fa92644dd6a69a95af0192260c6fc8890b1ae790c25eb16f79a3f527a88e4912787c8d29f4ea213c2fc4ecab589ecf8 SHA512 c64bcef9789cb8c52853cfe02f5249240b67fa8368f3467c0e56cefe8ee9fde3dc9a1a489278e7238ed7fddfebba2f238f37245a3ef4d7482a32cee14dbf66b0
+DIST weasyprint-61.2.tar.gz 447333 BLAKE2B 753f80ee0756e75b46023d29b8409599de9ff9f7f338a7800cf917a012f61c6a50857af813e4cbfe1ddfa913f95befc43719688468449d6f1b8d8df3714a7895 SHA512 62c3afba18bcc141bc013b95848b0e2426160123533509b6e353caa6c33173266524be84b0a50443ac2549b1b8013e5eb915f54a68168d65e98c9251c4fdf339
+DIST weasyprint-62.0.tar.gz 475383 BLAKE2B 3c390c06366f280eb0f1a949cde2e073dbe5155db78b16d5c557c2c7a4a7ee22c5e22cc36ad000171471a7d027e2508df9363c99b6c9fb151eb3367e8c7b686f SHA512 83b5c9a20a9a8e8fdeb1f54182da2b821ad84510a71b1a66c33f31376c7b54e79c565d2de1b16051688fab505ce726430fc69b9358ea29b38d158f776744a738
+DIST weasyprint-62.1.tar.gz 475687 BLAKE2B 80e5f24c2a52f60baada23239427cc80f34d9885d7decca172dcb420bcb76cdc49a4d15e21d4328e86bf9c7f9228f9a01da1244eba21f35a90f80a8e358b74bc SHA512 8eaee6daa610accd7594141102aecaf1b5debecbae196c442c32d522d4dcb54c411a215b77956b6e66deeb0abda66cb36d0e081d5d3fd69a8bf5a82716209aeb
diff --git a/dev-python/weasyprint/weasyprint-55.0.ebuild b/dev-python/weasyprint/weasyprint-55.0.ebuild
deleted file mode 100644
index 32e507b45ff5..000000000000
--- a/dev-python/weasyprint/weasyprint-55.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..10} )
-
-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"
-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.0.1[${PYTHON_USEDEP}]
- >=dev-python/pillow-4.0.0[jpeg,jpeg2k,${PYTHON_USEDEP}]
- >=dev-python/pydyf-0.0.3[${PYTHON_USEDEP}]
- >=dev-python/pyphen-0.9.1[${PYTHON_USEDEP}]
- >=dev-python/tinycss2-1.0.0[${PYTHON_USEDEP}]
- x11-libs/pango
-"
-
-BDEPEND="
- test? (
- <app-text/ghostscript-gpl-9.56
- media-fonts/ahem
- media-fonts/dejavu
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/addopts/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/weasyprint/weasyprint-56.0.ebuild b/dev-python/weasyprint/weasyprint-56.0.ebuild
deleted file mode 100644
index dd405c38ee37..000000000000
--- a/dev-python/weasyprint/weasyprint-56.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..10} )
-
-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"
-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.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyphen-0.9.1[${PYTHON_USEDEP}]
- >=dev-python/tinycss2-1.0.0[${PYTHON_USEDEP}]
- x11-libs/pango
-"
-
-BDEPEND="
- test? (
- <app-text/ghostscript-gpl-9.56
- media-fonts/ahem
- media-fonts/dejavu
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/addopts/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/weasyprint/weasyprint-56.1.ebuild b/dev-python/weasyprint/weasyprint-56.1.ebuild
deleted file mode 100644
index dd405c38ee37..000000000000
--- a/dev-python/weasyprint/weasyprint-56.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{8..10} )
-
-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"
-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.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyphen-0.9.1[${PYTHON_USEDEP}]
- >=dev-python/tinycss2-1.0.0[${PYTHON_USEDEP}]
- x11-libs/pango
-"
-
-BDEPEND="
- test? (
- <app-text/ghostscript-gpl-9.56
- media-fonts/ahem
- media-fonts/dejavu
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/addopts/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
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/weasyprint/weasyprint-62.0.ebuild b/dev-python/weasyprint/weasyprint-62.0.ebuild
new file mode 100644
index 000000000000..ede5b4b196eb
--- /dev/null
+++ b/dev-python/weasyprint/weasyprint-62.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=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.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pyphen-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/tinycss2-1.3.0[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ x11-libs/pango
+"
+
+BDEPEND="
+ test? (
+ >=app-text/ghostscript-gpl-9.56.1-r3
+ media-fonts/ahem
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/weasyprint/weasyprint-62.1.ebuild b/dev-python/weasyprint/weasyprint-62.1.ebuild
new file mode 100644
index 000000000000..ede5b4b196eb
--- /dev/null
+++ b/dev-python/weasyprint/weasyprint-62.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=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.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pyphen-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/tinycss2-1.3.0[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ x11-libs/pango
+"
+
+BDEPEND="
+ test? (
+ >=app-text/ghostscript-gpl-9.56.1-r3
+ media-fonts/ahem
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/webassets/Manifest b/dev-python/webassets/Manifest
deleted file mode 100644
index 0680de17ed94..000000000000
--- a/dev-python/webassets/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST webassets-2.0.tar.gz 185864 BLAKE2B 8aaa7091c27644c6c464d13d106218e28531415458e67696c0243943a92a3869e23c7ff0aa8461abb876a178e3ad44f4b47a5366edb885d308dd8ec0f17ad034 SHA512 6d62d4e5c1ed81a2d235c24776b632574f3670ae3d863c5f5a79d0e1afc7acfa7965e532b7975503df758dbe6c8dbd857b250a6ea8e4b414c8f1ae12fb8addd7
diff --git a/dev-python/webassets/files/webassets-2.0-python39.patch b/dev-python/webassets/files/webassets-2.0-python39.patch
deleted file mode 100644
index 006c020469f4..000000000000
--- a/dev-python/webassets/files/webassets-2.0-python39.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-https://github.com/miracle2k/webassets/commit/a563935df6702ff5e38e5b84a262c295e4cdf455.patch
-From a563935df6702ff5e38e5b84a262c295e4cdf455 Mon Sep 17 00:00:00 2001
-From: Karthikeyan Singaravelan <tir.karthi@gmail.com>
-Date: Wed, 22 Jan 2020 00:49:31 +0530
-Subject: [PATCH] Use is_alive instead of isAlive for Python 3.9 compatibility.
-
----
- tests/test_script.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/test_script.py b/tests/test_script.py
-index a83bc07f..d17a83bb 100644
---- a/tests/test_script.py
-+++ b/tests/test_script.py
-@@ -192,7 +192,7 @@ def start_watching(self):
-
- def stop_watching(self):
- """Stop the watch command thread."""
-- assert self.t.isAlive() # If it has already ended, something is wrong
-+ assert self.t.is_alive() # If it has already ended, something is wrong
- self.stopped = True
- self.t.join(1)
-
diff --git a/dev-python/webassets/metadata.xml b/dev-python/webassets/metadata.xml
deleted file mode 100644
index 8d3e20005efc..000000000000
--- a/dev-python/webassets/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">miracle2k/webassets</remote-id>
- <remote-id type="pypi">webassets</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/webassets/webassets-2.0.ebuild b/dev-python/webassets/webassets-2.0.ebuild
deleted file mode 100644
index 0f25c54ae40d..000000000000
--- a/dev-python/webassets/webassets-2.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=rdepend
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit distutils-r1
-
-DESCRIPTION="Asset management for Python web development"
-HOMEPAGE="https://github.com/miracle2k/webassets"
-SRC_URI="https://github.com/miracle2k/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-# ^^ pypi tarball is missing tests
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-# dev-ruby/sass confuses the tests, they expect 'sass' as the reference
-# compiler
-BDEPEND="
- test? (
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- !!dev-ruby/sass
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.0-python39.patch"
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # webassets wants /usr/bin/babel from babeljs,
- # but we have only one from openbabel
- # ... and we don't have postcss
- sed -i \
- -e 's|\(TestBabel\)|No\1|' \
- -e 's|\(TestAutoprefixer6Filter\)|No\1|' \
- tests/test_filters.py || die
-
- distutils-r1_python_prepare_all
-}
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 9bd9954136e2..000000000000
--- a/dev-python/webcolors/webcolors-1.12.ebuild
+++ /dev/null
@@ -1,22 +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_{8..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 ba597a9bf4cd..9e8153aaa871 100644
--- a/dev-python/webencodings/webencodings-0.5.1-r2.ebuild
+++ b/dev-python/webencodings/webencodings-0.5.1-r2.ebuild
@@ -1,19 +1,18 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} 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"
@@ -21,10 +20,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv
distutils_enable_tests pytest
-python_prepare_all() {
- cat >> setup.cfg <<- EOF || die
- [tool:pytest]
- python_files=test*.py
- EOF
- distutils-r1_python_prepare_all
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o 'python_files=test*.py'
}
diff --git a/dev-python/webob/webob-1.8.7-r1.ebuild b/dev-python/webob/webob-1.8.7-r1.ebuild
index cef16dc02f0e..f85e17ace805 100644
--- a/dev-python/webob/webob-1.8.7-r1.ebuild
+++ b/dev-python/webob/webob-1.8.7-r1.ebuild
@@ -1,15 +1,14 @@
-# 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=( pypy3 python3_{8..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 8f94ff3c6647..1fa86dbd3fdb 100644
--- a/dev-python/websocket-client/Manifest
+++ b/dev-python/websocket-client/Manifest
@@ -1,2 +1 @@
-DIST websocket-client-1.3.2.tar.gz 47821 BLAKE2B bdd398885f1c76646e094f6e2efa3c886bfddb0d5f1a2961ad2586444c9bff7272f61d880567e7826aa49c36ac48d6cad1583d0cc4bdb73d0f1702e9b4bf2e2b SHA512 c2a38aa3fff0e7f94433cec1939ce75074d9f89d403c0627f34e3a0486dc35fe00230ba7c05f9172a89d3ee49f0ef53ae367eca864f34ec95932966b31d6c3a8
-DIST websocket-client-1.3.3.tar.gz 48250 BLAKE2B 1d6027d7ad2f45ad774da8c4d5ad9c19c084998429cbd0ad5ade89700bcc21dc7c2ac452d0f4238432c0af16ca82d01442d002f988204c96e655d810906730b7 SHA512 e70b6c074cbcac1e97dc11b0ccf60dc67fc066f8394b6cbd20349c1d41d625966c03645da5ccd0a81198c80e2e40fdc267ac599bc5dfacadad4c511a83e06de1
+DIST websocket_client-1.8.0.tar.gz 54648 BLAKE2B 8fb21148f7d5dfc9e16704560dbcd64c96f4d28ed8382dc0b3427c3b472bb2e1b386d9026ce4c1b91b50d8e7828f8d4ca34e1537797b20f63150d86337db97c6 SHA512 d41dbd4695adcad14142db048b291eed9367153101853e3e17ee8448aa4be9d20bd91b62707291e2b093ce969d51aeef16ceae7330734b5a1556023d773c5a85
diff --git a/dev-python/websocket-client/websocket-client-1.3.2.ebuild b/dev-python/websocket-client/websocket-client-1.3.2.ebuild
deleted file mode 100644
index b192b8c16b12..000000000000
--- a/dev-python/websocket-client/websocket-client-1.3.2.ebuild
+++ /dev/null
@@ -1,34 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="WebSocket client for python with hybi13 support"
-HOMEPAGE="https://github.com/websocket-client/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 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.3.3.ebuild b/dev-python/websocket-client/websocket-client-1.3.3.ebuild
deleted file mode 100644
index 688e78df8634..000000000000
--- a/dev-python/websocket-client/websocket-client-1.3.3.ebuild
+++ /dev/null
@@ -1,34 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="WebSocket client for python with hybi13 support"
-HOMEPAGE="https://github.com/websocket-client/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 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="examples"
-
-BDEPEND="
- test? (
- dev-python/python-socks[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_install_all() {
- if use examples; then
- docompress -x "/usr/share/doc/${PF}/examples"
- dodoc -r examples
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/websocket-client/websocket-client-1.8.0.ebuild b/dev-python/websocket-client/websocket-client-1.8.0.ebuild
new file mode 100644
index 000000000000..979d7e8af8fc
--- /dev/null
+++ b/dev-python/websocket-client/websocket-client-1.8.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..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 8f7dd146ef05..0583165f45d3 100644
--- a/dev-python/websockets/Manifest
+++ b/dev-python/websockets/Manifest
@@ -1 +1,2 @@
-DIST websockets-10.3.gh.tar.gz 304375 BLAKE2B db6075304613ff74ad5928a0c57e90a7d418ac0b9532adba4c6a17b3c3f1982cc94db8ac4c0da5f65343a915f3b2e7ccedce4e6d5d4960cb72fc93c3db6e041c SHA512 75a11dd7605808954c5f59decda5b115db73de96ed4023d8d7ee3c9966551a9ded2d771f76b086c76f49b0787f19349dadcd9010eb5fea8eeddf3d9bba1c6cbb
+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/files/websockets-10.3-py311.patch b/dev-python/websockets/files/websockets-10.3-py311.patch
deleted file mode 100644
index d15eb2d32f81..000000000000
--- a/dev-python/websockets/files/websockets-10.3-py311.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/tests/legacy/test_client_server.py b/tests/legacy/test_client_server.py
-index f9de70c..05070c8 100644
---- a/tests/legacy/test_client_server.py
-+++ b/tests/legacy/test_client_server.py
-@@ -426,6 +426,10 @@ class CommonClientServerTests:
- self.used_for_read = True
- return super().recv(*args, **kwargs)
-
-+ def recv_into(self, *args, **kwargs):
-+ self.used_for_read = True
-+ return super().recv_into(*args, **kwargs)
-+
- def send(self, *args, **kwargs):
- self.used_for_write = True
- return super().send(*args, **kwargs)
-@@ -1299,6 +1303,8 @@ class ClientServerOriginTests(ClientServerTestsMixin, AsyncioTestCase):
- self.assertEqual(self.loop.run_until_complete(self.client.recv()), "Hello!")
-
-
-+@unittest.skipIf(sys.version_info[:2] >= (3, 11),
-+ "asyncio.coroutine has been removed in Python 3.11")
- class YieldFromTests(ClientServerTestsMixin, AsyncioTestCase):
- @with_server()
- def test_client(self):
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.3.ebuild b/dev-python/websockets/websockets-10.3.ebuild
deleted file mode 100644
index d71d754cb413..000000000000
--- a/dev-python/websockets/websockets-10.3.ebuild
+++ /dev/null
@@ -1,39 +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_{8..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
-
-PATCHES=(
- "${FILESDIR}/${P}-py311.patch"
-)
-
-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 6381a4b18ee4..000000000000
--- a/dev-python/websockify/websockify-0.10.0-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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 e630a7ea4cf4..0b2948bb5da8 100644
--- a/dev-python/webtest/webtest-3.0.0-r1.ebuild
+++ b/dev-python/webtest/webtest-3.0.0-r1.ebuild
@@ -1,23 +1,21 @@
-# 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_{8..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 e1aff198a676..8923d4d563d0 100644
--- a/dev-python/werkzeug/Manifest
+++ b/dev-python/werkzeug/Manifest
@@ -1,3 +1,2 @@
-DIST werkzeug-2.1.2.gh.tar.gz 833667 BLAKE2B e045f566862bfe0f86185cd10aa26bf94a4fc2f7b23173c6a28c9b55d0f239fbba5c66071fab5df6102717b51a1c1fada872e9d9383b9d3b34ab92ffcfd96e59 SHA512 28c4a794a3dbc8423e59244fbcf192b60b53f378444aaaf60330bdd62cec38a4625033b5d72b55613c8b26053a60153ddcb816331ff28ad3ee03bede74d8b1b3
-DIST werkzeug-2.2.0.gh.tar.gz 839619 BLAKE2B b6eae91d9a44d030517be5da13c448cf4a2778db7cde61ce36add8dea6f2ac251b31e71d128c4156f44083a4c1b77e546a7e6c55787d8beb93c49538d45b51fd SHA512 2de05269ccd3d83728d435d2f155887a5fd3f3bda9b71c32ffd64b089116c80e89319870fa082f1c6feeeb797b665521b9692ce6c87dcb48b7fa49b2fc63516b
-DIST werkzeug-2.2.1.gh.tar.gz 840062 BLAKE2B da7c59eb182e2318c291a6d346a2a444cc054726dd3cf47617b82440383a4c1068b4a31adb6f44d1b965e2efbacf7469c1845d3666fe24288e976bc25794ebcf SHA512 466d164f8a5861cd36eaaf3674a8bb6640593981007d1d6bced1abbdaf8c6a39666601960ebfb2dc35b7c9c17a961ea07bf919cd646c282d27fd5e0f36cc3035
+DIST werkzeug-3.0.2.gh.tar.gz 817516 BLAKE2B 0c3324b6793f2fad77f62fbd0e3b847a73d6348d4a069dd83c852475d9cfa88feb3ab3ff1c4d547622b732de5fc3ba781d776d30f11ec1fae93cafdcfd9077eb SHA512 fdf44d2af517af69632909ae6fd5af327f34778c8f2dc7e606380123941102cc09d593a2036e843036e5abe998d2b2722f97b959eaeffc8de2b71a5b372a1e3e
+DIST werkzeug-3.0.3.tar.gz 803342 BLAKE2B 8c47d3131abeb8ce2d92291e08b603152210c44c40156b5399d24b167d0a02daf6adbeafec43e8b33dff940271feec95e9333e637e825f511cd5d03686c1e02e SHA512 fc771c161b37a376a86930c29c8b8052f81fb869cedea8c3c83af1e8b1aba271358c918e3067f3b0ac6d4a1689c8c355bff410d521c73a1909fd0ffc90fee6c6
diff --git a/dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch b/dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch
new file mode 100644
index 000000000000..3993b0847957
--- /dev/null
+++ b/dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch
@@ -0,0 +1,21 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index b73202cd..905f3f4b 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -107,10 +107,12 @@ def dev_server(xprocess, request, tmp_path):
+ # Unbuffered output so the logs update immediately.
+ env = {**os.environ, "PYTHONPATH": str(tmp_path), "PYTHONUNBUFFERED": "1"}
+
+- @cached_property
+- def pattern(self):
+- client.request("/ensure")
+- return "GET /ensure"
++ def startup_check(self):
++ try:
++ client.request("/ensure")
++ return True
++ except (ConnectionRefusedError, FileNotFoundError):
++ return False
+
+ # Each test that uses the fixture will have a different log.
+ xp_name = f"dev_server-{request.node.name}"
diff --git a/dev-python/werkzeug/metadata.xml b/dev-python/werkzeug/metadata.xml
index 9a08f8f43ebf..5e4993aad75d 100644
--- a/dev-python/werkzeug/metadata.xml
+++ b/dev-python/werkzeug/metadata.xml
@@ -5,6 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">Werkzeug</remote-id>
<remote-id type="github">pallets/werkzeug</remote-id>
diff --git a/dev-python/werkzeug/werkzeug-2.1.2.ebuild b/dev-python/werkzeug/werkzeug-2.1.2.ebuild
deleted file mode 100644
index 08e231670751..000000000000
--- a/dev-python/werkzeug/werkzeug-2.1.2.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 ppc ppc64 ~riscv ~s390 sparc x86"
-
-# 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}]
- !alpha? ( !arm? ( !hppa? ( !ia64? ( !s390? (
- $(python_gen_cond_dep '
- dev-python/cryptography[${PYTHON_USEDEP}]
- ' python3_{8..10} pypy3 # TODO: add py3.11 when ported
- )
- ) ) ) ) )
- !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-2.2.0.ebuild b/dev-python/werkzeug/werkzeug-2.2.0.ebuild
deleted file mode 100644
index be897c71f734..000000000000
--- a/dev-python/werkzeug/werkzeug-2.2.0.ebuild
+++ /dev/null
@@ -1,66 +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_{8..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 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-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}]
- !alpha? ( !arm? ( !hppa? ( !ia64? ( !s390? (
- $(python_gen_cond_dep '
- dev-python/cryptography[${PYTHON_USEDEP}]
- ' python3_{8..10} pypy3 # TODO: add py3.11 when ported
- )
- ) ) ) ) )
- !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-2.2.1.ebuild b/dev-python/werkzeug/werkzeug-2.2.1.ebuild
deleted file mode 100644
index 1d31830ca31d..000000000000
--- a/dev-python/werkzeug/werkzeug-2.2.1.ebuild
+++ /dev/null
@@ -1,66 +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_{8..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 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-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}]
- !alpha? ( !arm? ( !hppa? ( !ia64? ( !s390? (
- $(python_gen_cond_dep '
- dev-python/cryptography[${PYTHON_USEDEP}]
- ' python3_{8..11} pypy3 # TODO: add py3.11 when ported
- )
- ) ) ) ) )
- !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.2-r1.ebuild b/dev-python/werkzeug/werkzeug-3.0.2-r1.ebuild
new file mode 100644
index 000000000000..0be599e6c272
--- /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.3.ebuild b/dev-python/werkzeug/werkzeug-3.0.3.ebuild
new file mode 100644
index 000000000000..3c1c6d1cf602
--- /dev/null
+++ b/dev-python/werkzeug/werkzeug-3.0.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} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of various utilities for WSGI applications"
+HOMEPAGE="
+ https://palletsprojects.com/p/werkzeug/
+ https://pypi.org/project/Werkzeug/
+ https://github.com/pallets/werkzeug/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/markupsafe-2.1.1[${PYTHON_USEDEP}]
+"
+# 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
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p xprocess -p timeout 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/metadata.xml b/dev-python/whatever/metadata.xml
index 37b7834406f8..2693a8d24ef7 100644
--- a/dev-python/whatever/metadata.xml
+++ b/dev-python/whatever/metadata.xml
@@ -11,5 +11,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">whatever</remote-id>
+ <remote-id type="github">Suor/whatever</remote-id>
</upstream>
</pkgmetadata>
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 6dbd0152240a..000000000000
--- a/dev-python/whatever/whatever-0.6-r1.ebuild
+++ /dev/null
@@ -1,21 +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_{8..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 39646ce779dc..428b6bea90d1 100644
--- a/dev-python/whatthepatch/Manifest
+++ b/dev-python/whatthepatch/Manifest
@@ -1 +1 @@
-DIST whatthepatch-1.0.2.tar.gz 28459 BLAKE2B e24c882fe1ad42f27eeced72d92423d807ac3284bf0045674b78a247a7222bb142d500129b82a32f8fc95934beaa87a378822da2ef80b1d66d98c171b3a15666 SHA512 e77aa6e934f26647b7a060f46eedd8f5984e43b93b7d576cf8d7a930d08e4b3c5c96c79e61e001df405f3f18c07e4296ce79009d9b9e9c721342af9f8560b4cf
+DIST whatthepatch-1.0.5.tar.gz 31850 BLAKE2B dfded6069aa70051fb5f399c9f4707969be4dfc1dee853cd8eb7f36e074c2b595eddbae3efd534321dbbcce7a6658ef9e9bc7675ef466e0a486d930d62761e1e SHA512 d87a36a608a15bcf6d28d26afee40161e26f17fa3b011056388f9850896577f913a91066de8b6071ea15b28fa05f8d00acb997b18483ea56218df4efb40109ab
diff --git a/dev-python/whatthepatch/whatthepatch-1.0.2.ebuild b/dev-python/whatthepatch/whatthepatch-1.0.2.ebuild
deleted file mode 100644
index 2ed279f4dc7c..000000000000
--- a/dev-python/whatthepatch/whatthepatch-1.0.2.ebuild
+++ /dev/null
@@ -1,19 +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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A patch parsing and application library."
-HOMEPAGE="https://github.com/cscorley/whatthepatch"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-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 bab8a6bcd511..abc3cec4882f 100644
--- a/dev-python/wheel/Manifest
+++ b/dev-python/wheel/Manifest
@@ -1 +1 @@
-DIST wheel-0.37.1.gh.tar.gz 68751 BLAKE2B 55919649f82668565d3b5907d14d0758984bb7d29d8857807ad034288ed8c9e8660957dc16f418f18408e89a97cf0d3c30df874a17f56deb56918388b18246a7 SHA512 9493db2f29e16d17ca06a4d47854b3df5dfd17f21c77efd42befd54470858256fd59f56aa9585cbf0a09830927b657d546324f793e1b1153665bf0b74d0c0457
+DIST wheel-0.43.0.tar.gz 99109 BLAKE2B 49e77ba84fb0a9b3bd177d994b9b33f8e5fa2bb8528fe1216fd55e6d749e201ac9a76ff24c8178485bff94d0f7840d42e0aa8f940fc3fe7d91c41411fa1cd907 SHA512 b6213c05263026884c07bdc4d529252f0be013c3fc6d0558008b7130ba90d4ef11e57f155f62f5e2528ddcd78d188530b2b7c78acc15b8168f64935fe6e6393b
diff --git a/dev-python/wheel/metadata.xml b/dev-python/wheel/metadata.xml
index 4d35890ff692..2bb9fa8c897f 100644
--- a/dev-python/wheel/metadata.xml
+++ b/dev-python/wheel/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">wheel</remote-id>
+ <remote-id type="github">pypa/wheel</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/wheel/wheel-0.37.1-r1.ebuild b/dev-python/wheel/wheel-0.37.1-r1.ebuild
deleted file mode 100644
index 8b1ef52db3b6..000000000000
--- a/dev-python/wheel/wheel-0.37.1-r1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2022 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_{8..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="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-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() {
- sed \
- -e 's:--cov --cov-config=setup.cfg::g' \
- -i setup.cfg || die
-
- # unbundle packaging
- rm -r src/wheel/vendored || die
- sed -i -e 's:\.vendored\.::' src/wheel/*.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..a8b3a7d1ade4
--- /dev/null
+++ b/dev-python/wheel/wheel-0.43.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A built-package format for Python"
+HOMEPAGE="
+ https://github.com/pypa/wheel/
+ https://pypi.org/project/wheel/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unbundle packaging
+ rm -r src/wheel/vendored || die
+ sed -i -e 's:\.vendored\.::' src/wheel/*.py || die
+ sed -i -e 's:wheel\.vendored\.::' tests/*.py || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/whichcraft/whichcraft-0.6.1-r1.ebuild b/dev-python/whichcraft/whichcraft-0.6.1-r1.ebuild
index 4c3211b5e452..b6671fca6823 100644
--- a/dev-python/whichcraft/whichcraft-0.6.1-r1.ebuild
+++ b/dev-python/whichcraft/whichcraft-0.6.1-r1.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_{8..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 7c5e02c4610f..1a41146c2dd5 100644
--- a/dev-python/whisper/whisper-1.1.10.ebuild
+++ b/dev-python/whisper/whisper-1.1.10.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-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=( pypy3 python3_{8..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 88829be92af2..f0a019788d14 100644
--- a/dev-python/whoosh/metadata.xml
+++ b/dev-python/whoosh/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>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
@@ -18,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 a84125c4a715..8b2f267ea928 100644
--- a/dev-python/whoosh/whoosh-2.7.4-r2.ebuild
+++ b/dev-python/whoosh/whoosh-2.7.4-r2.ebuild
@@ -1,16 +1,19 @@
-# 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_{8..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 c96464486198..9a22e83b4775 100644
--- a/dev-python/widgetsnbextension/Manifest
+++ b/dev-python/widgetsnbextension/Manifest
@@ -1 +1 @@
-DIST widgetsnbextension-3.6.1.tar.gz 802619 BLAKE2B 8b1d829137d418d35386d64b71050627ab8639ecae76fa0dbda46925ed495405f234f16b29213d3520e20f8021f139064e1e844c2a63004ab2bd0f3830af2a80 SHA512 0c7a723648299b2839d04b85bec0909f780f32a1181940b8b6ee985b0703732cd6ee57f904ebcbb678c069bd4fb2c27f94a554ffca91890176a7147ab7fd8faf
+DIST widgetsnbextension-4.0.10.tar.gz 1147204 BLAKE2B 16b81a1ad6c1d527c27d1fe48952d8ad89c14c2ae7cd1f7f00eea43263f9fde481df1db18d74a8a6417c9270bd29a46c77b495b520848c4782c1d60295d5850c SHA512 0e16dc994093712851a3ad0385844fd3f807157a024dd6ce26c3f6b3953cfb01421d877363def747405c8c887a00a880dcc06664d45d142b3c548b7d67b7008d
diff --git a/dev-python/widgetsnbextension/widgetsnbextension-3.6.1.ebuild b/dev-python/widgetsnbextension/widgetsnbextension-3.6.1.ebuild
deleted file mode 100644
index 912563da1289..000000000000
--- a/dev-python/widgetsnbextension/widgetsnbextension-3.6.1.ebuild
+++ /dev/null
@@ -1,26 +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_{8..10} )
-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 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-RDEPEND="
- dev-python/notebook[${PYTHON_USEDEP}]
-"
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/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 5b24a02156de..000000000000
--- a/dev-python/wrapt/wrapt-1.14.1.ebuild
+++ /dev/null
@@ -1,31 +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_{8..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 ~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/ws4py/Manifest b/dev-python/ws4py/Manifest
deleted file mode 100644
index 7f62255c2b2b..000000000000
--- a/dev-python/ws4py/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ws4py-0.5.1.tar.gz 116673 BLAKE2B 31db304800f0d3da61dc4c1a3381a8fcfcfa8f16b36d916311cc32f1d294c9f7b3627dac673edf824f529f485f825ca418ab1e1a8a2fda5583c6a6a1bd9b752c SHA512 4c90d66d37fb5bdc8f7fc9fd184b20a7dc2dae811ecf3a041477e3c26a2577008be7041799daca5b8c0de65cb2454022a6c135cf02534ca98b6946abbfce0e11
diff --git a/dev-python/ws4py/files/ws4py-0.5.1-python3.7+-compatibility.patch b/dev-python/ws4py/files/ws4py-0.5.1-python3.7+-compatibility.patch
deleted file mode 100644
index 12b14111634a..000000000000
--- a/dev-python/ws4py/files/ws4py-0.5.1-python3.7+-compatibility.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From: Matthias Klose <doko@ubuntu.com>
-Date: Sun, 29 Jul 2018 09:01:36 +0200
-Subject: Fix compatibility with Python 3.7.
-Origin: http://launchpadlibrarian.net/380629852/python-ws4py_0.4.2+dfsg1-2_0.4.2+dfsg1-2ubuntu1.diff.gz
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=903529
-
----
- test/autobahn_test_servers.py | 4 ++--
- ws4py/async_websocket.py | 9 +++++++--
- ws4py/server/tulipserver.py | 7 ++++++-
- 3 files changed, 15 insertions(+), 5 deletions(-)
-
-diff --git a/test/autobahn_test_servers.py b/test/autobahn_test_servers.py
-index 3e33f82..8b77954 100644
---- a/test/autobahn_test_servers.py
-+++ b/test/autobahn_test_servers.py
-@@ -142,7 +142,7 @@ def run_python_wsgi(host="127.0.0.1", port=9002):
- """
- run_python_wsgi_async(host, port, False)
-
--def run_python_wsgi_async(host="127.0.0.1", port=9010, async=True):
-+def run_python_wsgi_async(host="127.0.0.1", port=9010, async_=True):
- """
- Runs wsgi server on python 2.x with async middleware"
- """
-@@ -153,7 +153,7 @@ def run_python_wsgi_async(host="127.0.0.1", port=9010, async=True):
- from ws4py.server.wsgiutils import WebSocketWSGIApplication
-
- app = WebSocketWSGIApplication(handler_cls=EchoWebSocket)
-- if async:
-+ if async_:
- def middleware(app):
- def later(environ, start_response):
- for part in app(environ, start_response):
-diff --git a/ws4py/async_websocket.py b/ws4py/async_websocket.py
-index 9e2a4c7..096763d 100644
---- a/ws4py/async_websocket.py
-+++ b/ws4py/async_websocket.py
-@@ -18,6 +18,11 @@ delegated_generator_websocket_on_top_of_asyncio.py
- import asyncio
- import types
-
-+try: # pragma: no cover
-+ asyncio_ensure_future = asyncio.ensure_future # Python >= 3.5
-+except AttributeError: # pragma: no cover
-+ asyncio_ensure_future = getattr(asyncio, 'async') # Python < 3.5
-+
- from ws4py.websocket import WebSocket as _WebSocket
- from ws4py.messaging import Message
-
-@@ -84,7 +89,7 @@ class WebSocket(_WebSocket):
- def closeit():
- yield from self.proto.writer.drain()
- self.proto.writer.close()
-- asyncio.async(closeit())
-+ asyncio.asyncio_ensure_future(closeit())
-
- def _write(self, data):
- """
-@@ -94,7 +99,7 @@ class WebSocket(_WebSocket):
- def sendit(data):
- self.proto.writer.write(data)
- yield from self.proto.writer.drain()
-- asyncio.async(sendit(data))
-+ asyncio.asyncio_ensure_future(sendit(data))
-
- @asyncio.coroutine
- def run(self):
-diff --git a/ws4py/server/tulipserver.py b/ws4py/server/tulipserver.py
-index 2786c16..ce2e9fb 100644
---- a/ws4py/server/tulipserver.py
-+++ b/ws4py/server/tulipserver.py
-@@ -6,6 +6,11 @@ import io
-
- import asyncio
-
-+try: # pragma: no cover
-+ asyncio_ensure_future = asyncio.ensure_future # Python >= 3.5
-+except AttributeError: # pragma: no cover
-+ asyncio_ensure_future = getattr(asyncio, 'async') # Python < 3.5
-+
- from ws4py import WS_KEY, WS_VERSION
- from ws4py.exc import HandshakeError
- from ws4py.websocket import WebSocket
-@@ -40,7 +45,7 @@ class WebSocketProtocol(asyncio.StreamReaderProtocol):
- #self.stream.set_transport(transport)
- asyncio.StreamReaderProtocol.connection_made(self, transport)
- # Let make it concurrent for others to tag along
-- f = asyncio.async(self.handle_initial_handshake())
-+ f = asyncio.asyncio_ensure_future(self.handle_initial_handshake())
- f.add_done_callback(self.terminated)
-
- @property
diff --git a/dev-python/ws4py/metadata.xml b/dev-python/ws4py/metadata.xml
deleted file mode 100644
index bcbb23469491..000000000000
--- a/dev-python/ws4py/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-needed -->
- <use>
- <flag name="client">Install client modules</flag>
- <flag name="server">Install server modules</flag>
- </use>
- <upstream>
- <remote-id type="github">Lawouach/WebSocket-for-Python</remote-id>
- <remote-id type="pypi">ws4py</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/ws4py/ws4py-0.5.1-r1.ebuild b/dev-python/ws4py/ws4py-0.5.1-r1.ebuild
deleted file mode 100644
index dbf1c8a54b9f..000000000000
--- a/dev-python/ws4py/ws4py-0.5.1-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# We could depend on dev-python/cherrypy when USE=server, but
-# that is an optional component ...
-# Same for www-servers/tornado and USE=client ... so why not???
-# pypy is viable but better with a cutdown set of deps
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-PYTHON_REQ_USE="threads(+)?"
-
-MY_PN="WebSocket-for-Python"
-
-inherit distutils-r1
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://github.com/Lawouach/${MY_PN}.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/Lawouach/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm x86"
- S="${WORKDIR}/${MY_PN}-${PV}"
-fi
-
-DESCRIPTION="WebSocket client and server library for Python 2 and 3 as well as PyPy"
-HOMEPAGE="https://github.com/Lawouach/WebSocket-for-Python"
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="+client +server test +threads"
-RESTRICT="!test? ( test )"
-# doc build requires sphinxcontrib ext packages absent from portage
-
-RDEPEND=">=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
- client? ( >=www-servers/tornado-3.1[${PYTHON_USEDEP}] )
- server? ( >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}] )"
-
-DEPEND="test? (
- >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}]
- >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
- )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.5.1-python3.7+-compatibility.patch
-)
-
-python_test() {
- # testsuite displays an issue with mock under py3 but is non fatal
- "${EPYTHON}" -m unittest discover || die "Tests failed under ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
- use client || rm -rf "${D}$(python_get_sitedir)"/ws4py/client
- use server || rm -rf "${D}$(python_get_sitedir)"/ws4py/server
-}
diff --git a/dev-python/ws4py/ws4py-9999.ebuild b/dev-python/ws4py/ws4py-9999.ebuild
deleted file mode 100644
index d38a767a08cc..000000000000
--- a/dev-python/ws4py/ws4py-9999.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# We could depend on dev-python/cherrypy when USE=server, but
-# that is an optional component ...
-# Same for www-servers/tornado and USE=client ... so why not???
-# pypy is viable but better with a cutdown set of deps
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-PYTHON_REQ_USE="threads(+)?"
-
-MY_PN="WebSocket-for-Python"
-
-inherit distutils-r1
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://github.com/Lawouach/${MY_PN}.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/Lawouach/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 arm ~x86"
- S="${WORKDIR}/${MY_PN}-${PV}"
-fi
-
-DESCRIPTION="WebSocket client and server library for Python 2 and 3 as well as PyPy"
-HOMEPAGE="https://github.com/Lawouach/WebSocket-for-Python"
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="+client +server test +threads"
-RESTRICT="!test? ( test )"
-# doc build requires sphinxcontrib ext packages absent from portage
-
-RDEPEND=">=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
- client? ( >=www-servers/tornado-3.1[${PYTHON_USEDEP}] )
- server? ( >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}] )"
-
-DEPEND="test? (
- >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}]
- >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
- )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.5.1-python3.7+-compatibility.patch
-)
-
-python_test() {
- # testsuite displays an issue with mock under py3 but is non fatal
- "${EPYTHON}" -m unittest discover || die "Tests failed under ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
- use client || rm -rf "${D}$(python_get_sitedir)"/ws4py/client
- use server || rm -rf "${D}$(python_get_sitedir)"/ws4py/server
-}
diff --git a/dev-python/wsaccel/Manifest b/dev-python/wsaccel/Manifest
index 701ce88fac1d..814d6171a347 100644
--- a/dev-python/wsaccel/Manifest
+++ b/dev-python/wsaccel/Manifest
@@ -1 +1 @@
-DIST wsaccel-0.6.3.tar.gz 9723 BLAKE2B 75da0f27e07b52ed730d239ef807da7ba9dd342144ca2e78c32dc09b20c1ebfc006aa9969b1f811d172ca18b75533a4560a29112e56d6dfd472117a0d072fc8e SHA512 0fe97c7fa94cec1b9cf019507f55ce633a9b4bda86329937cddcfa25ba94755010813688cda77ee4fea1c50918e45cd50770bb27e7583e630c46e84d27c155da
+DIST wsaccel-0.6.6.gh.tar.gz 9930 BLAKE2B f8d8c9ae0966374fbd965859150cca68b3fae6f39fdcfa744f98e7fade2a76946b57bea753c2dbb4051ef635e0dd0fbfd915c7f8bf4b9b5cd2b5b372694d632f SHA512 4a107db921f6f6549fb9f2f0b5c698331274171ef509136fc2d83cb6ca8bedbde32a14aaca4e38e16af3054337774dbd6aa7d8caee7866a51ded751d7d3764be
diff --git a/dev-python/wsaccel/wsaccel-0.6.3-r1.ebuild b/dev-python/wsaccel/wsaccel-0.6.3-r1.ebuild
deleted file mode 100644
index 087d7886b9dd..000000000000
--- a/dev-python/wsaccel/wsaccel-0.6.3-r1.ebuild
+++ /dev/null
@@ -1,34 +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_{8..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}.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 94bff3150d2d..829f1613c22e 100644
--- a/dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild
+++ b/dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild
@@ -1,21 +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=setuptools
-PYTHON_COMPAT=( python3_{8..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/Manifest b/dev-python/wsproto/Manifest
index 9293d64b38cf..74eba910df29 100644
--- a/dev-python/wsproto/Manifest
+++ b/dev-python/wsproto/Manifest
@@ -1 +1 @@
-DIST wsproto-1.1.0.tar.gz 52928 BLAKE2B 837f5d8411a55b026d8c5df8b03b44c92f71fe2856884e5199e639a5c060fabbe8eec39cb6861e8f88ae7fc366cbeef4f9d62dade2c95857d27339fa73e90638 SHA512 0cd726bc62ca4d11e96f470f51511008bd43dbb9e99a17633d2a40da7bdaf19716e0a1c995350f5c8f418f906848dd6f2b9b0a853c1b6858ddafa1cc02fab710
+DIST wsproto-1.2.0.tar.gz 53425 BLAKE2B 0b6bafb5d67be54a9b9c77a9682caf1071e82321fb9112ff977b643956ef5d2d5dcc7e523c6e3038c4548adb7b4f022fe2664112b7a10ab0e183d578158b0711 SHA512 43270687a1cfb5f35423c527de5b9db7ee2ddf27d416f47358386c1c94dc3f836a601f300bf66441c4b90130e6e6f502fb29dfeb2374dd76aefa19cfbb70a372
diff --git a/dev-python/wsproto/wsproto-1.1.0.ebuild b/dev-python/wsproto/wsproto-1.1.0.ebuild
deleted file mode 100644
index 77b63c9f278c..000000000000
--- a/dev-python/wsproto/wsproto-1.1.0.ebuild
+++ /dev/null
@@ -1,26 +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_{8..11} )
-
-inherit distutils-r1
-
-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"
-
-RDEPEND="
- >=dev-python/h11-0.9[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/wsproto/wsproto-1.2.0.ebuild b/dev-python/wsproto/wsproto-1.2.0.ebuild
new file mode 100644
index 000000000000..90d124abc9e5
--- /dev/null
+++ b/dev-python/wsproto/wsproto-1.2.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 pypi
+
+DESCRIPTION="WebSockets state-machine based protocol implementation"
+HOMEPAGE="
+ https://github.com/python-hyper/wsproto/
+ https://pypi.org/project/wsproto/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/h11-0.9[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
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 ca9fde70b010..000000000000
--- a/dev-python/wstools/wstools-0.4.10-r1.ebuild
+++ /dev/null
@@ -1,50 +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_{8..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 8692bb98c2df..000000000000
--- a/dev-python/wtforms/wtforms-3.0.1-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_{8..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/Manifest b/dev-python/wurlitzer/Manifest
index 6e56a56b9cf2..e269ed961b9a 100644
--- a/dev-python/wurlitzer/Manifest
+++ b/dev-python/wurlitzer/Manifest
@@ -1 +1,2 @@
-DIST wurlitzer-3.0.2.tar.gz 9846 BLAKE2B fe3223d1305891b60b9b3c361e05047d227f5682c63a47135b0d3e95bc373918266ec4cc141c947ff68795da12a8ea0c3c9c7e7a6ea31de8af22766b3354bbca SHA512 b0398699a15910511726053d32aa883fba249df9e7de393d645e4ac927d6ee9950fb459d27129d2806e39494245250b23ddf41acd349af514056dba1739cb1c8
+DIST wurlitzer-3.0.3.tar.gz 10171 BLAKE2B bf0ab15aaf0b693df64e0e9db38309ad1dad117aa97c1f380021ca81153eaf08ef742a97cf7451e72cc3473a2824fe142d8d8cd7ea1b28a367ed5761527c8d6a SHA512 6914ca77af8540bd949b74dfffe58b6ff9de603474e42e973b712f91a11dc906d7753f769932d26106c0543e98f42929741ed4de9ae14601eeadbd0dc5bfca35
+DIST wurlitzer-3.1.0.tar.gz 11571 BLAKE2B 2b7be0f34d1f7b5e15cce51ad749d31e3cd28b9693812aba2c9bcd2b38efc4cf2302abfabf74d11c9929a4951194fc284d05de8c068414626604497e98eb859f SHA512 c285f4169191bca9fb3e4fca884c35d630bbe0b9b9db0952a96888e97f2d27cd82d9defba7fbd2efba14ee2214235743eca1d9e8e79074b8bed2f1af066c0412
diff --git a/dev-python/wurlitzer/wurlitzer-3.0.2.ebuild b/dev-python/wurlitzer/wurlitzer-3.0.2.ebuild
deleted file mode 100644
index de7ccaf02dbc..000000000000
--- a/dev-python/wurlitzer/wurlitzer-3.0.2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-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"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest test.py
-}
diff --git a/dev-python/wurlitzer/wurlitzer-3.0.3.ebuild b/dev-python/wurlitzer/wurlitzer-3.0.3.ebuild
new file mode 100644
index 000000000000..027355d2cecc
--- /dev/null
+++ b/dev-python/wurlitzer/wurlitzer-3.0.3.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 pypi
+
+DESCRIPTION="Capture C-level stdout/stderr in Python"
+HOMEPAGE="
+ https://github.com/minrk/wurlitzer/
+ https://pypi.org/project/wurlitzer/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest test.py
+}
diff --git a/dev-python/wurlitzer/wurlitzer-3.1.0.ebuild b/dev-python/wurlitzer/wurlitzer-3.1.0.ebuild
new file mode 100644
index 000000000000..a38e180e1ee4
--- /dev/null
+++ b/dev-python/wurlitzer/wurlitzer-3.1.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} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Capture C-level stdout/stderr in Python"
+HOMEPAGE="
+ https://github.com/minrk/wurlitzer/
+ https://pypi.org/project/wurlitzer/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest test.py
+}
diff --git a/dev-python/www-authenticate/Manifest b/dev-python/www-authenticate/Manifest
deleted file mode 100644
index baaf62afcf15..000000000000
--- a/dev-python/www-authenticate/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST www-authenticate-0.9.2.tar.gz 2480 BLAKE2B 642640f29582983457134034d9d93ca20fb3d8992cbe3f5b3f9b35e3d95c154fb744dc8fbe35081d4af6b1b04ea37e27b35501bd783130d9e1bcf8aa6a0eeaba SHA512 5ee3ee733013d922bfef96981fd33b22947874c0a2a56c6d2dbfe11b0bc447a3ff6b6f294efaea2beaf2ff570cd3bf519a21bc71ce62fc0a8ce5edc5d68308f4
diff --git a/dev-python/www-authenticate/metadata.xml b/dev-python/www-authenticate/metadata.xml
deleted file mode 100644
index d551a361b18f..000000000000
--- a/dev-python/www-authenticate/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">www-authenticate</remote-id>
- <remote-id type="github">alexsdutton/www-authenticate</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/www-authenticate/www-authenticate-0.9.2.ebuild b/dev-python/www-authenticate/www-authenticate-0.9.2.ebuild
deleted file mode 100644
index 1b82576cee09..000000000000
--- a/dev-python/www-authenticate/www-authenticate-0.9.2.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="WWW-Authenticate header parser"
-HOMEPAGE="https://github.com/alexsdutton/www-authenticate"
-SRC_URI="https://github.com/alexsdutton/www-authenticate/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-distutils_enable_tests nose
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-r2.ebuild b/dev-python/wxpython/wxpython-4.0.7-r2.ebuild
deleted file mode 100644
index a8e8cec519d7..000000000000
--- a/dev-python/wxpython/wxpython-4.0.7-r2.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{8..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 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:0=
- media-libs/tiff:0
- media-libs/libjpeg-turbo:0"
-
-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
new file mode 100644
index 000000000000..f5f31581ea3f
--- /dev/null
+++ b/dev-python/x-wr-timezone/Manifest
@@ -0,0 +1,2 @@
+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/metadata.xml b/dev-python/x-wr-timezone/metadata.xml
new file mode 100644
index 000000000000..62a860ccbf79
--- /dev/null
+++ b/dev-python/x-wr-timezone/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">niccokunzmann/x-wr-timezone</remote-id>
+ <remote-id type="pypi">x-wr-timezone</remote-id>
+ </upstream>
+</pkgmetadata>
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 83ffaa877fbd..341efb534101 100644
--- a/dev-python/xarray/Manifest
+++ b/dev-python/xarray/Manifest
@@ -1,2 +1,3 @@
-DIST xarray-2022.3.0.tar.gz 2943007 BLAKE2B 4c323573835c00275b9c293157c78e42d14f2736c07dc06c61643052992b9c75d624cdf9a93487094fbffd9577662388807b661d388032add3b2e2ca3a63b812 SHA512 c088b985a852c57dcef14d8a5107987c0c33f17bde1d9d639d30ac826d906639ce0ee4fe8345c65a5479b944057af045fe50c2d2ea932356aceb0718f55cd24a
-DIST xarray-2022.6.0.tar.gz 3013166 BLAKE2B 4f2c17595ec904508e5f9c1d6ffead45be527b7f2ab73383126d57c7894712e924b605a86f890b0fec4ff45d1a263ce27fa324febf83f703ad36079e68f69663 SHA512 415bd84246d6d2b8aebf316ac9ef82ca7afeacce718349b75479c0aa693e2866dfe236e6dcaf41cae68afd7a99408f5027c938e6b7f447f5323e076b804f5165
+DIST xarray-2024.03.0.gh.tar.gz 3722922 BLAKE2B 52025d8ba196500ac989fc8ff85ae7578cae3602ede77b663350acf0e132d2d9358f3170c697aa2f158c2f3f3520607c23f9060356fec0942ebddb9ca3e039da SHA512 5d62c102a3fdf6dfc16182d3822386dc9edb75204dff9a9b8e3aa7bbe5b223c477f2a73f0a0e35de3454d9e738da6205da0c308bc778f8ffc9af80c20a49d6af
+DIST xarray-2024.1.1.tar.gz 3614037 BLAKE2B cc50fbfa19a2c9229b85b8c7d5d0e7e7f6d3e5a484955fcc81aa0b37839a0b992d2c2f928e4097ca05c7b8294ed1061fbd0c1b7e7c65c9087a940dab97c520ce SHA512 b6447ca2c80b3a3091ac2baba648fef4faa79ffff272360e9726b318b517ede9d2717d1b6f77f03fdacf55527233f1a37c0d114901fe1a265d3e435cf293a487
+DIST xarray-2024.2.0.tar.gz 3634288 BLAKE2B 8d1165360300da5af6d670947e5280052a3d8915768e02448b86ab38283d6d45258a2c4eb91982ba732ccedb3a7afc5f274116c9ee0072d35cdc5631b8a2ca50 SHA512 dcfe6d1f0edab8659664c5399b96d622d2e3df2f85bb7672d9afab6f74294a6449772efde080aaa7323f733c09cbd0f6f037e547be0afa79f39450eead777828
diff --git a/dev-python/xarray/files/xarray-0.19.0-riscv_tests_datetime.patch b/dev-python/xarray/files/xarray-0.19.0-riscv_tests_datetime.patch
deleted file mode 100644
index 1f356e95b561..000000000000
--- a/dev-python/xarray/files/xarray-0.19.0-riscv_tests_datetime.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-These tests are x86{_64}-centric because they rely on a specific result of
-casting a float64 NaN to int64, which is undefined in the C standard.
-See https://github.com/numpy/numpy/issues/8325 for details.
-
---- a/xarray/tests/__init__.py
-+++ b/xarray/tests/__init__.py
-@@ -40,6 +40,12 @@
- )
-
-
-+riscv_xfail = pytest.mark.xfail(
-+ "riscv" in platform.machine(),
-+ reason="expected failure on RISC-V",
-+)
-+
-+
- def _importorskip(modname, minversion=None):
- try:
- mod = importlib.import_module(modname)
---- a/xarray/tests/test_backends.py
-+++ b/xarray/tests/test_backends.py
-@@ -71,6 +71,7 @@
- requires_scipy,
- requires_scipy_or_netCDF4,
- requires_zarr,
-+ riscv_xfail,
- )
- from .test_coding_times import (
- _ALL_CALENDARS,
-@@ -492,6 +493,7 @@
- assert actual["x"].encoding["_Encoding"] == "ascii"
-
- @arm_xfail
-+ @riscv_xfail
- def test_roundtrip_numpy_datetime_data(self):
- times = pd.to_datetime(["2000-01-01", "2000-01-02", "NaT"])
- expected = Dataset({"t": ("t", times), "t0": times[0]})
---- a/xarray/tests/test_coding_times.py
-+++ b/xarray/tests/test_coding_times.py
-@@ -36,6 +36,7 @@
- requires_cftime,
- requires_cftime_1_4_1,
- requires_dask,
-+ riscv_xfail,
- )
-
- _NON_STANDARD_CALENDARS_SET = {
-@@ -466,6 +467,7 @@
-
-
- @arm_xfail
-+@riscv_xfail
- @requires_cftime
- @pytest.mark.parametrize(
- ["num_dates", "units", "expected_list"],
---- a/xarray/tests/test_duck_array_ops.py
-+++ b/xarray/tests/test_duck_array_ops.py
-@@ -38,6 +38,7 @@
- requires_bottleneck,
- requires_cftime,
- requires_dask,
-+ riscv_xfail,
- )
-
-
-@@ -280,6 +281,7 @@
-
-
- @arm_xfail
-+@riscv_xfail
- @pytest.mark.filterwarnings("ignore::RuntimeWarning")
- @pytest.mark.parametrize("dask", [False, True] if has_dask else [False])
- def test_datetime_mean(dask):
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.3.0.ebuild b/dev-python/xarray/xarray-2022.3.0.ebuild
deleted file mode 100644
index 6394aa2d7491..000000000000
--- a/dev-python/xarray/xarray-2022.3.0.ebuild
+++ /dev/null
@@ -1,42 +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_{8..10} )
-
-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.18[${PYTHON_USEDEP}]
- >=dev-python/pandas-1.1[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]"
-# note: most of 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}] )
- )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.19.0-riscv_tests_datetime.patch
-)
-
-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.6.0.ebuild b/dev-python/xarray/xarray-2022.6.0.ebuild
deleted file mode 100644
index ea669bc76788..000000000000
--- a/dev-python/xarray/xarray-2022.6.0.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=( python3_{8..10} )
-
-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.19[${PYTHON_USEDEP}]
- >=dev-python/pandas-1.2[${PYTHON_USEDEP}]
- dev-python/packaging[${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-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-r1.ebuild b/dev-python/xarray/xarray-2024.3.0-r1.ebuild
new file mode 100644
index 000000000000..fc4486aed87d
--- /dev/null
+++ b/dev-python/xarray/xarray-2024.3.0-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+# TODO: switch back to pypi in the next release
+MY_PV=2024.03.0
+MY_P=${PN}-${MY_PV}
+
+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="
+ https://github.com/pydata/xarray/archive/v${MY_PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~s390 ~x86"
+IUSE="big-endian"
+
+RDEPEND="
+ <dev-python/numpy-2[${PYTHON_USEDEP}]
+ >=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/cftime[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+ !hppa? ( >=dev-python/scipy-1.4[${PYTHON_USEDEP}] )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ if ! has_version ">=dev-python/scipy-1.4[${PYTHON_USEDEP}]" ; then
+ EPYTEST_DESELECT+=(
+ 'xarray/tests/test_missing.py::test_interpolate_na_2d[coords1]'
+ )
+ 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
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ 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..f09c55d11e8c
--- /dev/null
+++ b/dev-python/xarray/xarray-2024.3.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+# TODO: switch back to pypi in the next release
+MY_PV=2024.03.0
+MY_P=${PN}-${MY_PV}
+
+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="
+ https://github.com/pydata/xarray/archive/v${MY_PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~riscv ~s390 ~x86"
+IUSE="big-endian"
+
+RDEPEND="
+ <dev-python/numpy-2[${PYTHON_USEDEP}]
+ >=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=(
+ # requires dev-python/cftime
+ 'xarray/tests/test_coding_times.py::test_encode_cf_datetime_datetime64_via_dask[mixed-cftime-pandas-encoding-with-prescribed-units-and-dtype]'
+ )
+ 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
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/xcffib/Manifest b/dev-python/xcffib/Manifest
index 270ed80f043b..2f517d261ab7 100644
--- a/dev-python/xcffib/Manifest
+++ b/dev-python/xcffib/Manifest
@@ -1 +1 @@
-DIST xcffib-0.11.1.tar.gz 84713 BLAKE2B 6ab1ad6e582d71214cd719fdfa898e561e29d5750f5befe5c71173cfe34f2dff7dbd52fe93e618aab695646850f7ef5420114e2b1e725150c643904cdaba560a SHA512 09f4e19b88258446af26628c3a8e694c1f938fe3b5456e797b06174602fa0e9ef6e4eab76daccfd169d98fb7e869c910e6216d1f71fa2853e62b82c62c667669
+DIST xcffib-1.5.0.tar.gz 89544 BLAKE2B cb3820a53eb7694078e5dbb175951b6dbdc445c06f397898e52319fd8a7633f2d8115f0d096a14b2b3de0c7b07918343d077705814574ff41de2bf06a12812c0 SHA512 aaa426b57d0d8dc45cb6a2036c862af6308fb5781667b8dba3f5ff399fe5e15912860d0bb696ac09f1efd4ffbbdaf7f555ef76039bd660f36f5c6179535b654f
diff --git a/dev-python/xcffib/xcffib-0.11.1-r1.ebuild b/dev-python/xcffib/xcffib-0.11.1-r1.ebuild
deleted file mode 100644
index 1cbeb6eeca07..000000000000
--- a/dev-python/xcffib/xcffib-0.11.1-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..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"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~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.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 15fcae8bf6f0..b5e7ac7af6d1 100644
--- a/dev-python/xdoctest/Manifest
+++ b/dev-python/xdoctest/Manifest
@@ -1,2 +1 @@
-DIST xdoctest-1.0.0.gh.tar.gz 193294 BLAKE2B 95725757faafd2a15652557e07753ad8c4a8ee57b545169ba29b6e8f0ef5c7a021eff3c092cfe123da91311db98ef7700b29d52b1418a8160869402fb4ecfcab SHA512 8c77fbd8fcd1a3030b33651d35567dd4506ece3aa2c6155223d5cdea6e16510b59bcbd5b9ebb6dc13e20af92c5d07dc205485566b836874e835b18a53cbe7355
-DIST xdoctest-1.0.1.gh.tar.gz 200921 BLAKE2B 29d4947e8a49b11721c2ab8500e12334c9937d892519154267ad1ff3f98e3a35767eb770ed40d34c253e282e09e90de2567b92fd7b3167f7d8a58dcd762bc43d SHA512 c853f0b673ebc8b1f6fc6305a8688bffdf33cabab734a53f4ed1668d4f94d0431dd6e867b30a1c4588a86f3552e9b94ceaf540c3ed8e66f80bd9ce45ddbae690
+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.0.0.ebuild b/dev-python/xdoctest/xdoctest-1.0.0.ebuild
deleted file mode 100644
index 9ca86944c988..000000000000
--- a/dev-python/xdoctest/xdoctest-1.0.0.ebuild
+++ /dev/null
@@ -1,35 +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_{8..10} )
-
-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
diff --git a/dev-python/xdoctest/xdoctest-1.0.1.ebuild b/dev-python/xdoctest/xdoctest-1.0.1.ebuild
deleted file mode 100644
index a1433e00c391..000000000000
--- a/dev-python/xdoctest/xdoctest-1.0.1.ebuild
+++ /dev/null
@@ -1,39 +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_{8..10} )
-
-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
-
-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
new file mode 100644
index 000000000000..f15b86461fb5
--- /dev/null
+++ b/dev-python/xkbcommon/Manifest
@@ -0,0 +1 @@
+DIST python-xkbcommon-1.0.gh.tar.gz 27258 BLAKE2B 3106877f8e87f50453a358eec4e6431642b00a6a2bc23d3088ef22379984869ec84cd042a1ac53dd72783f3005dad1efddf3f87410204b88bfde4f9da0044c97 SHA512 c7793d6f5517771006ff5a9c01deb9a37717157d7171af49ff459dc96b3b16a1d2d4c0f1272b5a8f683390de1e8e6a6ff92472f18828c7e38e0f2a1ee6f34f07
diff --git a/dev-python/xkbcommon/metadata.xml b/dev-python/xkbcommon/metadata.xml
new file mode 100644
index 000000000000..0dfaf46622c1
--- /dev/null
+++ b/dev-python/xkbcommon/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">sde1000/python-xkbcommon</remote-id>
+ <remote-id type="pypi">xkbcommon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/xkbcommon/xkbcommon-1.0.ebuild b/dev-python/xkbcommon/xkbcommon-1.0.ebuild
new file mode 100644
index 000000000000..5b1afed2756f
--- /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 a00ed2b3d082..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 57ed2a081a4c..6be404ad2535 100644
--- a/dev-python/xlsxwriter/Manifest
+++ b/dev-python/xlsxwriter/Manifest
@@ -1 +1 @@
-DIST XlsxWriter-RELEASE_3.0.3.tar.gz 35519702 BLAKE2B f4dfa6b286dda94a1a44d8168b8e17f7a37f2f59a23aa3a5ed0efa46b5d8bdcdb831e99a61924e22755c6a921c23f5c540c048152cd07363841ff09a49549c79 SHA512 92a53226aa9ee9f8493fe7171ce752f3a13ef8f3107aecbef896f17022e93bd7dbccb5e619fcbbb3598102030b190d75508d4dacce20b9643eead59a4441f6aa
+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 78fe056c1bca..000000000000
--- a/dev-python/xlsxwriter/xlsxwriter-3.0.3.ebuild
+++ /dev/null
@@ -1,28 +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_{8..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 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 22ebd92f8225..aab66af25710 100644
--- a/dev-python/xlwt/xlwt-1.3.0-r2.ebuild
+++ b/dev-python/xlwt/xlwt-1.3.0-r2.ebuild
@@ -1,12 +1,12 @@
-# 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_{8..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,11 +14,10 @@ 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"
-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"
IUSE="examples"
distutils_enable_sphinx docs \
diff --git a/dev-python/xmlschema/Manifest b/dev-python/xmlschema/Manifest
index 6f683c3fd95c..fb4d3ac2416a 100644
--- a/dev-python/xmlschema/Manifest
+++ b/dev-python/xmlschema/Manifest
@@ -1,2 +1,2 @@
-DIST xmlschema-1.11.3.tar.gz 477008 BLAKE2B 30e0802e271bf82a1baa8f38317048f4ccda994e2dd04c2fdbf70e4240c2227e821bd416326347d0817b27635dde2c67f446adde2cdf443301046f15ac84175c SHA512 5920573900f0cfc159e3239883aaada18502ac0d33dc7a9aaaf4ab63b41f6d37ba68989aa931e0e2e3e546d335788cb55b1d350d5856d06f12904549cf3cb723
-DIST xmlschema-2.0.1.tar.gz 475999 BLAKE2B 646f839ec8c1e3e7a18250e5e98a2d2503974b331a296c428eeceb5400af792c432851bf4cc7b8a15bfa815a9316f3a243535412344fd968ede7fbbee352bce5 SHA512 2087c3a4dc8517b3a05e852f213c611c6040c9bf41a392b26467a9d4a27140a2ce577a13cb1d0f4074f1d3d8bc33d6e115386cb1d675a6b6ee5ee29c01b20173
+DIST xmlschema-3.3.0.tar.gz 573034 BLAKE2B 1d403483ee4b80ddcfae3ece41ba2b8edb3e0297ac7ad8d531fdfdbc4b4eb50736b728b0aefde08bd8d06e7f6b0636762b098095b06c6ad1c03928d102e4d23f SHA512 3c07d740f26901d4dc481bd83566fed1c48e48b542f14601d30b3c593a606854939052a6b6af20755e0ff6b56dbeb23b4a96519e1d91abc7145d80745f5478b4
+DIST xmlschema-3.3.1.tar.gz 574315 BLAKE2B fa6caf1b21949a46b398f0a951534ef9155d6dd6920a195967ff9155dbcdb496b94ac952396d0ef9e17e36050a6bd6550d975a5faf0ea84727a9bb90f3d8336a SHA512 e9c01fba834ea9d673bd3ade9527f991ec1af14909ad42b9e27100f984ce5ffe1e3ab9e351b91b186fe19145613e0df93a7430d0e006f93a38c782a0e3e6daac
diff --git a/dev-python/xmlschema/xmlschema-1.11.3.ebuild b/dev-python/xmlschema/xmlschema-1.11.3.ebuild
deleted file mode 100644
index f3be2f731360..000000000000
--- a/dev-python/xmlschema/xmlschema-1.11.3.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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-2.5.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-2.0.1.ebuild b/dev-python/xmlschema/xmlschema-2.0.1.ebuild
deleted file mode 100644
index da14b0a0f004..000000000000
--- a/dev-python/xmlschema/xmlschema-2.0.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} 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.3.0.ebuild b/dev-python/xmlschema/xmlschema-3.3.0.ebuild
new file mode 100644
index 000000000000..9ee81ded502c
--- /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/xmlschema/xmlschema-3.3.1.ebuild b/dev-python/xmlschema/xmlschema-3.3.1.ebuild
new file mode 100644
index 000000000000..d38ccad42ce5
--- /dev/null
+++ b/dev-python/xmlschema/xmlschema-3.3.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..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..234f16862fe7
--- /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 c98631ff11e0..c21ed017a094 100644
--- a/dev-python/xmltodict/xmltodict-0.13.0-r1.ebuild
+++ b/dev-python/xmltodict/xmltodict-0.13.0-r1.ebuild
@@ -1,20 +1,19 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..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 ~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 7c5ef54f0f4d..000000000000
--- a/dev-python/xvfbwrapper/xvfbwrapper-0.2.9.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_{8..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 2d4d065a874f..e196e2c6a5a9 100644
--- a/dev-python/xxhash/Manifest
+++ b/dev-python/xxhash/Manifest
@@ -1 +1 @@
-DIST xxhash-3.0.0.tar.gz 74279 BLAKE2B 4c3d68103a7145aa1fd99da955b206c734c7882f1f6f3020d8bce9e5f2eb9714b9168b28918595bbb60445a024ec50d606e387358e6db8f4e575014763dece65 SHA512 170bfbacf0c4f8136550a257328d71dca096d996a52993a54442a7c5a54d48c51bb7997b3a718d73ae6c8e25a672ed4de664e7a651e02c43eb5f3fd135a59a80
+DIST xxhash-3.4.1.tar.gz 84220 BLAKE2B 9bf0bc3ea15adbcf9c1b0dd526f406bd20ca11b6c25c2c771e34952d9bd3d2e85d121304bebfe47590573b4da73acf28d1726d0c628239ec9591738462cee3c0 SHA512 ab3c1fa5ce3ebefa13f87c60a700a897a080c576f1ce492bae9c47eb24a9d182cc8e71bfed81c8f0413ee261fd5522bdf44187043c9703958b72fa77e46a8953
diff --git a/dev-python/xxhash/xxhash-3.0.0.ebuild b/dev-python/xxhash/xxhash-3.0.0.ebuild
deleted file mode 100644
index 851eca3965af..000000000000
--- a/dev-python/xxhash/xxhash-3.0.0.ebuild
+++ /dev/null
@@ -1,38 +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_{8..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 bbb3675b2b2a..000000000000
--- a/dev-python/yamlpath/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST yamlpath-3.6.4.gh.tar.gz 216016 BLAKE2B fc6537b7c80ecfb9f69c646970e43935374bb105df007c123cf837eb1de6827ac2cc443294b69500c966ea6bc5d7f56498aec13340238c7660118f17cc6685e5 SHA512 eb1ac0d5861818f4f4b57b07f9fa7f758846982abbb3ac4ec58a1adaca8ec36deba1e21ce3e13916e74a946512f4d66e341a9d45392ef7133d0293e5fd6f66c9
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.6.4.ebuild b/dev-python/yamlpath/yamlpath-3.6.4.ebuild
deleted file mode 100644
index caea22ecdf53..000000000000
--- a/dev-python/yamlpath/yamlpath-3.6.4.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-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}]
- dev-ruby/hiera-eyaml
- )
-"
-
-distutils_enable_tests --install pytest
-
-python_prepare_all() {
- sed -e '/ruamel\.yaml/d' \
- -e '/pytest-cov/d' \
- -e "/find_packages/s/()/(exclude=\['tests'\])/" \
- -i setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_install() {
- distutils-r1_python_install
-
- # install and optimize yamlpath/patches/aliasstyle.py
- local sitedir=$(python_get_sitedir)
- [[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory"
- insinto "${sitedir}/yamlpath"
- doins -r "${S}/yamlpath/patches"
- python_optimize "${D}${sitedir}"
-}
diff --git a/dev-python/yapf/Manifest b/dev-python/yapf/Manifest
index 9dd78a39089f..9798bd2314b6 100644
--- a/dev-python/yapf/Manifest
+++ b/dev-python/yapf/Manifest
@@ -1 +1 @@
-DIST yapf-0.32.0.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/metadata.xml b/dev-python/yapf/metadata.xml
index 94288e5a8672..51f7db08b2d2 100644
--- a/dev-python/yapf/metadata.xml
+++ b/dev-python/yapf/metadata.xml
@@ -1,14 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>gentoo@chymera.eu</email>
- <name>Horea Christian</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>
@@ -20,6 +12,7 @@
didn't violate the style guide.
</longdescription>
<upstream>
+ <remote-id type="github">google/yapf</remote-id>
<remote-id type="pypi">yapf</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/yapf/yapf-0.32.0.ebuild b/dev-python/yapf/yapf-0.32.0.ebuild
deleted file mode 100644
index e9d4651bb9bb..000000000000
--- a/dev-python/yapf/yapf-0.32.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2018-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit distutils-r1
-
-DESCRIPTION="A formatter for Python files"
-HOMEPAGE="https://github.com/google/yapf"
-SRC_URI="https://github.com/google/yapf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? ( dev-python/toml[${PYTHON_USEDEP}] )"
-
-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 ec3eefb7206e..5c51299da9ec 100644
--- a/dev-python/yappi/Manifest
+++ b/dev-python/yappi/Manifest
@@ -1,2 +1 @@
-DIST yappi-1.3.5.gh.tar.gz 936884 BLAKE2B a33ea0c506b3e0d05e141b01ebf4af158c6c794c0c504e52c19c00295f105cfff8a6aa8964ce07e13b87cd60164adfd1107da2c286e17dc0d779e7f9e916fbf8 SHA512 2fc243522414626ed6327b3f6b26c4001f01e288700df62cef81e73cf4077af238836b100167df3c4cfb4e0091d4de14385d349b9821759401cc3666e6fe94e9
-DIST yappi-1.3.6.gh.tar.gz 937785 BLAKE2B eb98d51f450091e66429affcc12f4329629bfc466dd8db9c5e77f5385a6b7bb551fd336825d64d94141ae41129618025a716a1b4e0718b022e67978330900bf0 SHA512 f55555042363581535eb4dfca096b1c698fb32720e5d1740d72ee7290f162ec44f0ed05936d6d85fc63f347e6be19b182550bd6e6593b65616d11d109fce8cbc
+DIST yappi-1.6.0.gh.tar.gz 938098 BLAKE2B 7d5ad3066647419502ce43a2577509dbfc2ba898a8a68187a0e2efa2868764139c5a0bde873eb270f4acbb98749ee770e0cd00d24079318ab291dd5becc7a00e SHA512 d6b9e30129d83ab24ac80732e6a31e7dcc9e7e0f8bedc39cd578b73b12007c38db6c5b101e4364d3d129ba24bb0adaae71bc48827ac577c8ef96c9a557a9d80f
diff --git a/dev-python/yappi/yappi-1.3.5.ebuild b/dev-python/yappi/yappi-1.3.5.ebuild
deleted file mode 100644
index e05f16749821..000000000000
--- a/dev-python/yappi/yappi-1.3.5.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=( python3_{8..10} )
-
-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"
-
-BDEPEND="
- test? (
- dev-python/gevent[${PYTHON_USEDEP}]
- )
-"
-
-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.3.6.ebuild b/dev-python/yappi/yappi-1.3.6.ebuild
deleted file mode 100644
index 699a13380131..000000000000
--- a/dev-python/yappi/yappi-1.3.6.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=( python3_{8..10} )
-
-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"
-
-BDEPEND="
- test? (
- dev-python/gevent[${PYTHON_USEDEP}]
- )
-"
-
-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..72591c69b739
--- /dev/null
+++ b/dev-python/yapsy/yapsy-1.12.2-r2.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} )
+
+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="https://downloads.sourceforge.net/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 5d0398c40a5e..000000000000
--- a/dev-python/yapsy/yapsy-1.12.2.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..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 c343c2d42c6e..d5e047024713 100644
--- a/dev-python/yara-python/Manifest
+++ b/dev-python/yara-python/Manifest
@@ -1 +1,2 @@
-DIST yara-python-4.2.0.gh.tar.gz 34459 BLAKE2B fce460385eaa75dd1779fe49c7937ff36d7604433deb310b6fe9e66af9ea521952f92bee61829372cf19c7efee170329609530f1f9e863991720e4887c3c1349 SHA512 ba08d709fc51679ec9fe36165e0864b79fc241f85c681bf59823fe7bb0e34e928cded050ff296147eb5bcb837485f39949aa93425a0eb9ca8b3730e60fac93f4
+DIST yara-python-4.4.0.gh.tar.gz 39295 BLAKE2B 27aa6b9fdf07cf30ec30a69c523e8a4eede52389a5565b4b083ac5d7206deaf3bcc0e2cf2fbda2fd01fce53b7ebc65e7c357705bc3244bfcc004bce2acd44e9e SHA512 8c6e30929172942e6e367c889f2d141f81264d9cfc4b5f5f4d35207d4ae25393050c976db823ef74f341ac18b7ee9eef8007d88348bc79848311d4b95fb1fdbd
+DIST yara-python-4.5.0.gh.tar.gz 39301 BLAKE2B 9bee247ef21b6e2e576acbac7cfcf140fd3b1ab992affc019f9ce290e00809e397d5057b9033f53fcd94885e855e783e4c43835850c9e6dcd57d74661ba8380b SHA512 b4f091bff7fd3bcd63e7f9f0a765aac7bdb3f17a1bc4b163687ae9ca21048194d90cf2bf1165998edb9953b83e022939179c51de59862a456676f099de69778d
diff --git a/dev-python/yara-python/metadata.xml b/dev-python/yara-python/metadata.xml
index 132e95cb36b9..da2280735cfd 100644
--- a/dev-python/yara-python/metadata.xml
+++ b/dev-python/yara-python/metadata.xml
@@ -9,6 +9,10 @@
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<longdescription>
With this library you can use YARA from your Python programs. It covers
all YARA's features, from compiling, saving and loading rules to
diff --git a/dev-python/yara-python/yara-python-4.2.0-r2.ebuild b/dev-python/yara-python/yara-python-4.2.0-r2.ebuild
deleted file mode 100644
index 2f1859d230b0..000000000000
--- a/dev-python/yara-python/yara-python-4.2.0-r2.ebuild
+++ /dev/null
@@ -1,33 +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_{8..10} )
-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..bde11ea7577c
--- /dev/null
+++ b/dev-python/yara-python/yara-python-4.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
+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/yara-python/yara-python-4.5.0.ebuild b/dev-python/yara-python/yara-python-4.5.0.ebuild
new file mode 100644
index 000000000000..bde11ea7577c
--- /dev/null
+++ b/dev-python/yara-python/yara-python-4.5.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{10..12} )
+inherit distutils-r1
+
+DESCRIPTION="Python interface for a malware identification and classification tool"
+HOMEPAGE="https://github.com/VirusTotal/yara-python"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/VirusTotal/yara-python.git"
+else
+ SRC_URI="https://github.com/virustotal/yara-python/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND="
+ =app-forensics/yara-$(ver_cut 1-2)*
+"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests unittest
+
+python_configure_all() {
+ cat >> setup.cfg <<-EOF
+ [build_ext]
+ dynamic_linking = True
+ EOF
+}
+
+python_test() {
+ "${EPYTHON}" tests.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/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 5cdb19dc3902..5fc801df3ff9 100644
--- a/dev-python/yarl/Manifest
+++ b/dev-python/yarl/Manifest
@@ -1,2 +1 @@
-DIST yarl-1.7.2.gh.tar.gz 108115 BLAKE2B 7bd212b652a77ac29fde4c6565c48c4067f2a24db6bbf735107f3dfa5ee8b6ad2e5a5c3c6206e8dc7692e4cfd5c975d4304dd93280087574bddd73a337417c52 SHA512 bf69c5758f523259757ff84a8737e28931f46311f12f6e141329a5074d34a0cfb45795bf79cb7b78cb676ca7bc38042a2fbd946a5f41bf1d149ada50b88b31ae
-DIST yarl-1.8.1.gh.tar.gz 109912 BLAKE2B c7390b78abb5074dd29e96848a77fdb31f6224e99d2bcfd5a28a8bd08881f5ff82cf55b2f54c97324d005a0fb3823732a9ed6bd3f1d837e4ac2341b89e2adb30 SHA512 267523216832c2bc83d92a42e621ff519d427e20c1ee84ac657e13f696a2df2259c837486f192d87944f5ebb834beea60ace791eb4c9c632fd7e552eb5dadf1b
+DIST yarl-1.9.4.tar.gz 141869 BLAKE2B 367eac4674bf1190122f10bb1dc1c4f3d5e4263e1d95ff2b871067d55a894dc19a6bb5a6c673d1bed28b3c5f77c704799568edfe639d50f0ae10313eb847352d SHA512 e4f7917f1625b40125abae9a13d61795f97e8cf489735e15cf58476e97c3bcf840b1452482f1f7a737fbb2bdd1dc7bbcfa882d0a7f76a27dfb3aea72b7a66c82
diff --git a/dev-python/yarl/yarl-1.7.2-r3.ebuild b/dev-python/yarl/yarl-1.7.2-r3.ebuild
deleted file mode 100644
index 94d7e677756f..000000000000
--- a/dev-python/yarl/yarl-1.7.2-r3.ebuild
+++ /dev/null
@@ -1,45 +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_{8..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.8.1.ebuild b/dev-python/yarl/yarl-1.8.1.ebuild
deleted file mode 100644
index 7ea5cc25c82f..000000000000
--- a/dev-python/yarl/yarl-1.8.1.ebuild
+++ /dev/null
@@ -1,45 +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_{8..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 b3f6b9e3d7df..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..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 36841a23fede..e67628952e1e 100644
--- a/dev-python/yaxmldiff/yaxmldiff-0.1.0.ebuild
+++ b/dev-python/yaxmldiff/yaxmldiff-0.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=setuptools
-PYTHON_COMPAT=( pypy3 python3_{8..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Yet Another XML Differ"
@@ -17,7 +17,7 @@ S="${WORKDIR}/${PN}.py-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~loong ~x86"
RDEPEND="
dev-python/lxml[${PYTHON_USEDEP}]
diff --git a/dev-python/youtube-search-python/Manifest b/dev-python/youtube-search-python/Manifest
index caf70ac39fa2..471f0068df9e 100644
--- a/dev-python/youtube-search-python/Manifest
+++ b/dev-python/youtube-search-python/Manifest
@@ -1 +1 @@
-DIST youtube-search-python-1.6.5.tar.gz 115469 BLAKE2B 80e3732155113ee6764f370af894c3cf261812dc5ae6d44a1a7f614645a7a85482c4c35736d8319246f3b2e3cb66188908253bfed910700ad6b83d7fd2d9d92f SHA512 1d319401fb6e24064c3235d82680fd6f156bc600155b4d8157cb1b69ae61cffb587d5ac59ea5b5a353657cd3a1275b038dd9af9939da7fe7ac81c7866de10832
+DIST youtube-search-python-1.6.6.tar.gz 115732 BLAKE2B d53f99272917c488709a2b7b6273e430e1831d5d34930ad39a5cbb838fec1ee9694b8d7fc8aefcac643dfec0fc91bb278a40224b2e0bc865a93db17d647c8ac8 SHA512 b03ead324e7684f7bf28a4c05a104a558dce8bb4e126b42853bcd875675a4a39876bb47cad3e57a618eaffdc1561fd523021be3dd77dd1180b9bf7d752faa2ee
diff --git a/dev-python/youtube-search-python/metadata.xml b/dev-python/youtube-search-python/metadata.xml
index 14584445f52d..0e35e7fdce5e 100644
--- a/dev-python/youtube-search-python/metadata.xml
+++ b/dev-python/youtube-search-python/metadata.xml
@@ -6,6 +6,10 @@
<email>xgqt@gentoo.org</email>
<name>Maciej Barć</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<upstream>
<bugs-to>https://github.com/alexmercerind/youtube-search-python/issues/</bugs-to>
<remote-id type="github">alexmercerind/youtube-search-python</remote-id>
diff --git a/dev-python/youtube-search-python/youtube-search-python-1.6.5.ebuild b/dev-python/youtube-search-python/youtube-search-python-1.6.5.ebuild
deleted file mode 100644
index 923cfa88f17f..000000000000
--- a/dev-python/youtube-search-python/youtube-search-python-1.6.5.ebuild
+++ /dev/null
@@ -1,22 +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_{8..10} )
-
-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/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/ytmusicapi/Manifest b/dev-python/ytmusicapi/Manifest
index f0ff0ce9fc0e..f64852413cbc 100644
--- a/dev-python/ytmusicapi/Manifest
+++ b/dev-python/ytmusicapi/Manifest
@@ -1 +1,2 @@
-DIST ytmusicapi-0.22.0.tar.gz 50474 BLAKE2B cd0d3a0c45a754560cb70b1766888d76a4b4c1b956f0112d761b1ee8663d7ed792c2befc71c5430464daacb19b7bcff48b7e2d079fd5de08db4583a110b4002a SHA512 3286e67e80c5b73e18b7d30040faca76d790b1b4ac45e635d721f5465379d525af89e6f6635353d3849c43d67c8b59a632423d3bee5a24a2e9c993cc009f2286
+DIST ytmusicapi-1.6.0.tar.gz 106624 BLAKE2B b7900f4fb9e863f694a06a9d85d479e13514d6f4a0ad86e923ccceb497ad9294e34d9b3914005063b272ef8582514a5ea7c173864d38a2b6ec166bcf1199560e SHA512 9886c0b4ec29bf9b676b4c77f9e84ca6c7a0f1b4da264d589aed19d50c8be6ef3718185af755d8a9f652d425ae98603fff09ea8d84ec839756dab43181eb9f4c
+DIST ytmusicapi-1.7.0.tar.gz 276068 BLAKE2B 39b33782fde91ada32269e6ec8630164796caff2e17743a852f1eca72debaf23b01fd9e8f4d486e1a67bf790221a233339b0074034d993053388cf31cadb32a0 SHA512 4e5f021e7dc9879e6cf881595afc8c17637e0d722a019b855563358f38bb74fe5ff154ea639c6d56836967c520bfece504733bf960b77cfe79b0586390339551
diff --git a/dev-python/ytmusicapi/metadata.xml b/dev-python/ytmusicapi/metadata.xml
index 3b9fb04abbd5..e260bbb18a73 100644
--- a/dev-python/ytmusicapi/metadata.xml
+++ b/dev-python/ytmusicapi/metadata.xml
@@ -6,6 +6,11 @@
<email>xgqt@gentoo.org</email>
<name>Maciej Barć</name>
</maintainer>
+ <maintainer type="project">
+ <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.22.0.ebuild b/dev-python/ytmusicapi/ytmusicapi-0.22.0.ebuild
deleted file mode 100644
index a7e9f3db10d4..000000000000
--- a/dev-python/ytmusicapi/ytmusicapi-0.22.0.ebuild
+++ /dev/null
@@ -1,21 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Unofficial API for YouTube Music"
-HOMEPAGE="https://ytmusicapi.readthedocs.io/"
-SRC_URI="https://github.com/sigma67/${PN}/archive/${PV}.tar.gz -> ${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/ytmusicapi/ytmusicapi-1.7.0.ebuild b/dev-python/ytmusicapi/ytmusicapi-1.7.0.ebuild
new file mode 100644
index 000000000000..1537ab0e5d66
--- /dev/null
+++ b/dev-python/ytmusicapi/ytmusicapi-1.7.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 603b85c2ee94..000000000000
--- a/dev-python/zc-lockfile/zc-lockfile-2.0-r1.ebuild
+++ /dev/null
@@ -1,47 +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_{8..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 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 abea87d5c765..09edd9cb4c82 100644
--- a/dev-python/zconfig/Manifest
+++ b/dev-python/zconfig/Manifest
@@ -1 +1,2 @@
-DIST ZConfig-3.6.0.tar.gz 134559 BLAKE2B cf24d055a88c552311e5837b0caba143a9d4122caa0319ad31de89177d521ecb3f8fb7f463618f35410cc25169865103ff5957e9484e347ebd7e1b7cacb20b35 SHA512 a5cca99f324007a14f4738be1c9f7424538d8a13f7171fbfa979ce9273b29679eb18b0e905afc96d38abcf042af222e3e86acad6912b9eb8b71b6c8122c47031
+DIST ZConfig-4.0.tar.gz 126072 BLAKE2B 7057151267f9b481d3cded72a22dc8fe505f1eac78d156595eb6ba5ff6217b57713ae2ef307358d86320986181bbbb3c1862901297e645bf69dc4893a3e60dbc SHA512 03e3c34f8af9de8bedd98bbdf0c968fdd2fb0c1bb8d62a73c286b804a8841e0e7d9b647f5f3bb37a6d52dc2a5cea7cdce21cd204536399d43203c18e0c204ca7
+DIST zconfig-4.1.tar.gz 146996 BLAKE2B fd4299121b418ba7517ef17c2f9be9e0f0a975199a0fb59bd45f54338becb921c2bf0fd87344e08b21734b80dc11abd64d7bef27d7d17313197d9c781b5e5017 SHA512 71dd5a9ce5f72eda76fde19fa2bec4aaf542ebe4b617753b14c07239366d934d9d635aa63407c76bc00edfb305c85c1cecdd187ee7f2b85f25acaa7682839363
diff --git a/dev-python/zconfig/files/zconfig-4.0-py312.patch b/dev-python/zconfig/files/zconfig-4.0-py312.patch
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.0-r1.ebuild b/dev-python/zconfig/zconfig-3.6.0-r1.ebuild
deleted file mode 100644
index 2a5f366d1984..000000000000
--- a/dev-python/zconfig/zconfig-3.6.0-r1.ebuild
+++ /dev/null
@@ -1,33 +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_{8..10} )
-
-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 doc dev-python/sphinxcontrib-programoutput
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/zconfig/zconfig-4.1.ebuild b/dev-python/zconfig/zconfig-4.1.ebuild
new file mode 100644
index 000000000000..6fe23faf0c6a
--- /dev/null
+++ b/dev-python/zconfig/zconfig-4.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN="ZConfig"
+PYTHON_COMPAT=( python3_{10..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
+
+python_test() {
+ eunittest -s src/ZConfig/tests
+}
diff --git a/dev-python/zeep/Manifest b/dev-python/zeep/Manifest
index 9077172fa6e2..c03ab549db08 100644
--- a/dev-python/zeep/Manifest
+++ b/dev-python/zeep/Manifest
@@ -1 +1 @@
-DIST zeep-4.1.0.tar.gz 160333 BLAKE2B d29db92efe048ba854ff14cde062993c3f334cab6cfc122f6db9aa7a1a490c82f93a50ca5028a5f86e316d9ecf567ac40aef10f3e7d8db89376c7d8dea2a2e23 SHA512 acc54f99d21fe401e06418223591bcf8e7f8819e225f892beb0f6e2a1ee359a0da6f9d0aa4212899197c084af37cc56126879b93a22cdad2458e57674bf66ed5
+DIST zeep-4.2.1.tar.gz 161072 BLAKE2B 01e3ec848bc4a98b301b7d091a0740f4a69057f3bb56e884a31b1d73ed51b0c62b4e0e148b2a59ebb6f01469aa949cb4079c0147dae7b3d8e7c8a2f66e5b31f8 SHA512 08de88c1e4cd1787137ea18f12bf343c5c9bb7b353ecd8781c58c7c1acf1b6ee8a0483b47d9a78eb24c79d8ecc347eb8595d460d9f75ca0428963f36a76dff5d
diff --git a/dev-python/zeep/files/zeep-4.1.0-cached-prop.patch b/dev-python/zeep/files/zeep-4.1.0-cached-prop.patch
deleted file mode 100644
index 368dca71ad38..000000000000
--- a/dev-python/zeep/files/zeep-4.1.0-cached-prop.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 25701f0b69ee46914179070b7e8906ea3e521480 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Thu, 11 Nov 2021 08:55:41 +0100
-Subject: [PATCH] Use stdlib functools.cached_property if available
-
-Python 3.8+ provides a functools.cached_property in the stdlib that is
-thread-safe, i.e. equivalent to threaded_cached_property. Use it
-instead of adding third-party dependencies whenever available.
----
- setup.py | 2 +-
- src/zeep/wsdl/attachments.py | 6 +++++-
- src/zeep/xsd/elements/indicators.py | 6 +++++-
- src/zeep/xsd/types/any.py | 6 +++++-
- src/zeep/xsd/types/complex.py | 6 +++++-
- 5 files changed, 21 insertions(+), 5 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index cb51ac4..8ef81b6 100755
---- a/setup.py
-+++ b/setup.py
-@@ -4,7 +4,7 @@ from setuptools import setup
-
- install_requires = [
- "attrs>=17.2.0",
-- "cached-property>=1.3.0",
-+ "cached-property>=1.3.0; python_version<'3.8'",
- "isodate>=0.5.4",
- "lxml>=4.6.0",
- "platformdirs>=1.4.0",
-diff --git a/src/zeep/wsdl/attachments.py b/src/zeep/wsdl/attachments.py
-index 037e439..075bee5 100644
---- a/src/zeep/wsdl/attachments.py
-+++ b/src/zeep/wsdl/attachments.py
-@@ -6,7 +6,11 @@ See https://www.w3.org/TR/SOAP-attachments
-
- import base64
-
--from cached_property import cached_property
-+try:
-+ from functools import cached_property
-+except ImportError:
-+ from cached_property import cached_property
-+
- from requests.structures import CaseInsensitiveDict
-
-
-diff --git a/src/zeep/xsd/elements/indicators.py b/src/zeep/xsd/elements/indicators.py
-index 40325da..e9ef2c4 100644
---- a/src/zeep/xsd/elements/indicators.py
-+++ b/src/zeep/xsd/elements/indicators.py
-@@ -16,7 +16,11 @@ import operator
- import typing
- from collections import OrderedDict, defaultdict, deque
-
--from cached_property import threaded_cached_property
-+try:
-+ from functools import cached_property as threaded_cached_property
-+except ImportError:
-+ from cached_property import threaded_cached_property
-+
- from lxml import etree
-
- from zeep.exceptions import UnexpectedElementError, ValidationError
-diff --git a/src/zeep/xsd/types/any.py b/src/zeep/xsd/types/any.py
-index b4525e4..17f244e 100644
---- a/src/zeep/xsd/types/any.py
-+++ b/src/zeep/xsd/types/any.py
-@@ -1,7 +1,11 @@
- import logging
- import typing
-
--from cached_property import threaded_cached_property
-+try:
-+ from functools import cached_property as threaded_cached_property
-+except ImportError:
-+ from cached_property import threaded_cached_property
-+
- from lxml import etree
-
- from zeep.utils import qname_attr
-diff --git a/src/zeep/xsd/types/complex.py b/src/zeep/xsd/types/complex.py
-index 8141bc1..b2ed9bf 100644
---- a/src/zeep/xsd/types/complex.py
-+++ b/src/zeep/xsd/types/complex.py
-@@ -4,7 +4,11 @@ import typing
- from collections import OrderedDict, deque
- from itertools import chain
-
--from cached_property import threaded_cached_property
-+try:
-+ from functools import cached_property as threaded_cached_property
-+except ImportError:
-+ from cached_property import threaded_cached_property
-+
- from lxml import etree
-
- from zeep.exceptions import UnexpectedElementError, XMLParseError
---
-2.33.1
-
diff --git a/dev-python/zeep/zeep-4.1.0-r2.ebuild b/dev-python/zeep/zeep-4.1.0-r2.ebuild
deleted file mode 100644
index a04730a0cc9e..000000000000
--- a/dev-python/zeep/zeep-4.1.0-r2.ebuild
+++ /dev/null
@@ -1,57 +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_{8..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A modern/fast Python SOAP client based on lxml / requests"
-HOMEPAGE="https://docs.python-zeep.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="async"
-
-RDEPEND="
- >=dev-python/attrs-17.2.0[${PYTHON_USEDEP}]
- >=dev-python/isodate-0.5.4[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.6.0[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/requests-file-1.5.1[${PYTHON_USEDEP}]
- >=dev-python/requests-2.7.0[${PYTHON_USEDEP}]
- >=dev-python/requests-toolbelt-0.7.1[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- async? ( >=dev-python/aiohttp-1.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/aioresponses[${PYTHON_USEDEP}]
- 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}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-cached-prop.patch
-)
-
-EPYTEST_DESELECT=(
- # broken by new pytest-httpx?
- tests/test_async_transport.py::test_load
- tests/test_async_transport.py::test_load_cache
- tests/test_async_transport.py::test_post
- tests/test_async_transport.py::test_http_error
-)
diff --git a/dev-python/zeep/zeep-4.2.1.ebuild b/dev-python/zeep/zeep-4.2.1.ebuild
new file mode 100644
index 000000000000..9dd3236bf311
--- /dev/null
+++ b/dev-python/zeep/zeep-4.2.1.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..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A modern/fast Python SOAP client based on lxml / requests"
+HOMEPAGE="
+ https://docs.python-zeep.org/
+ https://github.com/mvantellingen/python-zeep/
+ https://pypi.org/project/zeep/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+IUSE="async"
+
+RDEPEND="
+ >=dev-python/attrs-17.2.0[${PYTHON_USEDEP}]
+ >=dev-python/isodate-0.5.4[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.6.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-file-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-toolbelt-0.7.1[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ async? ( >=dev-python/aiohttp-1.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/aioresponses[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pretend[${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}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/zeroconf/Manifest b/dev-python/zeroconf/Manifest
index 61fabf74b706..b74d654ade46 100644
--- a/dev-python/zeroconf/Manifest
+++ b/dev-python/zeroconf/Manifest
@@ -1,3 +1 @@
-DIST python-zeroconf-0.38.6.gh.tar.gz 134795 BLAKE2B 839d59d7c46d9ab16145e37bb58acc7a71072b00507ee0ae8325fea9a3ebc0e567f9e257937675f8eaf44095c7449f96e6bc42b82d34f75a39cc87fd29be2766 SHA512 274db525751191b0188a4f00505c795420f975de3f714f84f2207271ff484bb5de1c881c0ed00b1ad3a6265d5d461519cf46041ab907026d9e6937844bbab6af
-DIST python-zeroconf-0.38.7.gh.tar.gz 134866 BLAKE2B 060ffdc45d4ec8092cd278b99a74561fd1ea06aba3cdecadbd35c1c5e3f608befe3ced18009d8d64c5b37388ee57900b4b00a44c90d87923f259e798da5bb962 SHA512 a0ab90f30b843bc889daf95eab6d806a5e3fb4ffe5e3857c435f14a85de7b659b8386159f6428f05a34f2e3010f4582f7d3a55bbd6e6ede0008247821f666707
-DIST python-zeroconf-0.39.0.gh.tar.gz 135121 BLAKE2B 708f641934b1d155a464f532894e6f3ba3b83c57063b903eae23abcfaf76974920286a9ddcabc53d0211df21b247303c23b2ee36f78ccf809001395f0d1002a7 SHA512 401808d51b58905937b0c2f924bce6a9ae38f331f2faf7a0258bfcbc245ec618deaf1a707d22c47792d964a49a2036af5d2ab02438b001b228611a5855db897f
+DIST zeroconf-0.132.2.tar.gz 170698 BLAKE2B 7c76e2a00571a19b23f288dc1183da6ce274ebdf3f64f323e282f444011f7cbf90a63e02a991936a2cfa2d227568b31444b8f61f1110588638d4e888dd8749a6 SHA512 686cdfd2f32c6bad03fb5fd287b1e22f2f0b5099a8971dcff1d9fca7e63bc8069b195feb97be710c20fae8c524ab92143e395cdfec26ede103295d1aa4d32a8f
diff --git a/dev-python/zeroconf/metadata.xml b/dev-python/zeroconf/metadata.xml
index c1970e1e2792..7c85c95ef5e6 100644
--- a/dev-python/zeroconf/metadata.xml
+++ b/dev-python/zeroconf/metadata.xml
@@ -5,9 +5,8 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
- <stabilize-allarches/>
<upstream>
<remote-id type="pypi">zeroconf</remote-id>
- <remote-id type="github">jstasiak/python-zeroconf</remote-id>
+ <remote-id type="github">python-zeroconf/python-zeroconf</remote-id>
</upstream>
</pkgmetadata>
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..53d810e82f90
--- /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/zeroconf/zeroconf-0.38.6.ebuild b/dev-python/zeroconf/zeroconf-0.38.6.ebuild
deleted file mode 100644
index 51704d814c2d..000000000000
--- a/dev-python/zeroconf/zeroconf-0.38.6.ebuild
+++ /dev/null
@@ -1,50 +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_{8..11} )
-
-inherit distutils-r1
-
-MY_P=python-zeroconf-${PV}
-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
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/ifaddr-0.1.7[${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/zeroconf/zeroconf-0.38.7.ebuild b/dev-python/zeroconf/zeroconf-0.38.7.ebuild
deleted file mode 100644
index 51704d814c2d..000000000000
--- a/dev-python/zeroconf/zeroconf-0.38.7.ebuild
+++ /dev/null
@@ -1,50 +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_{8..11} )
-
-inherit distutils-r1
-
-MY_P=python-zeroconf-${PV}
-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
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/ifaddr-0.1.7[${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/zeroconf/zeroconf-0.39.0.ebuild b/dev-python/zeroconf/zeroconf-0.39.0.ebuild
deleted file mode 100644
index e803d214a211..000000000000
--- a/dev-python/zeroconf/zeroconf-0.39.0.ebuild
+++ /dev/null
@@ -1,51 +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_{8..11} )
-
-inherit distutils-r1
-
-MY_P=python-zeroconf-${PV}
-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
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-
-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/zipp/Manifest b/dev-python/zipp/Manifest
index c1617c2d40ee..bc97609d2fbd 100644
--- a/dev-python/zipp/Manifest
+++ b/dev-python/zipp/Manifest
@@ -1,2 +1 @@
-DIST zipp-3.8.0.tar.gz 13344 BLAKE2B 0da3ca4ff683ac840759030b6ee5125bb1a1b1b8737f0ff0499f3193d13dc3163c6c1fd29c5f1667f347728c991930e3d9e3a325ffb89b6fecb9f6590887bcaa SHA512 d677f941dc92a784b8bd197ca2e1f6f3a570dc236c9eeddcb6108d6f55ad3d35a82462abeeb4bac6ea434442737aea960d941c2a7d0bd416da9abee153c99bb8
-DIST zipp-3.8.1.tar.gz 14189 BLAKE2B 768d25dab70ee1ddbb3adb829b68515631772e2e25a7617d58bf863c01d1900e22cd4001bf31b9eae3829a63cba77df070132e7932b9b4242bb8be3579a1546d SHA512 05639feb20c7e8d3480ce17a52115a85bb2f0706ee0c1b15589b7556bb914ef30a1a34fa743217694b753bb5e72095c90fab7dfee85f2dbf461347322acb4d2e
+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.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/zipp/zipp-3.8.0.ebuild b/dev-python/zipp/zipp-3.8.0.ebuild
deleted file mode 100644
index 893e60caacaf..000000000000
--- a/dev-python/zipp/zipp-3.8.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2022 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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Backport of pathlib-compatible object wrapper for zip files"
-HOMEPAGE="https://github.com/jaraco/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-itertools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # speed tests are flaky by design
- test_zipp.py::TestPath::test_implied_dirs_performance
-)
-
-src_prepare() {
- # dep of disabled test
- sed -i -e '/func_timeout/d' 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.8.1.ebuild b/dev-python/zipp/zipp-3.8.1.ebuild
deleted file mode 100644
index a11534941ce4..000000000000
--- a/dev-python/zipp/zipp-3.8.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2022 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_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Backport of pathlib-compatible object wrapper for zip files"
-HOMEPAGE="https://github.com/jaraco/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-itertools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # speed tests are flaky by design
- test_zipp.py::TestPath::test_implied_dirs_performance
-)
-
-src_prepare() {
- # dep of disabled test
- sed -i -e '/func_timeout/d' 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/zope-component/Manifest b/dev-python/zope-component/Manifest
index 4aa808dcdb5d..6b73f7ca1998 100644
--- a/dev-python/zope-component/Manifest
+++ b/dev-python/zope-component/Manifest
@@ -1,2 +1 @@
-DIST zope.component-4.4.1.tar.gz 84745 BLAKE2B 3b8a58bdaf1de1bc57e9642bf76100bd8aa0bbccfc8d6682e7f78363f08f13ac98c7ff37d4892c3558e26537294dd184b75810afaf95c6f8d6a529c9938ea8dc SHA512 dc9f6a725cc49ac94a164d11786ef977e94e1c9a7c88de4aaeb0f62621cfe00284007ae44937ec92ae6cffc5b16ab4af1548db2237b0ba4b818e2c8f6355ecbd
-DIST zope.component-5.0.1.tar.gz 91130 BLAKE2B 4dbd78b003ba3688c0468573f4552c87333fd5fb7e0cd89d4844633f28c19443b3ea884438ff7f7ba8b056790f008c246c1e7ad52403d7b72b146d0d53edd8ad SHA512 fad011816fe5bb869bb2e43e11a66841a6be2abf9002e41207ef1dfe69b1afb5ca486d275daeddf71d2a0e79e1a9c839c4735190dddcd118b675a976bde07a64
+DIST zope.component-6.0.tar.gz 90268 BLAKE2B f91d2424015d4f09a681b5a9fb7d3a411bcca39648893c09ba1d416250611670294676c37d7f9737a33290183675f8501f396a44859b8ee3dd1846c3e360a5b7 SHA512 90126a46752ac650d485676a2716858dd95d6ad10a8c539979b502b3581b7963bdc191e173cc36e94aba25c8b2b4b1a13b91bbf1952ace6b905242fd253325bf
diff --git a/dev-python/zope-component/zope-component-4.4.1-r2.ebuild b/dev-python/zope-component/zope-component-4.4.1-r2.ebuild
deleted file mode 100644
index 2edeb4128626..000000000000
--- a/dev-python/zope-component/zope-component-4.4.1-r2.ebuild
+++ /dev/null
@@ -1,55 +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_{8..10} )
-
-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-interface-4.1.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.0.1.ebuild b/dev-python/zope-component/zope-component-5.0.1.ebuild
deleted file mode 100644
index 345dcc41784e..000000000000
--- a/dev-python/zope-component/zope-component-5.0.1.ebuild
+++ /dev/null
@@ -1,56 +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_{8..10} )
-
-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 70766bc00aa2..000000000000
--- a/dev-python/zope-configuration/zope-configuration-4.4.1-r2.ebuild
+++ /dev/null
@@ -1,57 +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_{8..10} )
-
-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 5c779791734f..000000000000
--- a/dev-python/zope-deprecation/zope-deprecation-4.4.0-r2.ebuild
+++ /dev/null
@@ -1,46 +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_{8..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 5e255d71e594..bcc05eb47556 100644
--- a/dev-python/zope-event/Manifest
+++ b/dev-python/zope-event/Manifest
@@ -1 +1 @@
-DIST zope.event-4.5.0.tar.gz 18723 BLAKE2B 449ae969709c863681df1a08f016c850242ebe86b9abfa57db62a982c81bba7c496fc19dd2b187284da44d975688b544ee52a5a48a2fb782d4c7210d5773ee2b SHA512 1d82ae316fc75eebc03aadeb78890a19add35490720cd7bd073faeb9dc9ed97511ca4fdafc2228530798384d667c0aa88e3ef47b0be668128556a78bf82c42e5
+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 6914ccfe31c2..000000000000
--- a/dev-python/zope-event/zope-event-4.5.0-r3.ebuild
+++ /dev/null
@@ -1,46 +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_{8..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..b9e576d375dc
--- /dev/null
+++ b/dev-python/zope-event/zope-event-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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} 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 d3cc351c6b45..4b2e75c65297 100644
--- a/dev-python/zope-exceptions/Manifest
+++ b/dev-python/zope-exceptions/Manifest
@@ -1 +1 @@
-DIST zope.exceptions-4.5.tar.gz 29609 BLAKE2B 63c853105d3a588418f79e877aeedf0b001bbe52eb3e6c82687127a8cc0b8e424143e75c7a77b224ede31c5db0efb1bbc126e851dbc8bef5b856615b0717f6ea SHA512 f3f75b2f9ecfe74d3bb081904750769bf331fb594d266907782b7ce7f9d062c261b2f95a50ce21cf8917c56a25899274dae466a5b59afa5ec66480182df55bd2
+DIST zope.exceptions-5.0.1.tar.gz 30435 BLAKE2B 66775ace483da20614aa4db31d106f70af5a118cd7b5f3cc3458515cf443cd6c6e0bda26b0817adf063c52ded25ffcc09b722840e90f4975976e54c48763bbf1 SHA512 46ab45feb81682b62f4ab0df31e39b8b438af593d8880eb095fb2994ce6aced5aceb2cb08973234077d9c3846adc57658e06e04aecf55443bf3af691d728291a
diff --git a/dev-python/zope-exceptions/zope-exceptions-4.5-r1.ebuild b/dev-python/zope-exceptions/zope-exceptions-4.5-r1.ebuild
deleted file mode 100644
index 89ee54d44763..000000000000
--- a/dev-python/zope-exceptions/zope-exceptions-4.5-r1.ebuild
+++ /dev/null
@@ -1,46 +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_{8..10} 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 f68460b1feec..6f399c4e3460 100644
--- a/dev-python/zope-hookable/Manifest
+++ b/dev-python/zope-hookable/Manifest
@@ -1 +1 @@
-DIST zope.hookable-5.1.0.tar.gz 21922 BLAKE2B c8bb0c6fb20718127fc2b3d7a2654035a14f87a52b41331ec3d564fe7dd175a977911e1a5847e544e30eeeb473b1fdb5d75ece7ece4b5a4212fec8f6d85a3d44 SHA512 af63fd7c83bbaf2c6c1faaefc7081a9a739b835fb5f1fe48f8f6b66a82596d52d0559df8de1beceb129578ee2ed9711ee05a9aa2dd0eec98dca6db40b45a4665
+DIST zope.hookable-6.0.tar.gz 24013 BLAKE2B 808005d0993e22967bc7a73a7b8a26f2263dfc9f3f33d840495a233ea8686a5e700ee46cf0dad8e37aeebb0383ec51b15a4f98323daf4d6bb606fc1ab149f39e SHA512 33d1200a24fc664ed9c7942f71b003704fda21ac42f5acc24611838aa4e8096a27a5da01956ec824105d454a0580480ce8a262c8f5c4f24782ab11416d9fdafd
diff --git a/dev-python/zope-hookable/zope-hookable-5.1.0.ebuild b/dev-python/zope-hookable/zope-hookable-5.1.0.ebuild
deleted file mode 100644
index 6907af03c507..000000000000
--- a/dev-python/zope-hookable/zope-hookable-5.1.0.ebuild
+++ /dev/null
@@ -1,47 +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_{8..11} )
-
-inherit distutils-r1
-
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Efficient creation of 'hookable' objects"
-HOMEPAGE="
- https://pypi.org/project/zope.hookable/
- https://github.com/zopefoundation/zope.hookable/
-"
-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"
-
-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 0a3cb3d2c71e..7c7ace7a5729 100644
--- a/dev-python/zope-i18nmessageid/Manifest
+++ b/dev-python/zope-i18nmessageid/Manifest
@@ -1 +1 @@
-DIST zope.i18nmessageid-5.0.1.tar.gz 28217 BLAKE2B 67e31a18daa8c2d5ccc16b173d37188fc6154cc75b1fd7cd908d6ee3ebeca0092316546587103f01aa6b39d074aaa207bec86401c4d50f664efba179191c9719 SHA512 31af16581d59ce1b7d5d8fd86c715c56b84aee9a7a0756bb2b7ceac6db30903acc5fdff85d844c0250c0a112cb45ab03be2f56d3d4ca6165272ff76c09d40d8c
+DIST zope.i18nmessageid-6.1.0.tar.gz 31187 BLAKE2B 1e616fe67d42e686928af298507afd1c5e962b4fcf89269fc69c00726814e51dd49c5a602d9da2153d3c11cb8e80fd4a9dfea354ee413d69a2022fb5479858c3 SHA512 13ca8d6c145ac48217d0f4fae4ae7fa2129a8d37ceeea640dcedca8815587cc9507935f0cc070bf37307cc21269b1a9decd2d18ae1bc79fdb0128f59f7e4b43b
diff --git a/dev-python/zope-i18nmessageid/zope-i18nmessageid-5.0.1-r2.ebuild b/dev-python/zope-i18nmessageid/zope-i18nmessageid-5.0.1-r2.ebuild
deleted file mode 100644
index a598245d5c23..000000000000
--- a/dev-python/zope-i18nmessageid/zope-i18nmessageid-5.0.1-r2.ebuild
+++ /dev/null
@@ -1,47 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
-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="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/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 61dda3f94aec..9c747136d0ae 100644
--- a/dev-python/zope-interface/Manifest
+++ b/dev-python/zope-interface/Manifest
@@ -1 +1,2 @@
-DIST zope.interface-5.4.0.tar.gz 249329 BLAKE2B 3a35ce6ff2a9984ed865cfb3bc3371e8069eb416d11bddbc56e27db4d76762fb1b87d295b51258ec006fddcbb38a8752b47a2d7874c0c8a959ca78101eae2750 SHA512 ef15d63397e05ad9fc44b2d5d786b0399b6973bb5f4866fab839ff612756f3157f2099d0f5c0469b574a5c8b5920a7c2a5c6eab8e8f84c24d5c43e816669bffe
+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.4.0-r2.ebuild b/dev-python/zope-interface/zope-interface-5.4.0-r2.ebuild
deleted file mode 100644
index dfdde228d4a4..000000000000
--- a/dev-python/zope-interface/zope-interface-5.4.0-r2.ebuild
+++ /dev/null
@@ -1,54 +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_{8..11} pypy3 )
-
-inherit distutils-r1
-
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Interfaces for Python"
-HOMEPAGE="https://pypi.org/project/zope.interface/ https://github.com/zopefoundation/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 -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-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..2b9282843339
--- /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 77b5b037d689..825f6d1b4cf8 100644
--- a/dev-python/zope-schema/Manifest
+++ b/dev-python/zope-schema/Manifest
@@ -1 +1 @@
-DIST zope.schema-6.2.0.tar.gz 104068 BLAKE2B 10d300b925f57a028b40bbcdfd7b0eb330815b63c86d6ded60fb594d549b1459cb67a99bd19e6d1782104a8bab204d8033ce422b5f9ebddb00e2fdfc1ab7d529 SHA512 f3083e4fc1dc54160c38cf7033519f9f37fef3e39f2f15b53fc4475d0989932448a018d77f8562870f4df85c5bf35bc756aec97868cd35ca07b733cf5796f00f
+DIST zope.schema-7.0.1.tar.gz 108737 BLAKE2B ca0d280186ebdaf53abc28bdb1684e31f97e4f4f9d235604702c2652bd4fa0a027d947f375ecee7aba598f072ce140908aaab3b107d6c743d6ee929db5de2fb5 SHA512 a8da9ac2e7239d15ed6cef83b4f500bca989c9ef2b7f1cd06ce532c260a8b8488b6fa42a6b2cfaeee505db87d3235f81815dc7eb80401c9e482141f8bf717e62
diff --git a/dev-python/zope-schema/zope-schema-6.2.0-r2.ebuild b/dev-python/zope-schema/zope-schema-6.2.0-r2.ebuild
deleted file mode 100644
index 27ac8e5cd6eb..000000000000
--- a/dev-python/zope-schema/zope-schema-6.2.0-r2.ebuild
+++ /dev/null
@@ -1,54 +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_{8..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
new file mode 100644
index 000000000000..6a614c85eca1
--- /dev/null
+++ b/dev-python/zope-schema/zope-schema-7.0.1.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
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Zope schema Architecture"
+HOMEPAGE="
+ https://pypi.org/project/zope.schema/
+ https://github.com/zopefoundation/zope.schema/
+"
+
+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-testing/Manifest b/dev-python/zope-testing/Manifest
index 11375d98ff56..7c2261e45d8f 100644
--- a/dev-python/zope-testing/Manifest
+++ b/dev-python/zope-testing/Manifest
@@ -1 +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 330ec37e2324..000000000000
--- a/dev-python/zope-testing/zope-testing-4.10-r2.ebuild
+++ /dev/null
@@ -1,47 +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_{8..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
new file mode 100644
index 000000000000..a87572e875ce
--- /dev/null
+++ b/dev-python/zope-testing/zope-testing-5.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=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Zope testing helpers"
+HOMEPAGE="
+ https://pypi.org/project/zope.testing/
+ https://github.com/zopefoundation/zope.testing/
+"
+
+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
+ "${EPYTHON}" - <<-EOF || die
+ import sys
+ import unittest
+
+ from zope.testing.tests import test_suite
+
+ runner = unittest.TextTestRunner(verbosity=2)
+ result = runner.run(test_suite())
+ sys.exit(0 if result.wasSuccessful() else 1)
+ EOF
+}
diff --git a/dev-python/zstandard/Manifest b/dev-python/zstandard/Manifest
index d17c91166d15..fdbd0080f3d1 100644
--- a/dev-python/zstandard/Manifest
+++ b/dev-python/zstandard/Manifest
@@ -1 +1 @@
-DIST python-zstandard-0.18.0.gh.tar.gz 678765 BLAKE2B 7a297e76d65c6f5adbb87cc615f474d58c66bc9ee4050eb10277b596f7efda9109de815188b6efe55beb7aa637ec4779359a573c87094661ae28a080c9619576 SHA512 d573da893e3a372143271c7d9dec15cd4e9dd7355d2069e283df8b3feadbf999dddcc0aa37a2831a370526b2b045497f46326dcf13d3680dd8ee624bca1e7666
+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/zstandard/zstandard-0.18.0.ebuild b/dev-python/zstandard/zstandard-0.18.0.ebuild
deleted file mode 100644
index d09cefcdc730..000000000000
--- a/dev-python/zstandard/zstandard-0.18.0.ebuild
+++ /dev/null
@@ -1,67 +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_{8..11} 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}
-
-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/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 2c24893e5d7c..a610b5a3b7a0 100644
--- a/dev-python/zstd/Manifest
+++ b/dev-python/zstd/Manifest
@@ -1 +1 @@
-DIST zstd-1.5.2.5.tar.gz 606492 BLAKE2B 072f3e3c89f7e2c372bf020bcb3766ed264c26c0bdba424feb70753ffcf4232eecfcce96a389296c01c961408c05008373d65d9ac790f3b82e3567aa3c6c806f SHA512 8b1e79ff00c8dbf71994c4a9af4e88e749d11c101137c31013d7678aeb9c9a9b7cfa04989e0a68be32a4c4ae56907711541025233078b82fb313bfdb056cb150
+DIST zstd-1.5.5.1.tar.gz 1106585 BLAKE2B 6c0d6108a3c5e5e3d013d6e10fadad8150311d2e17d304751dba4ac709e2c8005575ff73e2800392dfd9d7b6bcda9a8e8014d3cbe4a90d12bf12e7416776d744 SHA512 7dc2f3ffe0f94b56ba0cf8360ee510b292e9b8b1e92b8ba1ad1a9206b50f852a4e67e04d8e4900c0705820163d551644b38977e2864c648aae7dcc6b2a2c0a68
diff --git a/dev-python/zstd/zstd-1.5.2.5.ebuild b/dev-python/zstd/zstd-1.5.2.5.ebuild
deleted file mode 100644
index 78b4bf5b67f7..000000000000
--- a/dev-python/zstd/zstd-1.5.2.5.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="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/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
+}
diff --git a/dev-python/zxcvbn/Manifest b/dev-python/zxcvbn/Manifest
deleted file mode 100644
index 7309057227e1..000000000000
--- a/dev-python/zxcvbn/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST zxcvbn-4.4.28.gh.tar.gz 9392042 BLAKE2B e3baf57df00819243f9588c8203598b14b9f03e0a232d53152584b3b74872baef7050fdf8f11f25e8a8776e2e4a7a0af15c9045f07700fe686c6cb021f794f2b SHA512 be85f976dcf685e2885edff116147cc4549f9c86dee4317b61b84dc4f36ab2c8c2f3468d5d1a55e8890693c852a09104b14360f9ce43feb3727f8fc164eb78f1
diff --git a/dev-python/zxcvbn/metadata.xml b/dev-python/zxcvbn/metadata.xml
deleted file mode 100644
index c6874471a010..000000000000
--- a/dev-python/zxcvbn/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="pypi">zxcvbn</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/zxcvbn/zxcvbn-4.4.28-r1.ebuild b/dev-python/zxcvbn/zxcvbn-4.4.28-r1.ebuild
deleted file mode 100644
index 6a0661bddc58..000000000000
--- a/dev-python/zxcvbn/zxcvbn-4.4.28-r1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A realistic password strength estimator"
-HOMEPAGE="
- https://github.com/dwolfhub/zxcvbn-python/
- https://pypi.org/project/zxcvbn/
-"
-SRC_URI="
- https://github.com/dwolfhub/zxcvbn-python/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/zxcvbn-python-${PV}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-distutils_enable_tests pytest