summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-07-17 20:17:25 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-07-17 20:17:25 +0000
commit1b7f99f09d224124a42a002556b338471da53ed4 (patch)
treef38ee4cb3db42fadf973204899a9a816bffc160f /dev-python
parent20fada1d867689fbac5d604363117107d86d3f55 (diff)
downloadbaldeagleos-repo-1b7f99f09d224124a42a002556b338471da53ed4.tar.gz
baldeagleos-repo-1b7f99f09d224124a42a002556b338471da53ed4.tar.xz
baldeagleos-repo-1b7f99f09d224124a42a002556b338471da53ed4.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/backports-strenum/backports-strenum-1.3.1.ebuild2
-rw-r--r--dev-python/cfn-lint/Manifest1
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.7.1.ebuild70
-rw-r--r--dev-python/cloudflare/Manifest5
-rw-r--r--dev-python/cloudflare/cloudflare-2.19.2.ebuild70
-rw-r--r--dev-python/cloudflare/cloudflare-3.1.0.ebuild (renamed from dev-python/cloudflare/cloudflare-3.0.1.ebuild)0
-rw-r--r--dev-python/griffe/griffe-0.48.0.ebuild2
-rw-r--r--dev-python/hid_ups/hid_ups-1.0.1.ebuild2
-rw-r--r--dev-python/hid_ups_exporter/hid_ups_exporter-1.0.1.ebuild2
-rw-r--r--dev-python/json_exporter/json_exporter-1.0.2.ebuild2
-rw-r--r--dev-python/jupyterlab-server/Manifest1
-rw-r--r--dev-python/jupyterlab-server/jupyterlab-server-2.27.3.ebuild64
-rw-r--r--dev-python/openstacksdk/Manifest1
-rw-r--r--dev-python/openstacksdk/openstacksdk-3.3.0.ebuild91
-rw-r--r--dev-python/prometheus_exporter/prometheus_exporter-1.0.0.ebuild2
-rw-r--r--dev-python/pyarrow/Manifest1
-rw-r--r--dev-python/pyarrow/pyarrow-17.0.0.ebuild102
-rw-r--r--dev-python/pydot/Manifest1
-rw-r--r--dev-python/pydot/pydot-3.0.1.ebuild38
-rw-r--r--dev-python/pygobject/Manifest2
-rw-r--r--dev-python/pygobject/files/pygobject-3.44.1-py312.patch48
-rw-r--r--dev-python/pygobject/files/pygobject-3.48.2-egg-info.patch39
-rw-r--r--dev-python/pygobject/pygobject-3.48.2-r1.ebuild (renamed from dev-python/pygobject/pygobject-3.44.1.ebuild)16
-rw-r--r--dev-python/pygobject/pygobject-3.48.2.ebuild80
-rw-r--r--dev-python/pymongo/Manifest1
-rw-r--r--dev-python/pymongo/pymongo-4.8.0.ebuild205
-rw-r--r--dev-python/pytest-import-check/Manifest1
-rw-r--r--dev-python/pytest-import-check/pytest-import-check-0.0.3.ebuild37
-rw-r--r--dev-python/python-systemd/python-systemd-235.ebuild2
-rw-r--r--dev-python/sabctools/Manifest1
-rw-r--r--dev-python/sabctools/sabctools-8.2.4.ebuild39
-rw-r--r--dev-python/sphinx/Manifest1
-rw-r--r--dev-python/sphinx/sphinx-7.4.5.ebuild141
-rw-r--r--dev-python/stone/Manifest2
-rw-r--r--dev-python/stone/stone-3.3.7.ebuild (renamed from dev-python/stone/stone-3.3.6.ebuild)12
-rw-r--r--dev-python/textdistance/Manifest1
-rw-r--r--dev-python/textdistance/textdistance-4.6.3.ebuild36
37 files changed, 972 insertions, 149 deletions
diff --git a/dev-python/backports-strenum/backports-strenum-1.3.1.ebuild b/dev-python/backports-strenum/backports-strenum-1.3.1.ebuild
index c7cef8dfd883..f63221818ed1 100644
--- a/dev-python/backports-strenum/backports-strenum-1.3.1.ebuild
+++ b/dev-python/backports-strenum/backports-strenum-1.3.1.ebuild
@@ -23,6 +23,6 @@ S=${WORKDIR}/${MY_P}
LICENSE="PSF-2"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~riscv"
distutils_enable_tests pytest
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 886032f22e14..1a0a89e96a3b 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,3 +1,4 @@
DIST cfn_lint-1.4.2.tar.gz 2485843 BLAKE2B c2e64721b537ab38cad3c3f6d40c509741fb03f61202d7dace4023f4b5b3a7840b7deb88892d9d282d223756a1e3908680ed166cdf216b0c76abdc29d0749967 SHA512 c9761e253ba77198264eabdd9c4e6a290bb9010533628958853c8d5a0f5f7317338f271588b5cef2ac1667f6ed5e1a6e43a3192aa9ff7202b0ca6db061284818
DIST cfn_lint-1.5.3.tar.gz 2354279 BLAKE2B b8c836db35453efbb27fd050a4cb3090ca99fb050256c4e0b8cd5b634320d677f2ed325894a700127891b614ab70cd436e7af06759f9dbcf58ad45f4b50ee779 SHA512 38ce749f21e6118f129d98d21ecc01bc4f828efce8af9f597f624eff9a062dbceb8c670cfbaa0cf581c14d187094ffe90ada4293679c1e0f77cb3baff3308b26
DIST cfn_lint-1.6.1.tar.gz 2366313 BLAKE2B af7b3e8d5145f3368d4c7b2e86b0ffe441c1f6633de34024e8c10d8cd04625673a25e847c15f30a6778bee8196096ffca58241e3a6f21a750094a3b2845f5493 SHA512 f354fa40677f8b601dabfb12b8715f4eb49f8e8aec72d3b9eeb4a63fabe278c36629f404b193f557b193280d6ecd224f0f0a494f9dfc61a04ebb24d0fe953d67
+DIST cfn_lint-1.7.1.tar.gz 2412588 BLAKE2B 259b548e7fc7704c12ca0191d27dd82ce2a75e33c7462520becf218261ac693308f600719850a357d9948f5d2700846b6bc35781491cc4c0598cc494d1090e3f SHA512 ce4933a1c3cdf25b3911b0e057d60a6ff0753937dbb6a5cdf6a1e0afae3fc1532302ac2572191781337cb6a5f0ae1743409714317f79fb9da55295875bd56b27
diff --git a/dev-python/cfn-lint/cfn-lint-1.7.1.ebuild b/dev-python/cfn-lint/cfn-lint-1.7.1.ebuild
new file mode 100644
index 000000000000..cb4c0566bc6f
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.7.1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.89.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ # different graphviz version?
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/cloudflare/Manifest b/dev-python/cloudflare/Manifest
index 18761f6e20ce..6d6b442851e1 100644
--- a/dev-python/cloudflare/Manifest
+++ b/dev-python/cloudflare/Manifest
@@ -1,4 +1,3 @@
-DIST cloudflare-2.19.2.gh.tar.gz 145051 BLAKE2B cd7c9d9352b055b115af443341dcc4d0a446aaf1ac7b7f8030dce0ff19da185b1effc9a679b8018920ade98cafaaf599af8aea8c57a924e59eb40670a3854b70 SHA512 eac9601f9cb9ea5dc140e48fb0f0e042396f6a7ec354f18b815d6c51094799dc3f25e1e69e78f87ec5c612f4304d15f779090962a8f96282d9b2fe8a9abfb690
DIST cloudflare-2.19.4.gh.tar.gz 151397 BLAKE2B c91c95f52314c5177d823ef8f827ea2f76f6cc703260449aea12d54c1b77d061feca15d4bb845f84cfb4fd80789e5064e54d7530daf546d54d17054b9e0b4fda SHA512 8ae11e73760c57b610abfe5e2c8fdc83c2e0b9e07340884925ec9ac3bf5b40b4edf39b2b8ce7330538369d7573146a2ddac195efb0efb4ff657f75fdacb31aed
-DIST cloudflare-3.0.1.gh.tar.gz 1455281 BLAKE2B ed7268ee0936e0c537c6bf01b57e5020cde59ade37287a80c2ac5e67f70b6c53f8f69c8a6269d36eccedefebc4f4af9232997b5faccea5a51bf6e81a2b2ea7ba SHA512 b68eaed168967dcbc46ca17c133ee526ef12a5b0e4295044201bc7fdfc4c7883e7f941490b5d2eb1fbd792072b9fbb1e0aaaa417973028d1131aa96c89285874
-DIST cloudflare-python-3.0.1-prism.tar.gz 10658240 BLAKE2B ce8422410d7c28fefba8fd22a23075ea472ede1afe5ede1ed1baaae25be42c0a0a166a6b4c8c3d52b28b6b9431299ef2b5fa6e5d9f08ab3878216e4fbc58d52c SHA512 581386b1137fb0cfcded2d2eca25227f6f395f67ea09c34836e815c412e1d1372fb7cb63fcf3ef39c7f8dd9982282aa8eaa412e1863318e131c38a2cf05704a5
+DIST cloudflare-3.1.0.gh.tar.gz 1436993 BLAKE2B 136ed341bd16bd04165d94c10d82b2ad617a434728b290aff1dfc9bf11193786011224feeef567455df451efc7921c41c9835e80413738f80db60b3213396df8 SHA512 72f42012e8b4a4497523d159139ebbcef99b75f58a55a429ecb3dcdcfdad3ce3b3694cccb06bc6ec72c6148b1e1516083bda0fb43babdeb8933561e5821fbb1d
+DIST cloudflare-python-3.1.0-prism.tar.gz 10537403 BLAKE2B 67caa6b98f452890ea9613e875d534ddb14c8d3720af5c57bceb04e2e3518702ecafe1bf37f02e53818f8cbc5c6bd8c799c18342879b07d39ba64831168f5495 SHA512 718f968755c62aa4b66bbf3659437751734c3183d6c5d48b025b72355d59414578bb0748f01fa38d46c33736af10d52742723a4eda47d9868d86ec2b499ece27
diff --git a/dev-python/cloudflare/cloudflare-2.19.2.ebuild b/dev-python/cloudflare/cloudflare-2.19.2.ebuild
deleted file mode 100644
index 5745c4ca4621..000000000000
--- a/dev-python/cloudflare/cloudflare-2.19.2.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
-DISTUTILS_USE_PEP517="setuptools"
-inherit distutils-r1
-
-DESCRIPTION="Python wrapper for the Cloudflare v4 API"
-HOMEPAGE="https://pypi.org/project/cloudflare/"
-#SRC_URI="https://files.pythonhosted.org/packages/9b/8c/973e3726c2aa73821bb4272717c6f9f6fc74e69d41ba871bdf97fc671782/${P}.tar.gz"
-#SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-SRC_URI="https://github.com/cloudflare/python-cloudflare/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}/python-${P}"
-LICENSE="MIT"
-SLOT="0"
-DEPEND="dev-python/jsonlines[${PYTHON_USEDEP}]"
-RDEPEND="( ${DEPEND}
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}] )"
-PROPERTIES="test_network" #actually sends many test requests
-distutils_enable_tests pytest
-KEYWORDS="~amd64 ~arm64"
-RESTRICT="test mirror" #mirror restricted only because overlay
-
-python_prepare_all() {
- # don't install tests or examples
- sed -i -e "s/'cli4', 'examples'/'cli4'/" \
- -e "s#'CloudFlare/tests',##" \
- setup.py || die
- sed -i -e "/def test_ips7_should_fail():/i@pytest.mark.xfail(reason='Now fails upstream')" \
- -e "2s/^/import pytest/" \
- CloudFlare/tests/test_cloudflare_calls.py || die
- distutils-r1_python_prepare_all
-}
-python_test() {
- pushd CloudFlare/tests
- if [ -z "${CLOUDFLARE_API_TOKEN}" ]; then
- ewarn "Skipping some tests which require an actual cloudflare api token"
- ewarn "To run them, provide the token in the environment variable CLOUDFLARE_API_TOKEN"
- ewarn "The permissions needed are zone dns edit and user details read"
- local EPYTEST_IGNORE=('test_dns_records.py' 'test_radar_returning_csv.py'
- 'test_dns_import_export.py' 'test_load_balancers.py' 'test_log_received.py'
- 'test_rulesets.py' 'test_urlscanner.py' 'test_paging_thru_zones.py'
- 'test_purge_cache.py'
- 'test_graphql.py' 'test_waiting_room.py' 'test_workers.py' 'test_cloudflare_calls.py' )
- # these test(s) need an api key/token setup
- # Permissions needed are zone dns edit and user details read, account worker scripts edit,
- # zone analytics read, zone load balancer edit, account ruleset edit, zone firewall edit
- # account url scanner edit, zone waiting room edit, zone cache purge
- fi
- # Not sure what permissions/tokens/whatever this test needs, maybe both a token and old api login
- # tried several of the ssl related options for the cert test but no luck either
- # Tried several of the prefex related options to try to get loa docs working but nope
- local EPYTEST_IGNORE+=('test_images_v2_direct_upload.py' 'test_issue114.py'
- 'test_certificates.py' 'test_loa_documents.py'
- 'test_load_balancers.py' 'test_rulesets.py')
- # maybe needs a paid plan or just some unknown permission
- local EPYTEST_DESELECT=(
- 'test_load_balancers.py::test_load_balancers_list_regions'
- 'test_load_balancers_get_regions'
- 'test_load_balancers.py::test_load_balancers_search'
- 'test_load_balancers.py::test_load_balancers_pools'
- 'test_rulesets.py::test_zones_ruleset_post'
- 'test_rulesets.py::test_zones_rulesets_get_specific'
- 'test_rulesets.py::test_zones_ruleset_delete'
- )
- epytest
-}
diff --git a/dev-python/cloudflare/cloudflare-3.0.1.ebuild b/dev-python/cloudflare/cloudflare-3.1.0.ebuild
index 4c18fcf59a9e..4c18fcf59a9e 100644
--- a/dev-python/cloudflare/cloudflare-3.0.1.ebuild
+++ b/dev-python/cloudflare/cloudflare-3.1.0.ebuild
diff --git a/dev-python/griffe/griffe-0.48.0.ebuild b/dev-python/griffe/griffe-0.48.0.ebuild
index 605d579be1e2..f1b76e5d2f42 100644
--- a/dev-python/griffe/griffe-0.48.0.ebuild
+++ b/dev-python/griffe/griffe-0.48.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~riscv"
RDEPEND="
>=dev-python/colorama-0.4[${PYTHON_USEDEP}]
diff --git a/dev-python/hid_ups/hid_ups-1.0.1.ebuild b/dev-python/hid_ups/hid_ups-1.0.1.ebuild
index 0779c13b584b..2ed4d811f86e 100644
--- a/dev-python/hid_ups/hid_ups-1.0.1.ebuild
+++ b/dev-python/hid_ups/hid_ups-1.0.1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/desultory/${PN}/archive/refs/tags/${PV}.tar.gz -> ${
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="~amd64"
RDEPEND="
>=dev-python/zenlib-2.1.2[${PYTHON_USEDEP}]
diff --git a/dev-python/hid_ups_exporter/hid_ups_exporter-1.0.1.ebuild b/dev-python/hid_ups_exporter/hid_ups_exporter-1.0.1.ebuild
index a55d461b048a..302ac46ae85a 100644
--- a/dev-python/hid_ups_exporter/hid_ups_exporter-1.0.1.ebuild
+++ b/dev-python/hid_ups_exporter/hid_ups_exporter-1.0.1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/desultory/${PN}/archive/refs/tags/${PV}.tar.gz -> ${
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="~amd64"
RDEPEND="
>=dev-python/zenlib-2.1.2[${PYTHON_USEDEP}]
diff --git a/dev-python/json_exporter/json_exporter-1.0.2.ebuild b/dev-python/json_exporter/json_exporter-1.0.2.ebuild
index 0d1ff07fd82e..af65045d7bc6 100644
--- a/dev-python/json_exporter/json_exporter-1.0.2.ebuild
+++ b/dev-python/json_exporter/json_exporter-1.0.2.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/desultory/${PN}/archive/refs/tags/${PV}.tar.gz -> ${
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="~amd64"
RDEPEND="
>=dev-python/zenlib-2.1.2[${PYTHON_USEDEP}]
diff --git a/dev-python/jupyterlab-server/Manifest b/dev-python/jupyterlab-server/Manifest
index da1a5f390103..f80976699e63 100644
--- a/dev-python/jupyterlab-server/Manifest
+++ b/dev-python/jupyterlab-server/Manifest
@@ -1 +1,2 @@
DIST jupyterlab_server-2.27.2.tar.gz 75817 BLAKE2B fff1e7e274d500c8a0dc9c7c7edd6630c9587b758ad40184917e9bf3d32ba95d0e4b3b8ea5b47a359100e09779f846f97bf197d0094d148c8431c9fc8c839329 SHA512 621e1d4816301fc7c9276b5c2a2448803f79c43775cd9559399a38c9c24020ccaa2adf680cf769f769f87dbcc185bc28753c9f5130e08429b9866f32ce32dc8c
+DIST jupyterlab_server-2.27.3.tar.gz 76173 BLAKE2B 628947c066f432148e52726439743379f36c78da29d0b7596402f3ea619bc8c03a36017c130cf4700c1659a6e2ba25c28b02aaf529fc071291252dbbee3615fc SHA512 b4d2e91da8c92896958bb2adcb844d8a48f1b8df1ab8c3ff81511d0f3488c27f70f67c9f8731181fbc27836652e805efa869123ccb4d59d1098cd283a4fbcd10
diff --git a/dev-python/jupyterlab-server/jupyterlab-server-2.27.3.ebuild b/dev-python/jupyterlab-server/jupyterlab-server-2.27.3.ebuild
new file mode 100644
index 000000000000..2f9264d72293
--- /dev/null
+++ b/dev-python/jupyterlab-server/jupyterlab-server-2.27.3.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Server components for JupyterLab and JupyterLab like applications"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyterlab/jupyterlab_server/
+ https://pypi.org/project/jupyterlab-server/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/Babel-2.10[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
+ >=dev-python/json5-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.18.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.31[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-1.21[${PYTHON_USEDEP}]
+ <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/jupyter-server[${PYTHON_USEDEP}]
+ >=dev-python/openapi-core-0.18[${PYTHON_USEDEP}]
+ >=dev-python/openapi-spec-validator-0.6[${PYTHON_USEDEP}]
+ dev-python/pytest-jupyter[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/strict-rfc3339[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+# TODO: package autodoc_traits
+#distutils_enable_sphinx docs/source dev-python/pydata-sphinx-theme dev-python/myst-parser
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_translation_api.py
+ )
+
+ EPYTEST_DESELECT=(
+ # Fails if terminal not available
+ tests/test_labapp.py::test_page_config
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_tornasync.plugin -p timeout
+}
diff --git a/dev-python/openstacksdk/Manifest b/dev-python/openstacksdk/Manifest
index 941c29fefbab..77631d89b982 100644
--- a/dev-python/openstacksdk/Manifest
+++ b/dev-python/openstacksdk/Manifest
@@ -1,2 +1,3 @@
DIST openstacksdk-3.1.0.tar.gz 1215965 BLAKE2B 6bf5c3f85dcc2a027af10b675f7a3c7f7cf82bccc20558c0e094def02ff07fca4952ed71240bdf29600c3ef077575c49dce0dccb1683539bef756897813f4d1a SHA512 97ef0610115e1f1534900a6003d699028c6b331af0ef95fadb27babf0bf1467a304a3cc935f07270bf597053e2536e74de79333f67d116cf0b18583a3c8db878
DIST openstacksdk-3.2.0.tar.gz 1228138 BLAKE2B f03f90898beb4650f1ba3b13192f4d85dd630ad680c0a5988e9d284e0c5574e6a66085c93b291338df810bc2e31dbddd972557e159ac293be77298ffcac9ab1c SHA512 8cfc9054fe2749024d33556111c60af6b0225abce800fdb7fe1fbf81b0b7e9e183a191dd62eb12ba768b5815d76c1e0b335c0b5a3eac63efe005330794988537
+DIST openstacksdk-3.3.0.tar.gz 1229640 BLAKE2B f807493c8db39121599124389f330316edb0d183a7bbf9219b6e75eb6c871d3bf55207a7de7270635e4a154b9e30e2365122eab2ea28634c8f003371dccaed03 SHA512 cccfd6f28de9c617ccf9e8d0476a884a63ac0e15707ac446f0aa56f22eaefabcff07ab7aa3d46484fe0c7c5a565d000f72407250e1365202af4bbc8787fbad18
diff --git a/dev-python/openstacksdk/openstacksdk-3.3.0.ebuild b/dev-python/openstacksdk/openstacksdk-3.3.0.ebuild
new file mode 100644
index 000000000000..7b29b390d71d
--- /dev/null
+++ b/dev-python/openstacksdk/openstacksdk-3.3.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A collection of libraries for building applications to work with OpenStack"
+HOMEPAGE="
+ https://opendev.org/openstack/openstacksdk/
+ https://github.com/openstack/openstacksdk/
+ https://pypi.org/project/openstacksdk/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/decorator-4.4.1[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.6.5[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonpatch-1.21[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+ >=dev-python/requestsexceptions-1.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.4.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Internet?
+ sed -e 's:test_create_dynamic_large_object:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+
+ # TODO
+ sed -e 's:test_generate_form:_&:' \
+ -e 's:test_create_static_large_object:_&:' \
+ -e 's:test_object_segment_retries:_&:' \
+ -e 's:test_object_segment_retry_failure:_&:' \
+ -e 's:test_slo_manifest_retry:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+ sed -e 's:test_servers:_&:' \
+ -i openstack/tests/unit/test_stats.py || die
+
+ # unhappy about paths due to test runner
+ sed -e 's:test_method_not_supported:_&:' \
+ -i openstack/tests/unit/test_exceptions.py || die
+ sed -e 's:test_repr:_&:' \
+ -i openstack/tests/unit/test_resource.py || die
+
+ # requires hacking
+ rm openstack/tests/unit/test_hacking.py || die
+
+ # fragile warning-based tests
+ sed -e 's:test_unsupported_version_override:_&:' \
+ -i openstack/tests/unit/test_missing_version.py || die
+ sed -e 's:test_create_unknown_proxy:_&:' \
+ -i openstack/tests/unit/test_connection.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstack/tests/unit
+}
diff --git a/dev-python/prometheus_exporter/prometheus_exporter-1.0.0.ebuild b/dev-python/prometheus_exporter/prometheus_exporter-1.0.0.ebuild
index 26c3cb3deb9f..5ac8fe0a5b64 100644
--- a/dev-python/prometheus_exporter/prometheus_exporter-1.0.0.ebuild
+++ b/dev-python/prometheus_exporter/prometheus_exporter-1.0.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/desultory/${PN}/archive/refs/tags/${PV}.tar.gz -> ${
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="~amd64"
RDEPEND="
>=dev-python/zenlib-2.1.2[${PYTHON_USEDEP}]
diff --git a/dev-python/pyarrow/Manifest b/dev-python/pyarrow/Manifest
index b48d5052258a..b4f800fff015 100644
--- a/dev-python/pyarrow/Manifest
+++ b/dev-python/pyarrow/Manifest
@@ -1 +1,2 @@
DIST apache-arrow-16.1.0.tar.gz 21707079 BLAKE2B 5541c364351e59e8164f2461546bce3ddc834d70b3a03b815b681187674bdd89ccfb7eb113bf9010c821845b0c1fa51f5321bfea5b20927e6364f6452ec980d2 SHA512 28975f59e1fdde2dba4afaf4a5ba934b63db3a7f27656e2aa0af0f0d2a046c9dbfa9a6082de94629c36d03809b296566a37ea65ec5a2fc17fedac7d21e272d31
+DIST apache-arrow-17.0.0.tar.gz 21822331 BLAKE2B 64f9321cbf13fafae5938f26840d3ef642d6f5b40386315030bc70fe8703786ee394c8483d2bde7961cf2b5c15470ffebd7c66029e116b05cfbf5524e9fe51f1 SHA512 4e2a617b8deeb9f94ee085653a721904a75696f0827bcba82b535cc7f4f723066a09914c7fa83c593e51a8a4031e8bf99e563cac1ebb1d89604cb406975d4864
diff --git a/dev-python/pyarrow/pyarrow-17.0.0.ebuild b/dev-python/pyarrow/pyarrow-17.0.0.ebuild
new file mode 100644
index 000000000000..4781044e1a30
--- /dev/null
+++ b/dev-python/pyarrow/pyarrow-17.0.0.ebuild
@@ -0,0 +1,102 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="Python library for Apache Arrow"
+HOMEPAGE="
+ https://arrow.apache.org/
+ https://github.com/apache/arrow/
+ https://pypi.org/project/pyarrow/
+"
+SRC_URI="mirror://apache/arrow/arrow-${PV}/apache-arrow-${PV}.tar.gz"
+S="${WORKDIR}/apache-arrow-${PV}/python"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+IUSE="+parquet +snappy ssl"
+
+RDEPEND="
+ ~dev-libs/apache-arrow-${PV}[compute,dataset,json,parquet?,re2,snappy?,ssl?]
+ >=dev-python/numpy-1.16.6:=[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/cffi[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-libs/apache-arrow[lz4,zlib]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # cython's -Werror
+ sed -i -e '/--warning-errors/d' CMakeLists.txt || die
+}
+
+src_compile() {
+ export PYARROW_PARALLEL="$(makeopts_jobs)"
+ export PYARROW_BUILD_VERBOSE=1
+ export PYARROW_CXXFLAGS="${CXXFLAGS}"
+ export PYARROW_BUNDLE_ARROW_CPP_HEADERS=0
+ export PYARROW_CMAKE_GENERATOR=Ninja
+ export PYARROW_WITH_HDFS=1
+ if use parquet; then
+ export PYARROW_WITH_DATASET=1
+ export PYARROW_WITH_PARQUET=1
+ use ssl && export PYARROW_WITH_PARQUET_ENCRYPTION=1
+ fi
+ if use snappy; then
+ export PYARROW_WITH_SNAPPY=1
+ fi
+
+ distutils-r1_src_compile
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # wtf?
+ tests/test_fs.py::test_localfs_errors
+ # these require apache-arrow with jemalloc that doesn't seem
+ # to be supported by the Gentoo package
+ tests/test_memory.py::test_env_var
+ tests/test_memory.py::test_specific_memory_pools
+ tests/test_memory.py::test_supported_memory_backends
+ # hypothesis health check failures
+ # https://github.com/apache/arrow/issues/41318
+ tests/interchange/test_interchange_spec.py::test_dtypes
+ tests/test_convert_builtin.py::test_array_to_pylist_roundtrip
+ tests/test_feather.py::test_roundtrip
+ tests/test_pandas.py::test_array_to_pandas_roundtrip
+ tests/test_strategies.py::test_types
+ tests/test_types.py::test_hashing
+ # fragile memory tests
+ tests/test_csv.py::TestSerialStreamingCSVRead::test_batch_lifetime
+ tests/test_csv.py::TestThreadedStreamingCSVRead::test_batch_lifetime
+ # takes forever, and manages to generate timedeltas over 64 bits
+ tests/test_strategies.py
+ )
+
+ cd "${T}" || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --pyargs pyarrow
+}
+
+python_install() {
+ distutils-r1_python_install
+ # https://github.com/apache/arrow/issues/43299
+ rm -r "${D}$(python_get_sitedir)"/{benchmarks,cmake_modules,examples,scripts} || die
+}
diff --git a/dev-python/pydot/Manifest b/dev-python/pydot/Manifest
index 956c10470279..f077b62d5526 100644
--- a/dev-python/pydot/Manifest
+++ b/dev-python/pydot/Manifest
@@ -1,2 +1,3 @@
DIST pydot-2.0.0.gh.tar.gz 275188 BLAKE2B 58f1598196861795bd44c6b97683e0c37b3c05e848a69d42a3fc898849f272466c989e7ff72e0be22a322a1e92c31c6b76a9317e56f3ec26743c20801daf8bfd SHA512 09102930a59ac4339e1d1e4f7a9d075f99eda6cb060885631a72f1fded90d001bd02940b55addc0c92856e95321cb3b344a1797b4809ac7c9048ac57c81d4707
DIST pydot-3.0.0.gh.tar.gz 280655 BLAKE2B 0c58f5a03cdb2eb325aec96e532bbe4808170a3828377ba3a278c8c5631de9c74716a19426ebb0834ecba063b92c31ef41965edb1ee22018ed658e0e4e17bc7a SHA512 493601a54e9727d727b1ff3fa9133da400dd02ca147f04b5c446a2baeda3b5ae60d0edccaf122e946abe984f7d9e375cda553a22608b070e06e8f59eda82d565
+DIST pydot-3.0.1.gh.tar.gz 280784 BLAKE2B d87d06bf5f62ae783ecb4ff6a16b0986969de49cbf45e120df5e722620fe614181700f8117b0a6ce24fd4aac4f618d4dc16c631f581ebb19bea73a5a92437585 SHA512 6aca6e91134e481334c12a7669d3f5df1181f9a4e2ab914a6c8ab87f28d0afa9d97cfc0d9b665d9fdedb3c335624d68967d491f79fc669573aa81cf1401316cd
diff --git a/dev-python/pydot/pydot-3.0.1.ebuild b/dev-python/pydot/pydot-3.0.1.ebuild
new file mode 100644
index 000000000000..c9ac0072cdbb
--- /dev/null
+++ b/dev-python/pydot/pydot-3.0.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to Graphviz's Dot language"
+HOMEPAGE="
+ https://github.com/pydot/pydot/
+ https://pypi.org/project/pydot/
+"
+# pypi releases don't include tests
+SRC_URI="
+ https://github.com/pydot/pydot/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/pyparsing-3.0.9[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+"
+BDEPEND="
+ test? (
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pygobject/Manifest b/dev-python/pygobject/Manifest
index 8ce81ab9f53f..c8b85b769367 100644
--- a/dev-python/pygobject/Manifest
+++ b/dev-python/pygobject/Manifest
@@ -1,2 +1,2 @@
-DIST pygobject-3.44.1.tar.xz 559432 BLAKE2B 7edfe91ac1b7301befaf8ef17078b517666467f446bfbe25850336cd365d314153d444d29ecf028ce44a12cef1c94f139d110ac6784c8a2c6077730d4836f6cc SHA512 5f2ff4a068e7e24dcc32f8c43ba58660c85a0fabdd9ff0bac4ddf1ca82bd0fc962ce5cb3ab25b991c212d45e5e89dac67c3259c5423a7d7fd70b2ac1f56e5327
DIST pygobject-3.46.0.tar.xz 561552 BLAKE2B 6b8c9b4bf6df819c09b7bd2ea6dcb0e7c24ed7f171487b774469bd2c4694df9d4473dbde05273afc7a370f2b1f352d60347aa221bdd674a4aa8a54123d5e54cd SHA512 48293c193ba5aece38d99f45d325d0329ac33e88442bf00848fe818a7c838977b8d2cf50a404c30e8852ccc0b4a44dfda07751d51acc21f740aa2ab6aa3ce661
+DIST pygobject-3.48.2.tar.xz 556244 BLAKE2B 6ac7a42752d65668f228aa9823a4e256b030bc84683857e5470bc373eaaf383904d18399379b4a7d0989644e2b0825d63cc8b3f927b97608a209f888bf8cb276 SHA512 11619f73be5894fae82b261779f33390d1aec51b02bcf285c58f3c76ee46dfc1b3f435e4662176fde5ca899aee5afc453f8f0ba28e15e15330a52354cf737d45
diff --git a/dev-python/pygobject/files/pygobject-3.44.1-py312.patch b/dev-python/pygobject/files/pygobject-3.44.1-py312.patch
deleted file mode 100644
index 331e3bc0a3f8..000000000000
--- a/dev-python/pygobject/files/pygobject-3.44.1-py312.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From fe6aedd8eebd92844b873f72e99dc4023316c6f3 Mon Sep 17 00:00:00 2001
-From: Christoph Reiter <reiter.christoph@gmail.com>
-Date: Wed, 7 Jun 2023 22:27:55 +0200
-Subject: [PATCH] tests: fix test_gvalue_flat_array_in_item_marshal_failure for
- Python 3.12
-
-See https://gitlab.gnome.org/GNOME/pygobject/-/issues/582
-
-_PyGI_ERROR_PREFIX() no longer works with 3.12 since we only get normalized
-exceptions in there and can't add a prefix like "Item X: " to the message.
-
-Until we figure out how to add this back for 3.12, align the tests with the
-new behaviour (the new exception notes API would be an option, see the
-linked issue)
----
- tests/test_gi.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/tests/test_gi.py b/tests/test_gi.py
-index 25a3b659..261d8b2b 100644
---- a/tests/test_gi.py
-+++ b/tests/test_gi.py
-@@ -1573,9 +1573,12 @@ class TestGValue(unittest.TestCase):
- self.assertRaises(OverflowError, GIMarshallingTests.gvalue_flat_array,
- [GLib.MININT - 1, "42", True])
-
-+ # FIXME: https://gitlab.gnome.org/GNOME/pygobject/-/issues/582#note_1764164
-+ exc_prefix = "Item 0: " if sys.version_info[:2] < (3, 12) else ""
-+
- with pytest.raises(
- OverflowError,
-- match='Item 0: %d not in range %d to %d' % (
-+ match=exc_prefix + '%d not in range %d to %d' % (
- GLib.MAXINT + 1, GLib.MININT, GLib.MAXINT)):
- GIMarshallingTests.gvalue_flat_array([GLib.MAXINT + 1, "42", True])
-
-@@ -1583,7 +1586,7 @@ class TestGValue(unittest.TestCase):
-
- with pytest.raises(
- OverflowError,
-- match='Item 0: %d not in range %d to %d' % (
-+ match=exc_prefix + '%d not in range %d to %d' % (
- GLib.MAXUINT64 * 2, min_, max_)):
- GIMarshallingTests.gvalue_flat_array([GLib.MAXUINT64 * 2, "42", True])
-
---
-GitLab
-
diff --git a/dev-python/pygobject/files/pygobject-3.48.2-egg-info.patch b/dev-python/pygobject/files/pygobject-3.48.2-egg-info.patch
new file mode 100644
index 000000000000..0da834216f34
--- /dev/null
+++ b/dev-python/pygobject/files/pygobject-3.48.2-egg-info.patch
@@ -0,0 +1,39 @@
+From 2aa50b8841c26eb892f4666508ba72ebb8179f26 Mon Sep 17 00:00:00 2001
+From: Chris Mayo <aklhfex@gmail.com>
+Date: Mon, 25 Mar 2024 19:21:21 +0000
+Subject: [PATCH] Replace non-standard .egg-info file
+
+Installing a .dist-info directory containing just METADATA is compliant:
+
+https://packaging.python.org/en/latest/specifications/recording-installed-packages/#the-dist-info-directory
+---
+ PKG-INFO.in => METADATA.in | 0
+ meson.build | 6 +++---
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+ rename PKG-INFO.in => METADATA.in (100%)
+
+diff --git a/PKG-INFO.in b/METADATA.in
+similarity index 100%
+rename from PKG-INFO.in
+rename to METADATA.in
+diff --git a/meson.build b/meson.build
+index b8d69c3a..32204ad5 100644
+--- a/meson.build
++++ b/meson.build
+@@ -194,10 +194,10 @@ if not for_wheel
+
+ pkginfo_conf = configuration_data()
+ pkginfo_conf.set('VERSION', py_version)
+- configure_file(input : 'PKG-INFO.in',
+- output : 'PyGObject-@0@.egg-info'.format(py_version),
++ configure_file(input : 'METADATA.in',
++ output : 'METADATA',
+ configuration : pkginfo_conf,
+- install_dir : python.get_install_dir(pure : false))
++ install_dir : python.get_install_dir(pure : false) / 'PyGObject-@0@.dist-info'.format(py_version))
+ endif
+
+ pygobject_dep = declare_dependency(
+--
+GitLab
+
diff --git a/dev-python/pygobject/pygobject-3.44.1.ebuild b/dev-python/pygobject/pygobject-3.48.2-r1.ebuild
index c350958726fc..1323eb84414a 100644
--- a/dev-python/pygobject/pygobject-3.44.1.ebuild
+++ b/dev-python/pygobject/pygobject-3.48.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,19 +11,19 @@ inherit gnome.org meson virtualx xdg distutils-r1
DESCRIPTION="Python bindings for GObject Introspection"
HOMEPAGE="
- https://pygobject.readthedocs.io/
+ https://pygobject.gnome.org/
https://gitlab.gnome.org/GNOME/pygobject/
"
LICENSE="LGPL-2.1+"
SLOT="3"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="+cairo examples test"
RESTRICT="!test? ( test )"
RDEPEND="
- >=dev-libs/glib-2.56:2
- >=dev-libs/gobject-introspection-1.56:=
+ >=dev-libs/glib-2.64:2
+ >=dev-libs/gobject-introspection-1.64:=
dev-libs/libffi:=
cairo? (
>=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}]
@@ -44,11 +44,7 @@ BDEPEND="
virtual/pkgconfig
"
-PATCHES=(
- # fix test failure on py3.12
- # https://gitlab.gnome.org/GNOME/pygobject/-/commit/fe6aedd8eebd92844b873f72e99dc4023316c6f3
- "${FILESDIR}/${P}-py312.patch"
-)
+PATCHES=( "${FILESDIR}/${P}-egg-info.patch" )
python_configure() {
local emesonargs=(
diff --git a/dev-python/pygobject/pygobject-3.48.2.ebuild b/dev-python/pygobject/pygobject-3.48.2.ebuild
new file mode 100644
index 000000000000..c59af12a2281
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.48.2.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=no
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit gnome.org meson virtualx xdg distutils-r1
+
+DESCRIPTION="Python bindings for GObject Introspection"
+HOMEPAGE="
+ https://pygobject.gnome.org/
+ https://gitlab.gnome.org/GNOME/pygobject/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+cairo examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.64:2
+ >=dev-libs/gobject-introspection-1.64:=
+ dev-libs/libffi:=
+ cairo? (
+ >=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}]
+ x11-libs/cairo[glib]
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ >=app-accessibility/at-spi2-core-2.46.0[introspection]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ x11-libs/gdk-pixbuf:2[introspection,jpeg]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+python_configure() {
+ local emesonargs=(
+ $(meson_feature cairo pycairo)
+ $(meson_use test tests)
+ -Dpython="${EPYTHON}"
+ )
+ meson_src_configure
+}
+
+python_compile() {
+ meson_src_compile
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+ local -x GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x XDG_CACHE_HOME="${T}/${EPYTHON}"
+ meson_src_test --timeout-multiplier 3 || die "test failed for ${EPYTHON}"
+}
+
+python_install() {
+ meson_src_install
+ python_optimize
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest
index a9cf590c9898..b3dd01f0d787 100644
--- a/dev-python/pymongo/Manifest
+++ b/dev-python/pymongo/Manifest
@@ -1 +1,2 @@
DIST mongo-python-driver-4.7.2.gh.tar.gz 1548375 BLAKE2B a40dbe153f36cdf2836583aa0116f447d08376ce7980a09d0f21cea37a34ab318e5ff0b34b7fe1721cf7fc5d5443a1dbe0982d59cb941b0da8a4a99abdc7b19d SHA512 1de8bd14301e365eb53252dedaaaf8c9056dd534662543e2a500511e5f5f67a69e1f11a8a8575efdbd8852bb47b632d59762f66024d32973d20dc17c4448b9be
+DIST mongo-python-driver-4.8.0.gh.tar.gz 1550149 BLAKE2B 9462480b17f3da54918883fbcb28a4324e6a00a9c2c34b16267ebcd378170f7fd34ec7290f7a0e3c4c38a5f1f803428cb6a0c64a562d956b3a19c37130697012 SHA512 17513a278187424fea1876d288651e385be759f23eebceca8d04a15182b15ffd64956193bb53e4a90e8b2197c2ebbade274737091f5d2e5fb4398539674c41df
diff --git a/dev-python/pymongo/pymongo-4.8.0.ebuild b/dev-python/pymongo/pymongo-4.8.0.ebuild
new file mode 100644
index 000000000000..88553b2f923d
--- /dev/null
+++ b/dev-python/pymongo/pymongo-4.8.0.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit check-reqs distutils-r1
+
+MY_P=mongo-python-driver-${PV}
+DESCRIPTION="Python driver for MongoDB"
+HOMEPAGE="
+ https://github.com/mongodb/mongo-python-driver/
+ https://pypi.org/project/pymongo/
+"
+SRC_URI="
+ https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="doc kerberos +native-extensions +test-full"
+
+RDEPEND="
+ <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
+ kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ test-full? (
+ >=dev-db/mongodb-2.6.0
+ )
+ )
+"
+
+distutils_enable_sphinx doc
+distutils_enable_tests pytest
+
+reqcheck() {
+ if use test && use test-full; then
+ # During the tests, database size reaches 1.5G.
+ local CHECKREQS_DISK_BUILD=1536M
+
+ check-reqs_${1}
+ fi
+}
+
+pkg_pretend() {
+ reqcheck pkg_pretend
+}
+
+pkg_setup() {
+ reqcheck pkg_setup
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # we do not want hatch-requirements-txt and its ton of NIH deps
+ sed -i -e '/requirements/d' pyproject.toml || die
+}
+
+python_compile() {
+ # causes build errors to be fatal
+ local -x TOX_ENV_NAME=whatever
+ local DISTUTILS_ARGS=()
+ # unconditionally implicitly disabled on pypy3
+ if ! use native-extensions; then
+ export NO_EXT=1
+ else
+ export PYMONGO_C_EXT_MUST_BUILD=1
+ unset NO_EXT
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ rm -rf bson pymongo || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_DESELECT=(
+ # network-sandbox
+ test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
+ test/test_client.py::ClientUnitTest::test_detected_environment_logging
+ test/test_client.py::ClientUnitTest::test_detected_environment_warning
+ test/test_client.py::TestClient::test_service_name_from_kwargs
+ test/test_client.py::TestClient::test_srv_max_hosts_kwarg
+ test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
+ test/test_srv_polling.py
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
+
+ # broken regularly by changes in mypy
+ test/test_typing.py::TestMypyFails::test_mypy_failures
+
+ # fragile to timing? fails because we're getting too many logs
+ test/test_connection_logging.py::TestConnectionLoggingConnectionPoolOptions::test_maxConnecting_should_be_included_in_connection_pool_created_message_when_specified
+ )
+ local run_separately=(
+ # need to run some tests separately and then restart mongodb
+ # to prevent it from crashing
+ # https://bugs.gentoo.org/934389
+ # note that this list must not overlap with EPYTEST_DESELECT
+ test/test_bulk.py
+ test/test_change_stream.py
+ test/test_collection.py
+ test/test_crud_unified.py
+ test/test_gridfs.py
+ test/test_gridfs_bucket.py
+ test/test_gridfs_spec.py
+ )
+ local run_separately2=(
+ # sigh
+ test/test_command_monitoring.py
+ test/test_connection_monitoring.py
+ test/test_cursor.py
+ test/test_database.py
+ test/test_grid_file.py
+ test/test_monitoring.py
+ )
+
+ if ! use test-full; then
+ # .invalid is guaranteed to return NXDOMAIN per RFC 6761
+ local -x DB_IP=mongodb.invalid
+ epytest
+ return
+ fi
+
+ # Yes, we need TCP/IP for that...
+ local -x DB_IP=127.0.0.1
+ local -x DB_PORT=27000
+
+ local dbpath=${TMPDIR}/mongo.db
+ local logpath=${TMPDIR}/mongod.log
+
+ local stage failed=
+ for stage in 1 2 3; do
+ # Now, the hard part: we need to find a free port for mongod.
+ # We're just trying to run it random port numbers and check the log
+ # for bind errors. It shall be noted that 'mongod --fork' does not
+ # return failure when it fails to bind.
+
+ mkdir -p "${dbpath}" || die
+ while true; do
+ ebegin "Trying to start mongod on port ${DB_PORT}"
+
+ LC_ALL=C \
+ mongod --dbpath "${dbpath}" --nojournal \
+ --bind_ip ${DB_IP} --port ${DB_PORT} \
+ --unixSocketPrefix "${TMPDIR}" \
+ --logpath "${logpath}" --fork \
+ && sleep 2
+
+ # Now we need to check if the server actually started...
+ if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
+ # yay!
+ eend 0
+ break
+ elif grep -q 'Address already in use' "${logpath}"; then
+ # ay, someone took our port!
+ eend 1
+ : $(( DB_PORT += 1 ))
+ continue
+ else
+ eend 1
+ eerror "Unable to start mongod for tests. See the server log:"
+ eerror " ${logpath}"
+ die "Unable to start mongod for tests."
+ fi
+ done
+
+ case ${stage} in
+ 1)
+ nonfatal epytest "${run_separately[@]}" || failed=1
+ ;;
+ 2)
+ nonfatal epytest "${run_separately2[@]}" || failed=1
+ ;;
+ 3)
+ EPYTEST_DESELECT+=(
+ "${run_separately[@]}"
+ "${run_separately2[@]}"
+ )
+ nonfatal epytest || failed=1
+ ;;
+ esac
+
+ mongod --dbpath "${dbpath}" --shutdown || die
+ done
+
+ [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
+
+ rm -rf "${dbpath}" || die
+}
diff --git a/dev-python/pytest-import-check/Manifest b/dev-python/pytest-import-check/Manifest
index 474e5f6fe7f0..19d91bc2b2b8 100644
--- a/dev-python/pytest-import-check/Manifest
+++ b/dev-python/pytest-import-check/Manifest
@@ -1,2 +1,3 @@
DIST pytest_import_check-0.0.1.tar.gz 3019 BLAKE2B 7e34c3aa7b59b1c3af2eccd336cfa6e6b33ac596648c36c1fef647eb9d4f24e560b865fd8b58191f5ae94463f199f855c701f00d48912c73ee8474dfbc32d0b5 SHA512 e582af2017531318bd95acea7c96050a3f5f6373a4c1deeb7aa290e67a068bc46c398279a72dee5ef34c2585ccad75a7d9e74011335b845e86bcb1e9a1adaa2b
DIST pytest_import_check-0.0.2.tar.gz 16309 BLAKE2B 94e6f9d316194f6765a38ddc97ecb4a9df7d4413077e0f9a1d638b0535920e4d379f2cc538f102176e10cdd54b4b535531e0e9bf02c42c7c085b02a82c3f1a56 SHA512 fd2a5e0bb55d2cb0a3e8d0c6281f05996a4213ffa554636e02660882281af5aa43d759b801853b272b9b572b4c7de6c3c659861f4c4b780907eb8b0e6ec802e1
+DIST pytest_import_check-0.0.3.tar.gz 16993 BLAKE2B c0d9ccff18f46b4331ba455fec3e4353084769be631f81e56bf8f0fce374cbc3b9e5ef16e3527f7d39e2b6f46ea7e26b88ffd4197487575b14ee607f94389045 SHA512 4618bc4f5988480f712d0a5dcf7dc2743520a454e5b32beb225f04afeb70235a65bfc27c5a30dbdf248429b844a64edd4a0af805eaa720ba5658aa7dccf8fbb4
diff --git a/dev-python/pytest-import-check/pytest-import-check-0.0.3.ebuild b/dev-python/pytest-import-check/pytest-import-check-0.0.3.ebuild
new file mode 100644
index 000000000000..2215dac828c5
--- /dev/null
+++ b/dev-python/pytest-import-check/pytest-import-check-0.0.3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin to check whether Python modules can be imported"
+HOMEPAGE="
+ https://github.com/projg2/pytest-import-check/
+ https://pypi.org/project/pytest-import-check/
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-8.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_import_check.plugin
+ epytest
+}
diff --git a/dev-python/python-systemd/python-systemd-235.ebuild b/dev-python/python-systemd/python-systemd-235.ebuild
index 7eaf3e5600aa..e31677766e97 100644
--- a/dev-python/python-systemd/python-systemd-235.ebuild
+++ b/dev-python/python-systemd/python-systemd-235.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2015-2023 Gentoo Authors
+# Copyright 2015-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/sabctools/Manifest b/dev-python/sabctools/Manifest
index c7b9575cecd8..3683e8b7a95c 100644
--- a/dev-python/sabctools/Manifest
+++ b/dev-python/sabctools/Manifest
@@ -1,2 +1,3 @@
DIST sabctools-8.1.0.gh.tar.gz 8963885 BLAKE2B 36d6bbc34f636ac4e892f941eb6e583166ee1f5f740440b3f07faacddf7715d8b4c642a4e6252ece1bdef69017be3d04ce5d6c8e36479bb176e4cd0635f1567d SHA512 862c39f2e386622b528f120a431f214e1e2e92b7c5a751e47d0768f40ce06ad2736d867f7ac2e1810d676e980312bbfedd29951cbadeddefe75246cdcf53fcc6
DIST sabctools-8.2.3.gh.tar.gz 8974172 BLAKE2B 15b15cb1a5b7e923cc43e5e619e02f09d34f69d05d692b11bf3de8b12a1f33efcf6cf8cd8b251c646f1e2be7e2941c755e2e30a205b9e066d280038b287b262d SHA512 7bf1b0e9f55d9f6384166cca911c0d1dd79b3d4d1c33effe295fe4e053394a674a36548e5241a86817ce109a1165e0814954550436f5381daddfc8c1a7c188e5
+DIST sabctools-8.2.4.gh.tar.gz 8974209 BLAKE2B ddea09ec8a0a4b34779f1e8fe5fc4712ce7dd311ded308c77fb7925b8236e740bb8c345998f7e8e92837c7c19e9c4bbaf0bd0c2ac2b967cf98aa660105814d59 SHA512 2e79a7b854be51b04a91fffb3401a4bd2e7c6d74d1815d1228a9fca97b79c599463a062386f85555ba6ce9a3e8130a1615a3c576fe5411b7dff48c37eaf6b34b
diff --git a/dev-python/sabctools/sabctools-8.2.4.ebuild b/dev-python/sabctools/sabctools-8.2.4.ebuild
new file mode 100644
index 000000000000..ceda76ecedef
--- /dev/null
+++ b/dev-python/sabctools/sabctools-8.2.4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+MY_PN="sabctools"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Module providing raw yEnc encoding/decoding for SABnzbd"
+HOMEPAGE="
+ https://github.com/sabnzbd/sabctools/
+ https://pypi.org/project/sabctools/
+"
+SRC_URI="
+ https://github.com/sabnzbd/${MY_PN}/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/portend[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( README.md doc/yenc-draft.1.3.txt )
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinx/Manifest b/dev-python/sphinx/Manifest
index e5e08475bae2..f004ecdc679f 100644
--- a/dev-python/sphinx/Manifest
+++ b/dev-python/sphinx/Manifest
@@ -2,3 +2,4 @@ DIST sphinx-7.2.6.gh.tar.gz 7067425 BLAKE2B 4da1cb5ccebea4df0dc134c552311d7b70ce
DIST sphinx-7.3.7.gh.tar.gz 7165383 BLAKE2B bcc68f26937e6aefe60cedea533a5c8e245c76b59ab4913fb6516f285e3afc32be60b336c662ac8305fb88e82fcc2b477128f2d8b9bf92f037b124f4c855df2a SHA512 540553ecddc55b3e673c79bc776a899d2c660f1e93ef819711be52174accf5b70465883a46bed81d163534e56718caf0765b4bae153e9307a3792387d8228df5
DIST sphinx-7.4.0.gh.tar.gz 8186356 BLAKE2B 968d2bc887c6326c44c741cfdfeb67bb303c718d4283d8149b1ab7bafa84ef7f3ef5ff3fd72b82a207846e91bda3fff72ed6c8953c1bcf8482bc79b992f636f3 SHA512 fea84f86e414bba741537f4db68a1f0e0922f8fe6eea5e0eefac4a76bfb30d5eb97eb5590404c7e427b03c57b589844ebba8ef5f3f6d786ca91bb2dbbc704d8f
DIST sphinx-7.4.4.gh.tar.gz 8184232 BLAKE2B cf75b1dc39d194293845a621c12246fd78249541634dc5edee6ed6da15285ab763223729a63ef2c375215a394c12e189333d248b7f047195b66d8e7c6706ed18 SHA512 4f2ef5f0c4270517a12b9dc169903ece7ec809687c14961522c37a5ea829d1624ee45926a5fe48fefce77ac73b5dc4035e2452b2b6c4bbdf14c06e9201596f66
+DIST sphinx-7.4.5.gh.tar.gz 8187162 BLAKE2B 95aa15db43abfb9671c3d7a3094525afb4f3a56eda6ef6c81a2e669b3d6512ff8a5e7c0c6f29614abe06316fbea1fef34f8b6884ed04c1e060e043f04950748c SHA512 649d8776561fe0fc3452302cafe01cca66680db19ab5283d34656023ab78f9803d3cd33156aeb00c8d5d205f78afbc75d0d676a44ace52a86e51200afd14fb3a
diff --git a/dev-python/sphinx/sphinx-7.4.5.ebuild b/dev-python/sphinx/sphinx-7.4.5.ebuild
new file mode 100644
index 000000000000..ae5dfe3be3ca
--- /dev/null
+++ b/dev-python/sphinx/sphinx-7.4.5.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python documentation generator"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinx/
+ https://pypi.org/project/Sphinx/
+"
+SRC_URI="
+ https://github.com/sphinx-doc/sphinx/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc latex"
+
+RDEPEND="
+ >=dev-python/alabaster-0.7.14[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.13[${PYTHON_USEDEP}]
+ <dev-python/docutils-0.22[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.20[${PYTHON_USEDEP}]
+ >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.30.0[${PYTHON_USEDEP}]
+ >=dev-python/snowballstemmer-2.2[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-applehelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-devhelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-jsmath[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-htmlhelp-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-serializinghtml-1.1.9[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2[${PYTHON_USEDEP}]
+ ' 3.10)
+ latex? (
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ app-text/dvipng
+ )
+"
+BDEPEND="
+ doc? (
+ dev-python/sphinxcontrib-websupport[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+ )
+ test? (
+ app-text/dvipng
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.0[${PYTHON_USEDEP}]
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ virtual/imagemagick-tools[jpeg,png,svg]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/sphinx-3.2.1-doc-link.patch"
+ #"${FILESDIR}/sphinx-4.3.2-doc-link.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # disable internet access
+ sed -i -e 's:^intersphinx_mapping:disabled_&:' \
+ doc/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # we can't use distutils_enable_sphinx because it would
+ # introduce a dep on itself
+ use doc && build_sphinx doc
+}
+
+python_test() {
+ mkdir -p "${BUILD_DIR}/sphinx_tempdir" || die
+ local -x SPHINX_TEST_TEMPDIR="${BUILD_DIR}/sphinx_tempdir"
+
+ local EPYTEST_DESELECT=(
+ # less interesting failures
+ tests/test_builders/test_build_latex.py::test_build_latex_doc
+ tests/test_extensions/test_ext_math.py::test_imgmath_png
+ tests/test_extensions/test_ext_math.py::test_imgmath_numfig_html
+ )
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_special_members
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_type_aliases
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_format_fully_qualified
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_none
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_signature
+ )
+ ;;
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_exception
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_ignore_module_all
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_inherited_members_None
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_subclass_of_builtin_class
+ tests/test_extensions/test_ext_autodoc.py::test_automethod_for_builtin
+ tests/test_extensions/test_ext_autodoc.py::test_cython
+ tests/test_extensions/test_ext_autodoc.py::test_format_signature
+ tests/test_extensions/test_ext_autodoc.py::test_partialfunction
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_builtin_function
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_methoddescriptor
+ tests/test_extensions/test_ext_autodoc_automodule.py::test_automodule_inherited_members
+ tests/test_extensions/test_ext_autodoc_preserve_defaults.py::test_preserve_defaults_special_constructs
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
+ tests/test_util/test_util_inspect.py::test_isattributedescriptor
+ tests/test_util/test_util_inspect.py::test_signature
+ tests/test_util/test_util_typing.py::test_is_invalid_builtin_class
+ )
+ ;;
+ esac
+
+ # note: pytest-xdist causes random test failures
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/stone/Manifest b/dev-python/stone/Manifest
index 7c1b0983e9e4..fdc3dd636fb6 100644
--- a/dev-python/stone/Manifest
+++ b/dev-python/stone/Manifest
@@ -1 +1 @@
-DIST stone-3.3.6.gh.tar.gz 281082 BLAKE2B 5c2d19e98ad6f14b63a63e54a993820e8d31004d2e7fefcba4498c5315e3ec83548565cc575523e95801806add4185f0c14dc08c75d76cf4b44ba41e7e853463 SHA512 9a136f6b532390e7cc35880ebbc49a341b6730ebd9c27a2d1ea6d6bef62e09f79ac7bb41e66f26fec5debee4145ebb27b23a06c1087b3fd2dacde025c3710b7a
+DIST stone-3.3.7.gh.tar.gz 281067 BLAKE2B abf1fd71ffb879417c74c072d28d45ccbee75459fa7b2d8b08501d0f59a40064a7114280c6d98a13d3d942b0b27cd6e46baf573a078ebfd939e04638e5fdf8ee SHA512 7dd9ad889c094afe540b30d23bac28443761c149e131234c81cc19821dbebe449002b9a50d03c927d08bad414adac17c83a22e1c5bbbb6358a5f009bc4f9665d
diff --git a/dev-python/stone/stone-3.3.6.ebuild b/dev-python/stone/stone-3.3.7.ebuild
index 95e2fda3beea..1a5726b3d709 100644
--- a/dev-python/stone/stone-3.3.6.ebuild
+++ b/dev-python/stone/stone-3.3.7.ebuild
@@ -21,15 +21,9 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
- >=dev-python/ply-3.4[${PYTHON_USEDEP}]
- >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/ply[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest
-
-python_prepare_all() {
- # Don't run tests via setup.py pytest
- sed -i -e "/'pytest-runner .*',/d" setup.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/textdistance/Manifest b/dev-python/textdistance/Manifest
index 49bb4897b572..f480ccbdbe2a 100644
--- a/dev-python/textdistance/Manifest
+++ b/dev-python/textdistance/Manifest
@@ -1 +1,2 @@
DIST textdistance-4.6.2.gh.tar.gz 46619 BLAKE2B 0a205bd5615f252f4ab832597b26cd81f3a817fa9544675b947b2ba8a9d8c128ad261a09fb1ee118e0ca807ff7721f3594de5da11f5df59c90c2d9b7110b84ff SHA512 4e5ec7ef76cfd45b05f5813d624d934a6aa90c326b8bc1af50fdde51c4fda141d5aa826e7a145f4cf59f7d7cbcdcf775746eeb197a2adef3c62ad8570d699890
+DIST textdistance-4.6.3.gh.tar.gz 46631 BLAKE2B 9d4c2172934ba14326fe8ecdf7e955cd664196e58d8cc0c58f712525e6ea3aaa267879c09ba5a67ab015f6abd37593af959f02262c5a4a2fa08a859fe38a52b4 SHA512 ad9b8e031a8ae11dd2cd0f8ee8ee42f15e14eccc05910a45b4b5bf2f2048c4895da354832f88957502998b423616a54e64b94a093e4ddb7be2744c19e7f283e9
diff --git a/dev-python/textdistance/textdistance-4.6.3.ebuild b/dev-python/textdistance/textdistance-4.6.3.ebuild
new file mode 100644
index 000000000000..a6a7e1731eb5
--- /dev/null
+++ b/dev-python/textdistance/textdistance-4.6.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Compute distance between the two texts"
+HOMEPAGE="
+ https://github.com/life4/textdistance/
+ https://pypi.org/project/textdistance/
+"
+SRC_URI="
+ https://github.com/life4/textdistance/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ tests/test_external.py
+)