diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2023-11-14 06:38:43 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2023-11-14 06:38:43 +0000 |
| commit | 8c9139c9de4e595fc53890c6126dac67eaf609d5 (patch) | |
| tree | acd20b96294238c70cf53718ee8c9e80909c351d /dev-python | |
| parent | 1682ca532595c03dcbd39af633387746cc9d43f3 (diff) | |
| download | baldeagleos-repo-8c9139c9de4e595fc53890c6126dac67eaf609d5.tar.gz baldeagleos-repo-8c9139c9de4e595fc53890c6126dac67eaf609d5.tar.xz baldeagleos-repo-8c9139c9de4e595fc53890c6126dac67eaf609d5.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
50 files changed, 1824 insertions, 12 deletions
diff --git a/dev-python/aioresponses/Manifest b/dev-python/aioresponses/Manifest index e7ce7ecf310f..f2ca88e292df 100644 --- a/dev-python/aioresponses/Manifest +++ b/dev-python/aioresponses/Manifest @@ -1 +1,2 @@ DIST aioresponses-0.7.4.tar.gz 35248 BLAKE2B e3046de1db4911429ff2bb50b011c7cdb33ad8460771bbe7cce969e29a74f29e5fe86b1ed488cbd9462706ce31e84a3bef08aec0e83ac6175c803d2e81900fbc SHA512 00392f8481e600e2c18563193aaf5b75a324ea49e90606e43a28ea787f75c55712bc2caff0a70411f51a9615b01a252fca1ebb9efd2cc314f6358eeeef6d1e59 +DIST aioresponses-0.7.5.tar.gz 35676 BLAKE2B 4d42137f67e27b0a91d3452630a7353db453c970a5689ab5f98aecfdf0877217b174d807f260c3d9736ceaadbab5fe84b7a025fc6233410029aeb5e5785925a1 SHA512 bae24aced48702f7971ba2ebb9268bbabf820270f321a87e840aa33421bdcf339d3c5375cc6df587889462f5d77276f8b1fd8e1f97da7f5d215247c0a58c85bb diff --git a/dev-python/aioresponses/aioresponses-0.7.5.ebuild b/dev-python/aioresponses/aioresponses-0.7.5.ebuild new file mode 100644 index 000000000000..f5352053c644 --- /dev/null +++ b/dev-python/aioresponses/aioresponses-0.7.5.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Helper to mock/fake web requests in Python's aiohttp package" +HOMEPAGE=" + https://github.com/pnuckowski/aioresponses/ + https://pypi.org/project/aioresponses/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/aiohttp-3.3.0[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/pbr[${PYTHON_USEDEP}] + test? ( + dev-python/ddt[${PYTHON_USEDEP}] + ) +" + +distutils_enable_sphinx docs +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # These tests require Internet access + tests/test_aioresponses.py::AIOResponsesTestCase::test_address_as_instance_of_url_combined_with_pass_through + tests/test_aioresponses.py::AIOResponsesTestCase::test_pass_through_with_origin_params +) diff --git a/dev-python/apsw/Manifest b/dev-python/apsw/Manifest index 3dcd42f6e307..fa0c99d07f33 100644 --- a/dev-python/apsw/Manifest +++ b/dev-python/apsw/Manifest @@ -3,3 +3,4 @@ DIST apsw-3.43.0.0.gh.tar.gz 887997 BLAKE2B ce74eaed990cdf4742ce39743abf0dc112ee DIST apsw-3.43.1.0.gh.tar.gz 901289 BLAKE2B 3f463896ce587326421ae78a26b5cccbc5c43a2c54b9502c166f599705fc9afe867c3be5f2ea4de8bc4d2da2f3bf09e034a27744d2114a5bc9b5c622bd852543 SHA512 a3343af87638f04786086c282cf50bfce3074e2a3165ebf172740be13021138a83356e594969791029879dfef12149775b48e0912eb14817358434b3b72ada67 DIST apsw-3.43.1.1.gh.tar.gz 901590 BLAKE2B 0fb1942aebf60443c12901e1b21bb7b9fce1e90d406bca80580563cee2d8aaf45b9c2294317cf374484fccd8b595439e13df01b14512514f78ec60ae1e905990 SHA512 3121e594a9d4c358ecb2f90becadc06fe987a3e7d6897fd655d5ae9aff6c8d1521257c2a34a68a8e6114cf7a71479544433e599522bee93e3fb729ee9763a112 DIST apsw-3.43.2.0.gh.tar.gz 908230 BLAKE2B e583cbb5c636b9d38762668d8cc664c7342e50a4330d3714a93679043e322ea03cf7c9bf09396ea5025e74ab66747fc509790e4f17fd722a654d6f8d1774949d SHA512 760ebef288bec4e08a06fc8e1e720e9c51ada19196efb7491988c7cab31dc54f9082c5cc668acf04d28818dbcd41a8a45df66c1fd78d2716862ec9a2faa022ed +DIST apsw-3.44.0.0.gh.tar.gz 899926 BLAKE2B ce162d757fbf5510355419dd279ea33235e8cdbd7a8b03f0288f730b66cad9d6aa09c91a3fe97f930422a1b8158c9b22d9ae8d5ee03dec657319a3bf6f24a04f SHA512 4cc4cacdbc03e522d149507bb875ae880bcd5b0130bb3babda7d873c52b3db362c8347ce6af412dc3a73b1fb8362d1c1fe9a51b2343b0c52ff1812582d91c564 diff --git a/dev-python/apsw/apsw-3.44.0.0.ebuild b/dev-python/apsw/apsw-3.44.0.0.ebuild new file mode 100644 index 000000000000..ba100e11e586 --- /dev/null +++ b/dev-python/apsw/apsw-3.44.0.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 + +DESCRIPTION="APSW - Another Python SQLite Wrapper" +HOMEPAGE=" + https://github.com/rogerbinns/apsw/ + https://pypi.org/project/apsw/ +" +SRC_URI=" + https://github.com/rogerbinns/apsw/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="ZLIB" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc64 ~x86" +IUSE="doc" + +DEPEND=" + >=dev-db/sqlite-${PV%.*}:3 +" +RDEPEND=" + ${DEPEND} +" + +src_configure() { + cat >> setup.cfg <<-EOF || die + [build_ext] + enable=load_extension + use_system_sqlite_config=True + EOF +} + +python_test() { + esetup.py build_test_extension + cd "${T}" || die + "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}" +} + +python_install_all() { + use doc && local HTML_DOCS=( doc/. ) + distutils-r1_python_install_all +} diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 66147a00e5b0..7ceb4ee77ad7 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -7,3 +7,4 @@ DIST boto3-1.28.80.gh.tar.gz 725109 BLAKE2B ba34c01f64817f437a2cf85f3de3672c01ed DIST boto3-1.28.82.gh.tar.gz 726369 BLAKE2B 757445a7af86182d6bd3143bbf576e24a1a4608929bafb641ed678d444364d2948d07ebc0ef434a53a0349a8a286dc818d757ee3c59545f8550ff39dcd745147 SHA512 ccfd72a6988565c884232a64ee33e01cf54a03e8f0f77990cc5bf633e60b92cad7562d1603726488e723813671e8931b1386ef06069074fea0611728aea06f96 DIST boto3-1.28.83.gh.tar.gz 727298 BLAKE2B 3a3130cad3db6a3ec02bdf35b33c8983f385bdd835d34eaf2fb5aca3b6d31dc6324e41faf81aba4c475464c4dcffc1ad2f5b5859587e294b4f222efcb3f68c24 SHA512 98521afdc3b9a8f6b742f3c84591aeae0efef50b80f4577594ff78d270db28a610ee5db3f9c5da056ac291decec7746a12af592d44208e9b899ad94c74f765de DIST boto3-1.28.84.gh.tar.gz 728124 BLAKE2B 2fcc553a4a109b0bc92cdf0b08fe77fcef54792ee606b6b9ed7cde1ae92accabb9f9ce005d9ccd391601efac31eec407345471542c5b7298689ab1037ed8f41f SHA512 1b7f1fe951a9f3655a71bd51e9328f4474f9b320df82914b9ad0d64a32043aacf16fc5df1989304fd4d35430ddf6f58d0676fdb3985944d955c169a0ec58ce7b +DIST boto3-1.28.85.gh.tar.gz 728751 BLAKE2B bfbc9b26b45e034949f13492987fdd43476d428d84da8b15e1ac67647acb410823bcc5e8710126a062a40779357ea49b5b4e1038831d38239515a793c6601dd4 SHA512 96165e6e5bd5673a364be445ab21916115e4f58c9e499f58bf0098d37fb7ba6ef28d5a6046f452e26618a305eb9713f5b5e5f10fd0c22868c499a9870fea4bef diff --git a/dev-python/boto3/boto3-1.28.85.ebuild b/dev-python/boto3/boto3-1.28.85.ebuild new file mode 100644 index 000000000000..09d8c6679458 --- /dev/null +++ b/dev-python/boto3/boto3-1.28.85.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE=" + https://github.com/boto/boto3/ + https://pypi.org/project/boto3/ +" +LICENSE="Apache-2.0" +SLOT="0" + +if [[ "${PV}" == "9999" ]]; then + EGIT_REPO_URI="https://github.com/boto/boto3" + inherit git-r3 + BOTOCORE_PV=${PV} +else + SRC_URI=" + https://github.com/boto/boto3/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + " + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + + # botocore is x.(y+3).z + BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)" +fi + +RDEPEND=" + >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.7.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_prepare_all() { + # don't lock versions to narrow ranges + sed -e '/botocore/ d' \ + -e '/jmespath/ d' \ + -e '/s3transfer/ d' \ + -i setup.py || die + + # do not rely on bundled deps in botocore (sic!) + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_python_prepare_all +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index 6173784f55be..c72d08f93c77 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -7,3 +7,4 @@ DIST botocore-1.31.80.gh.tar.gz 12043936 BLAKE2B 447c88e82f9e73fd683045c0e05e1f2 DIST botocore-1.31.82.gh.tar.gz 12051646 BLAKE2B e474bab929f7b16b37f71e261230014585c10cf30d36f2b241e6aae4845356e373db811de9158e1e074568e02d481bb83bf7f5aaaeece4bd196d49443574b3f1 SHA512 ecfa4dc060ee961def1cec0ab55739673fa04fda0a3154ea609526928eb16811a7cbc8d3d15b33aaa8c1a1606943f07935d9df06619517117e9392cbac6eeaf8 DIST botocore-1.31.83.gh.tar.gz 12061713 BLAKE2B c5abfed142c9dbf8f717c392d0405b202e8d1935ad98dfdd6fe452b564904ca1c61a3481814b0db87ab0e2a129f6fde8299655a02a1f2c5c23aa25d4f352892b SHA512 88cd3fe95cdbacc65e51abaaf08bef460e8b981d9cd1a74c52d6ff46fe297874466212ec35af54b4c57d45c43f22d9d0873dd2ee470c4a6f6c1d02ea0032ff4d DIST botocore-1.31.84.gh.tar.gz 12065719 BLAKE2B 2098241de47aa1f59c45287c2be66fa3562c2e549da081b1cd86626f1df5f3f175eebea1197396f39045aaebda241d37b1d47ebb378a0fb17e43c16215f89680 SHA512 097a25b4450513cf9c2722d7582cdfb969da8c083c05603f6a28eb65d1d69920106c745cb4f5e5b3bee1989eee64c89fe69c379f01df938edf2a92946c614cdf +DIST botocore-1.31.85.gh.tar.gz 12070341 BLAKE2B b4867e351d209511db263654873f5a804f941c44d10af563eec656b041830c8543f2ec1f8d831a0aec2cce4d9b7dfc80bd3e73fd5fc456cf5e3ca00ab193b11d SHA512 0e26b6ad06e1075ec90f04d653873592fcc2ae4bdbec5bbbe4b38e368824bf000724551ac2598938b827ce81e3b327ffa9d5d23da0ccb915686a70e0f37ba161 diff --git a/dev-python/botocore/botocore-1.31.85.ebuild b/dev-python/botocore/botocore-1.31.85.ebuild new file mode 100644 index 000000000000..9a0240c45f2a --- /dev/null +++ b/dev-python/botocore/botocore-1.31.85.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +LICENSE="Apache-2.0" +SLOT="0" + +if [[ "${PV}" == "9999" ]]; then + EGIT_REPO_URI="https://github.com/boto/botocore" + inherit git-r3 +else + SRC_URI=" + https://github.com/boto/botocore/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + " + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +RDEPEND=" + dev-python/six[${PYTHON_USEDEP}] + <dev-python/jmespath-2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # unpin deps + sed -i -e "s:>=.*':':" setup.py || die + + # unbundle deps + rm -r botocore/vendored || die + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # rely on bundled six + tests/functional/test_six_imports.py::test_no_bare_six_imports + tests/functional/test_six_threading.py::test_six_thread_safety + ) + + local -x EPYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest index f0e942de9dcc..add956e906cf 100644 --- a/dev-python/cfn-lint/Manifest +++ b/dev-python/cfn-lint/Manifest @@ -1,2 +1,3 @@ DIST cfn-lint-0.82.2.tar.gz 3714901 BLAKE2B 76077d606ac645953f71fadf5b096e3a8e4a6e7c71b25af9647e0c155f40790ded2d96af93b959c00641475481758abc7af215cfe1004aeb05c90f3e85210bde SHA512 91f93ffcf39883dfe8bb8e15298bf9bfec4c952762b9fec162107ecf70f5a11c44baa1ea3121db9f710375b3ab5afe11dca7142251ba070835c80accf0e41d9d DIST cfn-lint-0.83.1.tar.gz 3656263 BLAKE2B 337352a7ba725267974ec41a5d7b6088fbf817e019429baca48feb7f19c0a5963d23df396b3c018194642068a569c995a7ae63a77ba17b66685a02b59eba1fcd SHA512 a97968a46180550f71ffca7bfb22b4e2a90eba186dd2f426ba7b3812cb457ad8bfbdc359182fd6d93b27b2937c15567c90e47d06285898bbc63baea50b4d293f +DIST cfn-lint-0.83.2.tar.gz 3676910 BLAKE2B 058a2590c5c7bffa5144e6ce0c2dd1fbc63c999253d249e5425d0b87b12baf77dd94e1f11387516b01ffbbcffafe9a08f1d43e5025168c1c9c5bef726eafbd10 SHA512 dd20dabfb2a1132085570a0cbdad5899953d0780d569eda0f403ded0dead919de3125094f7bfc36d2b4fc69826767ebca67a8393a4e21d2a3e33313766b2b697 diff --git a/dev-python/cfn-lint/cfn-lint-0.83.2.ebuild b/dev-python/cfn-lint/cfn-lint-0.83.2.ebuild new file mode 100644 index 000000000000..b5c2d87b1c4d --- /dev/null +++ b/dev-python/cfn-lint/cfn-lint-0.83.2.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 multiprocessing pypi + +DESCRIPTION="CloudFormation Linter" +HOMEPAGE=" + https://github.com/aws-cloudformation/cfn-lint/ + https://pypi.org/project/cfn-lint/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/aws-sam-translator-1.79.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/requests-2.15.0[${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=" + test? ( + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + # unpin the deps + sed -e 's:~=[0-9.]*::' -i setup.py || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO + test/unit/module/test_template.py::TestTemplate::test_build_graph + # requires git repo + test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs + # Internet + test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter + test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3 + # TODO: it looks as if AWS_DEFAULT_REGION didn't work + test/unit/module/core/test_run_cli.py::TestCli::test_bad_config + test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters + test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters + test/unit/module/core/test_run_cli.py::TestCli::test_template_config + ) + + # from tox.ini + local -x AWS_DEFAULT_REGION=us-east-1 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal +} diff --git a/dev-python/cloudpickle/cloudpickle-3.0.0.ebuild b/dev-python/cloudpickle/cloudpickle-3.0.0.ebuild index 3a6f8ea82ee2..2197808701d4 100644 --- a/dev-python/cloudpickle/cloudpickle-3.0.0.ebuild +++ b/dev-python/cloudpickle/cloudpickle-3.0.0.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{8,9,10,11,12} ) +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) inherit distutils-r1 diff --git a/dev-python/elasticsearch/Manifest b/dev-python/elasticsearch/Manifest index 152d85e65714..7ad2255bc415 100644 --- a/dev-python/elasticsearch/Manifest +++ b/dev-python/elasticsearch/Manifest @@ -1,2 +1,3 @@ DIST elasticsearch-py-8.10.0.gh.tar.gz 896444 BLAKE2B 7cadd9d23e31b42ba309345f228193a856ceac0c6b64786ae84668ff361f750d0413609b753b6faa113835eddb6b212b79bee0ee6e25025f2829b92b9109701d SHA512 2e72b726447f4fe139a7b1bb1a95e0eca613f53bb0c6d758b646203676835b56fedff418feca386d1300f8eb6ac2f14a5a99d7d7716bad286641ab43c9abcbc4 DIST elasticsearch-py-8.10.1.gh.tar.gz 889458 BLAKE2B 4e47a76743c48e8c9e34a8169d99d85139f3c395c643080a039dfe5e64fa0059f485c155a56ebb4769f9632c2dd0db3f7583f3db0a62d7180967f0515caf4092 SHA512 9e212584b86959330c65e1cb00b0eec4afc4a8daed59c7e6a2b918dbfb4c872e025b5ef65c299da5ca74afb53ca9c1a4d628f6fce96c7140b85aff83c6a09ecf +DIST elasticsearch-py-8.11.0.gh.tar.gz 897889 BLAKE2B de1821f17c16198c8b85b863e06468715fb080b4e9354499bd4fc5c485dc81bb3747ee73bd5e26edcab71922d67699cbaba79b35a900b80020532bac805e5727 SHA512 914e909f5f2d6ee980d3cff981d1d605d9380211014381e9e998af46d52e0fc0568524c7c9e8d8fed710b855acdb15b1eeb0bcdb59607b67f2f8f99546a1bda8 diff --git a/dev-python/elasticsearch/elasticsearch-8.11.0.ebuild b/dev-python/elasticsearch/elasticsearch-8.11.0.ebuild new file mode 100644 index 000000000000..51db75a5648c --- /dev/null +++ b/dev-python/elasticsearch/elasticsearch-8.11.0.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 + +MY_P="elasticsearch-py-${PV}" +DESCRIPTION="Official Elasticsearch client library for Python" +HOMEPAGE=" + https://ela.st/es-python + https://github.com/elastic/elasticsearch-py/ + https://pypi.org/project/elasticsearch/ +" +SRC_URI=" + https://github.com/elastic/elasticsearch-py/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +SLOT="0/$(ver_cut 1)" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + <dev-python/aiohttp-4[${PYTHON_USEDEP}] + >=dev-python/aiohttp-3[${PYTHON_USEDEP}] + <dev-python/elastic-transport-9[${PYTHON_USEDEP}] + >=dev-python/elastic-transport-8[${PYTHON_USEDEP}] + <dev-python/requests-3[${PYTHON_USEDEP}] + >=dev-python/requests-2.4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + ${RDEPEND} + dev-python/mapbox-vector-tile[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/pyyaml-5.4[${PYTHON_USEDEP}] + dev-python/unasync[${PYTHON_USEDEP}] + ) +" + +EPYTEST_IGNORE=( + # REST api tests are a black hole for effort. It downloads the tests + # so its an ever moving target. It also requires effort to blacklist + # tests for apis which are license restricted. + "test_elasticsearch/test_server/test_rest_api_spec.py" + # Counting deprecation warnings from python is bound to fail even + # if all are fixed in this package. Not worth it. + "test_elasticsearch/test_client/test_deprecated_options.py" + # Running daemon for tests is finicky and upstream CI fails at it + # as well. + "test_elasticsearch/test_server/" + "test_elasticsearch/test_async/test_server/" +) + +distutils_enable_sphinx docs/sphinx \ + dev-python/sphinx-autodoc-typehints \ + dev-python/sphinx-rtd-theme +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -o addopts= -p asyncio +} diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest index 292daee99285..6e6f1116d680 100644 --- a/dev-python/griffe/Manifest +++ b/dev-python/griffe/Manifest @@ -1,2 +1,3 @@ DIST griffe-0.36.9.gh.tar.gz 197054 BLAKE2B 0351e72bf119bd98c392c56f254bf632552077d340c0c27b51780934c8baff1e6d33712f65bf31fefd2a8864d110790a78de3d77e2f5cf19429c9b68a5a01b9c SHA512 1b4cdfcfe6c1946183d3445e16b6f689cecec259842c97793af7fb60be3b885da82fddcfba74bed3ba82a8f475fb0321c2ebb03fe02feca80888c244cc4493df DIST griffe-0.37.0.gh.tar.gz 200702 BLAKE2B 763c30608c7b7ba9cb514f99d19c3fff17811c71325416e9c810b45f4d61778c3d7630789635d6373694b5930532f297edc4f1f8109cc2b6f3273825e7a9be13 SHA512 c042d5fa7b1ecc474137006d54f7b0d68e84abe9db853083e2af9c2e144e1d9216e02ada31cfe8de8d278e892b100cf9e060609acb441c6b25c28a53400b9e2d +DIST griffe-0.38.0.gh.tar.gz 200933 BLAKE2B f7c6ac0761cbb0ed71009e67311022725c3f9417065216abb1a7b49faf4b4fbe89ce70e46ed0261cf0209d48e135b571ecd1462fca747386b52b382784231a3a SHA512 cef4fb0b575e5a9343ce8090112e83be3d7127b8d5320b99a33b42aec8b38c2bf450ccadbeb23c5c371d528096ee02652d4e7c4d3ed458817794c32d6740aa91 diff --git a/dev-python/griffe/griffe-0.38.0.ebuild b/dev-python/griffe/griffe-0.38.0.ebuild new file mode 100644 index 000000000000..75ad175b0c49 --- /dev/null +++ b/dev-python/griffe/griffe-0.38.0.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pdm-backend +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 + +DESCRIPTION="Signature generator for Python programs" +HOMEPAGE=" + https://mkdocstrings.github.io/griffe/ + https://github.com/mkdocstrings/griffe/ + https://pypi.org/project/griffe/ +" +# Tests need files absent from the PyPI tarballs +SRC_URI=" + https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64 ~riscv" + +RDEPEND=" + >=dev-python/colorama-0.4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/jsonschema-4.17[${PYTHON_USEDEP}] + >=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +export PDM_BUILD_SCM_VERSION=${PV} + +EPYTEST_DESELECT=( + # fragile to installed packages + # (failed on PySide2 for me) + tests/test_stdlib.py::test_fuzzing_on_stdlib +) diff --git a/dev-python/hatch-jupyter-builder/hatch-jupyter-builder-0.8.3.ebuild b/dev-python/hatch-jupyter-builder/hatch-jupyter-builder-0.8.3.ebuild index e89a623c2663..69efaf212a98 100644 --- a/dev-python/hatch-jupyter-builder/hatch-jupyter-builder-0.8.3.ebuild +++ b/dev-python/hatch-jupyter-builder/hatch-jupyter-builder-0.8.3.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv ~sparc x86" RDEPEND=" dev-python/hatchling[${PYTHON_USEDEP}] diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index 72e09b4bbf89..8ff376334122 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -1,2 +1,3 @@ DIST hypothesis-6.88.1.gh.tar.gz 9391389 BLAKE2B 0d258ff3e662bdef1c8321119c49ae4a8f1191edb316ab6262023c7da667f553b94386c28fcc40bfe06d545ae33a28b907750d4caaee8be7614a1ad578370f25 SHA512 e9376aaacd5cf405f0a28b9a9e63fc1d83506ad286579e1ae2165006cd87af1aefac68e34dd5164159f86bffa3f1da29ce86fc3254dcb11183d653b71377c41d DIST hypothesis-6.88.3.gh.tar.gz 9391730 BLAKE2B 439b5d4aca9f8163bebb7b0ba632fc1d7eb49a61e656c3849287b700bb92c5aea02a30d816029152243c03050e67351a8a6c4dd87ed6eaadd5a81f5a72c8c139 SHA512 780a83928ffdc976c581df43874a1d1e4ec82d9c27f6bc151e5a4103dd9e4d18de0609af8964136cc041ebec258b1fd2c6438b66636e9cd8e7f81a88381bf5ce +DIST hypothesis-6.88.4.gh.tar.gz 9392092 BLAKE2B d33e764fc02111f37efa678927d48f1de7097156c401ab85c7a3fc16f22ff3582bfaec8fef60e010d9a9953bcdbbd8f212b5a7765a7967b93d6dd4bb1d6e5915 SHA512 420dd525abb56dad8983b16767cb4d7f4b411ee68439e2317d7be5582fcf9a8735929b4746bbfc37b286d389dcd36c38da797466bd6c4c555d108a56b30511ad diff --git a/dev-python/hypothesis/hypothesis-6.88.4.ebuild b/dev-python/hypothesis/hypothesis-6.88.4.ebuild new file mode 100644 index 000000000000..f0d092b67f0b --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.88.4.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +CLI_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) +PYTHON_REQ_USE="threads(+),sqlite" + +inherit distutils-r1 multiprocessing optfeature + +TAG=hypothesis-python-${PV} +MY_P=hypothesis-${TAG} +DESCRIPTION="A library for property based testing" +HOMEPAGE=" + https://github.com/HypothesisWorks/hypothesis/ + https://pypi.org/project/hypothesis/ +" +SRC_URI=" + https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}/hypothesis-python" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}] + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}] + ' 3.9 3.10) + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' "${CLI_COMPAT[@]}") + ) +" +BDEPEND=" + test? ( + dev-python/pexpect[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + !!<dev-python/requests-toolbelt-0.10.1 + ) +" + +distutils_enable_tests pytest + +python_test() { + # subtests are broken by warnings from random plugins + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=xdist.plugin,pytest_forked,_hypothesis_pytestplugin + local -x HYPOTHESIS_NO_PLUGINS=1 + + # NB: paths need to be relative to pytest.ini, + # i.e. start with hypothesis-python/ + local EPYTEST_DESELECT=() + case ${EPYTHON} in + pypy3) + EPYTEST_DESELECT+=( + # failing due to warnings from numpy/cython + hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture + ) + ;; + esac + + epytest -o filterwarnings= -n "$(makeopts_jobs)" --dist=worksteal \ + tests/cover tests/pytest tests/quality +} + +python_install() { + distutils-r1_python_install + if ! use cli || ! has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then + rm -r "${ED}/usr/bin" "${D}$(python_get_scriptdir)" || die + fi +} + +pkg_postinst() { + optfeature "datetime support" dev-python/pytz + optfeature "dateutil support" dev-python/python-dateutil + optfeature "numpy support" dev-python/numpy + optfeature "django support" dev-python/django dev-python/pytz + optfeature "pandas support" dev-python/pandas + optfeature "pytest support" dev-python/pytest +} diff --git a/dev-python/jupyter-server/Manifest b/dev-python/jupyter-server/Manifest index 86eb3ef0b175..b89a5f18a0ba 100644 --- a/dev-python/jupyter-server/Manifest +++ b/dev-python/jupyter-server/Manifest @@ -1,3 +1,4 @@ +DIST jupyter_server-2.10.0.tar.gz 709151 BLAKE2B 6b5c41d00efbe06e47f1ee9146cfd5670774be84982fc24ed7c27bc420c9a9667ff193d272670fdd7d0a0b2dc1414fa271c0b08e2eeddd3dc08dc901e93594aa SHA512 8238dca7314303ffcf8424f9c997d68c06fc4cf05128146ffe0d3ce495b4c2a8cf260858da8ec0ceb138f0b6789f57fc740b0c5a0bdb977c1311460def0fbf8a DIST jupyter_server-2.7.3.tar.gz 705798 BLAKE2B d5655968f17b2a5536539858769124650f41985d5d99b782e70d99140a7e61820b913b525fc10041a56b6946ec4feb7e05015a10970786d024628e8c840fae94 SHA512 ad9be38208ef4196417561355a62889e34d657f3114b710f13f974f4b453b465b7d473ced46eba873ee980d631d2648e0d4b29267011ed444247a33325f959e9 DIST jupyter_server-2.8.0.tar.gz 708394 BLAKE2B 2beaba510b0e841203c58316db8507c8c503fdeacfbe7de1287d1ecf0740334c02b430ad7111043e21da45669cc1bd13bb313b5cd45f999490fa07c9057b1bea SHA512 e2ec60994737a9979545aaba3de1f846eb68c809cb952bfba6ce22c061f1e644a712f4b7b069ebfc393e8dd7a7bf723b2c3530a7a1b103eb1dbf42a60a59e6e6 DIST jupyter_server-2.9.0.tar.gz 709038 BLAKE2B 68569f323087c55427d2d0b5fe7df55082809a76b25102cf08f62393c1c943bf5527ed461e392f45751f6c4182fd6423056d3719aed6681cd85ca2f4e7fca0b7 SHA512 5d695f72cc02c73345a811739e2a7006313d37b5c05894b5da7792b0174537bfe962456d996605abc4f8ec2a4e1337b1d5817b667b4b5708c599e1a96452d597 diff --git a/dev-python/jupyter-server/jupyter-server-2.10.0-r1.ebuild b/dev-python/jupyter-server/jupyter-server-2.10.0-r1.ebuild new file mode 100644 index 000000000000..79fd9b3724b5 --- /dev/null +++ b/dev-python/jupyter-server/jupyter-server-2.10.0-r1.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Core services, APIs, and REST endpoints to Jupyter web applications" +HOMEPAGE=" + https://jupyter.org/ + https://github.com/jupyter-server/jupyter_server/ + https://pypi.org/project/jupyter-server/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + >=dev-python/anyio-3.1.0[${PYTHON_USEDEP}] + dev-python/argon2-cffi[${PYTHON_USEDEP}] + dev-python/jinja[${PYTHON_USEDEP}] + >=dev-python/jupyter-client-7.4.4[${PYTHON_USEDEP}] + >=dev-python/jupyter-core-5.1.0[${PYTHON_USEDEP}] + dev-python/jupyter-server-terminals[${PYTHON_USEDEP}] + >=dev-python/jupyter-events-0.6.0[${PYTHON_USEDEP}] + >=dev-python/nbconvert-6.4.4[${PYTHON_USEDEP}] + >=dev-python/nbformat-5.3.0[${PYTHON_USEDEP}] + dev-python/overrides[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/prometheus-client[${PYTHON_USEDEP}] + >=dev-python/pyzmq-24[${PYTHON_USEDEP}] + >=dev-python/send2trash-1.8.2[${PYTHON_USEDEP}] + >=dev-python/terminado-0.8.3[${PYTHON_USEDEP}] + >=dev-python/tornado-6.2[${PYTHON_USEDEP}] + >=dev-python/traitlets-5.6.0[${PYTHON_USEDEP}] + dev-python/websocket-client[${PYTHON_USEDEP}] + +" +BDEPEND=" + dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}] + test? ( + dev-python/ipykernel[${PYTHON_USEDEP}] + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/pytest-console-scripts[${PYTHON_USEDEP}] + dev-python/pytest-jupyter[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + dev-python/pytest-tornasync[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # This fails if your terminal is zsh (and maybe other non-bash as well?) + tests/test_terminal.py + # Fails because above is ignored + tests/auth/test_authorizer.py + # Fails with additional extensions installed + tests/extension/test_app.py::test_stop_extension + ) + + # FIXME: tests seem to be affected by previously installed version + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest \ + -p pytest_tornasync.plugin \ + -p jupyter_server.pytest_plugin \ + -p pytest_console_scripts \ + -p pytest_timeout +} diff --git a/dev-python/jupyter-server/jupyter-server-2.10.0.ebuild b/dev-python/jupyter-server/jupyter-server-2.10.0.ebuild new file mode 100644 index 000000000000..212d96acc3cb --- /dev/null +++ b/dev-python/jupyter-server/jupyter-server-2.10.0.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Core services, APIs, and REST endpoints to Jupyter web applications" +HOMEPAGE=" + https://jupyter.org/ + https://github.com/jupyter-server/jupyter_server/ + https://pypi.org/project/jupyter-server/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/anyio-3.1.0[${PYTHON_USEDEP}] + dev-python/argon2-cffi[${PYTHON_USEDEP}] + dev-python/jinja[${PYTHON_USEDEP}] + >=dev-python/jupyter-client-7.4.4[${PYTHON_USEDEP}] + >=dev-python/jupyter-core-5.1.0[${PYTHON_USEDEP}] + dev-python/jupyter-server-terminals[${PYTHON_USEDEP}] + >=dev-python/jupyter-events-0.6.0[${PYTHON_USEDEP}] + >=dev-python/nbconvert-6.4.4[${PYTHON_USEDEP}] + >=dev-python/nbformat-5.3.0[${PYTHON_USEDEP}] + dev-python/overrides[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/prometheus-client[${PYTHON_USEDEP}] + >=dev-python/pyzmq-24[${PYTHON_USEDEP}] + >=dev-python/send2trash-1.8.2[${PYTHON_USEDEP}] + >=dev-python/terminado-0.8.3[${PYTHON_USEDEP}] + >=dev-python/tornado-6.2[${PYTHON_USEDEP}] + >=dev-python/traitlets-5.6.0[${PYTHON_USEDEP}] + dev-python/websocket-client[${PYTHON_USEDEP}] + +" +BDEPEND=" + test? ( + dev-python/ipykernel[${PYTHON_USEDEP}] + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/pytest-console-scripts[${PYTHON_USEDEP}] + dev-python/pytest-jupyter[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + dev-python/pytest-tornasync[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # This fails if your terminal is zsh (and maybe other non-bash as well?) + tests/test_terminal.py + # Fails because above is ignored + tests/auth/test_authorizer.py + # Fails with additional extensions installed + tests/extension/test_app.py::test_stop_extension + ) + + # FIXME: tests seem to be affected by previously installed version + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest \ + -p pytest_tornasync.plugin \ + -p jupyter_server.pytest_plugin \ + -p pytest_console_scripts \ + -p pytest_timeout +} diff --git a/dev-python/kombu/Manifest b/dev-python/kombu/Manifest index 24291f2d4cce..b626eb5ba0ab 100644 --- a/dev-python/kombu/Manifest +++ b/dev-python/kombu/Manifest @@ -1 +1,2 @@ DIST kombu-5.3.2.tar.gz 431102 BLAKE2B d617868a851382055acb44313f928aa2f1458700c29ee008f6eb7226010537bfbda6b306907e4901db1e51300abee969d574842a65f049f50507376103dbc670 SHA512 2960b3a2c8ef067d2cd82c8930ff00ffa8ce17d40a3b73597d274a289dec4ea24a2f250b19f4f02198be8cb5da067b9b45b7d07f4b15632ef96e9919bab739ea +DIST kombu-5.3.3.tar.gz 436079 BLAKE2B 4ebc4fa529ff232a871b3c0ec2c200c88186785eb7beaa2abb1ddd87f67b74708b7af10a38babac6bd29c465c5e89ac2ae7325216f1e68e50a02f6636b6d4e47 SHA512 9f34d9f57383b8791cf3c625562c273232d24a32aadb60a8fdac26c0c3afa968eeb1b9523dcb5f498360820828203e570fda4f98940521d753a93691ab16de44 diff --git a/dev-python/kombu/kombu-5.3.3.ebuild b/dev-python/kombu/kombu-5.3.3.ebuild new file mode 100644 index 000000000000..24d49c42cee2 --- /dev/null +++ b/dev-python/kombu/kombu-5.3.3.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="AMQP Messaging Framework for Python" +HOMEPAGE=" + https://github.com/celery/kombu/ + https://pypi.org/project/kombu/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="examples" + +RDEPEND=" + >=dev-python/amqp-5.1.1[${PYTHON_USEDEP}] + <dev-python/amqp-6.0.0[${PYTHON_USEDEP}] + dev-python/vine[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + app-arch/brotli[python,${PYTHON_USEDEP}] + >=dev-python/boto3-1.22.2[${PYTHON_USEDEP}] + dev-python/hypothesis[${PYTHON_USEDEP}] + >=dev-python/msgpack-0.3.0[${PYTHON_USEDEP}] + dev-python/pycurl[${PYTHON_USEDEP}] + >=dev-python/pymongo-4.1.1[${PYTHON_USEDEP}] + dev-python/pytest-freezegun[${PYTHON_USEDEP}] + dev-python/zstandard[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] + >=dev-python/redis-4.2.2[${PYTHON_USEDEP}] + dev-python/sqlalchemy[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest +distutils_enable_sphinx docs \ + dev-python/sphinx-celery + +python_test() { + local EPYTEST_DESELECT=( + # TODO + t/unit/transport/test_redis.py::test_Channel::test_connparams_health_check_interval_supported + ) + local EPYTEST_IGNORE=( + # obsolete Pyro4 + t/unit/transport/test_pyro.py + # unpackaged azure + t/unit/transport/test_azurestoragequeues.py + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} + +python_install_all() { + if use examples; then + docompress -x "/usr/share/doc/${PF}/examples" + docinto examples + dodoc -r examples/. + fi + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature "Amazon SQS backend" "dev-python/boto3 dev-python/pycurl" + optfeature "Etcd backend" dev-python/python-etcd + optfeature "MongoDB backend" dev-python/pymongo + optfeature "Redis backend" dev-python/redis + optfeature "sqlalchemy backend" dev-python/sqlalchemy + optfeature "yaml backend" dev-python/pyyaml + optfeature "MessagePack (de)serializer for Python" dev-python/msgpack + optfeature "brotli compression" "app-arch/brotli[python]" + optfeature "zstd compression" dev-python/zstandard +} diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest index e9da2ac43cac..a11d7c268c91 100644 --- a/dev-python/langdetect/Manifest +++ b/dev-python/langdetect/Manifest @@ -1,3 +1 @@ DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db -EBUILD langdetect-1.0.9.ebuild 493 BLAKE2B 0df8bce19bc80f79f8e76bcef5a4c2caf333365fe0cb9a3c076b7858bceded5a3e58921474f866a2709dd657b7ed330c1ec4a7f9d7bab0fcf1bc92d77cabc32d SHA512 ea2a1adcb133ac5fc951ba1aa90ef1ce3dfcc424e59727591763d4875aa044a74188be2d15fd89c6b2e83ed6ea04ec3d9851ed584ae79d2c2c127bde7d994b48 -MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45 diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml index 020e07f2a3dd..736a1167c898 100644 --- a/dev-python/langdetect/metadata.xml +++ b/dev-python/langdetect/metadata.xml @@ -1,12 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>marcin.deranek@slonko.net</email> - <name>Marcin Deranek</name> - </maintainer> - <upstream> - <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to> - </upstream> - <origin>slonko-overlay</origin> + + <origin>gentoo-guru-overlay</origin> </pkgmetadata>
\ No newline at end of file diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest index b5bcb73a461f..434fc9bc0606 100644 --- a/dev-python/numpy/Manifest +++ b/dev-python/numpy/Manifest @@ -1 +1,2 @@ DIST numpy-1.26.1.tar.gz 15651806 BLAKE2B 2b7fe13675b6f11b8f19c2dc671c84418fa959f403ff32c15ae6da37ae8137d062bb47db0180031c90f54451d69d640ec4ebfad0a4eefb32afc55df45c6824ab SHA512 abe5919029fc66961e8f44fdd503b54c291ce75b0d95e3f8bb61ee39a25d62142fbece5734fd7e9cbf65511f9d746fa61796f0d68e6dc2816c0e7747e286e505 +DIST numpy-1.26.2.tar.gz 15664248 BLAKE2B 006e511e27c009f27bf4bf6c8c30c84a4bf0e8b1ff53f4e031089f28c1cfd168ec0d037952fe8f377f9a1d6e1ab642a84c095edeee5696b18053fd5cb7550586 SHA512 9986cd34dda921fbc152c3be0e39f003035787ea1e055452b9259d02c423d413080a0c7e4e19fd38d9e28f66d428719d6ebe784c24ae17249ff56494950daf4b diff --git a/dev-python/numpy/numpy-1.26.2.ebuild b/dev-python/numpy/numpy-1.26.2.ebuild new file mode 100644 index 000000000000..1cf392da09ce --- /dev/null +++ b/dev-python/numpy/numpy-1.26.2.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=meson-python +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) +PYTHON_REQ_USE="threads(+)" +FORTRAN_NEEDED=lapack + +inherit distutils-r1 flag-o-matic fortran-2 pypi toolchain-funcs + +DESCRIPTION="Fast array and numerical python library" +HOMEPAGE=" + https://numpy.org/ + https://github.com/numpy/numpy/ + https://pypi.org/project/numpy/ +" + +LICENSE="BSD" +SLOT="0" +# +lapack because the internal fallbacks are pretty slow. Building without blas +# is barely supported anyway, see bug #914358. +IUSE="+lapack" +if [[ ${PV} != *_[rab]* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +RDEPEND=" + lapack? ( + >=virtual/cblas-3.8 + >=virtual/lapack-3.8 + ) +" +BDEPEND=" + ${RDEPEND} + >=dev-util/meson-1.1.0 + >=dev-python/cython-3.0.0[${PYTHON_USEDEP}] + lapack? ( + virtual/pkgconfig + ) + test? ( + $(python_gen_cond_dep ' + >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}] + ' 'python*') + dev-python/charset-normalizer[${PYTHON_USEDEP}] + >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2019.3[${PYTHON_USEDEP}] + ) +" +PATCHES=( "${FILESDIR}/${PN}-1.26.1-alpha.patch" ) + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_prepare_all() { + append-flags -fno-strict-aliasing + + distutils-r1_python_prepare_all +} + +python_configure_all() { + DISTUTILS_ARGS=( + -Dallow-noblas=$(usex !lapack true false) + -Dblas=$(usev lapack cblas) + -Dlapack=$(usev lapack lapack) + # TODO: cpu-* options + ) +} + +python_test() { + local EPYTEST_DESELECT=( + # Very disk-and-memory-hungry + lib/tests/test_io.py::TestSaveTxt::test_large_zip + lib/tests/test_io.py::TestSavezLoad::test_closing_fid + lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load + + # Precision problems + core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals + + # Runs the whole test suite recursively, that's just crazy + core/tests/test_mem_policy.py::test_new_policy + + typing/tests/test_typing.py + # Uses huge amount of memory + core/tests/test_mem_overlap.py + + # TODO: crashes + lib/tests/test_histograms.py::TestHistogram::test_big_arrays + + # likely a test problem + # https://github.com/numpy/numpy/issues/25135 + core/tests/test_cython.py::test_conv_intp + + # flaky + f2py/tests/test_crackfortran.py + f2py/tests/test_data.py::TestDataF77::test_crackedlines + ) + + if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then + # Degenerate case of arm32 chroot on arm64, bug #774108 + EPYTEST_DESELECT+=( + core/tests/test_cpu_features.py::Test_ARM_Features::test_features + ) + fi + + if use x86 ; then + EPYTEST_DESELECT+=( + # https://github.com/numpy/numpy/issues/18388 + core/tests/test_umath.py::TestRemainder::test_float_remainder_overflow + # https://github.com/numpy/numpy/issues/18387 + random/tests/test_generator_mt19937.py::TestRandomDist::test_pareto + # more precision problems + core/tests/test_einsum.py::TestEinsum::test_einsum_sums_int16 + ) + fi + + if use hppa ; then + EPYTEST_DESELECT+=( + # TODO: Get selectedrealkind updated! + # bug #907228 + # https://github.com/numpy/numpy/issues/3424 (https://github.com/numpy/numpy/issues/3424#issuecomment-412369029) + # https://github.com/numpy/numpy/pull/21785 + f2py/tests/test_kind.py::TestKind::test_real + f2py/tests/test_kind.py::TestKind::test_quad_precision + ) + fi + + if [[ $(tc-endian) == "big" ]] ; then + # https://github.com/numpy/numpy/issues/11831 and bug #707116 + EPYTEST_DESELECT+=( + 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[s1]' + 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[t1]' + 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[s1]' + 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[t1]' + f2py/tests/test_kind.py::TestKind::test_int + ) + fi + + case "${ABI}" in + alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) + EPYTEST_DESELECT+=( + # too large for 32-bit platforms + core/tests/test_ufunc.py::TestUfunc::test_identityless_reduction_huge_array + 'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]' + 'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]' + ) + ;; + *) + ;; + esac + + if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then + # depends on importing numpy.random from system namespace + EPYTEST_DESELECT+=( + 'random/tests/test_extending.py::test_cython' + ) + fi + + rm -rf numpy || die + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest --pyargs numpy +} + +python_install_all() { + local DOCS=( LICENSE.txt README.md THANKS.txt ) + distutils-r1_python_install_all +} diff --git a/dev-python/pikepdf/Manifest b/dev-python/pikepdf/Manifest index f573b81621f9..d2afe56b915a 100644 --- a/dev-python/pikepdf/Manifest +++ b/dev-python/pikepdf/Manifest @@ -3,3 +3,5 @@ DIST pikepdf-8.5.1.tar.gz 2854559 BLAKE2B 70bca735461d0234cd43cc757a1e8137f9cc30 DIST pikepdf-8.5.2.tar.gz 2854729 BLAKE2B 276d96d21e0d5d58177776257286560771896424dd49145cf5daf32bd6344a0d18b22ca4a0ee806d1aabdef3310a751a091f9a6f4725199d04dab689ea678546 SHA512 7f107ed1535e876c1892d3ffdae57fca85c140ff2fdd981937600b310692248c53a3539dc8c1c1c5ce6e35349692d67c6c4e2f31a3a74ead246faaa212bd70d4 DIST pikepdf-8.5.3.tar.gz 2854900 BLAKE2B 6dfd458b96b60cbd2cbd5491353c98710bec458b11f92b8e5abdad05a83567f98e0c21eeafd47650de0d6600f958417d92f62d76034db6663555fc76d8c4714b SHA512 dd7c6d131f1bf61c0cb285c06629c44a5e8436fa368832aacac7d5fcd8ab3b19b96d0d1005b02dd5084a1d9a4200f3fb27f66b60e9625f3cd9bfb32a649f497c DIST pikepdf-8.6.0.tar.gz 2855625 BLAKE2B f9f0867b72e531c54bd65e0ce74eeea3b5379b04c073863b1e690e989f9d05061635eadb10ca0bb6f79f64e3d16d619b7c1200a35dfbfc8808831960c889e474 SHA512 d272b7f8c334a7c803594a6d7ace2d53a971da0ec1e814d16f20564af5075dbff35e1e28e129dcc2168d1c9b83047a9ea1905b163b24d14179cbd2dc874f84d7 +DIST pikepdf-8.7.0.tar.gz 2860417 BLAKE2B bc11b2f1e2023cd25103e78522429cd50a6deae4e598653f6b9e35c82ac2069403c0fd8d17e56597c7189b207dd41dc8ecf23a940095625e19c453695e0290df SHA512 445c6cbd1b311ebfc96924cb5f381fe05ab549826029a796d7b744b93265880b27fe17e9f9cba212c5ed289a5fe6efa5e6457d0912f0ca13109c345d40e20ec7 +DIST pikepdf-8.7.1.tar.gz 2860480 BLAKE2B fa06667947d0166e8597e4fa757ffa96eb69ed3fe2dfd4a54e515678f55afd15a0e2dfcd571fabc933423f0696725d623b0fb9f95cb8ca8633a6581a7957c25d SHA512 3adc075244eb66e0aa4b18882c2ede598b26a40c56497628a8262f82c8ec72af25b4c97ded0771a8e0ec7bb1e7537ec4e172505fd30271a995491361bf17277f diff --git a/dev-python/pikepdf/pikepdf-8.7.0.ebuild b/dev-python/pikepdf/pikepdf-8.7.0.ebuild new file mode 100644 index 000000000000..a91aad65a17b --- /dev/null +++ b/dev-python/pikepdf/pikepdf-8.7.0.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python library to work with pdf files based on qpdf" +HOMEPAGE=" + https://github.com/pikepdf/pikepdf/ + https://pypi.org/project/pikepdf/ +" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" + +# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as +# https://qpdf.readthedocs.io/en/stable/release-notes.html. +DEPEND=" + >=app-text/qpdf-11.5.0:0= +" +RDEPEND=" + ${DEPEND} + dev-python/deprecated[${PYTHON_USEDEP}] + >=dev-python/lxml-4.0[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + >=dev-python/pillow-10.0.1[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}] + >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}] + test? ( + >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}] + >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}] + >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}] + >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff] + >=dev-python/psutil-5.9[${PYTHON_USEDEP}] + >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}] + >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/tomli[${PYTHON_USEDEP}] + ' 3.10) + ) +" + +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # fragile to system load + tests/test_image_access.py::test_random_image +) + +src_prepare() { + sed -e '/-n auto/d' -i pyproject.toml || die + distutils-r1_src_prepare +} diff --git a/dev-python/pikepdf/pikepdf-8.7.1.ebuild b/dev-python/pikepdf/pikepdf-8.7.1.ebuild new file mode 100644 index 000000000000..a91aad65a17b --- /dev/null +++ b/dev-python/pikepdf/pikepdf-8.7.1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python library to work with pdf files based on qpdf" +HOMEPAGE=" + https://github.com/pikepdf/pikepdf/ + https://pypi.org/project/pikepdf/ +" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" + +# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as +# https://qpdf.readthedocs.io/en/stable/release-notes.html. +DEPEND=" + >=app-text/qpdf-11.5.0:0= +" +RDEPEND=" + ${DEPEND} + dev-python/deprecated[${PYTHON_USEDEP}] + >=dev-python/lxml-4.0[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + >=dev-python/pillow-10.0.1[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}] + >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}] + test? ( + >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}] + >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}] + >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}] + >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff] + >=dev-python/psutil-5.9[${PYTHON_USEDEP}] + >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}] + >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/tomli[${PYTHON_USEDEP}] + ' 3.10) + ) +" + +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # fragile to system load + tests/test_image_access.py::test_random_image +) + +src_prepare() { + sed -e '/-n auto/d' -i pyproject.toml || die + distutils-r1_src_prepare +} diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest index 3ce1158b12b7..8412b144f986 100644 --- a/dev-python/pydantic/Manifest +++ b/dev-python/pydantic/Manifest @@ -1,3 +1,4 @@ DIST pydantic-1.10.13.gh.tar.gz 766572 BLAKE2B 3d4f4453469f960467ddf3512be8e97f0abf40406d441a1bc8909df1ebc0e7deaa5e84640d8614395e36d619e87f9d47327cd71526dae203046488d114ade49f SHA512 7ae96c08080e9d3bf3b66ee8ee77efc0b89b6630d4f0c37679e27a28a6433b3628fd342991cf38412ff6d1034c4a907841f74759c2e6b4d51d413d76625d5bfd DIST pydantic-2.3.0.tar.gz 623866 BLAKE2B 77fe2d9ce385946e13ffeb5827c29bc7473667af6b53b7b3ec2432380dc792f9ce54b1cb5af68f0a548880516c763ac8c29b129d821da074b63a9a50f9ebc5c3 SHA512 19c9c066a69c8406ccf5537e62b4b5112a5cf1c32bb68498bb73b739c4525fe115348c4c4e5ef9c074dc46fd2b51ca09bcb1d4fa792dbdd2387e51aadae9e528 DIST pydantic-2.4.2.tar.gz 654020 BLAKE2B 2f91b6bf89f87230976a2e777541bb7418382fb3534f5e61e1dc74a18e5e939508a2440d6bee9a09030beb5f2b6a60fd62c3bf30ee0ee2c7d3f71575920a47f3 SHA512 f0e0d90ead4ba754974b38f8e3d24bc017696674ca1ed3300104389d149baa41c495218a118f5e7f98bf20d34b3c17439921eaff0ccd7bf76cac96a16e592b4e +DIST pydantic-2.5.0.tar.gz 677119 BLAKE2B 5b53df61af19d64909313195a623cf30e3343fb5404853ec61ed56a87d9ba2b554a8c8f758c72f43f325fae75f64a1d3cc9489a67356fad28c2e4f4f4c95f222 SHA512 a31fd740e2272316cecb41477a1246d5555daa2897b13efbd79c002e46891283bb50a1fc653182e05039d5fbeb34f4a9b5d44c5c27c1ec60da3af30c333855bc diff --git a/dev-python/pydantic/pydantic-2.5.0.ebuild b/dev-python/pydantic/pydantic-2.5.0.ebuild new file mode 100644 index 000000000000..b6f501a456e3 --- /dev/null +++ b/dev-python/pydantic/pydantic-2.5.0.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Data parsing and validation using Python type hints" +HOMEPAGE=" + https://github.com/pydantic/pydantic/ + https://pypi.org/project/pydantic/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}] + ~dev-python/pydantic-core-2.14.1[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}] + test? ( + dev-python/cloudpickle[${PYTHON_USEDEP}] + dev-python/dirty-equals[${PYTHON_USEDEP}] + >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}] + >=dev-python/Faker-18.13.0[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + sed -i -e '/benchmark/d' pyproject.toml || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=() + local EPYTEST_IGNORE=( + # require pytest-examples + tests/test_docs.py + # benchmarks + tests/benchmarks + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p pytest_mock +} diff --git a/dev-python/pytest-httpx/Manifest b/dev-python/pytest-httpx/Manifest index 323df10db75a..0cc85135bc06 100644 --- a/dev-python/pytest-httpx/Manifest +++ b/dev-python/pytest-httpx/Manifest @@ -1 +1,2 @@ DIST pytest_httpx-0.26.0.tar.gz 33490 BLAKE2B 27c267374a575aff2ecbaec4855b733318568d73368a103f93606cc8833be4d4e664418e2f4b67df2d39a8830dd32d75d3a00656e58824b6beb18c4cc0bf3a14 SHA512 b671984714e8958361a773ef5e3f7430736b01556c6af58aac4ca740a679b5c2e316e2d041e1594cc16e7e13cee9692f57dcbbf374ca15924685250f73cc7853 +DIST pytest_httpx-0.27.0.tar.gz 33905 BLAKE2B 352812df060f878044a628dee62ab36f15d17080afc0367b6331c2e5e13600eefff7a3668f4a9364d437394ad8f8354f41619ec4f6b8bc5ac14b1cd652357802 SHA512 e2834313f507d02b9df96a47f8be6f46b451972e88ed9c9bfcb8bdb92545cc44064b11a1160a5d9d900381181918611d5d5a9efaf60f4e491f33182e9bd884dd diff --git a/dev-python/pytest-httpx/pytest-httpx-0.27.0.ebuild b/dev-python/pytest-httpx/pytest-httpx-0.27.0.ebuild new file mode 100644 index 000000000000..3e8689efb08c --- /dev/null +++ b/dev-python/pytest-httpx/pytest-httpx-0.27.0.ebuild @@ -0,0 +1,32 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Send responses to HTTPX using pytest" +HOMEPAGE=" + https://colin-b.github.io/pytest_httpx/ + https://github.com/Colin-b/pytest_httpx/ + https://pypi.org/project/pytest-httpx/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + =dev-python/httpx-0.25*[${PYTHON_USEDEP}] + <dev-python/pytest-8[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/dev-python/pytest-testinfra/Manifest b/dev-python/pytest-testinfra/Manifest index 15f6385581e6..010879cf0106 100644 --- a/dev-python/pytest-testinfra/Manifest +++ b/dev-python/pytest-testinfra/Manifest @@ -1 +1,2 @@ +DIST pytest-testinfra-10.0.0.tar.gz 84667 BLAKE2B 10c62340af7cb0a07cbc3c8099f0d22bbf8e3623e8c5f80dd45acef23ec178a2b090aa012e5602c7b67d0ef61ca9922d05e412e8db62384589080455326c8abc SHA512 3f289fccc3ba38ed1aa316adbb05ef74f51fbd1130ab7a39c5d56a11124de96c048aecef3a19438cd0d50d4891ed843671d9daf50fc5c3fb5c834164b276529d DIST pytest-testinfra-9.0.0.tar.gz 83896 BLAKE2B 8d75bf051ec91916dcb9bc727409eefbf53f8635b5dd953d2c1d05a1d4daa37ade01a23bcc004f77ced37d8fb30684df211d16d95839c1a8d8e5d5c4df5336ca SHA512 bbf66597c473b868f0dde0437d666f8235e835a35bfd12b4a86f9970e26c1963d83101e7e0e3b3817e23798bee342f47ac7666041f0e09038236f9ddca4afecf diff --git a/dev-python/pytest-testinfra/pytest-testinfra-10.0.0.ebuild b/dev-python/pytest-testinfra/pytest-testinfra-10.0.0.ebuild new file mode 100644 index 000000000000..f6284c3dba51 --- /dev/null +++ b/dev-python/pytest-testinfra/pytest-testinfra-10.0.0.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Write unit tests in Python to test actual state of your servers" +HOMEPAGE=" + https://github.com/pytest-dev/pytest-testinfra/ + https://pypi.org/project/pytest-testinfra/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~riscv" + +RDEPEND=" + dev-python/pytest[${PYTHON_USEDEP}] +" +# Ansible is called via its CLI +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + app-admin/ansible + $(python_gen_cond_dep ' + app-admin/salt[${PYTHON_USEDEP}] + ' python3_10) + dev-python/paramiko[${PYTHON_USEDEP}] + dev-python/pywinrm[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x EPYTEST_DESELECT=() + + # This is the only test which actually fails if salt cannot be imported + if ! has_version "dev-python/salt[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + test/test_backends.py::test_backend_importables + ) + fi + + epytest +} + +pkg_postinst() { + elog "For the list of available connection back-ends and their dependencies," + elog "please consult https://testinfra.readthedocs.io/en/latest/backends.html" +} diff --git a/dev-python/sentry-sdk/Manifest b/dev-python/sentry-sdk/Manifest index d3b5dad5dce1..a9f6831d1db8 100644 --- a/dev-python/sentry-sdk/Manifest +++ b/dev-python/sentry-sdk/Manifest @@ -2,3 +2,4 @@ DIST sentry-python-1.31.0.gh.tar.gz 399341 BLAKE2B e5162a619335bd7e089ed01c938d2 DIST sentry-python-1.32.0.gh.tar.gz 422326 BLAKE2B f2753d958599462a3b6134872072ccfbca0e2dbeedffeffb2c430c46c3ea19cdbd9add0789cd77b0971444edcc1d87f2082f33b5bd8798c81ca226ac92d565c6 SHA512 ff29adb1b0fdec3864c2291ddea533e4aa5b8cd1d5ba7381954cd4d3f873a47c58fd7b6997479552e43e229a5e282d61c926185b79266801f731a3c4289c83c0 DIST sentry-python-1.33.1.gh.tar.gz 431232 BLAKE2B 8f08e2ae58fa7d55384be9102a6f2f70eea550c6b53794013ff7326a0dd32358782db1e0c15b9837c688a85dae36f16538bc2d7c1516c1de4e75aa5c1ee35d55 SHA512 e86d20f1d8736175340bfd850560055342fd234709d1c4c5f931274e2e0d31b6bc0bb559593aff2ec4aaf508aefb0d8e1025d8eedc1dbb2d13c41b019721ce9f DIST sentry-python-1.34.0.gh.tar.gz 432143 BLAKE2B d5a1376e88b4377ee0f416229364586cd69d76a72a31f1d7a5128c5aba6988d5cbfaf405afa39d52926ba64c0b29b48577d8e102427aec08dead41356a3dbbf5 SHA512 b4d6d4751bde829aca7cec418d46fb5ac44d59bcfd71e4b6e3057b70ea38e96dc3eeaa3b8ce61f9d7d0ccc9845ba741c9aacdc58e6fea56c1f33b5c39118c35f +DIST sentry-python-1.35.0.gh.tar.gz 438978 BLAKE2B 84d016fd24895eab240d97d99c5ac11f332f72c487b82205680513103d5a684ad25b4dbb6fe7863d681c965239079f1208b660a48bc21e508b57db04466e91b7 SHA512 fb136cb0542a9ca7db7e5bbcfe6178cdee90b80c634c9f1f54ad769b403fbe48ab9f23f66e33c1b7cc0f22d53811c0b1ae767604df5f2209c3568eebdc643b6a diff --git a/dev-python/sentry-sdk/sentry-sdk-1.35.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.35.0.ebuild new file mode 100644 index 000000000000..83b4f6b5f21c --- /dev/null +++ b/dev-python/sentry-sdk/sentry-sdk-1.35.0.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 + +MY_P=sentry-python-${PV} +DESCRIPTION="Python client for Sentry" +HOMEPAGE=" + https://sentry.io/ + https://github.com/getsentry/sentry-python/ + https://pypi.org/project/sentry-sdk/ +" +SRC_URI=" + https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="PSF-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + dev-python/urllib3[${PYTHON_USEDEP}] + dev-python/certifi[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/asttokens[${PYTHON_USEDEP}] + dev-python/django[${PYTHON_USEDEP}] + dev-python/executing[${PYTHON_USEDEP}] + dev-python/fakeredis[${PYTHON_USEDEP}] + dev-python/flask-login[${PYTHON_USEDEP}] + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/pyrsistent[${PYTHON_USEDEP}] + dev-python/pytest-aiohttp[${PYTHON_USEDEP}] + dev-python/pytest-django[${PYTHON_USEDEP}] + dev-python/pytest-forked[${PYTHON_USEDEP}] + dev-python/pytest-localserver[${PYTHON_USEDEP}] + dev-python/python-socks[${PYTHON_USEDEP}] + dev-python/responses[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] + dev-python/zope-event[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch" +) + +python_test() { + local EPYTEST_IGNORE=( + # tests require Internet access + tests/integrations/httpx/test_httpx.py + tests/integrations/requests/test_requests.py + tests/integrations/stdlib/test_httplib.py + tests/integrations/flask/test_flask.py + tests/integrations/django/test_basic.py + tests/integrations/socket/test_socket.py + # wtf is it supposed to do?! + tests/integrations/gcp/test_gcp.py + # broken by rq-1.10.1 (optional dep) + tests/integrations/rq/test_rq.py + # fastapi is not packaged + tests/integrations/asgi/test_fastapi.py + # TODO + tests/integrations/bottle + # TODO: causes breakage in other tests + tests/integrations/starlette + # TODO + tests/integrations/tornado + # requires mockupdb + tests/integrations/pymongo + # requires AWS access + tests/integrations/aws_lambda + ) + + local EPYTEST_DESELECT=( + # hangs + 'tests/test_transport.py::test_transport_works' + # TODO + 'tests/test_basics.py::test_auto_enabling_integrations_catches_import_error' + tests/test_client.py::test_databag_depth_stripping + tests/test_client.py::test_databag_string_stripping + tests/test_client.py::test_databag_breadth_stripping + tests/integrations/asgi/test_asgi.py::test_auto_session_tracking_with_aggregates + tests/integrations/asgi/test_asgi.py::test_websocket + tests/integrations/aiohttp/test_aiohttp.py::test_transaction_style + tests/integrations/aiohttp/test_aiohttp.py::test_traces_sampler_gets_request_object_in_sampling_context + tests/integrations/django/test_data_scrubbing.py::test_scrub_django_custom_session_cookies_filtered + # incompatible version? + tests/integrations/falcon/test_falcon.py + tests/integrations/sqlalchemy/test_sqlalchemy.py::test_large_event_not_truncated + tests/integrations/django/test_data_scrubbing.py::test_scrub_django_session_cookies_{filtered,removed} + # test_circular_references: apparently fragile + 'tests/integrations/threading/test_threading.py::test_circular_references' + # test for new feature, fails with IndexError + tests/integrations/wsgi/test_wsgi.py::test_session_mode_defaults_to_request_mode_in_wsgi_handler + # TODO + tests/integrations/wsgi/test_wsgi.py::test_auto_session_tracking_with_aggregates + tests/integrations/wsgi/test_wsgi.py::test_profile_sent_when_profiling_enabled + tests/test_profiler.py::test_sample_buffer + tests/test_profiler.py::test_thread_scheduler_takes_first_samples + tests/test_profiler.py::test_thread_scheduler_takes_more_samples + tests/test_profiler.py::test_thread_scheduler_single_background_thread + # broken with py3.11, *shrug* + tests/test_profiler.py::test_extract_stack_with_max_depth + # TODO + tests/integrations/sqlalchemy/test_sqlalchemy.py::test_long_sql_query_preserved + tests/integrations/sqlalchemy/test_sqlalchemy.py::test_engine_name_not_string + tests/test_scrubber.py::test_breadcrumb_extra_scrubbing + tests/test_scrubber.py::test_span_data_scrubbing + # this is not even funny + tests/integrations/modules/test_modules.py::test_installed_modules + # flaky hypothesis stuff + tests/test_serializer.py::test_bytes_serialization_repr_many + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p asyncio -p aiohttp -p pytest_forked +} diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest index 8cfe0bec16b3..62023e9e4a9f 100644 --- a/dev-python/sqlglot/Manifest +++ b/dev-python/sqlglot/Manifest @@ -6,3 +6,4 @@ DIST sqlglot-19.1.2.tar.gz 9032813 BLAKE2B 5ed47175decfcdcdf116a5c8676a25f2682ea DIST sqlglot-19.1.3.tar.gz 9039849 BLAKE2B e60834db439b8b6d5d98d1b0cc25a67815b7961b255c2dc6f88072975fec209731f206611143a7287be6d1ef144722367cbbb35f4b7160df5158f5a4a1f2a8c8 SHA512 0d14a9ad56c10972a4141a7f185585d7cb9127f439313ccaca66a0ff225495c3d814747c66d427aaf6ee7c2de7d9959e8544d10071aa5ae05cf1f99018c642e2 DIST sqlglot-19.2.0.tar.gz 9042951 BLAKE2B fd9b70c76f7bcc1ba57bb935d5896de794a981214c23af48b20948d04b7110841ab5fb931aa541101635d723bdb6c395d983a856d598118586d1bc582e341be8 SHA512 4c50f8e7faac643f95c9f9fec6a9ecf797d5f1fa8d8dea10496a320a2a78ab1ba6a3349a47ab1bfca8adc3cb2ad795e56a27d6de7b77256dae65d8ce1a3a9c56 DIST sqlglot-19.3.1.tar.gz 9054462 BLAKE2B ae44c5398cf976e5a624b01e2b9078275da43dfa6e0c4a112a1c5dcc6a2e5a6c5c84d0005911651b920c4e2ff09a668c10d55a56c843c2ba423fc456897647b5 SHA512 46375ff738bf2cd454e24dd789afff4318cb186c87c232613c5ec70694db526ec28dae853b59014eeef34a2b746e19cb418965c1bd55066bb1eee278f12895ea +DIST sqlglot-19.4.0.tar.gz 9056050 BLAKE2B 23d5a9bdd7bfa27128e624406f52488e90ec475c355fde6e5e7ac77bee5ae84dd1abeb2c87896f3fbc418dbe0b818e66f1d76b7e24514315e194b6bd58677203 SHA512 f0f6f4d4eca3d97ac9cd200e6a5e8df5a2c2b9e6d84dd87f19ab29b1af0c6cb55c62e28c9c7faa34425a6cfb0583b02d387b7cd744fec40419927016cd05d51e diff --git a/dev-python/sqlglot/sqlglot-19.4.0.ebuild b/dev-python/sqlglot/sqlglot-19.4.0.ebuild new file mode 100644 index 000000000000..ac53f7b0ad7d --- /dev/null +++ b/dev-python/sqlglot/sqlglot-19.4.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 pypi optfeature + +DESCRIPTION="An easily customizable SQL parser and transpiler" +HOMEPAGE=" + https://sqlglot.com/ + https://github.com/tobymao/sqlglot/ + https://pypi.org/project/sqlglot/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +EPYTEST_IGNORE=( + # Tests require pyspark or duckdb which aren't in the tree. + # Pandas would be a requirement normally, but it gets ignored by proxy. + "tests/dataframe/integration/test_dataframe.py" + "tests/dataframe/integration/test_grouped_data.py" + "tests/dataframe/integration/test_session.py" + "tests/test_executor.py" + "tests/test_optimizer.py" +) + +distutils_enable_tests pytest + +pkg_postinst() { + optfeature "simplifying timedelta expressions" dev-python/python-dateutil +} diff --git a/dev-python/time-machine/files/time-machine-2.13.0-backport-pr400.patch b/dev-python/time-machine/files/time-machine-2.13.0-backport-pr400.patch new file mode 100644 index 000000000000..b7fa55c2e267 --- /dev/null +++ b/dev-python/time-machine/files/time-machine-2.13.0-backport-pr400.patch @@ -0,0 +1,252 @@ +https://bugs.gentoo.org/show_bug.cgi?id=912709 +https://github.com/adamchainz/time-machine/pull/400 + +From b489a478193982c17cf7847d32cae2b53a904222 Mon Sep 17 00:00:00 2001 +From: matoro <matoro@users.noreply.github.com> +Date: Thu, 9 Nov 2023 13:03:49 -0500 +Subject: [PATCH 1/2] Fix tests on platforms with low clock resolution + +On platforms without a high-resolution clock, such as Alpha and PA-RISC +is is likely that two sequential calls to time.time() will return the +same value if the execution time is not sufficient to allow one full +clock resolution cycle to pass. This adds sleeps of one cycle to +enforce that the minimum amount of time to guarantee a clock change has +passed. + +On systems with high-resolution clocks, clock_getres() will return 1ns; +in reality the sleep will take longer than 1ns to execute but should +still be a negligible amount of time. +--- + tests/test_time_machine.py | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/tests/test_time_machine.py b/tests/test_time_machine.py +index fe98fb7..7b5abbe 100644 +--- a/tests/test_time_machine.py ++++ b/tests/test_time_machine.py +@@ -155,8 +155,10 @@ def test_time_clock_gettime_realtime(): + @py_have_clock_gettime + def test_time_clock_gettime_monotonic_unaffected(): + start = time.clock_gettime(time.CLOCK_MONOTONIC) ++ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) + with time_machine.travel(EPOCH + 180.0): + frozen = time.clock_gettime(time.CLOCK_MONOTONIC) ++ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) + assert isinstance(frozen, float) + assert frozen > start + +@@ -169,6 +171,7 @@ def test_time_clock_gettime_monotonic_unaffected(): + def test_time_clock_gettime_ns_realtime(): + with time_machine.travel(EPOCH + 190.0): + first = time.clock_gettime_ns(time.CLOCK_REALTIME) ++ time.sleep(time.clock_getres(time.CLOCK_REALTIME)) + assert isinstance(first, int) + assert first == int((EPOCH + 190.0) * NANOSECONDS_PER_SECOND) + second = time.clock_gettime_ns(time.CLOCK_REALTIME) +@@ -182,8 +185,10 @@ def test_time_clock_gettime_ns_realtime(): + @py_have_clock_gettime + def test_time_clock_gettime_ns_monotonic_unaffected(): + start = time.clock_gettime_ns(time.CLOCK_MONOTONIC) ++ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) + with time_machine.travel(EPOCH + 190.0): + frozen = time.clock_gettime_ns(time.CLOCK_MONOTONIC) ++ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) + assert isinstance(frozen, int) + assert frozen > start + +@@ -279,6 +284,7 @@ def test_time_strftime_format_t(): + def test_time_time(): + with time_machine.travel(EPOCH): + first = time.time() ++ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) + assert isinstance(first, float) + assert first == EPOCH + second = time.time() +@@ -300,6 +306,7 @@ def test_time_time(): + def test_time_time_windows(): + with time_machine.travel(EPOCH): + first = time.time() ++ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) + assert isinstance(first, float) + assert first == windows_epoch_in_posix + +@@ -316,6 +323,7 @@ def test_time_time_no_tick(): + def test_time_time_ns(): + with time_machine.travel(EPOCH + 150.0): + first = time.time_ns() ++ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) + assert isinstance(first, int) + assert first == int((EPOCH + 150.0) * NANOSECONDS_PER_SECOND) + second = time.time_ns() +@@ -561,6 +569,7 @@ def test_method_decorator(self): + @time_machine.travel(EPOCH + 95.0) + class UnitTestClassTests(TestCase): + def test_class_decorator(self): ++ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) + assert EPOCH + 95.0 < time.time() < EPOCH + 96.0 + + @time_machine.travel(EPOCH + 25.0) +@@ -578,6 +587,7 @@ def setUpClass(cls): + cls.custom_setupclass_ran = True + + def test_class_decorator(self): ++ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) + assert EPOCH + 95.0 < time.time() < EPOCH + 96.0 + assert self.custom_setupclass_ran + +@@ -639,6 +649,7 @@ def test_move_to_datetime(): + traveller.move_to(EPOCH_PLUS_ONE_YEAR_DATETIME) + + first = time.time() ++ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) + assert first == EPOCH_PLUS_ONE_YEAR + + second = time.time() +@@ -706,6 +717,7 @@ def test_move_to_datetime_change_tick_on(): + with time_machine.travel(EPOCH, tick=False) as traveller: + traveller.move_to(EPOCH_PLUS_ONE_YEAR_DATETIME, tick=True) + assert time.time() == EPOCH_PLUS_ONE_YEAR ++ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) + assert time.time() > EPOCH_PLUS_ONE_YEAR + + +@@ -756,6 +768,7 @@ def test_fixture_used_tick_false(time_machine): + def test_fixture_used_tick_true(time_machine): + time_machine.move_to(EPOCH, tick=True) + original = time.time() ++ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) + assert original == EPOCH + assert original < time.time() < EPOCH + 10.0 + + +From 9e84584325ec06eb997716b6a0f42e9ca6540994 Mon Sep 17 00:00:00 2001 +From: matoro <matoro@users.noreply.github.com> +Date: Fri, 10 Nov 2023 11:06:23 -0500 +Subject: [PATCH 2/2] Wrap sleep calls in "sleep_one_cycle" function + +--- + tests/test_time_machine.py | 30 +++++++++++++++++------------- + 1 file changed, 17 insertions(+), 13 deletions(-) + +diff --git a/tests/test_time_machine.py b/tests/test_time_machine.py +index 7b5abbe..163ec2b 100644 +--- a/tests/test_time_machine.py ++++ b/tests/test_time_machine.py +@@ -38,6 +38,10 @@ + ) + + ++def sleep_one_cycle(clock: int) -> None: ++ time.sleep(time.clock_getres(clock)) ++ ++ + @contextmanager + def change_local_timezone(local_tz: str | None) -> typing.Iterator[None]: + orig_tz = os.environ["TZ"] +@@ -155,10 +159,10 @@ def test_time_clock_gettime_realtime(): + @py_have_clock_gettime + def test_time_clock_gettime_monotonic_unaffected(): + start = time.clock_gettime(time.CLOCK_MONOTONIC) +- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) ++ sleep_one_cycle(time.CLOCK_MONOTONIC) + with time_machine.travel(EPOCH + 180.0): + frozen = time.clock_gettime(time.CLOCK_MONOTONIC) +- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) ++ sleep_one_cycle(time.CLOCK_MONOTONIC) + assert isinstance(frozen, float) + assert frozen > start + +@@ -171,7 +175,7 @@ def test_time_clock_gettime_monotonic_unaffected(): + def test_time_clock_gettime_ns_realtime(): + with time_machine.travel(EPOCH + 190.0): + first = time.clock_gettime_ns(time.CLOCK_REALTIME) +- time.sleep(time.clock_getres(time.CLOCK_REALTIME)) ++ sleep_one_cycle(time.CLOCK_REALTIME) + assert isinstance(first, int) + assert first == int((EPOCH + 190.0) * NANOSECONDS_PER_SECOND) + second = time.clock_gettime_ns(time.CLOCK_REALTIME) +@@ -185,10 +189,10 @@ def test_time_clock_gettime_ns_realtime(): + @py_have_clock_gettime + def test_time_clock_gettime_ns_monotonic_unaffected(): + start = time.clock_gettime_ns(time.CLOCK_MONOTONIC) +- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) ++ sleep_one_cycle(time.CLOCK_MONOTONIC) + with time_machine.travel(EPOCH + 190.0): + frozen = time.clock_gettime_ns(time.CLOCK_MONOTONIC) +- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) ++ sleep_one_cycle(time.CLOCK_MONOTONIC) + assert isinstance(frozen, int) + assert frozen > start + +@@ -284,7 +288,7 @@ def test_time_strftime_format_t(): + def test_time_time(): + with time_machine.travel(EPOCH): + first = time.time() +- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) ++ sleep_one_cycle(time.CLOCK_MONOTONIC) + assert isinstance(first, float) + assert first == EPOCH + second = time.time() +@@ -306,7 +310,7 @@ def test_time_time(): + def test_time_time_windows(): + with time_machine.travel(EPOCH): + first = time.time() +- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) ++ sleep_one_cycle(time.CLOCK_MONOTONIC) + assert isinstance(first, float) + assert first == windows_epoch_in_posix + +@@ -323,7 +327,7 @@ def test_time_time_no_tick(): + def test_time_time_ns(): + with time_machine.travel(EPOCH + 150.0): + first = time.time_ns() +- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) ++ sleep_one_cycle(time.CLOCK_MONOTONIC) + assert isinstance(first, int) + assert first == int((EPOCH + 150.0) * NANOSECONDS_PER_SECOND) + second = time.time_ns() +@@ -569,7 +573,7 @@ def test_method_decorator(self): + @time_machine.travel(EPOCH + 95.0) + class UnitTestClassTests(TestCase): + def test_class_decorator(self): +- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) ++ sleep_one_cycle(time.CLOCK_MONOTONIC) + assert EPOCH + 95.0 < time.time() < EPOCH + 96.0 + + @time_machine.travel(EPOCH + 25.0) +@@ -587,7 +591,7 @@ def setUpClass(cls): + cls.custom_setupclass_ran = True + + def test_class_decorator(self): +- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) ++ sleep_one_cycle(time.CLOCK_MONOTONIC) + assert EPOCH + 95.0 < time.time() < EPOCH + 96.0 + assert self.custom_setupclass_ran + +@@ -649,7 +653,7 @@ def test_move_to_datetime(): + traveller.move_to(EPOCH_PLUS_ONE_YEAR_DATETIME) + + first = time.time() +- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) ++ sleep_one_cycle(time.CLOCK_MONOTONIC) + assert first == EPOCH_PLUS_ONE_YEAR + + second = time.time() +@@ -717,7 +721,7 @@ def test_move_to_datetime_change_tick_on(): + with time_machine.travel(EPOCH, tick=False) as traveller: + traveller.move_to(EPOCH_PLUS_ONE_YEAR_DATETIME, tick=True) + assert time.time() == EPOCH_PLUS_ONE_YEAR +- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) ++ sleep_one_cycle(time.CLOCK_MONOTONIC) + assert time.time() > EPOCH_PLUS_ONE_YEAR + + +@@ -768,7 +772,7 @@ def test_fixture_used_tick_false(time_machine): + def test_fixture_used_tick_true(time_machine): + time_machine.move_to(EPOCH, tick=True) + original = time.time() +- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC)) ++ sleep_one_cycle(time.CLOCK_MONOTONIC) + assert original == EPOCH + assert original < time.time() < EPOCH + 10.0 + diff --git a/dev-python/time-machine/time-machine-2.13.0.ebuild b/dev-python/time-machine/time-machine-2.13.0.ebuild index b3e01e000660..6ec797655377 100644 --- a/dev-python/time-machine/time-machine-2.13.0.ebuild +++ b/dev-python/time-machine/time-machine-2.13.0.ebuild @@ -27,4 +27,6 @@ RDEPEND=" dev-python/python-dateutil[${PYTHON_USEDEP}] " +PATCHES=( "${FILESDIR}/${PN}-2.13.0-backport-pr400.patch" ) + distutils_enable_tests pytest diff --git a/dev-python/trove-classifiers/Manifest b/dev-python/trove-classifiers/Manifest index 04184e641833..60e2c5ae5ed4 100644 --- a/dev-python/trove-classifiers/Manifest +++ b/dev-python/trove-classifiers/Manifest @@ -1,3 +1,4 @@ DIST trove-classifiers-2023.10.18.tar.gz 15862 BLAKE2B 9d634e0b9674c1b9e249999c1722217fae5ca9d8aec348706859a73f599b62a003d5ff3344e361930b9182bcf4153bd5fb40ee93a53e50b1df0430b1fec4bb7c SHA512 6f8449411b8fc82ed798901701a72f3051bb46c189ee95276dcb77a2ee9b26a61c4304b03be20f7e2bc6dc5f8db1021bf02575cadd021fe43f96fd73540bae99 +DIST trove-classifiers-2023.11.13.tar.gz 15895 BLAKE2B 2e1a615c2d39c89471427ee1a9dce95acdc9ee68a1299fca5603b710ed8867d00f72ea913c4b548962bb83eff9fda93871914bd02a1ff428e2aeafe8f060dd1f SHA512 4598a2163d0c9a4bcee1b10d7f285fe03b38efe19d279a346f18a12c4adf564a617492663d822658cb542293bffcd54270c05cfccc351509def2e0574c0aad90 DIST trove-classifiers-2023.11.7.tar.gz 15869 BLAKE2B 5c1229b7684699d560a12030cbd6be2de699d2c91902bde2f2144bd3a7718fd610596ea473a8a5a2be0f31296bb5b410a778455e3feccc5b11ac87b98f79ef38 SHA512 445a1e3482ff970a219b6323de8ab8547cb78adf5bc17db3c8cc242e5a12dc9ea93fa241da161139724f751b49f7ff80f579612d7b61a5868422e80db6c87d17 DIST trove-classifiers-2023.11.9.tar.gz 15893 BLAKE2B 10bdefc15abdb14e9dbfb2b8181b1f5478d1498c5168266cbaa0f4b6c7d9a7c42cf31f2c8cddfd3f9c63047f6c64b1429bc62c710b522acb05485f9ec8d8fcf7 SHA512 c7d3f7ebe06a1f8b0d7d7d7abe5d00f29fdab35e4577c726f2a3e279e0863c43cc0ceaa29b46bf2856becbead5a2468fc80f0200f199f9821e3336356425e693 diff --git a/dev-python/trove-classifiers/trove-classifiers-2023.11.13.ebuild b/dev-python/trove-classifiers/trove-classifiers-2023.11.13.ebuild new file mode 100644 index 000000000000..729db4e896ab --- /dev/null +++ b/dev-python/trove-classifiers/trove-classifiers-2023.11.13.ebuild @@ -0,0 +1,31 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)" +HOMEPAGE=" + https://github.com/pypa/trove-classifiers/ + https://pypi.org/project/trove-classifiers/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +BDEPEND=" + dev-python/calver[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest + +python_test() { + epytest + "${EPYTHON}" -m tests.lib || die +} diff --git a/dev-python/urllib3/Manifest b/dev-python/urllib3/Manifest index d618c2a37e71..58647582f1a5 100644 --- a/dev-python/urllib3/Manifest +++ b/dev-python/urllib3/Manifest @@ -2,3 +2,4 @@ DIST urllib3-1.26.17.tar.gz 305031 BLAKE2B 616b183168a78737988428efa52516586b66c DIST urllib3-1.26.18.tar.gz 305687 BLAKE2B f2f673761a8d80eee715a8726ba36ab6b09800fd4a4f03f27438553c36072e2abb5ff26cff71dcf30fd114f4d28c4ad9907533965b83c8a0581d3d4661904b70 SHA512 c89e93a032bf6b11375c06ef7c5abc1868f93e7655cfdca09e9bd939ad415d206ea159fe151ecd2e5f725e0e18a831c7a5382ad01dbc32264154fc8af7aec156 DIST urllib3-2.0.6.tar.gz 281846 BLAKE2B 3af632a77f07d5c686e6412b06d67df5c62517239431ead7d0c7e7bbb5efe06c298db0afda1a84fb314f3e3936edd16aef693ac316a923f67232abf8789b6201 SHA512 872a5899ad4486b45fe7a327f029beb5f7d3dd8447b58b861922b32bd15f1cff68d12136f262c2d2d3740047976bc6cff16a54590c1eab19949149e7dae2956a DIST urllib3-2.0.7.tar.gz 282546 BLAKE2B d4fbb9e1d0b6d1f3c3d71efc3fc479c7b1c49f87ca849c387701fb0c8b4124082de6d83d958c8b2afc225a84b80e7665df857e7b0918ba50e4ad1431f8facc4d SHA512 ca21dd330cfc7f53e6f00a92be1df1d24acbe61b6ca31c52a272dccd6f50d1bb797eece9132860adc84c21a9bebc3030a12816081451fcb8384c11a6cd2d1e8b +DIST urllib3-2.1.0.tar.gz 263900 BLAKE2B 9e0438a11b7178c5004c1253179bb6bfcb1fa8711db47084377bb14c5834f7b88b04a5560b99bf6fff5f1f4622d4b1998d19dd517ab6b7453fd53c832ee7fefa SHA512 33d6eafd9b6ecd97ee2dca8a4f1612a6fcc584961bcfd3a0a188f557a73f4c1576f98dc525c3b2feecb2d676f4bf4364aafeef093d6686e4b3ef2043726561a8 diff --git a/dev-python/urllib3/urllib3-2.1.0.ebuild b/dev-python/urllib3/urllib3-2.1.0.ebuild new file mode 100644 index 000000000000..88d8aae10ff1 --- /dev/null +++ b/dev-python/urllib3/urllib3-2.1.0.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_TESTED=( python3_{8,9,10,11,12} pypy3 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) +PYTHON_REQ_USE="ssl(+)" + +inherit distutils-r1 multiprocessing pypi + +DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more" +HOMEPAGE=" + https://github.com/urllib3/urllib3/ + https://pypi.org/project/urllib3/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="brotli test zstd" +RESTRICT="!test? ( test )" + +# [secure] extra is deprecated and slated for removal, we don't need it: +# https://github.com/urllib3/urllib3/issues/2680 +RDEPEND=" + >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}] + <dev-python/PySocks-2.0[${PYTHON_USEDEP}] + brotli? ( >=dev-python/brotlicffi-0.8.0[${PYTHON_USEDEP}] ) + zstd? ( >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}] ) +" +BDEPEND=" + test? ( + $(python_gen_cond_dep " + ${RDEPEND} + dev-python/brotlicffi[\${PYTHON_USEDEP}] + dev-python/freezegun[\${PYTHON_USEDEP}] + dev-python/pytest[\${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[\${PYTHON_USEDEP}] + dev-python/pytest-xdist[\${PYTHON_USEDEP}] + >=dev-python/tornado-4.2.1[\${PYTHON_USEDEP}] + >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}] + >=dev-python/zstandard-0.18.0[\${PYTHON_USEDEP}] + " "${PYTHON_TESTED[@]}") + ) +" + +src_prepare() { + # upstream considers 0.5 s to be "long" for a timeout + # we get tons of test failures on *fast* systems because of that + sed -i -e '/LONG_TIMEOUT/s:0.5:5:' test/__init__.py || die + distutils-r1_src_prepare +} + +python_test() { + local -x CI=1 + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return + fi + + local EPYTEST_DESELECT=( + # take forever + test/contrib/test_pyopenssl.py::TestSocketSSL::test_requesting_large_resources_via_ssl + test/with_dummyserver/test_socketlevel.py::TestSSL::test_requesting_large_resources_via_ssl + # stupid test, next bump please verify if they fixed it + test/test_poolmanager.py::TestPoolManager::test_deprecated_no_scheme + # fails with newer secure SSL configuration, which removes TLS 1.1 + test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1::test_verify_none_and_good_fingerprint + test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_1::test_verify_none_and_good_fingerprint + test/with_dummyserver/test_https.py::TestHTTPS_TLSv1::test_verify_none_and_good_fingerprint + test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_1::test_verify_none_and_good_fingerprint + # TODO: timeouts + test/contrib/test_pyopenssl.py::TestSocketClosing::test_timeout_errors_cause_retries + test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_timeout_errors_cause_retries + # warnings, sigh + test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_request_chunked_is_deprecated + ) + + # plugins make tests slower, and more fragile + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + # some tests are very fragile to timing + epytest -p rerunfailures --reruns=10 --reruns-delay=2 \ + -p xdist -n "$(makeopts_jobs)" --dist=worksteal +} diff --git a/dev-python/wcwidth/Manifest b/dev-python/wcwidth/Manifest index af7860f86ee5..fda859daf7c8 100644 --- a/dev-python/wcwidth/Manifest +++ b/dev-python/wcwidth/Manifest @@ -1,2 +1,3 @@ +DIST wcwidth-0.2.10.gh.tar.gz 92276 BLAKE2B 69347446b6571feb68871a6195bfe6718f23d8a21332cda839bb41f2a540d222265065a1194e26d22a166d1d90fb4d5237703af96a8f1737c2f09d126ec2d623 SHA512 207e0086080e33f1e42728eb81c4543ebb21f08e2a743fbd29d64f3f5ee21a1f12c9b298fcc64df6eae646900c7858ba4a845a9b510d525f2582359b7c6a50aa DIST wcwidth-0.2.8.tar.gz 61713 BLAKE2B ca3d0c58e2ccab0fbb5493aacc8df81e9dc1faf7572543b7aa277875d617e0d4dc0c5ff6032f5f0f3846f52f26c407ddc5dd941780411572bce8ddc467a33dd7 SHA512 4a9ac4a3068c8ac25a7073d6c5e5782c3915184929ee191a2169eca510668e6e0b15856e71bd8b8d4c580767542d695b25a370329e95da317295104b962737f1 DIST wcwidth-0.2.9.tar.gz 66133 BLAKE2B 7df656c139c228324427e6be9cefe3496b7b5e55d7353f062ae4cb3d7d5988f1e5e03e11122c0e045b7a93abd95139fc2ac8a81a4d079518cc8c6fa747d2ff00 SHA512 8aff2ce67d8f331c4c75907f14ec602f4829d39e3f89af640d598e075165a011e41a5451a333bc2f6c95f33a4b9ca8ae1a5d02efe4f79acc988d60b85bf5929b diff --git a/dev-python/wcwidth/wcwidth-0.2.10.ebuild b/dev-python/wcwidth/wcwidth-0.2.10.ebuild new file mode 100644 index 000000000000..4041ace67702 --- /dev/null +++ b/dev-python/wcwidth/wcwidth-0.2.10.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Measures number of Terminal column cells of wide-character codes" +HOMEPAGE=" + https://pypi.org/project/wcwidth/ + https://github.com/jquast/wcwidth/ +" +# missing test files in 0.2.10 +# +SRC_URI=" + https://github.com/jquast/wcwidth/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +SLOT="0" +LICENSE="MIT" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" + +distutils_enable_tests pytest + +python_test() { + epytest -o addopts= +} + +python_install_all() { + docinto docs + dodoc docs/intro.rst + distutils-r1_python_install_all +} diff --git a/dev-python/zeroconf/Manifest b/dev-python/zeroconf/Manifest index f3f4129ab171..19d837c08243 100644 --- a/dev-python/zeroconf/Manifest +++ b/dev-python/zeroconf/Manifest @@ -5,3 +5,4 @@ DIST zeroconf-0.122.0.tar.gz 158314 BLAKE2B 0c580b0f447c1fa38635a4687a6b1bfd1146 DIST zeroconf-0.122.3.tar.gz 158519 BLAKE2B f62d36234c4f1cd988bbf8b1d1e6f706498bc4c745ef1c60c5346db3b550aa1c6f4dccda9705464dca5136fd19958eac946deb04e37b99aaf41fef8dafc40683 SHA512 3f81b9678cc71a3444d1240609d48ddb4c6e5fa0d144a8241fab3e7df71e79508a1537bc504c6d52018a11bbba24477b90302013ebe9d0663e5b5aeb330b333c DIST zeroconf-0.123.0.tar.gz 158902 BLAKE2B d940e9558e781d614d623701e8baf3c9a2feb292bcb0ad8241fc28e1bdf103a154cf178b37dfc9f9ae1805ee6e6d1601cd41574755fe9849243832c3bd57821e SHA512 65947861a76776a1e34807ca5b0570f93c026b8fa36456ae6bfdec747c484107ba2c2e12712ce1a81a05c6c817215f7f72aa40a48e6634f1b1be886349f8c73f DIST zeroconf-0.125.0.tar.gz 160220 BLAKE2B aa84106acc07d19766a1ecdb4db36367ff9d80b1f88b81c665499c59dfc95cdb3123d5252f53fb488d4f632afdff862cf138a763106da652facb4e43bc404b8b SHA512 ba24b9dbcf91090404906df0127b0ba94fe3af65aae86788ff703b14b8f4dcffe9e08bc6be3b122a16036bc87df6307066ad291f74b02846a5b79279e24c150b +DIST zeroconf-0.126.0.tar.gz 160628 BLAKE2B 09ff7d4ccde02d258b26f0a1e72ac7fbaf61a4a6513fa7c216e0015afa07107f52469a403cf8866aa38a55b7e96dbf1ef6cecd698e3b5b8902030e02cb7aa600 SHA512 7ceaeb39e292426fcfafd62d3a34bea40ba1ff2570489d6b9de2c3be9d8e27cbbbad90fbe6de45f0be1a0d769b0756c299a2c7358bb3689c163bca1373656bc5 diff --git a/dev-python/zeroconf/zeroconf-0.126.0.ebuild b/dev-python/zeroconf/zeroconf-0.126.0.ebuild new file mode 100644 index 000000000000..287607fcea05 --- /dev/null +++ b/dev-python/zeroconf/zeroconf-0.126.0.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" +HOMEPAGE=" + https://github.com/python-zeroconf/python-zeroconf/ + https://pypi.org/project/zeroconf/ +" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}] + ' 3.10) +" +# the build system uses custom build script that uses distutils to build +# C extensions, sigh +BDEPEND=" + >=dev-python/cython-3[${PYTHON_USEDEP}] + >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}] + test? ( + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +export REQUIRE_CYTHON=1 + +python_test() { + local -x SKIP_IPV6=1 + local EPYTEST_DESELECT=( + # network + tests/test_core.py::Framework::test_close_multiple_times + tests/test_core.py::Framework::test_launch_and_close + tests/test_core.py::Framework::test_launch_and_close_context_manager + + # fragile to timeouts (?) + tests/services/test_browser.py::test_service_browser_expire_callbacks + tests/utils/test_asyncio.py::test_run_coro_with_timeout + ) + + epytest -o addopts= +} |
