summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-05-30 17:42:51 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-05-30 17:42:51 +0000
commite9cbf29b799655f47d44dc9918f96bcfcb3e2e43 (patch)
treeeba533f66917dd7cb108af34fa43e61a05bf2c09 /dev-python
parentacd774cdb0e5124cb9adc53400b0e5fe969081d8 (diff)
downloadbaldeagleos-repo-e9cbf29b799655f47d44dc9918f96bcfcb3e2e43.tar.gz
baldeagleos-repo-e9cbf29b799655f47d44dc9918f96bcfcb3e2e43.tar.xz
baldeagleos-repo-e9cbf29b799655f47d44dc9918f96bcfcb3e2e43.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.34.115.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.34.115.ebuild67
-rw-r--r--dev-python/bracex/bracex-2.4.ebuild2
-rw-r--r--dev-python/contourpy/contourpy-1.2.1.ebuild2
-rw-r--r--dev-python/cppy/cppy-1.2.1-r1.ebuild2
-rw-r--r--dev-python/fonttools/fonttools-4.51.0.ebuild2
-rw-r--r--dev-python/gsd/Manifest1
-rw-r--r--dev-python/gsd/gsd-3.3.0.ebuild40
-rw-r--r--dev-python/httpauth/Manifest1
-rw-r--r--dev-python/httpauth/httpauth-0.4.1.ebuild21
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.103.0.ebuild91
-rw-r--r--dev-python/jaraco-vcs/jaraco-vcs-2.2.0.ebuild2
-rw-r--r--dev-python/jaraco-versioning/jaraco-versioning-1.1.0.ebuild2
-rw-r--r--dev-python/kiwisolver/kiwisolver-1.4.5.ebuild2
-rw-r--r--dev-python/mypy/mypy-1.10.0.ebuild2
-rw-r--r--dev-python/openpyxl/Manifest1
-rw-r--r--dev-python/openpyxl/openpyxl-3.1.3.ebuild52
-rw-r--r--dev-python/pdm/Manifest1
-rw-r--r--dev-python/pdm/pdm-2.15.4.ebuild117
-rw-r--r--dev-python/pdoc3/Manifest1
-rw-r--r--dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild2
-rw-r--r--dev-python/pdoc3/pdoc3-0.10.0-r2.ebuild42
-rw-r--r--dev-python/pygccxml/Manifest1
-rw-r--r--dev-python/pygccxml/files/pygccxml-2.4.0-pyproject.patch10
-rw-r--r--dev-python/pygccxml/pygccxml-2.4.0.ebuild33
-rw-r--r--dev-python/pypax/pypax-0.9.5-r2.ebuild47
-rw-r--r--dev-python/pyside2-tools/Manifest1
-rw-r--r--dev-python/pyside2-tools/pyside2-tools-5.15.14.ebuild84
-rw-r--r--dev-python/pyside2/Manifest1
-rw-r--r--dev-python/pyside2/pyside2-5.15.14.ebuild229
-rw-r--r--dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild2
-rw-r--r--dev-python/rapidfuzz/Manifest1
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.9.2.ebuild68
-rw-r--r--dev-python/requests/Manifest1
-rw-r--r--dev-python/requests/requests-2.32.3.ebuild82
-rw-r--r--dev-python/rst-linker/rst-linker-2.6.0.ebuild2
-rw-r--r--dev-python/scipy/scipy-1.13.0.ebuild2
-rw-r--r--dev-python/shiboken2/Manifest1
-rw-r--r--dev-python/shiboken2/shiboken2-5.15.14.ebuild173
-rw-r--r--dev-python/slixmpp/slixmpp-9999.ebuild7
-rw-r--r--dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild2
-rw-r--r--dev-python/sqlglot/Manifest1
-rw-r--r--dev-python/sqlglot/sqlglot-24.0.3.ebuild121
-rw-r--r--dev-python/sympy/Manifest1
-rw-r--r--dev-python/sympy/sympy-1.12.1.ebuild104
-rw-r--r--dev-python/xlwt/xlwt-1.3.0-r2.ebuild2
49 files changed, 1425 insertions, 60 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index f231a73ca3f7..92ad5c1f2ac3 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -2,3 +2,4 @@ DIST boto3-1.34.103.gh.tar.gz 807394 BLAKE2B da291c86a8b20bcaac5f93779899bfa5c6c
DIST boto3-1.34.108.gh.tar.gz 809808 BLAKE2B 56d21fdc35917426ea94f27ee4c7a59bc9eb8b265bdd6366216df090e25e834a7045cc26559b4773a12771a825054462552a44a701acabf2ba662aae9aee1f90 SHA512 d286bb99b838469b8f467f54fcebba4f3712fd1247cda227ba42dab2690ddc937368edcf54452b1ea555d19c9e0f8852c7ac01f0a3612b0592b16e97abbb6697
DIST boto3-1.34.113.gh.tar.gz 812031 BLAKE2B ffb4cc54a83d9d783eb69694393a6cc8c4d07325496802de80e8ac1999a1b5f45166571ae52eb8b38cb7d3e58d0cc8114088f7cd698f090b6ab1244565c0af63 SHA512 eebde25a83b2a7169b6892fa61475f26f9bf6baf7eff242d8bde0a5cd1920a7a39107071b093e59aca2a742662e16825b7fcf2850f59840da63a9cf78a19615d
DIST boto3-1.34.114.gh.tar.gz 812014 BLAKE2B fd11639c03d8b5a106af0781d71bc10f185aadeeb27aa5cd62fb6c005e4fa57eb1cbfa544c4940817e4ac28a085ff6c6aaa77d4a9ef19928f605e21b93ff7984 SHA512 3f4ace4460d467a490e885bd1e523799495e83dcc51815ddd7ca77a7ba054057763fa9f13f5c6c89e2603be880d7d85b5ac0ae523c05a016285bf8dd9b3e1f29
+DIST boto3-1.34.115.gh.tar.gz 812507 BLAKE2B d53ec48e920333c02d637d9f2fa9276ec52dc5384c3b2b85a1e6395b331528f3b71232ba45cf9b2b66512fb7e8caedbddd1d6bfcb4a420994477fb992f9d4872 SHA512 63859d9f7a0d07a479286c12fb5873cf1d0de6e27e5e6cf6d1450d0d238b5520606bda3dc5dbd559432a2c68350e6f12cf85dd094c505d27d4ddbe4e7ebe6fce
diff --git a/dev-python/boto3/boto3-1.34.115.ebuild b/dev-python/boto3/boto3-1.34.115.ebuild
new file mode 100644
index 000000000000..509842b2699d
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.115.ebuild
@@ -0,0 +1,53 @@
+# 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="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}]
+"
+
+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 5992313a0d10..78da13ad4828 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -2,3 +2,4 @@ DIST botocore-1.34.103.gh.tar.gz 13018336 BLAKE2B 84cef06d1eff09fc9e7d4480bc11be
DIST botocore-1.34.108.gh.tar.gz 13029228 BLAKE2B 947c11bb991e9e7622412bb7e90579e56d688b43ed836fb95ac133520221f56c2e96dc3a6d8b939d334ee4b4ad6ce8b30259c671be1bf9b3fc3deae62391674c SHA512 af23c80879d12cbb279741c216b99bf643b09ef516837275d31f6fbce253863027741b0cd6c815ae32bb6f41ebf0d33c8f2120ec81d6a3803cd0ffeab7be91e1
DIST botocore-1.34.113.gh.tar.gz 13060395 BLAKE2B 8f9329d613f489f2305d068566940a94199a16e9d538597a86cd916a331245a70c6ad771f0d7d71a05a77a49c86aa8ff6be2ac6cd97c04828cc9f54cb6c5e2ac SHA512 218656c921b7ae6a605d6cca4cb90b76aee2a18541e78189828f2adfbb821fbebac406ba19887c0a07aece72dd4936f41b057fb25611e1b03db4bd11fda66bd6
DIST botocore-1.34.114.gh.tar.gz 13062423 BLAKE2B 3d72a66466da0f2979bb8a6a47b7a732df048755eee3f2de4e44753aac1a2155502ed106ba5378e04b12d77fff1ee1c0f2baf317487a33a18645eca81e07f89a SHA512 183c91714f50a68e20663dde9cdd101d919c368fa8e0e95d4b71d89d0a560b2b0cac591d884b894de0b310cef5fa65784b288f21bb044c5e4ec196d81d645a6c
+DIST botocore-1.34.115.gh.tar.gz 13066625 BLAKE2B d894c358515f6c3b65cc4f562ac0afbf95efb7829bc8987d27be927b447f84e118d861f06df84b4f49e9b66ddd5f74ae94550419017cb9c8346d36498279c92e SHA512 82720ce84bc9ffafffc73bde5ae0033a5696c63f92d1c48538b2c257500e3f3597d0d44ab1d9e378917f59c1be085c9649b946512bf87175a1e8edb997b195f6
diff --git a/dev-python/botocore/botocore-1.34.115.ebuild b/dev-python/botocore/botocore-1.34.115.ebuild
new file mode 100644
index 000000000000..857224b496b7
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.115.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_{8,9,10,11,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/bracex/bracex-2.4.ebuild b/dev-python/bracex/bracex-2.4.ebuild
index a01537a34171..efdddbb6e7e7 100644
--- a/dev-python/bracex/bracex-2.4.ebuild
+++ b/dev-python/bracex/bracex-2.4.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/contourpy/contourpy-1.2.1.ebuild b/dev-python/contourpy/contourpy-1.2.1.ebuild
index 58466a0be7f6..9bbd1ada8676 100644
--- a/dev-python/contourpy/contourpy-1.2.1.ebuild
+++ b/dev-python/contourpy/contourpy-1.2.1.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/numpy-1.20[${PYTHON_USEDEP}]
diff --git a/dev-python/cppy/cppy-1.2.1-r1.ebuild b/dev-python/cppy/cppy-1.2.1-r1.ebuild
index ed1be72edb7a..db6fbed3fee9 100644
--- a/dev-python/cppy/cppy-1.2.1-r1.ebuild
+++ b/dev-python/cppy/cppy-1.2.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/fonttools/fonttools-4.51.0.ebuild b/dev-python/fonttools/fonttools-4.51.0.ebuild
index 65a5a430f7e6..2a58b639d265 100644
--- a/dev-python/fonttools/fonttools-4.51.0.ebuild
+++ b/dev-python/fonttools/fonttools-4.51.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
IUSE="+native-extensions"
RDEPEND="
diff --git a/dev-python/gsd/Manifest b/dev-python/gsd/Manifest
index 788096f40a97..3ea7ca0ce492 100644
--- a/dev-python/gsd/Manifest
+++ b/dev-python/gsd/Manifest
@@ -1 +1,2 @@
DIST gsd-3.2.1.tar.gz 108463 BLAKE2B d944a1a7f991e0894bfa1e42aa891ed02f0bbbf91efda39ab45b87f21c17bcc16251a51a34682efb67b6b85cf7fc9d6d92108d85d9643ab8e19aed584397779f SHA512 e889b72d3857d41e68d9515d5857d99f8f6ceead4b8a43019ddf11c4600054c7af3e046792ce154031bfb439c57ecd9d0e553a574cbbf7bce2578b90da631230
+DIST gsd-3.3.0.tar.gz 108961 BLAKE2B 1f734534717af776ebb5a62ddf67eabcc5bc99a814e48ac8d962fc034f24e4eb87a3e45087f3e2f7db757bfd57e44668e41a3ca1fccf406d964024a3a2d399ae SHA512 f01017f46626d19ae5e5bf683c719d6f74b0f3a9d295cd2e54d736f8ca9c25740389b9701b636b2513039919d52e6a6193215cdf759c1f5d3e686071c3888c27
diff --git a/dev-python/gsd/gsd-3.3.0.ebuild b/dev-python/gsd/gsd-3.3.0.ebuild
new file mode 100644
index 000000000000..6f85c8f56bba
--- /dev/null
+++ b/dev-python/gsd/gsd-3.3.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="GSD - file format specification and a library to read and write it"
+HOMEPAGE="
+ https://github.com/glotzerlab/gsd/
+ https://pypi.org/project/gsd/
+"
+SRC_URI="
+ https://github.com/glotzerlab/gsd/releases/download/v${PV}/${P}.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ >=dev-python/numpy-1.24.2[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cd "${T}" || die
+ epytest --pyargs gsd
+}
diff --git a/dev-python/httpauth/Manifest b/dev-python/httpauth/Manifest
index 1840fe76521a..b7d147793fdd 100644
--- a/dev-python/httpauth/Manifest
+++ b/dev-python/httpauth/Manifest
@@ -1,2 +1,3 @@
DIST httpauth-0.3.tar.gz 4440 BLAKE2B 41c9ba9ee50b7fcc4ed409f4b34897b5243df4065fd081cd5c0951ebe2719a34a424e59c21adbcd9be133c8fe4fa4ad9dc7bec561285b873987f982f684b3682 SHA512 aa35148322a1c5ffc22a132d3062d300118aa23181a0008018d0aacfd473758d86d50ff1236d88126858a53e2f45aeea938988b2d1a8f62f80a97d8c2cc69822
+DIST httpauth-0.4.1.tar.gz 5526 BLAKE2B afa99c4cd1d2a8a0d776b8e68e4b5864db786713eba6213c18f5773d6347e70e785e03ba57ce23e89c8eb80c2f04829ed0c617c8ccdee802e394e5f39df6a858 SHA512 f9472aa8aa3e640bfd00b458fe356fa7d1d762d64ca5fececf7d679ce81c03b6efe22d7c224b09eed188b9289aa59efb43f9e626e71552285d886a1fab1318ef
DIST httpauth-0.4.gh.tar.gz 5437 BLAKE2B 9db9085afab06a8189e6ecad38a7da8a5599a39f6ca257f3a29818eeea100ca8301c704873977177ca6f40f46953365d5af14a713f87ea85747d84d006787850 SHA512 3e42bd400447f0179ae70662d79c61378a20dd1fcec2684d6b374de3114e362d1ad177ac7dcd9624a167de213df67438933161c083515a1ec6d20aadc6003dc4
diff --git a/dev-python/httpauth/httpauth-0.4.1.ebuild b/dev-python/httpauth/httpauth-0.4.1.ebuild
new file mode 100644
index 000000000000..c8eaceebc36d
--- /dev/null
+++ b/dev-python/httpauth/httpauth-0.4.1.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} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A WSGI middleware that secures routes using HTTP Digest Authentication"
+HOMEPAGE="
+ https://github.com/jonashaag/httpauth/
+ https://pypi.org/project/httpauth/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index cc371f507703..933cd60b0f36 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,2 +1,3 @@
DIST hypothesis-6.102.1.gh.tar.gz 9459939 BLAKE2B 36edbaf4ad89af3c4554e05ed395b29681b39708cd85a35cd5662766ce08ac95564a2b7ff7892e98df3fad1e729b779d00fcce86c2d17b879a21f3c877156875 SHA512 acb2b5f62e9f23eb379d61705f22330d9e81f7a23164bbdd196124fc3a67ba1265125597f840fa135f35af6f626229b3340b9557b2d69fc81f0b08c99d948e18
DIST hypothesis-6.102.6.gh.tar.gz 9462342 BLAKE2B 7daf1cfedd3e8aec72ca2a16a320ccac8c03d62dd02c7b6e20a8c0e8e9510996fc36b5f1050c111ef2eb389b77a9f468b23ef7627867b8d50559c59df003f635 SHA512 aa458c9db8ca0f5661ffc64ae61b08ffe2e93cd1fe5431752aa92339af22cf90b79763d08c6e381dd0875b26b2cfbdad92e95cc581ba325072ec5330223d3b7e
+DIST hypothesis-6.103.0.gh.tar.gz 9461225 BLAKE2B 66dd333598af775371b9c1d12b00441397b687f2c1a6e590626988579ebf4a06b53b8a20ae4812ef02f36fcd18ccc681f1c80eaa65c799c9d5a748bfcf081c4b SHA512 636a5df06dba81d76ec054c9d69cc95e0a511182f6555adf8e0b982757d7f96c5e55ee462ed8228eeac8226c7bfa591621513cd17bd52d81bb258419e5dfaded
diff --git a/dev-python/hypothesis/hypothesis-6.103.0.ebuild b/dev-python/hypothesis/hypothesis-6.103.0.ebuild
new file mode 100644
index 000000000000..29919aa8ec05
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.103.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+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-8[${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/jaraco-vcs/jaraco-vcs-2.2.0.ebuild b/dev-python/jaraco-vcs/jaraco-vcs-2.2.0.ebuild
index ec3b8d04ff66..f6ad78b90bc2 100644
--- a/dev-python/jaraco-vcs/jaraco-vcs-2.2.0.ebuild
+++ b/dev-python/jaraco-vcs/jaraco-vcs-2.2.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc ~x86"
RDEPEND="
dev-python/jaraco-classes[${PYTHON_USEDEP}]
diff --git a/dev-python/jaraco-versioning/jaraco-versioning-1.1.0.ebuild b/dev-python/jaraco-versioning/jaraco-versioning-1.1.0.ebuild
index ef5e2c3525c5..6a7db7ae999e 100644
--- a/dev-python/jaraco-versioning/jaraco-versioning-1.1.0.ebuild
+++ b/dev-python/jaraco-versioning/jaraco-versioning-1.1.0.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc ~x86"
RDEPEND="
dev-python/packaging[${PYTHON_USEDEP}]
diff --git a/dev-python/kiwisolver/kiwisolver-1.4.5.ebuild b/dev-python/kiwisolver/kiwisolver-1.4.5.ebuild
index d6839cf7c00d..641a8c93bdef 100644
--- a/dev-python/kiwisolver/kiwisolver-1.4.5.ebuild
+++ b/dev-python/kiwisolver/kiwisolver-1.4.5.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/mypy/mypy-1.10.0.ebuild b/dev-python/mypy/mypy-1.10.0.ebuild
index e1cfc2698f51..d9a54d37e1ea 100644
--- a/dev-python/mypy/mypy-1.10.0.ebuild
+++ b/dev-python/mypy/mypy-1.10.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+native-extensions"
# stubgen collides with this package: https://bugs.gentoo.org/585594
diff --git a/dev-python/openpyxl/Manifest b/dev-python/openpyxl/Manifest
index 1d3454889175..e9954806baa0 100644
--- a/dev-python/openpyxl/Manifest
+++ b/dev-python/openpyxl/Manifest
@@ -1 +1,2 @@
DIST openpyxl-3.1.2.tar.bz2 2733302 BLAKE2B 7030c698c2dfa3c3f27f23485e33cc9f4ffc0c473e590785ebfa03a958f7c1deab98503890b7350f32cbb4607b3fbf543b35299c0f8abfbfcc779e96ddda9ee1 SHA512 307d82dcf839c60be606c01f862701f69017573894c7fd26e35ec3edead2ea2a126aecca61b0c7f6727ff834dd6bed844095b9a56f2b510689ab071926a7a742
+DIST openpyxl-3.1.3.tar.bz2 2739587 BLAKE2B 64161f8ea0629f4bd2ef65187c2d1c0cfa23e155df7b5a4a81c386c48d339956e3d854da040157170852df19ab53d65fd0be9a4f1d4f5b5f6eed20e0fe1e89f9 SHA512 dee9dac201319ed6b3c14cb0cd396148a7caedebb2a95534a1b9fcb75afc445bfd73e67fdbd750334872e4bd3bf1a71d20c48930ff6b195f4f1c6312a5e762f8
diff --git a/dev-python/openpyxl/openpyxl-3.1.3.ebuild b/dev-python/openpyxl/openpyxl-3.1.3.ebuild
new file mode 100644
index 000000000000..d7914d35361d
--- /dev/null
+++ b/dev-python/openpyxl/openpyxl-3.1.3.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure python reader and writer of Excel OpenXML files"
+HOMEPAGE="
+ https://openpyxl.readthedocs.io/en/stable/
+ https://foss.heptapod.net/openpyxl/openpyxl/
+"
+SRC_URI="
+ https://foss.heptapod.net/openpyxl/openpyxl/-/archive/${PV}/${P}.tar.bz2
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/et-xmlfile[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/lxml-5.0.3[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP},tiff,jpeg]
+ )
+"
+
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # GC assumptions (pypy)
+ openpyxl/tests/test_iter.py::test_file_descriptor_leak
+ )
+
+ if has_version ">=dev-python/numpy-2[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ # https://foss.heptapod.net/openpyxl/openpyxl/-/issues/2187
+ openpyxl/compat/tests/test_compat.py::test_numpy_tostring
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/pdm/Manifest b/dev-python/pdm/Manifest
index 06ca4030459e..2224fbb64baa 100644
--- a/dev-python/pdm/Manifest
+++ b/dev-python/pdm/Manifest
@@ -1,3 +1,4 @@
DIST pdm-2.15.1.tar.gz 2612654 BLAKE2B 043f4d3ca54cd277f8c6fdd35fb423497eb7b172e085df5bffdd21d9ff5103b112a659fb61c342991211c9630333c713272ba43c65eff52c8dd6b88e4f81e563 SHA512 b6a1028767f154a5a594cd8523d31cec16df46e1c63bb73541a516877879480ffc6916316289f67cda0ae5e4740cab448b029a694743b9816604b2eb175a8722
DIST pdm-2.15.2.tar.gz 2613423 BLAKE2B 91c2d7137223ef143a3a3cb51915ab3b02ef7a6f97798b5a75af05b90c909ade0e1d0b52e6e011956bfb925e76e569dc65bc3258c4397013254c6c5483f1e0ec SHA512 dc58b46fc6a3e8c2ee664b70d7c2112fad3fce5445c390393c4a44230a5e1793baad46baa5b0581fcea49d414a04b0c5dce361b489d82daa4f61f511704c8080
DIST pdm-2.15.3.tar.gz 2613644 BLAKE2B bc37f4417176a8540fff32e4329da7e6162e9f85379ff6965272315ee691dc38c8f8d1857988e89688d6498433f89c02520d0e498408fb0b9f1924d1ca961ac0 SHA512 d411e695fff4ca8f35cfbce2c8eb1434a0775bc028f852782fc445b18c5f7774d82710d7604a7641bd07ae2a7cd2fd082128caadd0cd7a472cf6a58754071385
+DIST pdm-2.15.4.tar.gz 2614984 BLAKE2B d405db3a1e3e678bf27b0edc91434c7c78da902f2b7615dd8debd47db020817fe80a16562efca875e8ec3b2a39355c9bf5362f48c40a032c41607222951e9a01 SHA512 b15490723f3052b3cd8ed2d000c3b1a3c7fbd77c5f0bbcbb1dee8c74d5266f6835e395878eb7eaf8dff28c11daeb15ce60db9fe49c847ccb5bee2a7f211021df
diff --git a/dev-python/pdm/pdm-2.15.4.ebuild b/dev-python/pdm/pdm-2.15.4.ebuild
new file mode 100644
index 000000000000..48afdaf05b85
--- /dev/null
+++ b/dev-python/pdm/pdm-2.15.4.ebuild
@@ -0,0 +1,117 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python package and dependency manager supporting the latest PEP standards"
+HOMEPAGE="
+ https://pdm-project.org/
+ https://github.com/pdm-project/pdm/
+ https://pypi.org/project/pdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/blinker[${PYTHON_USEDEP}]
+ >=dev-python/dep-logic-0.2.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/truststore[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/hishel[${PYTHON_USEDEP}]
+ dev-python/pbs-installer[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ >=dev-python/unearth-0.15.0[${PYTHON_USEDEP}]
+ <dev-python/findpython-1[${PYTHON_USEDEP}]
+ >=dev-python/findpython-0.6.0[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.0.1[${PYTHON_USEDEP}]
+ dev-python/installer[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ 'tests/cli/test_build.py::test_build_with_no_isolation[False]'
+ tests/test_project.py::test_access_index_with_auth
+ "tests/test_project.py::test_find_interpreters_with_PDM_IGNORE_ACTIVE_VENV[True]"
+ tests/cli/test_others.py::test_build_distributions
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz]'
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[-e file:///${PROJECT_ROOT}/tests/fixtures/projects/demo-#-with-hash#egg=demo]'
+ tests/models/test_candidates.py::test_find_candidates_from_find_links
+ tests/cli/test_build.py::test_build_single_module
+ tests/cli/test_build.py::test_build_single_module_with_readme
+ tests/cli/test_build.py::test_build_package
+ tests/cli/test_build.py::test_build_src_package
+ tests/cli/test_build.py::test_build_package_include
+ tests/cli/test_build.py::test_build_src_package_by_include
+ tests/cli/test_build.py::test_build_with_config_settings
+ tests/cli/test_build.py::test_cli_build_with_config_settings
+ tests/cli/test_build.py::test_build_ignoring_pip_environment
+ tests/cli/test_others.py::test_show_self_package
+ tests/cli/test_publish.py::test_publish_and_build_in_one_run
+ "tests/cli/test_hooks.py::test_hooks[build]"
+ "tests/cli/test_hooks.py::test_hooks[publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-publish]"
+ "tests/cli/test_venv.py::test_conda_backend_create[True]"
+ "tests/cli/test_venv.py::test_conda_backend_create[False]"
+ tests/cli/test_lock.py::test_lock_all_with_excluded_groups
+ # hangs on interactive keyring prompts
+ tests/cli/test_config.py::test_repository_overwrite_default
+ tests/cli/test_config.py::test_hide_password_in_output_repository
+ tests/cli/test_config.py::test_hide_password_in_output_pypi
+ # junk output, sigh
+ tests/cli/test_others.py::test_info_command_json
+ # why does it try to use python 2.7?!
+ tests/cli/test_run.py::test_import_another_sitecustomize
+ # fails in tinderbox (bug #928964)
+ tests/test_project.py::test_project_packages_path
+ )
+ [[ ${EPYTHON} != python3.10 ]] && EPYTEST_DESELECT+=(
+ # test seems hardcoded to 3.10
+ tests/test_project.py::test_project_packages_path
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not network and not integration and not path" \
+ -p pytest_mock
+}
diff --git a/dev-python/pdoc3/Manifest b/dev-python/pdoc3/Manifest
index aeb0b7e4a865..faddddc4258d 100644
--- a/dev-python/pdoc3/Manifest
+++ b/dev-python/pdoc3/Manifest
@@ -1 +1,2 @@
+DIST pdoc3-0.10.0-fix-deprecation-warnings.patch 1447 BLAKE2B 6a4c554f3e0d3b66927cef22ab87a07c0711e6b01203bc37e54097f29f4c2547bd6daf721fa8745f941b1c74cd122222ccf8896ab6174c6775a47703ac02d17b SHA512 73d91a8f0d5747cefb972e1a6a028216688fde2f92cd8e5c4139dcebacc4a825e86345c419af7ccf5682dc6458ea5b20fd45799896555a8acadebc61da549140
DIST pdoc3-0.10.0.tar.gz 86133 BLAKE2B 3bada6fb1b048c4eff7556108c29d7f92ee988332d160c4ff765c47bf0cf7a461ed90f93e7be25a7a3251f5d3e70492d23be7230a5ec4abb12612b7e0dd4b5b6 SHA512 646ffb9bceb4456a1ab36c840eb384858aab430443905bc71e62e9c71112a769b69e22cbd18a9d75b7968e2336cbbaa9072103f96dc2d0829ccc7515b057ca85
diff --git a/dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild b/dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild
index 2a651e1bc6c7..675de0645bfd 100644
--- a/dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild
+++ b/dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild
@@ -11,8 +11,8 @@ inherit distutils-r1 pypi
DESCRIPTION="Auto-generate API documentation for Python projects"
HOMEPAGE="https://pdoc3.github.io/pdoc/"
-SLOT="0"
LICENSE="AGPL-3+"
+SLOT="0"
KEYWORDS="amd64 ~x86"
RDEPEND="
diff --git a/dev-python/pdoc3/pdoc3-0.10.0-r2.ebuild b/dev-python/pdoc3/pdoc3-0.10.0-r2.ebuild
new file mode 100644
index 000000000000..3781196997df
--- /dev/null
+++ b/dev-python/pdoc3/pdoc3-0.10.0-r2.ebuild
@@ -0,0 +1,42 @@
+# 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="Auto-generate API documentation for Python projects"
+HOMEPAGE="https://pdoc3.github.io/pdoc/"
+SRC_URI+="
+ https://github.com/pdoc3/pdoc/commit/14cd51c1b7431cdec5c3e7510b8a0e3b66c2f7d4.patch
+ -> ${PN}-0.10.0-fix-deprecation-warnings.patch
+"
+
+LICENSE="AGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.0[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-TST-use-explicit-ClassWithNew-instead-of-typing.Gene.patch"
+ "${FILESDIR}/${PN}-0.10.0-update-tests.patch"
+ "${DISTDIR}"/${PN}-0.10.0-fix-deprecation-warnings.patch
+)
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ sed -i \
+ -e "/setuptools_git/d" \
+ -e "/setuptools_scm/d" \
+ setup.py || die
+}
+
+distutils_enable_tests unittest
diff --git a/dev-python/pygccxml/Manifest b/dev-python/pygccxml/Manifest
index 2b29408d2234..2e8b7633ee94 100644
--- a/dev-python/pygccxml/Manifest
+++ b/dev-python/pygccxml/Manifest
@@ -1,2 +1 @@
-DIST pygccxml-2.4.0.gh.tar.gz 3165189 BLAKE2B 855b0b6313be29e7719abe4cc6e654904657c11bfd7310d647227ce9d7760821eeb348dcd9892afbcc3d467db96daaf3010e92803fe28962db9a255cf81eae46 SHA512 48bf4887344c68d0a93a3908cc0a744f3d6a74dce92be88527e85cf7ba1a46f88560730dce0b858f31523cada836aad40461de935c5c2a041de0fa2ae5e38c30
DIST pygccxml-2.5.0.gh.tar.gz 3163862 BLAKE2B 2a61474acab7e7a21b21bc7131a9b9aae2a318d3b761c9a3865055146331891e5fb2041a9136bd8816e60a4dc76a39a22d5f5632f22336341667eee537521a42 SHA512 499be7383ac9817c5620f7f0b2e6fdb9a6f5d934cc54a2ef9864877a2a7d896997ab5bc2e8b0c3c87df1ac7e4a384d3c8cbcc87f9496125502c97766df57b003
diff --git a/dev-python/pygccxml/files/pygccxml-2.4.0-pyproject.patch b/dev-python/pygccxml/files/pygccxml-2.4.0-pyproject.patch
deleted file mode 100644
index ba00ed45ad34..000000000000
--- a/dev-python/pygccxml/files/pygccxml-2.4.0-pyproject.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- pyproject.toml.orig 2023-11-20 13:59:55.807461669 +0100
-+++ pyproject.toml 2023-11-20 14:00:37.335886130 +0100
-@@ -1,5 +1,6 @@
- [build-system]
--requires = ["setuptools", "wheel"]
-+requires = ["setuptools"]
-+build-backend = "setuptools.build_meta"
-
- [project]
- name = "pygccxml"
diff --git a/dev-python/pygccxml/pygccxml-2.4.0.ebuild b/dev-python/pygccxml/pygccxml-2.4.0.ebuild
deleted file mode 100644
index c0a714c76d5e..000000000000
--- a/dev-python/pygccxml/pygccxml-2.4.0.ebuild
+++ /dev/null
@@ -1,33 +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_{8,9,10,11,12} )
-inherit distutils-r1
-
-DESCRIPTION="A specialized XML reader to navigate C++ declarations"
-HOMEPAGE="https://github.com/CastXML/pygccxml"
-SRC_URI="https://github.com/CastXML/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~riscv ~x86"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/castxml
-"
-DEPEND="${RDEPEND}"
-
-distutils_enable_tests unittest
-distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
-
-python_prepare_all() {
- eapply -p0 "${FILESDIR}/${PN}-2.4.0-pyproject.patch"
- eapply "${FILESDIR}/${PN}-2.4.0-doc.patch"
- eapply_user
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/pypax/pypax-0.9.5-r2.ebuild b/dev-python/pypax/pypax-0.9.5-r2.ebuild
new file mode 100644
index 000000000000..694567ec5c13
--- /dev/null
+++ b/dev-python/pypax/pypax-0.9.5-r2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+if [[ ${PV} == *9999* ]] ; then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/elfix.git"
+ inherit git-r3
+else
+ SRC_URI="https://dev.gentoo.org/~blueness/elfix/elfix-${PV}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ S="${WORKDIR}/elfix-${PV}"
+fi
+
+DESCRIPTION="Python module to get or set either PT_PAX and/or XATTR_PAX flags"
+HOMEPAGE="https://dev.gentoo.org/~blueness/elfix/
+ https://wiki.gentoo.org/wiki/Project:Hardened/PaX_Quickstart"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+ptpax +xtpax"
+REQUIRED_USE="|| ( ptpax xtpax )"
+
+RDEPEND="
+ ptpax? ( dev-libs/elfutils )
+ xtpax? ( sys-apps/attr )"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ cd scripts || die
+ unset PTPAX
+ unset XTPAX
+ use ptpax && export PTPAX="yes"
+ use xtpax && export XTPAX="yes"
+ distutils-r1_src_compile
+}
+
+src_install() {
+ cd scripts || die
+ distutils-r1_src_install
+}
diff --git a/dev-python/pyside2-tools/Manifest b/dev-python/pyside2-tools/Manifest
index e0d57a9d915f..4778a534d869 100644
--- a/dev-python/pyside2-tools/Manifest
+++ b/dev-python/pyside2-tools/Manifest
@@ -1 +1,2 @@
DIST pyside-setup-opensource-src-5.15.13.tar.xz 3585684 BLAKE2B be464e1a4a5e1523dbc214fdb7be7c5679f33835910d6c12ba464104f3582905f22dd3ae05cbfbb0a7b2d29748335e15d3069d25c754364f5abce85b8b6c8855 SHA512 559e1d474e382ec835cdf2bc69eb27113fdb920a96a63ab0ee022c2a9d2141e5919afd566cb82701e4d2130b142aa59fcbfd60db34823a4f03b879eee5d9e3a8
+DIST pyside-setup-opensource-src-5.15.14.tar.xz 3586520 BLAKE2B ef103cf3116af2c1378018d44abf3766fed6ba545d0e5f3ea6f720047a884edc1eac2dbfce4ddd806472f2ac6355166fd0cef5427f1f85e73306544306adf003 SHA512 c6ca15cc3a3051c00519d9ccb64d48977f8e5587938f97205fe96511ec7bca1a67308325bc1d61712475514c2a1b351fbac2c84f5cee923f55eb91869f49acd5
diff --git a/dev-python/pyside2-tools/pyside2-tools-5.15.14.ebuild b/dev-python/pyside2-tools/pyside2-tools-5.15.14.ebuild
new file mode 100644
index 000000000000..ef9cae1f7c5f
--- /dev/null
+++ b/dev-python/pyside2-tools/pyside2-tools-5.15.14.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{10..11} )
+
+LLVM_COMPAT=( 15 )
+
+inherit cmake llvm-r1 python-r1
+
+MY_P=pyside-setup-opensource-src-${PV}
+
+DESCRIPTION="PySide development tools (pyside2-lupdate with support for Python)"
+HOMEPAGE="https://wiki.qt.io/PySide2"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/sources/${PN}"
+
+LICENSE="GPL-2"
+SLOT="5/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-3)*:5"
+
+RDEPEND="${PYTHON_DEPS}
+ =dev-python/shiboken2-${QT_PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
+ =dev-python/pyside2-${QT_PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
+ !dev-python/pyside2-tools:0
+"
+DEPEND="${RDEPEND}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ ')
+"
+
+# the tools conflict with tools from QT
+PATCHES=(
+ "${FILESDIR}/${PN}-5.15.11-no-copy-uic.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ python_copy_sources
+}
+
+src_configure() {
+ pyside-tools_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTS=OFF
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ )
+ cmake_src_configure
+ }
+
+ python_foreach_impl pyside-tools_configure
+}
+
+src_compile() {
+ pyside-tools_compile() {
+ cmake_src_compile
+ }
+
+ python_foreach_impl pyside-tools_compile
+}
+
+src_install() {
+ pyside-tools_install() {
+ # This replicates the contents of the PySide6 pypi wheel
+ DESTDIR="${BUILD_DIR}" cmake_build install
+ dobin "${BUILD_DIR}/usr/bin/pyside2-lupdate"
+ python_moduleinto PySide2/scripts
+ python_domodule "${BUILD_DIR}/usr/bin/pyside_tool.py"
+ }
+
+ python_foreach_impl pyside-tools_install
+
+ einstalldocs
+}
diff --git a/dev-python/pyside2/Manifest b/dev-python/pyside2/Manifest
index e0d57a9d915f..4778a534d869 100644
--- a/dev-python/pyside2/Manifest
+++ b/dev-python/pyside2/Manifest
@@ -1 +1,2 @@
DIST pyside-setup-opensource-src-5.15.13.tar.xz 3585684 BLAKE2B be464e1a4a5e1523dbc214fdb7be7c5679f33835910d6c12ba464104f3582905f22dd3ae05cbfbb0a7b2d29748335e15d3069d25c754364f5abce85b8b6c8855 SHA512 559e1d474e382ec835cdf2bc69eb27113fdb920a96a63ab0ee022c2a9d2141e5919afd566cb82701e4d2130b142aa59fcbfd60db34823a4f03b879eee5d9e3a8
+DIST pyside-setup-opensource-src-5.15.14.tar.xz 3586520 BLAKE2B ef103cf3116af2c1378018d44abf3766fed6ba545d0e5f3ea6f720047a884edc1eac2dbfce4ddd806472f2ac6355166fd0cef5427f1f85e73306544306adf003 SHA512 c6ca15cc3a3051c00519d9ccb64d48977f8e5587938f97205fe96511ec7bca1a67308325bc1d61712475514c2a1b351fbac2c84f5cee923f55eb91869f49acd5
diff --git a/dev-python/pyside2/pyside2-5.15.14.ebuild b/dev-python/pyside2/pyside2-5.15.14.ebuild
new file mode 100644
index 000000000000..f202b34f7aa0
--- /dev/null
+++ b/dev-python/pyside2/pyside2-5.15.14.ebuild
@@ -0,0 +1,229 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{10..11} )
+
+LLVM_COMPAT=( 15 )
+
+inherit cmake llvm-r1 python-r1 virtualx
+
+# TODO: Add conditional support for "QtRemoteObjects" via a new "remoteobjects"
+# USE flag after an external "dev-qt/qtremoteobjects" package has been created.
+# TODO: Add conditional support for apidoc generation via a new "doc" USE flag.
+# Note that doing so requires the Qt source tree, sphinx, and graphviz. Once
+# ready, pass the ${QT_SRC_DIR} variable to cmake to enable this support.
+# TODO: Disable GLES support if the "gles2-only" USE flag is disabled. Note
+# that the "PySide2/QtGui/CMakeLists.txt" and
+# "PySide2/QtOpenGLFunctions/CMakeLists.txt" files test for GLES support by
+# testing whether the "Qt5::Gui" list property defined by
+# "/usr/lib64/cmake/Qt5Gui/Qt5GuiConfig.cmake" at "dev-qt/qtgui" installation
+# time contains the substring "opengles2". Since cmake does not permit
+# properties to be overridden from the command line, these files must instead
+# be conditionally patched to avoid these tests. An issue should be filed with
+# upstream requesting a CLI-settable variable to control this.
+
+MY_P=pyside-setup-opensource-src-${PV}
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://wiki.qt.io/PySide2"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/sources/pyside2"
+
+# See "sources/pyside2/PySide2/licensecomment.txt" for licensing details.
+# Shall we allow essential modules to be disabled? They are:
+# (core), gui, widgets, printsupport, sql, network, testlib, concurrent,
+# x11extras (for X)
+LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )"
+SLOT="5/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="
+ 3d charts +concurrent datavis designer gles2-only +gui help location
+ multimedia +network positioning +printsupport qml quick
+ scxml sensors speech +sql svg test +testlib webchannel webengine websockets
+ +widgets +x11extras xml xmlpatterns
+"
+
+# Manually reextract these requirements on version bumps by running the
+# following one-liners from within "${S}":
+# $ grep 'set.*_deps' PySide2/Qt*/CMakeLists.txt
+# $ cat /lib64/cmake/Qt5*/Qt5*.cmake | grep -i DEPENDENCIES
+# Note that the "designer" USE flag corresponds to the "Qt5UiTools" module.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ 3d? ( gui network )
+ charts? ( gui widgets )
+ datavis? ( gui )
+ designer? ( gui widgets xml )
+ gles2-only? ( gui )
+ help? ( gui sql widgets )
+ location? ( gui network positioning quick )
+ multimedia? ( gui network widgets )
+ printsupport? ( gui widgets )
+ qml? ( gui network )
+ quick? ( gui network qml widgets network )
+ speech? ( multimedia )
+ sql? ( widgets )
+ svg? ( widgets )
+ testlib? ( widgets )
+ webchannel? ( qml )
+ webengine? (
+ gui network positioning quick qml
+ widgets? ( printsupport network webchannel )
+ )
+ websockets? ( network )
+ widgets? ( gui )
+ x11extras? ( gui )
+"
+
+# Tests fail pretty bad and I'm not fixing them right now
+RESTRICT="test"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-3)*:5"
+
+RDEPEND="${PYTHON_DEPS}
+ =dev-python/shiboken2-${QT_PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
+ =dev-qt/qtcore-${QT_PV}
+ =dev-qt/qtopengl-${QT_PV}[gles2-only=]
+ =dev-qt/qtserialport-${QT_PV}
+ 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] )
+ charts? ( =dev-qt/qtcharts-${QT_PV}[qml?] )
+ concurrent? ( =dev-qt/qtconcurrent-${QT_PV} )
+ datavis? ( =dev-qt/qtdatavis3d-${QT_PV}[qml?,gles2-only=] )
+ designer? ( =dev-qt/designer-${QT_PV} )
+ gui? ( =dev-qt/qtgui-${QT_PV}[jpeg,gles2-only=] )
+ help? ( =dev-qt/qthelp-${QT_PV} )
+ location? ( =dev-qt/qtlocation-${QT_PV} )
+ multimedia? ( =dev-qt/qtmultimedia-${QT_PV}[qml?,gles2-only=,widgets?] )
+ network? ( =dev-qt/qtnetwork-${QT_PV} )
+ positioning? ( =dev-qt/qtpositioning-${QT_PV}[qml?] )
+ printsupport? ( =dev-qt/qtprintsupport-${QT_PV}[gles2-only=] )
+ qml? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ quick? (
+ =dev-qt/qtdeclarative-${QT_PV}[widgets?]
+ =dev-qt/qtquickcontrols2-${QT_PV}[widgets?]
+ )
+ scxml? ( =dev-qt/qtscxml-${QT_PV} )
+ sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] )
+ speech? ( =dev-qt/qtspeech-${QT_PV} )
+ sql? ( =dev-qt/qtsql-${QT_PV} )
+ svg? ( =dev-qt/qtsvg-${QT_PV} )
+ testlib? ( =dev-qt/qttest-${QT_PV} )
+ webchannel? ( =dev-qt/qtwebchannel-${QT_PV}[qml] )
+ webengine? ( || (
+ =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?]
+ =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?]
+ )
+ )
+ websockets? ( =dev-qt/qtwebsockets-${QT_PV}[qml?] )
+ widgets? ( =dev-qt/qtwidgets-${QT_PV}[gles2-only=] )
+ x11extras? ( =dev-qt/qtx11extras-${QT_PV} )
+ xml? ( =dev-qt/qtxml-${QT_PV} )
+ xmlpatterns? ( =dev-qt/qtxmlpatterns-${QT_PV}[qml?] )
+ !dev-python/pyside2:0
+"
+DEPEND="${RDEPEND}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ ')
+ test? ( x11-misc/xvfb-run )
+"
+
+src_configure() {
+ # See COLLECT_MODULE_IF_FOUND macros in CMakeLists.txt
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DAnimation=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DCore=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DExtras=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DInput=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DLogic=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DRender=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Charts=$(usex !charts)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Concurrent=$(usex !concurrent)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5DataVisualization=$(usex !datavis)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Designer=$(usex !designer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Gui=$(usex !gui)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Help=$(usex !help)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Location=$(usex !location)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Multimedia=$(usex !multimedia)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5MultimediaWidgets=$(usex !multimedia yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Network=$(usex !network)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Positioning=$(usex !positioning)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5PrintSupport=$(usex !printsupport)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Qml=$(usex !qml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Quick=$(usex !quick)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5QuickControls2=$(usex !quick)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5QuickWidgets=$(usex !quick yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Script=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5ScriptTools=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Scxml=$(usex !scxml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Sensors=$(usex !sensors)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5TextToSpeech=$(usex !speech)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Sql=$(usex !sql)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Svg=$(usex !svg)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Test=$(usex !testlib)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5UiTools=$(usex !designer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebChannel=$(usex !webchannel)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngine=$(usex !webengine)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngineCore=$(usex !webengine)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngineWidgets=$(usex !webengine yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebSockets=$(usex !websockets)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Widgets=$(usex !widgets)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5X11Extras=$(usex !x11extras)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Xml=$(usex !xml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5XmlPatterns=$(usex !xmlpatterns)
+ )
+
+ pyside2_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)"
+ -DSHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX="-${EPYTHON}"
+ )
+ cmake_src_configure
+ }
+ python_foreach_impl pyside2_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ local -x PYTHONDONTWRITEBYTECODE
+ python_foreach_impl virtx cmake_src_test
+}
+
+src_install() {
+ pyside2_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the shiboken2 pkgconfig dependency in the PySide2 pkgconfig
+ # file for the current Python target. See also:
+ # https://github.com/leycec/raiagent/issues/73
+ sed -i -e 's~^Requires: shiboken2$~&-'${EPYTHON}'~' \
+ "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die
+
+ # Uniquify the PySide2 pkgconfig file for the current Python target,
+ # preserving an unversioned "pyside2.pc" file arbitrarily associated
+ # with the last Python target. (See the previously linked issue.)
+ cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl pyside2_install
+
+ # CMakeLists.txt installs a "PySide2Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., pyside2-tools) to target one
+ # "libpyside2-*.so" library linked to one Python interpreter. See also:
+ # https://bugreports.qt.io/browse/PYSIDE-1053
+ # https://github.com/leycec/raiagent/issues/74
+ sed -i -e 's~pyside2-python[[:digit:]]\+\.[[:digit:]]\+~pyside2${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)"/cmake/PySide2*/PySide2Targets-${CMAKE_BUILD_TYPE,,}.cmake || die
+}
diff --git a/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild b/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild
index 02064760ee47..d12b1e1f6112 100644
--- a/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild
+++ b/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/pytest-4.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/rapidfuzz/Manifest b/dev-python/rapidfuzz/Manifest
index 5389c840dbed..b2ba4048b0b5 100644
--- a/dev-python/rapidfuzz/Manifest
+++ b/dev-python/rapidfuzz/Manifest
@@ -1,2 +1,3 @@
DIST rapidfuzz-3.9.0.tar.gz 1591028 BLAKE2B 84b8e4572a596c291d6579cfdffd0d624e00ca1f93a38337ba6ad543d346fea0b9a636cd3814724073588b3cd2e61dea9b8c0527b1630f8f06ea6593537bbde6 SHA512 bfd0d399dc75c6654d5e66522a057298d3914f8b74955e873034b314926127971f1bf4ddca0c2c92e81ba5bae79caf249303b169805d48ef3d6c64fb706c9547
DIST rapidfuzz-3.9.1.tar.gz 1595099 BLAKE2B 491eb1dd3ea64f361e15e6f828d162b383f2cbe068331c6001fb112966b599199870013bc2e10b5e8dfe1d7c6f676a6d577d9d43b6054874a3b721233d17ba77 SHA512 f8efcc271a823c957b2a00f78ab7bf37133a87027fcb75d9e24cf1629b776d3f970ebe4f596e6685013408637e2e2b3713680c7716e9adb505241b61decee18b
+DIST rapidfuzz-3.9.2.tar.gz 1595571 BLAKE2B 47af3ce0a75eaf308e9ac3b00377f043f81fdd8687fc2b2278bc07cf8d1ec0f2734ddc3451867378a6018e09c74aa0048bed621f91be4dfafbe7d3f22c179269 SHA512 a8790205534f6de41cb527fb4d8697f51104ae13686bed3644752b50952c36e017892705200c4fff65ecc892894149b76a7b3588eab209bcec11866ed0ec40ff
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.9.2.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.9.2.ebuild
new file mode 100644
index 000000000000..a4692879cd32
--- /dev/null
+++ b/dev-python/rapidfuzz/rapidfuzz-3.9.2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+# custom wrapper over setuptools
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Rapid fuzzy string matching in Python using various string metrics"
+HOMEPAGE="
+ https://github.com/rapidfuzz/RapidFuzz/
+ https://pypi.org/project/rapidfuzz/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# all these are header-only libraries
+DEPEND="
+ >=dev-cpp/taskflow-3.0.0
+ >=dev-cpp/rapidfuzz-cpp-3.0.4
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/cython-3[${PYTHON_USEDEP}]
+ dev-python/rapidfuzz-capi[${PYTHON_USEDEP}]
+ >=dev-python/scikit-build-0.16.2[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # sterilize build flags
+ sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
+ # remove bundled libraries
+ rm -r extern || die
+ # force recythonization
+ find src -name '*.cxx' -delete || die
+ # do not require exact taskflow version
+ sed -i -e '/Taskflow/s:3\.7\.0::' CMakeLists.txt || die
+
+ distutils-r1_src_prepare
+
+ export RAPIDFUZZ_BUILD_EXTENSION=1
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ # scikit-build is broken and reuses the same build
+ # https://github.com/scikit-build/scikit-build/issues/633
+ rm -r _skbuild || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/requests/Manifest b/dev-python/requests/Manifest
index 5a523f50c9e2..154343007820 100644
--- a/dev-python/requests/Manifest
+++ b/dev-python/requests/Manifest
@@ -1,2 +1,3 @@
DIST requests-2.32.1.tar.gz 129920 BLAKE2B 9f46afeb3ea62e8bb537fb793bcf1b65b5cc2ae3f22263151b0bf5879aa2a11a1e87777453cc325f552964551750ef81524ef99ce132bb19df5161e1df5fe77f SHA512 6ae12ca26f04c3c001ef1882d17cd7f12412114214961db42d6b5f3f507640d1f07e325034761e02e7e5d9daacaab10a16884c2cb2c4128ca059a142b52bace8
DIST requests-2.32.2.tar.gz 130327 BLAKE2B 46fd3e49a63f55133126a1896bb693050a63a062c7258f119e285a735004671b12595debd87955b5f6f084996495e8a100bb0b09a43c376df0dcb0a6a8d083e2 SHA512 6f85e41f30d8bdf8d3343092d7fc163342c22c21cf0490eabd65cb66b59a464fbd6a4cd28f1f3ab1eac636adff2a8d55ded54c40351df93deafeb2aba62bcbde
+DIST requests-2.32.3.tar.gz 131218 BLAKE2B c36bd80e0544e83b80c001e6bfdde7b8552e65b888d44d781f95d5a6302dd34dfd4368e18dbfeab3a014d7170946c502e3bf3a6dbd027a60a2f0f535c674d75c SHA512 20d413597ff4803a62156ada25ef2e8a5edd0d4dbf7d79cc7fcd88d51a76e019a7dacf41d7c3d546306f37c506ede68f16b9afea57c918db64e702382b1ae420
diff --git a/dev-python/requests/requests-2.32.3.ebuild b/dev-python/requests/requests-2.32.3.ebuild
new file mode 100644
index 000000000000..b2ae0ba7d97d
--- /dev/null
+++ b/dev-python/requests/requests-2.32.3.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTTP library for human beings"
+HOMEPAGE="
+ https://requests.readthedocs.io/
+ https://github.com/psf/requests/
+ https://pypi.org/project/requests/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="socks5 test-rust"
+
+RDEPEND="
+ >=dev-python/certifi-2017.4.17[${PYTHON_USEDEP}]
+ <dev-python/charset-normalizer-4[${PYTHON_USEDEP}]
+ <dev-python/idna-4[${PYTHON_USEDEP}]
+ <dev-python/urllib3-3[${PYTHON_USEDEP}]
+ socks5? ( >=dev-python/PySocks-1.5.6[${PYTHON_USEDEP}] )
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/pytest-httpbin-2.0.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ >=dev-python/PySocks-1.5.6[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet (doctests)
+ requests/__init__.py::requests
+ requests/api.py::requests.api.request
+ requests/models.py::requests.models.PreparedRequest
+ requests/sessions.py::requests.sessions.Session
+ # require IPv4 interface in 10.* range
+ tests/test_requests.py::TestTimeout::test_connect_timeout
+ tests/test_requests.py::TestTimeout::test_total_timeout_connect
+ # TODO: openssl?
+ tests/test_requests.py::TestRequests::test_pyopenssl_redirect
+ # flask-2
+ tests/test_requests.py::TestRequests::test_cookie_sent_on_redirect
+ tests/test_requests.py::TestRequests::test_cookie_removed_on_expire
+ tests/test_requests.py::TestPreparingURLs::test_redirecting_to_bad_url
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ ;&
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # different repr()
+ requests/utils.py::requests.utils.from_key_val_list
+ )
+ ;;
+ esac
+
+ if ! has_version "dev-python/trustme[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_requests.py::TestRequests::test_https_warnings
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/rst-linker/rst-linker-2.6.0.ebuild b/dev-python/rst-linker/rst-linker-2.6.0.ebuild
index 37b779b53d3d..81ec66556df2 100644
--- a/dev-python/rst-linker/rst-linker-2.6.0.ebuild
+++ b/dev-python/rst-linker/rst-linker-2.6.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc ~x86"
RDEPEND="
dev-python/jaraco-context[${PYTHON_USEDEP}]
diff --git a/dev-python/scipy/scipy-1.13.0.ebuild b/dev-python/scipy/scipy-1.13.0.ebuild
index 2c9b7670b428..79ebd448b535 100644
--- a/dev-python/scipy/scipy-1.13.0.ebuild
+++ b/dev-python/scipy/scipy-1.13.0.ebuild
@@ -37,7 +37,7 @@ else
)"
if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc ~x86"
fi
fi
diff --git a/dev-python/shiboken2/Manifest b/dev-python/shiboken2/Manifest
index e0d57a9d915f..4778a534d869 100644
--- a/dev-python/shiboken2/Manifest
+++ b/dev-python/shiboken2/Manifest
@@ -1 +1,2 @@
DIST pyside-setup-opensource-src-5.15.13.tar.xz 3585684 BLAKE2B be464e1a4a5e1523dbc214fdb7be7c5679f33835910d6c12ba464104f3582905f22dd3ae05cbfbb0a7b2d29748335e15d3069d25c754364f5abce85b8b6c8855 SHA512 559e1d474e382ec835cdf2bc69eb27113fdb920a96a63ab0ee022c2a9d2141e5919afd566cb82701e4d2130b142aa59fcbfd60db34823a4f03b879eee5d9e3a8
+DIST pyside-setup-opensource-src-5.15.14.tar.xz 3586520 BLAKE2B ef103cf3116af2c1378018d44abf3766fed6ba545d0e5f3ea6f720047a884edc1eac2dbfce4ddd806472f2ac6355166fd0cef5427f1f85e73306544306adf003 SHA512 c6ca15cc3a3051c00519d9ccb64d48977f8e5587938f97205fe96511ec7bca1a67308325bc1d61712475514c2a1b351fbac2c84f5cee923f55eb91869f49acd5
diff --git a/dev-python/shiboken2/shiboken2-5.15.14.ebuild b/dev-python/shiboken2/shiboken2-5.15.14.ebuild
new file mode 100644
index 000000000000..6a2e8560cff1
--- /dev/null
+++ b/dev-python/shiboken2/shiboken2-5.15.14.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Split the "/usr/bin/shiboken2" binding generator from the
+# "/usr/lib64/libshiboken2-*.so" family of shared libraries. The former
+# requires everything (including Clang) at runtime; the latter only requires
+# Qt and Python at runtime. Note that "pip" separates these two as well. See:
+# https://doc.qt.io/qtforpython/shiboken2/faq.html#is-there-any-runtime-dependency-on-the-generated-binding
+# Once split, the PySide2 ebuild should be revised to require
+# "/usr/bin/shiboken2" at build time and "libshiboken2-*.so" at runtime.
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+LLVM_COMPAT=( 15 )
+
+inherit cmake llvm-r1 python-r1 toolchain-funcs
+
+MY_P=pyside-setup-opensource-src-${PV}
+
+DESCRIPTION="Python binding generator for C++ libraries"
+HOMEPAGE="https://wiki.qt.io/PySide2"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/sources/shiboken2"
+
+# The "sources/shiboken2/libshiboken" directory is triple-licensed under the
+# GPL v2, v3+, and LGPL v3. All remaining files are licensed under the GPL v3
+# with version 1.0 of a Qt-specific exception enabling shiboken2 output to be
+# arbitrarily relicensed. (TODO)
+LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3"
+SLOT="5/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="+docstrings numpy test vulkan"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Tests fail pretty bad and I'm not fixing them right now
+RESTRICT="test"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-3)*:5"
+
+# Since Clang is required at both build- and runtime, BDEPEND is omitted here.
+RDEPEND="${PYTHON_DEPS}
+ =dev-qt/qtcore-${QT_PV}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ ')
+ docstrings? (
+ >=dev-libs/libxml2-2.6.32
+ >=dev-libs/libxslt-1.1.19
+ =dev-qt/qtxml-${QT_PV}
+ =dev-qt/qtxmlpatterns-${QT_PV}
+ )
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ vulkan? ( dev-util/vulkan-headers )
+ !dev-python/shiboken2:0
+"
+DEPEND="${RDEPEND}
+ test? ( =dev-qt/qttest-${QT_PV} )
+"
+
+DOCS=( AUTHORS )
+
+src_prepare() {
+ # TODO: File upstream issue requesting a sane way to disable NumPy support.
+ if ! use numpy; then
+ sed -i -e '/\bprint(os\.path\.realpath(numpy))/d' \
+ libshiboken/CMakeLists.txt || die
+ fi
+
+ # Shiboken2 assumes Vulkan headers live under either "$VULKAN_SDK/include"
+ # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan".
+ if use vulkan; then
+ sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \
+ ApiExtractor/clangparser/compilersupport.cpp || die
+ fi
+
+ local clangver="$(CPP=clang clang-major-version)"
+
+ # Clang 15 and older used the full version as a directory name.
+ if [[ ${clangver} -lt 16 ]]; then
+ clangver="$(CPP=clang clang-fullversion)"
+ fi
+
+ # Shiboken2 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/"
+ # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the
+ # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is
+ # the largest version specifier that exists under the "/usr/lib/clang/"
+ # subdirectory. This assumption is false in edge cases, including when
+ # users downgrade from newer Clang versions but fail to remove those
+ # versions with "emerge --depclean". See also:
+ # https://github.com/leycec/raiagent/issues/85
+ #
+ # Sadly, the clang-* family of functions exported by the "toolchain-funcs"
+ # eclass are defective, returning nonsensical placeholder strings if the
+ # end user has *NOT* explicitly configured their C++ compiler to be Clang.
+ # PySide2 does *NOT* care whether the end user has done so or not, as
+ # PySide2 unconditionally requires Clang in either case. See also:
+ # https://bugs.gentoo.org/619490
+ sed -i -e 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${clangver}"'/include"))~' \
+ ApiExtractor/clangparser/compilersupport.cpp || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Minimal tests for now, 2 failing with the extended version
+ # FIXME Subscripted generics cannot be used with class and instance checks
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DDISABLE_DOCSTRINGS=$(usex !docstrings)
+ )
+
+ shiboken2_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DUSE_PYTHON_VERSION="${EPYTHON#python}"
+ -DFORCE_LIMITED_API=OFF
+ )
+ # CMakeLists.txt expects LLVM_INSTALL_DIR as an environment variable.
+ local -x LLVM_INSTALL_DIR="$(get_llvm_prefix)"
+ cmake_src_configure
+ }
+ python_foreach_impl shiboken2_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ python_foreach_impl cmake_src_test
+}
+
+src_install() {
+ shiboken2_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the "shiboken2" executable for the current Python target,
+ # preserving an unversioned "shiboken2" file arbitrarily associated
+ # with the last Python target.
+ cp "${ED}"/usr/bin/${PN}{,-${EPYTHON}} || die
+
+ # Uniquify the Shiboken2 pkgconfig file for the current Python target,
+ # preserving an unversioned "shiboken2.pc" file arbitrarily associated
+ # with the last Python target. See also:
+ # https://github.com/leycec/raiagent/issues/73
+ cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl shiboken2_install
+
+ # CMakeLists.txt installs a "Shiboken2Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., PySide2) to target one "libshiboken2-*.so"
+ # library and one "shiboken2" executable linked to one Python interpreter.
+ # See also:
+ # https://bugreports.qt.io/browse/PYSIDE-1053
+ # https://github.com/leycec/raiagent/issues/74
+ sed -i \
+ -e 's~shiboken2-python[[:digit:]]\+\.[[:digit:]]\+~shiboken2${PYTHON_CONFIG_SUFFIX}~g' \
+ -e 's~/bin/shiboken2~/bin/shiboken2${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)"/cmake/Shiboken2*/Shiboken2Targets-${CMAKE_BUILD_TYPE,,}.cmake || die
+
+ # Remove the broken "shiboken_tool.py" script. By inspection, this script
+ # reduces to a noop. Moreover, this script raises the following exception:
+ # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/../shiboken_tool.py': '/usr/bin/../shiboken_tool.py'
+ rm "${ED}"/usr/bin/shiboken_tool.py || die
+}
diff --git a/dev-python/slixmpp/slixmpp-9999.ebuild b/dev-python/slixmpp/slixmpp-9999.ebuild
index 47c5e20c30ee..eec714207543 100644
--- a/dev-python/slixmpp/slixmpp-9999.ebuild
+++ b/dev-python/slixmpp/slixmpp-9999.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,7 +22,7 @@ if [[ "${PV}" == "9999" ]]; then
inherit git-r3
else
inherit pypi
- KEYWORDS="~amd64 ~riscv"
+ KEYWORDS="amd64 ~riscv"
fi
DEPEND="
@@ -36,6 +36,9 @@ RDEPEND="
dev-python/pyasn1-modules[${PYTHON_USEDEP}]
dev-python/pyasn1[${PYTHON_USEDEP}]
${DEPEND}
+ $(python_gen_cond_dep '
+ >=dev-lang/python-3.12.1_p1:3.12
+ ' python3_12)
"
BDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
diff --git a/dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild b/dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild
index 73b59d53dc26..54f91ec88294 100644
--- a/dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild
+++ b/dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.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=7
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 3918780d10d3..0f419359b342 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -21,6 +21,7 @@ DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb9
DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
DIST sqlglot-24.0.1.tar.gz 18650459 BLAKE2B 96069393d5e9f05644d7352b701f74c9da157656d4cf9504557a004c0a288fa23b477bf1c50038b0dc14911e05d4da0b93da101d161eedcdc274c7f02daea17a SHA512 d1fcf7839fa8fdcb8cba311c6aad6b588619d75275b80483d2adc6fa8162e288abc7f3f410570c81bd50c3ac6d9429e85d93e1b4e5a01700c5249c8e85339817
DIST sqlglot-24.0.2.tar.gz 18685998 BLAKE2B 82b08e1de59ff4d2f8ad8760693a9223c8a9431e943640d2a97453eb66d0af0dc7a3979ac61a26d8d3ca834614c1469716bea059176aace45f2a3e3c0824f522 SHA512 01fa975b0d2d09bac87f3bcf7e39dbc733979d098adffd42c65f83ad7a8d81c48b5b327a8a244a4efbcca3924cf3fe7d3addc99a544d7f4ac446e3f85f52010b
+DIST sqlglot-24.0.3.tar.gz 18699657 BLAKE2B 263092d5646f3f29c8f1251102623c37257a678f5837ca374576ce96ab49ec6db030bdfacd34bf729119faea995a5698e7952c381880f5e0616c60260f525aba SHA512 765449ead2e3561970c4e77d80dab9449ae283a6d214b8eb7386f82c0eee2a60869ecd1a0e9453640786fbda3bea5550a3856bef1dc73a7fcf0500b318c79dae
DIST syn-2.0.41.crate 246016 BLAKE2B 9d389f2e2a0acb4c84c309456e8ffcc88c5d4d541535ed136832d7a6054dde45a598bb68e8a6f3062ca2a96e1ceae947d54b3aec9bad65b0c51d6733aa6c80db SHA512 6bbaf69ca783025dfb81ac3612ac60bfbed31b2d87792909b35c12892dadebdaff2ddf9463105e536b671dce5870610ab90fe29471284bbd3014dca8d6993f1a
DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
diff --git a/dev-python/sqlglot/sqlglot-24.0.3.ebuild b/dev-python/sqlglot/sqlglot-24.0.3.ebuild
new file mode 100644
index 000000000000..c040bab3734b
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-24.0.3.ebuild
@@ -0,0 +1,121 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+CARGO_OPTIONAL=1
+CRATES="
+ autocfg@1.1.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ heck@0.4.1
+ indoc@2.0.4
+ libc@0.2.150
+ lock_api@0.4.11
+ memoffset@0.9.0
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ proc-macro2@1.0.70
+ pyo3-build-config@0.20.0
+ pyo3-ffi@0.20.0
+ pyo3-macros-backend@0.20.0
+ pyo3-macros@0.20.0
+ pyo3@0.20.0
+ quote@1.0.33
+ redox_syscall@0.4.1
+ scopeguard@1.2.0
+ smallvec@1.11.2
+ syn@2.0.41
+ target-lexicon@0.12.12
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+SRC_URI+="
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ # remove fragile timing check
+ sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use native-extensions; then
+ local DISTUTILS_USE_PEP517=maturin
+ cd sqlglotrs || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ # make sure not to use an earlier installed version
+ local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
+ rm -rf sqlglotrs || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/sympy/Manifest b/dev-python/sympy/Manifest
index 94b934578aef..c480f49b59e0 100644
--- a/dev-python/sympy/Manifest
+++ b/dev-python/sympy/Manifest
@@ -1,2 +1,3 @@
+DIST sympy-1.12.1.gh.tar.gz 8025309 BLAKE2B 01fe3e95716b0efcf682613fb8ba6f149f4f4dc4ad3f20eb816d85f30042af1cd5860d3d157d4c26458520cc2f8e994ae6671058a7a0d5237e7f15d0e61f9e53 SHA512 9b50d2b0e8e9628c38296f8d1e25c83b1b9fa1503166b48cc344709217393b00910ad3441a1da0e81e6faf56e5db7a33bc96926918da024cafc77fb4957f94a4
DIST sympy-1.12.1rc1.gh.tar.gz 8009898 BLAKE2B 7afbcb0c17249509a1a780bdfbe72eee5aaa4b4548a587968bd2c454cbdbda9e81b47ee31c98a8aa2323d575a9cc8897f9b52aba0eec1ed831e3038b2fc15aff SHA512 575947bc1057d8bfb5e4d6f84243d0206449ef97d861e6029c11f0868c34b8d909159901054469738577edc8f941db14a61936402037a24153c1ca97af4758ad
DIST sympy-1.12.gh.tar.gz 7212937 BLAKE2B 1d37a019e7a6700e69e16d6ca7fdc563711165fc226ac6ec745d20fa6dc689ee9ea01a92549d851aacff763230872c2d1d0cb5bde581c4f960f5de515ffb5f06 SHA512 96a89b88f6912d70c56f5bd1903dd3c518963118ff25d033cdcb7da2f260b8ee209d3ab4a4394dd2b5dc0b4585b71ccd55d55c8e5c6e28024cccbedf07ee4360
diff --git a/dev-python/sympy/sympy-1.12.1.ebuild b/dev-python/sympy/sympy-1.12.1.ebuild
new file mode 100644
index 000000000000..c5d2404c5223
--- /dev/null
+++ b/dev-python/sympy/sympy-1.12.1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Computer Algebra System in pure Python"
+HOMEPAGE="
+ https://www.sympy.org/
+ https://github.com/sympy/sympy/
+ https://pypi.org/project/sympy/
+"
+# pypi sdist misses some files, notably top-level conftest.py, as of 1.12.1_rc1
+SRC_URI="
+ https://github.com/sympy/sympy/archive/${PV/_/}.tar.gz
+ -> ${P/_/}.gh.tar.gz
+"
+S=${WORKDIR}/${P/_/}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="aesara examples imaging ipython latex mathml opengl pdf png pyglet symengine texmacs"
+
+RDEPEND="
+ dev-python/mpmath[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ aesara? (
+ $(python_gen_cond_dep '
+ dev-python/aesara[${PYTHON_USEDEP}]
+ ' python3_{10..11})
+ )
+ imaging? ( dev-python/pillow[${PYTHON_USEDEP}] )
+ ipython? ( dev-python/ipython[${PYTHON_USEDEP}] )
+ latex? (
+ virtual/latex-base
+ dev-texlive/texlive-fontsextra
+ png? ( app-text/dvipng )
+ pdf? ( app-text/ghostscript-gpl )
+ )
+ mathml? ( dev-python/lxml[${PYTHON_USEDEP}] )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+ pyglet? ( dev-python/pyglet[${PYTHON_USEDEP}] )
+ symengine? ( dev-python/symengine[${PYTHON_USEDEP}] )
+ texmacs? ( app-office/texmacs )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require old version of antlr4
+ sympy/parsing/tests/test_autolev.py
+ sympy/parsing/tests/test_latex.py
+ # crash due to assertions in sys-devel/llvm[debug]
+ sympy/parsing/tests/test_c_parser.py
+
+ # TODO: pytest?
+ sympy/solvers/ode/tests/test_systems.py::test_linear_3eq_order1_type4_long_check
+ sympy/solvers/ode/tests/test_systems.py::test_linear_3eq_order1_type4_long_dsolve_dotprodsimp
+
+ # either very slow or hanging
+ sympy/solvers/ode/tests/test_systems.py::test_linear_new_order1_type2_de_lorentz_slow_check
+ sympy/integrals/tests/test_failing_integrals.py::test_issue_15227
+ sympy/matrices/tests/test_matrices.py::test_pinv_rank_deficient_when_diagonalization_fails
+ sympy/solvers/ode/tests/test_systems.py::test_nonlinear_3eq_order1_type1
+ sympy/solvers/ode/tests/test_systems.py::test_nonlinear_3eq_order1_type3
+
+ # known broken
+ # https://github.com/sympy/sympy/issues/26321
+ sympy/solvers/tests/test_simplex.py::test_lp
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest --veryquickcheck ||
+ die -n "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( AUTHORS README.md )
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+
+ if use texmacs; then
+ exeinto /usr/libexec/TeXmacs/bin/
+ doexe data/TeXmacs/bin/tm_sympy
+ insinto /usr/share/TeXmacs/plugins/sympy/
+ doins -r data/TeXmacs/progs
+ fi
+}
diff --git a/dev-python/xlwt/xlwt-1.3.0-r2.ebuild b/dev-python/xlwt/xlwt-1.3.0-r2.ebuild
index dba3b9a8077c..989f47044ce6 100644
--- a/dev-python/xlwt/xlwt-1.3.0-r2.ebuild
+++ b/dev-python/xlwt/xlwt-1.3.0-r2.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