diff options
Diffstat (limited to 'dev-python')
50 files changed, 1459 insertions, 298 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 4d365e6a14d1..cf7b49dee636 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -6,3 +6,4 @@ DIST boto3-1.43.40.gh.tar.gz 1175361 BLAKE2B cb24a2dd76debf1b3b2d759d020b2cf1724 DIST boto3-1.43.41.gh.tar.gz 1176299 BLAKE2B 25ddfdcf9b0e5fdb96ad5af8d78bef74d7e8ed41a506bfc13f257fb5dfd725c7fe40e5bead8f20b760c110cac72363161be1cf03ec64d8b3107b0251e32a6362 SHA512 11efe41cf581d7fd94c8f12a7456408a8965789bad044a7c79c44661dd109238c2ec9a6632537c3331c759150324de7280c3771ce506f44b26a7cce92e6c867f DIST boto3-1.43.42.gh.tar.gz 1177879 BLAKE2B 43471c8748c366198e5336548959a16f970750c7a6136296352731d6126334d5d11b2762a8115adfee4d4e2f1c1f3e53b2d35020a1868e6a3031e3d3024ae19e SHA512 e6054e484c26e0701aa63a41a09e22e9308e1470aba895fb82fd639d71057512d096083209648c99ee95b1c900a89f5ab639d826d1ef33fb5725be2a2bb9d24d DIST boto3-1.43.44.gh.tar.gz 1179130 BLAKE2B f6bbeebb51b901d115d3e2127a656650a4ed4d8176bf7cd7b0937a1f1470ff1fc70fa2565383ac057c01064feddb5441dc5c191db5c0ec1804cedb03875e48ac SHA512 d8d1579d3e90e5905dce1cc9cdcd9801a2a597be33840fac18d55b7f95d3912a72f45d6950a4e9e3917ac8a0e113a50358205d8697a20a10b9061f758615c80d +DIST boto3-1.43.45.gh.tar.gz 1179757 BLAKE2B f6650039a290d5cdedce0376f0ec77f4c55289629f1569ed0343df2c1f5ca7918e9233911c5892cad8be307757e9b0b123b55e1c541103239f91bcac47fe5ed0 SHA512 7a6af5f46b3e4cdba3f3797488d1100c52116c09001dee642b1fe54affa3d0a8d83861a0f61bb25a5ebfd43da0fc4e6ddb1e9ca005db8d6b7c9a3741c8d64ddf diff --git a/dev-python/boto3/boto3-1.43.45.ebuild b/dev-python/boto3/boto3-1.43.45.ebuild new file mode 100644 index 000000000000..93fbbe6dd59b --- /dev/null +++ b/dev-python/boto3/boto3-1.43.45.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +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 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + >=dev-python/botocore-${PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.19.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +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() { + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index b4e700caddc8..aa5ac27665e7 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -6,3 +6,4 @@ DIST botocore-1.43.40.gh.tar.gz 16621912 BLAKE2B 87339ac693df7e8753b8a7463a93aea DIST botocore-1.43.41.gh.tar.gz 16629580 BLAKE2B d8e01dbfbf2e3e890b44b9197e1959500256a5863d63b2c04a675f0dfd6ede3a3a961998f5f4dea62d868b11189f52e708f22680a74f3bb716a598a0c53e0dc2 SHA512 672411cc3030b95a98d9e3b0110a276e81fe3b1f0762213ededa8da93dd486bd2d15a9aec3ae76b9c2fbcea118a6512e49ac15f11a7367ad781ab29fa1eb68e4 DIST botocore-1.43.42.gh.tar.gz 16663349 BLAKE2B b215c60797e01bb32523b075d1aa15f5ceab48791eb6271092583b206c4a59451b6cdc4a214c97b564010090688f2c8032766fcbb97b5380e32b1d41ba3cc962 SHA512 18d159d62999946ef957ece6f44e44108296efe933f25e3295b9f9a2be8b8891e740ddb8fbac21a9a2808777d3a71426b48977e85e45e53c30c116b64eced49c DIST botocore-1.43.44.gh.tar.gz 16672858 BLAKE2B de2dc295be6016486eb2afece5708e5e7b5cbde68f89bc6d24de4f129406d029852c3864ec215a69a7c279c676f3624835ebbada59ccb048d4d27ab850242c8e SHA512 ed0a90b23ba6de8ea209e81fcfa8f230f94ac606d92f6832a4a0c3c318b8f470703dcdd89cf6c7437ea481dc6cb25120b4b7db143f3a0622b9b4f6df6fc6cecc +DIST botocore-1.43.45.gh.tar.gz 16675335 BLAKE2B 397f1f2e3c604c4eab0de2116e81a94905664e79d06accde77aed84b377b1895a200a5686017fff48d56c7e2f3f3f85a5a2b99e54e7ef5799c7e0291efa0e6a6 SHA512 1186b00138f4d0b9f07bc615da7e6f4cdd2ab35f707176523ba3fcd5d08ca010dd662b6631ddcad711916182a2f2b306185a5fe519e08474a84dd4137e0b23d6 diff --git a/dev-python/botocore/botocore-1.43.45.ebuild b/dev-python/botocore/botocore-1.43.45.ebuild new file mode 100644 index 000000000000..a3a161f78545 --- /dev/null +++ b/dev-python/botocore/botocore-1.43.45.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +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 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +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_PLUGINS=() +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 + ) + + epytest tests/{functional,unit} +} diff --git a/dev-python/btrfs/btrfs-15.ebuild b/dev-python/btrfs/btrfs-15.ebuild index e985ee0c7124..fba877e1c098 100644 --- a/dev-python/btrfs/btrfs-15.ebuild +++ b/dev-python/btrfs/btrfs-15.ebuild @@ -25,6 +25,8 @@ SLOT="0" KEYWORDS="amd64" IUSE="examples" +PATCHES=( "${FILESDIR}"/15-setup.patch ) + python_install_all() { if use examples; then # skip symlink meant for development diff --git a/dev-python/btrfs/files/15-setup.patch b/dev-python/btrfs/files/15-setup.patch new file mode 100644 index 000000000000..418ecbf8720f --- /dev/null +++ b/dev-python/btrfs/files/15-setup.patch @@ -0,0 +1,32 @@ +https://github.com/knorrie/python-btrfs/issues/55 +https://github.com/knorrie/python-btrfs/commit/7d27aa6665bd38ad05b6eb990dd3bfd5394ee37f + +From: Hans van Kranenburg <hans@knorrie.org> +Date: Sun, 10 May 2026 10:59:27 +0200 +Subject: [PATCH] setup.py: convert license classifier to SPDX + +setuptools >75.6.0 wants to see the license type specified differently. +Use SPDX identifier instead of the now unused field in classifiers. + +Thanks Holger Hoffstätte, for reporting. +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 744bf26..25ca48a 100644 +--- a/setup.py ++++ b/setup.py +@@ -56,11 +56,11 @@ def get_version(): + 'Development Status :: 5 - Production/Stable', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', +- 'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)', + 'Programming Language :: Python :: 3 :: Only', + 'Programming Language :: Python :: Implementation :: CPython', + 'Operating System :: POSIX :: Linux', + 'Topic :: System :: Filesystems', + 'Topic :: System :: Systems Administration', + ], ++ license='LGPL-3.0-or-later', + ) diff --git a/dev-python/build/Manifest b/dev-python/build/Manifest index d51f06339120..c82de5156a4f 100644 --- a/dev-python/build/Manifest +++ b/dev-python/build/Manifest @@ -1,2 +1,3 @@ DIST build-1.4.4.gh.tar.gz 95523 BLAKE2B f8f9247d4fbc27930a578fb4f0abba1e24af3e546f9b8af4fdef12e1d7c782b78805c917cbad77a9e8d2de9bd3e86613c8dc4a08fd5421e5d46dea948a3b8bdc SHA512 e296ad08b28b29e1233799ef25ad54265a19ced4c1c09db178776907d8ecc81f18d3f6bcc0f2197b250e5791e8c46362ba23a6a2ca455cab9d9dd308e4a8fc59 DIST build-1.5.0.gh.tar.gz 95863 BLAKE2B 58bd95373d424cc06a4cb32da7d3e58743d0a5b1b59f92887ceb5d432d0f84ca92d3ba1e32c77580161c24b6f245103ddde2c674633e49f3a7a6f742e19e59ed SHA512 25f69c82047698e802feaf162a1ee334d32f83689ace3e2116d2329a10310b3bcfc6f2e42242d875f4781dffb364c95112819eb2bdaaecc0ebd4b9c00a94b99b +DIST build-1.5.1.gh.tar.gz 119395 BLAKE2B bcf8d2e9abb06e8bda1e39667a3e29d562821fb2015ddcb6569de82e6a790c16f5a429a8cc2c58685287666d7759e462426168cbd65c28709fb967f713542e34 SHA512 d1ef87a2559ff29c0de4436ca2b9ed4e1f27660f81673afd40318586ff8fee581dc85936a00bf4b1afef8160746c0378a6a99c6c6887d64772450adc8387b2a3 diff --git a/dev-python/build/build-1.5.1.ebuild b/dev-python/build/build-1.5.1.ebuild new file mode 100644 index 000000000000..d770a2a28362 --- /dev/null +++ b/dev-python/build/build-1.5.1.ebuild @@ -0,0 +1,78 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +PYTHON_TESTED=( python3_{13..14} ) +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +MY_P=${P/_p/.post} +DESCRIPTION="A simple, correct PEP517 package builder" +HOMEPAGE=" + https://pypi.org/project/build/ + https://github.com/pypa/build/ +" +SRC_URI=" + https://github.com/pypa/build/archive/${PV/_p/.post}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="test test-rust" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/packaging-24.0[${PYTHON_USEDEP}] + dev-python/pyproject-hooks[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/setuptools-scm-6[${PYTHON_USEDEP}] + test? ( + ${RDEPEND} + $(python_gen_cond_dep ' + >=dev-python/filelock-3[${PYTHON_USEDEP}] + >=dev-python/pip-22.3[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + >=dev-python/pytest-mock-2[${PYTHON_USEDEP}] + >=dev-python/pytest-rerunfailures-9.1[${PYTHON_USEDEP}] + >=dev-python/pytest-xdist-1.34[${PYTHON_USEDEP}] + >=dev-python/setuptools-56.0.0[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20.36.1[${PYTHON_USEDEP}] + >=dev-python/wheel-0.36.0[${PYTHON_USEDEP}] + test-rust? ( + !s390? ( !sparc? ( >=dev-python/uv-0.1.18 ) ) + ) + ' "${PYTHON_TESTED[@]}") + ) +" + +python_test() { + if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then + einfo "Skipping tests on ${EPYTHON}" + return + fi + + local EPYTEST_DESELECT=( + # broken by uv being installed outside venv + tests/test_env.py::test_external_uv_detection_success + # Internet + 'tests/test_main.py::test_main_sdist_input_end_to_end[False]' + ) + + if ! has_version "dev-python/uv"; then + EPYTEST_DESELECT+=( + tests/test_env.py::test_uv_impl_install_cmd_well_formed + 'tests/test_env.py::test_venv_creation[uv-venv+uv-None]' + ) + fi + + local EPYTEST_PLUGINS=( pytest-{mock,rerunfailures} ) + local EPYTEST_XDIST=1 + epytest -m "not network" +} diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest index e0e84228591c..8483f6d4ab46 100644 --- a/dev-python/cfn-lint/Manifest +++ b/dev-python/cfn-lint/Manifest @@ -2,3 +2,5 @@ DIST cfn_lint-1.51.5.tar.gz 4114038 BLAKE2B 21932e73fdc81b2d8485ccb06dc7e527951a DIST cfn_lint-1.51.5.tar.gz.provenance 10032 BLAKE2B 9e5830cdbb37342a07349ae71816a93abf1e943f91c836cfef6ceb39cf1b735373530b68418b0501488c92e338b493a09028e365fd6aed048ccc0e4958a6e863 SHA512 ca84d91a9860a2d4967fa431a134c92ed65e2bf304ed0b7b54763c04bcde16f5873baef0a3ce550bb58e5d308259660f62acaa0768ba494e7860f16e35a288ec DIST cfn_lint-1.52.1.tar.gz 4487553 BLAKE2B 7424bb7e2f02d9c825db9c2dcbd0b7601baee7fd828b32458c8f18b12b97a1d0f2752ffbb16c7d4b779b488d2b86521864561cfa51122b489342463e277c7fe7 SHA512 3d10dd41165708b2c27d7aa75d2177e270ebd3da92543b17f164e12e3b07dd188cb781fcc73be272741cdb9f4dae95ec01bf699c62f6f62b800495c90d52dc44 DIST cfn_lint-1.52.1.tar.gz.provenance 10005 BLAKE2B 9745d99328ace70220263a5298f41d95f49d192fbef8130a4052681af0a06e18d57e25ad7922e4f93a535fd9b2ead070eb3b7f652a870c74d8a60e84bad3aea7 SHA512 166ff9ec2ceef4fa4bcb8b9b152a8423e976d9192bb3c7cb1621c620bbfdda4949ef3780b802fae278078853776eef47ef0b53ed39f571962b9cb54b6d64a356 +DIST cfn_lint-1.53.0.tar.gz 4517403 BLAKE2B 931000db6a89629932269e24f9269e950b43331b284ed62f7961d6039595b1adeb59c60327035d29f7b02bf7ae8b7283e5003e83df08b1d394eed794cd829eec SHA512 2237556bf0c5b5cd761899430225c885b6c10ee00e62c52d5ad9a945a316d66db1cdd14c7ed67e9a4dad3d71d70e915a7d3e45e5e3a2bb1d47ee42e4987dafd3 +DIST cfn_lint-1.53.0.tar.gz.provenance 10173 BLAKE2B d1fcc344b818f36e27305edb1c8669d898fcfb7ea989830b22bc05eba7f1f857cfd0ab909b159dd8bb6809920ae40db4157ef0c902bb4ae2966e460d3eedefaf SHA512 bf5330f59b9cb267c9453a3760ffa8a222bc50b9791c614112137a8eb888b77229f4c65c609949c0a145b632a49ac43331e737cd46f0b0a765099505821f71d6 diff --git a/dev-python/cfn-lint/cfn-lint-1.53.0.ebuild b/dev-python/cfn-lint/cfn-lint-1.53.0.ebuild new file mode 100644 index 000000000000..85f616e39f72 --- /dev/null +++ b/dev-python/cfn-lint/cfn-lint-1.53.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/aws-cloudformation/cfn-lint +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="CloudFormation Linter" +HOMEPAGE=" + https://github.com/aws-cloudformation/cfn-lint/ + https://pypi.org/project/cfn-lint/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/aws-sam-translator-1.111.0[${PYTHON_USEDEP}] + dev-python/jsonpatch[${PYTHON_USEDEP}] + >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}] + <dev-python/jsonschema-5[${PYTHON_USEDEP}] + >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] + dev-python/junit-xml[${PYTHON_USEDEP}] + <dev-python/networkx-4[${PYTHON_USEDEP}] + >=dev-python/pyyaml-6.0.3[${PYTHON_USEDEP}] + >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}] + >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}] + >=dev-python/sympy-1.14.0[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/setuptools-77.0.3[${PYTHON_USEDEP}] + test? ( + dev-python/defusedxml[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # different line wrapping somehow + test/unit/module/template/test_template.py::TestTemplate::test_build_graph + # requires git repo + test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs + # crashes on 3.12+, probably pygraphviz + test/unit/module/test_api.py::TestLintByConfig::test_graph + # scripts missing from sdist + test/unit/module/maintenance/test_update_specs_from_pricing.py + ) + + # from tox.ini + local -x AWS_DEFAULT_REGION=us-east-1 + epytest test/unit +} diff --git a/dev-python/cmd2/Manifest b/dev-python/cmd2/Manifest index 087b65502232..e2c68260ef8a 100644 --- a/dev-python/cmd2/Manifest +++ b/dev-python/cmd2/Manifest @@ -2,3 +2,4 @@ DIST cmd2-2.6.2.tar.gz 592373 BLAKE2B 917ecd684c60c0a6c1b273ef52fa1e317f71522dfd DIST cmd2-3.5.1.tar.gz 707325 BLAKE2B 5fd287a1a984c425cc7fdb3ef6c1f709b4af470b3280e715bcbad8200b52d5f8d698716eb540a9c9603ed090e2394b3aac319aaf80afc652459c127d968020bc SHA512 30414090390c1087173d2a259b5af2dc12228ab16892ea8617ec4168882565ebeef7e76a2c86b6e614fe45e3e454f74c49b633358b5da84d57365e7e70432054 DIST cmd2-4.0.0.tar.gz 813155 BLAKE2B b9b61d8a2e302f2acaee8420077f48d92728e910a73bbba9195600ed1dc7c4695abcdec5f0a08928798d24f83b333de076bc9f7d4c281c5cd502d1fd05be752b SHA512 a1df4bb215a098e2902826ff4686ec10664a4b9d8e0433c6103ba395f325ae56d8c4fa2d83d770b4cc9e4c1e5b456fa03a6bac6af9b7f8398a5fc61394cf15f7 DIST cmd2-4.1.0.tar.gz 849590 BLAKE2B c737f00ce542cefb2cde94fc07c0b7c09e00d7756bc0e14889a48b7ec785fad3c0109aa27ca3047f9d2ac8ae1e93ecbd8ef7ca268acd8230089edce3d4d3f16c SHA512 f688d8c66021fc347d86b2a00bfe7f65813f11295eb1ba4bdf4d1b12cc5fe00a1cf14189dec49f5681ba46870b60f1aecdc86c88a7cf59b453dcf88343cda0b6 +DIST cmd2-4.1.1.tar.gz 850451 BLAKE2B 61cbe7954a3de634be97cfc5da61025f2144da222d80e4b3e527668a3d97b48b07966d27df1f670aa30c64738844cf36bfa6c79ad9a4aeda916a3526c33dd746 SHA512 c087c83167abeb99f24b369a9af910ca47686f5f4dec7db61f4e49653c375b048c9c6f6fe33dc113ab48264225bcc784a02776086df7e8bb029fdd59b933cf51 diff --git a/dev-python/cmd2/cmd2-4.1.1.ebuild b/dev-python/cmd2/cmd2-4.1.1.ebuild new file mode 100644 index 000000000000..dadcd6a482d2 --- /dev/null +++ b/dev-python/cmd2/cmd2-4.1.1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 optfeature virtualx pypi + +DESCRIPTION="Extra features for standard library's cmd module" +HOMEPAGE=" + https://github.com/python-cmd2/cmd2/ + https://pypi.org/project/cmd2/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~x86" + +RDEPEND=" + >=dev-python/prompt-toolkit-3.0.52[${PYTHON_USEDEP}] + >=dev-python/pyperclip-1.8.2[${PYTHON_USEDEP}] + >=dev-python/rich-15.0.0[${PYTHON_USEDEP}] + >=dev-python/rich-argparse-1.7.2[${PYTHON_USEDEP}] +" +# pyperclip uses clipboard backends in the following preference order: +# pygtk, xclip, xsel, klipper, qtpy, pyqt5, pyqt4. +# klipper is known to be broken in Xvfb, and therefore causes test +# failures. to avoid them, we must ensure that one of the backends +# preferred to it is available (i.e. xclip or xsel). +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + || ( + x11-misc/xclip + x11-misc/xsel + ) + ) +" + +EPYTEST_PLUGINS=( pytest-mock ) +EPYTEST_RERUNS=5 +distutils_enable_tests pytest + +src_test() { + # tests rely on very specific text wrapping... + local -x COLUMNS=80 + virtx distutils-r1_src_test +} + +python_test() { + # TODO: tests_isolated? + nonfatal epytest -o addopts= tests || die +} + +pkg_postinst() { + optfeature "IPython shell integration" dev-python/ipython +} diff --git a/dev-python/diskcache/diskcache-5.6.3.ebuild b/dev-python/diskcache/diskcache-5.6.3.ebuild index ba556b606c74..b3b4f132bd61 100644 --- a/dev-python/diskcache/diskcache-5.6.3.ebuild +++ b/dev-python/diskcache/diskcache-5.6.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/django-auth-ldap/django-auth-ldap-5.3.0.ebuild b/dev-python/django-auth-ldap/django-auth-ldap-5.3.0.ebuild index a6ac4fd309f9..0e3cb83fecda 100644 --- a/dev-python/django-auth-ldap/django-auth-ldap-5.3.0.ebuild +++ b/dev-python/django-auth-ldap/django-auth-ldap-5.3.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/django-polymorphic/Manifest b/dev-python/django-polymorphic/Manifest index 3ec6a971a632..46a63711e0cd 100644 --- a/dev-python/django-polymorphic/Manifest +++ b/dev-python/django-polymorphic/Manifest @@ -1 +1,2 @@ DIST django-polymorphic-4.11.5.gh.tar.gz 405422 BLAKE2B 39d7b5b1f3d905b41a70c9fb0ee58913eeec7082b89ae4a895f201196cbec07d43d3b3a3889ccbf10e1fb73ed37c34942ec050c6c168aa7fd2793bf0bc4c5afa SHA512 17426c4dd859892335612961f7d672264142b7e1ac89c087f4c19abf4a1df603b36843ed8879f7b5aa4f9ed803f8490c31d76968769171b597dcb15270c1e5a2 +DIST django-polymorphic-4.11.6.gh.tar.gz 410488 BLAKE2B ea1b049a2bd2d44287accdbfb76aabf3faee737c2cfaf8ceeabe9ff79639a552dc9a40913101ab2fafdf5e59dab831e1d32ef53eb4463ab8966b986fbc60573b SHA512 daf19896f7a78ba01c4d2f8a6220657b4dc4a24ab185e28df41aabd9d7af7b6eb63fb0519ef3f4b369665c5b9503b6bd037d6fa188904b035074f4635c21a509 diff --git a/dev-python/django-polymorphic/django-polymorphic-4.11.6.ebuild b/dev-python/django-polymorphic/django-polymorphic-4.11.6.ebuild new file mode 100644 index 000000000000..3395c394f2ff --- /dev/null +++ b/dev-python/django-polymorphic/django-polymorphic-4.11.6.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +DESCRIPTION="Seamless Polymorphic Inheritance for Django Models" +HOMEPAGE=" + https://github.com/django-commons/django-polymorphic/ + https://pypi.org/project/django-polymorphic/ +" +SRC_URI=" + https://github.com/django-commons/django-polymorphic/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + >=dev-python/django-4.2[$PYTHON_USEDEP] + >=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + ${RDEPEND} + dev-python/dj-database-url[${PYTHON_USEDEP}] + >=dev-python/packaging-24.2[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{django,mock} ) +distutils_enable_tests pytest + +python_test() { + local EPYTEST_IGNORE=( + # requires playwright + src/polymorphic/tests/test_admin.py + # some of them require playwright, others break subsequent tests + src/polymorphic/tests/examples + # require django-test-migrations + src/polymorphic/tests/test_migration_managers.py + src/polymorphic/tests/test_migrations + src/polymorphic/tests/test_serialization.py + ) + local EPYTEST_DESELECT=( + # require django-extra-views + src/polymorphic/tests/test_missing_coverage.py::TestPolymorphicFormSetMixin + ) + + rm -f conftest.py || die + epytest -o addopts= +} diff --git a/dev-python/django-registration/django-registration-5.2.1.ebuild b/dev-python/django-registration/django-registration-5.2.1.ebuild index 02d8994bef34..550bec58945a 100644 --- a/dev-python/django-registration/django-registration-5.2.1.ebuild +++ b/dev-python/django-registration/django-registration-5.2.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2023-2025 Gentoo Authors +# Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/django-sortedm2m/django-sortedm2m-4.0.0.ebuild b/dev-python/django-sortedm2m/django-sortedm2m-4.0.0.ebuild index 9b15fb568273..5147a2733ed8 100644 --- a/dev-python/django-sortedm2m/django-sortedm2m-4.0.0.ebuild +++ b/dev-python/django-sortedm2m/django-sortedm2m-4.0.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/django-template-partials/django-template-partials-25.3.ebuild b/dev-python/django-template-partials/django-template-partials-25.3.ebuild index bded78faf9ba..ef887d736597 100644 --- a/dev-python/django-template-partials/django-template-partials-25.3.ebuild +++ b/dev-python/django-template-partials/django-template-partials-25.3.ebuild @@ -1,9 +1,9 @@ -# Copyright 2025 Gentoo Authors +# Copyright 2025-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -DISTUTILS_USE_PEP517=flit +DISTUTILS_USE_PEP517=flit-core PYTHON_COMPAT=( python3_{13..14} ) inherit distutils-r1 pypi diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest index 55dcf212c66f..0b050c11ad74 100644 --- a/dev-python/django/Manifest +++ b/dev-python/django/Manifest @@ -1,8 +1,4 @@ -DIST Django-5.2.15.checksum.txt 2678 BLAKE2B 0b7491d214b65731b3d4ca6b9f7628456b520abf96bfbba47daee1e038c58ae485cea7605463cc3902fe92417af93c8cb5ade0ccb3e0804abf98ddbbc3598960 SHA512 ea4588b01a5a0abb8a340bc0fbda7ede35a5ee835c02d4490999f582a1a56df7bffb9f3c5aa8461a2b84f193daee046a6467d980bc011a14918d5709830d438b DIST Django-5.2.16.checksum.txt 2615 BLAKE2B d40332f538f509e60fb1f781fdd5f2994e4accda853f24dd6c82c0f289596a4458e567baf278489cecc13df3d9ae05ff1f5c349851c17aee25702ff44067a92e SHA512 6137ce7318f052de4750147eeaae0ae7ba6e10bc796fa257f01059f30039f3c3a5ad9db44a330948146bf1b272a9a6cec0428afafa17d5f4686aac2791663b65 -DIST Django-6.0.6.checksum.txt 2667 BLAKE2B ccd5eca7611836d94bf85c6636d7d8adf794aaa6624edc1f051cbffe6b8ebec84166ccf65c8e9ad771fdf6505e5a75e8079092519867f6b8077badccadb0e481 SHA512 d8d0ae636d3f63d46e0b4a922f24abb5ccb97074a07cedc8f195b051342c262f7190c954c36b966089980e562424efff9342a3d6e8913e622f260d7130c86aa9 DIST Django-6.0.7.checksum.txt 2604 BLAKE2B 2e119945d7bc98eb7363d3996168bf3d408563694caa4102dadd6650e98a00cf40f7560b1d0b0e6ee7e8266adeb7f762631e0670bf5be305d9a3add5ed85be7b SHA512 c51adb820ba8c14787b7c6ea5ab63556f1acd78c121db91d35f73ee275ce00ec91abda68aff027685fbcef09c8713e04d8fa091a30231a621f5d009c67d9a600 -DIST django-5.2.15.tar.gz 10873669 BLAKE2B 8ecd4b927ddce91a4e0b6d069824798b79098a43832072f8cef84c877bc0b237d25ae761452a5131d350eca4afe9dab5dd1c3e0fbb1af8d5c5ce6e88076341c8 SHA512 ac222ce040bd55dc580bfbc38d5c35802960fcd90070271f2f990f3a2f8c429c837b511fce1c45ef2d21ad518fdd47c26a6486a8f4696f3f2e9ee9e114421a3c DIST django-5.2.16.tar.gz 10890894 BLAKE2B b2424a35e3d1f9fd964ded7c3e5fd8c517686c1a004b3507fb61ac9a6fd2002343975c4126068b109e78bea8a4e545dc6a2c97dd53f8b9128e04b6c0249406ea SHA512 7925e20a35f261c05db6666522420e1f0fbc34a6097ecd4b80e82a4b05e1e5cf0e595355c93a2c15e7d7dbe469fbef152518b747b9389807c99b73886dd00a5f -DIST django-6.0.6.tar.gz 10905525 BLAKE2B 129a68d95c31159df5072a95725184784feb310c8e2389d687eb3a50ed066365fc3c981f936a399c3b570b18a3def442220a915a91bc8de1c602a04a0a9e7b2f SHA512 0e8d651d2efa1c368b2177ae48e3a3e17656ab28d1655a3b561acac88558c1db66160461e79b2ef6d589fb589e1afa90e63c5f51d28a215c4abb91de1299f01b DIST django-6.0.7.tar.gz 10921299 BLAKE2B c37cee606d77faa96da298d4331fdd9803c56d45f18f29f271234cb7670055c1cf1abb40230837767cd120ba5c46b7dd030f50f3c1d16be7f8b252ea6b1ab143 SHA512 c9566b26b31d1f6a10de99621e8e9d8e0be1c6b33c643fad00c46f8a2049c7fa47a38b7a9fe51605ee41c0d8a14c27a3ff6bc771910190daf473fe05379690db diff --git a/dev-python/django/django-5.2.15.ebuild b/dev-python/django/django-5.2.15.ebuild deleted file mode 100644 index a9c65577d416..000000000000 --- a/dev-python/django/django-5.2.15.ebuild +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{13..14} ) -PYTHON_REQ_USE='sqlite?,threads(+)' - -inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig - -DESCRIPTION="High-level Python web framework" -HOMEPAGE=" - https://www.djangoproject.com/ - https://github.com/django/django/ - https://pypi.org/project/Django/ -" -SRC_URI=" - https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P}.tar.gz - verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt ) -" - -LICENSE="BSD" -# admin fonts: Roboto (media-fonts/roboto) -LICENSE+=" Apache-2.0" -# admin icons, jquery, xregexp.js -LICENSE+=" MIT" -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86 ~x64-macos" -IUSE="doc sqlite test" -RESTRICT="!test? ( test )" - -RDEPEND=" - <dev-python/asgiref-4[${PYTHON_USEDEP}] - >=dev-python/asgiref-3.8.1[${PYTHON_USEDEP}] - >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}] - sys-libs/timezone-data -" -BDEPEND=" - test? ( - $(python_gen_impl_dep sqlite) - ${RDEPEND} - >=dev-python/docutils-0.19[${PYTHON_USEDEP}] - >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pillow[webp,${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}] - >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}] - sys-devel/gettext - ) - verify-sig? ( >=sec-keys/openpgp-keys-django-20241002 ) -" - -PATCHES=( - "${FILESDIR}"/django-4.0-bashcomp.patch - # d55979334dcefdb11626220000bec97ade09df07 - "${FILESDIR}"/django-5.2.7-py314.patch -) - -distutils_enable_sphinx docs --no-autodoc - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc - -src_unpack() { - if use verify-sig; then - cd "${DISTDIR}" || die - verify-sig_verify_signed_checksums \ - "${P^}.checksum.txt" sha256 "${P}.tar.gz" - cd "${WORKDIR}" || die - fi - - default -} - -python_test() { - # Tests have non-standard assumptions about PYTHONPATH, - # and don't work with ${BUILD_DIR}/lib. - PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \ - -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" || - die "Tests fail with ${EPYTHON}" -} - -python_install_all() { - newbashcomp extras/django_bash_completion ${PN}-admin - bashcomp_alias ${PN}-admin django-admin.py - - distutils-r1_python_install_all -} - -pkg_postinst() { - optfeature_header "Additional Backend support can be enabled via:" - optfeature "MySQL backend support" dev-python/mysqlclient - optfeature "PostgreSQL backend support" dev-python/psycopg:0 - optfeature_header - optfeature "GEO Django" "sci-libs/gdal[geos]" - optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached - optfeature "ImageField Support" dev-python/pillow - optfeature "Password encryption" dev-python/bcrypt -} diff --git a/dev-python/django/django-5.2.16.ebuild b/dev-python/django/django-5.2.16.ebuild index b0422ac0daef..bb3edcdefc2e 100644 --- a/dev-python/django/django-5.2.16.ebuild +++ b/dev-python/django/django-5.2.16.ebuild @@ -26,7 +26,7 @@ LICENSE+=" Apache-2.0" # admin icons, jquery, xregexp.js LICENSE+=" MIT" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86 ~x64-macos" IUSE="doc sqlite test" RESTRICT="!test? ( test )" @@ -56,6 +56,12 @@ PATCHES=( "${FILESDIR}"/django-4.0-bashcomp.patch # d55979334dcefdb11626220000bec97ade09df07 "${FILESDIR}"/django-5.2.7-py314.patch + # based on upstream commits: + # b1a65eac7c09250d36e12464fc8fff2a401246b6 + # ed13a58bf63df94508c8a0fe779da0b6a2bc26bb + # e7f539f813bd56a71ca3c1fbf379f47691002086 + # plus my own fixes + "${FILESDIR}"/django-6.0.7-py315.patch ) distutils_enable_sphinx docs --no-autodoc diff --git a/dev-python/django/django-6.0.6.ebuild b/dev-python/django/django-6.0.6.ebuild deleted file mode 100644 index c68dd7757e2f..000000000000 --- a/dev-python/django/django-6.0.6.ebuild +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{13..14} ) -PYTHON_REQ_USE='sqlite?,threads(+)' - -inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig - -MY_P=${P/_} -DESCRIPTION="High-level Python web framework" -HOMEPAGE=" - https://www.djangoproject.com/ - https://github.com/django/django/ - https://pypi.org/project/Django/ -" -SRC_URI=" - https://media.djangoproject.com/releases/$(ver_cut 1-2)/${MY_P}.tar.gz - verify-sig? ( https://media.djangoproject.com/pgp/${MY_P^}.checksum.txt ) -" -S=${WORKDIR}/${MY_P} - -LICENSE="BSD" -# admin fonts: Roboto (media-fonts/roboto) -LICENSE+=" Apache-2.0" -# admin icons, jquery, xregexp.js -LICENSE+=" MIT" -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86 ~x64-macos" -IUSE="doc sqlite test" -RESTRICT="!test? ( test )" - -RDEPEND=" - <dev-python/asgiref-4[${PYTHON_USEDEP}] - >=dev-python/asgiref-3.9.1[${PYTHON_USEDEP}] - >=dev-python/sqlparse-0.5.0[${PYTHON_USEDEP}] - sys-libs/timezone-data -" -BDEPEND=" - test? ( - $(python_gen_impl_dep sqlite) - ${RDEPEND} - >=dev-python/docutils-0.19[${PYTHON_USEDEP}] - >=dev-python/jinja2-2.11.0[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pillow[webp,${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}] - >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}] - sys-devel/gettext - ) - verify-sig? ( >=sec-keys/openpgp-keys-django-20240807 ) -" - -PATCHES=( - "${FILESDIR}"/django-4.0-bashcomp.patch -) - -distutils_enable_sphinx docs --no-autodoc - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc - -src_unpack() { - if use verify-sig; then - cd "${DISTDIR}" || die - verify-sig_verify_signed_checksums \ - "${MY_P^}.checksum.txt" sha256 "${MY_P}.tar.gz" - cd "${WORKDIR}" || die - fi - - default -} - -python_test() { - # Tests have non-standard assumptions about PYTHONPATH, - # and don't work with ${BUILD_DIR}/lib. - PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \ - -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" || - die "Tests fail with ${EPYTHON}" -} - -python_install_all() { - newbashcomp extras/django_bash_completion django-admin - bashcomp_alias django-admin django-admin.py - - distutils-r1_python_install_all -} - -pkg_postinst() { - optfeature_header "Additional Backend support can be enabled via:" - optfeature "MySQL backend support" dev-python/mysqlclient - optfeature "PostgreSQL backend support" dev-python/psycopg:0 - optfeature_header - optfeature "GEO Django" "sci-libs/gdal[geos]" - optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached - optfeature "ImageField Support" dev-python/pillow - optfeature "Password encryption" dev-python/bcrypt -} diff --git a/dev-python/django/django-6.0.7.ebuild b/dev-python/django/django-6.0.7.ebuild index 6344772aa325..a6bd7557d822 100644 --- a/dev-python/django/django-6.0.7.ebuild +++ b/dev-python/django/django-6.0.7.ebuild @@ -28,7 +28,7 @@ LICENSE+=" Apache-2.0" # admin icons, jquery, xregexp.js LICENSE+=" MIT" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86 ~x64-macos" IUSE="doc sqlite test" RESTRICT="!test? ( test )" @@ -56,6 +56,12 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/django-4.0-bashcomp.patch + # based on upstream commits: + # b1a65eac7c09250d36e12464fc8fff2a401246b6 + # ed13a58bf63df94508c8a0fe779da0b6a2bc26bb + # e7f539f813bd56a71ca3c1fbf379f47691002086 + # plus my own fixes + "${FILESDIR}"/django-6.0.7-py315.patch ) distutils_enable_sphinx docs --no-autodoc diff --git a/dev-python/django/files/django-6.0.7-py315.patch b/dev-python/django/files/django-6.0.7-py315.patch new file mode 100644 index 000000000000..1aed43fb1947 --- /dev/null +++ b/dev-python/django/files/django-6.0.7-py315.patch @@ -0,0 +1,285 @@ +diff --git a/AUTHORS b/AUTHORS +index 7ec645c8eb..53486d8f83 100644 +--- a/AUTHORS ++++ b/AUTHORS +@@ -593,6 +593,7 @@ answer newbie questions, and generally made Django that much better: + Karderio <karderio@gmail.com> + Karen Tracey <kmtracey@gmail.com> + Karol Sikora <elektrrrus@gmail.com> ++ Kasey Steinhauer <kstein257@gmail.com> + Kasun Herath <kasunh01@gmail.com> + Katherine “Kati” Michel <kthrnmichel@gmail.com> + Kathryn Killebrew <kathryn.killebrew@gmail.com> +diff --git a/django/contrib/admin/templatetags/base.py b/django/contrib/admin/templatetags/base.py +index 3f8290d3b1..94b2011c3c 100644 +--- a/django/contrib/admin/templatetags/base.py ++++ b/django/contrib/admin/templatetags/base.py +@@ -1,7 +1,7 @@ + from inspect import getfullargspec + + from django.template.library import InclusionNode, parse_bits +-from django.utils.inspect import lazy_annotations ++from django.utils.inspect import getfullargspec + + + class InclusionAdminNode(InclusionNode): +@@ -12,10 +12,9 @@ class InclusionAdminNode(InclusionNode): + + def __init__(self, parser, token, func, template_name, takes_context=True): + self.template_name = template_name +- with lazy_annotations(): +- params, varargs, varkw, defaults, kwonly, kwonly_defaults, _ = ( +- getfullargspec(func) +- ) ++ params, varargs, varkw, defaults, kwonly, kwonly_defaults, _ = getfullargspec( ++ func ++ ) + bits = token.split_contents() + args, kwargs = parse_bits( + parser, +diff --git a/django/template/base.py b/django/template/base.py +index 9d75111e42..526a5f9ecf 100644 +--- a/django/template/base.py ++++ b/django/template/base.py +@@ -60,7 +60,7 @@ from django.template.context import BaseContext + from django.utils.deprecation import django_file_prefixes + from django.utils.formats import localize + from django.utils.html import conditional_escape +-from django.utils.inspect import lazy_annotations, signature ++from django.utils.inspect import getfullargspec, signature + from django.utils.regex_helper import _lazy_re_compile + from django.utils.safestring import SafeData, SafeString, mark_safe + from django.utils.text import get_text_list, smart_split, unescape_string_literal +@@ -826,8 +826,7 @@ class FilterExpression: + # Check to see if a decorator is providing the real function. + func = inspect.unwrap(func) + +- with lazy_annotations(): +- args, _, _, defaults, _, _, _ = inspect.getfullargspec(func) ++ args, _, _, defaults, _, _, _ = getfullargspec(func) + alen = len(args) + dlen = len(defaults or []) + # Not enough OR Too many +diff --git a/django/template/library.py b/django/template/library.py +index 27af7a6969..a645717935 100644 +--- a/django/template/library.py ++++ b/django/template/library.py +@@ -1,10 +1,10 @@ + from collections.abc import Iterable + from functools import wraps + from importlib import import_module +-from inspect import getfullargspec, unwrap ++from inspect import unwrap + + from django.utils.html import conditional_escape +-from django.utils.inspect import lazy_annotations ++from django.utils.inspect import getfullargspec + + from .base import Node, Template, token_kwargs + from .exceptions import TemplateSyntaxError +@@ -111,16 +111,15 @@ class Library: + """ + + def dec(func): +- with lazy_annotations(): +- ( +- params, +- varargs, +- varkw, +- defaults, +- kwonly, +- kwonly_defaults, +- _, +- ) = getfullargspec(unwrap(func)) ++ ( ++ params, ++ varargs, ++ varkw, ++ defaults, ++ kwonly, ++ kwonly_defaults, ++ _, ++ ) = getfullargspec(unwrap(func)) + function_name = name or func.__name__ + + @wraps(func) +@@ -167,16 +166,15 @@ class Library: + + def dec(func): + nonlocal end_name +- with lazy_annotations(): +- ( +- params, +- varargs, +- varkw, +- defaults, +- kwonly, +- kwonly_defaults, +- _, +- ) = getfullargspec(unwrap(func)) ++ ( ++ params, ++ varargs, ++ varkw, ++ defaults, ++ kwonly, ++ kwonly_defaults, ++ _, ++ ) = getfullargspec(unwrap(func)) + function_name = name or func.__name__ + + if end_name is None: +@@ -251,16 +249,15 @@ class Library: + """ + + def dec(func): +- with lazy_annotations(): +- ( +- params, +- varargs, +- varkw, +- defaults, +- kwonly, +- kwonly_defaults, +- _, +- ) = getfullargspec(unwrap(func)) ++ ( ++ params, ++ varargs, ++ varkw, ++ defaults, ++ kwonly, ++ kwonly_defaults, ++ _, ++ ) = getfullargspec(unwrap(func)) + function_name = name or func.__name__ + + @wraps(func) +diff --git a/django/utils/inspect.py b/django/utils/inspect.py +index a04669fc11..1b4d5733fd 100644 +--- a/django/utils/inspect.py ++++ b/django/utils/inspect.py +@@ -3,16 +3,17 @@ import inspect + import threading + from contextlib import contextmanager + +-from django.utils.version import PY314 ++from django.utils.version import PY314, PY315 + + if PY314: + import annotationlib + +- lock = threading.Lock() +- safe_signature_from_callable = functools.partial( +- inspect._signature_from_callable, +- annotation_format=annotationlib.Format.FORWARDREF, +- ) ++ if not PY315: ++ lock = threading.Lock() ++ safe_signature_from_callable = functools.partial( ++ inspect._signature_from_callable, ++ annotation_format=annotationlib.Format.FORWARDREF, ++ ) + + + @functools.lru_cache(maxsize=512) +@@ -106,12 +107,12 @@ def lazy_annotations(): + compatibility with Python 3.14+ deferred evaluation, patch the module-level + helper to provide the annotation_format that we are using elsewhere. + +- This private helper could be removed when there is an upstream solution for +- https://github.com/python/cpython/issues/141560. ++ This private helper should only be used for Python 3.14, as ++ https://github.com/python/cpython/issues/141560 was fixed in 3.15. + + This context manager is not reentrant. + """ +- if not PY314: ++ if PY315 or not PY314: + yield + return + with lock: +@@ -123,6 +124,22 @@ def lazy_annotations(): + inspect._signature_from_callable = original_helper + + ++def getfullargspec(*args, annotation_format=None, **kwargs): ++ """ ++ A wrapper around inspect.getfullargspec that leaves deferred annotations ++ unevaluated on Python 3.14+, since they are not used in our case. ++ """ ++ if PY315: ++ return inspect.getfullargspec( ++ *args, **kwargs, annotation_format=annotationlib.Format.FORWARDREF ++ ) ++ if PY314: ++ with lazy_annotations(): ++ return inspect.getfullargspec(*args, **kwargs) ++ else: ++ return inspect.getfullargspec(*args, **kwargs) ++ ++ + def signature(obj): + """ + A wrapper around inspect.signature that leaves deferred annotations +diff --git a/django/utils/version.py b/django/utils/version.py +index 2bb650ac89..9f694070c5 100644 +--- a/django/utils/version.py ++++ b/django/utils/version.py +@@ -20,6 +20,7 @@ PY311 = sys.version_info >= (3, 11) + PY312 = sys.version_info >= (3, 12) + PY313 = sys.version_info >= (3, 13) + PY314 = sys.version_info >= (3, 14) ++PY315 = sys.version_info >= (3, 15) + + + def get_version(version=None): +diff --git a/tests/admin_scripts/tests.py b/tests/admin_scripts/tests.py +index 0c27194568..9dc8f16013 100644 +--- a/tests/admin_scripts/tests.py ++++ b/tests/admin_scripts/tests.py +@@ -38,7 +38,7 @@ from django.db.migrations.recorder import MigrationRecorder + from django.test import LiveServerTestCase, SimpleTestCase, TestCase, override_settings + from django.test.utils import captured_stderr, captured_stdout + from django.urls import path +-from django.utils.version import PY313, get_docs_version ++from django.utils.version import PY313, PY315, get_docs_version + from django.views.static import serve + + from . import urls +@@ -2446,10 +2446,17 @@ class Discovery(SimpleTestCase): + + class CommandDBOptionChoiceTests(SimpleTestCase): + def test_invalid_choice_db_option(self): +- expected_error = ( +- r"Error: argument --database: invalid choice: 'deflaut' " +- r"\(choose from '?default'?, '?other'?\)" +- ) ++ if PY315: ++ expected_error = ( ++ r"Error: argument --database: invalid choice: 'deflaut', " ++ r"maybe you meant 'default'\? " ++ r"\(choose from '?default'?, '?other'?\)" ++ ) ++ else: ++ expected_error = ( ++ r"Error: argument --database: invalid choice: 'deflaut' " ++ r"\(choose from '?default'?, '?other'?\)" ++ ) + args = [ + "changepassword", + "createsuperuser", +diff --git a/tests/utils_tests/test_html.py b/tests/utils_tests/test_html.py +index 7e1a90cc93..91561a8de8 100644 +--- a/tests/utils_tests/test_html.py ++++ b/tests/utils_tests/test_html.py +@@ -131,9 +131,6 @@ class TestUtilsHtml(SimpleTestCase): + (3, 10): (3, 10, 19), + (3, 9): (3, 9, 24), + } +- htmlparser_fixed_security = ( +- sys.version_info >= min_fixed_security[sys.version_info[:2]] +- ) + # Similarly, there was a fix for terminating incomplete entities. See: + # https://github.com/python/cpython/commit/95296a9d + min_fixed_incomplete_entities = { diff --git a/dev-python/docker/Manifest b/dev-python/docker/Manifest index 1e77cd1696ad..4d881e4c4726 100644 --- a/dev-python/docker/Manifest +++ b/dev-python/docker/Manifest @@ -1 +1,2 @@ DIST docker-py-7.1.0.gh.tar.gz 253282 BLAKE2B 82eba285c1ea61956005dd0a9bfb66864fd30119a4b4c384d0d4350edeb331004d66bcdba6f20ec56ff48590b4a29a7b0fb07c6db6ecadfe96830337c37a535a SHA512 3dd73f2c3f3e92863496ef8277f481e64484e0e85a64dffe4e3287836823e4b118a5c8e73b2540e7188a0b755cd3f237ccc868a5bfb81d3bff1142fbb33755cb +DIST docker-py-7.2.0.gh.tar.gz 255679 BLAKE2B 1a1d32ceb56f74a5c81f2e6fea5e6def76d442f79489c10ce2a7f8cac40fcc6089dcb049c31406ccd43267b7c45114fd751a762812e03aaacfe38f728cd1a422 SHA512 a4baaaf7850a51d7ca4ae71084b9bfa9d8f65bef3e1ba9d739f86aefac6319ca87d71e081d049f6bfa1e7ceec70395bcf309904aa316c911f7998b043aeb98bd diff --git a/dev-python/docker/docker-7.2.0.ebuild b/dev-python/docker/docker-7.2.0.ebuild new file mode 100644 index 000000000000..1e44770838d6 --- /dev/null +++ b/dev-python/docker/docker-7.2.0.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +MY_P=docker-py-${PV} +DESCRIPTION="Python client for Docker" +HOMEPAGE=" + https://github.com/docker/docker-py/ + https://pypi.org/project/docker/ +" +SRC_URI=" + https://github.com/docker/docker-py/archive/${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" + +RDEPEND=" + >=dev-python/requests-2.26.0[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + >=dev-python/paramiko-2.4.3[${PYTHON_USEDEP}] + >=dev-python/websocket-client-1.3.0[${PYTHON_USEDEP}] + ) +" + +distutils_enable_sphinx docs \ + 'dev-python/myst-parser' +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_prepare() { + # localhost has a better chance of being in /etc/hosts + sed -e 's:socket[.]gethostname():"localhost":' \ + -i tests/unit/api_test.py || die + + distutils-r1_src_prepare + + export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} +} + +python_test() { + local -x TZ=UTC + epytest tests/unit +} diff --git a/dev-python/httpx/files/httpx-0.27.0-opt-trio.patch b/dev-python/httpx/files/httpx-0.27.0-opt-trio.patch deleted file mode 100644 index 6c2c9e67255f..000000000000 --- a/dev-python/httpx/files/httpx-0.27.0-opt-trio.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/tests/concurrency.py b/tests/concurrency.py -index a8ed558..d5ce803 100644 ---- a/tests/concurrency.py -+++ b/tests/concurrency.py -@@ -5,11 +5,11 @@ Async environment-agnostic concurrency utilities that are only used in tests. - import asyncio - - import sniffio --import trio - - - async def sleep(seconds: float) -> None: - if sniffio.current_async_library() == "trio": -+ import trio - await trio.sleep(seconds) # pragma: no cover - else: - await asyncio.sleep(seconds) diff --git a/dev-python/lazy-object-proxy/lazy-object-proxy-1.12.0.ebuild b/dev-python/lazy-object-proxy/lazy-object-proxy-1.12.0.ebuild index 174f912e1e99..38970afe2d98 100644 --- a/dev-python/lazy-object-proxy/lazy-object-proxy-1.12.0.ebuild +++ b/dev-python/lazy-object-proxy/lazy-object-proxy-1.12.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -31,15 +31,28 @@ distutils_enable_tests pytest python_prepare_all() { distutils-r1_python_prepare_all - # No need to benchmark - sed \ - -e '/benchmark/s:test_:_&:g' \ - -e '/pytest.mark.benchmark/d' \ - -i tests/test_lazy_object_proxy.py || die - if use native-extensions; then unset SETUPPY_FORCE_PURE else export SETUPPY_FORCE_PURE=1 fi } + +python_test() { + local EPYTEST_DESELECT=( + # benchmarks + tests/test_lazy_object_proxy.py::test_perf + tests/test_lazy_object_proxy.py::test_proto + ) + + case ${EPYTHON} in + python3.15*) + EPYTEST_DESELECT+=( + tests/test_async_py3.py::test_await_12 + tests/test_async_py3.py::test_await_13 + tests/test_async_py3.py::test_await_5 + ) + esac + + epytest -o strict_markers=False +} diff --git a/dev-python/mistune/Manifest b/dev-python/mistune/Manifest index a827e5426a2a..aae90e39b37a 100644 --- a/dev-python/mistune/Manifest +++ b/dev-python/mistune/Manifest @@ -4,3 +4,5 @@ DIST mistune-3.3.1.tar.gz 111268 BLAKE2B 1d606bd52b94467198ca6db16affb57db8790c6 DIST mistune-3.3.1.tar.gz.provenance 9690 BLAKE2B e1225f9203d27b3ac072211f32483b1532a2ca4738b377a40a9d3c0133ecdc118d74946c170947f5e00f93e3acb3e162afa107417174bfba3b96c471548e12b7 SHA512 cd2441f40eacab200d853f7c32c134ecf91f5a5621b08b824be57db116ca50767ed4bd85264f09f5af0ad467dcf481472f418c6dc0140897baf976113276534e DIST mistune-3.3.2.tar.gz 111284 BLAKE2B 113653fc6ce675cfe104cdfff8f8ca863a599fc676c3c7fc1da56d054dcf9e00fb12e8e35db9b69a5b393f02b0a09a1c9bee3a09768cae96aaeb8110c67ae3f2 SHA512 b1889c4de9619710bbe5fd0382a341d4794b1d1f88e9a217580a7c6e2db4d2291c57b6c0885e6635ae4e75b39df16b4019dc90e1f925beb7a6baa76690adc975 DIST mistune-3.3.2.tar.gz.provenance 9627 BLAKE2B 359a1b64f5e92d1febb2961d3d36354cd06c059c682f4bee6bb78b83b7143bc340748b6494ffa1cf61762d4b266dab66ce53a8383d15b431d660fd1bd44e6f02 SHA512 69e1fc198912e2318f6c2d8e93ab203a74c976cbc57733f4b525c769c8a9c80fce38ee70d5ead98969e157a7555ed8c95ec8493fbab891ee4b8ad28d7ad81514 +DIST mistune-3.3.3.tar.gz 115363 BLAKE2B b1808f9c206fac6b1606f2df7c4fe023d5623202cad5e9d76d23fc614f23ead7f7eb3a45f0ccdb71e31564348ae71795e5609cafc80b47ea6901fba1a343e60d SHA512 0f3c3172ceae06577585c54d9b8c03a74d5e802a14b44aff984ef3ec3134b58738c693e74759ec66fedb1d3e18e556ef68c8c7a7b66b6feadf7854eb13a4dafd +DIST mistune-3.3.3.tar.gz.provenance 9768 BLAKE2B 68fbb2263cb4f6b23eabc9cbc6c83c4595b11102b5aaad758dc2be57d1bea1f21a93d51a5882e6249cf5b18a286cd91ebe7e01f9910a4148c49465065eb189c0 SHA512 c7b1feee3901c2e913f364ca5f2e1cb67428233e1ab26527b4846ed6d2f29dde1f60198ed463fe79141ddc28d4d07b1ac90be31feb42dac8932c1711a80c2cb7 diff --git a/dev-python/mistune/mistune-3.3.3.ebuild b/dev-python/mistune/mistune-3.3.3.ebuild new file mode 100644 index 000000000000..785e0815b9d6 --- /dev/null +++ b/dev-python/mistune/mistune-3.3.3.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/lepture/mistune +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="The fastest markdown parser in pure Python" +HOMEPAGE=" + https://github.com/lepture/mistune/ + https://pypi.org/project/mistune/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/dev-python/peewee/Manifest b/dev-python/peewee/Manifest index 3f1467f0aca7..96393edbeb01 100644 --- a/dev-python/peewee/Manifest +++ b/dev-python/peewee/Manifest @@ -4,3 +4,4 @@ DIST peewee-4.0.8.gh.tar.gz 1001592 BLAKE2B 4b2328fa31aab3315511ce4320008d56e518 DIST peewee-4.0.9.gh.tar.gz 1002262 BLAKE2B 456af69c3d57d2e8344080cf40845163c9d0a9bd6b4a418940adc28ed388aea7faad8e3759973b23fcc8fb0e27e6a88c40b953081825f8a7acf6f8eb64c91894 SHA512 dd68b9e38dca84eff67c90f1f78cd6d59713c18b73faa8e2a36fa1b343e2e1f154a0dd57415803b763fd7368a151eb08c30312c72d1c2db665f7941a99a0ad8c DIST peewee-4.1.0.gh.tar.gz 1002833 BLAKE2B 65d8317829f59aa67b2650bd8e690e99f291d0bb8383a5945b16387c0c6a313236ec0b9654e8c81faf868208b41e4776d1d5dc1b2ce220aefd5215c4bed8b4a8 SHA512 c24e46e339b84e68db86efb2a39bc4c15a6620dd91c6c28ecf982bcf74499febdc878707bc35cfe49dbee960ab88d2162032cfd57057adcf212da8119910d747 DIST peewee-4.1.1.gh.tar.gz 1035158 BLAKE2B 653ce44483664b81563b8e755ffc54cbf1295e932881c8c89df3f09c06e9fcc74a3544a6e6eaa400090c43bb3485a96aab8c99e8ec1e2be596491bc6a86eb915 SHA512 5d2451f791b6221418269f6c3fd87dd4f374d665f8d960e28763db8bcc45f690d75c935dc89c6b5a350b58bdf899155d0a32bc6e720d50db1731152fba9fdd62 +DIST peewee-4.1.2.gh.tar.gz 1046776 BLAKE2B 8a66ea828ad669db4d20cce089e485f75b9f792bc94fea8a1a1d46f9391e062f89c33cb2e7a34aae84645580967c586d4efff067d1aa4d7cfd6cc1da01fe90e9 SHA512 4a384817a8b3a146ac818b7327cc1ef4a02c0322409353ac29f64d9c66e1e6eeebb226db67fa6e4754662e82307b0abaa57b7526faa4dc7d90d911b8cc3094e9 diff --git a/dev-python/peewee/peewee-4.1.2.ebuild b/dev-python/peewee/peewee-4.1.2.ebuild new file mode 100644 index 000000000000..354b1a91f483 --- /dev/null +++ b/dev-python/peewee/peewee-4.1.2.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2026 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_{13..14} ) +PYTHON_REQ_USE="sqlite" + +inherit distutils-r1 + +DESCRIPTION="Small Python ORM" +HOMEPAGE=" + https://github.com/coleifer/peewee/ + https://pypi.org/project/peewee/ +" +SRC_URI=" + https://github.com/coleifer/peewee/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +IUSE="examples +native-extensions test" +RESTRICT="!test? ( test )" + +DEPEND=" + native-extensions? ( dev-db/sqlite:3= ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + native-extensions? ( + dev-python/cython[${PYTHON_USEDEP}] + ) + test? ( + dev-db/postgresql + dev-python/psycopg:0[${PYTHON_USEDEP}] + sys-libs/timezone-data + ) +" + +distutils_enable_sphinx docs \ + dev-python/sphinx-rtd-theme + +src_prepare() { + default + + # disable test failing on postgres 16 + sed -e 's/test_timeout/_&/' -i tests/sqliteq.py || die +} + +src_compile() { + if ! use native-extensions; then + local -x NO_SQLITE=1 + fi + + distutils-r1_src_compile +} + +src_test() { + initdb -D "${T}"/pgsql || die + pg_ctl -w -D "${T}"/pgsql start -o "-h '' -k '${T}'" || die + createdb -h "${T}" peewee_test || die + psql -h "${T}" peewee_test -c 'create extension hstore;' || die + + local -x PEEWEE_PSQL_HOST="${T}" + distutils-r1_src_test + + pg_ctl -w -D "${T}"/pgsql stop || die +} + +python_test() { + "${EPYTHON}" runtests.py -v 2 || die "tests failed under ${EPYTHON}" +} + +python_install_all() { + use examples && DOCS=( examples/ ) + distutils-r1_python_install_all +} diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest index 66a6f82836bc..3d2d71230755 100644 --- a/dev-python/plotly/Manifest +++ b/dev-python/plotly/Manifest @@ -1 +1,2 @@ DIST plotly.py-6.8.0.gh.tar.gz 10539690 BLAKE2B d76f29669cc393bc8e842a95182f876b15d869cf75dff6ecdd7c4bc01de2239f6d3bcecf2e2a29171fead59e1cbac38820caa7ad9632b3b8d9fda4cbba528be0 SHA512 8be8a6f2cd6ba94bc18130524853679ce8f58d3b220eed06e508dc147209e94df51da68a9b8934288caddcbdf82ef93c3b50ad9c563a7298726383634c7e5ec4 +DIST plotly.py-6.9.0.gh.tar.gz 10539701 BLAKE2B 9bc7856d14acc8bac28c3981967485d51a741d948c275ccb0d7cc6462273d2a68cb74104eb54db98899e6890423bbd066b612804bc59f3657ac7611a4a1fd109 SHA512 6c302391beaa81c389ab574a700b3269cc517b1fc81552f57bb12f0d8c283c0757fba6bca2582a02bd29c98697e94900af3805288b42ff70904f7d54c51ada9e diff --git a/dev-python/plotly/plotly-6.9.0.ebuild b/dev-python/plotly/plotly-6.9.0.ebuild new file mode 100644 index 000000000000..8e0e8fb4c131 --- /dev/null +++ b/dev-python/plotly/plotly-6.9.0.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=hatchling + +inherit distutils-r1 + +MY_P=plotly.py-${PV/_} +DESCRIPTION="Browser-based graphing library for Python" +HOMEPAGE=" + https://plotly.com/python/ + https://github.com/plotly/plotly.py/ + https://pypi.org/project/plotly/ +" +SRC_URI=" + https://github.com/plotly/plotly.py/archive/refs/tags/v${PV/_}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}" +# The tests are not included in the PyPI tarball, to use the GitHub tarball +# we have to skip npm, which means that the resulting install will +# unfortunately lack the jupyterlab extension. + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + >=dev-python/narwhals-1.15.1[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jupyter[${PYTHON_USEDEP}] + dev-python/jupyterlab[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/scikit-image[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + dev-python/statsmodels[${PYTHON_USEDEP}] + dev-python/xarray[${PYTHON_USEDEP}] + ) +" + +# There are sphinx docs but we are missing a bunch of dependencies. +# distutils_enable_sphinx ../../../doc/apidoc + +EPYTEST_PLUGINS=() +# xdist is causing pretty nasty race conditions here +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + # requires polars + tests/test_optional/test_px + + # requires kaleido + tests/test_optional/test_kaleido/test_kaleido.py +) + +EPYTEST_DESELECT=( + # requires polars + 'tests/test_plotly_utils/validators/test_fig_deepcopy.py::test_deepcopy_dataframe[polars]' + + # require anywidgets + 'tests/test_io/test_to_from_json.py::test_from_json_output_type[FigureWidget-FigureWidget0]' + 'tests/test_io/test_to_from_json.py::test_from_json_output_type[FigureWidget-FigureWidget1]' + 'tests/test_io/test_to_from_json.py::test_read_json_from_filelike[FigureWidget-FigureWidget0]' + 'tests/test_io/test_to_from_json.py::test_read_json_from_filelike[FigureWidget-FigureWidget1]' + 'tests/test_io/test_to_from_json.py::test_read_json_from_pathlib[FigureWidget-FigureWidget0]' + 'tests/test_io/test_to_from_json.py::test_read_json_from_pathlib[FigureWidget-FigureWidget1]' + 'tests/test_io/test_to_from_json.py::test_read_json_from_file_string[FigureWidget-FigureWidget0]' + 'tests/test_io/test_to_from_json.py::test_read_json_from_file_string[FigureWidget-FigureWidget1]' + + # minor matplotlib incompatibility + plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots + plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle + + # fails in non-isolated env + test_init/test_dependencies_not_imported.py::test_dependencies_not_imported + test_init/test_lazy_imports.py::test_lazy_imports + + # TODO + 'tests/test_plotly_utils/validators/test_colorscale_validator.py::test_acceptance_named[Inferno_r]' + + # numpy 2.4 + tests/test_optional/test_figure_factory/test_figure_factory.py::TestViolin::test_violin_fig + tests/test_optional/test_utils/test_utils.py::TestJSONEncoder::test_encode_customdata_datetime_homogeneous_dataframe + tests/test_optional/test_utils/test_utils.py::TestJSONEncoder::test_encode_customdata_datetime_series + tests/test_optional/test_utils/test_utils.py::TestJSONEncoder::test_numpy_datetime64 +) + +src_prepare() { + distutils-r1_src_prepare + + # stop installing junk "js" package + sed -i -e '/used by Jupyter extension/d' pyproject.toml || die +} + +src_configure() { + # Do not try to fetch stuff with npm + export SKIP_NPM=1 +} diff --git a/dev-python/pydata-sphinx-theme/Manifest b/dev-python/pydata-sphinx-theme/Manifest index 26d039878a83..98ff62e52ac8 100644 --- a/dev-python/pydata-sphinx-theme/Manifest +++ b/dev-python/pydata-sphinx-theme/Manifest @@ -1,4 +1,6 @@ DIST pydata-sphinx-theme-0.18.0.gh.tar.gz 5000514 BLAKE2B 3c44cce6131dc5b4fa8db2161fce3b05dd9929457651edf6c74affeffc3a231b1f7718a2c5e8ee724c77d1f295c58a610fadc31446610801e5319fffb5921584 SHA512 ecd6d9e138007ca7c42807d3fad9d275abc1531f3360beeae18d8b960825a2704de1c136c6bc49e74f82a7bf29094fcee5c43da551d6b99831b4f8e82156dcfd DIST pydata-sphinx-theme-0.19.0.gh.tar.gz 5000939 BLAKE2B 591572b2421812a943faa9d991916dcce034d36bdda414a47dbfd158edad48eee6082432fe64d0b70de75b47d087236ead374039d7fb282d9a203bf045de9185 SHA512 04cd626facb2f83a4518eb9279654d16d3e8e255d6037571a915047a680ff1c710402a97afc884a1cc73ba2db97673d342066aa11f3580c70055b5cff6ecc942 +DIST pydata-sphinx-theme-0.20.0.gh.tar.gz 5000413 BLAKE2B 8ca799f14f02cf9ce213662e2a6fd08c4cc83e96a63f192e58b27b2fea387f9ddd881dff3ca07fa7b8dc5049b2110e42a6cc480e254878d419975cc1a50a7b39 SHA512 1f0f9a0aee7901345e54db4715c07a16d8507819c14093fefa18a2c5b1e2685fa5c907b37361045d7302221e82f04fe0e1e4a05f182fcc2c8c89c5adbfd45351 DIST pydata_sphinx_theme-0.18.0-py3-none-any.whl 6200747 BLAKE2B d18565462011b51eff6b58370ded7567c0099a260464e89fdea3e6bcb266fb102c41c70e7ea1d3e11da832b2deab876071c4578b8844bc0567bfff2776a61011 SHA512 882f8826e0d3bf5076083808c678e0d560c7a2fb076b320481cb8845882dd267f42338a3a4f4faced8ceb51740847e45bd6452f79ac4e3f0a09c37850c0bcfbe DIST pydata_sphinx_theme-0.19.0-py3-none-any.whl 6201132 BLAKE2B 0a4ed0b9182400d6362cde32f4cb5e319979ab63efa57a1e5bb4a01b31e894b20c78804a010384d4d0c9e0fb49a510bce538cca3a2731c1a9b5021fc88591abd SHA512 a93d58be7ad004aed61eb6737e8bdc51a724cb67335351dba8a8ca7ad7f5e62ff78499e9cb9e98a66d023ca376fdba4cae9338e8462b54b0a7c9f69ee7b34ffb +DIST pydata_sphinx_theme-0.20.0-py3-none-any.whl 6201166 BLAKE2B 0595c8e40296a25b74282df03d94685425e6d09c6781280f1056a553438c7d9e11f4deb530b468c613f85c8158aaf54eb92b2908c36cb9d6c9ef779138eac85a SHA512 956914905da2ec4d3e1c88ff192fb02776c60e7dbbec29fa6b5622a0ae64cff2b4dd6f64ac4e11c0282a221d55a27a8a10d96e198a178abd9dbaf1c4f88d39c7 diff --git a/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.20.0.ebuild b/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.20.0.ebuild new file mode 100644 index 000000000000..adbcb06cf235 --- /dev/null +++ b/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.20.0.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +MY_P=${P/_/} +DESCRIPTION="Bootstrap-based Sphinx theme from the PyData community" +HOMEPAGE=" + https://github.com/pydata/pydata-sphinx-theme/ + https://pypi.org/project/pydata-sphinx-theme/ +" +SRC_URI=" + https://github.com/pydata/pydata-sphinx-theme/archive/v${PV/_/}.tar.gz + -> ${P}.gh.tar.gz + $(pypi_wheel_url) +" +S=${WORKDIR}/${MY_P} + +LICENSE="BSD-with-disclosure" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + dev-python/accessible-pygments[${PYTHON_USEDEP}] + dev-python/babel[${PYTHON_USEDEP}] + dev-python/beautifulsoup4[${PYTHON_USEDEP}] + dev-python/docutils[${PYTHON_USEDEP}] + >=dev-python/pygments-2.7[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + <dev-python/sphinx-10[${PYTHON_USEDEP}] + >=dev-python/sphinx-8.2[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( pytest-{datadir,regressions} ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # Requires sphinx-intl + 'tests/test_build.py::test_translations' +) + +python_compile() { + distutils_wheel_install "${BUILD_DIR}/install" \ + "${DISTDIR}/$(pypi_wheel_name)" +} diff --git a/dev-python/pygobject/pygobject-3.56.3.ebuild b/dev-python/pygobject/pygobject-3.56.3.ebuild index f88e649643cc..ca2daa7f33ff 100644 --- a/dev-python/pygobject/pygobject-3.56.3.ebuild +++ b/dev-python/pygobject/pygobject-3.56.3.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="LGPL-2.1+" SLOT="3" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE="+cairo test" RESTRICT="!test? ( test )" diff --git a/dev-python/pypugjs/Manifest b/dev-python/pypugjs/Manifest index 8f9a8ad3b783..1344d35674b0 100644 --- a/dev-python/pypugjs/Manifest +++ b/dev-python/pypugjs/Manifest @@ -1,2 +1 @@ -DIST pypugjs-6.0.2.gh.tar.gz 70319 BLAKE2B 8f32d986e8d56da195eae4998291b2ae1719d1dff7b4b2125713f775bc3214f725dfe19a813d8d3241d97237585b325f7db2cde13bee01008e870193f1e1db2a SHA512 a26f0a29dcc7edccfff104cbe567d60ec4df8b8001b309193f0c58aadfdf4a7f94ae969b586b8df6cb704d3b2afad4793d269fa5f1f148c16d81ecd1c24c4eac DIST pypugjs-6.0.3.gh.tar.gz 70856 BLAKE2B 53821105315e652d94b0add995e062eebed07e59979e74e5119ada5c5ef0bcd068491174aee281b9b5c1cc60ecfa54cfb5a58679847e6f107c00629b8f48ce09 SHA512 4abbb2c0809d122a75d10940a473c1f952c0cda10f7efba204db45d54001a86cde27d152b48ff685068e4184607ca3d54f5d82ddc651d12384f3be3cd07c2166 diff --git a/dev-python/pypugjs/pypugjs-6.0.2.ebuild b/dev-python/pypugjs/pypugjs-6.0.2.ebuild deleted file mode 100644 index 031ee999044a..000000000000 --- a/dev-python/pypugjs/pypugjs-6.0.2.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=poetry -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 optfeature - -DESCRIPTION="Pug (Jade) syntax adapter for Django, Jinja2 and Mako templates" -HOMEPAGE=" - https://github.com/kakulukia/pypugjs/ - https://pypi.org/project/pypugjs/ -" -SRC_URI=" - https://github.com/kakulukia/pypugjs/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~riscv" - -RDEPEND=" - >=dev-python/six-1.17.0[${PYTHON_USEDEP}] - >=dev-python/charset-normalizer-3.4.4[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - >=dev-python/django-4.2.25[${PYTHON_USEDEP}] - >=dev-python/flask-2.3.3[${PYTHON_USEDEP}] - >=dev-python/jinja2-3.1.6[${PYTHON_USEDEP}] - >=dev-python/mako-1.3.10[${PYTHON_USEDEP}] - >=dev-python/tornado-6.5.2[${PYTHON_USEDEP}] - ) -" - -EPYTEST_PLUGINS=( pytest-asyncio ) -distutils_enable_tests pytest - -src_prepare() { - # poetry nonsense - sed -i -e 's:\^:>=:' pyproject.toml || die - distutils-r1_src_prepare -} - -pkg_postinst() { - optfeature "converting to Django output" dev-python/django - optfeature "converting to Jinja2 output" dev-python/jinja2 - optfeature "converting to Mako output" dev-python/mako - optfeature "converting to Tornado output" dev-python/tornado -} diff --git a/dev-python/python-neutronclient/Manifest b/dev-python/python-neutronclient/Manifest index 98de232b972d..4f20e49dbd12 100644 --- a/dev-python/python-neutronclient/Manifest +++ b/dev-python/python-neutronclient/Manifest @@ -1 +1,2 @@ DIST python_neutronclient-12.0.0.tar.gz 185697 BLAKE2B 18e21a98eef52f487796a6d4a517d1468bf7140f49426cb2b7e70dcff7245d47565944b5981f29ca2bbfda35a8d2c872639064b04369780b07f43a3074cff908 SHA512 e85793c58cd55974be6fe215d9b08d1776111c523e0dcf3d5c93718cb7d8387e0dc91714971adcdd21e33f9d4fb583640f46a7700a506c76fc16f6493c1628da +DIST python_neutronclient-13.0.0.tar.gz 179680 BLAKE2B 544b7d07d7062ad4634fc2dc8d4213dbb05681497fb891bb047fe05cc109e4f9aaf0e6a31ef82330348b3df30fb4b271e20cfce385b7b85a8cb454ad41c72764 SHA512 76873f4e523fd0514ee34a8b61656dd2c95b62fc19ed5d6a68462d751bf5c178e8674b1b3a4125a540de1bab5c6b97210b02c2a6164a4dbf6276183c7f087c50 diff --git a/dev-python/python-neutronclient/python-neutronclient-13.0.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-13.0.0.ebuild new file mode 100644 index 000000000000..ae0ee770f050 --- /dev/null +++ b/dev-python/python-neutronclient/python-neutronclient-13.0.0.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A client for the OpenStack Quantum API" +HOMEPAGE=" + https://opendev.org/openstack/python-neutronclient/ + https://github.com/openstack/python-neutronclient/ + https://pypi.org/project/python-neutronclient/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}] + >=dev-python/cliff-3.4.0[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}] + >=dev-python/openstacksdk-1.5.0[${PYTHON_USEDEP}] + >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}] + >=dev-python/keystoneauth1-3.8.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}] + test? ( + dev-python/bandit[${PYTHON_USEDEP}] + dev-python/fixtures[${PYTHON_USEDEP}] + dev-python/oslotest[${PYTHON_USEDEP}] + dev-python/python-openstackclient[${PYTHON_USEDEP}] + dev-python/requests-mock[${PYTHON_USEDEP}] + dev-python/testtools[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests unittest + +src_prepare() { + # Needs osprofile + rm neutronclient/tests/unit/test_http.py || die + distutils-r1_src_prepare +} + +python_test() { + # functional tests require cloud instance access + eunittest -b neutronclient.tests.unit +} + +python_install() { + distutils-r1_python_install + # stupid stupid stupid + local SITEDIR="${D}$(python_get_sitedir)" || die + cd "${SITEDIR}" || die + local egg=( python_neutronclient*.dist-info ) + [[ -d ${egg[0]} ]] || die "python_quantumclient*.dist-info not found" + ln -s "${egg[0]}" "${egg[0]/neutron/quantum}" || die + ln -s neutronclient quantumclient || die + ln -s neutron quantumclient/quantum || die +} diff --git a/dev-python/sabctools/Manifest b/dev-python/sabctools/Manifest index c71542cac956..4074b65dfec7 100644 --- a/dev-python/sabctools/Manifest +++ b/dev-python/sabctools/Manifest @@ -4,3 +4,4 @@ DIST sabctools-9.4.1.gh.tar.gz 9732977 BLAKE2B bafe308baa5057c10237015f84630d9e6 DIST sabctools-9.5.0.gh.tar.gz 9734930 BLAKE2B a559bf35f73bf5811754e2280d6d5fa8f2914d1b22bc726b3adfb73c5c2cd29df2b777ee3a3295f86f5d7e828b491ab49136a62d191553fcb43cdf7b213661de SHA512 15d164dd8f4883e2d6132398b5cf5f01570a5271c1437b335bdf5beb664a928068b18c0345698b7a4eb6addec902dbc4a2d1bffaac4b431d449ffe9d415bc3c6 DIST sabctools-9.5.1.gh.tar.gz 9734907 BLAKE2B c0067d436f4ae3b815a751e01e7e4c3e624a687cc64d36d99682d086ea8eafc188e20a5ccba0f731f5142a9a783c71368c0545a09355c92c7148401064f72a9b SHA512 aba629a4b939a3fac791dbb1b34352832656e56b976dc41f48c9ef548e3a659a1bc4ed5e4f9a8353e1ed19e7f23adaeb1e28d0778f83e9fe02762b04e6f0768a DIST sabctools-9.6.0.gh.tar.gz 9734920 BLAKE2B dc0fc31d68ceede63359690cc22ac85e8c6a105d43d3749287ca21d27cd35fa584c5d5d7ae39f7fa8320b151a2ece82f2600abd3e1fbc519937eaacffa7172d8 SHA512 9c289c5a07c20baf0ae784bd1824985aa8a17a7f305b1e989577e2e8a079b06084323155e17ae838e9c13834c451ef6c5cd65c3d0b04674a8a949c9d1bf7c289 +DIST sabctools-9.6.1.gh.tar.gz 9735291 BLAKE2B 0b68b435a95bd58f0a586972eaae2b9b7fb12c985929ec18f4404a1030e516b1b7818eb2c519edf93657d77f204bc63519815edfbb1ac6ad960a4c9fc6e67e3f SHA512 26212b9264185ae4136c63452734f890e755b12f73cb4a634ce7f4dee1a400bbb5ec613754a39dd9e1d3e6b56f800fbff47c7ac669f0b9a51fd161e5d3ae0137 diff --git a/dev-python/sabctools/sabctools-9.6.1.ebuild b/dev-python/sabctools/sabctools-9.6.1.ebuild new file mode 100644 index 000000000000..ec27e59ca3a8 --- /dev/null +++ b/dev-python/sabctools/sabctools-9.6.1.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2026 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_{13..14} ) + +inherit distutils-r1 + +MY_PN="sabctools" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Module providing raw yEnc encoding/decoding for SABnzbd" +HOMEPAGE=" + https://github.com/sabnzbd/sabctools/ + https://pypi.org/project/sabctools/ +" +SRC_URI=" + https://github.com/sabnzbd/${MY_PN}/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +BDEPEND=" + test? ( + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/portend[${PYTHON_USEDEP}] + ) +" + +DOCS=( README.md doc/yenc-draft.1.3.txt ) + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/dev-python/scikit-build-core/Manifest b/dev-python/scikit-build-core/Manifest index 574b5f50c486..3127518cc8c4 100644 --- a/dev-python/scikit-build-core/Manifest +++ b/dev-python/scikit-build-core/Manifest @@ -4,3 +4,5 @@ DIST scikit_build_core-1.0.0.tar.gz 466325 BLAKE2B 96436dc6b37ef6cbaf979e5ef5b38 DIST scikit_build_core-1.0.0.tar.gz.provenance 10105 BLAKE2B 6c00ce6d5944529cce68c0513608096d1c2411a66bcb86192215ee244f5a2100e7257ee248c7e85f4d2a329ab3e6f7f45b4c8211b767bfc66b01e89a8ed0b39f SHA512 d44767f3b547e856a45ac66d227db7a1b6b8bcb038028da3b5a52f4bf6059cffb9117c3a9876d7dfc3e97e9e73e351edce7a3ec26fcc7800ad25dde421ef929d DIST scikit_build_core-1.0.1.tar.gz 468128 BLAKE2B 7b2ba289a5e79a8b1a71432e3ebabad093274c953c957d3c324ce864d8cb25b269156878dbc183ecf167452939f7bc8ad57d0d7768f8079a4de6ba903ab4de11 SHA512 4651484d1783ad9bd9946bd71fc70002371c16dbf8df0f6fa87d3d498061eb05583e1e825601d48d0e1ebf512e7f9ae308666b84dcc333e9461793f09ef74655 DIST scikit_build_core-1.0.1.tar.gz.provenance 9823 BLAKE2B 93694a5ed43fcc0cee035a2c19a39da00531a1f1e9a30983061b018ecbf971d142915b3e4e7baa7feda85b5c3ed6cdc641a79c4b5515447d800d8e7f36b6c382 SHA512 9dfdf575d24f80cae3f534a7a1e5334f1cf60867a09e747afba8bf56c534f48b64ee5d97aa77af6e1c076c9d180ff52a90adaa381195fcd1dec48693c4696e33 +DIST scikit_build_core-1.0.2.tar.gz 469825 BLAKE2B 11abd8868155e046a0c25b1b2596e2993cd13749c94b236005366e8eb8fbe7fe8b4a6965e54e5b2322a633602cf19d820dec2b2c90015cbc01962ed84ff1cf0b SHA512 9c2986e755b1ac1ace4c77033053084494551b9a41fbae5896f4a9cb9491e68bada713723b454c9a27c1abae214cc0de834c78805c2d8fb55d58ab95114a0b3d +DIST scikit_build_core-1.0.2.tar.gz.provenance 10011 BLAKE2B c1c9d40f30db12f204447fa487c79ec5aaf2b6361d1a39bc4dfeb4d2188ff6b2f60294d7d3396630c6bb5c3071d29cfa4a5a5c77d9c66a56add636ca322b7fc1 SHA512 e68f3c66e62ab402d5eca861e7711cad3726e33d7378a79c0dbd3b78f31b0ead88d41928669f6cedfbf7372d7e00265e2344a1e6f59d093c0d75ba056efe13d9 diff --git a/dev-python/scikit-build-core/scikit-build-core-1.0.2.ebuild b/dev-python/scikit-build-core/scikit-build-core-1.0.2.ebuild new file mode 100644 index 000000000000..96f33014caf2 --- /dev/null +++ b/dev-python/scikit-build-core/scikit-build-core-1.0.2.ebuild @@ -0,0 +1,52 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/scikit-build/scikit-build-core +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Build backend for CMake based projects" +HOMEPAGE=" + https://github.com/scikit-build/scikit-build-core/ + https://pypi.org/project/scikit-build-core/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +# we always want [pyproject] extra +RDEPEND=" + app-alternatives/ninja + dev-build/cmake + >=dev-python/packaging-23.2[${PYTHON_USEDEP}] + >=dev-python/pathspec-0.12.0[${PYTHON_USEDEP}] + >=dev-python/pyproject-metadata-0.5[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + dev-python/build[${PYTHON_USEDEP}] + >=dev-python/cattrs-22.2.0[${PYTHON_USEDEP}] + dev-python/fastjsonschema[${PYTHON_USEDEP}] + dev-python/pybind11[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-subprocess ) +distutils_enable_tests pytest + +python_test() { + local EPYTEST_IGNORE=( + # needs unpackaged validate_pyproject + tests/test_schema.py + ) + + epytest -m "not isolated and not network" +} diff --git a/dev-python/tpm2-pytss/files/tpm2-pytss-2.3.0-cryptography-fix-support-for-cryptography-47.patch b/dev-python/tpm2-pytss/files/tpm2-pytss-2.3.0-cryptography-fix-support-for-cryptography-47.patch new file mode 100644 index 000000000000..65197b39940d --- /dev/null +++ b/dev-python/tpm2-pytss/files/tpm2-pytss-2.3.0-cryptography-fix-support-for-cryptography-47.patch @@ -0,0 +1,46 @@ +From 5d15cad4bde28902a4becb8e2a8e915aba8abbd0 Mon Sep 17 00:00:00 2001 +From: Erik Larsson <who+github@cnackers.org> +Date: Sun, 26 Apr 2026 11:50:55 +0200 +Subject: [PATCH 1/4] cryptography: fix support for cryptography 47. + +The abstract classes now require deepcopy support, so add that. + +Signed-off-by: Erik Larsson <who+github@cnackers.org> +--- + src/tpm2_pytss/cryptography.py | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/src/tpm2_pytss/cryptography.py b/src/tpm2_pytss/cryptography.py +index 5b8432c..20dc34b 100644 +--- a/src/tpm2_pytss/cryptography.py ++++ b/src/tpm2_pytss/cryptography.py +@@ -263,6 +263,14 @@ class tpm_rsa_private_key(rsa.RSAPrivateKey): + ectx=self._ectx, handle=self._handle, session=self._session + ) + ++ def __deepcopy__(self, memo: dict) -> "tpm_rsa_private_key": ++ """Retuns a copy of the private key. ++ ++ Notes: ++ This behaves as a shallow copy as we don't copy the ESAPI context. ++ """ ++ return self.__copy__() ++ + + class tpm_ecc_private_key(ec.EllipticCurvePrivateKey): + """Interface to a TPM ECC key for use with the cryptography module. +@@ -440,3 +448,11 @@ class tpm_ecc_private_key(ec.EllipticCurvePrivateKey): + return tpm_ecc_private_key( + ectx=self._ectx, handle=self._handle, session=self._session + ) ++ ++ def __deepcopy__(self, memo: dict) -> "tpm_ecc_private_key": ++ """Retuns a copy of the private key. ++ ++ Notes: ++ This behaves as a shallow copy as we don't copy the ESAPI context. ++ """ ++ return self.__copy__() +-- +2.54.0 + diff --git a/dev-python/tpm2-pytss/tpm2-pytss-2.3.0-r2.ebuild b/dev-python/tpm2-pytss/tpm2-pytss-2.3.0-r3.ebuild index d9960672485f..966f0df0dbad 100644 --- a/dev-python/tpm2-pytss/tpm2-pytss-2.3.0-r2.ebuild +++ b/dev-python/tpm2-pytss/tpm2-pytss-2.3.0-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -29,7 +29,7 @@ DEPEND=" RDEPEND="${DEPEND} dev-python/cffi[${PYTHON_USEDEP}] dev-python/asn1crypto[${PYTHON_USEDEP}] - dev-python/cryptography[${PYTHON_USEDEP}] + >=dev-python/cryptography-47[${PYTHON_USEDEP}] dev-python/pycparser[${PYTHON_USEDEP}] dev-python/pyyaml[${PYTHON_USEDEP}] " @@ -41,12 +41,17 @@ BDEPEND=" PATCHES=( "${FILESDIR}/${PN}-2.3.0-preprocess-as-C99.patch" "${FILESDIR}/${PN}-2.3.0-use-CC-enviromental-variable.patch" - # https://github.com/tpm2-software/tpm2-pytss/pull/643 - "${FILESDIR}/${P}-cryptography-45.patch" + "${FILESDIR}/${PN}-2.3.0-cryptography-45.patch" + "${FILESDIR}/${PN}-2.3.0-cryptography-fix-support-for-cryptography-47.patch" ) +RESTRICT="!test? ( test )" export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} -EPYTEST_PLUGINS=() -EPYTEST_XDIST=1 -distutils_enable_tests pytest +python_test() { + local EPYTEST_DESELECT=( + # Current tpm2-tss specified a newer revision that the one tested for + test/test_encoding.py::ToolsTest::test_tools_decode_tpml_tagged_tpm_property + ) + epytest +} diff --git a/dev-python/xarray/Manifest b/dev-python/xarray/Manifest index 3c9c706c459d..b39177420b28 100644 --- a/dev-python/xarray/Manifest +++ b/dev-python/xarray/Manifest @@ -2,3 +2,5 @@ DIST xarray-2026.2.0.tar.gz 3111388 BLAKE2B d6dd10fb4e19c29a37c6ce3a4a68a80257dd DIST xarray-2026.2.0.tar.gz.provenance 9725 BLAKE2B 4d7f17796fec575acc58eac98d6b9310cf3c67eccc361ac02f7170b005de247b6f45f60ebb0ebb67a8b984a53610925f86a18c3b4a88e999e83db8224bde2e63 SHA512 c5fda63b6790ed87293bbe95ea1f5ea223fc51f8518b9f545832f64979c7dbd3446604e22434978d5d564161a13c5a959ccc6f72a9ed336e268a8b5071dcd8c8 DIST xarray-2026.4.0.tar.gz 3132311 BLAKE2B 813374c3f0d5fdda30ab28a6c3d22f4c45d0732dedfb5dc15eb09ce4d3473cab963bb02aa5c77e013337891a3c657294d211943a673d04de1a123f3bfda5db46 SHA512 f70fc78978f255a413b61a113b2e9e5da15e2fcd5c290ec81b112bd6bb0cb8e55aacde684dc756bd1f6087970ac3c85c602a883fa149ff5ff0013c3f3cb32cd1 DIST xarray-2026.4.0.tar.gz.provenance 9447 BLAKE2B 0e9dd86e6d23f35c054c40b21e19c8ea309de73b6543980487cc25f9b93a56a714a1d37dba7c698b0d7ed47eb77eb26aff535d3f0d6e166050b5d8df9aff4c1b SHA512 76facef3f3d2a8cf8d10f75b0ee6842ee9ebb9db689b41db49cdbc74f40505878e8705ce0fba3a109dbd5925b4c331175ea8db5f11a9fe621ca6f5036564eaf8 +DIST xarray-2026.7.0.tar.gz 3145348 BLAKE2B b3ca423036b5262ea47054a66368e6ae78b9427f1dda3bcfeef6b694b7078662cc2c2408f452c9da2e29abc647c29ed0e26cc4e6f867864c2a25099395dfaccd SHA512 3a4b10edc57f02ee07c4bfda494d845b42e434e8ea34a8cf835be40bda897c0337865986f6a541d64b528e8d5d898faae18ea5af28b003c4e84530f99a9cbeda +DIST xarray-2026.7.0.tar.gz.provenance 9964 BLAKE2B 6ea402c569d18d93dccff0c89927c4069794eb430d7e285862eca42fd7af4e0985fac4ab6fba9ab9d6fca8fc41ed50584f307f735fc58ffe042382e62feac6e0 SHA512 de91805a18a3e944a323c9abc658a87fa0aedd38f1e8bfa2d1bb70100c43671849f81b55d7fdc95755c1e8eb318b765b0731367837f5531aa8dfcff739ad6d52 diff --git a/dev-python/xarray/xarray-2026.7.0.ebuild b/dev-python/xarray/xarray-2026.7.0.ebuild new file mode 100644 index 000000000000..4e961221ab4c --- /dev/null +++ b/dev-python/xarray/xarray-2026.7.0.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/pydata/xarray +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="N-D labeled arrays and datasets in Python" +HOMEPAGE=" + https://xarray.pydata.org/ + https://github.com/pydata/xarray/ + https://pypi.org/project/xarray/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +IUSE="big-endian" + +RDEPEND=" + >=dev-python/numpy-1.26[${PYTHON_USEDEP}] + >=dev-python/pandas-2.2[${PYTHON_USEDEP}] + >=dev-python/packaging-24.2[${PYTHON_USEDEP}] +" +# note: most of the test dependencies are optional +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + dev-python/bottleneck[${PYTHON_USEDEP}] + dev-python/cftime[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + !riscv? ( !x86? ( + >=dev-python/netcdf4-1.6.0[bzip2,szip,${PYTHON_USEDEP}] + ) ) + dev-python/toolz[${PYTHON_USEDEP}] + !hppa? ( >=dev-python/scipy-1.15[${PYTHON_USEDEP}] ) + ) +" + +EPYTEST_PLUGINS=( hypothesis pytest-asyncio ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + # indirect pin, sigh + sed -i -e '/numpy/d' pyproject.toml || die +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO: these fail with filter errors even if netcdf4 is built + # with blosc/zstd support + 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[zstd]' + 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz]' + 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4]' + 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4hc]' + 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zlib]' + 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zstd]' + # requires h5netcdf package + xarray/tests/test_backends_datatree.py::TestNetCDF4DatatreeIO::test_open_datatree_specific_group + # NotImplementedError, seriously? + xarray/tests/test_backends.py::TestGenericNetCDF4InMemory::test_roundtrip_group_via_memoryview + ) + + if has_version ">=dev-python/numpy-2.4[${PYTHON_USEDEP}]" ; then + EPYTEST_DESELECT+=( + # TODO + xarray/tests/test_dataarray.py::TestDataArray::test_curvefit_helpers + xarray/tests/test_variable.py::TestIndexVariable::test_concat_periods + ) + fi + + if ! has_version ">=dev-python/scipy-1.4[${PYTHON_USEDEP}]" ; then + EPYTEST_DESELECT+=( + 'xarray/tests/test_missing.py::test_interpolate_na_2d[coords1]' + ) + + if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]" ; then + EPYTEST_DESELECT+=( + xarray/tests/test_calendar_ops.py::test_interp_calendar + ) + fi + fi + + if use big-endian ; then + EPYTEST_DESELECT+=( + # Appears to be a numpy issue in display? See bug #916460. + 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-20-True]' + 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-09-21T00:12:44.145224808-ns-float64-1e+30-True]' + 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225216-ns-float64--9.223372036854776e+18-True]' + 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-None-False]' + 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225-us-int64-None-False]' + 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-01-01T00:00:01.000001-us-int64-None-False]' + 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:21:52.901038080-ns-float32-20.0-True]' + ) + fi + + if [[ ${ABI} != *64* ]]; then + EPYTEST_DESELECT+=( + # these tests hardcode object sizes for 64-bit arches + # https://github.com/pydata/xarray/issues/9127 + xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex + xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex_long + xarray/tests/test_dataset.py::TestDataset::test_repr + xarray/tests/test_dataset.py::TestDataset::test_repr_multiindex + xarray/tests/test_datatree.py::TestRepr::test_doc_example + xarray/tests/test_datatree.py::TestRepr::test_repr_truncates_nodes + xarray/tests/test_formatting.py::test_array_repr_dtypes_unix + + # converting timestamps into ns, causing an overflow + xarray/tests/test_cftimeindex.py::test_asi8 + xarray/tests/test_coding_times.py::test_decode_cf_time_bounds + xarray/tests/test_coding_times.py::test_use_cftime_false_standard_calendar_in_range + xarray/tests/test_coding_times.py::test_decode_cf_datetime_non_standard_units + + # https://github.com/pydata/xarray/issues/10956 + 'xarray/tests/test_coding_times.py::test_decode_timedelta_via_units[decode_timedelta=False]' + xarray/tests/test_dataset.py::TestDataset::test_to_and_from_dataframe + xarray/tests/test_formatting.py::TestFormatting::test_diff_datatree_repr_equals + xarray/tests/test_formatting.py::test_repr_pandas_multi_index + 'xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_reduce_keep_attrs[False-False]' + 'xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_reduce_keep_attrs[False-True]' + 'xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_reduce_keep_attrs[None-False]' + 'xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_reduce_keep_attrs[None-True]' + 'xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_reduce_keep_attrs[True-False]' + 'xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_reduce_keep_attrs[True-True]' + xarray/tests/test_groupby.py::test_groupby_reduce_dimension_error + xarray/tests/test_namedarray.py::test_fake_target_chunksize_cftime + 'xarray/tests/test_namedarray.py::test_fake_target_chunksize[input_array0-1024-int64]' + xarray/tests/test_strategies.py::TestReduction::test_mean + xarray/tests/test_variable.py::TestVariable::test_reduce_keepdims + ) + fi + + case ${ARCH} in + arm64) + EPYTEST_DESELECT+=( + 'xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[dtype0-create_unsigned_false_masked_scaled_data-create_encoded_unsigned_false_masked_scaled_data]' + 'xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[dtype1-create_unsigned_false_masked_scaled_data-create_encoded_unsigned_false_masked_scaled_data]' + ) + ;; + esac + + if ! has_version "dev-python/seaborn[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + xarray/tests/test_plot.py::TestContour::test_colors + ) + fi + + epytest -o addopts= +} |
