summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-11-21 22:33:16 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-11-21 22:33:16 +0000
commitb80b8590e3bc6cf04dcc42e623fa24893b9e54ce (patch)
tree78bf83e9d03a76b5ee0914151adcd25b8947dadf /dev-python
parentd478bdc497dbc2bdd0a2319d3a1e53e5d62b1323 (diff)
downloadbaldeagleos-repo-b80b8590e3bc6cf04dcc42e623fa24893b9e54ce.tar.gz
baldeagleos-repo-b80b8590e3bc6cf04dcc42e623fa24893b9e54ce.tar.xz
baldeagleos-repo-b80b8590e3bc6cf04dcc42e623fa24893b9e54ce.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/PyQt5-stubs/PyQt5-stubs-5.15.2.0.ebuild2
-rw-r--r--dev-python/boltons/boltons-23.1.1.ebuild2
-rw-r--r--dev-python/cattrs/Manifest1
-rw-r--r--dev-python/cattrs/cattrs-23.2.2.ebuild69
-rw-r--r--dev-python/ensurepip-setuptools/Manifest1
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.1.ebuild24
-rw-r--r--dev-python/exceptiongroup/Manifest1
-rw-r--r--dev-python/exceptiongroup/exceptiongroup-1.2.0.ebuild36
-rw-r--r--dev-python/expandvars/Manifest1
-rw-r--r--dev-python/expandvars/expandvars-0.11.0.ebuild41
-rw-r--r--dev-python/expandvars/metadata.xml10
-rw-r--r--dev-python/fonttools/fonttools-4.45.0.ebuild6
-rw-r--r--dev-python/ipykernel/Manifest1
-rw-r--r--dev-python/ipykernel/ipykernel-6.27.0.ebuild78
-rw-r--r--dev-python/jupyter-console/jupyter-console-6.6.3.ebuild2
-rw-r--r--dev-python/jupyter-server/Manifest1
-rw-r--r--dev-python/jupyter-server/jupyter-server-2.11.0.ebuild75
-rw-r--r--dev-python/matplotlib/matplotlib-3.8.2.ebuild23
-rw-r--r--dev-python/mkdocstrings-python/Manifest1
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.7.5.ebuild40
-rw-r--r--dev-python/nbdime/Manifest1
-rw-r--r--dev-python/nbdime/nbdime-4.0.1.ebuild58
-rw-r--r--dev-python/pastedeploy/Manifest1
-rw-r--r--dev-python/pastedeploy/pastedeploy-3.1.ebuild41
-rw-r--r--dev-python/pygal/Manifest1
-rw-r--r--dev-python/pygal/pygal-3.0.4.ebuild51
-rw-r--r--dev-python/pygit2/Manifest1
-rw-r--r--dev-python/pygit2/pygit2-1.13.3.ebuild45
-rw-r--r--dev-python/pyglet/pyglet-2.0.10.ebuild18
-rw-r--r--dev-python/pypy3_10-exe-bin/Manifest8
-rw-r--r--dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.13_p2.ebuild82
-rw-r--r--dev-python/pypy3_10-exe/Manifest1
-rw-r--r--dev-python/pypy3_10-exe/pypy3_10-exe-7.3.13_p2.ebuild127
-rw-r--r--dev-python/pytest-xdist/Manifest1
-rw-r--r--dev-python/pytest-xdist/pytest-xdist-3.5.0.ebuild44
-rw-r--r--dev-python/sentry-sdk/Manifest1
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.36.0.ebuild131
-rw-r--r--dev-python/setuptools/Manifest1
-rw-r--r--dev-python/setuptools/setuptools-69.0.1.ebuild126
-rw-r--r--dev-python/sexpdata/files/sexpdata-1.0.1-setup.patch16
-rw-r--r--dev-python/sexpdata/sexpdata-1.0.1.ebuild2
-rw-r--r--dev-python/symengine/symengine-0.11.0.ebuild2
-rw-r--r--dev-python/sympy/sympy-1.12.ebuild15
-rw-r--r--dev-python/yarl/Manifest1
-rw-r--r--dev-python/yarl/yarl-1.9.3.ebuild37
45 files changed, 1204 insertions, 23 deletions
diff --git a/dev-python/PyQt5-stubs/PyQt5-stubs-5.15.2.0.ebuild b/dev-python/PyQt5-stubs/PyQt5-stubs-5.15.2.0.ebuild
index 6b294ada5630..951a9e5dbcf1 100644
--- a/dev-python/PyQt5-stubs/PyQt5-stubs-5.15.2.0.ebuild
+++ b/dev-python/PyQt5-stubs/PyQt5-stubs-5.15.2.0.ebuild
@@ -24,7 +24,7 @@ KEYWORDS="~amd64"
DEPEND="test? (
dev-python/mypy[${PYTHON_USEDEP}]
- dev-python/PyQt5[${PYTHON_USEDEP}]
+ dev-python/PyQt5[${PYTHON_USEDEP},widgets]
)
"
diff --git a/dev-python/boltons/boltons-23.1.1.ebuild b/dev-python/boltons/boltons-23.1.1.ebuild
index 0748200e4275..521cf04c2bdc 100644
--- a/dev-python/boltons/boltons-23.1.1.ebuild
+++ b/dev-python/boltons/boltons-23.1.1.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://boltons.readthedocs.io/"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
distutils_enable_tests pytest
diff --git a/dev-python/cattrs/Manifest b/dev-python/cattrs/Manifest
index b6f764ced0a8..a5284fbefd33 100644
--- a/dev-python/cattrs/Manifest
+++ b/dev-python/cattrs/Manifest
@@ -1,2 +1,3 @@
DIST cattrs-23.1.2.gh.tar.gz 602336 BLAKE2B f39ff3c1525ea14789edd137d82343a9447de0a41f65a71ee85754a15f8fdc929137125043b23c6cd088c8b2d2e9da18577c3b6dbbb6e9a33bdf6789f117bc46 SHA512 d05c8a5d4c5dc0b69ccdf33164d44c35a37a871199a35d1c2c25f9fbd8ee53d48da8e9d9bec49cde2baf901b524d5e8ff1ade175928908ea81f94e8398224488
DIST cattrs-23.2.1.gh.tar.gz 611553 BLAKE2B f0d1c34838c5b869242411d393f2e395b45a84afb302d2df87ab0a51c537fc0057ee9def2b47313e8134635ffb616045f606070a0260ea4814a2cf227539132d SHA512 2b733dc6123cb26ab6d33b1d445ecbddea98a1a76a02acb15231deee2273933bc726da387419fd6143b44e97729d4fd1746eebadd2309e2440bfc5c153f7079b
+DIST cattrs-23.2.2.gh.tar.gz 611668 BLAKE2B b7abcffa8c6f62deed70b3fc3850913054a54382c07384d5635984eb1ceaf456c7d8aa45a6baaf3189ca57477eeea9990a60381045b3e1711969dff7f56d0be4 SHA512 d969f3d4b9e9d25a940ab1a48f1a8b2de306cc9180f88f403537d78757f50486d522f40e97f1bccbb60839f3d503dfdbd6ad3379e99bd5c5d66306fe36447341
diff --git a/dev-python/cattrs/cattrs-23.2.2.ebuild b/dev-python/cattrs/cattrs-23.2.2.ebuild
new file mode 100644
index 000000000000..e2be26b5db3e
--- /dev/null
+++ b/dev-python/cattrs/cattrs-23.2.2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Composable complex class support for attrs and dataclasses"
+HOMEPAGE="
+ https://pypi.org/project/cattrs/
+ https://github.com/python-attrs/cattrs/
+"
+SRC_URI="
+ https://github.com/python-attrs/cattrs/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.54.5[${PYTHON_USEDEP}]
+ >=dev-python/immutables-0.18[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.11.4[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.4.0[${PYTHON_USEDEP}]
+ test-rust? (
+ $(python_gen_cond_dep '
+ >=dev-python/orjson-3.5.2[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_preconf.py::test_orjson
+ tests/test_preconf.py::test_orjson_converter
+ tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= tests
+}
diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
index 381980d0266c..cdbe78880aa3 100644
--- a/dev-python/ensurepip-setuptools/Manifest
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -1,2 +1,3 @@
DIST setuptools-68.2.2-py3-none-any.whl 807864 BLAKE2B 1ae4dab8a589c95281cac145c3e06b4027b585065a5191a9d6dd9c77730a096b592154863c555d8098c10425dfef315de3b79c6b631e8f6aacc0f234795f95fc SHA512 6e0d854040baff861e1647d2bece7d090bc793b2bd9819c56105b94090df54881a6a9b43ebd82578cd7c76d47181571b671e60672afd9def389d03c9dae84fcf
DIST setuptools-69.0.0-py3-none-any.whl 819391 BLAKE2B 69b296d3f91a9aa35b9f01a3a9a49625677a9fc292163fbeac7e97b9ac7b2ac1a592feaf5c638705a8a586498f32adef187f24ed8f122014431a3c96f5d1c3bb SHA512 e52aeabb115aa65340b94ac4cede3c21b6a07f770fc2f17a59cc876557ee29f82d9149055b9c729b328271983bf0089f1b8392b4a77c9452bec2a0ff13cf353f
+DIST setuptools-69.0.1-py3-none-any.whl 819395 BLAKE2B bc209ba01605de0075771f62dfd3b103cb11e937aa38cca35af8fd1e77aa87f488d3c5b2ec3800616db1997b731d617e376e7ec2967191d349816d26d37bc565 SHA512 d19c7cec1e8d18c6e151f7d67b7b26abf26ce9f5f4a2ebc82ab983ba3b5efae4a657020fff279f7cca56c1f8a3b4564f86eb161b68069994e8543568793776f5
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.1.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.1.ebuild
new file mode 100644
index 000000000000..8346a1bd0f6d
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/setuptools/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/exceptiongroup/Manifest b/dev-python/exceptiongroup/Manifest
index 2f8ad0e2a5f8..d4de9b1ae807 100644
--- a/dev-python/exceptiongroup/Manifest
+++ b/dev-python/exceptiongroup/Manifest
@@ -1 +1,2 @@
DIST exceptiongroup-1.1.3.gh.tar.gz 24057 BLAKE2B c178152b92ac4079bb10614918d80f1b772f1d2c02e82fdbc19fc576c434df5f92d731116b46145ef3c3a3e57b4b899f6be11e2452a13170d27072b6b2ad74b5 SHA512 fddc52abb6b61c024c5832f6d2ed723a834c31e2bc713a3c5796581e8edbd3299d9342885cfcb5ed83ad7f7fdbb7c461ffcec354c0328a740a40d5340997d1c8
+DIST exceptiongroup-1.2.0.gh.tar.gz 27368 BLAKE2B 93ac3872fe9f9f0eab80b9e667308a8f1d06541dbfa19dda5bcbd7d9c7d6963872294b7549d88a10e0574e9db1aaa7bd39748e1237ac86e1f83dbb2ef89686d0 SHA512 eeac523fd338099dea66c5b2f7fcc070612746487be244deba8a1c731c1f23db24763dd9e35c28dfb9460b49c645f380e6858f998f95b9244dfb82f5549f159b
diff --git a/dev-python/exceptiongroup/exceptiongroup-1.2.0.ebuild b/dev-python/exceptiongroup/exceptiongroup-1.2.0.ebuild
new file mode 100644
index 000000000000..6ae3358a8ba7
--- /dev/null
+++ b/dev-python/exceptiongroup/exceptiongroup-1.2.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit_scm
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${P/_}
+DESCRIPTION="Backport of PEP 654 (exception groups)"
+HOMEPAGE="
+ https://github.com/agronholm/exceptiongroup/
+ https://pypi.org/project/exceptiongroup/
+"
+# pypi sdist does not include tests as of 1.1.1
+# https://github.com/agronholm/exceptiongroup/pull/59
+SRC_URI="
+ https://github.com/agronholm/exceptiongroup/archive/${PV/_}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT PSF-2.4"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV/_}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/expandvars/Manifest b/dev-python/expandvars/Manifest
new file mode 100644
index 000000000000..daa32f23ac2c
--- /dev/null
+++ b/dev-python/expandvars/Manifest
@@ -0,0 +1 @@
+DIST expandvars-0.11.0.gh.tar.gz 10663 BLAKE2B cfbcb8bedc61cc8b1e88d4774784518e15846f7ea5ddbf58bd016ea2043dd5b1c9e55af117f6482e05e9ae4ba07e01d0fb471a72719f38191f1a29a9f66387a9 SHA512 e8de6544f2d369728e35c8b862662f348f46673f836f8b14dbdcfdc3dbcb7efda80deb55f8bcd597037ac974752e2463d429ddda3b8502fe19c402c253babf7f
diff --git a/dev-python/expandvars/expandvars-0.11.0.ebuild b/dev-python/expandvars/expandvars-0.11.0.ebuild
new file mode 100644
index 000000000000..1404bd7dcf8c
--- /dev/null
+++ b/dev-python/expandvars/expandvars-0.11.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Expand system variables Unix style"
+HOMEPAGE="
+ https://github.com/sayanarijit/expandvars/
+ https://pypi.org/project/expandvars/
+"
+SRC_URI="
+ https://github.com/sayanarijit/expandvars/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires toml, useless
+ tests/test_expandvars.py::test_version
+)
+
+src_prepare() {
+ # sigh
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["poetry-core"]
+ build-backend = "poetry.core.masonry.api"
+ EOF
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/expandvars/metadata.xml b/dev-python/expandvars/metadata.xml
new file mode 100644
index 000000000000..a0d4c5913ba0
--- /dev/null
+++ b/dev-python/expandvars/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/fonttools/fonttools-4.45.0.ebuild b/dev-python/fonttools/fonttools-4.45.0.ebuild
index 359187240e25..96b8ac2968ad 100644
--- a/dev-python/fonttools/fonttools-4.45.0.ebuild
+++ b/dev-python/fonttools/fonttools-4.45.0.ebuild
@@ -73,7 +73,11 @@ src_test() {
python_test() {
local EPYTEST_DESELECT=()
if [[ ${EPYTHON} == pypy3 ]] &&
- has_version "dev-python/pyxattr[${PYTHON_USEDEP}]"
+ has_version "dev-python/pyxattr[${PYTHON_USEDEP}]" &&
+ {
+ has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
+ has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
+ }
then
EPYTEST_DESELECT+=(
# affected by a bug in PyPy/pyxattr
diff --git a/dev-python/ipykernel/Manifest b/dev-python/ipykernel/Manifest
index 0230e452d8a4..3b61773cf485 100644
--- a/dev-python/ipykernel/Manifest
+++ b/dev-python/ipykernel/Manifest
@@ -1,2 +1,3 @@
DIST ipykernel-6.25.2.tar.gz 156247 BLAKE2B 796ed40dd5ef11dbe8a0bb330aafd1e51e40b1fa5a0b55bdb1a1aff4d89187b3c6b3831f3d44b131f5e8158d6035697f788877a8e682c4c0355da74825ee2200 SHA512 a6f5089cff8c297379ae840b49ad705d23db46aa04030c7a2598031d118b5c0dd64e091de4d66adfd876e8ef45abfcb6bc963c3311dd8e50f4e83236bfc4cfa3
DIST ipykernel-6.26.0.tar.gz 157526 BLAKE2B 8ba5cf820cf03d7735a4dbcb613925b9f9f83d949e065d61f546f3b8ded17accdfdcb4d72718fa644f2233f0397afe8f77437fed1d219710ecac6c9db523e08e SHA512 8199f59ac0147e3b21a07f28d64bf73311ccbf6b48b060979a520ac798a058496e659d08a7b41b1321b4be7092e09fe793d80fb061fc2706b46aa17e93e142f8
+DIST ipykernel-6.27.0.tar.gz 157721 BLAKE2B ea34d02f57f67d720fb744f8bd7fd9a191ec2c104aafca2741eb50b4a28519e609efc465e73dbd2aad5ce1c0e383ea33115f13171deee70825d734a42f38c852 SHA512 13c9c1c2083def67b3fa5e93b03d77a40b14d2505a07386554e03f896e9ca961c54ab6b7d51fbe05bd684f1acf651196a2b0f804ded23461eac5b6500b829c45
diff --git a/dev-python/ipykernel/ipykernel-6.27.0.ebuild b/dev-python/ipykernel/ipykernel-6.27.0.ebuild
new file mode 100644
index 000000000000..7ed231f3ccae
--- /dev/null
+++ b/dev-python/ipykernel/ipykernel-6.27.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="IPython Kernel for Jupyter"
+HOMEPAGE="
+ https://github.com/ipython/ipykernel/
+ https://pypi.org/project/ipykernel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
+ !elibc_Darwin? (
+ $(python_gen_cond_dep '
+ >=dev-python/debugpy-1.6.5[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-8[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.12[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-inline-0.1[${PYTHON_USEDEP}]
+ dev-python/nest-asyncio[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-20[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.4.0[${PYTHON_USEDEP}]
+"
+# RDEPEND seems specifically needed in BDEPEND, at least jupyter
+# bug #816486
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/ipyparallel[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ distutils-r1_python_compile
+ # Use python3 in kernel.json configuration, bug #784764
+ sed -i -e '/python3.[0-9]\+/s//python3/' \
+ "${BUILD_DIR}/install${EPREFIX}/usr/share/jupyter/kernels/python3/kernel.json" || die
+}
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_debugger.py::test_attach_debug
+ tests/test_debugger.py::test_breakpoint_in_cell_with_leading_empty_lines
+ tests/test_debugger.py::test_rich_inspect_at_breakpoint
+ tests/test_debugger.py::test_rich_inspect_not_at_breakpoint
+ tests/test_debugger.py::test_set_breakpoints
+ tests/test_debugger.py::test_stop_on_breakpoint
+ tests/test_debugger.py::test_copy_to_globals
+ # hangs?
+ tests/test_eventloop.py::test_tk_loop
+ # doesn't like pyside2?
+ tests/test_eventloop.py::test_qt_enable_gui
+ )
+
+ virtx distutils-r1_src_test
+}
diff --git a/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild b/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild
index e0a1e914eb5c..59f02e6fcdc3 100644
--- a/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild
+++ b/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/jupyter-server/Manifest b/dev-python/jupyter-server/Manifest
index fdac50d12ceb..cac96479f8c2 100644
--- a/dev-python/jupyter-server/Manifest
+++ b/dev-python/jupyter-server/Manifest
@@ -1,2 +1,3 @@
DIST jupyter_server-2.10.1.tar.gz 709933 BLAKE2B dd05748eb9e4a1af7adeb8a023c9e1336483f48d32e100f0e8dc8d80bf94afe1fb57343f168828a5856cfa0ccd0f4ffeaa6c0da50e6c98d5ed1f254a87878803 SHA512 15a65df22aa7908d3dd6d694306250e71ddc31b1e66969986ed59d9ed517c28ed474c530916b1de7eab25677f9cec29318798b0b7368c4b37ca92a1adbdfbc8d
+DIST jupyter_server-2.11.0.tar.gz 710596 BLAKE2B 61a4d4b23df22625ed0adb5c783e16ee6fe4ee46ffccfd74f0ddf4324056a18c001e4cd1369ee023357cceb6ac73fce6e1cec61d3b6bac7dae2b023806ac59f8 SHA512 fbcc6964ce31cf5285201a91d5a53157bd7feb9c405a8bc6abb64f4373478fbc59de9a8c1e69c27962f04426cd8ef31c2360c549eed4b90fe4d317a4104ed43b
DIST jupyter_server-2.9.1.tar.gz 709013 BLAKE2B dee0de771bb8488cccaecb49e2b4a2003f2530243013cafa7f170384380423a7c190504baabf458c59ffece28c4f60662c0530f55535dae25699be269f159743 SHA512 148c3eaa4b6ca1147961c1188e0016a634e5adae350e762903bdde000acde7ab62507e71dbe1278c2b9358ce2cf1c28c17ea8b184f3d4a2d59277910b5b44965
diff --git a/dev-python/jupyter-server/jupyter-server-2.11.0.ebuild b/dev-python/jupyter-server/jupyter-server-2.11.0.ebuild
new file mode 100644
index 000000000000..83db03a72059
--- /dev/null
+++ b/dev-python/jupyter-server/jupyter-server-2.11.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core services, APIs, and REST endpoints to Jupyter web applications"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter-server/jupyter_server/
+ https://pypi.org/project/jupyter-server/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/anyio-3.1.0[${PYTHON_USEDEP}]
+ dev-python/argon2-cffi[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-7.4.4[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-5.1.0[${PYTHON_USEDEP}]
+ dev-python/jupyter-server-terminals[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-events-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-6.4.4[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.3.0[${PYTHON_USEDEP}]
+ dev-python/overrides[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/prometheus-client[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24[${PYTHON_USEDEP}]
+ >=dev-python/send2trash-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/terminado-0.8.3[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.6.0[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]
+
+"
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
+ dev-python/pytest-jupyter[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # This fails if your terminal is zsh (and maybe other non-bash as well?)
+ tests/test_terminal.py
+ # Fails because above is ignored
+ tests/auth/test_authorizer.py
+ # Fails with additional extensions installed
+ tests/extension/test_app.py::test_stop_extension
+ )
+
+ # FIXME: tests seem to be affected by previously installed version
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest \
+ -p pytest_tornasync.plugin \
+ -p jupyter_server.pytest_plugin \
+ -p pytest_console_scripts \
+ -p pytest_timeout
+}
diff --git a/dev-python/matplotlib/matplotlib-3.8.2.ebuild b/dev-python/matplotlib/matplotlib-3.8.2.ebuild
index 51d560e53298..3cb192393873 100644
--- a/dev-python/matplotlib/matplotlib-3.8.2.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.8.2.ebuild
@@ -250,18 +250,9 @@ python_test() {
case ${EPYTHON} in
pypy3)
EPYTEST_DESELECT+=(
- # TypeError is raised when exception is raised in a starred
- # expression referencing a generator that uses "yield from"
- # and raises -- non-critical, since some exception is raised
- # after all
- # https://foss.heptapod.net/pypy/pypy/-/issues/4032
- tests/test_axes.py::test_bad_plot_args
- tests/test_axes.py::test_plot_errors
- tests/test_axes.py::test_plot_format_errors
# TODO: warning isn't passed through
tests/test_image.py::test_large_image
# TODO
- tests/test_legend.py::test_plot_multiple_label_incorrect_length_exception
tests/test_pickle.py::test_complete
tests/test_pickle.py::test_no_pyplot
tests/test_pickle.py::test_pickle_load_from_subprocess
@@ -272,6 +263,20 @@ python_test() {
tests/test_widgets.py::test_check_radio_buttons_image
tests/test_widgets.py::test_radio_buttons
)
+ if has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
+ has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
+ then
+ EPYTEST_DESELECT+=(
+ # TypeError is raised when exception is raised in a starred
+ # expression referencing a generator that uses "yield from"
+ # and raises -- non-critical, since some exception is raised
+ # after all
+ # https://foss.heptapod.net/pypy/pypy/-/issues/4032
+ tests/test_axes.py::test_bad_plot_args
+ tests/test_axes.py::test_plot_errors
+ tests/test_axes.py::test_plot_format_errors
+ )
+ fi
;;
python3.11)
EPYTEST_DESELECT+=(
diff --git a/dev-python/mkdocstrings-python/Manifest b/dev-python/mkdocstrings-python/Manifest
index 0c2621151711..4ae2d86e27d3 100644
--- a/dev-python/mkdocstrings-python/Manifest
+++ b/dev-python/mkdocstrings-python/Manifest
@@ -1,2 +1,3 @@
DIST mkdocstrings-python-1.7.3.gh.tar.gz 136488 BLAKE2B 470f7d69819222a9c1620f5a5ab57a9e884bc9cb1e4d536f35458c0f4c08c5442da1d31522665077ee848e2b241c7fa50ae3a73f5f570599fadb0ee9f2fcc2f8 SHA512 d5c5e9eeaa13a951cffe4fdc6f9a6bf6e3e3cb0615f7180db91446c6e8060c061682e5d717616d8dbf66009a650d363b25a4124b750f760e60bd1ffdca8e0164
DIST mkdocstrings-python-1.7.4.gh.tar.gz 139739 BLAKE2B 31e88172d745c165aa13b27078118e0a877f1bd70336d35d43ce57ec1ac5ca8b019a588491e2544b8413252a236d872c91af41b63996d8d6878975d45f3739a1 SHA512 a6445ae3e20117c73b3f3d1bc673fe6824790622931cf1fc0f1178456a9b331a514146e56c279cb046a6e50bb43da2f20abab93441359a183f06ffa794d8b1b2
+DIST mkdocstrings-python-1.7.5.gh.tar.gz 140386 BLAKE2B dec768e60ca09befe8f790bf211960222b45319cdbf00a97c072cb18b42ccfd71ac41079a7a0bdb9a94ff562181290d309a3e69f3cebc4f7b86e05553381d655 SHA512 6d595b777d4ff1661301fda7fa198bdafb7f62b356bdf5e579b808dda1f33a8f29e266be0bf51da52bc41cbbf3b0544a65750fc67d545b3dae7634798d0f3bf9
diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.7.5.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.7.5.ebuild
new file mode 100644
index 000000000000..e47ada28872d
--- /dev/null
+++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.7.5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+DISTUTILS_USE_PEP517=pdm-backend
+
+inherit distutils-r1
+
+DESCRIPTION="Python handler for dev-python/mkdocstrings"
+HOMEPAGE="
+ https://mkdocstrings.github.io/python/
+ https://github.com/mkdocstrings/python/
+ https://pypi.org/project/mkdocstrings-python/
+"
+# Tests need files absent from the PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/python/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/python-${PV}"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ >=dev-python/griffe-0.37[${PYTHON_USEDEP}]
+ dev-python/mkdocstrings[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/nbdime/Manifest b/dev-python/nbdime/Manifest
index 778acd0325ed..f08ddbc2ab60 100644
--- a/dev-python/nbdime/Manifest
+++ b/dev-python/nbdime/Manifest
@@ -1 +1,2 @@
DIST nbdime-3.2.1.tar.gz 7642926 BLAKE2B 245a2b0ca112574a9622855acc8db43595cd7f29f6fe2c1a1f70254984edb395817f65246613b5f41f513464fd37264f2c520237bf44570814bfa6131fdf22a8 SHA512 6ead97a88d587dab00df22d59adb2b80b7f81f47929a6be94b5e848a5c72f7420fac49e1a6a3b87138db75e6c1f46eef67a57a58d6e9d568b69f4e555bb7ed60
+DIST nbdime-4.0.1.tar.gz 9414125 BLAKE2B bf2581cec0f71ef8949c9cf19e21aa47302b6c71bbb9861e8c6f3a4b1921e9f73460ee5059e5bc92c7789d8f0695329125725c10e10763dd6e4d388bfaee53d1 SHA512 df14dfe9df296d71eb4a98140fe15703ca277063a153c3159cc883c99ce98b76f5f4dae24d32b048a18d2530e52535e3d89523d7a1c54a8654d2d54c8812ded3
diff --git a/dev-python/nbdime/nbdime-4.0.1.ebuild b/dev-python/nbdime/nbdime-4.0.1.ebuild
new file mode 100644
index 000000000000..70dd17594af4
--- /dev/null
+++ b/dev-python/nbdime/nbdime-4.0.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Diff and merge of Jupyter Notebooks"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/nbdime/
+ https://pypi.org/project/nbdime/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/GitPython[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/jupyter-server[${PYTHON_USEDEP}]
+ dev-python/jupyter-server-mathjax[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tornado[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/tabulate[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ dev-python/recommonmark \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+src_test() {
+ # user.email and user.name are not configured in the sandbox
+ git config --global user.email "larry@gentoo.org" || die
+ git config --global user.name "Larry the Cow" || die
+
+ distutils-r1_src_test
+}
+
+src_install() {
+ distutils-r1_src_install
+ mv "${ED}"{/usr,}/etc || die
+}
diff --git a/dev-python/pastedeploy/Manifest b/dev-python/pastedeploy/Manifest
index 13af0bc6a3ef..25f7adf17e69 100644
--- a/dev-python/pastedeploy/Manifest
+++ b/dev-python/pastedeploy/Manifest
@@ -1 +1,2 @@
DIST pastedeploy-3.0.1.gh.tar.gz 33420 BLAKE2B d96e9429852ce2f6b82aac834c3a1da069f02d542f7379935e42a9e663cdee807230bbede3acc03fb5cccc3b4462d3f3afaa84eec09225bbaffe6ece4534f3fe SHA512 2b06351b9104da1e0d30c90492ee31113aacf5cde7a66a34482c4625af902b855eab2af80073db4eb18805a192f858dac360062dadf58a161cc3cfabf5b67a1a
+DIST pastedeploy-3.1.gh.tar.gz 33634 BLAKE2B 11087275f0c0f73b44ecc4bdcd6c284534d81056ce2dc898b8a891261b2ec71502679a688e2183adc4572089846d2c06fe5b48648f78ea6667f29e142b656656 SHA512 da13c8181d1f003bf61f954655a1876f49253954c320c6a2db0ca2b92acf057e48dff97376da2f9dce6181e5349ffa2d8cddbf71d3360d6c0fa8d5dedbbb2ae3
diff --git a/dev-python/pastedeploy/pastedeploy-3.1.ebuild b/dev-python/pastedeploy/pastedeploy-3.1.ebuild
new file mode 100644
index 000000000000..7aca8fbc54d4
--- /dev/null
+++ b/dev-python/pastedeploy/pastedeploy-3.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+MY_PN="PasteDeploy"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="Load, configure, and compose WSGI applications and servers"
+HOMEPAGE="
+ https://github.com/Pylons/pastedeploy/
+ https://pypi.org/project/PasteDeploy/
+"
+SRC_URI="
+ https://github.com/Pylons/pastedeploy/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+RDEPEND="
+ !dev-python/namespace-paste
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e 's:--cov::' pytest.ini || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
diff --git a/dev-python/pygal/Manifest b/dev-python/pygal/Manifest
index 576ee1221c43..66fac461d99f 100644
--- a/dev-python/pygal/Manifest
+++ b/dev-python/pygal/Manifest
@@ -1,2 +1,3 @@
DIST pygal-3.0.0.gh.tar.gz 3575455 BLAKE2B 9b64cf441aeb25b0a0b9834f07e5892fe163f28a5da796d37083f8f3a10d8737a69bad39e503d722e6a36f2de4367b4fd2bdc3a06c5bc30bce66a370690d9c88 SHA512 71ac9f197d711c8cf5bb47caef128754f81b1cb0ba98c4cc67de78b68fca5d40baae9fbb5c978f6abaed4c73b8edfea2de07de2fda1aa7c15e0d81387518cc49
DIST pygal-3.0.3.gh.tar.gz 3575707 BLAKE2B 32dfb09f7dc5f97c758ff516a131da7ab82afb58028d710017af01220dbee57579cadc56e4b9ae207d71ad7d71d05dd14bd876c563f61f18263a0c2a839c0183 SHA512 052852552e0f07194acc832a953cc69131f2640216c22d5f7e5860b98ad80f24a5532a58b52903fedfcdb6e48331e4c8c02be54e90468476ca3f720be8845985
+DIST pygal-3.0.4.gh.tar.gz 3575681 BLAKE2B 1d7b487d17e754323a54a8840f15f722186d4a782883a65f75886e4cd063e20bf0239ef1f1a3ed619f42a83a3fff21ecf9f3613564b716a2765604d64ca0f98c SHA512 5e7e4e7eb5d4a8ccd08fc90ae68bcb7c24f6c1fa36cbe64130f2eda03ff2d3f1caab853691d0e67a02de6b4f64a530f3c5c6ae69815d248819c44923b634e8dd
diff --git a/dev-python/pygal/pygal-3.0.4.ebuild b/dev-python/pygal/pygal-3.0.4.ebuild
new file mode 100644
index 000000000000..2d5afdff7f49
--- /dev/null
+++ b/dev-python/pygal/pygal-3.0.4.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="A python SVG charts generator"
+HOMEPAGE="
+ https://github.com/Kozea/pygal/
+ https://pypi.org/project/pygal/
+"
+SRC_URI="
+ https://github.com/Kozea/pygal/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pyquery[${PYTHON_USEDEP}]
+ media-gfx/cairosvg[${PYTHON_USEDEP}]
+ )
+"
+
+# CHANGELOG is a symlink to docs/changelog.rst
+DOCS=( docs/changelog.rst README.md )
+
+distutils_enable_sphinx docs
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Not actually required unless we want to do setup.py test
+ # https://github.com/Kozea/pygal/issues/430
+ sed -i -e "/setup_requires/d" setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+pkg_postinst() {
+ optfeature "improving rendering speed" "dev-python/lxml"
+ optfeature "png rendering" "dev-python/cairosvg"
+}
diff --git a/dev-python/pygit2/Manifest b/dev-python/pygit2/Manifest
index b7f91541e936..1ea9cffe179d 100644
--- a/dev-python/pygit2/Manifest
+++ b/dev-python/pygit2/Manifest
@@ -1,3 +1,4 @@
DIST pygit2-1.12.2.tar.gz 738453 BLAKE2B 805472147021296b28f0d47f97e5b42355e2f8eb418cc48134a8c2a0c606e04bdf6ee9ddd5586949652b36d921631aaa16fb739d8491db01196c7ecb26f2ea13 SHA512 adf82f385b0cb8e239113171e7e4d75d4902828b18a04f2624c6931f7d11648ae0503d615ef5d89ddc477b94c5ac48354be223e2bde7d4c111a957e114b6a28d
DIST pygit2-1.13.1.tar.gz 739041 BLAKE2B 37997247edcc8b4268ea8e0347be4673ccd1e12e0cf1c1be37849560f91335c39998d7c42b0fc9ca40c9b5cbf315154ee13a5e9453d266ebce1a6f6ebb80fed6 SHA512 632d60c1d0602b264504b0e99458c93f0f3699b5ebff34b70ea9381a4472fd938db426c04b6ec0b8b3e5c85aaede440ed28dda232b55954813fce099df6d94e8
DIST pygit2-1.13.2.tar.gz 739956 BLAKE2B b63e0aad30eca81cb268d28d400d637d2152be4b7400c25f8ca228edd58140493456425bbb70fbba2ed3d807672a1ca155d60e11c41c76fc9c21d1a4dce3e880 SHA512 db6a5bbda6b3ca0bc2361e37782f7d1bf19bf8c79d6229776d1cd8b78691ddfeaf462b8fec0604babc052a8829c4f2b0e4c66432f73bebf11b6301011ab94bd8
+DIST pygit2-1.13.3.tar.gz 752098 BLAKE2B 474c7e4cf92ec81c128fec1ff6222aa524a8dbf291c7ad350a1f150536442a518dbcf6c5ed2af2902265bcb04f34effb258c30e983bf52d1a93d477da4fce00c SHA512 def3d7b4df43ef231c488720a47cef91ad1e9a0568745869cec63f8a2ccfa7ad0be4c40b1cab973ef34e493d9451b33071aa64dc7fb8a8013fcdd1c6f6a45ef1
diff --git a/dev-python/pygit2/pygit2-1.13.3.ebuild b/dev-python/pygit2/pygit2-1.13.3.ebuild
new file mode 100644
index 000000000000..c701a5d662f9
--- /dev/null
+++ b/dev-python/pygit2/pygit2-1.13.3.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for libgit2"
+HOMEPAGE="
+ https://github.com/libgit2/pygit2/
+ https://pypi.org/project/pygit2/
+"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+DEPEND="
+ =dev-libs/libgit2-1.7*:=
+"
+BDEPEND="
+ >=dev-python/cffi-1.16.0:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ ${BDEPEND}
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unconditionally prevent it from using network
+ sed -i -e '/has_network/s:True:False:' test/utils.py || die
+}
+
+src_test() {
+ rm -r pygit2 || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/pyglet/pyglet-2.0.10.ebuild b/dev-python/pyglet/pyglet-2.0.10.ebuild
index 9e2777be329d..aaea64b2afdc 100644
--- a/dev-python/pyglet/pyglet-2.0.10.ebuild
+++ b/dev-python/pyglet/pyglet-2.0.10.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
inherit distutils-r1 virtualx xdg-utils
@@ -62,13 +62,15 @@ python_test() {
tests/unit/media/test_player.py::PlayerTestCase::test_pause_resume
tests/unit/test_clock_freq.py::test_elapsed_time_between_tick
)
- if [[ ${EPYTHON} == python3.11 ]]; then
- EPYTEST_DESELECT+=(
- # broken test
- # https://github.com/pyglet/pyglet/issues/606
- tests/unit/test_events.py::test_push_handlers_instance
- )
- fi
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # https://github.com/pyglet/pyglet/issues/1000
+ tests/unit/test_events.py::test_weakref_to_instance{,_method}
+ tests/unit/test_events.py::test_weakref_deleted_when_instance_is_deleted
+ )
+ ;;
+ esac
# Specify path to avoid running interactive tests
# We could add in integration tests, but they're slow
diff --git a/dev-python/pypy3_10-exe-bin/Manifest b/dev-python/pypy3_10-exe-bin/Manifest
index 1b770e57da5f..d59e8689cafd 100644
--- a/dev-python/pypy3_10-exe-bin/Manifest
+++ b/dev-python/pypy3_10-exe-bin/Manifest
@@ -6,3 +6,11 @@ DIST pypy3_10-exe-7.3.13-1.ppc64le-musl.gpkg.tar 6512640 BLAKE2B 9611d47f890ccd2
DIST pypy3_10-exe-7.3.13-1.ppc64le.gpkg.tar 10219520 BLAKE2B 95ccc9bf239e77e6cd8821ba45fa1df36f4986b8b9dbe5b3291173a5a1c421eb57c9b7070b63be494e054c76ed233cd87f163a21368b404a853375d14404efa5 SHA512 0f43fe01ce92ee6d714067fe60035e3f9595f18b695004e7a0ad7ef82af9bfb46c96978b45eb5e85424b0c700a2d3672dfd8c63215dc98acf7471f0c174f4898
DIST pypy3_10-exe-7.3.13-1.x86-musl.gpkg.tar 8744960 BLAKE2B 362a7b6d3ed33623bb3adb94e62498b8c8794cef1354a3fd5579b2e647a8a74f38b44d470598d06a1a2645fee7b70a711f50f8c5e7648eae7e3a97b105fed632 SHA512 8f0109ed58a1344f44cb94aa360b2be82bff885a3fb1984c816d12069d9517e6a49c675d7eeb36d8f6c6869db13d4ec002a12795e72977e296122bf62f21f53f
DIST pypy3_10-exe-7.3.13-1.x86.gpkg.tar 8796160 BLAKE2B 9a838af1cd63249a55cc7f0849ddd783bd425d4c3a253583b590162ba1dccc5a8811222fb45121999a08a0935f9d61142efb6bbbf71a30e574f21a7b2e1e51b7 SHA512 3d67657e5ba8628ea6049bf74d5da29b32690e997993c37c7bd1166d6460bea8153c52bfea25066a38e7fe97b4612d64fd98b70c3b958a3862603299719bcbda
+DIST pypy3_10-exe-7.3.13_p2-1.amd64-musl.gpkg.tar 11888640 BLAKE2B 5eec1b659638a44893fbb8700ea98a6effcf1479750653f848c1325039a06284a0361d53d75a31619b94d350b3137fdca5691e5ec19d3c5a04d0ce7f3eb9b2de SHA512 76b5c8272fe475a6c85ed7bb56af58c54b4b79aeb126c93d0e9bdea1cea399f08e1d45b0788b4fc0d6202fffe1525766c381ebbb15fc5192f0d9386d978577ef
+DIST pypy3_10-exe-7.3.13_p2-1.amd64.gpkg.tar 11898880 BLAKE2B c6cd265a8643937ed42c72d2d21e6259cc7293bbce30f62e1150e6479811acf1700b4cc0e665fd3a8e856d0f1672e41b98cffe84cec6697093645446420cb713 SHA512 56f44a15fe7a16c2df8a1a20e2bbe6b83babafbb4064e318e903ec25e07234dde3446272a2d51b36ab2df4817578cc29c36849117c981e4572ee4e0d49cac719
+DIST pypy3_10-exe-7.3.13_p2-1.arm64-musl.gpkg.tar 9799680 BLAKE2B 9646e8ed704e28d686ee1f4208a9760ec3924c2bb26212c0d73efe1e3bc658e2158015065e45ba0ce3e694b2ea1a3502ef6e8bf3c82bd666c87959949cc848fe SHA512 aeeda8cb0aeb09a8ec38ff9768db1abcc0f88155cef32a666e5042bfeefe324f74bbdd5e30817fd92cd49bf41d00c6f37abe6425def9f5df3751d987a4e1f21c
+DIST pypy3_10-exe-7.3.13_p2-1.arm64.gpkg.tar 9861120 BLAKE2B 3f85d59dd81f7226a54c5d5db9b03a0260db3bf1b18a31da45e92657eb9e1b56fad26ae7afab30e9f4935f6d1bf9ca13649b56f9b4b9d258fdb9207993f7cff9 SHA512 867688dfd115f86e6e37aaf1b326d59e2fedeff5b92d326b35b47f2692bce2f7eb667c00e584d1c4711857d5a78b4ba57174f45a21e3b25d8f02dfafd0996f6c
+DIST pypy3_10-exe-7.3.13_p2-1.ppc64le-musl.gpkg.tar 6512640 BLAKE2B fde68e13478665a3378fd591f0e88bb98ca8771e95c34c2f547ec13741c26e1a4f1e47d5c4d02ae337baa736e1d7f3311d7ebe66ba292441ef6b38b1f792407c SHA512 fea4750b2aaa1a1519a980555d4d8db9c91bc4c3d267f4245559c063d174b5f792155e9f49356ef71c728194f5db62def58abf68626932172e9ae162f75ba6e1
+DIST pypy3_10-exe-7.3.13_p2-1.ppc64le.gpkg.tar 10219520 BLAKE2B ada5a559d5e38b56ff8fd4c4d103ac51ab0b117ff58f0d5b781da3c43e31ab49adf64459ae25522f57dcc38268a5ec135e24e90697b32cac9c63e0cab28ba658 SHA512 d88fee82cc8386861547c26827947ecad411e733d8f177ac9c689ae23783a554e7a5ca32f4488b9ee6add7c57a49cf56e8042eeb6b8dbfcba57d230280f36822
+DIST pypy3_10-exe-7.3.13_p2-1.x86-musl.gpkg.tar 8775680 BLAKE2B 6174c341088ba6c78681626fb90af4ccffc0980f07f76f0635bbef423a55d67e0fe6719f3abdb4964f7c4d7249fa4404e83a5250771874e04a79cf9ba9a06304 SHA512 c32b25a23cbff996c64ec245df6cb969aa562588a7fd7304688fb8bc9ce73c8c8dabd6a2a9433bd6072fcb706f356d45332a6f7417495d6a76ac6aa7ca41c289
+DIST pypy3_10-exe-7.3.13_p2-1.x86.gpkg.tar 8755200 BLAKE2B 3ca6f513948eea65beb4899658de0bad1badc835a1afd4407c487190060dafe3f6208075f34c6ed4a0a00b33f9a44a5e1bbdfb17a4e2c0e60b9979f6f72b9e74 SHA512 716b5521104a4185c6fa477f7d49384dcd87420ab2d53db0a53bcefe1ed8c7d1784a64ccf1d332c88ba61d189f84e883aeabec0879a51220ee3f26ea1c72f878
diff --git a/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.13_p2.ebuild b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.13_p2.ebuild
new file mode 100644
index 000000000000..77878f3bc763
--- /dev/null
+++ b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.13_p2.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils unpacker
+
+PYVER=3.10
+MY_P=pypy3_10-exe-${PV}-1
+
+DESCRIPTION="PyPy3 executable (pre-built version)"
+HOMEPAGE="https://www.pypy.org/"
+SRC_URI="
+ elibc_glibc? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86.gpkg.tar
+ )
+ )
+ elibc_musl? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64-musl.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64-musl.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le-musl.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86-musl.gpkg.tar
+ )
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="${PV%_p*}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+# sys-devel/gcc for libgcc_s.so
+RDEPEND="
+ app-arch/bzip2:0/1
+ dev-libs/expat:0/0
+ dev-libs/libffi:0/8
+ sys-libs/ncurses:0/6
+ >=sys-libs/zlib-1.1.3:0/1
+ virtual/libintl:0/0
+ elibc_glibc? (
+ sys-devel/gcc
+ >=sys-libs/glibc-2.35
+ )
+ !dev-python/pypy3_10-exe:${SLOT}
+"
+
+PYPY_PV=${PV%_p*}
+QA_PREBUILT="
+ usr/bin/pypy${PYVER}-c-${PYPY_PV}
+"
+
+src_install() {
+ insinto /
+ doins -r image/usr
+ fperms +x "/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3_10-exe/Manifest b/dev-python/pypy3_10-exe/Manifest
index 441c49ad6bc4..900d617b89b9 100644
--- a/dev-python/pypy3_10-exe/Manifest
+++ b/dev-python/pypy3_10-exe/Manifest
@@ -1,2 +1,3 @@
DIST pypy3.10-gentoo-patches-7.3.13.tar.xz 4776 BLAKE2B 9f0ef159c8aa2d3edb5ee0e14be694c4a7c1165d70b16e9b13b6e59da7334354cc8593186a2ff47d4a0ce8c76abdf4a3c12ec3ffdd7a90cc4f30b39c259c3ee7 SHA512 86bfbf7f26f259c0850074c9062544ee091f7a65359cb17dae3ec287841e7a812d7185cb552f3546acdde3965efe0e6c0fb728c30b64779fca10be2f7c4d634f
+DIST pypy3.10-gentoo-patches-7.3.13_p2.tar.xz 7948 BLAKE2B 3978db108a1ab3e471f878e3480d4419262c34137f43c2e11168c85704f8c72769bea5bca9613ba5fb762b7f88c77f55070dc6a28e8a92ffa6f95d74fb5891ad SHA512 dd8c0f74f22f45608addaf362ef0dc8acee3c5a02bed7c557883ca97d4e2bdfe47dbf6621a4da01cc97956550aa252622237b85c642fb33100065237689c2abb
DIST pypy3.10-v7.3.13-src.tar.bz2 23067819 BLAKE2B 6e2bfd83bcf16feef006dad39ab6d8f452418ee6bc4043edaa590db702f39275e775004bdba762736a901da94cb5274cd34f2811461048d46ac0f4af04158702 SHA512 16fbc76558152b3eadca999d56197a6bf906cbb7bb75035ccd3501372af0f0c22533d22ba231a40b7c02afa11f0d692a6ae85ba6d5e1607b737b8c68209b7c43
diff --git a/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.13_p2.ebuild b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.13_p2.ebuild
new file mode 100644
index 000000000000..a9b71592d810
--- /dev/null
+++ b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.13_p2.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.10
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV}"
+
+DESCRIPTION="PyPy3 executable (build from source)"
+HOMEPAGE="https://www.pypy.org/"
+SRC_URI="
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+SLOT="${PYPY_PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+jit low-memory ncurses cpu_flags_x86_sse2"
+
+RDEPEND="
+ app-arch/bzip2:0=
+ dev-libs/expat:0=
+ dev-libs/libffi:0=
+ >=sys-libs/zlib-1.1.3:0=
+ virtual/libintl:0=
+ ncurses? ( sys-libs/ncurses:0= )
+ !dev-python/pypy3-exe-bin:${SLOT}
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-python/pypy
+"
+
+check_env() {
+ if use low-memory; then
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_configure() {
+ tc-export CC
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --no-shared
+ $(usex jit -Ojit -O2)
+
+ ${jit_backend}
+
+ pypy/goal/targetpypystandalone
+ --withmod-bz2
+ $(usex ncurses --with{,out}mod-_minimal_curses)
+ )
+
+ local interp=( pypy )
+ if use low-memory; then
+ local -x PYPY_GC_MAX_DELTA=200MB
+ interp+=( --jit loop_longevity=300 )
+ fi
+
+ # translate into the C sources
+ # we're going to build them ourselves since otherwise pypy does not
+ # free up the unneeded memory before spawning the compiler
+ set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "translation failed"
+}
+
+src_compile() {
+ emake -C "${T}"/usession*-0/testing_1
+}
+
+src_install() {
+ cd "${T}"/usession*-0 || die
+ newbin "testing_1/pypy${PYVER}-c" "pypy${PYVER}-c-${PYPY_PV}"
+ insinto "/usr/include/pypy${PYVER}/${PYPY_PV}"
+ doins *.h
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pytest-xdist/Manifest b/dev-python/pytest-xdist/Manifest
index c1dfb9bd39fb..9bf70b109530 100644
--- a/dev-python/pytest-xdist/Manifest
+++ b/dev-python/pytest-xdist/Manifest
@@ -1,2 +1,3 @@
DIST pytest-xdist-3.3.1.tar.gz 77751 BLAKE2B 483774b3fefefb513cc3021c49fd816089869a885ba098588e503530ff3b2dfb77612aff80a7147ff33fd8c1fe69c4fda40133de94007e41c699ad763d112e92 SHA512 f439ff1acf65a8df025fec847602ebdc5355b2099501845f8cde3c5287299a9c3102fa6dd6fc82a30bc016893556a24b0b5409323f5db4015e77c711a7b5c59f
DIST pytest-xdist-3.4.0.tar.gz 78703 BLAKE2B a49dfcc707b4cc258c7cc26aa53f9b6b933880e55754a87f6de0fe5ca9b37cf7c5c5b52c3f04d5ad98857c3988130729510034dc3249c3c39bccf41d2c788be2 SHA512 c8ec998b3b7dc10d416406c0e421c1909e67c7bcd8479674520c0371615d131c75f59f1fb46f19c38cacdc1a42119534d66ace9ba58d0230a96f4f6baf0df185
+DIST pytest-xdist-3.5.0.tar.gz 78977 BLAKE2B 94feaa236728688a993ed89825f4ccd67abd7a520d235790bbfc629173e5918695ac500d04de642f07d323325972512e3ad95f0ae18a9ea239da8c2f167ab1a5 SHA512 1b6a896c6c69c110d1f3aa634740ffced570bbb788b3474687fef20147a5480a8681886b04db0413f7db68db546236f9a7f37e1592a74d1145f6eb6d876216ca
diff --git a/dev-python/pytest-xdist/pytest-xdist-3.5.0.ebuild b/dev-python/pytest-xdist/pytest-xdist-3.5.0.ebuild
new file mode 100644
index 000000000000..db8060267869
--- /dev/null
+++ b/dev-python/pytest-xdist/pytest-xdist-3.5.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Distributed testing and loop-on-failing modes"
+HOMEPAGE="
+ https://pypi.org/project/pytest-xdist/
+ https://github.com/pytest-dev/pytest-xdist/
+"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ dev-python/execnet[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pytest-6.2.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/filelock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # disable autoloading plugins in nested pytest calls
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # since we disabled autoloading, force loading necessary plugins
+ local -x PYTEST_PLUGINS=xdist.plugin,xdist.looponfail,pytest_forked
+
+ epytest
+}
diff --git a/dev-python/sentry-sdk/Manifest b/dev-python/sentry-sdk/Manifest
index a9f6831d1db8..cf4d81df2e51 100644
--- a/dev-python/sentry-sdk/Manifest
+++ b/dev-python/sentry-sdk/Manifest
@@ -3,3 +3,4 @@ DIST sentry-python-1.32.0.gh.tar.gz 422326 BLAKE2B f2753d958599462a3b6134872072c
DIST sentry-python-1.33.1.gh.tar.gz 431232 BLAKE2B 8f08e2ae58fa7d55384be9102a6f2f70eea550c6b53794013ff7326a0dd32358782db1e0c15b9837c688a85dae36f16538bc2d7c1516c1de4e75aa5c1ee35d55 SHA512 e86d20f1d8736175340bfd850560055342fd234709d1c4c5f931274e2e0d31b6bc0bb559593aff2ec4aaf508aefb0d8e1025d8eedc1dbb2d13c41b019721ce9f
DIST sentry-python-1.34.0.gh.tar.gz 432143 BLAKE2B d5a1376e88b4377ee0f416229364586cd69d76a72a31f1d7a5128c5aba6988d5cbfaf405afa39d52926ba64c0b29b48577d8e102427aec08dead41356a3dbbf5 SHA512 b4d6d4751bde829aca7cec418d46fb5ac44d59bcfd71e4b6e3057b70ea38e96dc3eeaa3b8ce61f9d7d0ccc9845ba741c9aacdc58e6fea56c1f33b5c39118c35f
DIST sentry-python-1.35.0.gh.tar.gz 438978 BLAKE2B 84d016fd24895eab240d97d99c5ac11f332f72c487b82205680513103d5a684ad25b4dbb6fe7863d681c965239079f1208b660a48bc21e508b57db04466e91b7 SHA512 fb136cb0542a9ca7db7e5bbcfe6178cdee90b80c634c9f1f54ad769b403fbe48ab9f23f66e33c1b7cc0f22d53811c0b1ae767604df5f2209c3568eebdc643b6a
+DIST sentry-python-1.36.0.gh.tar.gz 441169 BLAKE2B c338de881abf5bce90ec72e48c5378d269a258a07ca6dc30327590c98fb15a6a8b7cb57db055ef73df7b2cb35bc429f5dbb43fe42fb91f0c1c9b720f4d456cb7 SHA512 4ec1886875156877fed18618d6997e46850e9548f82706dbcc76989779b5d94054e588032b0f2b1a7fbc6370dd1c93169b77d8ed05a875854a858f7e63d8514c
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.36.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.36.0.ebuild
new file mode 100644
index 000000000000..49a19074e826
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-1.36.0.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+MY_P=sentry-python-${PV}
+DESCRIPTION="Python client for Sentry"
+HOMEPAGE="
+ https://sentry.io/
+ https://github.com/getsentry/sentry-python/
+ https://pypi.org/project/sentry-sdk/
+"
+SRC_URI="
+ https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asttokens[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/executing[${PYTHON_USEDEP}]
+ dev-python/fakeredis[${PYTHON_USEDEP}]
+ dev-python/flask-login[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pyrsistent[${PYTHON_USEDEP}]
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/python-socks[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
+)
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # tests require Internet access
+ tests/integrations/httpx/test_httpx.py
+ tests/integrations/requests/test_requests.py
+ tests/integrations/stdlib/test_httplib.py
+ tests/integrations/flask/test_flask.py
+ tests/integrations/django/test_basic.py
+ tests/integrations/socket/test_socket.py
+ # wtf is it supposed to do?!
+ tests/integrations/gcp/test_gcp.py
+ # broken by rq-1.10.1 (optional dep)
+ tests/integrations/rq/test_rq.py
+ # fastapi is not packaged
+ tests/integrations/asgi/test_fastapi.py
+ # TODO
+ tests/integrations/bottle
+ # TODO: causes breakage in other tests
+ tests/integrations/starlette
+ # TODO
+ tests/integrations/tornado
+ # requires mockupdb
+ tests/integrations/pymongo
+ # requires AWS access
+ tests/integrations/aws_lambda
+ )
+
+ local EPYTEST_DESELECT=(
+ # hangs
+ 'tests/test_transport.py::test_transport_works'
+ # TODO
+ 'tests/test_basics.py::test_auto_enabling_integrations_catches_import_error'
+ tests/test_client.py::test_databag_depth_stripping
+ tests/test_client.py::test_databag_string_stripping
+ tests/test_client.py::test_databag_breadth_stripping
+ tests/integrations/asgi/test_asgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/asgi/test_asgi.py::test_websocket
+ tests/integrations/aiohttp/test_aiohttp.py::test_transaction_style
+ tests/integrations/aiohttp/test_aiohttp.py::test_traces_sampler_gets_request_object_in_sampling_context
+ tests/integrations/django/test_data_scrubbing.py::test_scrub_django_custom_session_cookies_filtered
+ # incompatible version?
+ tests/integrations/falcon/test_falcon.py
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_large_event_not_truncated
+ tests/integrations/django/test_data_scrubbing.py::test_scrub_django_session_cookies_{filtered,removed}
+ # test_circular_references: apparently fragile
+ 'tests/integrations/threading/test_threading.py::test_circular_references'
+ # test for new feature, fails with IndexError
+ tests/integrations/wsgi/test_wsgi.py::test_session_mode_defaults_to_request_mode_in_wsgi_handler
+ # TODO
+ tests/integrations/wsgi/test_wsgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/wsgi/test_wsgi.py::test_profile_sent_when_profiling_enabled
+ tests/test_profiler.py::test_sample_buffer
+ tests/test_profiler.py::test_thread_scheduler_takes_first_samples
+ tests/test_profiler.py::test_thread_scheduler_takes_more_samples
+ tests/test_profiler.py::test_thread_scheduler_single_background_thread
+ # broken with py3.11, *shrug*
+ tests/test_profiler.py::test_extract_stack_with_max_depth
+ # TODO
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_long_sql_query_preserved
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_engine_name_not_string
+ tests/test_scrubber.py::test_breadcrumb_extra_scrubbing
+ tests/test_scrubber.py::test_span_data_scrubbing
+ # this is not even funny
+ tests/integrations/modules/test_modules.py::test_installed_modules
+ # flaky hypothesis stuff
+ tests/test_serializer.py::test_bytes_serialization_repr_many
+ # TODO
+ tests/integrations/aiohttp/test_aiohttp.py::test_basic
+ tests/tracing/test_decorator_py3.py::test_trace_decorator_{,a}sync_py3
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p aiohttp -p pytest_forked
+}
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index ecc86b6dd142..8e853fe80bbc 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -1,2 +1,3 @@
DIST setuptools-68.2.2.tar.gz 2203338 BLAKE2B 3d91bd4b4be1fb7a01b0cca1736187b80f9b07d0e647b49b483d6b8da55f69a678d2c910cde46bd9645dbd10b0b1d14c124d111817cbd7be8d5fab909f787998 SHA512 ed3138a39e8ae47d695e71835024d66d63b8de51aa336bd8524de81a5036aa26cf587caca5d6b46c833f77a6e9c8c1ae6b64e8310f712bd9c4e760196778b2ca
DIST setuptools-69.0.0.tar.gz 2219067 BLAKE2B 3df4e54e2c958b07af0d8ceb58678991ebb01952db90115eaabeb59f1643a67173add5f12fd1ad2e3992f2fcf9bacbfcbbb72e8c7e9d76bdfeaf0556ecc600bf SHA512 652d237fb15d187ede8f1da0406fdf5ba59b04278daf6b24f1ad2e938dabf6c543615926715037ee4f92809ef51c0201a6b595c6034e4d4c3c768ec47bb5e694
+DIST setuptools-69.0.1.tar.gz 2219238 BLAKE2B 2d7a3b1442be77bc310276e95afe8a53dcadfc2e152a93ffb457d01567f148d6b316d2516a0e17ca084687ad5076e6bbdec87d256f757e9220fbf468e31f3a67 SHA512 98f7f65869db725e23fcbe921ba7e0370fc1e80a2952e58cb3cfedc097ed4d814e7cadc558e8c96fb41f3677cb3705bcf835621421f8b0c83ffde5e291508f6b
diff --git a/dev-python/setuptools/setuptools-69.0.1.ebuild b/dev-python/setuptools/setuptools-69.0.1.ebuild
new file mode 100644
index 000000000000..0b9b53161043
--- /dev/null
+++ b/dev-python/setuptools/setuptools-69.0.1.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+# please bump dev-python/ensurepip-setuptools along with this package!
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/nspektr-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/build[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.9[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-fixture-config[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-virtualenv[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+# setuptools-scm is here because installing plugins apparently breaks stuff at
+# runtime, so let's pull it early. See bug #663324.
+PDEPEND="
+ >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ local PATCHES=(
+ # TODO: remove this when we're 100% PEP517 mode
+ "${FILESDIR}"/setuptools-62.4.0-py-compile.patch
+ )
+
+ distutils-r1_src_prepare
+
+ # remove bundled dependencies
+ rm -r */_vendor || die
+
+ # remove the ugly */extern hack that breaks on unvendored deps
+ rm -r */extern || die
+ find -name '*.py' -exec sed \
+ -e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
+ -i {} + || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ # TODO: see if PRE_BUILT_SETUPTOOLS_* helps
+ setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg
+ setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist
+ setuptools/tests/test_build_meta.py::test_legacy_editable_install
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_editable_install.py
+ setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests
+ setuptools/tests/test_virtualenv.py::test_clean_env_install
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ # TODO
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
+ setuptools/tests/test_extern.py::test_distribution_picklable
+ # expects bundled deps in virtualenv
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
+ setuptools/tests/test_editable_install.py::test_editable_with_pyproject
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ # fails with importlib-metadata-6.6.0
+ setuptools/tests/test_egg_info.py::TestWriteEntries::test_invalid_entry_point
+ # TODO, probably some random package
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
+ )
+
+ if has_version "<dev-python/packaging-22"; then
+ EPYTEST_DESELECT+=(
+ # old packaging is more lenient
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_raises_accidental_env_marker_misconfig
+ )
+ fi
+
+ local EPYTEST_XDIST=1
+ epytest setuptools
+}
diff --git a/dev-python/sexpdata/files/sexpdata-1.0.1-setup.patch b/dev-python/sexpdata/files/sexpdata-1.0.1-setup.patch
new file mode 100644
index 000000000000..a647058d4cdd
--- /dev/null
+++ b/dev-python/sexpdata/files/sexpdata-1.0.1-setup.patch
@@ -0,0 +1,16 @@
+Fix build failure.
+/usr/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `license` defined outside of `pyproject.toml` is ignored.
+
+--- sexpdata-1.0.1/setup.py
++++ sexpdata-1.0.1/setup.py
+@@ -12,10 +12,8 @@
+ author='Joshua D. Boyd, Takafumi Arakaki',
+ author_email='jdboyd@jdboyd.net',
+ url='https://github.com/jd-boyd/sexpdata',
+- license='BSD License',
+ description='S-expression parser for Python',
+ long_description=long_description,
+- keywords='s-expression, lisp, parser',
+ classifiers=[
+ "Development Status :: 3 - Alpha",
+ 'License :: OSI Approved :: BSD License',
diff --git a/dev-python/sexpdata/sexpdata-1.0.1.ebuild b/dev-python/sexpdata/sexpdata-1.0.1.ebuild
index a292f7eafb63..619b9e50dc59 100644
--- a/dev-python/sexpdata/sexpdata-1.0.1.ebuild
+++ b/dev-python/sexpdata/sexpdata-1.0.1.ebuild
@@ -22,4 +22,6 @@ LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
+PATCHES=( "${FILESDIR}/${P}-setup.patch" )
+
distutils_enable_tests pytest
diff --git a/dev-python/symengine/symengine-0.11.0.ebuild b/dev-python/symengine/symengine-0.11.0.ebuild
index 24e5ad94f418..beea0db94ffd 100644
--- a/dev-python/symengine/symengine-0.11.0.ebuild
+++ b/dev-python/symengine/symengine-0.11.0.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
inherit distutils-r1
diff --git a/dev-python/sympy/sympy-1.12.ebuild b/dev-python/sympy/sympy-1.12.ebuild
index f24e239115f8..424b2178b021 100644
--- a/dev-python/sympy/sympy-1.12.ebuild
+++ b/dev-python/sympy/sympy-1.12.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
inherit distutils-r1 virtualx
@@ -78,6 +78,19 @@ python_test() {
sympy/solvers/ode/tests/test_systems.py::test_nonlinear_3eq_order1_type3
)
+ case ${EPYTHON} in
+ pypy3)
+ if has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
+ has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
+ then
+ EPYTEST_DESELECT+=(
+ # https://foss.heptapod.net/pypy/pypy/-/issues/4032
+ sympy/tensor/array/tests/test_array_comprehension.py::test_arraycomprehensionmap
+ )
+ fi
+ ;;
+ esac
+
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
nonfatal epytest --veryquickcheck ||
die -n "Tests failed with ${EPYTHON}"
diff --git a/dev-python/yarl/Manifest b/dev-python/yarl/Manifest
index 769dea29903b..0b2854048acd 100644
--- a/dev-python/yarl/Manifest
+++ b/dev-python/yarl/Manifest
@@ -1 +1,2 @@
DIST yarl-1.9.2.tar.gz 184673 BLAKE2B bb94131059d0cfaf88f04d62a44181245ebcb660cb44904f0b7e8d497905a16d0026aeff454b8179fab5342c6bf9c8d6aadade0d9f7c70321c71bbcc3998e9a3 SHA512 ffbb6df94220bb1561333f1ad69a70334328e2273ec5e91c2741f6fd5ca2f6dd38d5b5f617728797fce490accc2394a406a5f9b5b665af4746746229af0d7c5f
+DIST yarl-1.9.3.tar.gz 135606 BLAKE2B f73b41227c08c791442c4c96ec961bcdbc8078f72082a842b6537a28b212c8612d700f2245e8c431008b652afd59a08be36137e92ebb15f1ea2c733bfc00dd4f SHA512 44dcc51c0b01eda024d9e6a236b95999a6be5989958362060b6b21c3d98fcb862824f7ec1897ac8c164ad2cb9362a2df4d40dcc980f57eaeefb0eddfc19b4741
diff --git a/dev-python/yarl/yarl-1.9.3.ebuild b/dev-python/yarl/yarl-1.9.3.ebuild
new file mode 100644
index 000000000000..08fd1119b453
--- /dev/null
+++ b/dev-python/yarl/yarl-1.9.3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Yet another URL library"
+HOMEPAGE="
+ https://github.com/aio-libs/yarl/
+ https://pypi.org/project/yarl/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/multidict-4.0[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/expandvars[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cd tests || die
+ epytest --override-ini=addopts=
+}