summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-08-21 18:13:11 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-08-21 18:13:11 +0000
commitd415ee6e0c05ca5e407d7bc9d5a8dc27a62d06b8 (patch)
tree11eb4e13152cd144bac6f6f11b4ae58def84baef /dev-python
parentd246e137e3f7c313a4146c5928c9d545cdff5508 (diff)
downloadbaldeagleos-repo-d415ee6e0c05ca5e407d7bc9d5a8dc27a62d06b8.tar.gz
baldeagleos-repo-d415ee6e0c05ca5e407d7bc9d5a8dc27a62d06b8.tar.xz
baldeagleos-repo-d415ee6e0c05ca5e407d7bc9d5a8dc27a62d06b8.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/QtPy/QtPy-2.3.1-r1.ebuild218
-rw-r--r--dev-python/ansible-compat/Manifest1
-rw-r--r--dev-python/ansible-compat/ansible-compat-4.1.7.ebuild52
-rw-r--r--dev-python/cython-test-exception-raiser/cython-test-exception-raiser-1.0.2-r1.ebuild10
-rw-r--r--dev-python/cython/Manifest2
-rw-r--r--dev-python/cython/cython-0.29.34.ebuild92
-rw-r--r--dev-python/cython/cython-0.29.35.ebuild94
-rw-r--r--dev-python/cython/cython-0.29.36.ebuild2
-rw-r--r--dev-python/cython/cython-3.0.0-r1.ebuild2
-rw-r--r--dev-python/cython/cython-3.0.0.ebuild84
-rw-r--r--dev-python/fritzconnection/Manifest1
-rw-r--r--dev-python/fritzconnection/fritzconnection-1.13.1.ebuild50
-rw-r--r--dev-python/gst-python/gst-python-1.20.6.ebuild2
-rw-r--r--dev-python/hiredis/Manifest1
-rw-r--r--dev-python/hiredis/hiredis-2.2.3.ebuild45
-rw-r--r--dev-python/httpbin/httpbin-0.7.0-r5.ebuild2
-rw-r--r--dev-python/identify/Manifest1
-rw-r--r--dev-python/identify/identify-2.5.27.ebuild29
-rw-r--r--dev-python/immutabledict/Manifest1
-rw-r--r--dev-python/immutabledict/immutabledict-2.2.5.ebuild20
-rw-r--r--dev-python/immutabledict/immutabledict-3.0.0.ebuild2
-rw-r--r--dev-python/libtmux/Manifest1
-rw-r--r--dev-python/libtmux/libtmux-0.23.0.ebuild55
-rw-r--r--dev-python/mistletoe/Manifest1
-rw-r--r--dev-python/mistletoe/mistletoe-1.2.0.ebuild36
-rw-r--r--dev-python/protobuf-python/Manifest1
-rw-r--r--dev-python/protobuf-python/protobuf-python-4.24.1.ebuild57
-rw-r--r--dev-python/pypy3_10/Manifest1
-rw-r--r--dev-python/pypy3_10/pypy3_10-7.3.12_p3.ebuild209
-rw-r--r--dev-python/pytest-qt/pytest-qt-4.2.0.ebuild21
-rw-r--r--dev-python/python-engineio/Manifest1
-rw-r--r--dev-python/python-engineio/python-engineio-4.6.0.ebuild53
-rw-r--r--dev-python/python3-discogs-client/Manifest1
-rw-r--r--dev-python/python3-discogs-client/python3-discogs-client-2.6.ebuild36
-rw-r--r--dev-python/redis/Manifest1
-rw-r--r--dev-python/redis/redis-5.0.0.ebuild105
-rw-r--r--dev-python/reedsolo/Manifest1
-rw-r--r--dev-python/reedsolo/reedsolo-2.1.0_beta1.ebuild38
-rw-r--r--dev-python/scipy/scipy-1.11.1.ebuild2
-rw-r--r--dev-python/sqlalchemy/Manifest1
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.18.ebuild119
-rw-r--r--dev-python/twisted/Manifest1
-rw-r--r--dev-python/twisted/metadata.xml4
-rw-r--r--dev-python/twisted/twisted-23.8.0_rc1.ebuild154
-rw-r--r--dev-python/websockify/Manifest1
-rw-r--r--dev-python/websockify/websockify-0.11.0.ebuild43
-rw-r--r--dev-python/xcffib/Manifest1
-rw-r--r--dev-python/xcffib/xcffib-1.2.0.ebuild43
48 files changed, 1104 insertions, 594 deletions
diff --git a/dev-python/QtPy/QtPy-2.3.1-r1.ebuild b/dev-python/QtPy/QtPy-2.3.1-r1.ebuild
new file mode 100644
index 000000000000..d9168d36b528
--- /dev/null
+++ b/dev-python/QtPy/QtPy-2.3.1-r1.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-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_{8,9,10,11} )
+
+inherit distutils-r1 virtualx pypi
+
+DESCRIPTION="Abstraction layer on top of PyQt and PySide with additional custom QWidgets"
+HOMEPAGE="
+ https://github.com/spyder-ide/qtpy/
+ https://pypi.org/project/QtPy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+_IUSE_QT_MODULES="
+ designer +gui help multimedia +network opengl positioning
+ printsupport qml quick serialport +sql svg testlib
+ webchannel webengine websockets +widgets +xml
+"
+IUSE="+pyqt5 pyqt6 pyside2 pyside6 ${_IUSE_QT_MODULES}"
+unset _IUSE_QT_MODULES
+
+REQUIRED_USE="
+ || ( pyqt5 pyqt6 pyside2 pyside6 )
+ python_targets_python3_12? ( !pyside2 !pyside6 )
+"
+
+# These flags are currently *not* common to the PySide2/6 and PyQt5/6 ebuilds
+# Disable them for now, please check periodically if this is still up to date.
+# bluetooth? ( pyqt5 only )
+# dbus? ( pyqt5 only )
+#
+# 3d? ( pyside2 only )
+# charts? ( pyside2 only )
+# concurrent? ( pyside2 only )
+# datavis? ( pyside2 only )
+# scxml? ( pyside2 only )
+# script? ( pyside2 only )
+# scripttools? ( pyside2 only )
+#
+# location? ( pyside2 and pyqt5 only )
+# sensors? ( pyside2 and pyqt5 only )
+# speech? ( pyside2 and pyqt5 only )
+# x11extras? ( pyside2 and pyqt5 only )
+# xmlpatterns? ( pyside2 and pyqt5 only )
+
+# WARNING: the obvious solution of using || for PyQt5/pyside2 is not going
+# to work. The package only checks whether PyQt5/pyside2 is installed, it does
+# not verify whether they have the necessary modules (i.e. satisfy the USE dep).
+#
+# Webengine is a special case, because PyQt5 provides this in a separate package
+# while PySide2 ships it in the same package.
+#
+# declarative/qml/quick is a special case, because PyQt5 bundles the bindings
+# for qml and quick in one flag: declarative PySide2 does not.
+#
+# The PyQt5 ebuild currently enables xml support unconditionally, the flag is
+# added anyway with a (+) to make it future proof if the ebuild were to change
+# this behaviour in the future.
+#
+# The PySide2 ebuild currently enables opengl and serialport support
+# unconditionally, the flag is added anyway with a (+) to make it future proof
+# if the ebuild were to change this behaviour in the future.
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ pyqt5? (
+ dev-python/PyQt5[${PYTHON_USEDEP}]
+ dev-python/PyQt5[designer?,gui?,help?,multimedia?,network?,opengl?]
+ dev-python/PyQt5[positioning?,printsupport?,serialport?,sql?,svg?]
+ dev-python/PyQt5[testlib?,webchannel?,websockets?,widgets?,xml(+)?]
+ qml? ( dev-python/PyQt5[declarative] )
+ quick? ( dev-python/PyQt5[declarative] )
+ webengine? ( dev-python/PyQtWebEngine[${PYTHON_USEDEP}] )
+ )
+ pyqt6? (
+ dev-python/PyQt6[${PYTHON_USEDEP}]
+ dev-python/PyQt6[designer?,gui?,help?,multimedia?,network?,opengl?]
+ dev-python/PyQt6[positioning?,printsupport?,qml?,quick?,serialport?,sql?]
+ dev-python/PyQt6[svg?,testlib?,webchannel?,websockets?,widgets?,xml?]
+ webengine? ( dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets?,quick?] )
+
+ )
+ pyside2? (
+ $(python_gen_cond_dep '
+ dev-python/pyside2[${PYTHON_USEDEP}]
+ dev-python/pyside2[designer?,gui?,help?,multimedia?,network?,opengl(+)?]
+ dev-python/pyside2[positioning?,printsupport?,qml?,quick?,serialport(+)?]
+ dev-python/pyside2[sql?,svg?,testlib?,webchannel?,webengine?,websockets?]
+ dev-python/pyside2[widgets?,xml?]
+ ' python3_{10..11})
+ )
+ pyside6? (
+ $(python_gen_cond_dep '
+ dev-python/pyside6[${PYTHON_USEDEP}]
+ dev-python/pyside6[designer?,gui?,help?,multimedia?,network?,opengl?]
+ dev-python/pyside6[positioning?,printsupport?,qml?,quick?,serialport?]
+ dev-python/pyside6[sql?,svg?,testlib?,webchannel?,webengine?,websockets?]
+ dev-python/pyside6[widgets?,xml?]
+ ' python3_{10..11})
+ )
+"
+
+# The QtPy testsuite skips tests for bindings that are not installed, so here we
+# ensure that everything is available and all tests are run. Note that not
+# all flags are available in PyQt5/PySide2, so some tests are still skipped.
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ pyqt5? (
+ dev-python/PyQt5[${PYTHON_USEDEP}]
+ dev-python/PyQt5[bluetooth,dbus,declarative,designer,gui,help,location]
+ dev-python/PyQt5[multimedia,network,opengl,positioning,printsupport]
+ dev-python/PyQt5[sensors,serialport,speech(-),sql,svg,testlib,webchannel]
+ dev-python/PyQt5[websockets,widgets,x11extras,xml(+),xmlpatterns]
+ dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
+ )
+ pyqt6? (
+ dev-python/PyQt6[${PYTHON_USEDEP}]
+ dev-python/PyQt6[dbus,designer,gui,help,multimedia,network,opengl]
+ dev-python/PyQt6[positioning,printsupport,qml,quick,quick3d,serialport]
+ dev-python/PyQt6[sql,ssl,svg,testlib,webchannel,websockets,widgets,xml]
+ dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets,quick]
+ )
+ pyside2? (
+ $(python_gen_cond_dep '
+ dev-python/pyside2[${PYTHON_USEDEP}]
+ dev-python/pyside2[3d,charts,concurrent,datavis,designer,gui,help]
+ dev-python/pyside2[location,multimedia,network,opengl(+),positioning]
+ dev-python/pyside2[printsupport,qml,quick,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]
+ ' python3_{10..11})
+ )
+ pyside6? (
+ $(python_gen_cond_dep '
+ dev-python/pyside6[${PYTHON_USEDEP}]
+ dev-python/pyside6[concurrent,dbus,designer,gui,help,multimedia]
+ dev-python/pyside6[network,opengl,positioning,printsupport,qml]
+ dev-python/pyside6[quick,quick3d,serialport,sql,svg,testlib]
+ dev-python/pyside6[webchannel,webengine,websockets,widgets,xml]
+ ' python3_{10..11})
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i -e 's:--cov=qtpy --cov-report=term-missing::' pytest.ini || die
+ # Disable Qt for Python implementations that are not selected
+ if ! use pyqt5; then
+ sed -i -e "s/from PyQt5.QtCore import/raise ImportError #/" qtpy/__init__.py || die
+ fi
+ if ! use pyqt6; then
+ sed -i -e "s/from PyQt6.QtCore import/raise ImportError #/" qtpy/__init__.py || die
+ fi
+ if ! use pyside2; then
+ sed -i -e "s/from PySide2 import/raise ImportError #/" qtpy/__init__.py || die
+ sed -i -e "s/from PySide2.QtCore import/raise ImportError #/" qtpy/__init__.py || die
+ fi
+ if ! use pyside6; then
+ sed -i -e "s/from PySide6 import/raise ImportError #/" qtpy/__init__.py || die
+ sed -i -e "s/from PySide6.QtCore import/raise ImportError #/" qtpy/__init__.py || die
+ fi
+}
+
+python_test() {
+ # Test for each enabled Qt4Python target.
+ # Deselect the other targets, their test fails if we specify QT_API
+ # or if we have disabled their corresponding inherit in __init__.py above
+ if use pyqt5; then
+ einfo "Testing with ${EPYTHON} and QT_API=PyQt5"
+ QT_API="pyqt5" virtx epytest \
+ --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \
+ --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \
+ --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6]
+ fi
+ if use pyqt6; then
+ einfo "Testing with ${EPYTHON} and QT_API=PyQt6"
+ QT_API="pyqt6" virtx epytest \
+ --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \
+ --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \
+ --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6] \
+ --deselect qtpy/tests/test_qtsensors.py::test_qtsensors
+ # Qt6Sensors not yet packaged and enabled in PyQt6 ebuild
+ fi
+ if use pyside2; then
+ einfo "Testing with ${EPYTHON} and QT_API=PySide2"
+ QT_API="pyside2" virtx epytest \
+ --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \
+ --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \
+ --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6]
+ fi
+ if use pyside6; then
+ einfo "Testing with ${EPYTHON} and QT_API=PySide6"
+ QT_API="pyside6" virtx epytest \
+ --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \
+ --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \
+ --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \
+ --deselect qtpy/tests/test_qtsensors.py::test_qtsensors
+ # Qt6Sensors not yet packaged and enabled in PySide6 ebuild
+ fi
+}
+
+pkg_postinst() {
+ elog "When multiple Qt4Python targets are enabled QtPy will default to"
+ elog "the first enabled target in this order: PyQt5 PySide2 PyQt6 PySide6."
+ elog "This can be overridden with the QT_API environment variable."
+}
diff --git a/dev-python/ansible-compat/Manifest b/dev-python/ansible-compat/Manifest
index b20e2f982461..257ae16e318c 100644
--- a/dev-python/ansible-compat/Manifest
+++ b/dev-python/ansible-compat/Manifest
@@ -1,3 +1,4 @@
DIST ansible-compat-4.1.2.tar.gz 66934 BLAKE2B 08d17ce6f83b2ac2fc08fab1b3ef54742e75eb0236792fdcf2791a521bc154184d92f6d1f25b241ac6c524352f9cd39be8d3c74d414625a315a468aeb8ce09a8 SHA512 ef6ad4daf7c565de5b1ef1a5ad204e2b8c938f81ef0a736a1af660836ee557d5c88fc06eced2a8a9fb0c6ac5b48cda243052d5ae0b0f634653c9d41211739e64
DIST ansible-compat-4.1.5.tar.gz 68562 BLAKE2B b28b6e5185b29a55d452e9c72636b31a1a35c68f207cc07376fafd0a70335966d06f927a803582b715b29c090a80aa5aa2663cba54221cb4d2dbcd9a11ec5a7a SHA512 6da0bab56237a6447462ed9ef528711eb4c998de2732ec021e8257d2baf6cbb1e1435707440b4c0d122fb4f938c855693bcd555e147613f230105e3af74c00a6
DIST ansible-compat-4.1.6.tar.gz 69258 BLAKE2B 6dbea06a9a41451978a115614b87a880b7fb572251163345a8576ecefb5a5147919af202b0161e5b263fc94f593fa3daea9f5af0196c25ce2f14db9a64ba89a7 SHA512 fb3105827fecbd93e0a618a7a667c90afe0576e218f4dcfe6679df746ba56fcead4e6c56ce69a9b3e614b2d814141366f77ebb339fc9d5e6297d21b512588110
+DIST ansible-compat-4.1.7.tar.gz 69900 BLAKE2B c8549573d4a4325579b6026b6b5fad5fe0abb0fdcf07a4c8e0699c040a97409632202f0a38703a113f9a86f68328642d8d5c4b897e3601a13737bc2a4deb4d88 SHA512 b3175573113a3df37923e582c191dd5f4522c3a2171cc93b186e49d5ca6baa2fd8b2e7af2e9457bb21b5bd6df6c9f82fccc10b5e2bfeda84c890c4cbc37fafb4
diff --git a/dev-python/ansible-compat/ansible-compat-4.1.7.ebuild b/dev-python/ansible-compat/ansible-compat-4.1.7.ebuild
new file mode 100644
index 000000000000..45f1e04c18ea
--- /dev/null
+++ b/dev-python/ansible-compat/ansible-compat-4.1.7.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
+PYTHON_COMPAT=( python3_{8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Contains functions that facilitate working with various versions of Ansible"
+HOMEPAGE="
+ https://pypi.org/project/ansible-compat/
+ https://github.com/ansible/ansible-compat/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~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
+)
+
+distutils_enable_tests pytest
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 6c1aa0521283..ca803c86773c 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
@@ -12,13 +12,17 @@ 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 17c57826362d..b9c9a2aca0d2 100644
--- a/dev-python/cython/Manifest
+++ b/dev-python/cython/Manifest
@@ -1,4 +1,2 @@
-DIST cython-0.29.34.gh.tar.gz 2114639 BLAKE2B c5f70fd3e6074d9030a1035bc98d71b703e0f391b61bd91f3ffba2c35a29a98b9ff8ef2047e7c75743ead280f0f06a924abe84ae8bf7696b65da662a3c58ee0c SHA512 51679d1304d0f87dfb51e60c753f1ce60027f855a91cf130a5dcf84353884a7dcf09c01701945ae2f9173f8f095890c377d5faac28c2f01d7f764609c0130411
-DIST cython-0.29.35.gh.tar.gz 2115190 BLAKE2B ac23abbd2b560ee52a79840d995a4cf36ddb3a8705b9327010f1ad6add8028185c15703efcc1d59b581d65b5de38e123c0f07c36fe6ffe54a6efee7512161344 SHA512 35d679d94e1f731e004b83fb4ae0d569703b0800c913012308146b1c54463ce12cb1cf3733e24162fb357f179444c5ca31108a37850e6c749ddebac5175119f5
DIST cython-0.29.36.gh.tar.gz 2115333 BLAKE2B 6d43779c7222ff65d7de3a35ec18ef636480807d53480a8f94cc8c92d462fcc2f4d201a3bbf6e840a11fd33025e32c53f85626b05c131d10eed2859cdca7eb2d SHA512 a086fe1a11290cd3c870b891e61a0a0e2595bab9c26888024a758b6950c07059346d682fa9349e46c0af89805abbdd750059b3189960b8ce18007dfb5eb4391a
DIST cython-3.0.0.gh.tar.gz 2713478 BLAKE2B 16be50b463cf155417fee02b4529bbde8c4402bac0098ddf2cb05e33ac4c5b455bf7595b046b2bc6edcc8121f2c6be3b7af60c3c721a37bebcf4c654cd41a43f SHA512 a9bf6f0a78accd0624bc2a61329541d97d60257ae3a6b6601f73bd9122427a3d460129b317f000d3061a4dfe3e6a6de59342354862ded13e85c7eb622ee39f9a
diff --git a/dev-python/cython/cython-0.29.34.ebuild b/dev-python/cython/cython-0.29.34.ebuild
deleted file mode 100644
index d571ce821d83..000000000000
--- a/dev-python/cython/cython-0.29.34.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,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 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="emacs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- emacs? ( >=app-editors/emacs-23.1:* )
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
- "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
- "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
-)
-
-SITEFILE=50cython-gentoo.el
-
-distutils_enable_sphinx docs
-
-python_compile() {
- # Python gets confused when it is in sys.path before build.
- local -x PYTHONPATH=
-
- distutils-r1_python_compile
-}
-
-python_compile_all() {
- use emacs && elisp-compile Tools/cython-mode.el
-}
-
-python_test() {
- if has "${EPYTHON}" 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.35.ebuild b/dev-python/cython/cython-0.29.35.ebuild
deleted file mode 100644
index df4f41fc448f..000000000000
--- a/dev-python/cython/cython-0.29.35.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{8,9,10,11} )
-# 3.12 not tested yet for https://github.com/cython/cython/issues/5285.
-PYTHON_COMPAT=( python3_{8,9,10,11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 multiprocessing toolchain-funcs elisp-common
-
-DESCRIPTION="A Python to C compiler"
-HOMEPAGE="
- https://cython.org/
- https://github.com/cython/cython/
- https://pypi.org/project/Cython/
-"
-SRC_URI="
- https://github.com/cython/cython/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="emacs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- emacs? ( >=app-editors/emacs-23.1:* )
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' python3_{10..11})
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
- "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
- "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
-)
-
-SITEFILE=50cython-gentoo.el
-
-distutils_enable_sphinx docs
-
-python_compile() {
- # Python gets confused when it is in sys.path before build.
- local -x PYTHONPATH=
-
- distutils-r1_python_compile
-}
-
-python_compile_all() {
- use emacs && elisp-compile Tools/cython-mode.el
-}
-
-python_test() {
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- tc-export CC
- # https://github.com/cython/cython/issues/1911
- local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
- "${PYTHON}" runtests.py -vv -j "$(makeopts_jobs)" --work-dir "${BUILD_DIR}"/tests ||
- die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
- distutils-r1_python_install_all
-
- if use emacs; then
- elisp-install ${PN} Tools/cython-mode.*
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- fi
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-python/cython/cython-0.29.36.ebuild b/dev-python/cython/cython-0.29.36.ebuild
index ad27a0baae7c..400ffcd95db4 100644
--- a/dev-python/cython/cython-0.29.36.ebuild
+++ b/dev-python/cython/cython-0.29.36.ebuild
@@ -25,7 +25,7 @@ SRC_URI="
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"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="emacs test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/cython/cython-3.0.0-r1.ebuild b/dev-python/cython/cython-3.0.0-r1.ebuild
index 75e1d42f7574..97070088d3e0 100644
--- a/dev-python/cython/cython-3.0.0-r1.ebuild
+++ b/dev-python/cython/cython-3.0.0-r1.ebuild
@@ -26,7 +26,7 @@ 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"
+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 )"
diff --git a/dev-python/cython/cython-3.0.0.ebuild b/dev-python/cython/cython-3.0.0.ebuild
deleted file mode 100644
index 5c2d2b00d23c..000000000000
--- a/dev-python/cython/cython-3.0.0.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{8,9,10,11} )
-PYTHON_COMPAT=( python3_{8,9,10,11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 multiprocessing toolchain-funcs
-
-MY_P=${P/_rc/rc}
-DESCRIPTION="A Python to C compiler"
-HOMEPAGE="
- https://cython.org/
- https://github.com/cython/cython/
- https://pypi.org/project/Cython/
-"
-SRC_URI="
- https://github.com/cython/cython/archive/${PV/_rc/rc}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' python3_{10..11})
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
- "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
- "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
-)
-
-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/fritzconnection/Manifest b/dev-python/fritzconnection/Manifest
index de84719de25c..bb53abc10a08 100644
--- a/dev-python/fritzconnection/Manifest
+++ b/dev-python/fritzconnection/Manifest
@@ -1,2 +1,3 @@
DIST fritzconnection-1.12.2.gh.tar.gz 157170 BLAKE2B 9d924ad3146361d9301f10154152cdf98987572880b79052bf9f2fa427fc8410bacae92e49219dd11372c2cce2d03fb0ffd4c732a45e210a05a0a561ba5fc155 SHA512 a9c62fdaa59f20e7661836888f49cadfc99d192c393f34d4cce59aa9b9a9eda162e25029933854e84de44e08190190f312bb3862d708e79d7cf1ee8496726eab
DIST fritzconnection-1.13.0.gh.tar.gz 160654 BLAKE2B e3ed78640a015d2dc785b2e04f32f6d4e81ba88bf4d823cd643e0f4ebc2ec8396c79c8e368012944f5809512a05d6d4715cdf7d0d76e518479a0a77e20350fae SHA512 6776ba37b52a80eee57a77a75f7815491a575ab8a1c36d20633b39d61e8f0fc295c1ec1d20bb6620e43854b954d9fd044e88d0344a10c0b3707fffb3edc733a4
+DIST fritzconnection-1.13.1.gh.tar.gz 160742 BLAKE2B 61ad47e3e8d80bda9f5f9300292f86e83d548362a911376efcaa5ece42ccca04bcf61f09e66a5832bc2da43fabb0d80b80f5d45679633db4196cc8be4a0febff SHA512 0936a33c8ef83606e234858810f936c8df7e217e7ff27a7a03f8cbb0048e9d59d056e8f673ed2652aee033ab32f10fe08b82bab43d9c9830d927a2a0a9b9b129
diff --git a/dev-python/fritzconnection/fritzconnection-1.13.1.ebuild b/dev-python/fritzconnection/fritzconnection-1.13.1.ebuild
new file mode 100644
index 000000000000..ad66fb00a93b
--- /dev/null
+++ b/dev-python/fritzconnection/fritzconnection-1.13.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=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Lib/tool to communicate with AVM FRITZ! devices using TR-064 protocol over UPnP"
+HOMEPAGE="
+ https://github.com/kbr/fritzconnection/
+ https://pypi.org/project/fritzconnection/
+"
+
+LICENSE="MIT"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/kbr/fritzconnection"
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/kbr/fritzconnection/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~x86"
+fi
+
+RDEPEND="
+ >=dev-python/requests-2.22[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # flaky (relies on time.sleep(0.01) magically being sufficient)
+ fritzconnection/tests/test_fritzmonitor.py::test_terminate_thread_on_failed_reconnection
+ )
+
+ # "routertest" marks tests against live hardware
+ epytest -m "not routertest"
+}
diff --git a/dev-python/gst-python/gst-python-1.20.6.ebuild b/dev-python/gst-python/gst-python-1.20.6.ebuild
index a6f2d6a4e9b9..0a5628901dd0 100644
--- a/dev-python/gst-python/gst-python-1.20.6.ebuild
+++ b/dev-python/gst-python/gst-python-1.20.6.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz"
LICENSE="LGPL-2+"
SLOT="1.0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
diff --git a/dev-python/hiredis/Manifest b/dev-python/hiredis/Manifest
index a3fb3e85b483..247154493dad 100644
--- a/dev-python/hiredis/Manifest
+++ b/dev-python/hiredis/Manifest
@@ -1,2 +1 @@
-DIST hiredis-py-2.2.3.gh.tar.gz 18214 BLAKE2B cdac5e9790c88657c75be721c4dbc91174a0eb38cdd790076b3ec1f009d43c7aef300bfa7381a10061749cb3bec02d4a488e732f550bea4c62893aabfc0c3222 SHA512 e85032869b6bbbc30f991d83d67a710c04998645517b1ddcfd801ff37bd28f0576a5bdc2986f3526f72da8448986714a79b42a0ab1a5cc6b6bab24f3d98fdce9
DIST hiredis-py-2.3.0.gh.tar.gz 18179 BLAKE2B d87460d3ea75f81f9017a837f44281e7733104e5772ed53dc9471eb18a38b0a9e1298ddb3c78b8d3c5ab7a8e1f71e966bbaa10e06969321e7940b8965ac56b2f SHA512 4e72f71719e9616913e5ed6dc9d2e01ad91d44715231c1eda1a1c6570d75c00be634093712444fc9a86bc6843278ab34c33c7362ffd5b8171f4ff775aaf0c4bd
diff --git a/dev-python/hiredis/hiredis-2.2.3.ebuild b/dev-python/hiredis/hiredis-2.2.3.ebuild
deleted file mode 100644
index 9600bcc9ecba..000000000000
--- a/dev-python/hiredis/hiredis-2.2.3.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517="setuptools"
-PYTHON_COMPAT=( python3_{8,9,10,11} 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/httpbin/httpbin-0.7.0-r5.ebuild b/dev-python/httpbin/httpbin-0.7.0-r5.ebuild
index 9bc1724135d5..44b1278bc1ba 100644
--- a/dev-python/httpbin/httpbin-0.7.0-r5.ebuild
+++ b/dev-python/httpbin/httpbin-0.7.0-r5.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
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 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/brotlicffi[${PYTHON_USEDEP}]
diff --git a/dev-python/identify/Manifest b/dev-python/identify/Manifest
index 486a5b3ee20f..99a806db7913 100644
--- a/dev-python/identify/Manifest
+++ b/dev-python/identify/Manifest
@@ -1 +1,2 @@
DIST identify-2.5.26.gh.tar.gz 101549 BLAKE2B 383c6467436107cf98a667f1db3ab63f42aadff8f51d2f6bedf715dd45590eeb5fe7b3d6572b7704a7ae613d079a22a2d84c86581b7a63b7578807e06034aa70 SHA512 4c17c7f40b14fd45649e0a6b6885e2d96a1ce3cf91fbc1092fdb9b92d7bf2ac35b0c04a24bb3e77f3188a3c8d00f57dbe19ca660e1e08b60cdb60385f340c4bd
+DIST identify-2.5.27.gh.tar.gz 101565 BLAKE2B c4b29509d94912b15c35dfbee9b829594dc1953a7f6122cd4955042849686d53a79c7f9049f312226e5e55a148e4b3bc60158e836e9b9a0d5ca2de0cb133a1af SHA512 a604088628b2aeeaf8cb04a91f197bbc567d3c3e17047400201cccae5b168d92ebac26e181b835fa7c18f78d051795d7c25165596c2636f882098f63bac527d6
diff --git a/dev-python/identify/identify-2.5.27.ebuild b/dev-python/identify/identify-2.5.27.ebuild
new file mode 100644
index 000000000000..0547ed2debdb
--- /dev/null
+++ b/dev-python/identify/identify-2.5.27.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_{8,9,10,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 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/ukkonen[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/immutabledict/Manifest b/dev-python/immutabledict/Manifest
index 1aa463cbefaf..d6c828824449 100644
--- a/dev-python/immutabledict/Manifest
+++ b/dev-python/immutabledict/Manifest
@@ -1,2 +1 @@
-DIST immutabledict-2.2.5.tar.gz 4316 BLAKE2B 2f251c8409a88cfba741cc9ee2b72d486a7dd8422ca4d841d47246beef506762781106300d9cd4ec8f57115950b09f09bacbb1bc3ceeb0a4b78ef5ba32d3e045 SHA512 3bd94d077f599b6e96a4e17a0d9ecf6365975afe73048f9d9de4df35a8272af1baed264ad84ae6826dd6359ad0d371cd90082b4a064cc6350a0e61bc1cf8c713
DIST immutabledict-3.0.0.tar.gz 4478 BLAKE2B 7b5344f5153d28914da7124c3ca95e9b5c6422788259170de9f301de0a145324157635ca3543be824e9a0ebf93efe99a30dc1c8882bf926927023f2d06e318ad SHA512 90170703c1226e06d6726285005689cf66804ed2b3fda08c0350d9eeca6ec7427bd4004d42168e2f5ae7302acf1d16274a16d0e132bd81fbc8d470d75ec064a5
diff --git a/dev-python/immutabledict/immutabledict-2.2.5.ebuild b/dev-python/immutabledict/immutabledict-2.2.5.ebuild
deleted file mode 100644
index e9b888711ed6..000000000000
--- a/dev-python/immutabledict/immutabledict-2.2.5.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{8,9,10,11} )
-inherit distutils-r1 pypi
-
-DESCRIPTION="An immutable wrapper around dictionaries"
-HOMEPAGE="
- https://github.com/corenting/immutabledict/
- https://pypi.org/project/immutabledict/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64"
-
-distutils_enable_tests pytest
diff --git a/dev-python/immutabledict/immutabledict-3.0.0.ebuild b/dev-python/immutabledict/immutabledict-3.0.0.ebuild
index 3766b788a91a..2e8c876240f7 100644
--- a/dev-python/immutabledict/immutabledict-3.0.0.ebuild
+++ b/dev-python/immutabledict/immutabledict-3.0.0.ebuild
@@ -16,6 +16,6 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64"
+KEYWORDS="amd64 ~ppc64"
distutils_enable_tests pytest
diff --git a/dev-python/libtmux/Manifest b/dev-python/libtmux/Manifest
index d765ff15ae4f..3661ca7af87a 100644
--- a/dev-python/libtmux/Manifest
+++ b/dev-python/libtmux/Manifest
@@ -1,2 +1,3 @@
DIST libtmux-0.21.0.gh.tar.gz 267484 BLAKE2B 36d7af1bd90ff5a9639587d79f49643eec1e218d3b1839f5febdd9b6b402886e577b15c920cf458ecb14b4e6d532955b6d71ecf932060e6f8ba32193d6bb0162 SHA512 27000581396d79665e34b67a9e59bf639ca0fbd855ada9648750750e41e732cdcde15a05c6548993f08a8637783ddb478de24b75d5c18a198541c36b4b08b9cc
DIST libtmux-0.22.1.gh.tar.gz 266173 BLAKE2B 743d43fcebfb0058c9ff13f0fb9ad811403f85bf80dd68dbeead86fe079b4176db15c9bf0a8dd48fae67cb9fa968633595a51e6fcf6091bff54df911d2dd17bf SHA512 f056ecbf793cd90bb60d50252c78eb67a8312eb3eda92d68ff69ed85270f23c9d4489789438fb9d228600320a2afb64a29a70c00a415604b65079167381c46d6
+DIST libtmux-0.23.0.gh.tar.gz 267917 BLAKE2B 55b564ca517b346cdcb81b114cb62d3a10d94aad7be54b5172669a4c42f9d01d54c467ba32d818ec4851ae148bc0cadf174e47f5026a5025d015bc1e294802d9 SHA512 28b2b356e2f774085ffd03a1c63b1b7d6ece24765c54728a3e71fabe7b46b15f61a0a0263366bb67dfc440129c07cb6ff6f6dc6141b8d1f2e9fe96fc05b8b88a
diff --git a/dev-python/libtmux/libtmux-0.23.0.ebuild b/dev-python/libtmux/libtmux-0.23.0.ebuild
new file mode 100644
index 000000000000..22160ffe5db1
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.23.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=poetry
+PYTHON_COMPAT=( python3_{8,9,10,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}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ libtmux/pane.py::libtmux.pane.Pane.send_keys
+)
+
+python_prepare_all() {
+ local issues="https://github.com/tmux-python/libtmux/issues/"
+ sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
+ rm requirements/{doc,dev}.txt || die
+
+ # increase timeouts for tests
+ sed -e 's/0.01/0.1/' -i tests/test_test.py || die
+
+ sed -e '/addopts/s:--doctest-docutils-modules::' \
+ -e '/README\.md/d' \
+ -i setup.cfg || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/mistletoe/Manifest b/dev-python/mistletoe/Manifest
index d17c4b4fefaa..02c865e2600a 100644
--- a/dev-python/mistletoe/Manifest
+++ b/dev-python/mistletoe/Manifest
@@ -1 +1,2 @@
DIST mistletoe-1.1.0.gh.tar.gz 116246 BLAKE2B 52761841380f28e490f1d675ab95bf0f31be44c909c5221dadca37eaeb3bc909c4d9091d52bd3a99f9b4b371fa102cf0f02225a1aa0732ccda4dca2ab85214e2 SHA512 3b1d8b6a9e3fc1fa67a212977a1c26cedafdf2bd2cc53113b8bb583433e69af0b4fd47b575f9a1ba4bda50b1c55a0d27faf9877b6300982eee2f6b8fcb621b7c
+DIST mistletoe-1.2.0.gh.tar.gz 118346 BLAKE2B fd81792bd86bb21ef57004f2987bba8a01cbc63b4ccbda062d20bc5b73090c83f7fcd5c9a8c36a55d0178f33decd9850b6d38c176b1cf2b90c619a81b6055d6c SHA512 4ba40292174350d1b747092ed57b62955c10e69542f2592dfdcceabcedb67c7645f14cd554c22b91554abea0511e0e47433a4fa90de8f0a08fce3e7a77fdad92
diff --git a/dev-python/mistletoe/mistletoe-1.2.0.ebuild b/dev-python/mistletoe/mistletoe-1.2.0.ebuild
new file mode 100644
index 000000000000..a3430dd3d1ac
--- /dev/null
+++ b/dev-python/mistletoe/mistletoe-1.2.0.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_{8,9,10,11} pypy3 )
+
+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"
+
+# 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/protobuf-python/Manifest b/dev-python/protobuf-python/Manifest
index fd3464a8111e..0340fb589ff6 100644
--- a/dev-python/protobuf-python/Manifest
+++ b/dev-python/protobuf-python/Manifest
@@ -1,2 +1,3 @@
DIST protobuf-21.9.tar.gz 5110670 BLAKE2B a4f5b7f58e1c5904ca990b100a72992f6f56177b28773f8de8c99e4158391d33cfb8aa8575915887fc9ae4294faf81d4ff6b470bc07b394bfd5885a09ba0fafe SHA512 6954b42d21921e630173b7848c056ab95635627d8eddec960f3db2ddda13eedde00520a9b350722e76e2998649eb8ebe10758e1db938b6a91e38ff3295b1b7c1
DIST protobuf-24.0.tar.gz 5179150 BLAKE2B a5fdcde3b4d66c1a55ab66943e88ef4e5315c57432fcd3ba4e032e6da0fc0e7b22007bd133d63810ac6af668a5cdc529fac73a3d4012a62d62de0e819e04ac76 SHA512 6c850e4f7355d3dbc2524de152fe16c0bfe83ecaa712850c99e76afaa55ba4b35538df0faf4904f40c18ff0da9846a4f70cff3f5db0fb33a5d020919d3a2158a
+DIST protobuf-24.1.tar.gz 5178595 BLAKE2B d45f4961620685515e815849bf2a83a4cfc435255fea1bc131325a354a5ab244555631ab6c30484830f346a264ae839e4de7193c5ab01910d1477733039685c3 SHA512 7afe0633d22804ab23db062d7a61b63cbd088ead3b82ee5d86069fac3c806af63a6e67ae3b8ecb7d834b188c17a739ef43388e2ee6ca4152a2bec1a89ae30bc0
diff --git a/dev-python/protobuf-python/protobuf-python-4.24.1.ebuild b/dev-python/protobuf-python/protobuf-python-4.24.1.ebuild
new file mode 100644
index 000000000000..8dc108e9600d
--- /dev/null
+++ b/dev-python/protobuf-python/protobuf-python-4.24.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2023 Liguros 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,9,10,11} )
+
+inherit distutils-r1 flag-o-matic
+
+PARENT_PN="${PN/-python/}"
+PARENT_PV="$(ver_cut 2-)"
+PARENT_P="${PARENT_PN}-${PARENT_PV}"
+
+SRC_URI="
+ https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz -> ${PARENT_P}.tar.gz
+"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+DESCRIPTION="Google's Protocol Buffers - Python bindings"
+HOMEPAGE="
+ https://developers.google.com/protocol-buffers/
+ https://pypi.org/project/protobuf/
+"
+
+LICENSE="BSD"
+SLOT="0/23"
+
+S="${WORKDIR}/${PARENT_P}/python"
+
+BDEPEND="
+"
+DEPEND="
+ ${PYTHON_DEPS}
+"
+RDEPEND="
+ ${BDEPEND}
+ dev-libs/protobuf:${SLOT}
+"
+
+distutils_enable_tests setup.py
+
+python_prepare_all() {
+ eapply_user
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ append-cxxflags -std=c++17
+ 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/pypy3_10/Manifest b/dev-python/pypy3_10/Manifest
index 57f39b85f74c..16c723d3e13f 100644
--- a/dev-python/pypy3_10/Manifest
+++ b/dev-python/pypy3_10/Manifest
@@ -1,2 +1,3 @@
DIST pypy3.10-gentoo-patches-7.3.12_p1.tar.xz 4844 BLAKE2B 9540d41cbea05ef2239c94088fbd357efccfee2d269385308255c457efb5cb9ca5c3cead53fd08c38238ac66fec9f4bc1ea0507db3e2398de32342d387a3caee SHA512 b6442feab24f0acb903d60edd2a1996e51efbb4ceb5e7f547c3405bbe0c6fb8de6f74556aa5704ae1676b03fdb5ea3d64bb8dc4848d439704e5232366f38428d
+DIST pypy3.10-gentoo-patches-7.3.12_p3.tar.xz 7640 BLAKE2B 9352b6eb65c69311e8b629afc2567ab5f4b31b0aeda78539fde40f86465ee8ee76b354e78c567a532ac7804da417e5af343edc78a754780cfb970ee2c98c925f SHA512 740a14d6f5faa9a4cc0ec982c1425be56b2330450f2f6f4d667766cd1560d3d2aa5741d5ecfc7c94eaea9ae68029727cd7449f534a4ad84d26ca332605c08f6d
DIST pypy3.10-v7.3.12-src.tar.bz2 23009064 BLAKE2B ad45d90de9ae51803ebcfa202763889f92f7e5c2939331433a496e53ca67dd6eeaf9c61e16cb648945409dff3c6dd6b8a2a01dfe1bed6cd6a9df98f112bff181 SHA512 080520c7de267e17a2823f06cd0a15c108a2c32fc296d6e24782050eb546fa74852d948ede2c381dba110774121b20efc3a07b553acd0ac0db4a844dfc09069e
diff --git a/dev-python/pypy3_10/pypy3_10-7.3.12_p3.ebuild b/dev-python/pypy3_10/pypy3_10-7.3.12_p3.ebuild
new file mode 100644
index 000000000000..c3cd1b2bb121
--- /dev/null
+++ b/dev-python/pypy3_10/pypy3_10-7.3.12_p3.ebuild
@@ -0,0 +1,209 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils python-utils-r1 toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.10
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_rc/rc}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://foss.heptapod.net/pypy/pypy/
+"
+SRC_URI="
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
+# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
+SLOT="0/pypy310-pp73-384"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+ensurepip gdbm +jit ncurses sqlite tk"
+# many tests are failing upstream
+# see https://buildbot.pypy.org/summary?branch=py${PYVER}
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ >=dev-python/${PN}-exe-${PYPY_PV}:${PYPY_PV}[bzip2(+),ncurses?]
+ >=dev-python/${PN}-exe-bin-${PYPY_PV}:${PYPY_PV}
+ )
+ dev-lang/python-exec[python_targets_pypy3(-)]
+ dev-libs/openssl:0=
+ dev-python/gentoo-common
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+ !~dev-python/pypy3-7.3.12_rc1
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+
+ eapply_user
+}
+
+src_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ mkdir bin || die
+ # switch to the layout expected for cffi module builds
+ mkdir include/pypy${PYVER} || die
+ # copy over to make sys.prefix happy
+ cp -p "${BROOT}"/usr/bin/pypy${PYVER}-c-${PYPY_PV} pypy${PYVER}-c || die
+ cp -p "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/* include/pypy${PYVER}/ || die
+ # (not installed by pypy-exe)
+ rm pypy/module/cpyext/include/_numpypy/numpy/README || die
+ mv pypy/module/cpyext/include/* include/pypy${PYVER}/ || die
+ mv pypy/module/cpyext/parse/*.h include/pypy${PYVER}/ || die
+ pax-mark m pypy${PYVER}-c
+
+ # verify the subslot
+ local soabi=$(
+ ./pypy${PYVER}-c - <<-EOF
+ import importlib.util
+ import sysconfig
+ soabi = sysconfig.get_config_var("SOABI")
+ magic = importlib.util._RAW_MAGIC_NUMBER & 0xffff
+ print(f"{soabi}-{magic}")
+ EOF
+ )
+ [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
+
+ # Add epython.py to the distribution
+ echo 'EPYTHON="pypy3"' > lib-python/3/epython.py || die
+
+ einfo "Generating caches and CFFI modules ..."
+
+ # Generate sysconfig data
+ local host_gnu_type=$(sh pypy/tool/release/config.guess)
+ local overrides=(
+ HOST_GNU_TYPE "${host_gnu_type:-unknown}"
+ INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}"
+ LIBDIR "${EPREFIX}/usr/$(get_libdir)"
+ TZPATH "${EPREFIX}/usr/share/zoneinfo"
+ WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
+ )
+ ./pypy${PYVER}-c -m sysconfig --generate-posix-vars "${overrides[@]}" || die
+ local outdir
+ outdir=$(<pybuilddir.txt) || die
+ cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die
+
+ # Generate Grammar and PatternGrammar pickles.
+ ./pypy${PYVER}-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
+ import lib2to3.pygram
+ import lib2to3.patcomp
+ lib2to3.patcomp.PatternCompiler()
+ EOF
+
+ # Generate cffi modules
+ # Please keep in sync with lib_pypy/pypy_tools/build_cffi_imports.py!
+ # (NB: we build CFFI modules first to avoid error log when importing
+ # build_cffi_imports).
+ cffi_targets=(
+ pypy_util blake2/_blake2 sha3/_sha3 ssl
+ audioop syslog pwdgrp resource lzma posixshmem
+ 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
+
+ # Verify that CFFI module list is up-to-date
+ local expected_cksum=63d4659f
+ local local_cksum=$(
+ ../pypy${PYVER}-c - <<-EOF
+ import binascii
+ import json
+ from pypy_tools.build_cffi_imports import cffi_build_scripts as x
+ print("%08x" % (binascii.crc32(json.dumps(x).encode()),))
+ EOF
+ )
+ if [[ ${local_cksum} != ${expected_cksum} ]]; then
+ die "Please verify cffi_targets and update checksum to ${local_cksum}"
+ fi
+
+ # Cleanup temporary objects
+ find -name "*_cffi.[co]" -delete || die
+ find -type d -empty -delete || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ dodir /usr/bin
+ dosym pypy${PYVER}-c-${PYPY_PV} /usr/bin/pypy${PYVER}
+ insinto /usr/lib/pypy${PYVER}
+ # preserve mtimes to avoid obsoleting caches
+ insopts -p
+ doins -r lib-python/3/. lib_pypy/.
+ insinto /usr/include
+ doins -r include/pypy${PYVER}
+
+ # replace copied headers with symlinks
+ for x in "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/*; do
+ dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy${PYVER}/${x##*/}"
+ done
+
+ dodoc README.rst
+
+ local dest=/usr/lib/pypy${PYVER}
+ rm -r "${ED}${dest}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${ED}${dest}"/ensurepip || die
+ fi
+ if ! use gdbm; then
+ rm -r "${ED}${dest}"/_gdbm* || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED}${dest}"/sqlite3 \
+ "${ED}${dest}"/_sqlite3* \
+ "${ED}${dest}"/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}${dest}"/{idlelib,tkinter} \
+ "${ED}${dest}"/_tkinter \
+ "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die
+ fi
+ dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED"
+
+ local -x EPYTHON=pypy3
+ local -x PYTHON=${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}
+ # temporarily copy to build tree to facilitate module builds
+ cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" "${PYTHON}" || die
+
+ einfo "Byte-compiling Python standard library..."
+ python_optimize "${ED}${dest}"
+
+ # remove to avoid collisions
+ rm "${PYTHON}" || die
+}
diff --git a/dev-python/pytest-qt/pytest-qt-4.2.0.ebuild b/dev-python/pytest-qt/pytest-qt-4.2.0.ebuild
index 54eba98d7443..8f150a055ff5 100644
--- a/dev-python/pytest-qt/pytest-qt-4.2.0.ebuild
+++ b/dev-python/pytest-qt/pytest-qt-4.2.0.ebuild
@@ -6,7 +6,8 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYTHON_COMPAT=( python3_{8,9,10,11} )
-PYSIDE2_COMPAT=( python3_{8..10} )
+PYSIDE2_COMPAT=( python3_{10..11} )
+PYSIDE6_COMPAT=( python3_{10..11} )
inherit distutils-r1 virtualx pypi
@@ -26,9 +27,17 @@ RDEPEND="
BDEPEND="
test? (
dev-python/PyQt5[gui,testlib,widgets,${PYTHON_USEDEP}]
+ amd64? (
+ dev-python/PyQt6[gui,testlib,widgets,${PYTHON_USEDEP}]
+ )
$(python_gen_cond_dep '
dev-python/pyside2[gui,testlib,widgets,${PYTHON_USEDEP}]
' "${PYSIDE2_COMPAT[@]}")
+ amd64? (
+ $(python_gen_cond_dep '
+ dev-python/pyside6[gui,testlib,widgets,${PYTHON_USEDEP}]
+ ' "${PYSIDE6_COMPAT[@]}")
+ )
)
"
@@ -57,9 +66,17 @@ python_test() {
einfo "Testing with PyQt5"
PYTEST_QT_API="pyqt5" epytest || die
- # Pyside2 is not compatible with python3.11
+ if use amd64; then
+ einfo "Testing with PyQt6"
+ PYTEST_QT_API="pyqt6" epytest || die
+ fi
+ # Pyside{2,6} is not compatible with python3.12
if has "${EPYTHON}" "${PYSIDE2_COMPAT[@]/_/.}"; then
einfo "Testing with PySide2"
PYTEST_QT_API="pyside2" epytest || die
fi
+ if use amd64 && has "${EPYTHON}" "${PYSIDE6_COMPAT[@]/_/.}"; then
+ einfo "Testing with PySide6"
+ PYTEST_QT_API="pyside6" epytest || die
+ fi
}
diff --git a/dev-python/python-engineio/Manifest b/dev-python/python-engineio/Manifest
index c4ff9414217e..6a6da1dc3907 100644
--- a/dev-python/python-engineio/Manifest
+++ b/dev-python/python-engineio/Manifest
@@ -1 +1,2 @@
DIST python-engineio-4.5.1.gh.tar.gz 309858 BLAKE2B 684bb4c32f050d52091c91312fa2cbe2ef1be133a797734de75f9c4b2c088e8f1b239260e62f189266cd72e4ff1203d63f1abca6887a34b498de43b6ceedefaf SHA512 c661e4691c8e14c547ed4de381b97470f0eead36783a299829e0a472022b508e45c6a131bb2c88bdf9542d59f8128a4640340514e20476ec8e7c7a4babbe3c68
+DIST python-engineio-4.6.0.gh.tar.gz 310597 BLAKE2B 7749e65f1f79bd21fb3f89dd541f3c306c780b2a98e8f0a8368b6fa7bf40738a5115f00f976f40914fcef9a94ef618e40b05993e6812630f46524d05c55b0eba SHA512 28efc25ff7eda98fa16e7c52effafc0789f18d947301479e5393e674e97826cd16bffe8554a8016c53587ac66b1f2cac90d2f64dfa9c1e2466f4324ee9880b1d
diff --git a/dev-python/python-engineio/python-engineio-4.6.0.ebuild b/dev-python/python-engineio/python-engineio-4.6.0.ebuild
new file mode 100644
index 000000000000..cde7824e6ace
--- /dev/null
+++ b/dev-python/python-engineio/python-engineio-4.6.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python implementation of the Engine.IO realtime server"
+HOMEPAGE="
+ https://python-engineio.readthedocs.io/
+ https://github.com/miguelgrinberg/python-engineio/
+ https://pypi.org/project/python-engineio/"
+SRC_URI="
+ https://github.com/miguelgrinberg/python-engineio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]
+"
+# Can use eventlet, werkzeug, or gevent, but no tests for werkzeug
+BDEPEND="
+ test? (
+ dev-python/tornado[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/alabaster
+
+EPYTEST_IGNORE=(
+ # eventlet is masked for removal
+ tests/common/test_async_eventlet.py
+)
+
+EPYTEST_DESELECT=(
+ # also eventlet
+ tests/common/test_server.py::TestServer::test_async_mode_eventlet
+ tests/common/test_server.py::TestServer::test_connect
+ tests/common/test_server.py::TestServer::test_service_task_started
+ tests/common/test_server.py::TestServer::test_upgrades
+)
diff --git a/dev-python/python3-discogs-client/Manifest b/dev-python/python3-discogs-client/Manifest
index 8d17e777c6dd..e6152af550ab 100644
--- a/dev-python/python3-discogs-client/Manifest
+++ b/dev-python/python3-discogs-client/Manifest
@@ -1,2 +1 @@
-DIST python3-discogs-client-2.6.tar.gz 36426 BLAKE2B 1d2ae337beb0aaf9cc7310b13909a0a9172c79813ccc0a581af5478cbf45b28d2654b963df2881ad858fcabd5e85594c9a41458283e9e2c9c90ed4d6ad57853c SHA512 2b2ed4a56337b184266832682f7fa4d8726cc414b89446b2a6e96131d82c01c60bd78ac3336bdf94a3077ea25a313fbd532ba574cad64ddc9ab0229d0d7e44b1
DIST python3-discogs-client-2.7.tar.gz 36551 BLAKE2B f27fbf17afd7c0f6bb3619a4d0a7922f0a2192b34cddf72cb82f5580d81512d6450aa2464ab5e3746262ccdf66bf3411bd63ed121f69021bed06319bcc171de3 SHA512 7bb43429d6ceb3bbf892b6a65d4d93f0a9ec1bb3535b62169d7e1e4ff0e5032963b2ad5753e381745559efd21ed9e875bfbe3f5260e26f7df5f4a344bedded4a
diff --git a/dev-python/python3-discogs-client/python3-discogs-client-2.6.ebuild b/dev-python/python3-discogs-client/python3-discogs-client-2.6.ebuild
deleted file mode 100644
index 679487c2020d..000000000000
--- a/dev-python/python3-discogs-client/python3-discogs-client-2.6.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN="python3-discogs-client"
-PYTHON_COMPAT=( python3_{8,9,10,11} )
-
-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/redis/Manifest b/dev-python/redis/Manifest
index 429c732f86ce..bff0dc8b1692 100644
--- a/dev-python/redis/Manifest
+++ b/dev-python/redis/Manifest
@@ -1 +1,2 @@
DIST redis-py-4.5.5.gh.tar.gz 4748642 BLAKE2B 6e924477be81af995190328b8747e2eac3d905fcff8cd97c6f89702e3888a4185918144cf11b9173b25dd4c2e62ce988e2f1f5b2c1261bb35e64031772a5a81a SHA512 f1d8f1b009f30613776904cef42a090a51da2833d667d47f9650c9a35187d11911d5b23b20f2ba2279714758963830c873473028775f39419e4d996da54eee83
+DIST redis-py-5.0.0.gh.tar.gz 4767898 BLAKE2B 0dc1fcafe7ad82c00bf634e19b5afb7201f39dfd26dfcce398fbc40cff79fe03d3e2ecc2acccebf1405700fb72fc5894ce1b8438b55e6c10d52ec08124da50cb SHA512 24133be64b73a58edd7b0361a8b168b67f0e783576aaf0007f4b4b8d6032a227d6ebc7319c89fc323fc72ef1063e4a899d9a8be9eaa833d347345a59a65fff31
diff --git a/dev-python/redis/redis-5.0.0.ebuild b/dev-python/redis/redis-5.0.0.ebuild
new file mode 100644
index 000000000000..4d9ccc8c90be
--- /dev/null
+++ b/dev-python/redis/redis-5.0.0.ebuild
@@ -0,0 +1,105 @@
+# Copyright 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,9,10,11} pypy3 )
+
+inherit distutils-r1
+
+MY_P=redis-py-${PV}
+DESCRIPTION="Python client for Redis key-value store"
+HOMEPAGE="
+ https://github.com/redis/redis-py/
+ https://pypi.org/project/redis/
+"
+SRC_URI="
+ https://github.com/redis/redis-py/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/async-timeout-4.0.2[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Flaky test
+ tests/test_pubsub.py::TestPubSubDeadlock::test_pubsub_deadlock
+ # require extra redis modules that apparently aren't packaged
+ # on Gentoo
+ tests/test_bloom.py
+ tests/test_graph.py
+ tests/test_json.py
+ tests/test_timeseries.py
+ # apparently available only in "Redis Stack 7.2 RC3 or later"
+ tests/test_commands.py::TestRedisCommands::test_tfunction_load_delete
+ tests/test_commands.py::TestRedisCommands::test_tfunction_list
+ tests/test_commands.py::TestRedisCommands::test_tfcall
+ # TODO
+ tests/test_commands.py::TestRedisCommands::test_zrank_withscore
+ tests/test_commands.py::TestRedisCommands::test_zrevrank_withscore
+ tests/test_commands.py::TestRedisCommands::test_xinfo_consumers
+ tests/test_asyncio/test_commands.py::TestRedisCommands::test_zrank_withscore
+ tests/test_asyncio/test_commands.py::TestRedisCommands::test_zrevrank_withscore
+ tests/test_asyncio/test_commands.py::TestRedisCommands::test_xinfo_consumers
+ )
+
+ case ${EPYTHON} in
+ python3.12)
+ EPYTEST_DESELECT+=(
+ tests/test_asyncio/test_connect.py
+ tests/test_asyncio/test_cwe_404.py
+ )
+ ;;
+ esac
+
+ # TODO: try to run more servers?
+ epytest -m "not redismod and not onlycluster and not replica and not ssl"
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ if has_version ">=dev-db/redis-7"; then
+ local extra_conf="
+ enable-debug-command yes
+ enable-module-command yes
+ "
+ fi
+
+ # Spawn Redis itself for testing purposes
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ ${extra_conf}
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/reedsolo/Manifest b/dev-python/reedsolo/Manifest
index 3bc3edda5cb5..5281e036e03d 100644
--- a/dev-python/reedsolo/Manifest
+++ b/dev-python/reedsolo/Manifest
@@ -1,2 +1 @@
-DIST reedsolo-2.1.0b1.tar.gz 379041 BLAKE2B 860d5d67fb7653b92a8163b72143ff3a5b1a482359339a596acd5e7f99eda1a2d6d208548e6689dca63018f5893d536a0c7040956cfee6077d9016fe7ca1d485 SHA512 1ae25c53f315cedcaaa4530388557c3dba1902856fe1543a061a65dc3c5c4201c1d8a5959786c3bf15a0f9799f984c8ba84e630ad1e75efbe44260346a650251
DIST reedsolo-2.1.1b1.tar.gz 380948 BLAKE2B 342c2ce63490a8e699dfb584a01b1533bd742693d335c2216426bf3f1b8d82e4dc52a7d9d9dda58fcdc73a7a28687f08235b67b942e1d98e2e0e069eda824d90 SHA512 841766296db6cad2f5d71c9378830d95ec974ae5e7de4624772c92a08739fa9bb94dfc8762c45e2508c53cb603b2a13e0ce64b060021d93c10de94cb2a325aa5
diff --git a/dev-python/reedsolo/reedsolo-2.1.0_beta1.ebuild b/dev-python/reedsolo/reedsolo-2.1.0_beta1.ebuild
deleted file mode 100644
index 472e075fe1a6..000000000000
--- a/dev-python/reedsolo/reedsolo-2.1.0_beta1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYPI_PN=reedsolo
-PYTHON_COMPAT=( python3_{8,9,10,11} )
-
-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"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/pytest-cov/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-src_configure() {
- if use native-extensions; then
- DISTUTILS_ARGS=(
- # TODO: switch to --cythonize once we're on cython-3
- --native-compile
- )
- fi
-}
diff --git a/dev-python/scipy/scipy-1.11.1.ebuild b/dev-python/scipy/scipy-1.11.1.ebuild
index 42b6d43e5f5e..442a1275ffbc 100644
--- a/dev-python/scipy/scipy-1.11.1.ebuild
+++ b/dev-python/scipy/scipy-1.11.1.ebuild
@@ -38,7 +38,7 @@ else
)"
if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~amd64 ~arm ~arm64 -hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+ KEYWORDS="~amd64 arm arm64 -hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
fi
fi
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index 42c2e942fa19..4c6a68a6c55f 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,4 +1,3 @@
DIST SQLAlchemy-1.4.49.tar.gz 8536601 BLAKE2B 2133723380b157a76f4af6103a2c68099f78d7a49ad90793d682bd6015d61a06a72ba6f02922111b60716e311ddc2f6067153f7b4b1f80329775e0d6f27a0d92 SHA512 268751b09aebd9da10fd57b4b987fa57f3c61d18d5104bb308e405aa034c74e7d5441abd94368857fbe11b8d15bb5315634f64f3b1252e7318d24107ba1fe3ff
-DIST SQLAlchemy-2.0.18.tar.gz 9417280 BLAKE2B 0f67e993c91cbf5fb2b5c9481e531830c24f69cb583ab0045b844048e92e57c2a9d826f098b792c0dfc807236fcb422fb800d201473e75fafc1190282d7c27f1 SHA512 4665994e4dc07b5ba0e0549cf80c0cc542c87609c74dce1e5523d4d6bfd5e1be5c7b62562e151c864a2e2a836cceb8374e804871937c738e54a1aa17297732ce
DIST SQLAlchemy-2.0.19.tar.gz 9425046 BLAKE2B 258e273a1c9ec5584293d08b0cc9de8ab4076e61bbae2b914950d38e4627591e1c57250f5c28625e5d84d3db360992952a22644992ed5244d36d616f20487fc5 SHA512 d82834f4f55c2298ff16401f34326845360c58e6ba6a2e22cda92219c0fb40938d404315027f4e9f392bc57fe45808ea192f99b747e073a40a9713f8d498b22a
DIST SQLAlchemy-2.0.20.tar.gz 9437690 BLAKE2B d0be093ec796f42868352339f70e64a1a0fbd4e96315ab91b370df79882138763228bc365dceaec736f7dce1d7c6991c7d20ca7dbccb766aec78b7039004dad2 SHA512 3bc463465248f28948a1004a3c18a5dbc02af81b18b4f89155aca6a03ab582010318c3d177c3b5c4caabd49945b426d7e0f23c482aefc75eb1a7252b57241e53
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.18.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.18.ebuild
deleted file mode 100644
index 24ef4acb0c2f..000000000000
--- a/dev-python/sqlalchemy/sqlalchemy-2.0.18.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11} pypy3 )
-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"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- $(python_gen_impl_dep sqlite)
- )
-"
-
-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
- # TODO
- test/orm/test_versioning.py::ServerVersioningTest_sqlite+pysqlite_3_40_1::test_sql_expr_w_mods_bump
- test/sql/test_resultset.py::CursorResultTest_sqlite+pysqlite_3_41_0::test_pickle_rows_other_process
- )
- local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
- test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
- test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
- test/engine/test_pool.py::QueuePoolTest::test_recycle_pool_no_race
- 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
- )
- [[ ${EPYTHON} == python3.12 ]] && EPYTEST_DESELECT+=(
- # see https://github.com/sqlalchemy/sqlalchemy/issues/9819
- test/base/test_result.py::ResultTupleTest::test_slices_arent_in_mappings
- )
- 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
- 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/twisted/Manifest b/dev-python/twisted/Manifest
index fc853dde42d1..adb006086a89 100644
--- a/dev-python/twisted/Manifest
+++ b/dev-python/twisted/Manifest
@@ -1,2 +1,3 @@
DIST twisted-22.10.0.gh.tar.gz 3512714 BLAKE2B 2fd36ec6922f428e959ce0169bb9a3592b8b3e43aff8d34872883ecf0fad8d0fff01a52f06b54df3dc377f4fc1a488b6d66f9287b108b4749bb7d3c749b96061 SHA512 cf9ed96430376d499ae9627a7d0656c05cb99bc9e9b15a8f4166355363818f090bc3c2b383ed4cf19e1e38fb569e8618d35a0ddde2a90a06f3c9a4ea769837e4
+DIST twisted-23.8.0rc1.tar.gz 3479000 BLAKE2B d3dbc54759f4dcba422cbcc57451a268834f21616ea2b5d34d972f2647750afa4ae62424ae32b2e0fe22e3a886c45ff1e64280c99553aa1ee52923a192773fdf SHA512 a1e778247a311dda30cd7f9f02fa4ab8848d6d5b89de4ff83dee5a92f968b6ec8df48d1804eef780cd0a9dc1393a1a91d624e9c54e0c9cd52d930ac2b36a0b6c
DIST twisted-regen-cache.gz 911 BLAKE2B ffd3fcda6c67ffe6fd3ef581c8d507548396b66ed0708e9a5c790095e579c0d5f0f71596acf05712989da2ddef2b8d437eca973bc4d80ef8a9fa852915f38305 SHA512 95a9b931c73017d16d1b5e6b41345dddffe62b6af1a8e93b5e40d06d3d15be17b0dd0181c767ffeeb791534d463764ef9e066fa6c2ee2ac4b53c86d1da8fce03
diff --git a/dev-python/twisted/metadata.xml b/dev-python/twisted/metadata.xml
index 9aaf8b94bcb8..595e86b07132 100644
--- a/dev-python/twisted/metadata.xml
+++ b/dev-python/twisted/metadata.xml
@@ -19,10 +19,6 @@ twisted.trial: A unit testing framework that integrates well with Twisted-based
</longdescription>
<upstream>
<remote-id type="cpe">cpe:/a:twistedmatrix:twisted</remote-id>
- <maintainer>
- <email>twisted-python@twistedmatrix.com</email>
- <name>Twisted Matrix Laboratories</name>
- </maintainer>
</upstream>
<use>
<flag name="conch">include Twisted SSHv2 implementation</flag>
diff --git a/dev-python/twisted/twisted-23.8.0_rc1.ebuild b/dev-python/twisted/twisted-23.8.0_rc1.ebuild
new file mode 100644
index 000000000000..c074525977f8
--- /dev/null
+++ b/dev-python/twisted/twisted-23.8.0_rc1.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_TESTED=( python3_{8,9,10,11} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="An asynchronous networking framework written in Python"
+HOMEPAGE="
+ https://twisted.org/
+ https://github.com/twisted/twisted/
+ https://pypi.org/project/Twisted/
+"
+SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="conch http2 serial ssl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/automat-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/constantly-15.1[${PYTHON_USEDEP}]
+ >=dev-python/hyperlink-17.1.1[${PYTHON_USEDEP}]
+ >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-5[${PYTHON_USEDEP}]
+ conch? (
+ >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-3.3[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ )
+ http2? (
+ <dev-python/h2-5.0[${PYTHON_USEDEP}]
+ >=dev-python/h2-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/priority-2.0[${PYTHON_USEDEP}]
+ >=dev-python/priority-1.1.0[${PYTHON_USEDEP}]
+ )
+ serial? (
+ >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
+ )
+ ssl? (
+ >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
+ >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.4[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/constantly-15.1.0[${PYTHON_USEDEP}]
+ <dev-python/cython-test-exception-raiser-2[${PYTHON_USEDEP}]
+ >=dev-python/cython-test-exception-raiser-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.4[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.56[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ >=dev-python/pyhamcrest-2[${PYTHON_USEDEP}]
+ >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
+ virtual/openssh
+ ssl? (
+ >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
+ >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
+ )
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+PATCHES=(
+ # https://github.com/twisted/twisted/pull/11787
+ "${FILESDIR}/${PN}-22.10.0-time.patch"
+)
+
+python_prepare_all() {
+ # upstream test for making releases; not very useful and requires
+ # sphinx (including on py2)
+ rm src/twisted/python/test/test_release.py || die
+
+ # multicast tests fail within network-sandbox
+ sed -e 's:test_joinLeave:_&:' \
+ -e 's:test_loopback:_&:' \
+ -e 's:test_multiListen:_&:' \
+ -e 's:test_multicast:_&:' \
+ -i src/twisted/test/test_udp.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ # the test suite handles missing file & failing ioctl()s gracefully
+ # but not permission errors from sandbox
+ addwrite /dev/net/tun
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON} (xfail)"
+ return
+ fi
+
+ "${EPYTHON}" -m twisted.trial twisted ||
+ die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # own the dropin.cache so we don't leave orphans
+ > "${D}$(python_get_sitedir)"/twisted/plugins/dropin.cache || die
+
+ python_doscript "${WORKDIR}"/twisted-regen-cache
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newconfd "${FILESDIR}/twistd.conf" twistd
+ newinitd "${FILESDIR}/twistd.init" twistd
+}
+
+python_postinst() {
+ twisted-regen-cache || die
+}
+
+pkg_postinst() {
+ if [[ -z ${ROOT} ]]; then
+ python_foreach_impl python_postinst
+ fi
+}
+
+python_postrm() {
+ rm -f "${ROOT}$(python_get_sitedir)/twisted/plugins/dropin.cache" || die
+}
+
+pkg_postrm() {
+ # if we're removing the last version, remove the cache file
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ python_foreach_impl python_postrm
+ fi
+}
diff --git a/dev-python/websockify/Manifest b/dev-python/websockify/Manifest
index 4d6225762a72..4234752f0452 100644
--- a/dev-python/websockify/Manifest
+++ b/dev-python/websockify/Manifest
@@ -1 +1,2 @@
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/websockify-0.11.0.ebuild b/dev-python/websockify/websockify-0.11.0.ebuild
new file mode 100644
index 000000000000..8356706bc288
--- /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_{8,9,10,11} )
+
+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/xcffib/Manifest b/dev-python/xcffib/Manifest
index bea594e6c185..1c7f0d77d3bc 100644
--- a/dev-python/xcffib/Manifest
+++ b/dev-python/xcffib/Manifest
@@ -1,4 +1,3 @@
-DIST xcffib-1.2.0.tar.gz 88972 BLAKE2B a8d9be7c3149f696d06474aab85e9f7605d45e9861151192dbb7b51e48483f75adb721e17531432294d19d8d6498b66ba312702ea011e8470c3ac42ac0cd6e23 SHA512 7012833f2877edea92cdc15030543883e2a848264c034a81222626ad48a69fcdac8a88cec2e07e61a80102640baa7fbdf29bbf25e08e59fc896aada08533bb77
DIST xcffib-1.3.0.tar.gz 89874 BLAKE2B 5dd8d64b906d92cb987ee4398da668d6034faf4abc24a56c0fca3e5b6d0cd1252ea1459736a9f7fb83ee97d4d6cec5d103eb19aba626a3d646f67e6332e255a5 SHA512 a493f86891158ffa0c36168da5e7ebdeadafe5e9f067e2ad6052cf302c89db612f907b5e9950748fcfd74886b808870986529902bae77fede7e27d5d422d6ec6
DIST xcffib-1.4.0.tar.gz 89496 BLAKE2B 4987d9346d403c3ac627cd7b1b31d3686b9135d077c4b61862841085cc1c1ea7f950bd0b6c456d59f407bb384d14a96cf2a617f2c584434eee294a22ac770a82 SHA512 310fc4c21856d2255650598c26831569061e112516d958e6f65a0a8e6d32c4bb37a14d7bb6c7da8dcaa9c4459fc83026ba9b1a9567f01f9bbcafda8fdea4f153
DIST xcffib-1.5.0.tar.gz 89544 BLAKE2B cb3820a53eb7694078e5dbb175951b6dbdc445c06f397898e52319fd8a7633f2d8115f0d096a14b2b3de0c7b07918343d077705814574ff41de2bf06a12812c0 SHA512 aaa426b57d0d8dc45cb6a2036c862af6308fb5781667b8dba3f5ff399fe5e15912860d0bb696ac09f1efd4ffbbdaf7f555ef76039bd660f36f5c6179535b654f
diff --git a/dev-python/xcffib/xcffib-1.2.0.ebuild b/dev-python/xcffib/xcffib-1.2.0.ebuild
deleted file mode 100644
index 6c9072829f68..000000000000
--- a/dev-python/xcffib/xcffib-1.2.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8,9,10,11} 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*')
- dev-python/six[${PYTHON_USEDEP}]
- ${DEPEND}
-"
-BDEPEND="
- test? (
- x11-base/xorg-server[xvfb]
- x11-apps/xeyes
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- rm -rf xcffib || die
- epytest
-}