diff --git a/app-misc/vocabsieve/vocabsieve-0.11.0.ebuild b/app-misc/vocabsieve/vocabsieve-0.11.0.ebuild
index 70af29b3f5..bd2f49fe95 100644
--- a/app-misc/vocabsieve/vocabsieve-0.11.0.ebuild
+++ b/app-misc/vocabsieve/vocabsieve-0.11.0.ebuild
@@ -1,9 +1,9 @@
-# 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..11} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/DAWG-Python/DAWG-Python-0.7.2.ebuild b/dev-python/DAWG-Python/DAWG-Python-0.7.2.ebuild
index 33b5e58375..36063bdac7 100644
--- a/dev-python/DAWG-Python/DAWG-Python-0.7.2.ebuild
+++ b/dev-python/DAWG-Python/DAWG-Python-0.7.2.ebuild
@@ -1,9 +1,9 @@
-# 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_{10..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
inherit distutils-r1 pypi
diff --git a/dev-python/EbookLib/EbookLib-0.17.1.ebuild b/dev-python/EbookLib/EbookLib-0.17.1.ebuild
index a882c0f4e5..14f9ac085b 100644
--- a/dev-python/EbookLib/EbookLib-0.17.1.ebuild
+++ b/dev-python/EbookLib/EbookLib-0.17.1.ebuild
@@ -1,9 +1,9 @@
-# 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_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
inherit distutils-r1 pypi
diff --git a/dev-python/SLPP/SLPP-1.2.3.ebuild b/dev-python/SLPP/SLPP-1.2.3.ebuild
index 6b4394724e..d9e993fd46 100644
--- a/dev-python/SLPP/SLPP-1.2.3.ebuild
+++ b/dev-python/SLPP/SLPP-1.2.3.ebuild
@@ -1,9 +1,9 @@
-# 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_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
inherit distutils-r1 pypi
diff --git a/dev-python/bidict/bidict-0.22.1.ebuild b/dev-python/bidict/bidict-0.22.1.ebuild
index 696a8ca243..59c6c817c2 100644
--- a/dev-python/bidict/bidict-0.22.1.ebuild
+++ b/dev-python/bidict/bidict-0.22.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/darkdetect/darkdetect-0.8.0.ebuild b/dev-python/darkdetect/darkdetect-0.8.0.ebuild
index 2037ee6cb3..18e14ceddd 100644
--- a/dev-python/darkdetect/darkdetect-0.8.0.ebuild
+++ b/dev-python/darkdetect/darkdetect-0.8.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{10..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/eventlet/Manifest b/dev-python/eventlet/Manifest
index 0a34761af4..06a9d19d56 100644
--- a/dev-python/eventlet/Manifest
+++ b/dev-python/eventlet/Manifest
@@ -1 +1,2 @@
DIST eventlet-0.33.3.gh.tar.gz 554578 BLAKE2B 19bcd7a5adc2ef24f2637bfd9b19e68a9a268ebb7791cc9c419d9da88e5860c4cbbf6ecbaa0f3c300246584082622e6dab7ab75374f7d54f3c4a65661e22dbfd SHA512 b2e1818c7b6134be4020d2b4315bbb3db795960df76da08a490e0d952549eafb477800c884e7a99493146c1ac082aed5fb87c7e2882ee468ea42b5cc26b8517f
+DIST eventlet-0.34.2.tar.gz 539756 BLAKE2B 9090f5647bfe23d92e9a8cfe5281129192406817706223f121c6c33b6defae5a0dd5ab62c81db0bc456286452d68e927189d4737a866a76d48d74334da7b68af SHA512 4115db66dcf95e1f2f31d90de8bfefc6335ebb8a20275c4e599468e56faf854a359cd79193911095d2f27713fad28f4bdf92724fdee5fe1f8cef2b73a5621254
diff --git a/dev-python/eventlet/eventlet-0.34.2.ebuild b/dev-python/eventlet/eventlet-0.34.2.ebuild
new file mode 100644
index 0000000000..9ae460990e
--- /dev/null
+++ b/dev-python/eventlet/eventlet-0.34.2.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=hatchling
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Concurrent networking library for Python"
+HOMEPAGE="https://github.com/eventlet/eventlet/
+ https://pypi.org/project/eventlet/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/dnspython[${PYTHON_USEDEP}]
+ dev-python/greenlet[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ test? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests pytest
+
+# https://github.com/eventlet/eventlet/issues/821
+EPYTEST_DESELECT=(
+ tests/greenio_test.py::TestGreenSocket::test_full_duplex
+ tests/greenio_test.py::TestGreenSocket::test_invalid_connection
+ tests/greenio_test.py::TestGreenSocket::test_nonblocking_accept_mark_as_reopened
+)
diff --git a/dev-python/hachoir/Manifest b/dev-python/hachoir/Manifest
index e2bca864bf..3f1d4f7361 100644
--- a/dev-python/hachoir/Manifest
+++ b/dev-python/hachoir/Manifest
@@ -1 +1,2 @@
DIST hachoir-3.2.0.gh.tar.gz 6922212 BLAKE2B d4e4b220a2495f00506e4a74882cb90abc0b20937fe6a28da1ed03e46c9ee7de004abd0ec04306a62f37c4799d78dad6bafdc70691b4d70864dd2e63979b960f SHA512 82b4271bfe8c50529b69e482205f66953c63da754220a11bb2d4ff9474d8ae81d856e639c293c4461427fc190ae53eae259c592af6844b67667d3063de955751
+DIST hachoir-3.3.0.gh.tar.gz 7905416 BLAKE2B 2125d28c932564867b37265206d5e27c9202b523ee8cb01d438aba44e6be42e76a6d2411ff72002db1a2dd28cf5561ff9c810920c88bbd8b20399007d85c3abf SHA512 8c9d6070877cedf706bec45f2813e145b3014dfc5c29d44e6c78fade165f0706cb214690e89551e4934a54c7e8e1fac1c73362fb9ada1c3d3d41f35556f43c7a
diff --git a/dev-python/hachoir/hachoir-3.3.0.ebuild b/dev-python/hachoir/hachoir-3.3.0.ebuild
new file mode 100644
index 0000000000..f4389e6976
--- /dev/null
+++ b/dev-python/hachoir/hachoir-3.3.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
+
+DESCRIPTION="Hachoir is a Python library to view and edit a binary stream field by field "
+HOMEPAGE="https://github.com/vstinner/hachoir/"
+SRC_URI="https://github.com/vstinner/hachoir/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+distutils_enable_tests pytest
diff --git a/dev-python/markdownify/markdownify-0.11.6.ebuild b/dev-python/markdownify/markdownify-0.11.6.ebuild
index 089b945874..f30ecbc76c 100644
--- a/dev-python/markdownify/markdownify-0.11.6.ebuild
+++ b/dev-python/markdownify/markdownify-0.11.6.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/portion/Manifest b/dev-python/portion/Manifest
index 6807c005cd..a4d0f4a6d0 100644
--- a/dev-python/portion/Manifest
+++ b/dev-python/portion/Manifest
@@ -1,2 +1,2 @@
-DIST portion-2.4.0.tar.gz 52866 BLAKE2B 5ce5d1ce35f5847eef1e7192eb04195e2c2ec25dfccee18b63073dd00d9950d1acd0b346e07dfbfbc5e09f9d5ac557066739e8d1da3c992b4b0d73965692e61f SHA512 6134fb5d32c08f5424f65ce88f721f93deaedcae9a7b5fa7380eb27dadf83f7df9b22c8577b9d1c54409dd7d3ae91f11d88214d4d8146682fcdf0f1a0a26d8a4
DIST portion-2.4.1.tar.gz 52894 BLAKE2B bdb5c387c9ab6ee0fec9e4aea71be40a51cc1f9be6f40b1f71389947e6e60f84c7f2a89e0d617923b835e72e524b80f8f2fbcdb14895a5307d09ee3d67fd01f0 SHA512 72181519dcadae036025be36fde63bd70ab7e7fa448400dd91e639e8eef5bc70b2ad490cd48a882d1b2be0cdc04f57cd63de44690181462f31afe771108f5c51
+DIST portion-2.4.2.tar.gz 53011 BLAKE2B a91264c1abc065d29942d292819d14a6d7f49c66782f2453a17762106af8be3ca156901bc808ca62a30688a4dcc74e134e4ee9ee9199682fd425511951713423 SHA512 ae5ed99f89d066eee4c97fda2b395bdbde153064e9582f3cc425c7a0f728b3f07ab703ce57708be835486a61eaaee242496ce0caeb3df0262a27fa627b59b54e
diff --git a/dev-python/portion/portion-2.4.0.ebuild b/dev-python/portion/portion-2.4.2.ebuild
similarity index 81%
rename from dev-python/portion/portion-2.4.0.ebuild
rename to dev-python/portion/portion-2.4.2.ebuild
index 6ad18e5235..966530e8ca 100644
--- a/dev-python/portion/portion-2.4.0.ebuild
+++ b/dev-python/portion/portion-2.4.2.ebuild
@@ -3,13 +3,15 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
DESCRIPTION="A Python library providing data structure and operations for intervals."
-HOMEPAGE="https://github.com/AlexandreDecan/portion"
+HOMEPAGE="https://github.com/AlexandreDecan/portion
+ https://pypi.org/project/portion/
+"
LICENSE="LGPL-3"
SLOT="0"
diff --git a/dev-python/pydispatcher/pydispatcher-2.0.7.ebuild b/dev-python/pydispatcher/pydispatcher-2.0.7.ebuild
index 2e45730891..5a13b106dd 100644
--- a/dev-python/pydispatcher/pydispatcher-2.0.7.ebuild
+++ b/dev-python/pydispatcher/pydispatcher-2.0.7.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_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
PYPI_PN="PyDispatcher"
PYPI_NO_NORMALIZE=1
diff --git a/dev-python/pymorphy3-dicts-ru/pymorphy3-dicts-ru-2.4.417150.4580142.ebuild b/dev-python/pymorphy3-dicts-ru/pymorphy3-dicts-ru-2.4.417150.4580142.ebuild
index 77eaf287fa..22183af915 100644
--- a/dev-python/pymorphy3-dicts-ru/pymorphy3-dicts-ru-2.4.417150.4580142.ebuild
+++ b/dev-python/pymorphy3-dicts-ru/pymorphy3-dicts-ru-2.4.417150.4580142.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{10..11} pypy3 )
-DISTUTILS_USE_SETUPTOOLS=bdepend
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
inherit distutils-r1 pypi
diff --git a/dev-python/pymorphy3-dicts-uk/pymorphy3-dicts-uk-2.4.1.1.1663094765.ebuild b/dev-python/pymorphy3-dicts-uk/pymorphy3-dicts-uk-2.4.1.1.1663094765.ebuild
index 16c1c5ea04..d22cd45ada 100644
--- a/dev-python/pymorphy3-dicts-uk/pymorphy3-dicts-uk-2.4.1.1.1663094765.ebuild
+++ b/dev-python/pymorphy3-dicts-uk/pymorphy3-dicts-uk-2.4.1.1.1663094765.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{10..11} pypy3 )
-DISTUTILS_USE_SETUPTOOLS=bdepend
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
inherit distutils-r1 pypi
diff --git a/dev-python/pymorphy3/pymorphy3-1.2.0.ebuild b/dev-python/pymorphy3/pymorphy3-1.2.0.ebuild
index ecd76fb515..85b2e25e9d 100644
--- a/dev-python/pymorphy3/pymorphy3-1.2.0.ebuild
+++ b/dev-python/pymorphy3/pymorphy3-1.2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{10..11} pypy3 )
-DISTUTILS_USE_SETUPTOOLS=bdepend
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
DESCRIPTION="Morphological analyzer (POS tagger + inflection engine) for Russian language."
diff --git a/dev-python/pyqtdarktheme/pyqtdarktheme-2.1.0.ebuild b/dev-python/pyqtdarktheme/pyqtdarktheme-2.1.0.ebuild
index ec213302ad..5831ac885c 100644
--- a/dev-python/pyqtdarktheme/pyqtdarktheme-2.1.0.ebuild
+++ b/dev-python/pyqtdarktheme/pyqtdarktheme-2.1.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{10..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
DISTUTILS_USE_PEP517=poetry
inherit distutils-r1 pypi
diff --git a/dev-python/pystardict/pystardict-0.8-r1.ebuild b/dev-python/pystardict/pystardict-0.8-r1.ebuild
index cf2d83f947..3a15bd503b 100644
--- a/dev-python/pystardict/pystardict-0.8-r1.ebuild
+++ b/dev-python/pystardict/pystardict-0.8-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/python-lsp-mypy/Manifest b/dev-python/python-lsp-mypy/Manifest
new file mode 100644
index 0000000000..a8e291f181
--- /dev/null
+++ b/dev-python/python-lsp-mypy/Manifest
@@ -0,0 +1 @@
+DIST python-lsp-mypy-0.6.8.gh.tar.gz 13731 BLAKE2B 34bae285bfee66ac4caafab16cf04b63f2d60be825e083b7e8d26444bd7d11cc799e96a4cb33dff1c68dc4bc4ba7e361c097f402c096ab8d1b5708b930ee59df SHA512 dca528c04cbe09dac34a666541cd9a3739e9d27842191224aaba37593e672766860fccd48d6f7e81a2435e9c862b86bedbe6f1357831eef3ccf1282e478e3a98
diff --git a/dev-python/python-lsp-mypy/metadata.xml b/dev-python/python-lsp-mypy/metadata.xml
new file mode 100644
index 0000000000..c751919497
--- /dev/null
+++ b/dev-python/python-lsp-mypy/metadata.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ Moritz Brunner
+ moritz.brunner+gentoo@posteo.de
+
+
+
+ pylsp-mypy
+ python-lsp/pylsp-mypy
+
+
diff --git a/dev-python/python-lsp-mypy/python-lsp-mypy-0.6.8.ebuild b/dev-python/python-lsp-mypy/python-lsp-mypy-0.6.8.ebuild
new file mode 100644
index 0000000000..9c22423d83
--- /dev/null
+++ b/dev-python/python-lsp-mypy/python-lsp-mypy-0.6.8.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})
+
+MY_PN="pylsp-mypy"
+
+inherit distutils-r1
+
+DESCRIPTION="Mypy plugin for the Python LSP Server"
+HOMEPAGE="
+ https://github.com/python-lsp/pylsp-mypy
+ https://pypi.org/project/pylsp-mypy/
+"
+SRC_URI="
+ https://github.com/python-lsp/${MY_PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/python-lsp-server-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/mypy-0.981[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/queuelib/queuelib-1.6.2.ebuild b/dev-python/queuelib/queuelib-1.6.2.ebuild
index 676abda744..a6b81e366a 100644
--- a/dev-python/queuelib/queuelib-1.6.2.ebuild
+++ b/dev-python/queuelib/queuelib-1.6.2.ebuild
@@ -1,9 +1,11 @@
-# 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_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1
DESCRIPTION="Collection of persistent and non-persistent queues for Python"
@@ -14,7 +16,4 @@ LICENSE="BSD"
SLOT=0
KEYWORDS="~amd64"
-RDEPEND="${PYTHON_DEPS}"
-DEPEND="${RDEPEND}"
-
distutils_enable_tests pytest
diff --git a/dev-python/readmdict/readmdict-0.1.1-r1.ebuild b/dev-python/readmdict/readmdict-0.1.1-r1.ebuild
index 1c0174708f..79ac5e01a8 100644
--- a/dev-python/readmdict/readmdict-0.1.1-r1.ebuild
+++ b/dev-python/readmdict/readmdict-0.1.1-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=poetry
inherit distutils-r1 optfeature pypi
diff --git a/dev-python/scrapy/Manifest b/dev-python/scrapy/Manifest
index 2e7219df31..a5485bafa6 100644
--- a/dev-python/scrapy/Manifest
+++ b/dev-python/scrapy/Manifest
@@ -1,2 +1 @@
DIST scrapy-2.11.0.tar.gz 1373184 BLAKE2B 7fc758a729d9e9f88c89e30c503ff8bf4c2e111bc00cbd003d5f8785dc818e5ef69ae3774013c4fe27db623c1246a57d57db097cf5220b257a9632bdd29b7023 SHA512 08da9684f4312e4149929f3785cc516207070fdd0eb99d8b7ed3276095378cc71d18534d0535fd1107af442aed42d6c91792ad7749d631b5f54522c3912ce073
-DIST scrapy-2.8.0.tar.gz 1345516 BLAKE2B 9a02d50cfde6c829e6c9064f29b75de4fb97139759b7822e20914ad3edfae104df3b4d65452f58bae6f4b7af4407ed87c6dc59000e5285e823637e54f1412102 SHA512 c758e8aad459aad5f447e6e721afd3c8e8f5743c8a0961d7562ecea9735444a2a2b7fd1b4c443fd3623fcb9bd3db5fdd108aa6fe7fa629a36229a3175eabac7d
diff --git a/dev-python/scrapy/files/scrapy-2.11.0-lift-twisted-restriction.patch b/dev-python/scrapy/files/scrapy-2.11.0-lift-twisted-restriction.patch
new file mode 100644
index 0000000000..c3ef232870
--- /dev/null
+++ b/dev-python/scrapy/files/scrapy-2.11.0-lift-twisted-restriction.patch
@@ -0,0 +1,99 @@
+Backport commits 720f351a3eea5e5bfa83a6eaf50210cd1fa43992^..0630e4aaa10c3fb8c79c2542a229f5c0632cddde.
+At the time of writing, ::gentoo no longer has
+--- a/scrapy/crawler.py
++++ b/scrapy/crawler.py
+@@ -404,8 +404,8 @@ class CrawlerProcess(CrawlerRunner):
+ :param bool stop_after_crawl: stop or not the reactor when all
+ crawlers have finished
+
+- :param bool install_signal_handlers: whether to install the shutdown
+- handlers (default: True)
++ :param bool install_signal_handlers: whether to install the OS signal
++ handlers from Twisted and Scrapy (default: True)
+ """
+ from twisted.internet import reactor
+
+@@ -416,15 +416,17 @@ class CrawlerProcess(CrawlerRunner):
+ return
+ d.addBoth(self._stop_reactor)
+
+- if install_signal_handlers:
+- install_shutdown_handlers(self._signal_shutdown)
+ resolver_class = load_object(self.settings["DNS_RESOLVER"])
+ resolver = create_instance(resolver_class, self.settings, self, reactor=reactor)
+ resolver.install_on_reactor()
+ tp = reactor.getThreadPool()
+ tp.adjustPoolsize(maxthreads=self.settings.getint("REACTOR_THREADPOOL_MAXSIZE"))
+ reactor.addSystemEventTrigger("before", "shutdown", self.stop)
+- reactor.run(installSignalHandlers=False) # blocking call
++ if install_signal_handlers:
++ reactor.addSystemEventTrigger(
++ "after", "startup", install_shutdown_handlers, self._signal_shutdown
++ )
++ reactor.run(installSignalHandlers=install_signal_handlers) # blocking call
+
+ def _graceful_stop_reactor(self) -> Deferred:
+ d = self.stop()
+--- a/scrapy/utils/ossignal.py
++++ b/scrapy/utils/ossignal.py
+@@ -19,13 +19,10 @@ def install_shutdown_handlers(
+ function: SignalHandlerT, override_sigint: bool = True
+ ) -> None:
+ """Install the given function as a signal handler for all common shutdown
+- signals (such as SIGINT, SIGTERM, etc). If override_sigint is ``False`` the
+- SIGINT handler won't be install if there is already a handler in place
+- (e.g. Pdb)
++ signals (such as SIGINT, SIGTERM, etc). If ``override_sigint`` is ``False`` the
++ SIGINT handler won't be installed if there is already a handler in place
++ (e.g. Pdb)
+ """
+- from twisted.internet import reactor
+-
+- reactor._handleSignals()
+ signal.signal(signal.SIGTERM, function)
+ if signal.getsignal(signal.SIGINT) == signal.default_int_handler or override_sigint:
+ signal.signal(signal.SIGINT, function)
+--- a/scrapy/utils/testproc.py
++++ b/scrapy/utils/testproc.py
+@@ -2,7 +2,7 @@ from __future__ import annotations
+
+ import os
+ import sys
+-from typing import Iterable, Optional, Tuple, cast
++from typing import Iterable, List, Optional, Tuple, cast
+
+ from twisted.internet.defer import Deferred
+ from twisted.internet.error import ProcessTerminated
+@@ -26,14 +26,15 @@ class ProcessTest:
+ env = os.environ.copy()
+ if settings is not None:
+ env["SCRAPY_SETTINGS_MODULE"] = settings
++ assert self.command
+ cmd = self.prefix + [self.command] + list(args)
+ pp = TestProcessProtocol()
+- pp.deferred.addBoth(self._process_finished, cmd, check_code)
++ pp.deferred.addCallback(self._process_finished, cmd, check_code)
+ reactor.spawnProcess(pp, cmd[0], cmd, env=env, path=self.cwd)
+ return pp.deferred
+
+ def _process_finished(
+- self, pp: TestProcessProtocol, cmd: str, check_code: bool
++ self, pp: TestProcessProtocol, cmd: List[str], check_code: bool
+ ) -> Tuple[int, bytes, bytes]:
+ if pp.exitcode and check_code:
+ msg = f"process {cmd} exit with code {pp.exitcode}"
+--- a/setup.py
++++ b/setup.py
+@@ -6,8 +6,7 @@ version = (Path(__file__).parent / "scrapy/VERSION").read_text("ascii").strip()
+
+
+ install_requires = [
+- # 23.8.0 incompatibility: https://github.com/scrapy/scrapy/issues/6024
+- "Twisted>=18.9.0,<23.8.0",
++ "Twisted>=18.9.0",
+ "cryptography>=36.0.0",
+ "cssselect>=0.9.1",
+ "itemloaders>=1.0.1",
diff --git a/dev-python/scrapy/files/scrapy-2.5.1-no-doctest.patch b/dev-python/scrapy/files/scrapy-2.5.1-no-doctest.patch
deleted file mode 100644
index 7c1b76d052..0000000000
--- a/dev-python/scrapy/files/scrapy-2.5.1-no-doctest.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/pytest.ini b/pytest.ini
-index 0aae09f..c1f20ee 100644
---- a/pytest.ini
-+++ b/pytest.ini
-@@ -5,7 +5,6 @@ python_files=test_*.py __init__.py
- python_classes=
- addopts =
- --assert=plain
-- --doctest-modules
- --ignore=docs/_ext
- --ignore=docs/conf.py
- --ignore=docs/news.rst
diff --git a/dev-python/scrapy/scrapy-2.11.0.ebuild b/dev-python/scrapy/scrapy-2.11.0-r1.ebuild
similarity index 70%
rename from dev-python/scrapy/scrapy-2.11.0.ebuild
rename to dev-python/scrapy/scrapy-2.11.0-r1.ebuild
index 9230c83a11..c019441a6d 100644
--- a/dev-python/scrapy/scrapy-2.11.0.ebuild
+++ b/dev-python/scrapy/scrapy-2.11.0-r1.ebuild
@@ -14,11 +14,12 @@ SRC_URI="https://github.com/scrapy/scrapy/archive/refs/tags/${PV}.tar.gz -> ${P}
LICENSE="BSD"
SLOT=0
KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
# The 'PyDispatcher>=2.0.5' distribution was not found and is required by Scrapy
# https://bugs.gentoo.org/684734
-RDEPEND="${PYTHON_DEPS}
- dev-python/cssselect[${PYTHON_USEDEP}]
+RDEPEND="dev-python/cssselect[${PYTHON_USEDEP}]
dev-python/cryptography[${PYTHON_USEDEP}]
${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT=0
-KEYWORDS="~amd64"
-
-# The 'PyDispatcher>=2.0.5' distribution was not found and is required by Scrapy
-# https://bugs.gentoo.org/684734
-RDEPEND="${PYTHON_DEPS}
- dev-python/cssselect[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- =dev-python/pydispatcher-2.0.5[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/queuelib[${PYTHON_USEDEP}]
- dev-python/service-identity[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/tldextract[${PYTHON_USEDEP}]
- >=dev-python/twisted-17.9.0[${PYTHON_USEDEP}]
- <=dev-python/twisted-22.10.0[${PYTHON_USEDEP}]
- dev-python/w3lib[${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}
- test? (
- dev-python/testfixtures[${PYTHON_USEDEP}]
- dev-python/uvloop[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=( "${FILESDIR}/${PN}-2.5.1-no-doctest.patch" )
-
-python_test() {
- py.test -vv --ignore=docs \
- --ignore="tests/test_proxy_connect.py" \
- --ignore="tests/test_utils_display.py" \
- --ignore="tests/test_command_check.py" \
- --ignore="tests/test_feedexport.py" \
- --ignore="tests/test_pipeline_files.py" \
- --ignore="tests/test_pipeline_images.py" \
- --ignore="tests/test_squeues.py" || die
-}
diff --git a/dev-python/sentence-splitter/sentence-splitter-1.4-r2.ebuild b/dev-python/sentence-splitter/sentence-splitter-1.4-r2.ebuild
index 63a44b9f35..9697d63158 100644
--- a/dev-python/sentence-splitter/sentence-splitter-1.4-r2.ebuild
+++ b/dev-python/sentence-splitter/sentence-splitter-1.4-r2.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/simplemma/simplemma-0.9.1.ebuild b/dev-python/simplemma/simplemma-0.9.1.ebuild
index cf7689fdc8..24e1274a89 100644
--- a/dev-python/simplemma/simplemma-0.9.1.ebuild
+++ b/dev-python/simplemma/simplemma-0.9.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/tulir-telethon/Manifest b/dev-python/tulir-telethon/Manifest
index 45c121e61b..71111b0e46 100644
--- a/dev-python/tulir-telethon/Manifest
+++ b/dev-python/tulir-telethon/Manifest
@@ -1,2 +1,2 @@
-DIST tulir-telethon-1.32.0_alpha3.gh.tar.gz 495988 BLAKE2B ca2c7f64067369ad9b2424ef00d2697b1a836de7e4709ffeae4cd9b1bfaef50c998ffc49501830ad7e1564fada4ec804abf0b8a7f27f0659398f9112514ec837 SHA512 1a4f17d22f10a04c862433ce474b946c835ee954e4f5158fdc2c81f510cf5dd1041544b0df44f1c61d9dfcdfb27c023b213552230153e3a3f4ce5f1512094f9b
DIST tulir-telethon-1.33.0_alpha1.gh.tar.gz 496284 BLAKE2B 6bba90dd4be4b6aeb2f1a4bd9bd4dc59740504cf2ef75606a5df861df00292d9f935c29a397c98bc6c83cfad80c5413700ca5cc131896a5710748848e01a7b78 SHA512 b8eb5ff95f2450ab7d29af6d9ccea63f562b14d984aedc946b82f80a4d68338133767a81432da10a6b6d9aa9c26ac431ad33d73a5a5a9b733702d37747b49a10
+DIST tulir-telethon-1.34.0a2.tar.gz 575337 BLAKE2B e76172e38ab22383a584e18ac376cf1aaf5f9ae54428ed09e9cd99f7707b45aa11f5f2da5e601baa998d75e2df6fc036fb03516cf911d80241c3d82f83c439e4 SHA512 bc20db27b4d32675e38386a95b610be21ba83dead18a27907ff0673afc5f2d93002a4e79e62d7ac1f8d18d784c3e0904c760ea9b7fc93f88417c04197d5d7ab6
diff --git a/dev-python/tulir-telethon/tulir-telethon-1.32.0_alpha3.ebuild b/dev-python/tulir-telethon/tulir-telethon-1.34.0_alpha2.ebuild
similarity index 73%
rename from dev-python/tulir-telethon/tulir-telethon-1.32.0_alpha3.ebuild
rename to dev-python/tulir-telethon/tulir-telethon-1.34.0_alpha2.ebuild
index afaba4efa4..c648c3d07d 100644
--- a/dev-python/tulir-telethon/tulir-telethon-1.32.0_alpha3.ebuild
+++ b/dev-python/tulir-telethon/tulir-telethon-1.34.0_alpha2.ebuild
@@ -3,16 +3,15 @@
EAPI=8
+PYPI_NO_NORMALIZE=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
MY_PV="${PV/_alph/}"
DESCRIPTION="Pure Python 3 MTProto API Telegram client library, for bots too!"
HOMEPAGE="https://github.com/tulir/Telethon/"
-SRC_URI="https://github.com/tulir/Telethon/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}/Telethon-${MY_PV}"
LICENSE="MIT"
SLOT="0"
@@ -33,9 +32,3 @@ RDEPEND="
)
"
DEPEND="${RDEPEND}"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/readthedocs/quick_references/test_client_reference.py::test_all_methods_present
-)
diff --git a/dev-python/zope-testrunner/Manifest b/dev-python/zope-testrunner/Manifest
index 62e0617ec5..3b1946089c 100644
--- a/dev-python/zope-testrunner/Manifest
+++ b/dev-python/zope-testrunner/Manifest
@@ -1,2 +1,2 @@
-DIST zope.testrunner-6.1.tar.gz 154261 BLAKE2B e68c6449c1cccc059e5e07abb528fb39bc1409d6c56932299ffd3949c803d585bc432463f1e256a6fa47dc1c8b173c3f488220821a60c6e38c0191fa4af4f75d SHA512 6f23bcc7a27b0c5ab8b59ad0ea03a5482b4e7e924b8df41e5c78e86c402971761c875070c5b8553d3d90f772d04422a07bde675b8e2cb160fe5326031226fde3
+DIST zope.testrunner-6.2.1.tar.gz 150397 BLAKE2B 57210c321ae66738cc2c533a3e9d183273bbc2b98b639fa3a30502ddcb98154eb62f36d50d25674b255547788433498f341ceaec9c1744810571df007632bffd SHA512 5dc8764a518b49f42ef16b64ccb70fb772de0ccda2057ae90597a64975b01c25e885133385e791376f6664b72c67a98499934ebda64238511beef28416ec6add
DIST zope.testrunner-6.2.tar.gz 150192 BLAKE2B 4ce0a5ed134910a4fb8cbc68700fbcd3d6e7508654e1ac68d51f5671e797e886a28ef0b55126f5b359cb704ec4b1c4d6f1ed9e66d25d0f83dd62e4884a262358 SHA512 5fc559c497c9db67c81af692e83d60d5cb75ee4cdb28b25c23040eccdaf01d704b2897b385e35e09e916792f6bf7155eded67d4b5de3c1beb1a435590c249dfd
diff --git a/dev-python/zope-testrunner/zope-testrunner-6.1.ebuild b/dev-python/zope-testrunner/zope-testrunner-6.2.1.ebuild
similarity index 89%
rename from dev-python/zope-testrunner/zope-testrunner-6.1.ebuild
rename to dev-python/zope-testrunner/zope-testrunner-6.2.1.ebuild
index baa599edea..ca4c95caa3 100644
--- a/dev-python/zope-testrunner/zope-testrunner-6.1.ebuild
+++ b/dev-python/zope-testrunner/zope-testrunner-6.2.1.ebuild
@@ -4,21 +4,22 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
PYPI_NO_NORMALIZE=1
PYPI_PN="${PN/-/\.}"
inherit distutils-r1 pypi
DESCRIPTION="This package provides a flexible test runner with layer support."
-HOMEPAGE="https://github.com/zopefoundation/zope.testrunner"
+HOMEPAGE="https://github.com/zopefoundation/zope.testrunner
+ https://pypi.org/project/zope.testrunner/
+"
LICENSE="ZPL"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
dev-python/zope-interface[${PYTHON_USEDEP}]
dev-python/zope-exceptions[${PYTHON_USEDEP}]
doc? ( dev-python/sphinxcontrib-programoutput[${PYTHON_USEDEP}] )
diff --git a/gui-apps/hyprpaper/Manifest b/gui-apps/hyprpaper/Manifest
index f48bb29cdc..6aa3f63bed 100644
--- a/gui-apps/hyprpaper/Manifest
+++ b/gui-apps/hyprpaper/Manifest
@@ -1,2 +1,2 @@
-DIST hyprpaper-0.3.0.gh.tar.gz 26787 BLAKE2B 114ef9c68372a4081035282c1826d66fdb5306eea18e91663dd31645bcb6972d1fd7ad913b0c1f452001025f6c54b5dd8cefbb634702a4440901102822b5a82d SHA512 6b1ccdc7257db89f435c0d4b4afb6f42a46f9d0635d211d4c0408d6a801c4438eecad53a512e5ea51a768e883e4e446b8a8efdca4b1336dc51499e586cbe070f
DIST hyprpaper-0.4.0.gh.tar.gz 27092 BLAKE2B f7e10edf6e4f0f23476d872f77c7c4a69e2f563ad0ab30cadc0195a3be7431eb50be5ed53db24087d38a2de4c524e3010396ca59664d022b7b43748a394f2031 SHA512 cdd8aba060ecbe7e0ec5680f285d8fa06cd6cc429251351ac62e4d50b5ac1767b420d64ec6d0ac4a14f877847158b3795f84be0a99e70babbe1c2a6bb285723c
+DIST hyprpaper-0.5.0.gh.tar.gz 27437 BLAKE2B 7f3a284370f8cfbc9c4fb73c73b4093a934e557bc04c21143946043b9413b17cfb4313be4300bd9853bec1bd73bd3c44bf6511c0be4b734400a707661cfd7f1f SHA512 2f7d57f5b4d90641c638ad83b9a08b03cb436abaaa8c9eafd242f14b76846843309ff729395981d88248854537e320602df09f7c5900de8137d6b7b5bc7272e0
diff --git a/gui-apps/hyprpaper/hyprpaper-0.3.0.ebuild b/gui-apps/hyprpaper/hyprpaper-0.5.0.ebuild
similarity index 100%
rename from gui-apps/hyprpaper/hyprpaper-0.3.0.ebuild
rename to gui-apps/hyprpaper/hyprpaper-0.5.0.ebuild
diff --git a/gui-apps/hyprpicker/hyprpicker-0.2.0.ebuild b/gui-apps/hyprpicker/hyprpicker-0.2.0.ebuild
index c7ba4a21d7..b05934c74a 100644
--- a/gui-apps/hyprpicker/hyprpicker-0.2.0.ebuild
+++ b/gui-apps/hyprpicker/hyprpicker-0.2.0.ebuild
@@ -22,6 +22,7 @@ BDEPEND="
media-libs/libjpeg-turbo
x11-libs/cairo
x11-libs/pango
+ x11-libs/libxkbcommon
"
src_compile() {
diff --git a/gui-apps/wscreensaver/files/wscreensaver-fix-implicit-function-decl-when-JWXYZ.patch b/gui-apps/wscreensaver/files/wscreensaver-fix-implicit-function-decl-when-JWXYZ.patch
deleted file mode 100644
index 5f39a29dc0..0000000000
--- a/gui-apps/wscreensaver/files/wscreensaver-fix-implicit-function-decl-when-JWXYZ.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Clang 16 does not allow implicit function declarations by default.
-When xscreensaver is compiled normally for X11, the function gettimeofday()
-is included via the header file X11/Xos.h.
-However, if X11 is not used and HAVE_JXYZ is used instead, we end up with a missing
-declaration for that function. I think upstream forgot to include the file here, he
-has done it for string.h though, which is a similar case.
-
-Pascal Jäger (2023-12-13)
-
---- a/hacks/screenhackI.h
-+++ b/hacks/screenhackI.h
-@@ -71,6 +71,7 @@
- #ifdef HAVE_JWXYZ
- # include "jwxyz.h"
- # include /* X11/Xos.h brings this in. */
-+# include
- #else /* real X11 */
- # include
- # include
diff --git a/gui-apps/wscreensaver/wscreensaver-9999.ebuild b/gui-apps/wscreensaver/wscreensaver-9999.ebuild
index 13c748b32f..d7ea06207c 100644
--- a/gui-apps/wscreensaver/wscreensaver-9999.ebuild
+++ b/gui-apps/wscreensaver/wscreensaver-9999.ebuild
@@ -36,7 +36,6 @@ PATCHES=(
"${FILESDIR}"/xscreensaver-5.31-pragma.patch
"${FILESDIR}"/xscreensaver-6.01-gentoo.patch
"${FILESDIR}"/xscreensaver-5.45-gcc.patch
- "${FILESDIR}"/wscreensaver-fix-implicit-function-decl-when-JWXYZ.patch
)
# see https://bugs.gentoo.org/898328
diff --git a/net-im/mautrix-telegram/Manifest b/net-im/mautrix-telegram/Manifest
index 0d0cfb0fc5..44020567d3 100644
--- a/net-im/mautrix-telegram/Manifest
+++ b/net-im/mautrix-telegram/Manifest
@@ -1,2 +1,3 @@
DIST mautrix-telegram-0.14.1.gh.tar.gz 811724 BLAKE2B 92cc600c5838c9bf65e9aa76a499b63d9474087d998d764f4e0f146cbcc7f9e7d10e7c0f3a7a6d31c3c9d9ff5e75070ea0fe35526455a66a342d96d2fb47cb4b SHA512 7615dc811558119f0e54184af057fba399824b5d753b9dd45ea25c943d710fa66b0dd5bbcbf9162840ee53f771cbf07f3017d563ecbf34b911ff3e28398e54b3
DIST mautrix-telegram-0.14.2.gh.tar.gz 813171 BLAKE2B 286015b2854b5c2649f27e32e9d87faf852b42227864415692b78a306c85691786e6992d6137ccc30b3c947294b3c417c455c1b433384ddcbeab6aaf10586898 SHA512 0745beb448afaefcd7bafa6425e5fe8469729d208cb8eb6c248c35bc83ce75c6c916434b7d1e6671a37215cab041eaa61c5a6b0b5ee367f9ac5f83b1cfc651a9
+DIST mautrix-telegram-0.15.1.tar.gz 253573 BLAKE2B f27e5d97e9f225d8464e2002c02895072c0ddff7cad388bde08716a9337c3fd72291d0e087677fc69f9b298f297418f931e12e536695c30300b1526f1960a579 SHA512 f9a8898e8bfcc79b4e6ddc0cc9473e195f9c772ccc621275c688927e35a7f0801edea3a053b462c155757e4231465670ab5dc305d7fb39438590d953eb6b163b
diff --git a/net-im/mautrix-telegram/mautrix-telegram-0.15.1.ebuild b/net-im/mautrix-telegram/mautrix-telegram-0.15.1.ebuild
new file mode 100644
index 0000000000..7c9a550ec6
--- /dev/null
+++ b/net-im/mautrix-telegram/mautrix-telegram-0.15.1.ebuild
@@ -0,0 +1,82 @@
+# 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..11} )
+
+inherit distutils-r1 optfeature pypi systemd
+
+DESCRIPTION="A Matrix-Telegram Messenger puppeting bridge "
+HOMEPAGE="https://github.com/mautrix/telegram/"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ acct-user/${PN}
+ app-arch/brotli[python]
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/aiodns[${PYTHON_USEDEP}]
+ dev-python/aiosqlite[${PYTHON_USEDEP}]
+ dev-python/asyncpg[${PYTHON_USEDEP}]
+ dev-python/commonmark[${PYTHON_USEDEP}]
+ dev-python/cryptg[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/mautrix[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/python-olm[${PYTHON_USEDEP}]
+ dev-python/phonenumbers[${PYTHON_USEDEP}]
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ dev-python/python-magic[${PYTHON_USEDEP}]
+ dev-python/qrcode[${PYTHON_USEDEP}]
+ dev-python/python-socks[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ >=dev-python/tulir-telethon-1.34.0_alpha2[${PYTHON_USEDEP}]
+ dev-python/unpaddedbase64[${PYTHON_USEDEP}]
+ dev-python/yarl[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ distutils-r1_src_install
+
+ keepdir /var/log/mautrix
+ fowners root:mautrix /var/log/mautrix
+ fperms 770 /var/log/mautrix
+ sed -i -e "s/\.\/${PN}.log/\/var\/log\/mautrix\/${PN}.log/" "${ED}/usr/example-config.yaml" || die
+
+ insinto "/etc/mautrix"
+ newins "${ED}/usr/example-config.yaml" "${PN/-/_}.yaml"
+ rm "${ED}/usr/example-config.yaml" || die
+
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+ systemd_dounit "${FILESDIR}/${PN}.service"
+
+ fowners -R root:mautrix /etc/mautrix
+ fperms -R 770 /etc/mautrix
+}
+
+pkg_postinst() {
+ optfeature "Prometheus statistics" dev-python/prometheus_client
+ optfeature "Sqlite backend" dev-python/aiosqlite
+
+ einfo
+ elog ""
+ elog "Before you can use ${PN}, you must configure it correctly"
+ elog "The configuration file is located at \"/etc/mautrix/${PN/-/_}.yaml\""
+ elog "When done, run the following command: emerge --config ${CATEGORY}/${PN}"
+ elog "Then, you must register the bridge with your homeserver"
+ elog "Refer your homeserver's documentation for instructions"
+ elog "The registration file is located at /var/lib/${PN/-/\/}/registration.yaml"
+ elog "Finally, you may start the ${PN} daemon"
+ einfo
+}
+
+pkg_config() {
+ su - "${PN}" -s /bin/sh -c \
+ "/usr/bin/python -m ${PN/-/_} -c /etc/mautrix/${PN/-/_}.yaml -g -r /var/lib/${PN/-/\/}/registration.yaml"
+}
diff --git a/net-p2p/feather/Manifest b/net-p2p/feather/Manifest
index 6f23a9fba3..393a24e3e1 100644
--- a/net-p2p/feather/Manifest
+++ b/net-p2p/feather/Manifest
@@ -22,6 +22,14 @@ DIST feather-2.5.2-monero-trezorcommon.tar.gz 1327782 BLAKE2B 738f2833317d5b5f52
DIST feather-2.5.2-monero.tar.gz 14014516 BLAKE2B 0f5f74b1e9c72e0671d010910730e21b0990be09f5fffc472e7493004c2d3583b60f4eab90ba396be359cf22771b5d21c66e6d7a46b2094d94f0b81f4375260e SHA512 ab9466d9d93632fea476d9aa9de5fb4298a8b74a340d144c061ce438e36f2bee056a30d66d37c1cc3128576539f45b135e8d336c66c6961651e1846370f205e2
DIST feather-2.5.2-singleapplication.tar.gz 21630 BLAKE2B 403e187d0c9f5c591741ab1bdf879ae700cd255e0bcf3cc6e71aa2f6b9dcaf462aaa4e2142b5978d5e69c7660b1d094ac47cac3912c1b49a1dd003eebc641d6f SHA512 d16127412a97289edcb2bf86d2e4229d11408095ca6be6f2d7d63a6df573b31aa2e100382da3b12b93b45380fe68586c91cf3e774d1aedfeb88e151bc13bb4c4
DIST feather-2.5.2.tar.gz 1322312 BLAKE2B 8c5ad7353dc0a2e52f7fb045aea0f110c45f0eca1fbab9cbddbb4a9da6ebe8c9983fff56783a5df5864a6a8483bfd9102f09adb87974766f3d4eab340dfc8568 SHA512 5cfb4710784046d0d960f715dc9c67e2fd32a36d055a810aedead13e3d1056b7d681db1a2f64905961ac947d54385e1f9dafec5ebfc6daff6a16442e4aa49f46
+DIST feather-2.6.0-monero-miniupnp.tar.gz 446961 BLAKE2B 802e3a99f2e129492be547eba0f7f87c0e0c7024b4a322fbabf973dab26cd33601d99b29d422f8bb2ebae078982ef25efcdfe7ce66149360ba974abcb80b95d4 SHA512 c544148b2f110a84dbc69b0de2a6ff95ea3b8ad49354320c557b29a548de3e87ac52e37566b7f809bbcf0afa395e5150049dde15383d8180a52a38fd8738fdc5
+DIST feather-2.6.0-monero-randomx.tar.gz 164390 BLAKE2B 704792f22d7e3e9e789b42f77176ef4687b7d599387edfa42f854ad7b0f692d704480a6c7e43a291acac0dde2adae12923ea11e615d132baf10c7cb8f59f5801 SHA512 959a8399ae85bbb57e875e0383e448b10241badcd6682c7b6dec9d172f489ccbf3bb9b8b9b657bf977b3f2280597eb99cef2270159dc77142615dfe8d6f438ad
+DIST feather-2.6.0-monero-rapidjson.tar.gz 1054330 BLAKE2B 5d18961b86a27516e42441ba46317ba811e06305dc754b5765b4fbfb697d93bc31ae9457fa2c3f213396909af726f775a7b371874ef1a0dc56a8577ed077a610 SHA512 dd4f103f84c4f32683ca9ccc82c35db3a60012c35acbb79405905c8b4e382389c52422b1a514e6128ae71f90f5eedb158f2a4f72f7c0f6025c2ef0787130bbe7
+DIST feather-2.6.0-monero-supercop.tar.gz 346604 BLAKE2B 10e48076acb2e5de5acb2efee61b2fac40fdfec3bc4037a94199d56ee2446466126e1b9dade56ee69598f4bd3c64b45d86d0810f24f461f6e09fb84c87e1ef93 SHA512 06cca8d1def31aa11bf5aa42d861c4a027786f7cc494fa3ab53a2bc4bd9d1f55b2389020ba5fd1816ed277b6e4320ad8edbb3117dcf4981fc7fba655c4bbe648
+DIST feather-2.6.0-monero-trezorcommon.tar.gz 1327782 BLAKE2B 738f2833317d5b5f52c21582160c1bee331fda38615c7e2c29d68cec600e849209111aaa75cce059596e87b2711c5a5749d965c91f1cf15cbe98fc86a049b5a5 SHA512 9955aa160e9a969decee598584f788e4d36e9c65f2ee730cd8f128669e86175f2189e804ca53e405871ab698ae5e683f146e59e832d8ec58fa1cb46328665ddf
+DIST feather-2.6.0-monero.tar.gz 14007104 BLAKE2B e14c36698dfce91e430960166a3d6012139c12c6eda4bbf5cd1372054e80c7f762612a477a41bb5193cb7e01330edd138770fad03230b93ed7325ecff1a28943 SHA512 d1597e76bb51d3b56cb44c0b16b8e9e5329221e61364c4053319319736cd392ba354056fc2e911dda281d0f456b2a7da2393991b2e1d002ee23ae051351a2c58
+DIST feather-2.6.0-singleapplication.tar.gz 21630 BLAKE2B 403e187d0c9f5c591741ab1bdf879ae700cd255e0bcf3cc6e71aa2f6b9dcaf462aaa4e2142b5978d5e69c7660b1d094ac47cac3912c1b49a1dd003eebc641d6f SHA512 d16127412a97289edcb2bf86d2e4229d11408095ca6be6f2d7d63a6df573b31aa2e100382da3b12b93b45380fe68586c91cf3e774d1aedfeb88e151bc13bb4c4
+DIST feather-2.6.0.tar.gz 1364312 BLAKE2B 3127a8c71df76ca857a4979f7395e1d0124c938054ee3a47ce73c33b9ad018481ad209e93edd9c5f71dd501253b18fad8ce3706a1ec37cc9ef9ee1a87c1ce6d1 SHA512 16e24ccb0e7699dc197e655004eaa663059ac44f7a42683d81749aaa99a91c235dd67bfdd096d4484cbe4db3bf44045d845e167e920ae2a8d11e68fd237e7451
DIST feather-2.6.1-monero-miniupnp.tar.gz 446961 BLAKE2B 802e3a99f2e129492be547eba0f7f87c0e0c7024b4a322fbabf973dab26cd33601d99b29d422f8bb2ebae078982ef25efcdfe7ce66149360ba974abcb80b95d4 SHA512 c544148b2f110a84dbc69b0de2a6ff95ea3b8ad49354320c557b29a548de3e87ac52e37566b7f809bbcf0afa395e5150049dde15383d8180a52a38fd8738fdc5
DIST feather-2.6.1-monero-randomx.tar.gz 164390 BLAKE2B 704792f22d7e3e9e789b42f77176ef4687b7d599387edfa42f854ad7b0f692d704480a6c7e43a291acac0dde2adae12923ea11e615d132baf10c7cb8f59f5801 SHA512 959a8399ae85bbb57e875e0383e448b10241badcd6682c7b6dec9d172f489ccbf3bb9b8b9b657bf977b3f2280597eb99cef2270159dc77142615dfe8d6f438ad
DIST feather-2.6.1-monero-rapidjson.tar.gz 1054330 BLAKE2B 5d18961b86a27516e42441ba46317ba811e06305dc754b5765b4fbfb697d93bc31ae9457fa2c3f213396909af726f775a7b371874ef1a0dc56a8577ed077a610 SHA512 dd4f103f84c4f32683ca9ccc82c35db3a60012c35acbb79405905c8b4e382389c52422b1a514e6128ae71f90f5eedb158f2a4f72f7c0f6025c2ef0787130bbe7
diff --git a/net-p2p/feather/feather-2.6.1.ebuild b/net-p2p/feather/feather-2.6.1.ebuild
index 205bb6aa74..86fd8d3ac2 100644
--- a/net-p2p/feather/feather-2.6.1.ebuild
+++ b/net-p2p/feather/feather-2.6.1.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
@@ -40,7 +40,8 @@ LICENSE="BSD MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="qrcode home tickers crowdfunding bounties reddit revuo calc exchange xmrig localmonero"
-REQUIRED_USE="qrcode" #2.6.1 bug
+#2.6.1 bug
+REQUIRED_USE="qrcode"
DEPEND="
dev-libs/libsodium:=
media-gfx/qrencode:=
@@ -57,7 +58,7 @@ DEPEND="
dev-libs/openssl:=
net-dns/unbound:=[threads]
net-libs/czmq:=
-
+
"
RDEPEND="
${DEPEND}
diff --git a/net-p2p/feather/feather-9999.ebuild b/net-p2p/feather/feather-9999.ebuild
index 71233bddf6..383592e2ea 100644
--- a/net-p2p/feather/feather-9999.ebuild
+++ b/net-p2p/feather/feather-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
@@ -7,14 +7,12 @@ inherit cmake git-r3 desktop xdg
DESCRIPTION="A free, open-source Monero wallet"
HOMEPAGE="https://featherwallet.org"
-SRC_URI=""
EGIT_REPO_URI="https://github.com/feather-wallet/feather.git"
# Feather is released under the terms of the BSD license, but it vendors
# code from Monero and Tor too.
LICENSE="BSD MIT"
SLOT="0"
-KEYWORDS=""
IUSE="qrcode xmrig localmonero"
DEPEND="