summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-10-25 18:54:54 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-10-25 18:54:54 +0000
commitc45e76784166f9e8f7007753a29f93dd53c322e0 (patch)
treea034ee5ac1e77bd5e3ccfe0a70ad7795bccb6b00 /dev-python
parent345fe9eab74ece187aa4fb81823473439093946a (diff)
downloadbaldeagleos-repo-c45e76784166f9e8f7007753a29f93dd53c322e0.tar.gz
baldeagleos-repo-c45e76784166f9e8f7007753a29f93dd53c322e0.tar.xz
baldeagleos-repo-c45e76784166f9e8f7007753a29f93dd53c322e0.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/amodem/Manifest1
-rw-r--r--dev-python/amodem/amodem-1.15.6.ebuild30
-rw-r--r--dev-python/anyio/anyio-4.6.2_p1.ebuild2
-rw-r--r--dev-python/cachecontrol/cachecontrol-0.14.0.ebuild2
-rw-r--r--dev-python/cheroot/cheroot-10.0.1.ebuild2
-rw-r--r--dev-python/cherrypy/cherrypy-18.10.0.ebuild2
-rw-r--r--dev-python/commentjson/commentjson-0.9.0-r2.ebuild2
-rw-r--r--dev-python/croniter/Manifest1
-rw-r--r--dev-python/croniter/croniter-3.0.4.ebuild31
-rw-r--r--dev-python/ecdsa/ecdsa-0.19.0.ebuild2
-rw-r--r--dev-python/gmpy/gmpy-2.1.5-r2.ebuild2
-rw-r--r--dev-python/httptools/httptools-0.6.4.ebuild2
-rw-r--r--dev-python/icalendar/icalendar-6.0.1.ebuild2
-rw-r--r--dev-python/ipython/Manifest1
-rw-r--r--dev-python/ipython/ipython-8.29.0.ebuild161
-rw-r--r--dev-python/license-expression/Manifest1
-rw-r--r--dev-python/license-expression/license-expression-30.4.0.ebuild34
-rw-r--r--dev-python/patch-ng/Manifest1
-rw-r--r--dev-python/patch-ng/patch-ng-1.18.1.ebuild32
-rw-r--r--dev-python/pip/pip-24.2-r1.ebuild2
-rw-r--r--dev-python/pylibmc/pylibmc-1.6.3-r1.ebuild2
-rw-r--r--dev-python/pytest-httpx/pytest-httpx-0.32.0.ebuild2
-rw-r--r--dev-python/pytest-services/pytest-services-2.2.1-r1.ebuild2
-rw-r--r--dev-python/python-ironicclient/Manifest2
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.6.0.ebuild49
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.7.0.ebuild49
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.8.0.ebuild2
-rw-r--r--dev-python/python-novaclient/Manifest1
-rw-r--r--dev-python/python-novaclient/python-novaclient-18.6.0.ebuild62
-rw-r--r--dev-python/python-novaclient/python-novaclient-18.7.0.ebuild2
-rw-r--r--dev-python/rdflib/Manifest1
-rw-r--r--dev-python/rdflib/files/rdflib-7.1.0-py3_13-fix-pickler.diff63
-rw-r--r--dev-python/rdflib/rdflib-7.1.0.ebuild70
-rw-r--r--dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild2
-rw-r--r--dev-python/resolvelib/resolvelib-1.0.1.ebuild2
-rw-r--r--dev-python/routes/routes-2.5.1-r2.ebuild2
-rw-r--r--dev-python/sphinx-copybutton/sphinx-copybutton-0.5.2.ebuild2
-rw-r--r--dev-python/truststore/truststore-0.10.0.ebuild2
-rw-r--r--dev-python/uvicorn/uvicorn-0.32.0.ebuild2
-rw-r--r--dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild2
40 files changed, 449 insertions, 185 deletions
diff --git a/dev-python/amodem/Manifest b/dev-python/amodem/Manifest
index 5347db28cc92..b76c7b1cddc9 100644
--- a/dev-python/amodem/Manifest
+++ b/dev-python/amodem/Manifest
@@ -1 +1,2 @@
DIST amodem-1.15.4.tar.gz 30661 BLAKE2B eea709db3be5a04c569de85457500d390432d78d6cdfab44780a7be9c885538715157cf5cd94c27a5d4e706d6f23f41dc6f863a72ccf8366de08956c2e50cbff SHA512 19eb8ed24ee93652b911a3a8b10fc89b7d567d8302328d93255d65d82c29c50d06855ba6e4228b2f12d50e7dcaadd4539305a34321a7e96ba87b2da9e25a3391
+DIST amodem-1.15.6.tar.gz 28364 BLAKE2B c0fbcba609845cbf1f8ac488cb51a4e887c31cf19d6bf6c40cfc81dad8dc85e653666ff374c0e6b1dcf751abe7bc1320bb64b3f128f8ca72c787ad393ab0b814 SHA512 91dd64454c4e7d34eb11ee99184ca6c9614883ea72bb680cb6cff27c1167a128d14a751a275a33332d7b72cd6915c595616d3ad49d987ca0cf71cd4d786e8305
diff --git a/dev-python/amodem/amodem-1.15.6.ebuild b/dev-python/amodem/amodem-1.15.6.ebuild
new file mode 100644
index 000000000000..c6d97b22ee17
--- /dev/null
+++ b/dev-python/amodem/amodem-1.15.6.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Transmit data between two computers using audio"
+HOMEPAGE="
+ https://github.com/romanz/amodem/
+ https://pypi.org/project/amodem/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/anyio/anyio-4.6.2_p1.ebuild b/dev-python/anyio/anyio-4.6.2_p1.ebuild
index 7bf0ce3f9ef0..03237917ba8b 100644
--- a/dev-python/anyio/anyio-4.6.2_p1.ebuild
+++ b/dev-python/anyio/anyio-4.6.2_p1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
RDEPEND="
>=dev-python/idna-2.8[${PYTHON_USEDEP}]
diff --git a/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild b/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild
index 03dbaf4152b0..c6ad7253c58a 100644
--- a/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild
+++ b/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
<dev-python/msgpack-2[${PYTHON_USEDEP}]
diff --git a/dev-python/cheroot/cheroot-10.0.1.ebuild b/dev-python/cheroot/cheroot-10.0.1.ebuild
index bccd4f057bca..115d5407a1ed 100644
--- a/dev-python/cheroot/cheroot-10.0.1.ebuild
+++ b/dev-python/cheroot/cheroot-10.0.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="test-rust"
RDEPEND="
diff --git a/dev-python/cherrypy/cherrypy-18.10.0.ebuild b/dev-python/cherrypy/cherrypy-18.10.0.ebuild
index ee9acfcd0148..a2e8dc921ab9 100644
--- a/dev-python/cherrypy/cherrypy-18.10.0.ebuild
+++ b/dev-python/cherrypy/cherrypy-18.10.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="ssl test"
RDEPEND="
diff --git a/dev-python/commentjson/commentjson-0.9.0-r2.ebuild b/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
index c17af0012dba..e489bb460fa2 100644
--- a/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
+++ b/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
dev-python/lark[${PYTHON_USEDEP}]
diff --git a/dev-python/croniter/Manifest b/dev-python/croniter/Manifest
index b7b0e177f462..7ebc3da3d4f0 100644
--- a/dev-python/croniter/Manifest
+++ b/dev-python/croniter/Manifest
@@ -1 +1,2 @@
DIST croniter-3.0.3.tar.gz 53088 BLAKE2B 258eff623e0017dcc1fd1d1b3a0ac8e1e67c387afba15fbb04a077dad9e5c72d4d2d68541e06ac85897857ce2bdb36fe0ddb59812368b9e89e58f6322fe61034 SHA512 4fe703544fd899c80766e6a867d96e655b5269b8798562ad4396b9819072acfd22c69fe72d52e911807acfbabe65b131ca4b6f1311b62e5b99f7d1cd1de39068
+DIST croniter-3.0.4.tar.gz 54500 BLAKE2B caba8dd5efda4d56787130d43416ce79d2183e481ae5b4524542a353d40b765112c54961d1aeb0f9c99e0f3d319c31812a866dbaa5c2ee597fbc139eb079963a SHA512 e46e0ac27ed2dd30c5239565b7d9a926b2451febf047f96573699b50baf83157bf30e22f5f7f9be4fc66bb1a6b2eb0b5245a810542dbe808294eefba31af1d8a
diff --git a/dev-python/croniter/croniter-3.0.4.ebuild b/dev-python/croniter/croniter-3.0.4.ebuild
new file mode 100644
index 000000000000..f8bda937f684
--- /dev/null
+++ b/dev-python/croniter/croniter-3.0.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module to provide iteration for datetime object"
+HOMEPAGE="
+ https://github.com/kiorky/croniter/
+ https://pypi.org/project/croniter/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/tzlocal[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/ecdsa/ecdsa-0.19.0.ebuild b/dev-python/ecdsa/ecdsa-0.19.0.ebuild
index 2a9346020d5a..ab8c6db2f853 100644
--- a/dev-python/ecdsa/ecdsa-0.19.0.ebuild
+++ b/dev-python/ecdsa/ecdsa-0.19.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv sparc x86 ~ppc-macos ~x64-macos"
RDEPEND="
$(python_gen_cond_dep '
diff --git a/dev-python/gmpy/gmpy-2.1.5-r2.ebuild b/dev-python/gmpy/gmpy-2.1.5-r2.ebuild
index df6a04b3cc51..17a49cf8c279 100644
--- a/dev-python/gmpy/gmpy-2.1.5-r2.ebuild
+++ b/dev-python/gmpy/gmpy-2.1.5-r2.ebuild
@@ -23,7 +23,7 @@ SRC_URI+="
LICENSE="LGPL-3+"
SLOT="2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
DEPEND="
>=dev-libs/mpc-1.0.2:=
diff --git a/dev-python/httptools/httptools-0.6.4.ebuild b/dev-python/httptools/httptools-0.6.4.ebuild
index 026726fd9100..df6b082585cc 100644
--- a/dev-python/httptools/httptools-0.6.4.ebuild
+++ b/dev-python/httptools/httptools-0.6.4.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
# don't ask me why they use both
DEPEND="
diff --git a/dev-python/icalendar/icalendar-6.0.1.ebuild b/dev-python/icalendar/icalendar-6.0.1.ebuild
index 1bfb5f0a7b6a..8f7da42dcdaa 100644
--- a/dev-python/icalendar/icalendar-6.0.1.ebuild
+++ b/dev-python/icalendar/icalendar-6.0.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
RDEPEND="
dev-python/python-dateutil[${PYTHON_USEDEP}]
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
index 62566558d520..1905e0d774f9 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -1 +1,2 @@
DIST ipython-8.28.0.tar.gz 5495762 BLAKE2B cd80970486b5c8128fc5f20382cd087ecbe6a1f4566db52030e9825fbd24acbef8b1857dc74592f5fe1f278aabf0b34913e7be53d8851bf6f9cefccc9360662e SHA512 5634b9faf55eec9cf2775587e994b4298ae9ddd6420fbdcc6a9c32c0f9bbe39f5137e6b39a2f5a5c40efa1deba668d81fe39867151480eb4b88f3850d8670719
+DIST ipython-8.29.0.tar.gz 5497513 BLAKE2B 49e68bfae3a1f29e9def5f1140fa0abcad163e75ebb597dd2aff4fb97bcc1c692a82b194378e071fa4f8d31d5960bc6a68cdc973ab8974752f5820c997b9fd12 SHA512 684c6f541c407ace48f6f889ad2fe776e3e32092c2af1d5863a07708c84469695165ae2765c98341d5098a362d47ee7f62e9ebd014494321b1928e44e64064f3
diff --git a/dev-python/ipython/ipython-8.29.0.ebuild b/dev-python/ipython/ipython-8.29.0.ebuild
new file mode 100644
index 000000000000..3141060317f2
--- /dev/null
+++ b/dev-python/ipython/ipython-8.29.0.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE='readline(+),sqlite,threads(+)'
+
+inherit distutils-r1 optfeature pypi virtualx
+
+DESCRIPTION="Advanced interactive shell for Python"
+HOMEPAGE="
+ https://ipython.org/
+ https://github.com/ipython/ipython/
+ https://pypi.org/project/ipython/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="examples notebook nbconvert qt5 +smp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.41[${PYTHON_USEDEP}]
+ <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
+ dev-python/stack-data[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.13.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10 3.11)
+"
+
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ app-text/dvipng[truetype]
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-3.9[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pickleshare[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+RDEPEND+="
+ nbconvert? (
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ $(python_gen_cond_dep '
+ qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
+ ' 'python*')
+ $(python_gen_cond_dep '
+ notebook? (
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/widgetsnbextension[${PYTHON_USEDEP}]
+ )
+ ' 3.{10..12})
+ smp? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
+ )
+"
+
+python_prepare_all() {
+ # Rename the test directory to reduce sys.path pollution
+ # https://github.com/ipython/ipython/issues/12892
+ mv IPython/extensions/{,ipython_}tests || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
+ local EPYTEST_DESELECT=(
+ # TODO: looks to be a regression due to a newer dep
+ IPython/core/tests/test_oinspect.py::test_class_signature
+ IPython/core/tests/test_oinspect.py::test_render_signature_long
+ IPython/terminal/tests/test_shortcuts.py::test_modify_shortcut_with_filters
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # https://github.com/ipython/ipython/issues/14244
+ IPython/lib/tests/test_display.py::TestAudioDataWithoutNumpy
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # docstring mismatch?
+ IPython/core/tests/test_debugger.py::IPython.core.tests.test_debugger.test_ipdb_magics
+ )
+ ;;
+ esac
+
+ # nonfatal implied by virtx
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest -p asyncio --asyncio-mode=auto ||
+ die "Tests failed on ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Create ipythonX.Y symlinks.
+ # TODO:
+ # 1. do we want them for pypy? No. pypy has no numpy
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ # With pypy not an option the dosym becomes unconditional
+ dosym ../lib/python-exec/${EPYTHON}/ipython \
+ /usr/bin/ipython${EPYTHON#python}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
+
+pkg_postinst() {
+ optfeature "code formatting" dev-python/black
+ optfeature "sympyprinting" dev-python/sympy
+ optfeature "cythonmagic" dev-python/cython
+ optfeature "%lprun magic command" dev-python/line-profiler
+ optfeature "%matplotlib magic command" dev-python/matplotlib-inline
+
+ if use nbconvert; then
+ if ! has_version virtual/pandoc ; then
+ einfo "Node.js will be used to convert notebooks to other formats"
+ einfo "like HTML. Support for that is still experimental. If you"
+ einfo "encounter any problems, please use app-text/pandoc instead."
+ fi
+ fi
+}
diff --git a/dev-python/license-expression/Manifest b/dev-python/license-expression/Manifest
index a87eaed34f8c..7fd08fe65690 100644
--- a/dev-python/license-expression/Manifest
+++ b/dev-python/license-expression/Manifest
@@ -1 +1,2 @@
DIST license-expression-30.3.1.gh.tar.gz 170363 BLAKE2B a40882d006c92f6327b710529bfa8225d8565d17aeb977ba7b05970f620dd7f801c855c4198928be92109ef7727d92578b18add0afc44a08625f9a989693be5e SHA512 c5093cfd5dac3ba202610d9794368c5c93380927d7bc8bf57c93bd14bb91b62d1dcff56157a8994a94ca2d66e7a2cf3956cb931a7fa86cb46a04844db3ed7c65
+DIST license-expression-30.4.0.gh.tar.gz 172061 BLAKE2B aaa96d1d39feb34bbce92945a61369717d31652794f667406010397f9194f48075406c7bcea1681771ab25c6fb2bd01da9228480a40092925d748f662101538f SHA512 8ea6d9c3be9237a405fef010512ca5bbf7cab4088ae6ac9bc3d4152e92dbfe4fdc5c8c82f9df994524d4622f6be7d58cfeeddfb4ca4c63c527fa94bb5a0a8074
diff --git a/dev-python/license-expression/license-expression-30.4.0.ebuild b/dev-python/license-expression/license-expression-30.4.0.ebuild
new file mode 100644
index 000000000000..69d83439155d
--- /dev/null
+++ b/dev-python/license-expression/license-expression-30.4.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Parse, compare, simplify and normalize license expressions"
+HOMEPAGE="
+ https://pypi.org/project/license-expression/
+ https://github.com/aboutcode-org/license-expression/
+"
+SRC_URI="
+ https://github.com/aboutcode-org/license-expression/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/boolean-py-4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/patch-ng/Manifest b/dev-python/patch-ng/Manifest
index 9db98c017fbe..a4d8af96fdea 100644
--- a/dev-python/patch-ng/Manifest
+++ b/dev-python/patch-ng/Manifest
@@ -1 +1,2 @@
DIST patch-ng-1.18.0.gh.tar.gz 166380 BLAKE2B b3a53f2586763000c9a38d2acf25b4b1d236f34da8f0d0105a78d07bee46f30b5fb27ad0223cf274e83def6e66a1ec752f672d0a7e7df2f08280116ed26add30 SHA512 e4c271d5b8bfdcc756a8bb4f678de29f573190a4c1b3e9eb4b6c2564b008c38eb022c644c1bbee2412e7ee2e0ba08c161408303a3fbd223decd85bb6e63f24a9
+DIST python-patch-ng-1.18.1.gh.tar.gz 166492 BLAKE2B c9285805cc0efe8ce033df5a2eedc01fe9fdf8986cc614f5b2b656d94462b538062f033930a4810eba95de9880a6536a9dfa901b62faf3aef5e272b1fa43f712 SHA512 e744711d652447bbf0881fd097ed35bddeccec8dd3b45a898e27f8846b664d23cd5313f09a7d92e431cce5c069acb7fa50dd8875fe2324146b2bd0ea6fd44cf5
diff --git a/dev-python/patch-ng/patch-ng-1.18.1.ebuild b/dev-python/patch-ng/patch-ng-1.18.1.ebuild
new file mode 100644
index 000000000000..7b3f0cc15b94
--- /dev/null
+++ b/dev-python/patch-ng/patch-ng-1.18.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+MY_P=python-patch-ng-${PV}
+DESCRIPTION="Library to parse and apply unified diffs, fork of dev-python/patch"
+HOMEPAGE="
+ https://github.com/conan-io/python-patch-ng/
+ https://pypi.org/project/patch-ng/
+"
+SRC_URI="
+ https://github.com/conan-io/python-patch-ng/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_tests unittest
+
+python_test() {
+ "${EPYTHON}" -m unittest -v tests/run_tests.py ||
+ die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/pip/pip-24.2-r1.ebuild b/dev-python/pip/pip-24.2-r1.ebuild
index f3ae3bcfb8f9..c6ea27d41143 100644
--- a/dev-python/pip/pip-24.2-r1.ebuild
+++ b/dev-python/pip/pip-24.2-r1.ebuild
@@ -26,7 +26,7 @@ LICENSE="MIT"
# bundled deps
LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="test-rust"
# see src/pip/_vendor/vendor.txt
diff --git a/dev-python/pylibmc/pylibmc-1.6.3-r1.ebuild b/dev-python/pylibmc/pylibmc-1.6.3-r1.ebuild
index 2328318c3107..4e4117d2276e 100644
--- a/dev-python/pylibmc/pylibmc-1.6.3-r1.ebuild
+++ b/dev-python/pylibmc/pylibmc-1.6.3-r1.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
IUSE="sasl"
DEPEND="
diff --git a/dev-python/pytest-httpx/pytest-httpx-0.32.0.ebuild b/dev-python/pytest-httpx/pytest-httpx-0.32.0.ebuild
index c340037f1128..7545cb340444 100644
--- a/dev-python/pytest-httpx/pytest-httpx-0.32.0.ebuild
+++ b/dev-python/pytest-httpx/pytest-httpx-0.32.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="amd64 ~arm arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
=dev-python/httpx-0.27*[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-services/pytest-services-2.2.1-r1.ebuild b/dev-python/pytest-services/pytest-services-2.2.1-r1.ebuild
index ea54c4e4961f..d879b1e38bfe 100644
--- a/dev-python/pytest-services/pytest-services-2.2.1-r1.ebuild
+++ b/dev-python/pytest-services/pytest-services-2.2.1-r1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
diff --git a/dev-python/python-ironicclient/Manifest b/dev-python/python-ironicclient/Manifest
index 1ca5bc349e6b..34005df163cd 100644
--- a/dev-python/python-ironicclient/Manifest
+++ b/dev-python/python-ironicclient/Manifest
@@ -1,3 +1 @@
-DIST python-ironicclient-5.6.0.tar.gz 229569 BLAKE2B 2db608463479fc5bb7061562d8617d96244e80276790ae2829373d9ba02412027658c33c5f22d6fd921bf84599584c588c462b4480d294e288dc063f7c73e274 SHA512 133de151e5a884c0c9840b72236f5d99e5e197889ed2e80545174d8754b09e65c370c6a97c367ed4c4ca76f593e665e6481cd45c266fdf3ba7fc348307539907
-DIST python-ironicclient-5.7.0.tar.gz 230550 BLAKE2B a4571693ce95608d7403113e56df62961eb040ee924ff8d45ebacf41a924cb489157a48043d768e4e5691477bd2dbf24a658a59703e84c61871be5f4d9700dbf SHA512 f819a2be1301da821eb340da789dd188dea33fb48b2ea2f3ec740eb04b66cf121fc1f72f592e3f17cd38be30b9afedf4209dbe725eaa772938a9977a83e84506
DIST python-ironicclient-5.8.0.tar.gz 235768 BLAKE2B 254e70bf1a007bcc1fbd5c13f8a650c473f294ab218c01b8b69b66a4518fdbd35b4dd1cdda808342efde92ebebbe25e7221b0e97492b0c2d6095d0107f05d0d7 SHA512 fa96807bb17907f9ae9a761c9dcd4e87e5fed5d73a978da0e0e8536574277032c52fd96675bf7738271616e3f2897b67dba4d8ac3731ff0785ed2b8a91acb900
diff --git a/dev-python/python-ironicclient/python-ironicclient-5.6.0.ebuild b/dev-python/python-ironicclient/python-ironicclient-5.6.0.ebuild
deleted file mode 100644
index c2663515d0e4..000000000000
--- a/dev-python/python-ironicclient/python-ironicclient-5.6.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pbr
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for the Ironic API"
-HOMEPAGE="
- https://opendev.org/openstack/python-ironicclient/
- https://github.com/openstack/python-ironicclient/
- https://pypi.org/project/python-ironicclient/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/dogpile-cache-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth1-3.11.0[${PYTHON_USEDEP}]
- >=dev-python/openstacksdk-0.18.0[${PYTHON_USEDEP}]
- >=dev-python/osc-lib-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.13.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
- >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/python-ironicclient/python-ironicclient-5.7.0.ebuild b/dev-python/python-ironicclient/python-ironicclient-5.7.0.ebuild
deleted file mode 100644
index 7351d3e9f811..000000000000
--- a/dev-python/python-ironicclient/python-ironicclient-5.7.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pbr
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for the Ironic API"
-HOMEPAGE="
- https://opendev.org/openstack/python-ironicclient/
- https://github.com/openstack/python-ironicclient/
- https://pypi.org/project/python-ironicclient/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/dogpile-cache-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth1-3.11.0[${PYTHON_USEDEP}]
- >=dev-python/openstacksdk-0.18.0[${PYTHON_USEDEP}]
- >=dev-python/osc-lib-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.13.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
- >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/python-ironicclient/python-ironicclient-5.8.0.ebuild b/dev-python/python-ironicclient/python-ironicclient-5.8.0.ebuild
index 7351d3e9f811..c2663515d0e4 100644
--- a/dev-python/python-ironicclient/python-ironicclient-5.8.0.ebuild
+++ b/dev-python/python-ironicclient/python-ironicclient-5.8.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
>=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/python-novaclient/Manifest b/dev-python/python-novaclient/Manifest
index 503c2477aa17..be6c192e50e9 100644
--- a/dev-python/python-novaclient/Manifest
+++ b/dev-python/python-novaclient/Manifest
@@ -1,2 +1 @@
-DIST python-novaclient-18.6.0.tar.gz 339868 BLAKE2B 069d7b213c8dc8b8061cc70ea49f9f7f7599aab1daead5b7e54423133f0765df32924ce05f1d2c00833e5ea177f6ffa9311055328246137bc134f3a162ef9fa4 SHA512 a2f93f063bc22b12294664edd37187a0edc80e01b62802d59a5603c11cba8154300e5206c9f835a0a0b6a00adb2b281271b6f8a1f50379668d88f4c5222d55b9
DIST python-novaclient-18.7.0.tar.gz 340344 BLAKE2B c21122bef909453ee33e4fda3a49349dc228759012f2ed627a07d4abf6a83eeee83d12b3cef6a4adb6fdefa69f416b0e6248baab63c8c7f46c5a461ec0437901 SHA512 32ff8e3bb6b2c91d9d6fc157147e2e44cb2e1efd1da31407c6de2f504498aa896d76157907c784ee3c8b3b1cb6f5030880fecc42d5f3437f0ae8968bb7e5cf4f
diff --git a/dev-python/python-novaclient/python-novaclient-18.6.0.ebuild b/dev-python/python-novaclient/python-novaclient-18.6.0.ebuild
deleted file mode 100644
index e85e9005ab04..000000000000
--- a/dev-python/python-novaclient/python-novaclient-18.6.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pbr
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A client for the OpenStack Nova API"
-HOMEPAGE="
- https://opendev.org/openstack/python-novaclient/
- https://github.com/openstack/python-novaclient/
- https://pypi.org/project/python-novaclient/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-RDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth1-3.5.0[${PYTHON_USEDEP}]
- >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
- >dev-python/requests-2.12.2[${PYTHON_USEDEP}]
- >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/bandit[${PYTHON_USEDEP}]
- dev-python/ddt[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/python-keystoneclient[${PYTHON_USEDEP}]
- dev-python/python-cinderclient[${PYTHON_USEDEP}]
- dev-python/python-glanceclient[${PYTHON_USEDEP}]
- dev-python/python-neutronclient[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/openstacksdk[${PYTHON_USEDEP}]
- dev-python/testscenarios[${PYTHON_USEDEP}]
- dev-python/testtools[${PYTHON_USEDEP}]
- dev-python/tempest[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- sed -e 's/test_osprofiler/_&/' -i novaclient/tests/unit/test_shell.py || die
- sed -e 's/novaclient\.tests\.unit\.//' -i novaclient/tests/unit/test_api_versions.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # functional tests require cloud instance access
- eunittest -b novaclient/tests/unit
-}
diff --git a/dev-python/python-novaclient/python-novaclient-18.7.0.ebuild b/dev-python/python-novaclient/python-novaclient-18.7.0.ebuild
index f3d4ea0ef884..e85e9005ab04 100644
--- a/dev-python/python-novaclient/python-novaclient-18.7.0.ebuild
+++ b/dev-python/python-novaclient/python-novaclient-18.7.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~riscv x86"
RDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/rdflib/Manifest b/dev-python/rdflib/Manifest
index 9d949ab73ce4..c744ec49e63a 100644
--- a/dev-python/rdflib/Manifest
+++ b/dev-python/rdflib/Manifest
@@ -1 +1,2 @@
DIST rdflib-7.0.0.tar.gz 4765796 BLAKE2B 60ca36160f4f6588892853adde9dd4b795e549cc7fd52127cf1e50de3853b25b3a333cabd584ccf22827cb6f89d215d225c4ba767d0775feeefb481e4b1ed93b SHA512 56d110ab24c74c6ddb2e75320f60a82b4945e6ea1ce9d10ad4ae53d44c679b35826e3d7406e7d0e321ef9b042d32d2ba327a6dbd5c2c1780f552131d80c09445
+DIST rdflib-7.1.0.tar.gz 4863439 BLAKE2B 0f06d272a6b8b0d9356fe8fd67e9df5c1ceb0d9e102a9e954edc17ee3633f45e61520a9db3598777420f501dbb9e63085249211466fc8412d23986ee2b585c7e SHA512 40a3afba52161c2e642a0770d88b08d5bfd6d84325757cef13ad5dc620bcc7f13395c4a51e32b44db56b54568893af44f51b723ceebae1cc089e99b7e0e93c25
diff --git a/dev-python/rdflib/files/rdflib-7.1.0-py3_13-fix-pickler.diff b/dev-python/rdflib/files/rdflib-7.1.0-py3_13-fix-pickler.diff
new file mode 100644
index 000000000000..b992bec0a011
--- /dev/null
+++ b/dev-python/rdflib/files/rdflib-7.1.0-py3_13-fix-pickler.diff
@@ -0,0 +1,63 @@
+--- a/rdflib/store.py
++++ b/rdflib/store.py
+@@ -114,26 +114,38 @@ class TripleRemovedEvent(Event):
+
+
++class _Pickler(Pickler):
++ def __init__(self, file, node):
++ super(_Pickler, self).__init__(file)
++ self._node = node
++
++ def persistent_id(self, key: Any) -> Optional[str]:
++ try:
++ return self._node._ids.get(key)
++ except TypeError:
++ return None
++
++
++class _Unpickler(Unpickler):
++ def __init__(self, file, node):
++ super(_Unpickler, self).__init__(file)
++ self._node = node
++
++ def persistent_load(self, pid):
++ return self._node._get_object(pid)
++
++
+ class NodePickler:
+ def __init__(self) -> None:
+ self._objects: Dict[str, Any] = {}
+ self._ids: Dict[Any, str] = {}
+ self._get_object = self._objects.__getitem__
+
+- def _get_ids(self, key: Any) -> Optional[str]:
+- try:
+- return self._ids.get(key)
+- except TypeError:
+- return None
+-
+ def register(self, object: Any, id: str) -> None:
+ self._objects[id] = object
+ self._ids[object] = id
+
+ def loads(self, s: bytes) -> Node:
+- up = Unpickler(BytesIO(s))
+- # NOTE on type error: https://github.com/python/mypy/issues/2427
+- # type error: Cannot assign to a method
+- up.persistent_load = self._get_object # type: ignore[assignment]
++ up = _Unpickler(BytesIO(s), self)
+ try:
+ return up.load()
+ except KeyError as e:
+@@ -143,10 +155,7 @@ class NodePickler:
+ self, obj: "Node", protocol: Optional[Any] = None, bin: Optional[Any] = None
+ ):
+ src = BytesIO()
+- p = Pickler(src)
+- # NOTE on type error: https://github.com/python/mypy/issues/2427
+- # type error: Cannot assign to a method
+- p.persistent_id = self._get_ids # type: ignore[assignment]
++ p = _Pickler(src, self)
+ p.dump(obj)
+ return src.getvalue()
+
diff --git a/dev-python/rdflib/rdflib-7.1.0.ebuild b/dev-python/rdflib/rdflib-7.1.0.ebuild
new file mode 100644
index 000000000000..bb200b53042b
--- /dev/null
+++ b/dev-python/rdflib/rdflib-7.1.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_REQ_USE="sqlite?,threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="RDF library containing a triple store and parser/serializer"
+HOMEPAGE="
+ https://github.com/RDFLib/rdflib/
+ https://pypi.org/project/rdflib/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="examples sqlite"
+
+RDEPEND="
+ <dev-python/isodate-1[${PYTHON_USEDEP}]
+ >=dev-python/isodate-0.7.2[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ <dev-python/pyparsing-4[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ # https://src.fedoraproject.org/fork/salimma/rpms/python-rdflib/blob/d2fbf492897262350bd569f1566b97a54e092cd9/f/rdflib-py3_13-fix-pickler.diff
+ "${FILESDIR}/${PN}-7.1.0-py3_13-fix-pickler.diff"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # doctests require internet
+ sed -i -e '/doctest-modules/d' pyproject.toml || die
+
+ # we disable pytest-cov
+ sed -i -e 's@, no_cover: None@@' test/test_misc/test_plugins.py || die
+
+ # allow regular html5lib, html5lib-modern has no real changes
+ sed -e 's:html5lib-modern:html5lib:' \
+ -e '/html5lib/s:1\.2:1.1:' \
+ -i pyproject.toml || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not webtest"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild b/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild
index 3fde3f8604ef..40de32f49a4b 100644
--- a/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild
+++ b/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild
@@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="repoze"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86"
distutils_enable_tests unittest
diff --git a/dev-python/resolvelib/resolvelib-1.0.1.ebuild b/dev-python/resolvelib/resolvelib-1.0.1.ebuild
index eb4c7d67753c..028bf955f4de 100644
--- a/dev-python/resolvelib/resolvelib-1.0.1.ebuild
+++ b/dev-python/resolvelib/resolvelib-1.0.1.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86"
BDEPEND="
test? (
diff --git a/dev-python/routes/routes-2.5.1-r2.ebuild b/dev-python/routes/routes-2.5.1-r2.ebuild
index 9635bb809ca1..2992687119de 100644
--- a/dev-python/routes/routes-2.5.1-r2.ebuild
+++ b/dev-python/routes/routes-2.5.1-r2.ebuild
@@ -23,7 +23,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
RDEPEND="
>=dev-python/repoze-lru-0.3[${PYTHON_USEDEP}]
diff --git a/dev-python/sphinx-copybutton/sphinx-copybutton-0.5.2.ebuild b/dev-python/sphinx-copybutton/sphinx-copybutton-0.5.2.ebuild
index e5d0e215b6a9..c4bbd0a0a795 100644
--- a/dev-python/sphinx-copybutton/sphinx-copybutton-0.5.2.ebuild
+++ b/dev-python/sphinx-copybutton/sphinx-copybutton-0.5.2.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://pypi.org/project/sphinx-copybutton/"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
RDEPEND="
>=dev-python/sphinx-6.0[${PYTHON_USEDEP}]
diff --git a/dev-python/truststore/truststore-0.10.0.ebuild b/dev-python/truststore/truststore-0.10.0.ebuild
index 81e48489a55f..c87af7680172 100644
--- a/dev-python/truststore/truststore-0.10.0.ebuild
+++ b/dev-python/truststore/truststore-0.10.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
# The vast majority of tests require Internet access.
PROPERTIES="test_network"
RESTRICT="test"
diff --git a/dev-python/uvicorn/uvicorn-0.32.0.ebuild b/dev-python/uvicorn/uvicorn-0.32.0.ebuild
index 014ec410e8ae..9ec1fd4da572 100644
--- a/dev-python/uvicorn/uvicorn-0.32.0.ebuild
+++ b/dev-python/uvicorn/uvicorn-0.32.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="test-rust"
RDEPEND="
diff --git a/dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild b/dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild
index 29c56dbae726..87174ce83e2b 100644
--- a/dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild
+++ b/dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="ZPL"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86"
BDEPEND="
test? (