diff options
Diffstat (limited to 'dev-python')
30 files changed, 700 insertions, 59 deletions
diff --git a/dev-python/audioop-lts/Manifest b/dev-python/audioop-lts/Manifest index 591d0a973f3c..5f9bd657129a 100644 --- a/dev-python/audioop-lts/Manifest +++ b/dev-python/audioop-lts/Manifest @@ -1 +1,2 @@ DIST audioop_lts-0.2.1.tar.gz 30204 BLAKE2B 924d05bbfc0cd42fd9ca2cff175db5cc4024641e4cf5ac72200e8178a1806a7a4e4230b931a9a2b096fe5ccc3594ebc3fbdabc716b2e2db06e9fb7d737c639de SHA512 e0fb4c7fcec4dacaa38a2fb2cf69bff3eab8c78150429f3af54192bff7b98c574f3e65960c65d554104c1290e86806f295e7ada434c33b47abb383c644eb2c4b +DIST audioop_lts-0.2.2.tar.gz 30686 BLAKE2B dee6fbe3b99f5a0cab1a4f1abc89aece2cd39bbe0cb3ee23b74199a7d0832b73f284e14d89d5dce45ca61bac4870cd3edefea99d0066067a52c9501a9c40d60e SHA512 e7ed20da985c0aff20fe60ef8f3a36b7306c86677b969509840efce0667d65880c922edff61453aa25fde036aa1d46b1890e78ddfaa6be8468d4203ef074df16 diff --git a/dev-python/audioop-lts/audioop-lts-0.2.2.ebuild b/dev-python/audioop-lts/audioop-lts-0.2.2.ebuild new file mode 100644 index 000000000000..ba2bd20aea90 --- /dev/null +++ b/dev-python/audioop-lts/audioop-lts-0.2.2.ebuild @@ -0,0 +1,28 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_EXT=1 +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="An LTS port of Python's audioop module" +HOMEPAGE=" + https://github.com/AbstractUmbra/audioop + https://pypi.org/project/audioop-lts/ +" + +LICENSE="PSF-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + rm -rf audioop || die + epytest +} diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest index 00003cd972bc..94bedf447720 100644 --- a/dev-python/cfn-lint/Manifest +++ b/dev-python/cfn-lint/Manifest @@ -1,3 +1,4 @@ DIST cfn_lint-1.37.2.tar.gz 3105967 BLAKE2B afa47f8c3669b32a6471e6bd438b68407f87f76c1473d848b8bc70474616418505ffcb69f7a35124fc2c5c1b2a5135d2d9ed51f2227b36e753d7a481fbc5b362 SHA512 e5a24a4cc506c287af3229ca86bee6ece335b8b80c7083f9b8c52a79d09c441043b176464e84051d05e135d2e47b11b307531a9ab0b24de98545e9e276697f64 DIST cfn_lint-1.38.0.tar.gz 3131464 BLAKE2B d843617918f16882927c31a92d24cb67b7701787f0398dae7fb0432df7db811946a78144641e60e3b09b049ec04493860841fce415d2ce2be977ae4a6760e2a7 SHA512 a38773533b6d2e8c9df39e2195b6d91a621c2b9e6da1dec5c221ef6d4f52d5f3f52232699395c4d54f00152b23daa22ac2dd44515cb888d1b86b88686f0f9c34 DIST cfn_lint-1.38.1.tar.gz 3448936 BLAKE2B 40def52bc1b65793a181c0b233f96592959afa8c70b12ca6039f98237db84cabad3e36a1bbd27504d2264859bb1ed4a70f70ae33f0ac43048885555149889275 SHA512 150a142af8ae5c2feb6e7b44c2c9176a5b53035daa5563f76b2de0cf85a249eb7171be261a7f3d64fb7c63d2e632a62863e0d99d88d242ec0e2ba529c8829a63 +DIST cfn_lint-1.38.2.tar.gz 3534485 BLAKE2B 490b22ab540944a2feb4ad8b9e4ff02d8f4e3520b1c077eed83e925118f6d4de29858e470d703b7aee2788b9ab07c8c4e11ac5af54446be3b67ae8ac61145954 SHA512 670e52e26eaae0cc70b7f3573f03bde3632c8932fc5525942f981c592e37bf622d785b2f1f6d490cb96cb9b148a348c7e2f4ee8573fa146a10d0b888693d3be7 diff --git a/dev-python/cfn-lint/cfn-lint-1.38.2.ebuild b/dev-python/cfn-lint/cfn-lint-1.38.2.ebuild new file mode 100644 index 000000000000..6a1d53b2d46a --- /dev/null +++ b/dev-python/cfn-lint/cfn-lint-1.38.2.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +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.97.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-5.4[${PYTHON_USEDEP}] + >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}] + >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}] + >=dev-python/sympy-1.0.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 + # TODO: suddenly started failing in older versions too + # https://github.com/aws-cloudformation/cfn-lint/issues/4207 + test/integration/test_good_templates.py + test/unit/module/override/test_exclude.py::TestExclude::test_success_run + test/unit/module/test_api.py::TestLintFile::test_good_template + test/unit/module/test_rules_collections.py::TestRulesCollection::test_success_run + ) + + # from tox.ini + local -x AWS_DEFAULT_REGION=us-east-1 + epytest +} diff --git a/dev-python/electrum-aionostr/Manifest b/dev-python/electrum-aionostr/Manifest new file mode 100644 index 000000000000..f3231cd42ef1 --- /dev/null +++ b/dev-python/electrum-aionostr/Manifest @@ -0,0 +1 @@ +DIST electrum_aionostr-0.0.11.tar.gz 22126 BLAKE2B 1b120fd01c526e7854ad944702d70aae9026c2f15bfac1a72034ee1212c706d58c86be29787a5998153a0fada47adeac1a1a0fb1cb7b8781adf908fbec262186 SHA512 8d1888c237ded63f8512f29d35f6da05eb3e7c2eaf6a16a1a503a09e6e224b15232e732da82775070e2fb4098982945deaa6eb6332ff0c9bd0d9e3828dfa962a diff --git a/dev-python/electrum-aionostr/electrum-aionostr-0.0.11.ebuild b/dev-python/electrum-aionostr/electrum-aionostr-0.0.11.ebuild new file mode 100644 index 000000000000..8a933c72e7e9 --- /dev/null +++ b/dev-python/electrum-aionostr/electrum-aionostr-0.0.11.ebuild @@ -0,0 +1,36 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="asyncio nostr client" +HOMEPAGE=" + https://pypi.org/project/electrum-aionostr/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/click-8.2[${PYTHON_USEDEP}] + dev-python/electrum-ecc[${PYTHON_USEDEP}] + >=dev-python/aiohttp-3.11.0[${PYTHON_USEDEP}] + >=dev-python/aiohttp-socks-0.9.2[${PYTHON_USEDEP}] + >=dev-python/aiorpcx-0.22.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # remove pins + sed -i -e 's:,<[0-9.]*::' pyproject.toml || die +} diff --git a/dev-python/electrum-aionostr/metadata.xml b/dev-python/electrum-aionostr/metadata.xml new file mode 100644 index 000000000000..a0d4c5913ba0 --- /dev/null +++ b/dev-python/electrum-aionostr/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + </maintainer> + + <origin>gentoo-staging</origin> + <stabilize-allarches/> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/electrum-ecc/Manifest b/dev-python/electrum-ecc/Manifest new file mode 100644 index 000000000000..4aae35fb0dba --- /dev/null +++ b/dev-python/electrum-ecc/Manifest @@ -0,0 +1 @@ +DIST electrum_ecc-0.0.5.tar.gz 2009297 BLAKE2B e67858bb7e30f5e12a37f7adf82242b8fbee4c55724154748b8ab59f12413cc1a6c82a2655765326684cd5c2f1f57de971c5c320c810b27328704bd4a7f8d1b2 SHA512 982afb1a36f25d460413e678ebb4981d5ecca69a148c5d4d7d5f878d534c69b8966e9ac50499742eb5a89a67d2f2855a8887e2f28dd8aa18bc6ded6e1518c5e7 diff --git a/dev-python/electrum-ecc/electrum-ecc-0.0.5.ebuild b/dev-python/electrum-ecc/electrum-ecc-0.0.5.ebuild new file mode 100644 index 000000000000..0bffcca55f83 --- /dev/null +++ b/dev-python/electrum-ecc/electrum-ecc-0.0.5.ebuild @@ -0,0 +1,39 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Pure python ctypes wrapper for libsecp256k1" +HOMEPAGE=" + https://github.com/spesmilo/electrum-ecc/ + https://pypi.org/project/electrum-ecc/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +# check ecc_fast.py for supported SOVERSIONS +RDEPEND=" + || ( + dev-libs/libsecp256k1:0/5 + dev-libs/libsecp256k1:0/2 + ) +" +BDEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] +" + +distutils_enable_tests unittest + +export ELECTRUM_ECC_DONT_COMPILE=1 + +python_test() { + cd tests || die + eunittest +} diff --git a/dev-python/electrum-ecc/metadata.xml b/dev-python/electrum-ecc/metadata.xml new file mode 100644 index 000000000000..7ad11570cc7d --- /dev/null +++ b/dev-python/electrum-ecc/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + </maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/fastbencode/Manifest b/dev-python/fastbencode/Manifest index 820a312c3a91..3730a2648a0f 100644 --- a/dev-python/fastbencode/Manifest +++ b/dev-python/fastbencode/Manifest @@ -1,6 +1,6 @@ DIST autocfg-1.5.0.crate 18729 BLAKE2B 27580e39b366c6fca02c9db09997b6415c409f12068f1249184268bf96fd85ba659e25ec730f99e10caf452f96c486f3d7442bf09c4552b5f39519b21d6f88cc SHA512 f279856f234d39d369623576acf9546a1ca24d7fe449f36d4fb93ea75a7efaf2c4015b9616a69bbbed358c5e5882e16b045352f046aa4c049b3d13b1e8257b08 -DIST fastbencode-0.3.2.tar.gz 24878 BLAKE2B a516be3b5d0eb6fc09afc3d4f3c40454893f1cc252592f032fbb8d2d906bc59b8be6b50a13d4ef4e0ab608b68dcc56a24e0b96fae2b12f1f8666f43ff76435c5 SHA512 0750aec47720dbf1e85b7acbf4f9df85e672d0cf53dee522a035340d7eb1e90eca5eeeafe8e0c7fa3b769216bda84d348f7d78133a1540142143db54799ff97f DIST fastbencode-0.3.4.gh.tar.gz 21576 BLAKE2B 8647f98f672cc24a5eea517afdc1232543374a5ed283bff6f51e4f53ce576fd7355963406ecfa5aaf9a075f71b6608586e26f879c1da00cc406d2fa9b4916dc5 SHA512 456311c40ec6ab6750e74244ad4bdf731c39c7fd294ebabba867a05221d0af054838ef0e75620982ad274061732e55716053505dfcafbc2d1b6e12c324406369 +DIST fastbencode-0.3.5.tar.gz 16953 BLAKE2B 703549bffc69d6b85b80cb4f8081c15cbbed94261fc03337bb927204de2ad75eda838559decf70bc76bb40bbe219c2ffdb53132263dbdf6c6998b79c1118430b SHA512 fd4d167fea1e8075b78ea748408d05badc1bbb3fbb09d6393c045ad990f83f07a926748d4b2b686cba2e23a839a57f18687af021c690eb402bd3b3e191bc324c DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 DIST indoc-2.0.6.crate 17164 BLAKE2B 1a6cff95bc12ea885ef36b935bf4f1c7870d65be0ff31ffc67dcab904fa80215c1254c1803c5d0c5686252addfad3512e9e1ec79d3edcba026a879f4706926d1 SHA512 e2ea2e5c8226c802bbe0631c1a99d2edd088cbafbf978b2a7b71c7c7f47754c6d4653f466e286441b61cc46def1c7f7a02d4785caab93a61dd785211dba7d1a9 DIST libc-0.2.174.crate 779933 BLAKE2B 20ffcbbcad6961e732521940f0595039dc0576d85b2d3b2ad3f1decd37571132a4cd7505b2e108078a4379fc4cec46290b5633bcbcc6e7009c3b474c1a852628 SHA512 243f2ffd5741ef859e4dc5b7ee0396071943b1d10429efcaecb322957e256c4be88a7a649029dfd47e6456acc73ee257893fb6c4e8b4d0fe66a12bc5d1c13c73 diff --git a/dev-python/fastbencode/fastbencode-0.3.2.ebuild b/dev-python/fastbencode/fastbencode-0.3.2.ebuild deleted file mode 100644 index 10dffe678ada..000000000000 --- a/dev-python/fastbencode/fastbencode-0.3.2.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 2023-2025 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_{11..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Implementation of bencode with optional fast C extensions" -HOMEPAGE=" - https://github.com/breezy-team/fastbencode/ - https://pypi.org/project/fastbencode/ -" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+native-extensions" - -BDEPEND=" - native-extensions? ( - dev-python/cython[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests unittest - -src_prepare() { - distutils-r1_src_prepare - - # makes the extension non-optional (when built) - export CIBUILDWHEEL=1 - if ! use native-extensions; then - sed -i -e '/^add_cython_extension(/d' setup.py || die - fi -} - -src_test() { - mv fastbencode/tests tests || die - rm -r fastbencode || die - - distutils-r1_src_test -} diff --git a/dev-python/fastbencode/fastbencode-0.3.5.ebuild b/dev-python/fastbencode/fastbencode-0.3.5.ebuild new file mode 100644 index 000000000000..82be09d201d5 --- /dev/null +++ b/dev-python/fastbencode/fastbencode-0.3.5.ebuild @@ -0,0 +1,85 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + autocfg@1.5.0 + heck@0.5.0 + indoc@2.0.6 + libc@0.2.174 + memoffset@0.9.1 + once_cell@1.21.3 + portable-atomic@1.11.1 + proc-macro2@1.0.95 + pyo3-build-config@0.25.1 + pyo3-ffi@0.25.1 + pyo3-macros-backend@0.25.1 + pyo3-macros@0.25.1 + pyo3@0.25.1 + quote@1.0.40 + syn@2.0.104 + target-lexicon@0.13.2 + unicode-ident@1.0.18 + unindent@0.2.4 +" + +CARGO_OPTIONAL=1 +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{11..14} ) + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Implementation of bencode with Rust implementation" +HOMEPAGE=" + https://github.com/breezy-team/fastbencode/ + https://pypi.org/project/fastbencode/ +" +SRC_URI+=" + native-extensions? ( + ${CARGO_CRATE_URIS} + ) +" + +LICENSE="Apache-2.0" +LICENSE+=" native-extensions? (" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0" +LICENSE+=" )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="+native-extensions" + +BDEPEND=" + native-extensions? ( + ${RUST_DEPEND} + dev-python/setuptools-rust[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests unittest + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/fastbencode/_bencode_rs.*.so" + +pkg_setup() { + use native-extensions && rust_pkg_setup +} + +src_unpack() { + cargo_src_unpack +} + +src_prepare() { + distutils-r1_src_prepare + + if ! use native-extensions; then + # setup.py is only used for setuptools-rust + rm setup.py || die + fi +} + +src_test() { + rm -r fastbencode || die + distutils-r1_src_test +} diff --git a/dev-python/inline-snapshot/Manifest b/dev-python/inline-snapshot/Manifest index 7dd19d2c4547..6aecb2705f9e 100644 --- a/dev-python/inline-snapshot/Manifest +++ b/dev-python/inline-snapshot/Manifest @@ -1,3 +1,4 @@ DIST inline_snapshot-0.24.0.tar.gz 263374 BLAKE2B 4d20f973ceae3f138b5f709cf636c8e82ba7d7e3fa2cb8288729f369ef243e9e8155b30b7b9d52758bc1e76ef91badb264f1b5b5dfcb3d91cbf6d170419d5d2e SHA512 d523f29af2ff6026e21fd3c24a6c222784d0db0983fd4a906b852c3d0ec38016eb1df373b4873ae99cb16e7a5e94d582ed6df6803a83d7da244a895a70f37ba9 DIST inline_snapshot-0.25.3.tar.gz 343645 BLAKE2B 9605768671431b1dd3b50d85d6a71c5274916c08fa168cef6415a2b8d408d627d39d634abab015e75e8bf6fae7c23124bd108ef65ae9c5ea61f2135d224c9821 SHA512 a9786278f055256fe5f74b8c63e0a696eaef8da6a10d5ef4431285deb138d184de602f0153f429e9ba4270f30a407e0f62295e5610f120df181369acc94eb5f3 DIST inline_snapshot-0.26.0.tar.gz 344185 BLAKE2B 49921529fe335226ae6dc66d33fc89aa84d6026100af2edee2ea6e2a532717788814b8746c92a462b1bb794cc255eb37f4bef16f99ad6d6d0c422045ec95e335 SHA512 2410f0b6e9b04279ce20459a3d41db42efb97a68d85f72971d700cec7d0f3074961291ab423605ebfcfc515cc6f49912efc593f86e2b4df5500073f1c9fe3944 +DIST inline_snapshot-0.27.0.tar.gz 345721 BLAKE2B c73f566fdbe8c454ffd047f3d5afe32c50db8c8195594243f5758fa17e0f6f705bb0e7aae88f8d32bad8d09b8e987cda1af61e67eec8b2fdfaf473e03a08f350 SHA512 1a48fad492a1da4d1555967a6c99edfaada35a64951c7021ba751f4aaabf7154e5dac30e0cb0cff5dad18c2256da257f7cbfcf90b0e0909890b7308b1384373d diff --git a/dev-python/inline-snapshot/inline-snapshot-0.27.0.ebuild b/dev-python/inline-snapshot/inline-snapshot-0.27.0.ebuild new file mode 100644 index 000000000000..dd22ca843ec0 --- /dev/null +++ b/dev-python/inline-snapshot/inline-snapshot-0.27.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Create and update inline snapshots in your Python tests" +HOMEPAGE=" + https://15r10nk.github.io/inline-snapshot/ + https://github.com/15r10nk/inline-snapshot/ + https://pypi.org/project/inline-snapshot/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/asttokens-2.0.5[${PYTHON_USEDEP}] + >=dev-python/executing-2.2.0[${PYTHON_USEDEP}] + >=dev-python/pytest-8.3.4[${PYTHON_USEDEP}] + >=dev-python/rich-13.7.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/attrs[${PYTHON_USEDEP}] + >=dev-python/black-23.3.0[${PYTHON_USEDEP}] + >=dev-python/dirty-equals-0.7.0[${PYTHON_USEDEP}] + >=dev-python/hypothesis-6.75.5[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/mypy[${PYTHON_USEDEP}] + ' 'python*') + >=dev-python/pydantic-2[${PYTHON_USEDEP}] + >=dev-python/pytest-freezer-0.4.8[${PYTHON_USEDEP}] + >=dev-python/pytest-mock-3.14.0[${PYTHON_USEDEP}] + >=dev-python/pytest-subtests-0.11.0[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" pytest-{freezer,mock,subtests,xdist} ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # requires pyright + 'tests/test_typing.py::test_typing_args[pyright]' + 'tests/test_typing.py::test_typing_call[pyright]' + # TODO + tests/test_formating.py::test_format_command_fail + ) + + local -x COLUMNS=80 + local -x PYTHONPATH=${S}/src + epytest +} diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest index d12ab8aeaca8..a11d7c268c91 100644 --- a/dev-python/langdetect/Manifest +++ b/dev-python/langdetect/Manifest @@ -1,3 +1 @@ DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db -EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e -MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45 diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch new file mode 100644 index 000000000000..637368d2f237 --- /dev/null +++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch @@ -0,0 +1,13 @@ +Fix "Package 'langdetect.profiles' is absent from the `packages` configuration." + +--- a/setup.py ++++ b/setup.py +@@ -18,7 +18,7 @@ setup( + author_email='michal.danilak@gmail.com', + url='https://github.com/Mimino666/langdetect', + keywords='language detection library', +- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'], ++ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'], + include_package_data=True, + install_requires=['six'], + license='MIT', diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild index 56733bbffc48..99577c43fc3e 100644 --- a/dev-python/langdetect/langdetect-1.0.9.ebuild +++ b/dev-python/langdetect/langdetect-1.0.9.ebuild @@ -1,9 +1,9 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 pypi @@ -19,4 +19,6 @@ KEYWORDS="~amd64" RDEPEND="dev-python/six[${PYTHON_USEDEP}]" +PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" ) + distutils_enable_tests unittest diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml index 020e07f2a3dd..c0f74ac187e2 100644 --- a/dev-python/langdetect/metadata.xml +++ b/dev-python/langdetect/metadata.xml @@ -2,11 +2,9 @@ <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>marcin.deranek@slonko.net</email> - <name>Marcin Deranek</name> + <email>pastalian46@gmail.com</email> + <name>Takuya Wakazono</name> </maintainer> - <upstream> - <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to> - </upstream> - <origin>slonko-overlay</origin> + + <origin>gentoo-guru-overlay</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/notebook/Manifest b/dev-python/notebook/Manifest index 2dd473420a70..41595e565c78 100644 --- a/dev-python/notebook/Manifest +++ b/dev-python/notebook/Manifest @@ -1,2 +1,3 @@ DIST notebook-7.3.3.tar.gz 12758099 BLAKE2B e5e988a166b5124f95cc050a4d9402778108c084325024c8ed3829780665d7149a06cccd4ab80d33e572b0b98d9088751d2a9313f10a940e8d82b5eb14db25f3 SHA512 e0f476c5a91edba48dc43b25417946983c46d5b4beaac6531ebf7af02bc4a9f2bae09b7d7524d7ad6e33c262769c1dc40c36f4593cfc70b8c98f41f40a75f8a2 DIST notebook-7.4.4.tar.gz 13883628 BLAKE2B a5673563176a14c4272b60662be6ca7c909bf18645a2e19c45cc6f5816da4f0b262365f8370219f6fc92456ed4ec01299b88d705b08630eee741955c3c274cc8 SHA512 56a58c0126c52f311dca0118abe8c40624bf0a19fa3c7c0ef210b506a69cf1fb6711b0f752766902e3eb0cb840d273307e0930a0b48047826facb806294a5aeb +DIST notebook-7.4.5.tar.gz 13888993 BLAKE2B 0b757a44e704b486360f564bbadb733723af9803e71611537fe70f2bc42c5636769b5f4656f82dbea1b711e7e1dc1479fd4dcc0e28a5dec657984e912c6d9862 SHA512 37e8c840bee87a8983601a38764f1ffb68f21fbed693363af886739baa1bfc522835c957811a066ea7c80b6b55df23d90bce079faf3e2869ba2ba57c528a9489 diff --git a/dev-python/notebook/notebook-7.4.5.ebuild b/dev-python/notebook/notebook-7.4.5.ebuild new file mode 100644 index 000000000000..8b121b5f081b --- /dev/null +++ b/dev-python/notebook/notebook-7.4.5.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 pypi xdg-utils + +DESCRIPTION="Jupyter Interactive Notebook" +HOMEPAGE=" + https://jupyter.org/ + https://github.com/jupyter/notebook/ + https://pypi.org/project/notebook/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}] + <dev-python/jupyter-server-3[${PYTHON_USEDEP}] + >=dev-python/jupyterlab-4.4.5[${PYTHON_USEDEP}] + <dev-python/jupyterlab-4.5[${PYTHON_USEDEP}] + >=dev-python/jupyterlab-server-2.27.1[${PYTHON_USEDEP}] + <dev-python/jupyterlab-server-3[${PYTHON_USEDEP}] + >=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}] + <dev-python/notebook-shim-0.3[${PYTHON_USEDEP}] + >=dev-python/tornado-6.2.0[${PYTHON_USEDEP}] +" + +BDEPEND=" + dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}] + >=dev-python/jupyterlab-4.4[${PYTHON_USEDEP}] + <dev-python/jupyterlab-4.5[${PYTHON_USEDEP}] + test? ( + dev-python/ipykernel[${PYTHON_USEDEP}] + dev-python/nbval[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/requests-unixsocket[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{console-scripts,jupyter,timeout,tornasync} ) +distutils_enable_tests pytest + +python_install_all() { + distutils-r1_python_install_all + mv "${ED}/usr/etc" "${ED}/etc" || die +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_icon_cache_update +} diff --git a/dev-python/pyghmi/Manifest b/dev-python/pyghmi/Manifest index 064050024508..3944e82550bf 100644 --- a/dev-python/pyghmi/Manifest +++ b/dev-python/pyghmi/Manifest @@ -1,2 +1,2 @@ -DIST pyghmi-1.6.1.tar.gz 270230 BLAKE2B d6d8626c8a1cfda250f8cce996c50e647ac0416e64d1e7e2e806f0c7e08adde300264b30774e7d0128e25fcbb61c1c51f629601c3ac9694d08d8f9a350b8ddea SHA512 3935a451edac4f54da1dd7b8da370aa667827e10de2d3ead31f9dee56ca72af8e9566915f18767f9f286eda6349086106115f29a754a8a9ae2c704a3b19faaa6 DIST pyghmi-1.6.2.tar.gz 277107 BLAKE2B 41d6f5301675407b96bd3c6f612b1baab9066cf945053ff47f930161794c5bd7848a279a349ec7494cd2f85731e077a4414c8b6507c0b8c418a0554e467a8376 SHA512 b37d92fdb83e44b5ca14119134cf57345fcd8eea9fb667099339d248fb197f09e0ee1404cf68d87583813b1e1ef049f8ee5d896bd00723a991c006839fd76607 +DIST pyghmi-1.6.3.tar.gz 277404 BLAKE2B 1b3572e0be87de18a3ed066defbea9475c621fbb8d3cd2e96dd255ec3b79c1498a226c3e0a5454cec5b8b3469ccf00af34c0a2c9111f67709d0619b8f4d12326 SHA512 9acb9e06d2acada93550065db877311cc361da8bdb11b3f3048b88e59c37abe8a93b666e057e53c705df1df45f3f928561f6789175d85c83943c2150e337b8db diff --git a/dev-python/pyghmi/pyghmi-1.6.1.ebuild b/dev-python/pyghmi/pyghmi-1.6.3.ebuild index 405adffe103b..405adffe103b 100644 --- a/dev-python/pyghmi/pyghmi-1.6.1.ebuild +++ b/dev-python/pyghmi/pyghmi-1.6.3.ebuild diff --git a/dev-python/redis/Manifest b/dev-python/redis/Manifest index 5a0061844162..7f99323700e3 100644 --- a/dev-python/redis/Manifest +++ b/dev-python/redis/Manifest @@ -1 +1,2 @@ DIST redis-py-6.2.0.gh.tar.gz 4865662 BLAKE2B c341983e7eaa2cff959170bd970a596f4585a169158cc526de2117791a0bec78e1eef633fce02fe5d130e6a73fe76c1396b3e8e2e5f9037013ed526614144406 SHA512 d7f170021026bc7377b46cb9dce4ef3d9307ed9bddeed554ab64a08b2d1f1dd66f7ae7a31e51704176dab1b52367e94ac1596c1c1d125c9bab60675ed2f4d9f8 +DIST redis-py-6.3.0.gh.tar.gz 4878636 BLAKE2B e6eb22f563c197bb30538636aa0aff3cb5b1921805f9d7312214cbf06673e9eca6bef2d6dad805ed9382ac72922f78a47aa3fe476aa468d259b1abf0278bb9e0 SHA512 066d68e04477885d078ff825d33ca2f6a9d87ea5e7b80d76153edc47908b8216abab18f905b1e10bff9efd3f4f4d3c3905c372e411328da069a36712ab5b4215 diff --git a/dev-python/redis/redis-6.3.0.ebuild b/dev-python/redis/redis-6.3.0.ebuild new file mode 100644 index 000000000000..a3d89451285b --- /dev/null +++ b/dev-python/redis/redis-6.3.0.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 + +MY_P=redis-py-${PV} +DESCRIPTION="Python client for Redis key-value store" +HOMEPAGE=" + https://github.com/redis/redis-py/ + https://pypi.org/project/redis/ +" +SRC_URI=" + https://github.com/redis/redis-py/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" + +BDEPEND=" + test? ( + dev-db/redis + dev-python/numpy[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{asyncio,timeout} ) +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # Flaky test + tests/test_pubsub.py::TestPubSubDeadlock::test_pubsub_deadlock + # require extra redis modules that apparently aren't packaged + # on Gentoo + tests/{,test_asyncio/}test_bloom.py + tests/{,test_asyncio/}test_graph.py + tests/{,test_asyncio/}test_json.py + tests/{,test_asyncio/}test_timeseries.py + # apparently available only in "Redis Stack 7.2 RC3 or later" + tests/test_commands.py::TestRedisCommands::test_tfunction_load_delete + tests/test_commands.py::TestRedisCommands::test_tfunction_list + tests/test_commands.py::TestRedisCommands::test_tfcall + # TODO + tests/test_commands.py::TestRedisCommands::test_lolwut + tests/test_commands.py::TestRedisCommands::test_module + tests/test_commands.py::TestRedisCommands::test_module_loadex + tests/test_commands.py::TestRedisCommands::test_zrank_withscore + tests/test_commands.py::TestRedisCommands::test_zrevrank_withscore + tests/test_commands.py::TestRedisCommands::test_xinfo_consumers + tests/test_asyncio/test_commands.py::TestRedisCommands::test_zrank_withscore + tests/test_asyncio/test_commands.py::TestRedisCommands::test_zrevrank_withscore + tests/test_asyncio/test_commands.py::TestRedisCommands::test_xinfo_consumers + tests/test_asyncio/test_pubsub.py::TestPubSubAutoReconnect::test_reconnect_socket_error[pool-hiredis-listen] + # requires sentinel? + tests/{,test_asyncio/}test_sentinel.py + ) + local EPYTEST_IGNORE=( + # fails over missing certs, we don't do cluster anyway + tests/test_asyncio/test_cluster.py + # require redis_entraid + tests/test_asyncio/test_credentials.py + tests/test_credentials.py + ) + + # TODO: try to run more servers? + epytest -m "not redismod and not onlycluster and not replica and not ssl" +} + +src_test() { + local redis_pid="${T}"/redis.pid + local redis_port=6379 + + if has_version ">=dev-db/redis-7"; then + local extra_conf=" + enable-debug-command yes + enable-module-command yes + " + fi + + # Spawn Redis itself for testing purposes + einfo "Spawning Redis" + einfo "NOTE: Port ${redis_port} must be free" + "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server" + daemonize yes + pidfile ${redis_pid} + port ${redis_port} + bind 127.0.0.1 ::1 + ${extra_conf} + EOF + + # Run the tests + distutils-r1_src_test + + # Clean up afterwards + kill "$(<"${redis_pid}")" || die +} diff --git a/dev-python/time-machine/Manifest b/dev-python/time-machine/Manifest index 4029cd618dd3..5b85f573390e 100644 --- a/dev-python/time-machine/Manifest +++ b/dev-python/time-machine/Manifest @@ -1 +1,2 @@ DIST time-machine-2.16.0.gh.tar.gz 30522 BLAKE2B 71b1d2848bd0a72d193b262299976da4aeac3deb52776ebcc855dfc9e6eabc8d9459c123980d7b0b9e29bc2df66193f287a4817ec351ae43994b969731da7bc9 SHA512 19b764cccdff07056a7d42841da576d90037661a9f124e3fbab408bfa61dccf4b51b88a7e0741c87b03e7a8cc3306bb0ed32bd66588e45c9ab7e9d9cb5ba44ae +DIST time-machine-2.17.0.gh.tar.gz 72389 BLAKE2B b1c926c691086bddfefec77b101a0f99404c4d48907ae07e380a4dea2dee42b04543efc357759c10758bd8b2ee1f8989af21fb024d9e4534f4d76d7394a4b582 SHA512 adf7236588daf3362abce6034c1ee3ed60c0533b4340010ad62d83d2480c9082a17653ae1efd2db6bd04b233e33a9fd7e6fc2e8d2fea6fca05c31543e9447c35 diff --git a/dev-python/time-machine/time-machine-2.17.0.ebuild b/dev-python/time-machine/time-machine-2.17.0.ebuild new file mode 100644 index 000000000000..91c5d443bc86 --- /dev/null +++ b/dev-python/time-machine/time-machine-2.17.0.ebuild @@ -0,0 +1,42 @@ +# Copyright 2022-2025 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_{11..14} ) + +inherit distutils-r1 + +DESCRIPTION="Travel through time in your tests" +HOMEPAGE=" + https://github.com/adamchainz/time-machine/ + https://pypi.org/project/time-machine/ +" +SRC_URI=" + https://github.com/adamchainz/time-machine/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~x86" + +RDEPEND=" + dev-python/python-dateutil[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/tokenize-rt[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( "${PN}" ) +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # https://github.com/adamchainz/time-machine/pull/529 + tests/test_cli.py::TestMain::test_main_help_subprocess + tests/test_cli.py::TestMain::test_no_subcommand +) diff --git a/dev-python/tokenize-rt/tokenize-rt-6.2.0.ebuild b/dev-python/tokenize-rt/tokenize-rt-6.2.0.ebuild index 5b6bf3143f36..f03ec09ea09d 100644 --- a/dev-python/tokenize-rt/tokenize-rt-6.2.0.ebuild +++ b/dev-python/tokenize-rt/tokenize-rt-6.2.0.ebuild @@ -20,6 +20,6 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 arm64 x86" +KEYWORDS="~alpha amd64 ~arm arm64 x86" distutils_enable_tests pytest diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest index 6ad1b39b2b4a..6a4ed54d554f 100644 --- a/dev-python/virtualenv/Manifest +++ b/dev-python/virtualenv/Manifest @@ -1,3 +1,4 @@ DIST virtualenv-20.31.2.tar.gz 6076316 BLAKE2B 23584e0b5f556d95dcc1c24da4c140749fe8edd9abee9213cb47c89a43c7b8aa26d0f539523d93600c2d023db4153bd1ae2e2c33996677dfc3eef3ec4d9d7201 SHA512 b253fdd81412cbde1358a885ab25db62d7ee05309fd37c6d81cccde570f70acdd4ae13204dcf0a97cea67b6d6524d8d083ff6ca43a0ee22c513b39f1e37ee6f3 DIST virtualenv-20.32.0.tar.gz 6076970 BLAKE2B 09c7aab4c056cc89c2f50101cf68924d55bf26dbf3853ca3f537bfa2b8bf3ca178f0209f63597560c307458d8f3c8f19084d1cbd0a37e1cb3c71df49ff3b313d SHA512 fe2fbedb22eb30e52c401de827107e94f66c6f5f0425f42e4d5be59bf26da670a4daa705be23799b25fef0a2031c1f84e35a5376f7de06d4fe0275434645b7c1 DIST virtualenv-20.33.0.tar.gz 6082069 BLAKE2B 4a5308a0887c2de7ac96afa93bc08a868cd803d622d864626cbd5d6b4b32011f5e4603d6a59130ceb25f0dede0843c239a4d19cb76d1c49c20084ddde8a3dd38 SHA512 f490027e4c58cb7515b466f61d9455cd674f0d51806544b85419dde5cab02e9ed6fa16f9a57d5e3e735ae5a369442ca3a69233089ea244160cda0747b30e43f1 +DIST virtualenv-20.33.1.tar.gz 6082160 BLAKE2B 9473c2d96442e3c2f98c41ef3762be279f0559f4b7982783426f974a5f64ad4eb7bb70b0fcf92baf344f53ffe2ba0c20346970a10106fca0c90edc3fad6caaba SHA512 e9324e0a6985447f2f630571e58408507458d28ef98facabbcaa65c4acc1f4e91ab909126d9b5694a20f1edc00bcfc1148c5bf404b8dfd341c3253c2dd42953b diff --git a/dev-python/virtualenv/virtualenv-20.33.1.ebuild b/dev-python/virtualenv/virtualenv-20.33.1.ebuild new file mode 100644 index 000000000000..55d44ca4c224 --- /dev/null +++ b/dev-python/virtualenv/virtualenv-20.33.1.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) + +inherit distutils-r1 pypi + +DESCRIPTION="Virtual Python Environment builder" +HOMEPAGE=" + https://virtualenv.pypa.io/en/stable/ + https://pypi.org/project/virtualenv/ + https://github.com/pypa/virtualenv/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}] + >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}] + >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}] + + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel +" +# coverage is used somehow magically in virtualenv, maybe it actually +# tests something useful +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + ${RDEPEND} + $(python_gen_cond_dep ' + dev-python/coverage[${PYTHON_USEDEP}] + >=dev-python/pip-22.2.1[${PYTHON_USEDEP}] + >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + >=dev-python/setuptools-67.8[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + >=dev-python/packaging-20.0[${PYTHON_USEDEP}] + ' "${PYTHON_TESTED[@]}") + $(python_gen_cond_dep ' + dev-python/time-machine[${PYTHON_USEDEP}] + ' python3_{11..14}) + $(python_gen_cond_dep ' + >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}] + ' 'pypy3*') + ) +" + +src_prepare() { + local PATCHES=( + # use wheels from ensurepip bundle + "${FILESDIR}/${PN}-20.31.1-ensurepip.patch" + ) + + distutils-r1_src_prepare + + # workaround test failures due to warnings from setuptools-scm, sigh + echo '[tool.setuptools_scm]' >> pyproject.toml || die + + # remove useless pins + sed -i -e 's:,<[0-9.]*::' pyproject.toml || die + + # remove bundled wheels + rm src/virtualenv/seed/wheels/embed/*.whl || die +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping testing on ${EPYTHON}" + return + fi + + local EPYTEST_DESELECT=( + tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data + # tests for old wheels with py3.7 support + tests/unit/seed/embed/test_pip_invoke.py::test_base_bootstrap_via_pip_invoke + tests/unit/seed/wheels/test_wheels_util.py::test_wheel_not_support + # broken by different wheel versions in ensurepip + tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_string + tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_exact + tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_none + tests/unit/seed/wheels/test_acquire.py::test_download_wheel_bad_output + # hangs on a busy system, sigh + tests/unit/test_util.py::test_reentrant_file_lock_is_thread_safe + # TODO + tests/unit/create/via_global_ref/test_build_c_ext.py::test_can_build_c_extensions + # random resource leaks or xdist + tests/unit/test_file_limit.py::test_too_many_open_files + ) + case ${EPYTHON} in + pypy3.11) + EPYTEST_DESELECT+=( + # these don't like the executable called pypy3.11? + tests/unit/activation/test_bash.py::test_bash + tests/unit/activation/test_fish.py::test_fish + tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable + ) + ;; + esac + + local -x TZ=UTC + local EPYTEST_PLUGINS=( pytest-{mock,rerunfailures} ) + if [[ ${EPYTHON} == pypy3* ]]; then + EPYTEST_PLUGINS+=( pytest-freezer ) + else + EPYTEST_PLUGINS+=( time-machine ) + fi + local EPYTEST_TIMEOUT=180 + local EPYTEST_XDIST=1 + epytest -o addopts= +} + +src_install() { + distutils-r1_src_install + + # remove bundled wheels, we're using ensurepip bundle instead + find "${ED}" -name '*.whl' -delete || die +} |
