summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-01-30 21:02:23 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-01-30 21:02:23 +0000
commitab07f7507f68e0549e23686ae0176a834e8cc13b (patch)
tree14cb58a1f73c4083e83a00eb65d80bda0404e88e /dev-python
parent69c60b2f5328868c910f21e2c77758f55860fe32 (diff)
downloadbaldeagleos-repo-ab07f7507f68e0549e23686ae0176a834e8cc13b.tar.gz
baldeagleos-repo-ab07f7507f68e0549e23686ae0176a834e8cc13b.tar.xz
baldeagleos-repo-ab07f7507f68e0549e23686ae0176a834e8cc13b.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/PyGithub/Manifest1
-rw-r--r--dev-python/PyGithub/PyGithub-2.2.0.ebuild39
-rw-r--r--dev-python/argparse-addons/Manifest1
-rw-r--r--dev-python/argparse-addons/argparse-addons-0.12.0.ebuild21
-rw-r--r--dev-python/argparse-addons/metadata.xml15
-rw-r--r--dev-python/bincopy/Manifest1
-rw-r--r--dev-python/bincopy/bincopy-20.0.0.ebuild27
-rw-r--r--dev-python/bincopy/metadata.xml15
-rw-r--r--dev-python/capturer/capturer-3.0-r1.ebuild2
-rw-r--r--dev-python/coloredlogs/coloredlogs-15.0.1-r1.ebuild2
-rw-r--r--dev-python/confusable-homoglyphs/Manifest (renamed from dev-python/confusable_homoglyphs/Manifest)1
-rw-r--r--dev-python/confusable-homoglyphs/confusable-homoglyphs-3.2.0-r2.ebuild (renamed from dev-python/confusable_homoglyphs/confusable_homoglyphs-3.2.0-r2.ebuild)2
-rw-r--r--dev-python/confusable-homoglyphs/confusable-homoglyphs-3.3.1.ebuild34
-rw-r--r--dev-python/confusable-homoglyphs/metadata.xml (renamed from dev-python/confusable_homoglyphs/metadata.xml)4
-rw-r--r--dev-python/django-registration/django-registration-3.4-r1.ebuild4
-rw-r--r--dev-python/furo/furo-2023.9.10.ebuild10
-rw-r--r--dev-python/furo/furo-2024.1.29.ebuild6
-rw-r--r--dev-python/humanfriendly/humanfriendly-10.0-r1.ebuild2
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.97.3.ebuild90
-rw-r--r--dev-python/jupyterlab-pygments/jupyterlab-pygments-0.3.0.ebuild8
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild4
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/mako/Manifest1
-rw-r--r--dev-python/mako/mako-1.3.2.ebuild49
-rw-r--r--dev-python/mcbootflash/Manifest1
-rw-r--r--dev-python/mcbootflash/mcbootflash-8.0.0.ebuild30
-rw-r--r--dev-python/mcbootflash/metadata.xml15
-rw-r--r--dev-python/pslab/Manifest1
-rw-r--r--dev-python/pslab/files/pslab-3.0.0-pytest_record.patch36
-rw-r--r--dev-python/pslab/pslab-3.0.0.ebuild51
-rw-r--r--dev-python/pydantic/Manifest1
-rw-r--r--dev-python/pydantic/pydantic-2.6.0.ebuild57
-rw-r--r--dev-python/pypdf/files/pypdf-4.0.1-pytest-8.patch80
-rw-r--r--dev-python/pypdf/pypdf-4.0.1.ebuild19
-rw-r--r--dev-python/pytest-django/Manifest1
-rw-r--r--dev-python/pytest-django/pytest-django-4.8.0.ebuild51
-rw-r--r--dev-python/pytest-reserial/Manifest1
-rw-r--r--dev-python/pytest-reserial/metadata.xml15
-rw-r--r--dev-python/pytest-reserial/pytest-reserial-0.2.4.ebuild27
-rw-r--r--dev-python/sentry-sdk/Manifest1
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.40.0.ebuild146
-rw-r--r--dev-python/trio/files/trio-0.24.0-musl.patch66
-rw-r--r--dev-python/trio/trio-0.24.0.ebuild5
-rw-r--r--dev-python/virtualenvwrapper/Manifest1
-rw-r--r--dev-python/virtualenvwrapper/virtualenvwrapper-6.1.0.ebuild71
-rw-r--r--dev-python/xdoctest/xdoctest-1.1.2-r1.ebuild (renamed from dev-python/xdoctest/xdoctest-1.1.2.ebuild)5
-rw-r--r--dev-python/yams/yams-9999.ebuild4
50 files changed, 1020 insertions, 30 deletions
diff --git a/dev-python/PyGithub/Manifest b/dev-python/PyGithub/Manifest
index 6d9bf229258e..5d50a81ce6ab 100644
--- a/dev-python/PyGithub/Manifest
+++ b/dev-python/PyGithub/Manifest
@@ -1 +1,2 @@
DIST PyGithub-2.1.1.tar.gz 3330531 BLAKE2B 9b288266379d7b1d85be91a7261596f9c98b97bdb5f17c4f8bb43b4765f07e2088f1130c802a623c875c8ddd7d31bdf3cad2a7fc6672ca50bb9a69c80bf4c907 SHA512 f5a0186c1a206cef070c6c19ae0cca5ab19993dd16b9df9997ba01a3fa02baee3425cef51588f7ac38636a165e36d9a5a2c4014e59482b583001c75efa7afc40
+DIST PyGithub-2.2.0.tar.gz 3439222 BLAKE2B 4211786a258d1a9ed5202f495085a9c32b41b8d60ce567d8d7cdfab593acbc533aa34ed82afd1f65490efaeef2a4afc5dcf31ed95b3c382e4e488bc2495f7f79 SHA512 58431e0d696c4e9fa7311850711f16ab2feec28fb93acf31d0d204702e853f47ffa483b8b0b9bec9fba0eb98c714d85c9ebd3b98f87195e97fc2dbd6525024da
diff --git a/dev-python/PyGithub/PyGithub-2.2.0.ebuild b/dev-python/PyGithub/PyGithub-2.2.0.ebuild
new file mode 100644
index 000000000000..d9bc526f071d
--- /dev/null
+++ b/dev-python/PyGithub/PyGithub-2.2.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to access the Github API v3"
+HOMEPAGE="
+ https://github.com/PyGithub/PyGithub/
+ https://pypi.org/project/PyGithub/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# cryptography via pyjwt[crypto]
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pynacl-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/httpretty-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-subtests-0.11.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/argparse-addons/Manifest b/dev-python/argparse-addons/Manifest
new file mode 100644
index 000000000000..fafcc63b81b8
--- /dev/null
+++ b/dev-python/argparse-addons/Manifest
@@ -0,0 +1 @@
+DIST argparse_addons-0.12.0.tar.gz 3780 BLAKE2B 5d77203ea93a3488f64ecba28714956a73ad8813d5635eb169e21b0198a5ac2645156208fc64730fbf5f1edd1ce08b5d15494079050851293b7364892e8c481a SHA512 31cdbf8d6a227068559d9c7cfb0e135851db40d029020c7825787d985b2de2aeb460d7ff87d09eea4c6ddc29b16000c43944b6ad754e877b45a217186eb34967
diff --git a/dev-python/argparse-addons/argparse-addons-0.12.0.ebuild b/dev-python/argparse-addons/argparse-addons-0.12.0.ebuild
new file mode 100644
index 000000000000..9cd46ce47105
--- /dev/null
+++ b/dev-python/argparse-addons/argparse-addons-0.12.0.ebuild
@@ -0,0 +1,21 @@
+# 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="Additional Python argparse types and actions"
+HOMEPAGE="
+ https://pypi.org/project/argparse-addons/
+ https://github.com/eerimoq/argparse_addons/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/argparse-addons/metadata.xml b/dev-python/argparse-addons/metadata.xml
new file mode 100644
index 000000000000..6a8c7329d653
--- /dev/null
+++ b/dev-python/argparse-addons/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/bincopy/Manifest b/dev-python/bincopy/Manifest
new file mode 100644
index 000000000000..8cef475d4fe7
--- /dev/null
+++ b/dev-python/bincopy/Manifest
@@ -0,0 +1 @@
+DIST bincopy-20.0.0.tar.gz 750646 BLAKE2B 89f57cbf314aded9d9ac0d1ef51d1c7ed0f7e6aaa65236bb8daac72f98518b30974f62854f6dc64145a6615d636cddebefb8a09c42996ef33f6e64cb99fca486 SHA512 05cc54684c951ac209fa25ebdc2f60566ef93248cfa298439a2a4f6a4174e02f47476573aa580ae2d1e4b8e16e91ee8c4fee2097c375ca2c079dbbb0602b6153
diff --git a/dev-python/bincopy/bincopy-20.0.0.ebuild b/dev-python/bincopy/bincopy-20.0.0.ebuild
new file mode 100644
index 000000000000..fd78d06086dd
--- /dev/null
+++ b/dev-python/bincopy/bincopy-20.0.0.ebuild
@@ -0,0 +1,27 @@
+# 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="Mangling of various file formats that conveys binary information"
+HOMEPAGE="
+ https://pypi.org/project/bincopy/
+ https://github.com/eerimoq/bincopy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/argparse-addons-0.4.0[${PYTHON_USEDEP}]
+ dev-python/humanfriendly[${PYTHON_USEDEP}]
+ dev-python/pyelftools[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/bincopy/metadata.xml b/dev-python/bincopy/metadata.xml
new file mode 100644
index 000000000000..6a8c7329d653
--- /dev/null
+++ b/dev-python/bincopy/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/capturer/capturer-3.0-r1.ebuild b/dev-python/capturer/capturer-3.0-r1.ebuild
index 611839df19bd..d15b53093366 100644
--- a/dev-python/capturer/capturer-3.0-r1.ebuild
+++ b/dev-python/capturer/capturer-3.0-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
diff --git a/dev-python/coloredlogs/coloredlogs-15.0.1-r1.ebuild b/dev-python/coloredlogs/coloredlogs-15.0.1-r1.ebuild
index f8c6522e5d78..58e6b660005a 100644
--- a/dev-python/coloredlogs/coloredlogs-15.0.1-r1.ebuild
+++ b/dev-python/coloredlogs/coloredlogs-15.0.1-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
diff --git a/dev-python/confusable_homoglyphs/Manifest b/dev-python/confusable-homoglyphs/Manifest
index e971c47f18f5..c0687835ca3f 100644
--- a/dev-python/confusable_homoglyphs/Manifest
+++ b/dev-python/confusable-homoglyphs/Manifest
@@ -1 +1,2 @@
DIST confusable_homoglyphs-3.2.0.tar.gz 161937 BLAKE2B ac2c66317b18dd73868b3cbe3b11162550597547da8ee3df5525362b79bd7f61a19bd7446839dfb477d5c2b27464fc88a120c5c6d496de8b86c9e88aabd8aeb0 SHA512 0a46a5bc94393592f6fa088bbe2f95cc301972c55de08231f3607828fcd3c5cb462514b80013283ef8cd8d76eaa3e14258ac8f3433c9c2cd1a89bcebca8fa7f6
+DIST confusable_homoglyphs-3.3.1.tar.gz 325480 BLAKE2B 74a18d442832197cd6371721269ef6389fe2e82e96131656e1ba4d49cb2be9431f715125640c330babe3bce1b2eb34aaf9097a29b6743d2b1c90b5aa53f5dee3 SHA512 c6032479025caa779c79761fc6b34e5b5adab3d784bfe03282b7f5edc7701366ee7897bd4e8a4c264e7a06a59f075ac876bd47fa328accfe981944e70092d40d
diff --git a/dev-python/confusable_homoglyphs/confusable_homoglyphs-3.2.0-r2.ebuild b/dev-python/confusable-homoglyphs/confusable-homoglyphs-3.2.0-r2.ebuild
index 17932e41491e..f3ac960a587c 100644
--- a/dev-python/confusable_homoglyphs/confusable_homoglyphs-3.2.0-r2.ebuild
+++ b/dev-python/confusable-homoglyphs/confusable-homoglyphs-3.2.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/confusable-homoglyphs/confusable-homoglyphs-3.3.1.ebuild b/dev-python/confusable-homoglyphs/confusable-homoglyphs-3.3.1.ebuild
new file mode 100644
index 000000000000..f2f9e96b9ce0
--- /dev/null
+++ b/dev-python/confusable-homoglyphs/confusable-homoglyphs-3.3.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2023-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="Detect confusable usage of unicode homoglyphs, prevent homograph attacks"
+HOMEPAGE="
+ https://git.sr.ht/~valhalla/confusable_homoglyphs/
+ https://pypi.org/project/confusable-homoglyphs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # removed outdated bundled version (for py3.12 compat)
+ rm versioneer.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/confusable_homoglyphs/metadata.xml b/dev-python/confusable-homoglyphs/metadata.xml
index a6b256295160..629358a18b0d 100644
--- a/dev-python/confusable_homoglyphs/metadata.xml
+++ b/dev-python/confusable-homoglyphs/metadata.xml
@@ -5,6 +5,10 @@
<email>tupone@gentoo.org</email>
<name>Tupone Alfredo</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<origin>gentoo-staging</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/django-registration/django-registration-3.4-r1.ebuild b/dev-python/django-registration/django-registration-3.4-r1.ebuild
index 58bb37b16479..904f76cba777 100644
--- a/dev-python/django-registration/django-registration-3.4-r1.ebuild
+++ b/dev-python/django-registration/django-registration-3.4-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,8 +22,8 @@ SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
+ dev-python/confusable-homoglyphs[${PYTHON_USEDEP}]
dev-python/django[${PYTHON_USEDEP}]
- dev-python/confusable_homoglyphs[${PYTHON_USEDEP}]
"
python_test() {
diff --git a/dev-python/furo/furo-2023.9.10.ebuild b/dev-python/furo/furo-2023.9.10.ebuild
index ab754e39a30c..f1087bcdfd0f 100644
--- a/dev-python/furo/furo-2023.9.10.ebuild
+++ b/dev-python/furo/furo-2023.9.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,7 +22,7 @@ S=${WORKDIR}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
RDEPEND="
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
@@ -30,6 +30,12 @@ RDEPEND="
dev-python/sphinx-basic-ng[${PYTHON_USEDEP}]
"
+src_unpack() {
+ if [[ ${PKGBUMPING} == ${PVR} ]]; then
+ unzip "${DISTDIR}/${A}" || die
+ fi
+}
+
python_compile() {
distutils_wheel_install "${BUILD_DIR}/install" \
"${DISTDIR}/${P}-py3-none-any.whl"
diff --git a/dev-python/furo/furo-2024.1.29.ebuild b/dev-python/furo/furo-2024.1.29.ebuild
index 324e318ad63b..f1087bcdfd0f 100644
--- a/dev-python/furo/furo-2024.1.29.ebuild
+++ b/dev-python/furo/furo-2024.1.29.ebuild
@@ -30,6 +30,12 @@ RDEPEND="
dev-python/sphinx-basic-ng[${PYTHON_USEDEP}]
"
+src_unpack() {
+ if [[ ${PKGBUMPING} == ${PVR} ]]; then
+ unzip "${DISTDIR}/${A}" || die
+ fi
+}
+
python_compile() {
distutils_wheel_install "${BUILD_DIR}/install" \
"${DISTDIR}/${P}-py3-none-any.whl"
diff --git a/dev-python/humanfriendly/humanfriendly-10.0-r1.ebuild b/dev-python/humanfriendly/humanfriendly-10.0-r1.ebuild
index dd1741d83437..3d93ccefc66b 100644
--- a/dev-python/humanfriendly/humanfriendly-10.0-r1.ebuild
+++ b/dev-python/humanfriendly/humanfriendly-10.0-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
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 222470e1edeb..3a271588cb6d 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,3 +1,4 @@
DIST hypothesis-6.93.2.gh.tar.gz 9415414 BLAKE2B cbd0d0dd1cc737d6e8587c888b255220adffa5b15027767cede0a29abf7343d94259da45c772f00fb976a5dc0baba5c00761993cb9cc70fdfc7489c9c02d0ed1 SHA512 b981f2781bc5e2f7c7e340fee22fd5ab3869154488a70518dca7c179636fa906fe64ff706f828df09a42daad4d9640a037b534e657d601d0a78e059ac6ad146a
DIST hypothesis-6.96.4.gh.tar.gz 9422075 BLAKE2B 0ab12a01c8d714490f3785ac01779c69d0dc5f31bb3c85be3c1ff9831c1b2392f19ec45adfd40f334f20d48b3ad1300d38ed2e49ca318f17cae36de44895bc3d SHA512 8cbfbf36c7e1e56c31b58aadd9e592672430492eb7c7fb570d4e1277df3e0dd83f76ef39e27e0c644e38c3bc35c993b79d1e6687be73c0780fa36840b4a2baec
DIST hypothesis-6.97.1.gh.tar.gz 9423481 BLAKE2B 6a52bf6a970bf8056284baaa21aa63fe85c289f4c7e856860eff39f82eab82b401360953d165e795db2b45c99bba16a28518328db052ab3eb2185f2c4b61881d SHA512 2334e23e3056c478c5288e1726ca6feff968caa97e2c6b3758fc62c54636d7026ea2d5e906a7e3d8c191a9d911bf9050f082ba9b42b78cffd5129f01985ac248
+DIST hypothesis-6.97.3.gh.tar.gz 9424749 BLAKE2B 4d7f2b1f9e37593006c5be8e66918a2e20cf611664f0399bca32e97d2a5ef036a0e64c9c45bdbd8bdd385bb8e07a6a0d7a396135db826a59d223c9e87baab483 SHA512 2cf6f92f6fbd244e44b4e02415ea983d15113b2a89d4222e8fb215b555f87442d7c4ed1b6da33f1ac9189df274a6a61d222a0d4e78cbb418f6c80f8ba4591051
diff --git a/dev-python/hypothesis/hypothesis-6.97.3.ebuild b/dev-python/hypothesis/hypothesis-6.97.3.ebuild
new file mode 100644
index 000000000000..1f7054962839
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.97.3.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 multiprocessing optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/requests-toolbelt-0.10.1
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= -n "$(makeopts_jobs)" --dist=worksteal \
+ tests/cover tests/pytest tests/quality
+}
+
+python_install() {
+ distutils-r1_python_install
+ if ! use cli || ! has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ rm -r "${ED}/usr/bin" "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/jupyterlab-pygments/jupyterlab-pygments-0.3.0.ebuild b/dev-python/jupyterlab-pygments/jupyterlab-pygments-0.3.0.ebuild
index 35c9610be433..69cf5932161f 100644
--- a/dev-python/jupyterlab-pygments/jupyterlab-pygments-0.3.0.ebuild
+++ b/dev-python/jupyterlab-pygments/jupyterlab-pygments-0.3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,6 +24,12 @@ RDEPEND="
dev-python/pygments[${PYTHON_USEDEP}]
"
+src_unpack() {
+ if [[ ${PKGBUMPING} == ${PVR} ]]; then
+ unzip "${DISTDIR}/${A}" || die
+ fi
+}
+
python_compile() {
distutils_wheel_install "${BUILD_DIR}/install" \
"${DISTDIR}/$(pypi_wheel_name)"
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index e9da2ac43cac..a11d7c268c91 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1,3 +1 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
-EBUILD langdetect-1.0.9.ebuild 493 BLAKE2B 0df8bce19bc80f79f8e76bcef5a4c2caf333365fe0cb9a3c076b7858bceded5a3e58921474f866a2709dd657b7ed330c1ec4a7f9d7bab0fcf1bc92d77cabc32d SHA512 ea2a1adcb133ac5fc951ba1aa90ef1ce3dfcc424e59727591763d4875aa044a74188be2d15fd89c6b2e83ed6ea04ec3d9851ed584ae79d2c2c127bde7d994b48
-MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
new file mode 100644
index 000000000000..637368d2f237
--- /dev/null
+++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
@@ -0,0 +1,13 @@
+Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
+
+--- a/setup.py
++++ b/setup.py
+@@ -18,7 +18,7 @@ setup(
+ author_email='michal.danilak@gmail.com',
+ url='https://github.com/Mimino666/langdetect',
+ keywords='language detection library',
+- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
++ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
+ include_package_data=True,
+ install_requires=['six'],
+ license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index c09b7356f549..630fe63c6f53 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,4 +19,6 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
+
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index 020e07f2a3dd..736a1167c898 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -1,12 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
- </maintainer>
- <upstream>
- <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
+
+ <origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/mako/Manifest b/dev-python/mako/Manifest
index b8270e8efbb5..3efff6a6e5c5 100644
--- a/dev-python/mako/Manifest
+++ b/dev-python/mako/Manifest
@@ -1,2 +1,3 @@
DIST Mako-1.3.0.tar.gz 386252 BLAKE2B 7364a4eeb8d71d7bdeabc6c6df863c4cec5094ae2f858c8c23d4287bbeded62325c3f4fe122c19950043dc32480f2b46c72771fab2f89a339202cfbe387f61f6 SHA512 1be454ceff8942ee50052b3b2dec392f236aad2111828a6962ca80bc0d9692f632b7d992b161fb206c10db19e94f96a0688633d03c7b54e01b4f843283b80cb4
DIST Mako-1.3.1.tar.gz 390075 BLAKE2B cefaee46d53f235922d7a3f62831ab50e530d7ae27d068d56389c7116589bda1306991e779444564a2777829332206afde4278833eeb2929d7e5c0c7a080e978 SHA512 efa638500508168a3bd417b86c3d3b6289036fd1f92794c0f00a97c37dba4c1fd125d39272834f0002e98607b10a78ac784005fe545d208b87992c75f631dce2
+DIST Mako-1.3.2.tar.gz 390659 BLAKE2B 930b74a19c8b582781b05d7042f8c27636989614df62328f5c3548d427c1e3e2366edb8a7ad3ecbd123ef5344c9cf2ba1bdc00e8540b9624d7bcecfecb8329a5 SHA512 acde7b4be929fdd97f2a3fc133966ffc44b5706dbdd3f1af0fee16620b3c82d12b1a67b7292a229084ebb4f0c392e8db1b2844112baa3c6a5fd2be8777b04897
diff --git a/dev-python/mako/mako-1.3.2.ebuild b/dev-python/mako/mako-1.3.2.ebuild
new file mode 100644
index 000000000000..399b690d7b2c
--- /dev/null
+++ b/dev-python/mako/mako-1.3.2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python templating language"
+HOMEPAGE="
+ https://www.makotemplates.org/
+ https://github.com/sqlalchemy/mako/
+ https://pypi.org/project/Mako/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc"
+
+RDEPEND="
+ >=dev-python/markupsafe-0.9.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/Babel[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ test/test_exceptions.py::ExceptionsTest::test_alternating_file_names
+ )
+ epytest
+}
+
+python_install_all() {
+ rm -r doc/build || die
+
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mcbootflash/Manifest b/dev-python/mcbootflash/Manifest
new file mode 100644
index 000000000000..a70bd3705a81
--- /dev/null
+++ b/dev-python/mcbootflash/Manifest
@@ -0,0 +1 @@
+DIST mcbootflash-8.0.0.tar.gz 24386 BLAKE2B f9151017131b90f01da923084f2b42103fe54ea4c6fe6a77e7ca4f52619b1527829177dc74db6166585ccb003aa3e07c702469ff1d07f5d616870f232a0e5c3c SHA512 d1c3a437ca2878a386df44ecf4df2d5aebd26cd859509e003ebdc7203eb13b9bbdc4accdc0607e170646dd7fc22526a746f77770105dd637becb09dde706527f
diff --git a/dev-python/mcbootflash/mcbootflash-8.0.0.ebuild b/dev-python/mcbootflash/mcbootflash-8.0.0.ebuild
new file mode 100644
index 000000000000..674ba2e43475
--- /dev/null
+++ b/dev-python/mcbootflash/mcbootflash-8.0.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Flash firmware to devices running Microchip's 16-bit bootloader"
+HOMEPAGE="
+ https://pypi.org/project/mcbootflash/
+ https://github.com/bessman/mcbootflash/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# Tests require the presence of dedicated hardware
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/bincopy-20.0.0[${PYTHON_USEDEP}]
+ dev-python/pyserial[${PYTHON_USEDEP}]
+"
+BDEPEND="test? ( dev-python/pytest-reserial[${PYTHON_USEDEP}] )"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mcbootflash/metadata.xml b/dev-python/mcbootflash/metadata.xml
new file mode 100644
index 000000000000..6a8c7329d653
--- /dev/null
+++ b/dev-python/mcbootflash/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pslab/Manifest b/dev-python/pslab/Manifest
index 1b7fb58e68e3..0859906294fc 100644
--- a/dev-python/pslab/Manifest
+++ b/dev-python/pslab/Manifest
@@ -1 +1,2 @@
DIST pslab-python-2.5.0.gh.tar.gz 353493 BLAKE2B 4eae07fec800dc357041578a75e48812848588e49e14b75425ee4b24c62b1116d0493055564188e33e4d934f4d572708c811ec9bb7fbf5d437befedfcad5da1a SHA512 e8e4f53dc8c1d6aa4385cdbdc8a82bac21d9de15643980fed42a2b16c10ff56e0836371368840c9207d6bd6f8d73900a344507b8bce8b197f0580373137c0f1f
+DIST pslab-python-3.0.0.gh.tar.gz 357657 BLAKE2B 34d8817dd47588a488359b53a7c3737afc0b3d14c5a751990a6030a17f30cb99d65f235a7eaf26b5a4f7f41931ea20bff086a5463563faa189e6cc46336366b6 SHA512 fdb5180e6fb55b2b6262997981c1d9b56652fbd902cfb4e8c347dff87d32d234a61f5a3ff50e5fb55eb0fecc6d2cb09df5cbc9e747df00e5973c19fba7f3c554
diff --git a/dev-python/pslab/files/pslab-3.0.0-pytest_record.patch b/dev-python/pslab/files/pslab-3.0.0-pytest_record.patch
new file mode 100644
index 000000000000..90d5448998a8
--- /dev/null
+++ b/dev-python/pslab/files/pslab-3.0.0-pytest_record.patch
@@ -0,0 +1,36 @@
+Now that dev-python/pslab indirectly depends on pytest-reserial
+(it is a test dependency of dev-python/mcbootflash), the option name --record
+produces a collision.
+
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -8,9 +8,9 @@
+ Additionally, certain pins must be connected in a specific manner. Refer to the
+ individual test modules in the tests package.
+
+-By calling pytest with the --record flag, the serial traffic generated by the
++By calling pytest with the --record-serial flag, the serial traffic generated by the
+ integration tests will be recorded to JSON files, which are played back during
+-unit testing. The --record flag implies --integration.
++unit testing. The --record-serial flag implies --integration.
+ """
+
+ import json
+@@ -23,7 +23,7 @@
+
+ def pytest_addoption(parser):
+ parser.addoption("--integration", action="store_true", default=False)
+- parser.addoption("--record", action="store_true", default=False)
++ parser.addoption("--record-serial", action="store_true", default=False)
+
+
+ @pytest.fixture(scope="module")
+@@ -38,7 +38,7 @@
+
+ When running unit tests, the SerialHandler is a MockHandler.
+ """
+- record = request.config.getoption("--record")
++ record = request.config.getoption("--record-serial")
+ integration = request.config.getoption("--integration") or record
+ logfile = os.path.join(logdir, request.node.name + ".json")
+
diff --git a/dev-python/pslab/pslab-3.0.0.ebuild b/dev-python/pslab/pslab-3.0.0.ebuild
new file mode 100644
index 000000000000..8442f9bdd98c
--- /dev/null
+++ b/dev-python/pslab/pslab-3.0.0.ebuild
@@ -0,0 +1,51 @@
+# 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} )
+
+inherit distutils-r1
+
+MY_P=pslab-python-${PV}
+DESCRIPTION="Python library for communicating with Pocket Science Lab"
+HOMEPAGE="
+ https://pslab.io/
+ https://github.com/fossasia/pslab-python/
+ https://pypi.org/project/pslab/
+"
+SRC_URI="
+ https://github.com/fossasia/pslab-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/mcbootflash-8.0.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.16.3[${PYTHON_USEDEP}]
+ >=dev-python/pyserial-3.4[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.5.0-ad9833_sys_version.patch
+ "${FILESDIR}"/${PN}-3.0.0-pytest_record.patch
+)
+
+EPYTEST_DESELECT=(
+ # Flaky in 2.5.0
+ tests/test_logic_analyzer.py::test_stop
+)
+
+distutils_enable_sphinx docs dev-python/recommonmark
+distutils_enable_tests pytest
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index 43f9ccee50a3..666f49c41bd4 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -4,4 +4,5 @@ DIST pydantic-2.4.2.tar.gz 654020 BLAKE2B 2f91b6bf89f87230976a2e777541bb7418382f
DIST pydantic-2.5.1.tar.gz 651461 BLAKE2B 4c52abec0f1fc52fdaa0bd820bbb649ffdc348c1b1537ca31b73bf4c4477055841c0cd08df5336e0388974ebe20c384349c4233af20149317d79f51ee98208c6 SHA512 5a3ca05a57297cded56a21f37e13a61e7abce3faa34b1d2f4ad1abab0205aa8b7f753b6e0ac630336ea398b9c5ebd4c7cab55df4fa0f9e965e07b5a7e9d49f3c
DIST pydantic-2.5.2.tar.gz 652158 BLAKE2B d3a7eeb4e1933d4893df69d2600437a4df1a640f4ec6564079669f8703b8d21bba548197277a373e5a653f4aea67de2336ea983906c2e96b514cdab3f8821dc1 SHA512 56753c9739759251004476620ca25d69bebc7743da911f69a09fcbffa6d6e5ec9b9fc22975e845599fcb2aed5cbbf081c3737d6eab55b9e1696818c4da405e6d
DIST pydantic-2.5.3.tar.gz 651797 BLAKE2B 9494bd7a243d5cda762d916b10120861870b5f3112f581aa33b888eab7b605adcd3eb861853467e2d021b88b1c2583bbaf6ace8e96154543c6946e13722ed345 SHA512 bfc2f9704688815dbf418e2a7c72e193de80f279ac578fdaefe763f7cd8a9dce6c9152bd950d013f7fa48ea743468ae588adf61e277924536637590b63792779
+DIST pydantic-2.6.0.tar.gz 677208 BLAKE2B 10df7e22a05fc01e1d35b71f266f852599f949080c44a3ecbee8f8b42344de13fb2bc13957d2d2104337d4311ceda537073d0dda6f8cd9c5f621d381293d4e8c SHA512 5d3912f2b388ea49ba853b6463478c0fbf15ea67877291198ef69b4dc6f037215e62dc872e62ad6152ce02de0d809c89dcd11b5b0c94e668f15eb559a3d8a536
DIST pydantic-2.6.0b1.tar.gz 675468 BLAKE2B 42c1ebcccd437e6c8de832f784732a1066aeb439804999ed58f39679b99672d26d56bdeaa6745aba1a16e4fc6daf66a15700d876dbdcc46828f8bd4610af453d SHA512 8d8252376de7e1662358dfd8b84bb5b9a811e164d41e1ec2af6c678faf584365a0ff2b31ad6d32c46c6f4bb0b926d9935acd116aeb72c0bd91c1d5c7cc6a69b1
diff --git a/dev-python/pydantic/pydantic-2.6.0.ebuild b/dev-python/pydantic/pydantic-2.6.0.ebuild
new file mode 100644
index 000000000000..d46ceb5c7059
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.6.0.ebuild
@@ -0,0 +1,57 @@
+# 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="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-2.16.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
+"
+# pytest-8: https://github.com/pydantic/pydantic/issues/8674
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/Faker-18.13.0[${PYTHON_USEDEP}]
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/benchmark/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+ # benchmarks
+ tests/benchmarks
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/pypdf/files/pypdf-4.0.1-pytest-8.patch b/dev-python/pypdf/files/pypdf-4.0.1-pytest-8.patch
new file mode 100644
index 000000000000..16b685970b55
--- /dev/null
+++ b/dev-python/pypdf/files/pypdf-4.0.1-pytest-8.patch
@@ -0,0 +1,80 @@
+From 7fd67692faf502663c001b38e48083c68876085b Mon Sep 17 00:00:00 2001
+From: Stefan <96178532+stefan6419846@users.noreply.github.com>
+Date: Mon, 29 Jan 2024 15:43:52 +0100
+Subject: [PATCH 1/2] TST: Avoid catching not emitted warnings
+
+---
+ tests/test_reader.py | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/tests/test_reader.py b/tests/test_reader.py
+index 98f73a01c..ad289c296 100644
+--- a/tests/test_reader.py
++++ b/tests/test_reader.py
+@@ -335,7 +335,7 @@ def test_get_images_raw(
+ )
+ pdf_stream = io.BytesIO(pdf_data)
+ if should_fail:
+- with pytest.raises(PdfReadError) as exc, pytest.warns(PdfReadWarning):
++ with pytest.raises(PdfReadError) as exc:
+ PdfReader(pdf_stream, strict=strict)
+ assert exc.type == PdfReadError
+ if startx_correction == -1:
+@@ -530,7 +530,7 @@ def test_read_prev_0_trailer():
+ pdf_data.find(b"xref") - 1,
+ )
+ pdf_stream = io.BytesIO(pdf_data)
+- with pytest.raises(PdfReadError) as exc, pytest.warns(PdfReadWarning):
++ with pytest.raises(PdfReadError) as exc:
+ PdfReader(pdf_stream, strict=True)
+ assert exc.value.args[0] == "/Prev=0 in the trailer (try opening with strict=False)"
+
+@@ -607,7 +607,7 @@ def test_read_unknown_zero_pages(caplog):
+ "Xref table not zero-indexed. ID numbers for objects will be corrected.",
+ ]
+ assert normalize_warnings(caplog.text) == warnings
+- with pytest.raises(PdfReadError) as exc, pytest.warns(PdfReadWarning):
++ with pytest.raises(PdfReadError) as exc:
+ len(reader.pages)
+
+ assert exc.value.args[0] == "Could not find object."
+@@ -617,7 +617,7 @@ def test_read_unknown_zero_pages(caplog):
+ "startxref on same line as offset",
+ ]
+ assert normalize_warnings(caplog.text) == warnings
+- with pytest.raises(AttributeError) as exc, pytest.warns(PdfReadWarning):
++ with pytest.raises(AttributeError) as exc:
+ len(reader.pages)
+ assert exc.value.args[0] == "'NoneType' object has no attribute 'get_object'"
+
+@@ -687,7 +687,7 @@ def test_issue604(caplog, strict):
+ outline = None
+ if strict:
+ pdf = PdfReader(f, strict=strict)
+- with pytest.raises(PdfReadError) as exc, pytest.warns(PdfReadWarning):
++ with pytest.raises(PdfReadError) as exc:
+ outline = pdf.outline
+ if "Unknown Destination" not in exc.value.args[0]:
+ raise Exception("Expected exception not raised")
+
+From 259128c25e25e23f284267d0abb9d7f1bd932de5 Mon Sep 17 00:00:00 2001
+From: Stefan <96178532+stefan6419846@users.noreply.github.com>
+Date: Mon, 29 Jan 2024 15:46:34 +0100
+Subject: [PATCH 2/2] remove now unused import
+
+---
+ tests/test_reader.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/tests/test_reader.py b/tests/test_reader.py
+index ad289c296..c9c6be9b3 100644
+--- a/tests/test_reader.py
++++ b/tests/test_reader.py
+@@ -17,7 +17,6 @@
+ EmptyFileError,
+ FileNotDecryptedError,
+ PdfReadError,
+- PdfReadWarning,
+ WrongPasswordError,
+ )
+ from pypdf.generic import (
diff --git a/dev-python/pypdf/pypdf-4.0.1.ebuild b/dev-python/pypdf/pypdf-4.0.1.ebuild
index 7f65f98fca46..d8418ada9f4b 100644
--- a/dev-python/pypdf/pypdf-4.0.1.ebuild
+++ b/dev-python/pypdf/pypdf-4.0.1.ebuild
@@ -37,13 +37,9 @@ BDEPEND="
distutils_enable_tests pytest
-EPYTEST_DESELECT=(
- tests/test_reader.py::test_decode_permissions
- tests/test_workflows.py::test_text_extraction_layout_mode
- # rely on -Werror
- tests/test_utils.py::test_deprecate_no_replacement
- tests/test_workflows.py::test_orientations
- tests/test_writer.py::test_remove_image_per_type
+PATCHES=(
+ # https://github.com/py-pdf/pypdf/pull/2429
+ "${FILESDIR}/${P}-pytest-8.patch"
)
src_unpack() {
@@ -54,6 +50,15 @@ src_unpack() {
}
python_test() {
+ local EPYTEST_DESELECT=(
+ tests/test_reader.py::test_decode_permissions
+ tests/test_workflows.py::test_text_extraction_layout_mode
+ # rely on -Werror
+ tests/test_utils.py::test_deprecate_no_replacement
+ tests/test_workflows.py::test_orientations
+ tests/test_writer.py::test_remove_image_per_type
+ )
+
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest -o addopts= -m "not enable_socket"
}
diff --git a/dev-python/pytest-django/Manifest b/dev-python/pytest-django/Manifest
index 9a2e3085b722..6ebcba98299c 100644
--- a/dev-python/pytest-django/Manifest
+++ b/dev-python/pytest-django/Manifest
@@ -1 +1,2 @@
DIST pytest-django-4.7.0.gh.tar.gz 77146 BLAKE2B 7e5b0c1bc1e3953794f39cf425150a4963acab44295a23d3ee67147d3b6bdb66b56de165caae6ba2cfaa083e9b2de9c13ead699cee46008afeded65ba743b3d3 SHA512 090337442568b43e9da4ec2b3d0c1f862e44c90a3852906338928a968e4fa89ef9e9e930f43d067e48dde317aeba465ec374be9d5ec74c835ad7e1cea9cba93b
+DIST pytest-django-4.8.0.gh.tar.gz 77646 BLAKE2B 206357110066d233c103755cfd6324e8042d9c93442c25db17a13f02132eab60a315856441e26d43a3c493cf72ce39ef51163ccc5368941875e63656bf9122a7 SHA512 8f7ba6b28cc4c0347876beb85247ccd021767811b9122c8cd0fb5d051df4ae76267b27a3fee5c36882a40716bdcbaab43abf71ef8dd61757087b12fd141632aa
diff --git a/dev-python/pytest-django/pytest-django-4.8.0.ebuild b/dev-python/pytest-django/pytest-django-4.8.0.ebuild
new file mode 100644
index 000000000000..46b875c7259d
--- /dev/null
+++ b/dev-python/pytest-django/pytest-django-4.8.0.ebuild
@@ -0,0 +1,51 @@
+# 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="A Django plugin for pytest"
+HOMEPAGE="
+ https://pypi.org/project/pytest-django/
+ https://pytest-django.readthedocs.io/
+ https://github.com/pytest-dev/pytest-django/
+"
+SRC_URI="
+ https://github.com/pytest-dev/pytest-django/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+SLOT="0"
+
+RDEPEND="
+ >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-1.11.1[${PYTHON_USEDEP}]
+ test? (
+ dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/django-configurations-2.0[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE
+ local -x PYTHONPATH=${PWD}
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_django.plugin,xdist.plugin
+ for DJANGO_SETTINGS_MODULE in pytest_django_test.settings_sqlite{,_file}; do
+ einfo "Testing ${DJANGO_SETTINGS_MODULE}"
+ epytest tests
+ done
+}
diff --git a/dev-python/pytest-reserial/Manifest b/dev-python/pytest-reserial/Manifest
new file mode 100644
index 000000000000..119f6275a5f7
--- /dev/null
+++ b/dev-python/pytest-reserial/Manifest
@@ -0,0 +1 @@
+DIST pytest-reserial-0.2.4.tar.gz 8420 BLAKE2B 7a3ffce0ac8b598551ddea29174f545e451ebf733e6bec50eb1cad4a5ed50cf10cf9279eabe2a33fc9feaf3e442880f6fd522258ab15232e25879a5f7fce4bd9 SHA512 532070460d48e0c840c3a22993907a32d811411a4499ecf50d233c063096fa8ac44f39d5fd5f60b9afe836209c4a24b3caca9193675fdb2b76af7cd9d7fffdca
diff --git a/dev-python/pytest-reserial/metadata.xml b/dev-python/pytest-reserial/metadata.xml
new file mode 100644
index 000000000000..6a8c7329d653
--- /dev/null
+++ b/dev-python/pytest-reserial/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pytest-reserial/pytest-reserial-0.2.4.ebuild b/dev-python/pytest-reserial/pytest-reserial-0.2.4.ebuild
new file mode 100644
index 000000000000..78f34bbcf496
--- /dev/null
+++ b/dev-python/pytest-reserial/pytest-reserial-0.2.4.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pytest plugin for recording and replaying serial port traffic during tests"
+HOMEPAGE="
+ https://pypi.org/project/pytest-reserial/
+ https://github.com/bessman/pytest-reserial/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/pyserial[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sentry-sdk/Manifest b/dev-python/sentry-sdk/Manifest
index 647f3fc8b13c..68eab4f6c30f 100644
--- a/dev-python/sentry-sdk/Manifest
+++ b/dev-python/sentry-sdk/Manifest
@@ -1 +1,2 @@
DIST sentry-python-1.39.2.gh.tar.gz 452370 BLAKE2B 8ab1b4464ecbd8164c20d926a78f4c839be9c1dba6b09c26c2aacfdc236ca6e93406ea0aeac1a2b86439d2340b546a32c8a3f2db80cabefc6986f4567753f660 SHA512 728f799fe9419d30a07ae15eba0feae4e861edaabe1b16a23f54d8fe2a389273ebfc43a1183368ea22332f63a096ea154031ca0e1c3efcea26cf83c6093547c3
+DIST sentry-python-1.40.0.gh.tar.gz 457692 BLAKE2B 8f5d299c991f169eaba255ad13fc30620cda7f4d26b0f6ac353a28eef7f1c7001d9a20d61a4d565dc620dbd9292ce11a5bf9fe8c26129f1c340661f218074b53 SHA512 cb3297e96064b3c71a4f28ad1781277f3101c2171d6e8339664c400531f13ed8b394317601b20940261575ff1646801bc8cde760d595bdffa97af4cda4e27d6d
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.40.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.40.0.ebuild
new file mode 100644
index 000000000000..0d9bd3aa70f7
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-1.40.0.ebuild
@@ -0,0 +1,146 @@
+# 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
+
+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/test_utils.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
+ # crashes Python
+ tests/integrations/grpc/test_grpc_aio.py
+ # hangs
+ tests/integrations/threading/test_threading.py::test_propagates_threadpool_hub
+ # TODO
+ tests/test_utils.py::test_default_release
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_orm_queries
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_transactions
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_query_source
+ tests/integrations/stdlib/test_subprocess.py::test_subprocess_basic
+ tests/integrations/threading/test_threading.py
+ tests/integrations/wsgi/test_wsgi.py
+ 'tests/utils/test_contextvars.py::test_leaks[threads]'
+ # skipped without gevent but breaks stuff via broken teardown?
+ tests/test_metrics.py::test_no_metrics_with_gevent
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p aiohttp -p pytest_forked
+}
diff --git a/dev-python/trio/files/trio-0.24.0-musl.patch b/dev-python/trio/files/trio-0.24.0-musl.patch
new file mode 100644
index 000000000000..b5b692bf6e0c
--- /dev/null
+++ b/dev-python/trio/files/trio-0.24.0-musl.patch
@@ -0,0 +1,66 @@
+From c8c19570aa9e46b67d44228241e7401af96cbccd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Mon, 29 Jan 2024 17:48:40 +0100
+Subject: [PATCH] Fix finding pthread_*name_np on vanilla musl libc
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fix the `pthread_getname_np` and `pthread_setname_np` search logic
+to support vanilla versions of musl and CPython, e.g. as used on Gentoo
+musl systems. On such systems, there is no "libpthread.so" (there is
+only a static library) and the relevant functions are found
+in "libc.so". Additionally, `ctypes.util.find_library("c")` does not
+work because of an old unsolved bug in CPython (linked in the code).
+
+To resolve the problem, add a fallback to trying `libc.so` if no pthread
+library can be found. This roughly covers three possibilities:
+
+- a "typical" system with `libpthread.so` will find that library
+ and use it
+
+- a musl system will fall back to `libc.so`, load that library and find
+ pthread functions there
+
+- any other system will try to load `libc.so`, and fail
+
+The code in `get_os_thread_name_func()` remains fully relaxed, allowing
+either CDLL construction (i.e. finding the library) to fail,
+or the library not to contain `pthread_setname_np`.
+
+The code in `test_threads.py` was made more relaxed — rather than
+skipping if `libpthread.so` does not exist, it tries to load `libc.so`
+as a fallback, and skips if that fails.
+
+Originally reported as https://bugs.gentoo.org/923257.
+---
+ newsfragments/2939.bugfix.rst | 1 +
+ src/trio/_core/_thread_cache.py | 9 +++++++--
+ src/trio/_tests/test_threads.py | 12 ++++++++++--
+ 3 files changed, 18 insertions(+), 4 deletions(-)
+ create mode 100644 newsfragments/2939.bugfix.rst
+
+diff --git a/src/trio/_tests/test_threads.py b/src/trio/_tests/test_threads.py
+index aefb4ba27..326cffd6b 100644
+--- a/src/trio/_tests/test_threads.py
++++ b/src/trio/_tests/test_threads.py
+@@ -237,9 +237,17 @@ def _get_thread_name(ident: int | None = None) -> str | None:
+
+ libpthread_path = ctypes.util.find_library("pthread")
+ if not libpthread_path:
+- print(f"no pthread on {sys.platform})")
++ # musl includes pthread functions directly in libc.so
++ # (but note that find_library("c") does not work on musl,
++ # see: https://github.com/python/cpython/issues/65821)
++ # so try that library instead
++ # if it doesn't exist, CDLL() will fail below
++ libpthread_path = "libc.so"
++ try:
++ libpthread = ctypes.CDLL(libpthread_path)
++ except Exception:
++ print(f"no pthread on {sys.platform}")
+ return None
+- libpthread = ctypes.CDLL(libpthread_path)
+
+ pthread_getname_np = getattr(libpthread, "pthread_getname_np", None)
+
diff --git a/dev-python/trio/trio-0.24.0.ebuild b/dev-python/trio/trio-0.24.0.ebuild
index aeed759e3e3c..dfacf8299ada 100644
--- a/dev-python/trio/trio-0.24.0.ebuild
+++ b/dev-python/trio/trio-0.24.0.ebuild
@@ -49,6 +49,11 @@ distutils_enable_tests pytest
# dev-python/sphinx-rtd-theme \
# dev-python/towncrier
+PATCHES=(
+ # https://github.com/python-trio/trio/pull/2939
+ "${FILESDIR}/${P}-musl.patch"
+)
+
python_test() {
local EPYTEST_DESELECT=(
# Times out on slower arches (ia64 in this case)
diff --git a/dev-python/virtualenvwrapper/Manifest b/dev-python/virtualenvwrapper/Manifest
index 0c4c69b6e1c1..4b172b0ff2f6 100644
--- a/dev-python/virtualenvwrapper/Manifest
+++ b/dev-python/virtualenvwrapper/Manifest
@@ -1 +1,2 @@
DIST virtualenvwrapper-6.0.0.tar.gz 95407 BLAKE2B b2a6a7a58be23e1cf0642d780d8fc53e9aef6e44703fa15a2e7627db3c3e12024b33da75b591897ea5181ed5407eb2d52e96f56d7026c083a03e13f94165d9e4 SHA512 ab805b61a9f81e0b0842182686a88fcf07e41ad7206484f002110c693ca6076e2a88fefbef8b7409838082ed7e7a43f61f1a0006a314cb1d71efb943dc6fdede
+DIST virtualenvwrapper-6.1.0.tar.gz 95880 BLAKE2B 86d37682148ee132f9be5c4554de3c770c0f1c3055441bbce080d94da6fa83fc138a15c4c7edbb525e0c303c3c2ba5c1b1ee23260ea5bafaab157b3699b39b87 SHA512 78e09956132862fbf1caf53cb6c9375aa3718685f72d8f3fb61e402e6b26e8568d5b3a3ed18142b14f3b2691f89e6f912782e813d8139dc71ceb7e47bde8d0b0
diff --git a/dev-python/virtualenvwrapper/virtualenvwrapper-6.1.0.ebuild b/dev-python/virtualenvwrapper/virtualenvwrapper-6.1.0.ebuild
new file mode 100644
index 000000000000..7326ff67197c
--- /dev/null
+++ b/dev-python/virtualenvwrapper/virtualenvwrapper-6.1.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Set of extensions to Ian Bicking's virtualenv tool"
+HOMEPAGE="
+ https://github.com/python-virtualenvwrapper/virtualenvwrapper/
+ https://pypi.org/project/virtualenvwrapper/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/stevedore[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/virtualenv-clone[${PYTHON_USEDEP}]
+ ')
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ ')
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/pip[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/virtualenvwrapper-6.0.0-remove-use-of-which.patch"
+ "${FILESDIR}/virtualenvwrapper-4.8.4_p20230121-override-default-python-executable.patch"
+)
+
+src_prepare() {
+ default
+
+ # specify default python interpeter to align with PYTHON_SINGLE_TARGET
+ sed -i -e "s:@@GENTOO_PYTHON_EXECUTABLE@@:${PYTHON}:" virtualenvwrapper.sh || die
+
+ # remove tests which require an internet connection
+ rm tests/test_mkvirtualenv_install.sh || die
+ rm tests/test_mkvirtualenv_requirements.sh || die
+
+ # remove tests which require functional git repos with remotes
+ sed -i -e '/test_wipeenv_\(pip_e\|develop\) () {/,/}/ d' tests/test_wipeenv.sh || die
+}
+
+python_test() {
+ # tests have unusual expectations
+ local -x HOME="${HOME%/}"
+ local -x USER="${USER}"
+
+ cp -a "${BUILD_DIR}"/{install/usr,test} || die
+ local -x VIRTUAL_ENV="${BUILD_DIR}/test"
+
+ bash ./tests/run_tests "${VIRTUAL_ENV}" || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/xdoctest/xdoctest-1.1.2.ebuild b/dev-python/xdoctest/xdoctest-1.1.2-r1.ebuild
index 92abc2a64dba..ec91ad2c3f18 100644
--- a/dev-python/xdoctest/xdoctest-1.1.2.ebuild
+++ b/dev-python/xdoctest/xdoctest-1.1.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
@@ -22,6 +22,9 @@ SLOT="0"
LICENSE="Apache-2.0"
KEYWORDS="~amd64 ~arm64 ~x86"
+RDEPEND="
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+"
# dev-python/nbformat-5.1.{0..2} did not install package data
BDEPEND="
test? (
diff --git a/dev-python/yams/yams-9999.ebuild b/dev-python/yams/yams-9999.ebuild
index 4127aa56a089..16b28311e3fd 100644
--- a/dev-python/yams/yams-9999.ebuild
+++ b/dev-python/yams/yams-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,7 +23,7 @@ SLOT="0"
RDEPEND="
dev-python/psutil[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/python-mpd[${PYTHON_USEDEP}]
+ dev-python/python-mpd2[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
media-sound/mpd
"