summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2024-03-08 06:20:59 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2024-03-08 06:20:59 +0000
commit4b7aba8ec4df606845ea10747af7254c5d94a711 (patch)
treee51ea24d4e7f0547e5463e2c21f37ee39468376c
parent2024-03-08 04:34:06 UTC (diff)
parentapp-misc/fastfetch: add 2.8.8, drop 2.8.7 (diff)
downloadgentoo-4b7aba8ec4df606845ea10747af7254c5d94a711.tar.gz
gentoo-4b7aba8ec4df606845ea10747af7254c5d94a711.tar.bz2
gentoo-4b7aba8ec4df606845ea10747af7254c5d94a711.zip
Merge updates from master
-rw-r--r--app-admin/awscli/Manifest1
-rw-r--r--app-admin/awscli/awscli-1.32.58.ebuild90
-rw-r--r--app-misc/fastfetch/Manifest2
-rw-r--r--app-misc/fastfetch/fastfetch-2.8.8.ebuild (renamed from app-misc/fastfetch/fastfetch-2.8.7.ebuild)0
-rw-r--r--dev-libs/flatbuffers/Manifest1
-rw-r--r--dev-libs/flatbuffers/flatbuffers-24.3.7.ebuild33
-rw-r--r--dev-python/argcomplete/Manifest1
-rw-r--r--dev-python/argcomplete/argcomplete-3.2.3.ebuild43
-rw-r--r--dev-python/aws-sam-translator/Manifest1
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.86.0.ebuild62
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.34.58.ebuild58
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.34.58.ebuild67
-rw-r--r--dev-python/flatbuffers/Manifest1
-rw-r--r--dev-python/flatbuffers/flatbuffers-24.3.7.ebuild39
-rw-r--r--dev-python/pooch/Manifest1
-rw-r--r--dev-python/pooch/pooch-1.8.0.ebuild59
-rw-r--r--dev-python/pyglet/Manifest1
-rw-r--r--dev-python/pyglet/pyglet-2.0.13.ebuild79
-rw-r--r--dev-python/pymongo/Manifest1
-rw-r--r--dev-python/pymongo/pymongo-4.6.1.ebuild154
-rw-r--r--dev-python/pyqtgraph/Manifest1
-rw-r--r--dev-python/pyqtgraph/pyqtgraph-0.13.4.ebuild73
-rw-r--r--dev-python/pytest-subtests/Manifest1
-rw-r--r--dev-python/pytest-subtests/pytest-subtests-0.12.1.ebuild40
-rw-r--r--dev-python/pytest-timeout/Manifest1
-rw-r--r--dev-python/pytest-timeout/pytest-timeout-2.3.1.ebuild49
-rw-r--r--dev-python/selenium/Manifest4
-rw-r--r--dev-python/selenium/selenium-4.16.0.ebuild63
-rw-r--r--dev-python/selenium/selenium-4.18.0.ebuild65
-rw-r--r--dev-python/selenium/selenium-4.18.1.ebuild2
-rw-r--r--dev-python/shtab/Manifest1
-rw-r--r--dev-python/shtab/shtab-1.7.1.ebuild28
-rw-r--r--dev-python/stripe/Manifest1
-rw-r--r--dev-python/stripe/stripe-8.6.0.ebuild81
-rw-r--r--dev-python/tavern/Manifest1
-rw-r--r--dev-python/tavern/tavern-2.9.2.ebuild65
-rw-r--r--dev-python/trimesh/Manifest1
-rw-r--r--dev-python/trimesh/trimesh-4.1.8.ebuild69
-rw-r--r--dev-python/types-docutils/Manifest1
-rw-r--r--dev-python/types-docutils/types-docutils-0.20.0.20240308.ebuild17
-rw-r--r--dev-python/types-setuptools/Manifest1
-rw-r--r--dev-python/types-setuptools/types-setuptools-69.1.0.20240308.ebuild17
-rw-r--r--eclass/distutils-r1.eclass45
-rw-r--r--eclass/meson.eclass6
-rw-r--r--eclass/python-utils-r1.eclass2
-rw-r--r--sci-mathematics/z3/Manifest1
-rw-r--r--sci-mathematics/z3/z3-4.13.0.ebuild119
49 files changed, 1019 insertions, 432 deletions
diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest
index ad245b452a8d..9fdf0722437c 100644
--- a/app-admin/awscli/Manifest
+++ b/app-admin/awscli/Manifest
@@ -4,3 +4,4 @@ DIST aws-cli-1.32.54.gh.tar.gz 2656395 BLAKE2B 7f41ac7bb0b11ef851cbc1793c202dd38
DIST aws-cli-1.32.55.gh.tar.gz 2656402 BLAKE2B 8ff707317be8c9d686cf11c8e1846e2f77bdaeaea327f98243e4c907f5c1f716ac8255cafb74faeea1ed65f683ed777c4561d05343a601489e772d6449735ee6 SHA512 ff796aee3b2127c3a11afae1642a5da8cc2229382858a30c2a05f48d1a4417317c88b2de5763ee3fd859d2b87ed42f105e27f2cb7d0fb09e835df501af5bb32d
DIST aws-cli-1.32.56.gh.tar.gz 2656488 BLAKE2B 79f88813757cf30430f8b8ba08798447e8e4f2b4e9359b8a57ee1cfa289e47e38c9d608df89bbec390b860f3ed89d19408b6c3112857c66edbd3d30f2f5ed43d SHA512 af445266266d739b98d844e9718a0cf661f541e464cc7c07cf770528590867b3e9fc5e9b4472e638c0b7952eae50bdf0a6cb8860e1497a1347c5fb43e6315a3f
DIST aws-cli-1.32.57.gh.tar.gz 2656770 BLAKE2B 008133ab151d103fcf6f00ee953e0c4ab85d401263606da1ae91231a8c2ef1f7c5238c30e127741bb3899ef532d272d6231bb76cb54d673c3234a634343b45d2 SHA512 b3ff04b57fb19ee2d0eb1f57e3559dd36297fa8e1027d3958257508aa88202feccf0af6f86f64b779232a013bb819a06cd5314429f442d2e13b6d2a983b1f20f
+DIST aws-cli-1.32.58.gh.tar.gz 2658262 BLAKE2B f3782758f3f2bb87457f1a66b9e06fabbee1c27dd44af4db87744303de3bb072065d6a657af8e0e64010bf4d7ccd281751489330cf61cd30426a61ebb0dd8d0d SHA512 293d6d99ec2cfe180beab5e127c0dd589fb88fdf6590d4ff0a302fa14f6a7bf0294e9ef1f21729f668a8848baecef17750f0eda01d26476790c8b82cb6d608eb
diff --git a/app-admin/awscli/awscli-1.32.58.ebuild b/app-admin/awscli/awscli-1.32.58.ebuild
new file mode 100644
index 000000000000..4a677affdbc4
--- /dev/null
+++ b/app-admin/awscli/awscli-1.32.58.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
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit bash-completion-r1 distutils-r1
+
+MY_P=aws-cli-${PV}
+DESCRIPTION="Universal Command Line Environment for AWS"
+HOMEPAGE="
+ https://github.com/aws/aws-cli/
+ https://pypi.org/project/awscli/
+"
+SRC_URI="
+ https://github.com/aws/aws-cli/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+# botocore is x.(y+2).z
+BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/rsa[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ !app-admin/awscli-bin
+"
+BDEPEND="
+ test? (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+ # strip overzealous upper bounds on requirements
+ sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local serial_tests=(
+ tests/functional/ecs/test_execute_command.py::TestExecuteCommand::test_execute_command_success
+ tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_{fails,success}
+ tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_with_new_version_plugin_success
+ tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking
+ tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking_windows
+ tests/unit/customizations/codeartifact/test_adapter_login.py::TestNuGetLogin::test_login_nuget_sources_listed_with_backtracking
+ tests/unit/customizations/ecs/test_executecommand_startsession.py::TestExecuteCommand::test_execute_command_success
+ tests/unit/customizations/test_sessionmanager.py
+ tests/unit/test_compat.py::TestIgnoreUserSignals
+ tests/unit/test_help.py
+ tests/unit/test_utils.py::TestIgnoreCtrlC::test_ctrl_c_is_ignored
+ )
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ EPYTEST_XDIST= epytest "${serial_tests[@]}"
+
+ local EPYTEST_DESELECT=( "${serial_tests[@]}" )
+ # integration tests require AWS credentials and Internet access
+ epytest tests/{functional,unit}
+}
+
+python_install_all() {
+ newbashcomp bin/aws_bash_completer aws
+
+ insinto /usr/share/zsh/site-functions
+ newins bin/aws_zsh_completer.sh _aws
+
+ distutils-r1_python_install_all
+
+ rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
+}
diff --git a/app-misc/fastfetch/Manifest b/app-misc/fastfetch/Manifest
index 9a05d677a27c..7d8c9a5856cf 100644
--- a/app-misc/fastfetch/Manifest
+++ b/app-misc/fastfetch/Manifest
@@ -1,2 +1,2 @@
DIST fastfetch-2.7.1.tar.gz 1000565 BLAKE2B 061d2175bdca879bb4ef1a2f29fd73b99a7325fb8de66f05eb1203008c34ef20ff122e57a785ee0a5abb0251004023958abb1d158bc49cd1b34f9e02f3d1c6bc SHA512 55d897af532141d429aa5b58ab1516347f14597bf249b70f0d5ab27d11e235911858143fc32356255bef201cb44cdd7698e8d49094fb7e61c2e425a6c8ac5fa1
-DIST fastfetch-2.8.7.tar.gz 1013771 BLAKE2B 119d2b44b050c374d924023cbaad25bf9e6ee5817edcc7ff4934985508e86c3125a820370947ea64c41b8307f8bb07a50960f762df39cdbc20e09a3d1dd90a8d SHA512 efc06434de0821d5fdb6f539f281e7d139c078181f9473522f7765ac936cf128d614268d8e46ed46d6ba1832872e1ada75a3a61cacb5aa503d9f3619fe6265ee
+DIST fastfetch-2.8.8.tar.gz 1014055 BLAKE2B bf8145db1fdad1ae1c89f32b56d1e61b7b793492ed9e3e76bb9436ed456aeeef76543f52eb5d6ce52d389547abb9b59cd5760f5e8b7c6cd1350b0e7683fb8a76 SHA512 a39ae6cf59a6e2f95d138205892b46072cab35d6be7422ed3d22430050ea73284006aad99c8d6e195475b7e5b3ae40489f654cbd766e825e093b08f193a6fb23
diff --git a/app-misc/fastfetch/fastfetch-2.8.7.ebuild b/app-misc/fastfetch/fastfetch-2.8.8.ebuild
index 97a256518745..97a256518745 100644
--- a/app-misc/fastfetch/fastfetch-2.8.7.ebuild
+++ b/app-misc/fastfetch/fastfetch-2.8.8.ebuild
diff --git a/dev-libs/flatbuffers/Manifest b/dev-libs/flatbuffers/Manifest
index df7a4cf841f8..995e921d3592 100644
--- a/dev-libs/flatbuffers/Manifest
+++ b/dev-libs/flatbuffers/Manifest
@@ -1,3 +1,4 @@
DIST flatbuffers-23.1.21.gh.tar.gz 2181861 BLAKE2B 6368358c21e677feb466245a746b86cebb6d6a4058bb6d593de81bf3c32ddfb9fd475e4bb225d4529ea106253456a5ed1ee6d024b1e2521e02efef171750f428 SHA512 fa62188f773ad044644a58caf1e25bef417dfdea47c9da8a2ea7f997154b4f3976019e32e73cc533696a3d4e45ec4a8402b6df140878dfa2ff078740d61b4b0f
DIST flatbuffers-23.5.26.gh.tar.gz 2257271 BLAKE2B 147425e7c018072f4ae4cdb3e034a4f434362d88d5e27b09375965993c279acfbed36064014c8f4fbe3fb81175ac0aa9b07629675e2c7ad33d59a9c85f2c3bb8 SHA512 cd0a5efad8016e1217d01a181d6b02e546f5693c6412361bfeaee820d5dfe5e2a424cee1963270e851c1a4f936ae8a0032a51c5bb16ee19313e0ecc77dc4ba31
DIST flatbuffers-24.3.6.gh.tar.gz 2296876 BLAKE2B 2a9233c5256c16a494a850999565ee7b7fe6a032794770f7a9cb47e43d1abf8335f08f1ec2e94cb3fdb06d452bcb46c4b7f98519a7d52d2479891d50beeaf3c3 SHA512 2b0a97ee3ff0236b38dac9edbe4d984ae32c0a89436fd043b831e27c947782c704937afd44216ac1f7bdb7ad003f09bc381b1567e4866462fd3c9d6c7ab272e1
+DIST flatbuffers-24.3.7.gh.tar.gz 2296896 BLAKE2B 439d84a58ed169f6cd980388034f3dfaf53444dc4733b942aeeac24ed805dcf7c4348df8080fdbd899d2b4bc7f1ad75f546f8db3bcbb6fc942b75e2c3877331e SHA512 93541cbc6c1ba96beed77967d89693ebbc532664ee3b39eb9df9ec28871a3a0acb744b9c823afe6d3c480fe34e092306100e67f5b8fbed4432a875e87670019e
diff --git a/dev-libs/flatbuffers/flatbuffers-24.3.7.ebuild b/dev-libs/flatbuffers/flatbuffers-24.3.7.ebuild
new file mode 100644
index 000000000000..c03ba67b3e92
--- /dev/null
+++ b/dev-libs/flatbuffers/flatbuffers-24.3.7.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Memory efficient serialization library"
+HOMEPAGE="
+ https://flatbuffers.dev/
+ https://github.com/google/flatbuffers/
+"
+SRC_URI="
+ https://github.com/google/flatbuffers/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DFLATBUFFERS_BUILD_FLATLIB=$(usex static-libs)
+ -DFLATBUFFERS_BUILD_SHAREDLIB=ON
+ -DFLATBUFFERS_BUILD_TESTS=$(usex test)
+ -DFLATBUFFERS_BUILD_BENCHMARKS=OFF
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-python/argcomplete/Manifest b/dev-python/argcomplete/Manifest
index af646db4b778..e1933ed6bac7 100644
--- a/dev-python/argcomplete/Manifest
+++ b/dev-python/argcomplete/Manifest
@@ -1 +1,2 @@
DIST argcomplete-3.2.2.tar.gz 80764 BLAKE2B 0e059439c64301026fd238b070adb84f69c81f2f8fe6e27d31426abb71d4fadf8b34ff84465d9a9f5757550f6f55330ab17e204b7be18b459cddfb06c3851e25 SHA512 dd94795c561a692286341be234cd15ae684f0af6b11475322e6d616e640c27e7c9d9c73686790cecc09535b7f1287f95be2faa8b62329b12a6dbf9e2d403e439
+DIST argcomplete-3.2.3.tar.gz 81130 BLAKE2B 1c3a1c3fe9159ba1ab64db2a05d32dd961b08bb00d4cf3015fbb7990c02ebb766200fabe228c4e48ad791ea1a02db0775df1eec3181c7d1291743894e986f61c SHA512 25c73ec01a9c7e0b3d2cab1b86953369b0464431e86d6be2ba14d0209c1e1bc9fe5c5ce02590d86a44df74c9e828d4579b1265d2a37adf21f1e8bfdfb2350a44
diff --git a/dev-python/argcomplete/argcomplete-3.2.3.ebuild b/dev-python/argcomplete/argcomplete-3.2.3.ebuild
new file mode 100644
index 000000000000..0ea9deb31943
--- /dev/null
+++ b/dev-python/argcomplete/argcomplete-3.2.3.ebuild
@@ -0,0 +1,43 @@
+# 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_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Bash tab completion for argparse"
+HOMEPAGE="
+ https://github.com/kislyuk/argcomplete/
+ https://pypi.org/project/argcomplete/
+"
+
+LICENSE="Apache-2.0"
+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="test"
+RESTRICT="!test? ( test )"
+
+# pip is called as an external tool
+BDEPEND="
+ test? (
+ app-shells/fish
+ app-shells/tcsh
+ app-shells/zsh
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pip-19
+ )
+"
+
+PATCHES=(
+ # increase test timeouts -- this is particularly necessary
+ # for entry point tests because they read metadata of all installed
+ # packages which can take real long on systems with lots of packages
+ "${FILESDIR}/argcomplete-3.1.6-timeout.patch"
+)
+
+python_test() {
+ "${EPYTHON}" test/test.py -v || die
+}
diff --git a/dev-python/aws-sam-translator/Manifest b/dev-python/aws-sam-translator/Manifest
index b59bb29324ab..e0bcbcabf6ba 100644
--- a/dev-python/aws-sam-translator/Manifest
+++ b/dev-python/aws-sam-translator/Manifest
@@ -1 +1,2 @@
DIST serverless-application-model-1.85.0.gh.tar.gz 5472842 BLAKE2B 528a7e5f17a461741d3dd1911dda13c592a835cb2d44452d2c719e072e6d1dd715562d3660f9f92200ff6b5893d32e05ecc9faf30a835de9cc29ef72af4489f3 SHA512 a48b0ca4d18f524623f2e23ea3b721e1bda3bc94ded53859f87e40c53ba4e9f3b97423aee58f20a041eaba4a1b092353c88de33a52576fc4084670cb45f4c7f2
+DIST serverless-application-model-1.86.0.gh.tar.gz 5490164 BLAKE2B f784adc234080d447b33e375acf62ab65728655aeef2d6a4c1210535e55558f1afb85c011038b42435d5aaff8d69a179769a03d3c885e1fa487be434492c1c3c SHA512 e4ec2eca9f5531402f34e37c1bc7c9257f3120c3863f18bf2661b9f8757a680c6433d59c2a3f1b31e1ffeeffaa02fbd87f6407b3faf6ba5909bfefb79462ca18
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.86.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.86.0.ebuild
new file mode 100644
index 000000000000..166699d76ae6
--- /dev/null
+++ b/dev-python/aws-sam-translator/aws-sam-translator-1.86.0.ebuild
@@ -0,0 +1,62 @@
+# 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_{10..12} )
+
+inherit distutils-r1 multiprocessing
+
+MY_P=serverless-application-model-${PV}
+DESCRIPTION="A library that transform SAM templates into AWS CloudFormation templates"
+HOMEPAGE="
+ https://github.com/aws/serverless-application-model/
+ https://pypi.org/project/aws-sam-translator/
+"
+SRC_URI="
+ https://github.com/aws/serverless-application-model/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/boto3-2[${PYTHON_USEDEP}]
+ >=dev-python/boto3-1.19.5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2[${PYTHON_USEDEP}]
+ <dev-python/pydantic-3[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.8[${PYTHON_USEDEP}]
+ <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # so much noise...
+ sed -i -e '/log_cli/d' pytest.ini || die
+
+ # deps are installed by ebuild, don't try to reinstall them via pip
+ truncate --size=0 requirements/*.txt || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x AWS_DEFAULT_REGION=us-east-1
+ epytest -o addopts= -o filterwarnings= \
+ -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index bfa5fcdea9da..74ec829974f7 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -4,3 +4,4 @@ DIST boto3-1.34.54.gh.tar.gz 779564 BLAKE2B f61a74f6a317af6f180edb047e8c37e55c2d
DIST boto3-1.34.55.gh.tar.gz 779897 BLAKE2B 9ca34cb517a0117e91945658ce67d8bc16569931846ef3cf61157a988ee3a6935b8da7581be39304c93bb3a7ae089925abce95e8dfbf4369910d3bb02d232dbe SHA512 9cc45a125817ea1a442c72ba2759e8189dad3a3538f236afa980a3a8203e1ff85d8341b1f9c59bacd066b3b01a1e3a715d3deec42dfbe1846859229517a51e8c
DIST boto3-1.34.56.gh.tar.gz 780044 BLAKE2B d0600fe852787835a74d48582238e8421aa83aa99413037ca03c89d1fb083e591d5b5cac35c94929c2de26f3ad58a97d3e74d70d264daa89cdaffafcc91530ba SHA512 f692371fae8dedfd6bb3dbba1d9ed5a713d0d498d57f8c911caa110cf9ad70466199060271656213299d936b0d9e9b693871967575921cb8ddaee78e23c4ffe6
DIST boto3-1.34.57.gh.tar.gz 780600 BLAKE2B 80592c3877baeea889da4e8346489610337fbefaf8432e41338f4534b7db4d6bebaffc0472fe06ce5c49b9eec108cd18ab12e6ec458ef76ae834d655a0dc35c5 SHA512 c980dd20a470a911634f63cef61ccbf993d8815414edf820b0abdb60bcf0d802d54c3d23ebe0023ba84bbc255e2d6eaf277b872495a97feef1d6a4d0a5d34c77
+DIST boto3-1.34.58.gh.tar.gz 781455 BLAKE2B c0327eb97170554866c7970b6f513ce979f265ba337040ff338babaffe2515532ea1e8eaee4b237243bf481d71f470cf2f1d945126541f02bb35c4935e7a8306 SHA512 c93bf820c17df80a833cc4b89f1afa6611336d93e5fb13d0d32201334354c48012186f45e864d8f983b46cda3dc1d36d90fe2bc2e122918506824764ddc369fb
diff --git a/dev-python/boto3/boto3-1.34.58.ebuild b/dev-python/boto3/boto3-1.34.58.ebuild
new file mode 100644
index 000000000000..b64e7191fd19
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.58.ebuild
@@ -0,0 +1,58 @@
+# 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_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index d1c83533a361..0625fe978ba7 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -4,3 +4,4 @@ DIST botocore-1.34.54.gh.tar.gz 12748623 BLAKE2B 2b4732636e0d7cf46e12fc2cf4320c7
DIST botocore-1.34.55.gh.tar.gz 12750876 BLAKE2B 48222899d97aeea39c471ad1822641bad227e80afce7dee31a6acda21bf87d1cb48cbb39a5bad8851af2ecf14bc524ae55c15127318d2ccf4b8e0c851d2fd077 SHA512 8bc8b35a1e06c1fcc4902cb8ab97b3a6b75cc0e32fc7ab4d656378751846af4ef536513496328281068cbdfaed9cb8d06d13e9d0b2760e4090c660dc7950b897
DIST botocore-1.34.56.gh.tar.gz 12750089 BLAKE2B ac55ddc7d1f683cf3c2b9b39e73f8c85d8aac45f3b8db15e279ac38fb30edad92c4bb5181b7c488b1b904cce34fd13c69f55fac3ed141358b131f525617174cf SHA512 c0607741b65adeb059cdb100dbd819ed66bf6ce3c0e4cc9460f25046004ebc074b48c896ef39728db6b90c2029643faba3d7fe353acd741260c82e53de66d283
DIST botocore-1.34.57.gh.tar.gz 12751088 BLAKE2B 56a101297c42cc18b8c765572c8ff6c7de907e0e95378592a8c3500e351fc8b7bddb3127c7806331f5082155b35c33083e656a2ee4630218609fc5e91a1bb004 SHA512 cb7b2ffbe8104526be4654d7791b8ea0ee0ede4af7b91a507b4db06d86d56eec999152031734d1515b3c60dac9f1213e6374a1912638de2bc1098f4782d23180
+DIST botocore-1.34.58.gh.tar.gz 12756573 BLAKE2B f50486fcbdeaf7b2faef9c0a912335ad43b346a046f56c23a47b46ce0a65dd4308f30893d21647c2f40a1515739dec76b903ac3b813b2bdd8132bae3babe1ed0 SHA512 daf6781e6ace07945edd8f4c0b5e623640b60793735b65abcb7ba7ca67b8e93872329333b5003be43d2f7f32f5dedc51600a0b460107ef3aad530c8c72107706
diff --git a/dev-python/botocore/botocore-1.34.58.ebuild b/dev-python/botocore/botocore-1.34.58.ebuild
new file mode 100644
index 000000000000..ba6cd2a5d2a2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.58.ebuild
@@ -0,0 +1,67 @@
+# 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_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/flatbuffers/Manifest b/dev-python/flatbuffers/Manifest
index df7a4cf841f8..995e921d3592 100644
--- a/dev-python/flatbuffers/Manifest
+++ b/dev-python/flatbuffers/Manifest
@@ -1,3 +1,4 @@
DIST flatbuffers-23.1.21.gh.tar.gz 2181861 BLAKE2B 6368358c21e677feb466245a746b86cebb6d6a4058bb6d593de81bf3c32ddfb9fd475e4bb225d4529ea106253456a5ed1ee6d024b1e2521e02efef171750f428 SHA512 fa62188f773ad044644a58caf1e25bef417dfdea47c9da8a2ea7f997154b4f3976019e32e73cc533696a3d4e45ec4a8402b6df140878dfa2ff078740d61b4b0f
DIST flatbuffers-23.5.26.gh.tar.gz 2257271 BLAKE2B 147425e7c018072f4ae4cdb3e034a4f434362d88d5e27b09375965993c279acfbed36064014c8f4fbe3fb81175ac0aa9b07629675e2c7ad33d59a9c85f2c3bb8 SHA512 cd0a5efad8016e1217d01a181d6b02e546f5693c6412361bfeaee820d5dfe5e2a424cee1963270e851c1a4f936ae8a0032a51c5bb16ee19313e0ecc77dc4ba31
DIST flatbuffers-24.3.6.gh.tar.gz 2296876 BLAKE2B 2a9233c5256c16a494a850999565ee7b7fe6a032794770f7a9cb47e43d1abf8335f08f1ec2e94cb3fdb06d452bcb46c4b7f98519a7d52d2479891d50beeaf3c3 SHA512 2b0a97ee3ff0236b38dac9edbe4d984ae32c0a89436fd043b831e27c947782c704937afd44216ac1f7bdb7ad003f09bc381b1567e4866462fd3c9d6c7ab272e1
+DIST flatbuffers-24.3.7.gh.tar.gz 2296896 BLAKE2B 439d84a58ed169f6cd980388034f3dfaf53444dc4733b942aeeac24ed805dcf7c4348df8080fdbd899d2b4bc7f1ad75f546f8db3bcbb6fc942b75e2c3877331e SHA512 93541cbc6c1ba96beed77967d89693ebbc532664ee3b39eb9df9ec28871a3a0acb744b9c823afe6d3c480fe34e092306100e67f5b8fbed4432a875e87670019e
diff --git a/dev-python/flatbuffers/flatbuffers-24.3.7.ebuild b/dev-python/flatbuffers/flatbuffers-24.3.7.ebuild
new file mode 100644
index 000000000000..9f4884db1418
--- /dev/null
+++ b/dev-python/flatbuffers/flatbuffers-24.3.7.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
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="RFC 7049 - Concise Binary Object Representation"
+HOMEPAGE="
+ https://github.com/google/flatbuffers/
+ https://pypi.org/project/flatbuffers/
+"
+SRC_URI="
+ https://github.com/google/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${P}/python
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ cd "${WORKDIR}/${P}/tests" || die
+ # zeroes means without benchmarks
+ "${EPYTHON}" py_test.py 0 0 0 0 false || die
+ "${EPYTHON}" py_flexbuffers_test.py -v || die
+}
diff --git a/dev-python/pooch/Manifest b/dev-python/pooch/Manifest
index 3b3f6f0cf991..411bcee40c80 100644
--- a/dev-python/pooch/Manifest
+++ b/dev-python/pooch/Manifest
@@ -1,2 +1 @@
-DIST pooch-1.8.0.tar.gz 59408 BLAKE2B 07ed7c17e98ef4627f347e9b71355e147f56970fe5f0d709269602796a5ba2d8ffd5ad0ad47a17114d32841b9a7fc3eeab978f8ca9f64d35c89ff35b0aa62279 SHA512 d97e3e1098d1eeee30108affc64ed5a12f679e9122d35494598a03f3a548bb83b57dc54ac5a2c85bc42e664cb90f713bdb55b47b430ff000a722ffad58010497
DIST pooch-1.8.1.tar.gz 59614 BLAKE2B ff30e6f1a1cc71091d5e822eb0eeda59fb1ff8f53d2dd6dc67dccc955d28f3fa485d03615d544096fdae7786c181a3395b62e3c59212f80b977755e3df0addf0 SHA512 9e78da7839deb443340c925622d5e9b1d7a3f14fdac3eae2528fb91ebf86f88715e8737e869057fe7c703e8423303e15379c07e5d11a7bebd3da63b1ac06ae3f
diff --git a/dev-python/pooch/pooch-1.8.0.ebuild b/dev-python/pooch/pooch-1.8.0.ebuild
deleted file mode 100644
index d0b3e39d397b..000000000000
--- a/dev-python/pooch/pooch-1.8.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Manage your Python library's sample data files"
-HOMEPAGE="
- https://github.com/fatiando/pooch/
- https://pypi.org/project/pooch/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.5.0[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/paramiko[${PYTHON_USEDEP}]
- dev-python/pytest-httpserver[${PYTHON_USEDEP}]
- dev-python/tqdm[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # Needs network
- pooch/tests/test_core.py::test_check_availability_invalid_downloader
- pooch/tests/test_core.py::test_load_registry_from_doi
- pooch/tests/test_core.py::test_load_registry_from_doi_zenodo_with_slash
- # dev-python/pytest-localftpserver -> dev-python/pyftpdlib has py3.12 issues
- # https://github.com/giampaolo/pyftpdlib/issues/560#issuecomment-971377238
- pooch/tests/test_core.py::test_check_availability_on_ftp
- pooch/tests/test_downloaders.py::test_invalid_doi_repository
- pooch/tests/test_downloaders.py::test_doi_url_not_found
- pooch/tests/test_downloaders.py::test_figshare_url_file_not_found
- pooch/tests/test_downloaders.py::test_doi_downloader
-)
-
-### docs no included in pypi tarball
-# distutils_enable_sphinx doc \
-# dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_httpserver -k "not network"
-}
diff --git a/dev-python/pyglet/Manifest b/dev-python/pyglet/Manifest
index 589500c0c9ff..971042da7167 100644
--- a/dev-python/pyglet/Manifest
+++ b/dev-python/pyglet/Manifest
@@ -1,2 +1,3 @@
DIST pyglet-2.0.10.gh.tar.gz 6414679 BLAKE2B 42d6724d67bfac5b80f22f8e995b601dde9e68c49e75b75d1deffb5816ac5a246f0fa5923d159ea27b71720a8301f49dade12ed5179dd4dd69af81085a3daf80 SHA512 cb92e920eebc7b09ccbf396f5a78e5e089df17fbc0cd40b862be9309d97999fcf76995de5602c75efa2294bb387c7489a075fa0bd8ef322ec3573ba6524a3aa4
DIST pyglet-2.0.12.gh.tar.gz 6415028 BLAKE2B ba1a697fe4e75b77da2b4ed7c1fa7b95269eb6f67502103fba158ec9fca636fe6027c6ece10c517ed4f7bbaae063b62d947cf9963bb4ed31b842eb7fddf793cb SHA512 e94009f002b295df891367f7e2b30f692606b0a35c1475e9ddf7f463ef5286691f8755f804b24c382fbea97ab2d58dfd51422110be9994a520dce6d365b90df0
+DIST pyglet-2.0.13.gh.tar.gz 6417145 BLAKE2B ad47d22e53b4da08e6a4b4f4351ba03ea7b236d8680edd793e83c3e0bc5c350d8b1514b08c0dfe24b392761f7df64cf5e0ef8972d9fed6f9d367b0c887567ea5 SHA512 3ffb67b4a5aac72f4c2cdbe4f2492e9e41e69749e544d281bfa8bc491dc56fd2bb4833ffff92b4f639070c162c9460baf01f25090d91b9bd371d8ce23a4309c3
diff --git a/dev-python/pyglet/pyglet-2.0.13.ebuild b/dev-python/pyglet/pyglet-2.0.13.ebuild
new file mode 100644
index 000000000000..28c5feeacc17
--- /dev/null
+++ b/dev-python/pyglet/pyglet-2.0.13.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 virtualx xdg-utils
+
+DESCRIPTION="Cross-platform windowing and multimedia library for Python"
+HOMEPAGE="
+ https://pyglet.org/
+ https://github.com/pyglet/pyglet/
+ https://pypi.org/project/pyglet/
+"
+SRC_URI="https://github.com/pyglet/pyglet/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples image +sound"
+
+RDEPEND="
+ virtual/glu
+ virtual/opengl
+ image? (
+ || (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ x11-libs/gtk+:2
+ )
+ )
+ sound? (
+ || (
+ media-libs/libpulse
+ media-libs/openal
+ )
+ )
+"
+# ffmpeg? ( media-libs/avbin-bin )
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ media-libs/fontconfig
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ xdg_environment_reset
+
+ local EPYTEST_DESELECT=(
+ # lacking device/server permissions
+ tests/unit/media/test_listener.py::test_openal_listener
+ tests/unit/media/test_listener.py::test_pulse_listener
+ # fragile to system load
+ tests/unit/media/test_player.py::PlayerTestCase::test_pause_resume
+ tests/unit/test_clock_freq.py::test_elapsed_time_between_tick
+ )
+
+ # Specify path to avoid running interactive tests
+ # We could add in integration tests, but they're slow
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest tests/unit || die "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest
index c65ce2d22ec7..8e1dc430fe26 100644
--- a/dev-python/pymongo/Manifest
+++ b/dev-python/pymongo/Manifest
@@ -1,2 +1 @@
-DIST mongo-python-driver-4.6.1.gh.tar.gz 1493790 BLAKE2B dd59001536ed5d84553350fe8c93fa5082acd1af23ca2850cb2ba8d69e1e69e2ad250da9f62b4f86e6e9013434cd1d2ed38e44bda946ff5fe0ab74935668bbf1 SHA512 7a6fe18b409961b796dfd403dc100a898b282e0abfd9995f20541b7c5f0f2dbc047c25b45a2bb9ae229954d1cd804918dc4f7487f87e311863452bab41a19414
DIST mongo-python-driver-4.6.2.gh.tar.gz 1494123 BLAKE2B 3bf24c26ad2e97e6d23b01b1074baa7420e2d8197d5bc618cd851c148b38b68afaa3943448030692f358b7500b65d0576aaf4fdc6a49cb41e9a8ecd9e58ea0a5 SHA512 931b0632bc5764c160d6da8645f2e2e851b0ddf409390264a69fae8a9309d03271f50e6c3e3e5aae78df9b6203ab2de0471b2c8e50e4883c05b473e6c90bf9c4
diff --git a/dev-python/pymongo/pymongo-4.6.1.ebuild b/dev-python/pymongo/pymongo-4.6.1.ebuild
deleted file mode 100644
index 195067c758b5..000000000000
--- a/dev-python/pymongo/pymongo-4.6.1.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# 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=( pypy3 python3_{10..12} )
-
-inherit check-reqs distutils-r1
-
-MY_P=mongo-python-driver-${PV}
-DESCRIPTION="Python driver for MongoDB"
-HOMEPAGE="
- https://github.com/mongodb/mongo-python-driver/
- https://pypi.org/project/pymongo/
-"
-SRC_URI="
- https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="doc kerberos +native-extensions +test-full"
-
-RDEPEND="
- <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
- kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- test-full? (
- >=dev-db/mongodb-2.6.0
- )
- )
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
-
-reqcheck() {
- if use test && use test-full; then
- # During the tests, database size reaches 1.5G.
- local CHECKREQS_DISK_BUILD=1536M
-
- check-reqs_${1}
- fi
-}
-
-pkg_pretend() {
- reqcheck pkg_pretend
-}
-
-pkg_setup() {
- reqcheck pkg_setup
-}
-
-python_compile() {
- # causes build errors to be fatal
- local -x TOX_ENV_NAME=whatever
- local DISTUTILS_ARGS=()
- # unconditionally implicitly disabled on pypy3
- if ! use native-extensions; then
- DISTUTILS_ARGS+=( --no_ext )
- else
- export PYMONGO_C_EXT_MUST_BUILD=1
- fi
-
- distutils-r1_python_compile
-}
-
-python_test() {
- rm -rf bson pymongo || die
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_DESELECT=(
- # network-sandbox
- test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
- test/test_client.py::TestClient::test_service_name_from_kwargs
- test/test_client.py::TestClient::test_srv_max_hosts_kwarg
- test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
- test/test_srv_polling.py
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
-
- # broken regularly by changes in mypy
- test/test_typing.py::TestMypyFails::test_mypy_failures
- )
-
- if ! use test-full; then
- # .invalid is guaranteed to return NXDOMAIN per RFC 6761
- local -x DB_IP=mongodb.invalid
- epytest
- return
- fi
-
- # Yes, we need TCP/IP for that...
- local -x DB_IP=127.0.0.1
- local -x DB_PORT=27000
-
- local dbpath=${TMPDIR}/mongo.db
- local logpath=${TMPDIR}/mongod.log
-
- # Now, the hard part: we need to find a free port for mongod.
- # We're just trying to run it random port numbers and check the log
- # for bind errors. It shall be noted that 'mongod --fork' does not
- # return failure when it fails to bind.
-
- mkdir -p "${dbpath}" || die
- while true; do
- ebegin "Trying to start mongod on port ${DB_PORT}"
-
- LC_ALL=C \
- mongod --dbpath "${dbpath}" --nojournal \
- --bind_ip ${DB_IP} --port ${DB_PORT} \
- --unixSocketPrefix "${TMPDIR}" \
- --logpath "${logpath}" --fork \
- && sleep 2
-
- # Now we need to check if the server actually started...
- if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
- # yay!
- eend 0
- break
- elif grep -q 'Address already in use' "${logpath}"; then
- # ay, someone took our port!
- eend 1
- : $(( DB_PORT += 1 ))
- continue
- else
- eend 1
- eerror "Unable to start mongod for tests. See the server log:"
- eerror " ${logpath}"
- die "Unable to start mongod for tests."
- fi
- done
-
- local failed
- nonfatal epytest || failed=1
-
- mongod --dbpath "${dbpath}" --shutdown || die
-
- [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
-
- rm -rf "${dbpath}" || die
-}
diff --git a/dev-python/pyqtgraph/Manifest b/dev-python/pyqtgraph/Manifest
index d00bdbb19d8e..3ef345640dae 100644
--- a/dev-python/pyqtgraph/Manifest
+++ b/dev-python/pyqtgraph/Manifest
@@ -1 +1,2 @@
DIST pyqtgraph-0.13.3.gh.tar.gz 1423224 BLAKE2B 6c054e243a95387f18c7f18a1d4375fac3a7ae3794902f72e8d75eaeea01e031422abb7bbd84bb94977c6ce14664fed4f66ebd9892f4200c3b3ccdd598ccbfd2 SHA512 a397fcf8fc2fcc5a212df9f4cd48dc07bc1ad9eb7a9b1283488eb52c236e054b01df02d04088a9d91679c4ae3ab7796cdf95cdbad06a6a585fbbcdb921f33617
+DIST pyqtgraph-0.13.4.gh.tar.gz 1438293 BLAKE2B aaa1ccdf318dfdee0dfee73f8f7be99897d58114971569eb14cd9e32f404cabe08edf20e78301152ad9663bda0d1e8c589ff6af63799bfdc87dfe12ab3ac5a63 SHA512 9c5c276d1e191bbb72ce1ce66fcf2cfe34f5f31318bbc3069c634a77b0373b2df6a7572eccb3cfec9a45d225f5f5da71d6ca9db3f9ef520eaab27b76176a8904
diff --git a/dev-python/pyqtgraph/pyqtgraph-0.13.4.ebuild b/dev-python/pyqtgraph/pyqtgraph-0.13.4.ebuild
new file mode 100644
index 000000000000..7f4e943402a5
--- /dev/null
+++ b/dev-python/pyqtgraph/pyqtgraph-0.13.4.ebuild
@@ -0,0 +1,73 @@
+# 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_{10..11} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="A pure-python graphics and GUI library built on PyQt and numpy"
+HOMEPAGE="
+ https://www.pyqtgraph.org/
+ https://github.com/pyqtgraph/pyqtgraph/
+ https://pypi.org/project/pyqtgraph/
+"
+SRC_URI="
+ https://github.com/pyqtgraph/pyqtgraph/archive/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${PN}-${P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+IUSE="opengl svg"
+REQUIRED_USE="test? ( opengl svg )"
+
+RDEPEND="
+ >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/PyQt5[gui,widgets,opengl=,svg=,${PYTHON_USEDEP}]
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/PyQt5[testlib,${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/pytest-xvfb[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ if ! use opengl; then
+ rm -r pyqtgraph/opengl || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # apparently fragile
+ tests/test_reload.py::test_reload
+
+ # TODO
+ tests/exporters/test_svg.py::test_plotscene
+ tests/graphicsItems/test_ROI.py::test_PolyLineROI
+
+ # pyside2 is normally skipped if not installed but these two
+ # fail if it is installed
+ # TODO: this could be due to USE flags, revisit when pyside2
+ # gains py3.9
+ 'pyqtgraph/examples/test_examples.py::testExamples[ DateAxisItem_QtDesigner.py - PySide2 ]'
+ 'pyqtgraph/examples/test_examples.py::testExamples[ designerExample.py - PySide2 ]'
+ )
+
+ epytest -p xvfb -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/pytest-subtests/Manifest b/dev-python/pytest-subtests/Manifest
index 307cb06f77de..9e875f194fcc 100644
--- a/dev-python/pytest-subtests/Manifest
+++ b/dev-python/pytest-subtests/Manifest
@@ -1,2 +1,3 @@
DIST pytest-subtests-0.11.0.tar.gz 12763 BLAKE2B b1e1373d197798a9c27ed65569a681e9ea8dd36014cf6ea57a1d44ed888dca21bd8c5afffeb7f590a501d83d1bc0a8e1fe06b13832173e6937b722163614f21e SHA512 cab486252148e457e234e0dadacefa5ff38cf67df48d9c8bd61aa546a4a1e712b70dca0a270dffceede6be0f8a6324e8c21beaa4d1528b39f12bba72e077ef1d
DIST pytest-subtests-0.12.0.tar.gz 15251 BLAKE2B d7a526a4af21828d4ad8364b0cf50dc5ae071806b49dfd13068f679b43dfef6367f32e61bad0547100408d0d6fd58d6a33ee96220d234116535b840da1b659c4 SHA512 4ff64e29b5c7f76a239ac3f365450a60d3ebe3ee9d01781c4f79f100b1590d24a867c503567d0bbf60e397bc1cc3dff091afbee823aa9399b7cc14a6e60bc0b8
+DIST pytest-subtests-0.12.1.tar.gz 15303 BLAKE2B 68ce29fd067836cb32b43f260c98b0a8d1827a1bf6f3f61bc98eb69a5259dad725379bece5fe745e86561cab7e58042aff7da51d39e99fd09bbf0127d04d8cca SHA512 5eb4ff950171f8e008b3879453b55bab1ebc82ec60ca4da839158ad6e195c03f1a5d6b6ce2ac263a3ecaa2f684955e4fcc7abf5e429de9ffd898586b758e6cd4
diff --git a/dev-python/pytest-subtests/pytest-subtests-0.12.1.ebuild b/dev-python/pytest-subtests/pytest-subtests-0.12.1.ebuild
new file mode 100644
index 000000000000..322989e03e96
--- /dev/null
+++ b/dev-python/pytest-subtests/pytest-subtests-0.12.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-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_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Unittest subTest() support and subtests fixture"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-subtests/
+ https://pypi.org/project/pytest-subtests/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+"
+# pytest-xdist is used to test compatibility
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,pytest_subtests.plugin
+ epytest
+}
diff --git a/dev-python/pytest-timeout/Manifest b/dev-python/pytest-timeout/Manifest
index 74b4d5a96c03..339ebf919692 100644
--- a/dev-python/pytest-timeout/Manifest
+++ b/dev-python/pytest-timeout/Manifest
@@ -1 +1,2 @@
DIST pytest-timeout-2.2.0.tar.gz 16391 BLAKE2B 550b803ed4a64ab0fead7f6e61297ea6bfc6e59988998c5383fdccdebb3664fe9f6651314bb1a439f6431e844bb770feb50bedcabd568e4dfea7526d8c328dd7 SHA512 11a0c4e958b324bff3e149bf2a7dc5bf6ab6549405d5061856f8f1ad0e43df1cddce83df4c804b717276bfbcfcf60ee6b400625d0f4e4e73c98785146c22164f
+DIST pytest-timeout-2.3.1.tar.gz 17697 BLAKE2B 5f0ffa2fdda59ef28a92bfd5742891f63c1fa400db4ef89077fa13d917932d83e76d543c4c326a27df582a025122d8a75f1f7adf0daebbecc42273d4323ff93a SHA512 f200d625d11f76173521f4e2e4e09d57f6613d9b1420c57893b454ec496d5f11b32390b95eb995b403d15f8563b742a58fa0e0cbad42246b4049787a389ad83e
diff --git a/dev-python/pytest-timeout/pytest-timeout-2.3.1.ebuild b/dev-python/pytest-timeout/pytest-timeout-2.3.1.ebuild
new file mode 100644
index 000000000000..ea860f7df388
--- /dev/null
+++ b/dev-python/pytest-timeout/pytest-timeout-2.3.1.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
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin to abort hanging tests"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-timeout/
+ https://pypi.org/project/pytest-timeout/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+# do not rdepend on pytest, it won't be used without it anyway
+# pytest-cov used to test compatibility
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ !hppa? (
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_timeout
+
+ if has_version dev-python/pytest-cov; then
+ PYTEST_PLUGINS+=,pytest_cov.plugin
+ else
+ EPYTEST_DESELECT+=(
+ test_pytest_timeout.py::test_cov
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/selenium/Manifest b/dev-python/selenium/Manifest
index 39f986dadaad..65b902de1649 100644
--- a/dev-python/selenium/Manifest
+++ b/dev-python/selenium/Manifest
@@ -1,6 +1,2 @@
-DIST selenium-4.16.0.tar.gz 9741404 BLAKE2B 13b24b883ff6d276164ed845405e70c0267506656ce4ee63f0653e409e3c70fd8d3aa2bc1a551d051ea0c95f0bb6b60b5474caefd69e0bddfc97d1cbf9aabbcf SHA512 86aea8f4a23b9e70de36c3024cf5eee32f4d44a6868bd98eda547d9ca51179b4618c6c408e0d0a658c621de2573e98b3d8093753a9c335986a287e00fb3238c8
-DIST selenium-4.18.0.tar.gz 9781506 BLAKE2B 6e32db8e5e5e143047fd8c2dd590b2b47a62f06a0f080400d79b86715e48d4361b4db59d458961c4a0572c3ccea056b6d7c8c307b5312d00a12f425c5317cef8 SHA512 b2367bd263c739afb29b459467d046ee2cf17ba03b70a25c2160d4982acc9ffdf9c65f8961e8c17eb0d67a843f6c857779308454e710f9ccc6e2e6ece145f10c
DIST selenium-4.18.1.tar.gz 9790321 BLAKE2B ec2960ea5877aa71a6328eac0d10fcda08520e99471e3460ab9ad46e821f9fabd40e1e5bfea63486fbd4f75aae312fe1ab2a9210f52b188f43b22495477d09a6 SHA512 bf959012df65dd97b71ee585a88c035ca6079107d9623d7722693328a35cd16609dfba1d50b34d3122e2d6b2e51808aed29cc80c6c741557a4d24c3df8b13deb
-DIST selenium-selenium-4.16.0.gh.tar.gz 77969888 BLAKE2B efc9b444762eb8921d35a2ed1b86c197d314a2e5d65fd430ff996735acf0c1dc03c25a9300946d98230a87f1eed4c0260ec57238f49853b6461a1f0cbeb3e151 SHA512 05cf76bb6df21f32a04485c4a1180d02f028ecb5c49f5f680bcdcc9711ca9f407a6e2d6754708cf2023ca6a19910a411711393892a741bc1f658496bbc809ac2
-DIST selenium-selenium-4.18.0.gh.tar.gz 77571210 BLAKE2B 13d8454d1aaf31f58aa89f5dff4677f34a7b0dd2ace3d42a1f7bf978614abc764bd7a2584133a501c9c533779cbb9976d792d78c898aada39b70899039b8236e SHA512 e782d79950f58fe315823ac749dd919786c6ca71b1b582c396c4fdc7c922411157d3e60294382a00b5633a4f76eff994298e60f3edc18459dc5a14fe94b16b58
DIST selenium-selenium-4.18.1.gh.tar.gz 77568094 BLAKE2B af8a9fb058e16bbf3d71e4487bcf80aca19920d8e03f5a218ba3acfdc931cc95b8c557e42f97619f08ae3f3f59f9761663a65096678c43b0b1b9fae8e2dbd356 SHA512 6bdfbb45cdf7e036cb5e27cf8c2b3952413cc0d02257e1333baaa774f1c6188ae16fe75aa1054ff2af31a8215c11835c9d64f39b0b0170a3f04760f192f42e94
diff --git a/dev-python/selenium/selenium-4.16.0.ebuild b/dev-python/selenium/selenium-4.16.0.ebuild
deleted file mode 100644
index 0a781d23f9b9..000000000000
--- a/dev-python/selenium/selenium-4.16.0.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-# upstream sometimes tags it as ${P}, sometimes as ${P}-python, sigh
-TEST_TAG=${P}
-TEST_P=selenium-${TEST_TAG}
-
-DESCRIPTION="Python language binding for Selenium Remote Control"
-HOMEPAGE="
- https://www.seleniumhq.org/
- https://github.com/SeleniumHQ/selenium/tree/trunk/py/
- https://pypi.org/project/selenium/
-"
-SRC_URI+="
- test? (
- https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz
- -> ${TEST_P}.gh.tar.gz
- )
-"
-
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/certifi-2021.10.8[${PYTHON_USEDEP}]
- <dev-python/trio-1[${PYTHON_USEDEP}]
- >=dev-python/trio-0.17[${PYTHON_USEDEP}]
- <dev-python/trio-websocket-1[${PYTHON_USEDEP}]
- >=dev-python/trio-websocket-0.9[${PYTHON_USEDEP}]
- <dev-python/urllib3-3[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO: we may need extra setup or deps
- test/selenium
-
- # expects vanilla certifi
- test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout
- )
-
- cd "${WORKDIR}/${TEST_P}/py" || die
- rm -rf selenium || die
- # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24
- # seriously?
- epytest -o "python_files=*_tests.py test_*.py"
-}
diff --git a/dev-python/selenium/selenium-4.18.0.ebuild b/dev-python/selenium/selenium-4.18.0.ebuild
deleted file mode 100644
index cd1feb489ced..000000000000
--- a/dev-python/selenium/selenium-4.18.0.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# 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_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-# upstream sometimes tags it as ${P}, sometimes as ${P}-python, sigh
-TEST_TAG=${P}
-TEST_P=selenium-${TEST_TAG}
-
-DESCRIPTION="Python language binding for Selenium Remote Control"
-HOMEPAGE="
- https://www.seleniumhq.org/
- https://github.com/SeleniumHQ/selenium/tree/trunk/py/
- https://pypi.org/project/selenium/
-"
-SRC_URI+="
- test? (
- https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz
- -> ${TEST_P}.gh.tar.gz
- )
-"
-
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/certifi-2021.10.8[${PYTHON_USEDEP}]
- <dev-python/trio-1[${PYTHON_USEDEP}]
- >=dev-python/trio-0.17[${PYTHON_USEDEP}]
- <dev-python/trio-websocket-1[${PYTHON_USEDEP}]
- >=dev-python/trio-websocket-0.9[${PYTHON_USEDEP}]
- <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.9[${PYTHON_USEDEP}]
- <dev-python/urllib3-3[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO: we may need extra setup or deps
- test/selenium
-
- # expects vanilla certifi
- test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout
- )
-
- cd "${WORKDIR}/${TEST_P}/py" || die
- rm -rf selenium || die
- # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24
- # seriously?
- epytest -o "python_files=*_tests.py test_*.py"
-}
diff --git a/dev-python/selenium/selenium-4.18.1.ebuild b/dev-python/selenium/selenium-4.18.1.ebuild
index 6bca2fb286ea..1ef3e5bed572 100644
--- a/dev-python/selenium/selenium-4.18.1.ebuild
+++ b/dev-python/selenium/selenium-4.18.1.ebuild
@@ -25,9 +25,9 @@ SRC_URI+="
)
"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
LICENSE="Apache-2.0"
SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/certifi-2021.10.8[${PYTHON_USEDEP}]
diff --git a/dev-python/shtab/Manifest b/dev-python/shtab/Manifest
index 542e422346a9..11b6ad860b90 100644
--- a/dev-python/shtab/Manifest
+++ b/dev-python/shtab/Manifest
@@ -1 +1,2 @@
DIST shtab-1.7.0.tar.gz 45485 BLAKE2B d1aef26a621da7654e5816fda7ebf197cdf23aa3a485716038b6161826b2f1a624caf369bf59a7fd611cc28906debb83f016b167f06c2cfe9d7a53724054ad55 SHA512 82e5bba15007e07c180c5d9585605150f0a5f53b3859888fcdc28c0bc537762635794f7a8ddd6f81f5337d3c7375b925380fc3797198a803fc09635b65dd07f4
+DIST shtab-1.7.1.tar.gz 45410 BLAKE2B 15ed00feb1bb051ad3ec21bab9a3300175b22e677db905b714e29b10308489bec6273a7f1e226b3dd70088c74b0dd5f2c7d8958a130e339d197ba290ea6710f4 SHA512 749f21e5b4eba75744a270809b761e7c795e4404727f8e6da87f6620622e42dc6e35aa923c7f8df34bec27af45ec16496fdab11b8450edb09067df9c830ae219
diff --git a/dev-python/shtab/shtab-1.7.1.ebuild b/dev-python/shtab/shtab-1.7.1.ebuild
new file mode 100644
index 000000000000..3debac670a80
--- /dev/null
+++ b/dev-python/shtab/shtab-1.7.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Automagic shell tab completion for Python CLI applications"
+HOMEPAGE="
+ https://github.com/iterative/shtab
+ https://pypi.org/project/shtab/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="dev-python/setuptools-scm[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # Disable pytest-cov
+ epytest -o addopts=
+}
diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest
index ab2971030ab7..191ea8c9c265 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1,3 +1,4 @@
DIST stripe-8.3.0.tar.gz 1067989 BLAKE2B fb91886e93e9398fac0e20d72f70e63579150bdf27d594ec256b74e76561a5fe52ab326743f31d0f48874f3e066fbd0441569d62f41da0ec486ad84a592ce4e1 SHA512 963bc17da4acb8664482459dd0c09bba6859f17e0aa0ef55da8a9aa588174e1f34072084e9f94829cf81d0e4f9bb78df2836fdc58710f49acb4b17a271b7742c
DIST stripe-8.4.0.tar.gz 1071302 BLAKE2B b7aa15e20baa6c0a2e939fda1ee45d3acab72ab771717ca15b0302793f4958257d0fe915c02d92d4be1d51eb6cc6be3bc28d4cda43dffb0ed1e2e958cfc29160 SHA512 b7ddb5a11c379492f5a7eafcc44197e026e3020420a83c294db6bbe2d73b39c4af38746817d0684e84f09232b12b45280d919090a331a9a0d03af4d02e59ef99
DIST stripe-8.5.0.tar.gz 1073351 BLAKE2B 7e30a06b34c99cbdeb06e33ee462ae6e5ace4583e293f860992f64dcc7ab6b8766e9cac0f941fd709747f0d6e0c2a171dbd72931e0af527a731c860266812121 SHA512 f6ab165d13f037856d2648faa5aef1d47d7c0aea78e222d23aec0a5ffd90e782c30401367fe00a7c09807e029f53382bd5f76ebcd096ad8d06185e32776766b4
+DIST stripe-8.6.0.tar.gz 1075310 BLAKE2B cf497317cce5f8525ccc8491ccfe8610f701abc175b9d24099790ab8a5ed7b8c67888960f96d579c7d623162d82e9f26beb09532f84eb7785c93acc3cb516825 SHA512 25fc7396ea0d5cc448a8c9c00f5dfac7ea5181a4c82d7f1b3d81d0e54b55876213ffddcb478391604f228ff5a7bbe6adcfdee0cdfce3ed385be8432c400053bf
diff --git a/dev-python/stripe/stripe-8.6.0.ebuild b/dev-python/stripe/stripe-8.6.0.ebuild
new file mode 100644
index 000000000000..5ed0d9dd1b63
--- /dev/null
+++ b/dev-python/stripe/stripe-8.6.0.ebuild
@@ -0,0 +1,81 @@
+# 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_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Stripe python bindings"
+HOMEPAGE="
+ https://github.com/stripe/stripe-python/
+ https://pypi.org/project/stripe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="telemetry"
+
+RDEPEND="
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+# please bump dev-util/stripe-mock dep to the latest version on every bump
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.182.0
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+src_prepare() {
+ if ! use telemetry; then
+ sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
+ fi
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests -p pytest_mock
+}
+
+src_test() {
+ local stripe_mock_port=12111
+ local stripe_mock_max_port=12121
+ local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
+ # Try to start stripe-mock until we find a free port
+ while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
+ ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
+ stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
+ local stripe_mock_pid=${!}
+ sleep 2
+ # Did stripe-mock start?
+ curl --fail -u "sk_test_123:" \
+ "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
+ eend ${?} "Port ${stripe_mock_port} unavailable"
+ if [[ ${?} -eq 0 ]]; then
+ einfo "stripe-mock running on port ${stripe_mock_port}"
+ break
+ fi
+ (( stripe_mock_port++ ))
+ done
+ if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
+ eerror "Unable to start stripe-mock for tests"
+ die "Please see the logfile located at: ${stripe_mock_logfile}"
+ fi
+
+ local -x STRIPE_MOCK_PORT=${stripe_mock_port}
+ distutils-r1_src_test
+
+ # Tear down stripe-mock
+ kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
+}
diff --git a/dev-python/tavern/Manifest b/dev-python/tavern/Manifest
index b8209fb7f334..263285d0faf7 100644
--- a/dev-python/tavern/Manifest
+++ b/dev-python/tavern/Manifest
@@ -1,2 +1 @@
-DIST tavern-2.9.2.gh.tar.gz 248229 BLAKE2B b149f653c801588a11b53d5d6347eabd7e4159116f6b926a75831e0cc59bd072a8ac80ac284cf699447f4ea5ae0ee59b070ffe118899b4804a7292a7294fa1cc SHA512 d8fd2a0c74280db21203fcaf7579f98b44192e33293ad859c18a484d21ab9958600af6c657ae045153ada54b527fe025763bcb2a2eb4951666c2449b31d01590
DIST tavern-2.9.3.gh.tar.gz 248368 BLAKE2B feccd1c8e50db6def318553186f0dbfc9643c3942e060bb1950305c4e93fac15550b06d7ba5c2c6008175ef5a701f211408da3607ffcf3429d5542c97029cc7b SHA512 525a0b3f2c63fe4a9991ace7e27287898cbcd423e915e9ff4585eb85e0e42f06e499f653b2615b3f98998206b48c6c8f42468fae174ca4d7e7a38bf171b6feda
diff --git a/dev-python/tavern/tavern-2.9.2.ebuild b/dev-python/tavern/tavern-2.9.2.ebuild
deleted file mode 100644
index d837d9701698..000000000000
--- a/dev-python/tavern/tavern-2.9.2.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# 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_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A tool, library, and Pytest plugin for testing RESTful APIs"
-HOMEPAGE="
- https://github.com/taverntesting/tavern/
- https://pypi.org/project/tavern/
-"
-SRC_URI="
- https://github.com/taverntesting/tavern/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
-
-RDEPEND="
- >=dev-python/jmespath-1[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4[${PYTHON_USEDEP}]
- >=dev-python/paho-mqtt-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/pyjwt-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/pykwalify-1.8.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-7[${PYTHON_USEDEP}]
- >=dev-python/python-box-6[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
- >=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/colorlog[${PYTHON_USEDEP}]
- dev-python/Faker[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # strip unnecessary pins, upstream doesn't update them a lot
- sed -i -E -e 's:,?<=?[0-9.]+::' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires grpc
- tests/unit/test_extensions.py::TestGrpcCodes
- )
- local EPYTEST_IGNORE=(
- # require grpc*
- tavern/_plugins/grpc
- tests/unit/tavern_grpc
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p tavern
-}
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index 4fc798ea9a2a..97f8baf24e12 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -3,3 +3,4 @@ DIST trimesh-4.1.4.gh.tar.gz 13438872 BLAKE2B b03efc741bccf3b08c9f8611dbf282d99f
DIST trimesh-4.1.5.gh.tar.gz 13440026 BLAKE2B bdf27c0ebfc24ede66ecd8ae94151cbf926e187112f096246080db34a43a23f950674a461c29d8b87a71d6b5bc8e3cc824007b54be90593ceb552e1669e41e36 SHA512 a62cdbad4a053fe6bf3d70285c2484600af09f9bc6a638214b10718bdf3c0901053bad0d25c4d7dc96f396c66fb3d438981d3fc96ea179bb078abb3d8b87695b
DIST trimesh-4.1.6.gh.tar.gz 13439647 BLAKE2B 785d27d794922a8e42013c4cbb9e58589874bd1db17c8b9f3490a91456d9b0a729c7714928e420174a5c7d9d4ccaa1781350134f13d1e2fb530150445d88918f SHA512 9b3da87a176a5585c7d4ff818e883f259277ad3efc13c50bcb1dd17a6635b688b0b657d0111c50c93c01a453b6f96c757a58da88edc32de64bf11cba316913ef
DIST trimesh-4.1.7.gh.tar.gz 13439430 BLAKE2B afd663112b71500f0fdf8655bc0bade6dc3ca5d80464192402eca6e57e1d15e3cb5539442c5575e4fdaa119a9ff93381297bee53d8138b157159be1a1a40c66b SHA512 4b0ca18e03875700f08e8110ac189cd448ca9f5ae07efcdf6a2d8fa3ec22f72a2c2ebf0d40a95e521da8c065aa66b7b0c1685e9bd91d1a7111ddca9c24f8d73c
+DIST trimesh-4.1.8.gh.tar.gz 13440336 BLAKE2B aa4bddc3d613144a0e304ec320a2b38df213846260e2525dae0f0f35a4146561e7b81dc88e197a5b0f0a76ff4b757c30df2a68fe0db0d4a37cdc8a91aedc41ba SHA512 e20ca45f08a4d65c44c214b104af7c6d9d27121716ed7efd53a521c5b896ce788dba91b7794db518f26bb2ae86a1b8269af94f9b9381f8fdd342372b4ba86ce4
diff --git a/dev-python/trimesh/trimesh-4.1.8.ebuild b/dev-python/trimesh/trimesh-4.1.8.ebuild
new file mode 100644
index 000000000000..fdbbaa5a2b10
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.1.8.ebuild
@@ -0,0 +1,69 @@
+# 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_{10..12} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Python library for loading and using triangular meshes"
+HOMEPAGE="
+ https://trimesh.org/
+ https://github.com/mikedh/trimesh/
+ https://pypi.org/project/trimesh/
+"
+SRC_URI="
+ https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pycollada[${PYTHON_USEDEP}]
+ dev-python/pyglet[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
+ dev-python/svg-path[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ sci-libs/rtree[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mapbox_earcut[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_TIMEOUT=1800
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+pkg_postinst() {
+ optfeature_header "${PN} functionality can be extended by installing the following packages:"
+ optfeature "making GUI applications with 3D stuff" dev-python/glooey
+ optfeature "2D triangulations of polygons" dev-python/mapbox_earcut
+ optfeature "loading a number of additional mesh formats" dev-python/meshio
+ optfeature "figuring out how much memory we have" dev-python/psutil
+ optfeature "marching cubes and other nice stuff" dev-python/scikit-image
+}
diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest
index 5549f3302650..936caa923744 100644
--- a/dev-python/types-docutils/Manifest
+++ b/dev-python/types-docutils/Manifest
@@ -1,3 +1,4 @@
DIST types-docutils-0.20.0.20240302.tar.gz 13137 BLAKE2B 3e9190aa61d73454df392bd7c069db7b0fccccb2ad84017de8ec8051bd5c74f6bb9798ebfa4e5cb92aee444ec051a736fc1b2f2bf046cdc7ac32b675a5ca606e SHA512 44f6cab5155e92d95aa18846f8713af156f61fec742651727f50f6779140fcab73cd993b2271796a563564a7301ad3f18f4b38de79e01b51440026832b1a044c
DIST types-docutils-0.20.0.20240303.tar.gz 13607 BLAKE2B 59963a2d072d8e3c408f778cb681872306f3f3598b24fa555993e1ef0e085aa2b1060528ca7ecae5f12bb6b0aca7b1e5d967cd21dabbbde558466aa057269f3e SHA512 37c4864d68183b75458cdf2898c454c80fa7fa5563918a63764a038cd3b41b6abc727dc5c79e06a19d3e3623653548b72c98b539ac2fb219cc3a8531924c97d5
DIST types-docutils-0.20.0.20240304.tar.gz 14344 BLAKE2B 9a1013cf9c76dc3b388f28e2ecd215ad9c058143f97e19d659d76249290ee9977ee018c5cd8c19ea8181948549fd6ae9c6196a1901659cfd141cbd231b4626eb SHA512 2156a97382029c75186c49460a1fc24a91db43c187a82eb967726f97cddd9232ab58182b5a33422d205e1d87bfcdea8a1e86513545917f8d0a4d4d915616274b
+DIST types-docutils-0.20.0.20240308.tar.gz 14973 BLAKE2B 19fdba7a81197ad8ab643371aa7ec98fc8fe0bb12ae5a8b684acada5cf7c9431471d1a16157cf79e437e3e5cbc52f262a60adec42a71b3fff8381f404bdce437 SHA512 321c3e5dd7ff0f9040ead0d81255c557d9929ef130371b371514748e4fe6af97fd598763e12e260848e782883316ce27b059066e19dd1ccba4d5ee0b0bff16b5
diff --git a/dev-python/types-docutils/types-docutils-0.20.0.20240308.ebuild b/dev-python/types-docutils/types-docutils-0.20.0.20240308.ebuild
new file mode 100644
index 000000000000..cb335ec2836f
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.20.0.20240308.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022-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_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for docutils"
+HOMEPAGE="https://pypi.org/project/types-docutils/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/types-setuptools/Manifest b/dev-python/types-setuptools/Manifest
index 7526f06d0ca6..945e6b7ade42 100644
--- a/dev-python/types-setuptools/Manifest
+++ b/dev-python/types-setuptools/Manifest
@@ -1 +1,2 @@
DIST types-setuptools-69.1.0.20240302.tar.gz 34794 BLAKE2B 278be0abe3891e8436a2a583d7220d7e28e80606a7170bdc174aa184d43734f5c46c396a12122cbdfe593020fcd4e8851389f99ef0708226d2a47a547dc4b0e6 SHA512 9160098d6146f32069805a096d8c3418de1618748948ff813d0209071b28746bd526441e8e34d93b8e0ac9d5a9d22b6656a6a00377bd6599263fa13e3456189a
+DIST types-setuptools-69.1.0.20240308.tar.gz 34868 BLAKE2B 091073d8741f2d3d7a45cfe31ab07bbfc52a7a90b049d5bbe354fce9baaf8c45dacda70651f6b12a4e88a92e6f27a667075a96529583d688657357554a9e05e1 SHA512 326d304bb5c1fb8b6b95793e48da69ad3ee4fa1c87f45fd272d91502a69e65f354cc0806dacfe82122af13ee58de0d12eaec12f8a9cb20adaf4284794652e679
diff --git a/dev-python/types-setuptools/types-setuptools-69.1.0.20240308.ebuild b/dev-python/types-setuptools/types-setuptools-69.1.0.20240308.ebuild
new file mode 100644
index 000000000000..69fd1036f5c6
--- /dev/null
+++ b/dev-python/types-setuptools/types-setuptools-69.1.0.20240308.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2023-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_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for setuptools"
+HOMEPAGE="https://pypi.org/project/types-setuptools/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index c0d1992ccce0..e0c54d81a846 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -197,6 +197,10 @@ _DISTUTILS_R1_ECLASS=1
inherit flag-o-matic
inherit multibuild multilib multiprocessing ninja-utils toolchain-funcs
+if [[ ${DISTUTILS_USE_PEP517} == meson-python ]]; then
+ inherit meson
+fi
+
if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
inherit python-r1
else
@@ -1386,9 +1390,19 @@ distutils_pep517_install() {
)
;;
meson-python)
+ # variables defined by setup_meson_src_configure
+ local MESONARGS=() BOOST_INCLUDEDIR BOOST_LIBRARYDIR NM READELF
+ # it also calls filter-lto
+ local x
+ for x in $(all-flag-vars); do
+ local -x "${x}=${!x}"
+ done
+
+ setup_meson_src_configure "${DISTUTILS_ARGS[@]}"
+
local -x NINJAOPTS=$(get_NINJAOPTS)
config_settings=$(
- "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die
+ "${EPYTHON}" - "${MESONARGS[@]}" <<-EOF || die
import json
import os
import shlex
@@ -1812,28 +1826,33 @@ distutils-r1_run_phase() {
local -x AR=${AR} CC=${CC} CPP=${CPP} CXX=${CXX}
tc-export AR CC CPP CXX
- if [[ ${DISTUTILS_EXT} ]]; then
- if [[ ${BDEPEND} == *dev-python/cython* ]] ; then
- # Workaround for https://github.com/cython/cython/issues/2747 (bug #918983)
- local -x CFLAGS="${CFLAGS} $(test-flags-CC -Wno-error=incompatible-pointer-types)"
- fi
-
+ # Perform additional environment modifications only for python_compile
+ # phase. This is the only phase where we expect to be calling the Python
+ # build system. We want to localize the altered variables to avoid them
+ # leaking to other parts of multi-language ebuilds. However, we want
+ # to avoid localizing them in other phases, particularly
+ # python_configure_all, where the ebuild may wish to alter them globally.
+ if [[ ${DISTUTILS_EXT} && ( ${1} == *compile* || ${1} == *test* ) ]]; then
local -x CPPFLAGS="${CPPFLAGS} $(usex debug '-UNDEBUG' '-DNDEBUG')"
# always generate .c files from .pyx files to ensure we get latest
# bug fixes from Cython (this works only when setup.py is using
# cythonize() but it's better than nothing)
local -x CYTHON_FORCE_REGEN=1
+
+ # Rust extensions are incompatible with C/C++ LTO compiler
+ # see e.g. https://bugs.gentoo.org/910220
+ if has cargo ${INHERITED}; then
+ local x
+ for x in $(all-flag-vars); do
+ local -x "${x}=${!x}"
+ done
+ filter-lto
+ fi
fi
# silence warnings when pydevd is loaded on Python 3.11+
local -x PYDEVD_DISABLE_FILE_VALIDATION=1
- # Rust extensions are incompatible with C/C++ LTO compiler
- # see e.g. https://bugs.gentoo.org/910220
- if has cargo ${INHERITED}; then
- filter-lto
- fi
-
# How to build Python modules in different worlds...
local ldopts
case "${CHOST}" in
diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index 3bf0ba9ebe97..85f024de1b0c 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -393,9 +393,6 @@ setup_meson_src_configure() {
tc-export NM
tc-getPROG READELF readelf >/dev/null
- # https://bugs.gentoo.org/625396
- python_export_utf8_locale
-
# https://bugs.gentoo.org/721786
export BOOST_INCLUDEDIR="${BOOST_INCLUDEDIR-${EPREFIX}/usr/include}"
export BOOST_LIBRARYDIR="${BOOST_LIBRARYDIR-${EPREFIX}/usr/$(get_libdir)}"
@@ -412,6 +409,9 @@ meson_src_configure() {
BUILD_DIR="${BUILD_DIR:-${WORKDIR}/${P}-build}"
+ # https://bugs.gentoo.org/625396
+ python_export_utf8_locale
+
(
setup_meson_src_configure "$@"
MESONARGS+=(
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 3af3cbdb075e..caa39813feec 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -884,7 +884,7 @@ python_doheader() {
[[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).'
local includedir=$(python_get_includedir)
- local d=${includedir#${EPREFIX}}
+ local d=${includedir#${ESYSROOT}}
(
insopts -m 0644
diff --git a/sci-mathematics/z3/Manifest b/sci-mathematics/z3/Manifest
index a22863ee41d3..89468d2ba859 100644
--- a/sci-mathematics/z3/Manifest
+++ b/sci-mathematics/z3/Manifest
@@ -1,2 +1,3 @@
DIST z3-4.12.5.tar.gz 5491803 BLAKE2B 9ad626386c73dea23b4a304312d5381be76b4c6b9aab4850568e4badd2a404cc7bf3f379490577b3acf8935f5bf8b39e241a8f85ed02819eb6d43785a9286e4a SHA512 b5055468d1380c54b959f826e10846c323c0ef73cf6bba0970e187c38cabd5869786261cd9b89a89d8369144417180870627782bf705e5494286dfe75053c9a7
DIST z3-4.12.6.tar.gz 5492517 BLAKE2B 721db0881ec77112ca0461897fa01f2b7e9f8748976f54d1b0c36acc583f74c175d0002cf46261f87c15b2614832700c1e5f94a199767a945041950cc3d9048d SHA512 10883877d20adbd229ad4bf65a9b50660d93d85514f933865f06920efd697f51ce34e502fbe451d4c1b2251f13d597050b8277036d4011d9c0f196111d681f8f
+DIST z3-4.13.0.tar.gz 5520232 BLAKE2B 0889c03991311c46c361f269b85fb316c0b4be5cee84f1bb420ef640876058431fe5ec00f58a3dc9377ed3a2ea1cd908a8d9731f9575cf0e4a819fe1f50be670 SHA512 8503787fe0b18592b5a131bcec2cacfa5f5096d76386a1c4fda7a836e472924b154433306d27600ff0d0758ddb710c965901fbfc2e5605919b624b9d4d1bc4fd
diff --git a/sci-mathematics/z3/z3-4.13.0.ebuild b/sci-mathematics/z3/z3-4.13.0.ebuild
new file mode 100644
index 000000000000..f5b80b16a7e7
--- /dev/null
+++ b/sci-mathematics/z3/z3-4.13.0.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake-multilib flag-o-matic java-pkg-opt-2 python-single-r1
+
+DESCRIPTION="An efficient theorem prover"
+HOMEPAGE="https://github.com/Z3Prover/z3/"
+SRC_URI="https://github.com/Z3Prover/z3/archive/${P}.tar.gz"
+S=${WORKDIR}/z3-${P}
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="doc examples gmp isabelle java python"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ gmp? ( dev-libs/gmp:0=[cxx(+),${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ java? ( >=virtual/jdk-1.8 )
+"
+BDEPEND="
+ doc? ( app-text/doxygen[dot] )
+"
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ cmake_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/879327
+ # https://github.com/Z3Prover/z3/issues/7143
+ #
+ # Do not trust it with LTO either.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ -DZ3_USE_LIB_GMP=$(usex gmp)
+ -DZ3_ENABLE_EXAMPLE_TARGETS=OFF
+ -DZ3_BUILD_DOCUMENTATION=$(multilib_native_usex doc)
+ -DZ3_BUILD_PYTHON_BINDINGS=$(multilib_native_usex python)
+ -DZ3_BUILD_JAVA_BINDINGS=$(multilib_native_usex java)
+ -DZ3_INCLUDE_GIT_DESCRIBE=OFF
+ -DZ3_INCLUDE_GIT_HASH=OFF
+ )
+
+ multilib_is_native_abi && use java && mycmakeargs+=( -DJAVA_HOME="$(java-config -g JAVA_HOME )" )
+
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ cmake_build test-z3
+ set -- "${BUILD_DIR}"/test-z3 /a
+ echo "${@}" >&2
+ "${@}" || die
+}
+
+multilib_src_install_all() {
+ dodoc README.md
+ use examples && dodoc -r examples
+ use python && python_optimize
+
+ if use isabelle; then
+ insinto /usr/share/Isabelle/contrib/${P}/etc
+ newins - settings <<-EOF
+ Z3_COMPONENT="\$COMPONENT"
+ Z3_HOME="${EPREFIX}/usr/bin"
+ Z3_SOLVER="${EPREFIX}/usr/bin/z3"
+ Z3_REMOTE_SOLVER="z3"
+ Z3_VERSION="${PV}"
+ Z3_INSTALLED="yes"
+ Z3_NON_COMMERCIAL="yes"
+ EOF
+ fi
+}
+
+pkg_postinst() {
+ if use isabelle; then
+ if [[ -f ${ROOT}/etc/isabelle/components ]]; then
+ sed -e "/contrib\/${PN}-[0-9.]*/d" \
+ -i "${ROOT}/etc/isabelle/components" || die
+ cat <<-EOF >> "${ROOT}/etc/isabelle/components" || die
+ contrib/${P}
+ EOF
+ fi
+ fi
+}
+
+pkg_postrm() {
+ if use isabelle; then
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ if [[ -f "${ROOT}/etc/isabelle/components" ]]; then
+ # Note: this sed should only match the version of this ebuild
+ # Which is what we want as we do not want to remove the line
+ # of a new Isabelle component being installed during an upgrade.
+ sed -e "/contrib\/${P}/d" \
+ -i "${ROOT}/etc/isabelle/components" || die
+ fi
+ fi
+ fi
+}