diff options
Diffstat (limited to 'dev-python')
52 files changed, 1506 insertions, 29 deletions
diff --git a/dev-python/aiocache/aiocache-0.12.2.ebuild b/dev-python/aiocache/aiocache-0.12.2.ebuild index 2214dd5c94db..c550eb668e1a 100644 --- a/dev-python/aiocache/aiocache-0.12.2.ebuild +++ b/dev-python/aiocache/aiocache-0.12.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -32,6 +32,10 @@ BDEPEND=" distutils_enable_tests pytest python_test() { + local EPYTEST_DESELECT=( + # broken by newer dev-python/redis (?), removed upstream + tests/ut/backends/test_redis.py::TestRedisBackend::test_close + ) local EPYTEST_IGNORE=( # benchmarks tests/performance @@ -39,7 +43,8 @@ python_test() { tests/ut/backends/test_memcached.py ) - epytest -o addopts= -m "not memcached" + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -o addopts= -m "not memcached" -p asyncio -p pytest_mock } src_test() { diff --git a/dev-python/alembic/alembic-1.13.1.ebuild b/dev-python/alembic/alembic-1.13.1.ebuild index 32f2fa9a9666..0c3555364c87 100644 --- a/dev-python/alembic/alembic-1.13.1.ebuild +++ b/dev-python/alembic/alembic-1.13.1.ebuild @@ -25,6 +25,11 @@ RDEPEND=" >=dev-python/python-editor-0.3[${PYTHON_USEDEP}] >=dev-python/typing-extensions-4[${PYTHON_USEDEP}] " +BDEPEND=" + test? ( + sys-libs/timezone-data + ) +" EPYTEST_XDIST=1 distutils_enable_tests pytest diff --git a/dev-python/apprise/Manifest b/dev-python/apprise/Manifest index d9c7d847980e..8092fcc836aa 100644 --- a/dev-python/apprise/Manifest +++ b/dev-python/apprise/Manifest @@ -1,2 +1,3 @@ DIST apprise-1.6.0.tar.gz 1582966 BLAKE2B aec28c82a2e1b45341f1e67a0778be2a9149ff591172122abb7d30eeed27c7b49171556993c0f1c0d33fe12a5dcdeb4ad0ade8b9e68a8f9950a3f8b6f0638156 SHA512 572d0cb9e3464ea2bc65a101e520dd0b15ada08c158a21d1ac698adbcd454ecf5af7ad30dca6495b4d7e38b92128774c43864c011f1af26ad917699e1d50c59b DIST apprise-1.7.1.tar.gz 1633347 BLAKE2B 4b51ffc45b61b4ff46cb3c0bd80c2f14a11d827ca350fe18fc6350934e3b93c09a98d03fd609d051311e46181778d433ae5813cb269623fed83ce47a7203eab3 SHA512 317e9fa057c7db28f73ea0888f378b036413a5a3186172206c3af57083a8d1965db178c89acfb2048bd82e5f530f65c05bfde3bb9c8aea7c9dd2f78e13e0a8b7 +DIST apprise-1.7.2.tar.gz 1638384 BLAKE2B 8fecb4d08e7e7c3aad24c1f8ac7aaec382aa934d46d5ab7cfd196949c9b7aa9ab2242a7626bddd336932ec12f17cdd966fde293f544e695468cfd810f5e6f5ba SHA512 897d4d253fcc2cfbb3fe2f1d0e9ecbe3a2a1bca65cb2c7d9595410e9c12adc6f5696216365fe583ebc457042db2d7e8a3c6153272865fc996e87342480536a0d diff --git a/dev-python/apprise/apprise-1.7.2.ebuild b/dev-python/apprise/apprise-1.7.2.ebuild new file mode 100644 index 000000000000..1fb4c1bf85d5 --- /dev/null +++ b/dev-python/apprise/apprise-1.7.2.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Push Notifications that work with just about every platform" +HOMEPAGE=" + https://pypi.org/project/apprise/ + https://github.com/caronc/apprise/ +" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv" +IUSE="+dbus mqtt" + +RDEPEND=" + dev-python/click[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/requests-oauthlib[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dbus? ( dev-python/dbus-python[${PYTHON_USEDEP}] ) + mqtt? ( dev-python/paho-mqtt[${PYTHON_USEDEP}] ) +" +BDEPEND=" + dev-python/Babel[${PYTHON_USEDEP}] + test? ( + dev-python/pytest-mock[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/dev-python/astroid/astroid-3.0.2.ebuild b/dev-python/astroid/astroid-3.0.2.ebuild index 9e775bdfd728..7f19a99a8b80 100644 --- a/dev-python/astroid/astroid-3.0.2.ebuild +++ b/dev-python/astroid/astroid-3.0.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -51,6 +51,8 @@ python_test() { tests/brain/test_dataclasses.py::test_pydantic_field # requires urllib3 with bundled six (skipped with urllib3>=2) tests/test_modutils.py::test_file_info_from_modpath__SixMetaPathImporter + # requires pip, looks fragile + tests/test_manager.py::IsolatedAstroidManagerTest::test_no_user_warning ) local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 diff --git a/dev-python/blosc/blosc-1.11.1.ebuild b/dev-python/blosc/blosc-1.11.1.ebuild index 440a500ad990..2fb6ba76836b 100644 --- a/dev-python/blosc/blosc-1.11.1.ebuild +++ b/dev-python/blosc/blosc-1.11.1.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools -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/boto3/Manifest b/dev-python/boto3/Manifest index 23d84d119416..e30c0821398b 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -5,3 +5,4 @@ DIST boto3-1.34.25.gh.tar.gz 767540 BLAKE2B 0018e04ce16529de14bca16011f7e4dfc949 DIST boto3-1.34.26.gh.tar.gz 767554 BLAKE2B 1dc099c1d6d1da2e704c574bc8bc70883fb2f8974faa1e8c87154e0c5a892a38a8768b6aef59710cad598a1d11ce0e03d81bb2f0c0c7e9a531b434a9ff22aa15 SHA512 3da5b2d00054c5344ec32ec20fbc1bd74b8be31616102d4b5c03367c4ffae97fc80fbec62562a8d42893df3791524d5f5b490570fe1881ac266fa3849f8ccc9a DIST boto3-1.34.27.gh.tar.gz 768012 BLAKE2B 4a8edd2470b58b02b684def8a3e1d70950621498e557e7a4f89bfbaf798339eb5e9bb89f3653063d79ebfbf1b04e706fa7209beef8d5e110e6a9f00e022d47d3 SHA512 76eb0e341f368a391be492c9551de77165e43721a54f87493c20d4c5bb89e2318b86e83009d92366014660a41d969165dfa9cb12591b0ac60f6fbb82fff590c0 DIST boto3-1.34.28.gh.tar.gz 768214 BLAKE2B f208190d0321351252bd252f4152df7ecf337cb74e4642b4dc21c9d4d0aa7bb14aae2760b4220df292a1d47108fb23a42d73bc0d0aa28417298561d0f8795690 SHA512 3eeca1cd88a61bb8a7cdf23cd0c0317c3f5c4f915c4379a916a5b3a96263029c9932cb100286d8f5d9cef531a73e80ff66321d2869724cf9669a8fa9bcdec792 +DIST boto3-1.34.29.gh.tar.gz 769654 BLAKE2B 3eec92f78f343c1806eb7ad96a31b07592ffb355aed5bca75b9cf9bc32cc240a1c254cd43e618d7cba442dddab31035f43f319aa674b5fd6ee99e93d76514389 SHA512 1dff0825811b346e1300030770f00dfea9694d3f6c4beccddfb2ff00520503271b617321e124a1d922da8e8fb1d2c2beb08a83f23eb5e5754bf1d519ea994cf3 diff --git a/dev-python/boto3/boto3-1.34.29.ebuild b/dev-python/boto3/boto3-1.34.29.ebuild new file mode 100644 index 000000000000..13391b8a8e76 --- /dev/null +++ b/dev-python/boto3/boto3-1.34.29.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE=" + https://github.com/boto/boto3/ + https://pypi.org/project/boto3/ +" +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" +fi + +RDEPEND=" + >=dev-python/botocore-${PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_prepare_all() { + # don't lock versions to narrow ranges + sed -e '/botocore/ d' \ + -e '/jmespath/ d' \ + -e '/s3transfer/ d' \ + -i setup.py || die + + # do not rely on bundled deps in botocore (sic!) + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_python_prepare_all +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index 2b54669ef056..26b9413878d4 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -5,3 +5,4 @@ DIST botocore-1.34.25.gh.tar.gz 12652238 BLAKE2B 3509adf5f95387c1bc574dfed6edfbb DIST botocore-1.34.26.gh.tar.gz 12658700 BLAKE2B 614b76d37259c4a37db4e91cce8a2bb64630bdb1172c081f169d8016ff6e4db221a56d5873594fb1251782b8c3758cf00ea7bb0aeffaedc2c9a163d86c8cd708 SHA512 86707d98ec287d01152eb179747e66f3ba8563e7fc83752d1c9c782296277dbe582ce56049859044dbc270fb4499c2d07de6a55b094597625234071203bf7d4b DIST botocore-1.34.27.gh.tar.gz 12662876 BLAKE2B 8e9dcdeb03da533960df43c3688c4cdce2604e0eefb36a54ac372e04c7f828354523a9c322ad6fc8b1b7d349bf49417041d6074a34628c64db9d5caa9e90fe29 SHA512 1bae71c8156c4e465b3343ad91675cfcf78cef66ff382a54e56a5b12bf7c4dc2d385860846b97507288dbb9fb5878dc3a52555d872edc411eedc1774e0151871 DIST botocore-1.34.28.gh.tar.gz 12662404 BLAKE2B 31be5eb858f751947852d78d62d5bccb23b72eac03c4a83e27d576c4e1d651d27f78b5779afb9bc72797f6102f3efeb7c1aa78c9889d40ce988364ab4ea2d3c9 SHA512 042e31e106f5f22eeeed9cef1526710a767fbb9f398d39c85520a5767cb37f1bde10d4923cac7fbad6bec796ba4dfba330446309ab613ce53e4ff9b7771fab01 +DIST botocore-1.34.29.gh.tar.gz 12665018 BLAKE2B 928c27ae62a5e2675dc5476af05a4390cbeaf9d5c64cae6a5af0d5348f703417f48431258fc7c4ad316908fd29f6bfeb5a7c76290ea9622172f3d787f40021c7 SHA512 5314900eecf2d31fe08bcb9efbc1a361467fe034129c85f5cb4a678275115292fc5a6a95fbbe3cc06aa0a1387e14dde0f9115a9aa25ba59dba62a02c3b8db43b diff --git a/dev-python/botocore/botocore-1.34.29.ebuild b/dev-python/botocore/botocore-1.34.29.ebuild new file mode 100644 index 000000000000..2fc3a4924fdb --- /dev/null +++ b/dev-python/botocore/botocore-1.34.29.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +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/breathe/breathe-4.35.0.ebuild b/dev-python/breathe/breathe-4.35.0-r1.ebuild index c2ba73a57df7..19a59cbaa4e6 100644 --- a/dev-python/breathe/breathe-4.35.0.ebuild +++ b/dev-python/breathe/breathe-4.35.0-r1.ebuild @@ -35,3 +35,8 @@ RDEPEND=" " distutils_enable_tests pytest + +PATCHES=( + # https://github.com/breathe-doc/breathe/pull/956 + "${FILESDIR}/${P}-sphinx-7.2.patch" +) diff --git a/dev-python/breathe/files/breathe-4.35.0-sphinx-7.2.patch b/dev-python/breathe/files/breathe-4.35.0-sphinx-7.2.patch new file mode 100644 index 000000000000..b81eddc6a6e3 --- /dev/null +++ b/dev-python/breathe/files/breathe-4.35.0-sphinx-7.2.patch @@ -0,0 +1,40 @@ +From 46abd77157a2a57e81586e4f8765ae8f1a09d167 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mark=C3=A9ta?= <meggy.calabkova@gmail.com> +Date: Wed, 4 Oct 2023 15:53:59 +0200 +Subject: [PATCH] support Sphinx 7.2 + +--- + breathe/project.py | 2 +- + tests/test_renderer.py | 6 +++++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/breathe/project.py b/breathe/project.py +index 865236e8..9716cb59 100644 +--- a/breathe/project.py ++++ b/breathe/project.py +@@ -113,7 +113,7 @@ def __init__(self, app: Sphinx): + # Assume general build directory is the doctree directory without the last component. + # We strip off any trailing slashes so that dirname correctly drops the last part. + # This can be overridden with the breathe_build_directory config variable +- self._default_build_dir = os.path.dirname(app.doctreedir.rstrip(os.sep)) ++ self._default_build_dir = app.doctreedir.parent + self.project_count = 0 + self.project_info_store: Dict[str, ProjectInfo] = {} + self.project_info_for_auto_store: Dict[str, AutoProjectInfo] = {} +diff --git a/tests/test_renderer.py b/tests/test_renderer.py +index a858c65d..73a29e4e 100644 +--- a/tests/test_renderer.py ++++ b/tests/test_renderer.py +@@ -35,7 +35,11 @@ def app(test_params, app_params, make_app, shared_result): + """ + args, kwargs = app_params + assert "srcdir" in kwargs +- kwargs["srcdir"].makedirs(exist_ok=True) ++ try: ++ kwargs["srcdir"].mkdir(parents=True, exist_ok=True) ++ except AttributeError: ++ # old version of Sphinx ++ kwargs["srcdir"].makedirs(exist_ok=True) + (kwargs["srcdir"] / "conf.py").write_text("") + app_ = make_app(*args, **kwargs) + yield app_ diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest index b67bef26c886..c8540efadf22 100644 --- a/dev-python/cfn-lint/Manifest +++ b/dev-python/cfn-lint/Manifest @@ -1,2 +1,3 @@ DIST cfn-lint-0.83.8.tar.gz 3901954 BLAKE2B 33d728ddf7ae5bcb29fdb8211decd85b72519acd60b80831aafa59d042105af45a3f07e2d6ea9838b80af68f6eb19ba84be562e4a7104c64b68737ede3497b0d SHA512 f520f5e211284197ff3b2c5287cb72384544a273e1fa1d3007e7a3ad85ef1b4bae4ed0c0db609989ea51de29630454d97ba13a8d97ccc06992a7fb0da467e0b7 DIST cfn-lint-0.84.0.tar.gz 3890781 BLAKE2B 160c8f29f2551c0885d784d725e5e7077aaf162b13f8bcbe8f04c2f6dd939bdb22166ebc3fbba6ba71b0ec68356f520ae1968a447a7a24082eb85271c684aa1b SHA512 0e783c6c2fc590ce59526da887a3bdcc2f8c55e6d5d6e11f49df82c72d387a18abbac545b861bf806e829080b7be6da00d948d32769396b6730570ab4bc23f7a +DIST cfn-lint-0.85.0.tar.gz 3875659 BLAKE2B 64bbd4ba0dc153b78da40588a2d0e9f34feafcf17b7262b84f3c3e0a98ecc6cc7b78152dc829fd2bcb3f3c3fe601fdf217111bd5a11d402a3b70ceda822206f7 SHA512 b7d65fb360e8743f08ec2feb451e6dc6cbda62c0850a954e5beec8d6a2a6bee2be2dddee36f262f571e5e9838deb7237895a3020b951686423315f5914f82d67 diff --git a/dev-python/cfn-lint/cfn-lint-0.85.0.ebuild b/dev-python/cfn-lint/cfn-lint-0.85.0.ebuild new file mode 100644 index 000000000000..62ae5c544686 --- /dev/null +++ b/dev-python/cfn-lint/cfn-lint-0.85.0.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +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 ~arm ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/aws-sam-translator-1.83.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}] +" + +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 +} diff --git a/dev-python/chameleon/chameleon-4.5.0.ebuild b/dev-python/chameleon/chameleon-4.5.0.ebuild index 2f0738cdcff0..d151699b1d62 100644 --- a/dev-python/chameleon/chameleon-4.5.0.ebuild +++ b/dev-python/chameleon/chameleon-4.5.0.ebuild @@ -20,9 +20,4 @@ LICENSE="repoze" SLOT="0" KEYWORDS="~amd64 ~arm64 ~x86" -distutils_enable_tests unittest - -src_test() { - cd src || die - distutils-r1_src_test -} +distutils_enable_tests pytest diff --git a/dev-python/clang-python/Manifest b/dev-python/clang-python/Manifest index eaf4dd1b1bc7..921b26789062 100644 --- a/dev-python/clang-python/Manifest +++ b/dev-python/clang-python/Manifest @@ -4,6 +4,7 @@ DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db3659 DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447 DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30 DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340 +DIST llvm-project-1f13203029333ac99cc9844b8b6915aae3fc0902.tar.gz 205629630 BLAKE2B cd6c127bc7b63fffc4707863ab8a34e23371ce28878818723ba74d78a1be1b43c2f401fba7de2084f628f9418b7f0e7b9fe9c224b92dc44233cde2f5e3470333 SHA512 0b35754d6e8836267393d0d63effe04e1af5851b217252953ca3a75e7d71e32b1188991d34ff649f8c1cf2a1b49b844ca7e0704597655ffd37d151f4b9a0cf36 DIST llvm-project-8d817f6479a5df874028a8b40fd30aecd3479005.tar.gz 204890108 BLAKE2B 8c57c556371b37d00cda753a40f1162e678d89fa40e8f2b90a38aab7e17f9debfb2ebad53a3a95aa530a9e3e2b4b735828e404e576c8f2738370ec41c28badce SHA512 a38ce082ca1b999888ee0a633b94a02258579591e6ce73ba4722eafb9f0610f9624887eca43e4a6ae567c07ffc014f4ea4137e905899407951265d7c93785f18 DIST llvm-project-9eb0f86c279f40a792ec27bf0e9b491b8c90a640.tar.gz 205195168 BLAKE2B c3d051270958216196d6051d41e78168a7027714c5658c7edc70d274ed91f9d4ee16e8d1f92672bf252c65005c636c380766210ac3d80b4ac2f9f6305aefa29b SHA512 ee62acdfa756a2ddeb46fcafa364489885b6ecc50c87f365af42f308ebc87b9674c33c2f5a84c5169d9c9cada08e4fffe35d2eff48f05b70e791e27ac2c8b347 DIST llvm-project-a085402ef54379758e6c996dbaedfcb92ad222b5.tar.gz 204569231 BLAKE2B 75403225fbe54f0921b279b237a90f1922b16997d1538fa5f225e04451fa2fc4a28e886efb7460ef0c26a3a964f0c57084e331b0736fa223926259c76d873200 SHA512 b8c6b0c7c0a4c369ecfa7ac71cf96549a19853e14bdf061b6b54429ce7ed998b236bb9ed3adbd6bf1c70c7e975508f751ebd0031ac2ff474d32216048a1c5f2d diff --git a/dev-python/clang-python/clang-python-19.0.0_pre20240127.ebuild b/dev-python/clang-python/clang-python-19.0.0_pre20240127.ebuild new file mode 100644 index 000000000000..82c18f7c0f95 --- /dev/null +++ b/dev-python/clang-python/clang-python-19.0.0_pre20240127.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) +inherit llvm.org python-r1 + +DESCRIPTION="Python bindings for sys-devel/clang" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# The module is opening libclang.so directly, and doing some blasphemy +# on top of it. +DEPEND=" + >=sys-devel/clang-${PV}:* + !sys-devel/llvm:0[clang(-),python(-)] + !sys-devel/clang:0[python(-)] +" +RDEPEND=" + ${DEPEND} + ${PYTHON_DEPS} +" +BDEPEND=" + ${PYTHON_DEPS} + test? ( + sys-devel/clang:${LLVM_MAJOR} + ) +" + +LLVM_COMPONENTS=( clang/bindings/python ) +llvm.org_set_globals + +python_test() { + # tests rely on results from a specific clang version, so override + # the search path + local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir) + local -x CLANG_NO_DEFAULT_CONFIG=1 + "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}" +} + +src_test() { + python_foreach_impl python_test +} + +src_install() { + python_foreach_impl python_domodule clang +} diff --git a/dev-python/cliff/cliff-4.5.0.ebuild b/dev-python/cliff/cliff-4.5.0.ebuild index 9dc40e0d3098..942c34bb148f 100644 --- a/dev-python/cliff/cliff-4.5.0.ebuild +++ b/dev-python/cliff/cliff-4.5.0.ebuild @@ -30,6 +30,7 @@ RDEPEND=" BDEPEND=" >dev-python/pbr-2.1.0[${PYTHON_USEDEP}] test? ( + dev-python/fixtures[${PYTHON_USEDEP}] dev-python/sphinx[${PYTHON_USEDEP}] >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}] >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}] diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest index 8c806e82e6e1..89f81c1c5d33 100644 --- a/dev-python/coverage/Manifest +++ b/dev-python/coverage/Manifest @@ -1 +1,2 @@ DIST coverage-7.4.0.tar.gz 776507 BLAKE2B ea96db033e711c5b47ebbd585f1eec8e576908dfbecd7df6e555a5e96cdbadf546e0b2b1a5790fd66be386a068ced5a1544dff79601546fe6a4ac0e9b36a05a2 SHA512 7563ca34ed8d0dd3b9f376b20cbaeb9c952ba0dda57d9f1a33abe94ac17ed6411d0d537f039613c310957eb926e8fa102ad888c5de8bdb3f0233668bdf96d395 +DIST coverage-7.4.1.tar.gz 780560 BLAKE2B bd23208a3fe86a0476b964150ba5bf7db5e26af3844eb16a36c4aaf96a40056486a906f82016f8a5adb05cca8562adcfa11cb44fdef78587aa575b93d24d54eb SHA512 a5e6a40a9b83a9e3ab88c432305a89caa4a7575f17c35385782a59237cc0464d879222afd524879e3e36a09f185fc6249af6198cbc0a10a6c3e83a19de452e79 diff --git a/dev-python/coverage/coverage-7.4.1.ebuild b/dev-python/coverage/coverage-7.4.1.ebuild new file mode 100644 index 000000000000..8f7e197a5950 --- /dev/null +++ b/dev-python/coverage/coverage-7.4.1.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) +PYTHON_REQ_USE="threads(+),sqlite(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="Code coverage measurement for Python" +HOMEPAGE=" + https://coverage.readthedocs.io/en/latest/ + https://github.com/nedbat/coveragepy/ + https://pypi.org/project/coverage/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +RDEPEND=" + $(python_gen_cond_dep ' + dev-python/tomli[${PYTHON_USEDEP}] + ' 3.{9..10}) +" +BDEPEND=" + test? ( + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die + distutils-r1_src_prepare +} + +test_tracer() { + local -x COVERAGE_CORE=${1} + einfo " Testing with the ${COVERAGE_CORE} core ..." + epytest -p flaky -p hypothesis -p xdist tests +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO: fails because of additional "Terminated" print on SIGTERM + tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data + # broken because of pytest plugins explicity loaded + tests/test_debug.py::ShortStackTest::test_short_stack{,_skip} + # these expect specific availability of C extension matching + # COVERAGE_CORE (which breaks testing pytracer on CPython) + tests/test_cmdline.py::CmdLineStdoutTest::test_version + tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer + ) + local EPYTEST_IGNORE=( + # pip these days insists on fetching build deps from Internet + tests/test_venv.py + ) + + "${EPYTHON}" igor.py zip_mods || die + + local -x COVERAGE_TESTING=True + # TODO: figure out why they can't be imported inside test env + local -x COVERAGE_NO_CONTRACTS=1 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + + local prev_opt=$(shopt -p nullglob) + shopt -s nullglob + local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so ) + ${prev_opt} + + if [[ -n ${c_ext} ]]; then + cp "${c_ext}" coverage/ || die + test_tracer ctrace + fi + + test_tracer pytrace + + case ${EPYTHON} in + python3.1[01]|pypy3) + ;; + *) + # available since Python 3.12 + test_tracer sysmon + ;; + esac + + if [[ -n ${c_ext} ]]; then + rm coverage/*.so || die + fi +} diff --git a/dev-python/dask/Manifest b/dev-python/dask/Manifest index 00922635b64f..5bc66efa63be 100644 --- a/dev-python/dask/Manifest +++ b/dev-python/dask/Manifest @@ -1,2 +1,3 @@ DIST dask-2023.12.1.gh.tar.gz 8967874 BLAKE2B f397512fb50a53719fff8e234db0e366b17c9abaca4b98c0b1d4a98287dec7f869612e688cfa2e717fc35c4ed1f7a8d8fe74c7dec939e8f669e6790490005370 SHA512 4a90239e83e7cbd4797ee91dc9609d7322a7003b976ed3309de95b47d20e2e9f449cea803618539c5f80ec552dd2ac71e55c87c024beeabf74062beeb3260292 DIST dask-2024.1.0.gh.tar.gz 8975960 BLAKE2B bcc72c1428d0626eb686551c69b0dcbc7b9615524bbcdbc1bb6d5113929f32d53cc7d0952622d352ef7413057b9f90689471b3540b3748beb6cddd0dbbdef2f6 SHA512 a2a436cba1f84d7223ed049c395807f900bc012d7fb8c8ae18c27b15787885e6a6a02cd17da2cc7f765b26469190217e2c8306495fbfc82e3018e1bcee54d24b +DIST dask-2024.1.1.gh.tar.gz 9328425 BLAKE2B 6b6208c59e0446816a962a9a3dc6a1754eba589810aacdab0c1ce38edd6d593763d1868578a344babfa74afd390ac1997d2461586b12180679fdc67ae26e0a74 SHA512 a5e424333c5d19f67d73c2b036544ef03122a99c2eb6a52019929f1e7b87297c776cbea713062372cf1685ef3b79d47734d6d0acd2c054ffadcbb3d96fb6deeb diff --git a/dev-python/dask/dask-2024.1.1.ebuild b/dev-python/dask/dask-2024.1.1.ebuild new file mode 100644 index 000000000000..e7216e3b1488 --- /dev/null +++ b/dev-python/dask/dask-2024.1.1.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 multiprocessing + +DESCRIPTION="Task scheduling and blocked algorithms for parallel processing" +HOMEPAGE=" + https://www.dask.org/ + https://github.com/dask/dask/ + https://pypi.org/project/dask/ +" +SRC_URI=" + https://github.com/dask/dask/archive/${PV}.tar.gz -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + >=dev-python/click-8.1[${PYTHON_USEDEP}] + >=dev-python/cloudpickle-1.5.0[${PYTHON_USEDEP}] + >=dev-python/fsspec-2021.9.0[${PYTHON_USEDEP}] + >=dev-python/importlib-metadata-4.13.0[${PYTHON_USEDEP}] + >=dev-python/numpy-1.21[${PYTHON_USEDEP}] + >=dev-python/pandas-1.3[${PYTHON_USEDEP}] + >=dev-python/packaging-20.0[${PYTHON_USEDEP}] + >=dev-python/partd-1.2.0[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}] + >=dev-python/toolz-0.10.0[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/toolz[${PYTHON_USEDEP}] + >=dev-python/versioneer-0.28[${PYTHON_USEDEP}] + test? ( + dev-python/moto[${PYTHON_USEDEP}] + dev-python/numexpr[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + # fails with sqlalchemy-2.0, even though we don't use it x_x + sed -i -e '/RemovedIn20Warning/d' pyproject.toml || die + sed -i -e 's:--cov-config=pyproject.toml::' pyproject.toml || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # more tests relying on -Werror + "dask/array/tests/test_overlap.py::test_map_overlap_no_depth[None]" + dask/array/tests/test_random.py::test_RandomState_only_funcs + dask/dataframe/tests/test_dataframe.py::test_view + dask/dataframe/tests/test_shuffle.py::test_npartitions_auto_raises_deprecation_warning + # TODO + dask/array/tests/test_reductions.py::test_mean_func_does_not_warn + dask/tests/test_config.py::test__get_paths + dask/array/tests/test_linalg.py::test_solve_assume_a + "dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[<lambda>0-float-5-1-True]" + "dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[<lambda>1-float-5-1-True]" + dask/array/tests/test_image.py::test_preprocess + dask/tests/test_system.py::test_cpu_count_cgroups_v2 + # require sqlalchemy<2.0 + dask/dataframe/io/tests/test_sql.py + # crashes + dask/tests/test_base.py::test_tokenize_object_with_recursion_error + # regression with new pandas (?) + dask/dataframe/tests/test_multi.py::test_concat5 + ) + + if ! has_version -b "dev-python/pyarrow[parquet,${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + # fails if pyarrow is installed without USE=parquet + # (optional dep, skipped if it's not installed at all) + dask/dataframe/io/tests/test_parquet.py::test_pyarrow_filter_divisions + ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p pytest_rerunfailures -m "not network" \ + -p xdist -n "$(makeopts_jobs)" +} diff --git a/dev-python/dill/Manifest b/dev-python/dill/Manifest index 6c63d3bcc35a..69a2c780c83f 100644 --- a/dev-python/dill/Manifest +++ b/dev-python/dill/Manifest @@ -1 +1,2 @@ DIST dill-0.3.7.gh.tar.gz 176315 BLAKE2B 8c98c40458035e42c078c79df14e474c35a2a6ff4f61d3cfca8f4dfa5a7756512b7d5af6276becd88315c01d88c8562de02b6f9dff06d0161df3e6f6694c7cc8 SHA512 33ec55dc32c9ddf275ce6e502187949bbc7ecc6d24560e132a7bed23e93254b771d38e59c4b6313bbfc25313305c43c6cba2fe07763a93238e1ba66c4bbd8cd4 +DIST dill-0.3.8.tar.gz 184847 BLAKE2B 6a0eb76526d5bc4afa003f34454c3a93b2b53e2d5bd362749bfcc22c6fe294dff3af9d52e83b288e999d7074d82a2671b3d271b3b423030f4cfd57cd70acdc6f SHA512 478d83af69dc0639a08e011e46127d9485dc998df54622e7fbb9ce4b004640d1b23aad57717d791cc609cd9d7071ea7300bce4be982488e4d21c5986e67ce586 diff --git a/dev-python/dill/dill-0.3.8.ebuild b/dev-python/dill/dill-0.3.8.ebuild new file mode 100644 index 000000000000..96901c3dbd67 --- /dev/null +++ b/dev-python/dill/dill-0.3.8.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Serialize all of Python (almost)" +HOMEPAGE=" + https://github.com/uqfoundation/dill/ + https://pypi.org/project/dill/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + +python_test() { + "${EPYTHON}" -m dill.tests || die +} diff --git a/dev-python/django-sortedm2m/django-sortedm2m-3.1.1-r1.ebuild b/dev-python/django-sortedm2m/django-sortedm2m-3.1.1-r2.ebuild index 77bb3ddf63c7..81b4a3b5a7cc 100644 --- a/dev-python/django-sortedm2m/django-sortedm2m-3.1.1-r1.ebuild +++ b/dev-python/django-sortedm2m/django-sortedm2m-3.1.1-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -25,7 +25,7 @@ IUSE="test" RESTRICT="!test? ( test )" RDEPEND=" - dev-python/django[${PYTHON_USEDEP}] + <dev-python/django-5[${PYTHON_USEDEP}] " BDEPEND=" test? ( diff --git a/dev-python/dnspython/dnspython-2.5.0.ebuild b/dev-python/dnspython/dnspython-2.5.0.ebuild index 05191e93a134..e783972f92cc 100644 --- a/dev-python/dnspython/dnspython-2.5.0.ebuild +++ b/dev-python/dnspython/dnspython-2.5.0.ebuild @@ -38,6 +38,12 @@ BDEPEND=" distutils_enable_tests pytest +PATCHES=( + # https://github.com/rthalley/dnspython/issues/1035 + # https://github.com/rthalley/dnspython/commit/1b22985f2d67b6dd43259e3c6b853498f1cff712 + "${FILESDIR}/${P}-musl-test.patch" +) + python_install_all() { distutils-r1_python_install_all if use examples; then diff --git a/dev-python/dnspython/files/dnspython-2.5.0-musl-test.patch b/dev-python/dnspython/files/dnspython-2.5.0-musl-test.patch new file mode 100644 index 000000000000..a5aec3378fdd --- /dev/null +++ b/dev-python/dnspython/files/dnspython-2.5.0-musl-test.patch @@ -0,0 +1,67 @@ +From 1b22985f2d67b6dd43259e3c6b853498f1cff712 Mon Sep 17 00:00:00 2001 +From: Bob Halley <halley@dnspython.org> +Date: Sat, 27 Jan 2024 12:38:03 -0800 +Subject: [PATCH] In tests, work around musl libc and docker issues. + +Specifically: musl libc's getaddrinfo behavior always returns +a canonical name. + +Docker's resolver proxy doesn't do dangling CNAMEs correctly +and also answers NXDOMAIN in some cases where it should say +no error, no data. +--- + tests/test_async.py | 14 +++++++++++--- + tests/test_resolver.py | 21 +++++++++++++++------ + tests/test_resolver_override.py | 19 ++++++++++++------- + tests/util.py | 10 +++++++++- + 4 files changed, 47 insertions(+), 17 deletions(-) + +diff --git a/tests/test_resolver_override.py b/tests/test_resolver_override.py +index aed7a53d..be9e53f2 100644 +--- a/tests/test_resolver_override.py ++++ b/tests/test_resolver_override.py +@@ -69,7 +69,7 @@ def test_override(self): + dns.resolver.restore_system_resolver() + self.assertTrue(socket.getaddrinfo is dns.resolver._original_getaddrinfo) + +- def equivalent_info(self, a, b): ++ def equivalent_info(self, a, b, q): + if len(a) != len(b): + return False + for x in a: +@@ -78,16 +78,21 @@ def equivalent_info(self, a, b): + # looking for a zero protocol. + y = (x[0], x[1], 0, x[3], x[4]) + if y not in b: +- print("NOT EQUIVALENT") +- print(a) +- print(b) +- return False ++ # musl libc insists on always providing a canonical name, so ++ # accept that too. ++ y = (x[0], x[1], x[2], q, x[4]) ++ if y not in b: ++ print("NOT EQUIVALENT") ++ print(a) ++ print(b) ++ return False + return True + + def equivalent(self, *args, **kwargs): ++ q = args[0] + a = socket.getaddrinfo(*args, **kwargs) + b = dns.resolver._original_getaddrinfo(*args, **kwargs) +- return self.equivalent_info(a, b) ++ return self.equivalent_info(a, b, q) + + @unittest.skipIf( + sys.platform == "win32", "avoid windows original getaddrinfo issues" +@@ -139,7 +144,7 @@ def test_getaddrinfo_nxdomain(self): + def test_getaddrinfo_service(self): + a = socket.getaddrinfo("dns.google", "domain") + b = socket.getaddrinfo("dns.google", 53) +- self.assertTrue(self.equivalent_info(a, b)) ++ self.assertTrue(self.equivalent_info(a, b, "dns.google")) + try: + socket.getaddrinfo("dns.google", "domain", flags=socket.AI_NUMERICSERV) + self.assertTrue(False) # should not happen! diff --git a/dev-python/dparse/dparse-0.6.4_beta0.ebuild b/dev-python/dparse/dparse-0.6.4_beta0.ebuild index 54451e874b48..65cb3df979ed 100644 --- a/dev-python/dparse/dparse-0.6.4_beta0.ebuild +++ b/dev-python/dparse/dparse-0.6.4_beta0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -18,15 +18,14 @@ LICENSE="MIT" SLOT="0" KEYWORDS="~amd64 ~riscv" -distutils_enable_tests pytest - +# Break circular dependency +PDEPEND=" + dev-python/pipenv[${PYTHON_USEDEP}] +" BDEPEND=" test? ( - dev-python/pipenv[${PYTHON_USEDEP}] + ${PDEPEND} ) " -# Break circular dependency -PDEPEND=" - dev-python/pipenv[${PYTHON_USEDEP}] -" +distutils_enable_tests pytest diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index ae37f45ca043..2b282b12356d 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -11,3 +11,4 @@ DIST hypothesis-6.96.1.gh.tar.gz 9420126 BLAKE2B 546b9c77a144b58490fb5b6ba51fdff DIST hypothesis-6.96.3.gh.tar.gz 9421880 BLAKE2B 0d73e363550ca45c316ddf05bc0615aaf9846482b0aaaf64daa0879ac716314b222afdd37aaf29bc00c32f3cfd984609292151e458c5b1165144b1d870cc698e SHA512 8d847e9db1ce83ebed7307be8df91dc517b37cf2588ddf005a158f8b3dca2cb3ee95ed5268d1d74d25a374959f7553d1fa8ab2bc83f314113042c090970a5307 DIST hypothesis-6.96.4.gh.tar.gz 9422075 BLAKE2B 0ab12a01c8d714490f3785ac01779c69d0dc5f31bb3c85be3c1ff9831c1b2392f19ec45adfd40f334f20d48b3ad1300d38ed2e49ca318f17cae36de44895bc3d SHA512 8cbfbf36c7e1e56c31b58aadd9e592672430492eb7c7fb570d4e1277df3e0dd83f76ef39e27e0c644e38c3bc35c993b79d1e6687be73c0780fa36840b4a2baec DIST hypothesis-6.97.0.gh.tar.gz 9423342 BLAKE2B 77a1c7f3569e8a919e6e506222368163e87e98c99e35d4b65e07d4504db7842782689b4ca24bcf6d79cc4c0b59f9fafad2ceee54df6d94a48c7e114d10247bd1 SHA512 81308772235ed024e64ef4fd40f64905c26d9109ce4a21140eb83af60697a8025011ceeb354eb600eda5c39bc03247fc0b6ad8f3bfbe639be7dd8cc9d889c815 +DIST hypothesis-6.97.1.gh.tar.gz 9423481 BLAKE2B 6a52bf6a970bf8056284baaa21aa63fe85c289f4c7e856860eff39f82eab82b401360953d165e795db2b45c99bba16a28518328db052ab3eb2185f2c4b61881d SHA512 2334e23e3056c478c5288e1726ca6feff968caa97e2c6b3758fc62c54636d7026ea2d5e906a7e3d8c191a9d911bf9050f082ba9b42b78cffd5129f01985ac248 diff --git a/dev-python/hypothesis/hypothesis-6.97.1.ebuild b/dev-python/hypothesis/hypothesis-6.97.1.ebuild new file mode 100644 index 000000000000..1f7054962839 --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.97.1.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +CLI_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) +PYTHON_REQ_USE="threads(+),sqlite" + +inherit distutils-r1 multiprocessing optfeature + +TAG=hypothesis-python-${PV} +MY_P=hypothesis-${TAG} +DESCRIPTION="A library for property based testing" +HOMEPAGE=" + https://github.com/HypothesisWorks/hypothesis/ + https://pypi.org/project/hypothesis/ +" +SRC_URI=" + https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}/hypothesis-python" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}] + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}] + ' 3.9 3.10) + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' "${CLI_COMPAT[@]}") + ) +" +BDEPEND=" + test? ( + dev-python/pexpect[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + !!<dev-python/requests-toolbelt-0.10.1 + ) +" + +distutils_enable_tests pytest + +python_test() { + # subtests are broken by warnings from random plugins + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin + local -x HYPOTHESIS_NO_PLUGINS=1 + + # NB: paths need to be relative to pytest.ini, + # i.e. start with hypothesis-python/ + local EPYTEST_DESELECT=() + case ${EPYTHON} in + pypy3) + EPYTEST_DESELECT+=( + # failing due to warnings from numpy/cython + hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture + ) + ;; + esac + + epytest -o filterwarnings= -n "$(makeopts_jobs)" --dist=worksteal \ + tests/cover tests/pytest tests/quality +} + +python_install() { + distutils-r1_python_install + if ! use cli || ! has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then + rm -r "${ED}/usr/bin" "${D}$(python_get_scriptdir)" || die + fi +} + +pkg_postinst() { + optfeature "datetime support" dev-python/pytz + optfeature "dateutil support" dev-python/python-dateutil + optfeature "numpy support" dev-python/numpy + optfeature "django support" dev-python/django dev-python/pytz + optfeature "pandas support" dev-python/pandas + optfeature "pytest support" dev-python/pytest +} diff --git a/dev-python/ldap3/ldap3-2.9.1.ebuild b/dev-python/ldap3/ldap3-2.9.1.ebuild index 9097ef966b2f..b51553bfce6e 100644 --- a/dev-python/ldap3/ldap3-2.9.1.ebuild +++ b/dev-python/ldap3/ldap3-2.9.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest index eaf4dd1b1bc7..921b26789062 100644 --- a/dev-python/lit/Manifest +++ b/dev-python/lit/Manifest @@ -4,6 +4,7 @@ DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db3659 DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447 DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30 DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340 +DIST llvm-project-1f13203029333ac99cc9844b8b6915aae3fc0902.tar.gz 205629630 BLAKE2B cd6c127bc7b63fffc4707863ab8a34e23371ce28878818723ba74d78a1be1b43c2f401fba7de2084f628f9418b7f0e7b9fe9c224b92dc44233cde2f5e3470333 SHA512 0b35754d6e8836267393d0d63effe04e1af5851b217252953ca3a75e7d71e32b1188991d34ff649f8c1cf2a1b49b844ca7e0704597655ffd37d151f4b9a0cf36 DIST llvm-project-8d817f6479a5df874028a8b40fd30aecd3479005.tar.gz 204890108 BLAKE2B 8c57c556371b37d00cda753a40f1162e678d89fa40e8f2b90a38aab7e17f9debfb2ebad53a3a95aa530a9e3e2b4b735828e404e576c8f2738370ec41c28badce SHA512 a38ce082ca1b999888ee0a633b94a02258579591e6ce73ba4722eafb9f0610f9624887eca43e4a6ae567c07ffc014f4ea4137e905899407951265d7c93785f18 DIST llvm-project-9eb0f86c279f40a792ec27bf0e9b491b8c90a640.tar.gz 205195168 BLAKE2B c3d051270958216196d6051d41e78168a7027714c5658c7edc70d274ed91f9d4ee16e8d1f92672bf252c65005c636c380766210ac3d80b4ac2f9f6305aefa29b SHA512 ee62acdfa756a2ddeb46fcafa364489885b6ecc50c87f365af42f308ebc87b9674c33c2f5a84c5169d9c9cada08e4fffe35d2eff48f05b70e791e27ac2c8b347 DIST llvm-project-a085402ef54379758e6c996dbaedfcb92ad222b5.tar.gz 204569231 BLAKE2B 75403225fbe54f0921b279b237a90f1922b16997d1538fa5f225e04451fa2fc4a28e886efb7460ef0c26a3a964f0c57084e331b0736fa223926259c76d873200 SHA512 b8c6b0c7c0a4c369ecfa7ac71cf96549a19853e14bdf061b6b54429ce7ed998b236bb9ed3adbd6bf1c70c7e975508f751ebd0031ac2ff474d32216048a1c5f2d diff --git a/dev-python/lit/lit-19.0.0_pre20240127.ebuild b/dev-python/lit/lit-19.0.0_pre20240127.ebuild new file mode 100644 index 000000000000..5ed5b5bd096e --- /dev/null +++ b/dev-python/lit/lit-19.0.0_pre20240127.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 llvm.org + +DESCRIPTION="A stand-alone install of the LLVM suite testing tool" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +# Tests require 'FileCheck' and 'not' utilities (from llvm) +BDEPEND=" + test? ( + dev-python/psutil[${PYTHON_USEDEP}] + sys-devel/llvm + ) +" + +LLVM_COMPONENTS=( llvm/utils/lit ) +llvm.org_set_globals + +# TODO: move the manpage generation here (from sys-devel/llvm) + +src_prepare() { + # flaky test + # https://github.com/llvm/llvm-project/issues/72022 + rm tests/progress-bar.py || die + + cd "${WORKDIR}" || die + distutils-r1_src_prepare +} + +python_test() { + local -x LIT_PRESERVES_TMP=1 + local litflags=$(get_lit_flags) + ./lit.py ${litflags//;/ } tests || die +} diff --git a/dev-python/moto/Manifest b/dev-python/moto/Manifest index 682ad28ff42a..d75deddf087b 100644 --- a/dev-python/moto/Manifest +++ b/dev-python/moto/Manifest @@ -2,7 +2,9 @@ DIST moto-4.2.10.tar.gz 4784297 BLAKE2B ece1bc4f67c427890bb6f2e029d3bca44045ce5c DIST moto-4.2.11.tar.gz 4796124 BLAKE2B 980db98cf688631ba2f88ca44e858b739b103a672668a6a4bf26d752aab946b74a46c746c1e4666d0079597dd219bebf104e36a39a2ed53091c0bdf67efcd4ad SHA512 51cb0d4d26e7b88af439a0a346698a081e823443ffd3c0bc64d864ca56e960d8cebb3045c8fb5f293d3059f9f15c46b966d1d8bb09eb2cb1b10156094588c8a0 DIST moto-4.2.12.tar.gz 4810689 BLAKE2B 07811805b73b2f1358f933dfc9a7a710d1cc209ad99edfe91fd3cd36713b9b404cfe82b249223860f828fc26d2cf18e303368cc6e182c515b44cfdcf7ab2d65d SHA512 774d1cc565e3cff3b3ba42790d15dd91850aa648b79a5a078f624b44bf499d360a01b68f9cf0d110a305efeede3e80408ecd06d6ffb9208f98e0ae86ea7cd514 DIST moto-4.2.13.tar.gz 4832368 BLAKE2B 36b053b5278bcbf289b33d013d7935282447d770c6e1d58585e90df9266bfa7edeb3a935b0f9f0607fc1c451be90147af43347af696e925ee3df1bb3463738de SHA512 89d12ec24f25ae8986179ceeefaf0b2850a4c77d95609de998e81e7ec511f900ed7886caee4fcbba2e44b0fdec195c610f32403997a281e1e00ae1af0c4f5669 +DIST moto-4.2.14.tar.gz 4933741 BLAKE2B 4c50a808dc8f27cfbcd0ba234d268084ee9a32f36cb5d6af61aacc4ee79f7bf5cf1045147c4642472129eee37bef8bc2c1953d140260d39d7f333ae0f5e5cf95 SHA512 d4079118ed1d2eef9134575e33dc0ed749bff0293d753baa63a630dbb987914b9933445027abdc344bb93fa1d6e483baf8a337a444c9dd055dda50b095ff9937 DIST moto-4.2.6.tar.gz 4745145 BLAKE2B 76610aafe3ea4106454aadbc8cf853ff5d4617202a62ae92e6cbe46c75a17d1dd8e63e8188c0c17a88af080bfe6c3466ed420378cee27d0287fe617d3412807e SHA512 0bef11a2600d48349735e7d118f6f28b02fb85e2b5e7310aaa0651444740ad4657470a59c59dab75084cb4250c6b5b725eda5e996b9acbc927529850cabc4c1c DIST moto-4.2.7.tar.gz 4756973 BLAKE2B 2ab27952abd6faaa2bbe7b6565f5d5403ea4e2c5c87e262b9b8fce9efbd7bb6972e295476426026f4ab7c000da33dfed2d401c04514b1c87bb15a1ae36c4c9cb SHA512 b23272d125b8fcc57cc72243d559cd985f7b96b3e38df31cc83792dc2b830e17a0cf4e44eaec81473b567a2203014d3cfa1f2bfb77f994ca46fb3013d47da704 DIST moto-4.2.8.tar.gz 4769361 BLAKE2B 2e7d6a7cac04655aa9f05af463e57689c0fc2b67cec27644fdf7fd658d988d33f311e43323599a0f91325f7b4e61630a3066d3fda2a15b0c0ca50e6a7cf34e22 SHA512 5a40d44ad46083b6e7c8753e8986316a5beb5b352e7e7b0eefe2b3f3ed2d760f0745f835b6e7d6b2d7b039db0b6f2fad095f047795d2d08093257fa68db1ceee DIST moto-4.2.9.tar.gz 4775687 BLAKE2B af626a18c9487c08172813ddf2f1112d4bba80dbb64bf8deaf63079a6d4c12464e70d7c99d5a65fd1018f9f3a08bd0b12183e04a549fdfe580942086d49b9e21 SHA512 4cca0bdbe106faa84fa3893eb1dc2b2972a85c98ca718a10fd08a06757e1634954c5576c82b66d88c431a51b989cfedb2a52e6455d718330d4a5dd6e95a90225 +DIST moto-5.0.0.tar.gz 4925737 BLAKE2B 45d60d1c7a53d9743cd4f3ac74a2108f9a6916dea09abb067111acbddf2ba5bb69e6ba354cdeb6be88876e4b8a8270876cfd4dab95339e948bf7cfb6e417e7d2 SHA512 44705d9b5aa5b373687fb34cae1d047b67b312bb788414f7b6c19b3f1e06fdf8fa69e88ae5df56bcc2ef0a74809211e0372fadb555ad57f50f313587d7dedb83 diff --git a/dev-python/moto/moto-4.2.14.ebuild b/dev-python/moto/moto-4.2.14.ebuild new file mode 100644 index 000000000000..510420bac6e5 --- /dev/null +++ b/dev-python/moto/moto-4.2.14.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Mock library for boto" +HOMEPAGE=" + https://github.com/getmoto/moto/ + https://pypi.org/project/moto/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}] + >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}] + >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}] + dev-python/cookies[${PYTHON_USEDEP}] + >=dev-python/docker-3.0.0[${PYTHON_USEDEP}] + >=dev-python/idna-2.5[${PYTHON_USEDEP}] + >=dev-python/jinja-2.10.1[${PYTHON_USEDEP}] + >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}] + dev-python/boto3[${PYTHON_USEDEP}] + dev-python/botocore[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/flask-cors[${PYTHON_USEDEP}] + dev-python/more-itertools[${PYTHON_USEDEP}] + >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}] + >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}] + dev-python/pyaml[${PYTHON_USEDEP}] + >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/python-jose[${PYTHON_USEDEP}] + >=dev-python/responses-0.9.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.5[${PYTHON_USEDEP}] + dev-python/sshpubkeys[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + dev-python/xmltodict[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] + dev-python/zipp[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/responses[${PYTHON_USEDEP}] + >=dev-python/sure-1.4.11[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # TODO + tests/test_firehose/test_firehose_put.py::test_put_record_http_destination + tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination + # broken code (local variable used referenced before definition) + tests/test_appsync/test_appsync_schema.py + # Needs network (or docker?) but not marked as such, bug #807031 + # TODO: report upstream + tests/test_awslambda/test_lambda_layers_invoked.py::test_invoke_local_lambda_layers + tests/test_batch/test_batch_jobs.py::test_cancel_pending_job + tests/test_batch/test_batch_jobs.py::test_cancel_running_job + tests/test_batch/test_batch_jobs.py::test_container_overrides + tests/test_batch/test_batch_jobs.py::test_dependencies + tests/test_batch/test_batch_jobs.py::test_failed_dependencies + tests/test_batch/test_batch_jobs.py::test_failed_job + tests/test_batch/test_batch_jobs.py::test_submit_job_array_size + tests/test_batch/test_batch_jobs.py::test_terminate_job + tests/test_batch/test_batch_jobs.py::test_terminate_nonexisting_job + tests/test_cloudformation/test_cloudformation_custom_resources.py::test_create_custom_lambda_resource__verify_cfnresponse_failed + + tests/test_cloudformation/test_cloudformation_stack_integration.py::test_lambda_function + tests/test_core/test_docker.py::test_docker_is_running_and_available + tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_aws_and_http_requests + tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_http_requests + tests/test_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda + "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events0-ObjectCreated:Put]" + "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events1-ObjectCreated:Put]" + "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events3-ObjectCreated:Put]" + # TODO + tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_queue + tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_fifo_queue + # require py_partiql_parser + tests/test_s3/test_s3_select.py + tests/test_dynamodb/test_dynamodb_statements.py + # broken by new urllib3 + tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_data + tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_file_using_requests + tests/test_s3/test_s3.py::test_upload_from_file_to_presigned_url + tests/test_s3/test_s3.py::test_put_chunked_with_v4_signature_in_body + tests/test_s3/test_s3.py::test_presigned_put_url_with_approved_headers + tests/test_s3/test_s3.py::test_presigned_put_url_with_custom_headers + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x TZ=UTC + + local serial_tests=( + # these tests set up credentials that are needed by the tests below + tests/test_core/test_importorder.py + # these tests apparently rely on some other test setting credentials + # up for them, so they need to be run separately, after the above + tests/test_awslambda_simple/test_lambda_simple.py::test_run_function{,_no_log} + tests/test_dynamodb/exceptions/test_dynamodb_exceptions.py + tests/test_dynamodb/exceptions/test_dynamodb_transactions.py::test_transaction_with_empty_key + tests/test_dynamodb/test_dynamodb.py::test_transact_write_items_failure__return_item + tests/test_dynamodb/test_dynamodb.py::test_transact_write_items_put_conditional_expressions + tests/test_dynamodb/test_dynamodb_update_expressions.py::test_update_different_map_elements_in_single_request + tests/test_events/test_events.py::test_start_replay_send_to_log_group + tests/test_lakeformation/test_resource_tags_integration.py + tests/test_redshiftdata + tests/test_resourcegroupstaggingapi/test_server.py::test_resourcegroupstaggingapi_list + tests/test_s3/test_s3.py::test_delete_bucket_cors + tests/test_s3/test_s3.py::test_delete_objects_percent_encoded + tests/test_s3/test_s3.py::test_delete_versioned_bucket_returns_metadata + tests/test_s3/test_s3_copyobject.py::test_copy_key_boto3_with_args + tests/test_s3/test_s3_copyobject.py::test_copy_key_boto3_with_args__using_multipart + tests/test_s3/test_s3_file_handles.py::TestS3FileHandleClosuresUsingMocks + tests/test_s3/test_s3_list_object_versions.py + tests/test_s3/test_s3_tagging.py + tests/test_s3control/test_s3control_access_points.py::test_delete_access_point + tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_can_handle_multiple_services + ) + + EPYTEST_XDIST= epytest "${serial_tests[@]}" + + EPYTEST_DESELECT+=( "${serial_tests[@]}" ) + epytest -m 'not network' +} diff --git a/dev-python/moto/moto-5.0.0.ebuild b/dev-python/moto/moto-5.0.0.ebuild new file mode 100644 index 000000000000..f5be3a7de576 --- /dev/null +++ b/dev-python/moto/moto-5.0.0.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Mock library for boto" +HOMEPAGE=" + https://github.com/getmoto/moto/ + https://pypi.org/project/moto/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}] + dev-python/boto3[${PYTHON_USEDEP}] + >=dev-python/botocore-1.14.0[${PYTHON_USEDEP}] + >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}] + >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}] + dev-python/cookies[${PYTHON_USEDEP}] + >=dev-python/docker-3.0.0[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/flask-cors[${PYTHON_USEDEP}] + >=dev-python/idna-2.5[${PYTHON_USEDEP}] + >=dev-python/jinja-2.10.1[${PYTHON_USEDEP}] + >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}] + dev-python/more-itertools[${PYTHON_USEDEP}] + >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}] + >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}] + dev-python/pyaml[${PYTHON_USEDEP}] + >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/python-jose[${PYTHON_USEDEP}] + >=dev-python/responses-0.15.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.5[${PYTHON_USEDEP}] + dev-python/sshpubkeys[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + dev-python/xmltodict[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] + dev-python/zipp[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/freezegun[${PYTHON_USEDEP}] + >=dev-python/sure-1.4.11[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # TODO + tests/test_firehose/test_firehose_put.py::test_put_record_http_destination + tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination + # broken code (local variable used referenced before definition) + tests/test_appsync/test_appsync_schema.py + # Needs network (or docker?) but not marked as such, bug #807031 + # TODO: report upstream + tests/test_awslambda/test_lambda_layers_invoked.py::test_invoke_local_lambda_layers + tests/test_batch/test_batch_jobs.py::test_cancel_pending_job + tests/test_batch/test_batch_jobs.py::test_cancel_running_job + tests/test_batch/test_batch_jobs.py::test_container_overrides + tests/test_batch/test_batch_jobs.py::test_dependencies + tests/test_batch/test_batch_jobs.py::test_failed_dependencies + tests/test_batch/test_batch_jobs.py::test_failed_job + tests/test_batch/test_batch_jobs.py::test_submit_job_array_size + tests/test_batch/test_batch_jobs.py::test_terminate_job + tests/test_batch/test_batch_jobs.py::test_terminate_nonexisting_job + tests/test_cloudformation/test_cloudformation_custom_resources.py::test_create_custom_lambda_resource__verify_cfnresponse_failed + + tests/test_cloudformation/test_cloudformation_stack_integration.py::test_lambda_function + tests/test_core/test_docker.py::test_docker_is_running_and_available + tests/test_core/test_request_passthrough.py + tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_aws_and_http_requests + tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_http_requests + tests/test_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda + "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events0-ObjectCreated:Put]" + "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events1-ObjectCreated:Put]" + "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events3-ObjectCreated:Put]" + # TODO + tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_queue + tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_fifo_queue + # require py_partiql_parser + tests/test_s3/test_s3_select.py + tests/test_dynamodb/test_dynamodb_statements.py + # broken by new urllib3 + tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_data + tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_file_using_requests + tests/test_s3/test_s3.py::test_upload_from_file_to_presigned_url + tests/test_s3/test_s3.py::test_put_chunked_with_v4_signature_in_body + tests/test_s3/test_s3.py::test_presigned_put_url_with_approved_headers + tests/test_s3/test_s3.py::test_presigned_put_url_with_custom_headers + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x TZ=UTC + + local serial_tests=( + # these tests set up credentials that are needed by the tests below + tests/test_core/test_importorder.py + # these tests apparently rely on some other test setting credentials + # up for them, so they need to be run separately, after the above + tests/test_awslambda_simple/test_lambda_simple.py::test_run_function{,_no_log} + tests/test_dynamodb/exceptions/test_dynamodb_exceptions.py + tests/test_dynamodb/exceptions/test_dynamodb_transactions.py::test_transaction_with_empty_key + tests/test_dynamodb/test_dynamodb.py::test_transact_write_items_failure__return_item + tests/test_dynamodb/test_dynamodb.py::test_transact_write_items_put_conditional_expressions + tests/test_dynamodb/test_dynamodb_update_expressions.py::test_update_different_map_elements_in_single_request + tests/test_events/test_events.py::test_start_replay_send_to_log_group + tests/test_lakeformation/test_resource_tags_integration.py + tests/test_redshiftdata + tests/test_resourcegroupstaggingapi/test_server.py::test_resourcegroupstaggingapi_list + tests/test_s3/test_s3.py::test_delete_bucket_cors + tests/test_s3/test_s3.py::test_delete_objects_percent_encoded + tests/test_s3/test_s3.py::test_delete_versioned_bucket_returns_metadata + tests/test_s3/test_s3_copyobject.py::test_copy_key_boto3_with_args + tests/test_s3/test_s3_copyobject.py::test_copy_key_boto3_with_args__using_multipart + tests/test_s3/test_s3_file_handles.py::TestS3FileHandleClosuresUsingMocks + tests/test_s3/test_s3_list_object_versions.py + tests/test_s3/test_s3_tagging.py + tests/test_s3control/test_s3control_access_points.py::test_delete_access_point + tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_can_handle_multiple_services + tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_is_reachable + ) + + EPYTEST_XDIST= epytest "${serial_tests[@]}" + + EPYTEST_DESELECT+=( "${serial_tests[@]}" ) + epytest -m 'not network' +} diff --git a/dev-python/overrides/Manifest b/dev-python/overrides/Manifest index 1e95c5ff0932..90f754afc70f 100644 --- a/dev-python/overrides/Manifest +++ b/dev-python/overrides/Manifest @@ -1,2 +1,3 @@ DIST overrides-7.4.0.tar.gz 24804 BLAKE2B 9a9657d15ad835695d116559f1e6f51e14d1a0a9b5a237b2d468d9c6fd8d86368af53871490c257d7e6843fe02113a874524b8e55f4b3c9bcc7c827714cd5f44 SHA512 6ffd3b38997fd207d8ef9876ba9c328ef244b39300d22ae8c8bf63862f160b485d82b99d36d24abd1676fdddd39e5324eb0f1cf8629a0e17ac96956d165b6afd DIST overrides-7.6.0.tar.gz 22773 BLAKE2B 159f68670f897a37ee12023dbe0f88ea59c8c41412054fa1124e39916b665a590ff83ded0ca11d49a67071358ebc9d0c1fc6e46b7b8de19bee379c8d786ab48e SHA512 1d72da8738b2faacd8fd5698f86cd878d23ade607f89dabbd47b6d808c06732ad6eedc4f2547ba5f0aee321ced490ff16566c47e732048743506ec4261dcc6d2 +DIST overrides-7.7.0.tar.gz 22812 BLAKE2B e51af6806e741f18fbfda57824e8f0db9f77686719b287c2b8abb8a33925c2ded8ac3fd40cb097cfcad60e06dcf5ced291e278b03a28afe15a6a6312306d200b SHA512 b2ad06da01e657839c5cbd62c49aa1022c4302fad44fd6b1a57e623e27d1c9d8cabdd9bf9c9a02c87a3b3618a662b922533cf407d17efa43769b0fc6360b5073 diff --git a/dev-python/overrides/overrides-7.7.0.ebuild b/dev-python/overrides/overrides-7.7.0.ebuild new file mode 100644 index 000000000000..fcb12978fd7e --- /dev/null +++ b/dev-python/overrides/overrides-7.7.0.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="A decorator to automatically detect mismatch when overriding a method." +HOMEPAGE=" + https://pypi.org/project/overrides/ + https://github.com/mkorpela/overrides/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +distutils_enable_tests pytest diff --git a/dev-python/psycopg/files/psycopg-3.1.17-musl.patch b/dev-python/psycopg/files/psycopg-3.1.17-musl.patch new file mode 100644 index 000000000000..ca1689931ed8 --- /dev/null +++ b/dev-python/psycopg/files/psycopg-3.1.17-musl.patch @@ -0,0 +1,34 @@ +From eeb662bf89e9ffdb3e6fc40eb30d0b53e0b4bece Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Sat, 27 Jan 2024 15:28:34 +0100 +Subject: [PATCH] fix: add `libc.so` fallback for musl systems to the ctypes + impl + +Add a fallback to `libc.so` library name to fix loading the ctypes +implementation on musl systems. On musl, `find_library("c")` does +not work (the problem has been reported to CPython in 2014, and has not +been resolved yet), causing the module to fail on `assert libcname`. +Instead, add a fallback to using `libc.so` and let ctypes raise +an exception if such a library does not exist. +--- + psycopg/psycopg/pq/_pq_ctypes.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/psycopg/psycopg/pq/_pq_ctypes.py b/psycopg/psycopg/pq/_pq_ctypes.py +index 9d4dd181..3ecff080 100644 +--- a/psycopg/psycopg/pq/_pq_ctypes.py ++++ b/psycopg/psycopg/pq/_pq_ctypes.py +@@ -28,8 +28,8 @@ class FILE(Structure): + FILE_ptr = POINTER(FILE) + + if sys.platform == "linux": +- libcname = ctypes.util.find_library("c") +- assert libcname ++ # find_library("c") does not work on musl, fall back to libc.so instead ++ libcname = ctypes.util.find_library("c") or "libc.so" + libc = ctypes.cdll.LoadLibrary(libcname) + + fdopen = libc.fdopen +-- +2.43.0 + diff --git a/dev-python/psycopg/psycopg-3.1.17.ebuild b/dev-python/psycopg/psycopg-3.1.17.ebuild index e740144c65f0..68148e58613f 100644 --- a/dev-python/psycopg/psycopg-3.1.17.ebuild +++ b/dev-python/psycopg/psycopg-3.1.17.ebuild @@ -3,6 +3,7 @@ EAPI=8 +DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) @@ -18,20 +19,29 @@ SRC_URI=" https://github.com/psycopg/psycopg/archive/${PV}.tar.gz -> ${P}.gh.tar.gz " -S=${WORKDIR}/${P}/psycopg LICENSE="LGPL-3+" SLOT="0" KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="+native-extensions" DEPEND=" - >=dev-db/postgresql-8.1:* + native-extensions? ( + >=dev-db/postgresql-8.1:= + ) + !native-extensions? ( + >=dev-db/postgresql-8.1:* + ) " RDEPEND=" ${DEPEND} >=dev-python/typing-extensions-4.1[${PYTHON_USEDEP}] " BDEPEND=" + native-extensions? ( + dev-python/cython[${PYTHON_USEDEP}] + dev-python/tomli[${PYTHON_USEDEP}] + ) test? ( >=dev-db/postgresql-8.1[server] dev-python/anyio[${PYTHON_USEDEP}] @@ -41,9 +51,27 @@ BDEPEND=" distutils_enable_tests pytest -src_test() { - # tests are lurking in top-level directory +PATCHES=( + # https://github.com/psycopg/psycopg/pull/725 + "${FILESDIR}/${P}-musl.patch" +) + +python_compile() { + # Python code + ctypes backend + cd psycopg || die + distutils-r1_python_compile + + # optional C backend + if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then + local DISTUTILS_USE_PEP517=standalone + cd ../psycopg_c || die + distutils-r1_python_compile + fi cd .. || die +} + +src_test() { + rm -r psycopg{,_c} || die initdb -D "${T}"/pgsql || die # TODO: random port @@ -70,7 +98,17 @@ python_test() { tests/test_dns_srv.py::test_srv ) + local impls=( python ) + if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then + impls+=( c ) + fi + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - # leak and timing tests are fragile whereas slow tests are slow - epytest -p anyio -k "not leak" -m "not timing and not slow" + local -x PSYCOPG_IMPL + for PSYCOPG_IMPL in "${impls[@]}"; do + einfo "Testing with ${PSYCOPG_IMPL} implementation ..." + # leak and timing tests are fragile whereas slow tests are slow + epytest -p anyio -k "not leak" \ + -m "not timing and not slow and not flakey" + done } diff --git a/dev-python/pygit2/Manifest b/dev-python/pygit2/Manifest index 7477a1672f5f..1868f384076a 100644 --- a/dev-python/pygit2/Manifest +++ b/dev-python/pygit2/Manifest @@ -1 +1,2 @@ DIST pygit2-1.13.3.tar.gz 752098 BLAKE2B 474c7e4cf92ec81c128fec1ff6222aa524a8dbf291c7ad350a1f150536442a518dbcf6c5ed2af2902265bcb04f34effb258c30e983bf52d1a93d477da4fce00c SHA512 def3d7b4df43ef231c488720a47cef91ad1e9a0568745869cec63f8a2ccfa7ad0be4c40b1cab973ef34e493d9451b33071aa64dc7fb8a8013fcdd1c6f6a45ef1 +DIST pygit2-1.14.0.tar.gz 765357 BLAKE2B fd36958cd64808d478e1c3bd6e6fc7714749c2b73cbf59f71c63ce3e37168df7196be143b0d8fbd724a7b090a06572cd0df111eea87becf9186be2ec4165104d SHA512 117858589c7cda9fe3c7d085c3577b5dfe1792335d58420349060ba45722adc59a479091e0c00e95298cdf705af9905236b3f54ccd75f82ca4704d4580e723be diff --git a/dev-python/pygit2/pygit2-1.14.0.ebuild b/dev-python/pygit2/pygit2-1.14.0.ebuild new file mode 100644 index 000000000000..5584ce17c02d --- /dev/null +++ b/dev-python/pygit2/pygit2-1.14.0.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python bindings for libgit2" +HOMEPAGE=" + https://github.com/libgit2/pygit2/ + https://pypi.org/project/pygit2/ +" + +LICENSE="GPL-2-with-linking-exception" +SLOT="0" +KEYWORDS="~amd64 ~riscv ~x86" + +DEPEND=" + =dev-libs/libgit2-1.7*:= +" +BDEPEND=" + >=dev-python/cffi-1.16.0:=[${PYTHON_USEDEP}] +" +RDEPEND=" + ${DEPEND} + ${BDEPEND} +" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # unconditionally prevent it from using network + sed -i -e '/has_network/s:True:False:' test/utils.py || die +} + +src_test() { + rm -r pygit2 || die + distutils-r1_src_test +} diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest index be28c571c189..be65f4ce38e8 100644 --- a/dev-python/pytest/Manifest +++ b/dev-python/pytest/Manifest @@ -1 +1,2 @@ DIST pytest-7.4.4.tar.gz 1357116 BLAKE2B 0bf281b3d4b7b2eb7805423a75c8c2befa820cc230318511e5a2d5ea35321a78a2603d5dbc033414ed73171525371efa9d9f54083d5638fc752c1c218e6d53aa SHA512 28a259dac6739683c131993409d508e10fbfee461291b8fc7697dd83f30725a3c60e681ba00b5669a215af6a5e683f07a329485d780acc9ad0372a6552f783a1 +DIST pytest-8.0.0.tar.gz 1395242 BLAKE2B 99d0dce33a2a9c0c421777779584b6f74950e27c4a3a64daaf9fbb9d6a28583cff1890ebd6f471e1ffdc6f9d3cfc69deb513b6884ec216a7e95b16eba8c59c5e SHA512 18c09d378e02a5b33bdf269aa27b6a4e84d43c46a702d34252ddf01a7cab3d56c8c9793ed4605ae041fc8c8845016b69dba4eb1f723756bab3704ab3e079b551 diff --git a/dev-python/pytest/pytest-8.0.0.ebuild b/dev-python/pytest/pytest-8.0.0.ebuild new file mode 100644 index 000000000000..97dddf035948 --- /dev/null +++ b/dev-python/pytest/pytest-8.0.0.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_TESTED=( python3_{8,9,10,11,12} pypy3 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) + +inherit distutils-r1 multiprocessing pypi + +DESCRIPTION="Simple powerful testing with Python" +HOMEPAGE=" + https://pytest.org/ + https://github.com/pytest-dev/pytest/ + https://pypi.org/project/pytest/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-python/iniconfig[${PYTHON_USEDEP}] + >=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + >=dev-python/pluggy-1.3.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}] + >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}] + ' 3.{9..10}) +" +BDEPEND=" + >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}] + test? ( + ${RDEPEND} + $(python_gen_cond_dep ' + dev-python/argcomplete[${PYTHON_USEDEP}] + >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}] + >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/xmlschema[${PYTHON_USEDEP}] + ' "${PYTHON_TESTED[@]}") + ) +" + +src_test() { + # workaround new readline defaults + echo "set enable-bracketed-paste off" > "${T}"/inputrc || die + local -x INPUTRC="${T}"/inputrc + distutils-r1_src_test +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x COLUMNS=80 + + local EPYTEST_DESELECT=( + # broken by epytest args + testing/test_warnings.py::test_works_with_filterwarnings + + # tend to be broken by random pytest plugins + # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out) + testing/test_helpconfig.py::test_version_less_verbose + testing/test_helpconfig.py::test_version_verbose + testing/test_junitxml.py::test_random_report_log_xdist + testing/test_junitxml.py::test_runs_twice_xdist + testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal + testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count + testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose + testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal + testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info + testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info + + # unstable with xdist + testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist + + # TODO (XPASS) + testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered + testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple + testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice + testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug + testing/test_debugging.py::test_pdb_suspends_fixture_capturing + + # setuptools warnings + testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package + + # times out + testing/test_debugging.py::TestPDB::test_pdb_interaction_exception + ) + + [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=( + # regressions on pypy3.9 + # https://github.com/pytest-dev/pytest/issues/9787 + testing/test_skipping.py::test_errors_in_xfail_skip_expressions + testing/test_unraisableexception.py + ) + + epytest -p xdist -n "$(makeopts_jobs)" +} diff --git a/dev-python/setuptools-gettext/Manifest b/dev-python/setuptools-gettext/Manifest index e9dc29e14b32..7d2a1dd08bfe 100644 --- a/dev-python/setuptools-gettext/Manifest +++ b/dev-python/setuptools-gettext/Manifest @@ -1 +1,2 @@ DIST setuptools-gettext-0.1.8.tar.gz 15548 BLAKE2B 4e1dcd219fca132e859a44e7ab86f0c81ac2dfccf5d2aca89ac05a2a3a50fec715a5e23e44173e741330d874d1f721ac8ec9d73d79b586ab605fb281aba8aafe SHA512 55b6512061565f210596972db3033d3d4f555428d23d1cac93feb3ea540461e908585d13157bcf97335f07b5a86e0b823b15457fe2f107ffc49e2e1b0c7a0c1e +DIST setuptools-gettext-0.1.9.tar.gz 14490 BLAKE2B a233bb41124d2e927adc24aace620e7c9cd1dfd6e0a2f39343f2d9aaded434f87f2c106ddc19446cc9f4ebf39940091a93fc1375db22c8988e63425e3a5ebdde SHA512 7995c6b980429fba69aa6da2451d1cafb5035bdc02820c6ef729683d0689df594bd66a69fe142cf9f0f70f26858414a30cd9050180f9f1fdf8e81ea53bfcbbda diff --git a/dev-python/setuptools-gettext/setuptools-gettext-0.1.9.ebuild b/dev-python/setuptools-gettext/setuptools-gettext-0.1.9.ebuild new file mode 100644 index 000000000000..3cfa5da44d41 --- /dev/null +++ b/dev-python/setuptools-gettext/setuptools-gettext-0.1.9.ebuild @@ -0,0 +1,37 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Setuptools plugin for building mo files" +HOMEPAGE=" + https://pypi.org/project/setuptools-gettext/ + https://github.com/breezy-team/setuptools-gettext +" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + sys-devel/gettext + $(python_gen_cond_dep ' + >=dev-python/tomli-1.2.1[${PYTHON_USEDEP}] + ' 3.10) +" + +python_test() { + cd example || die + distutils_pep517_install "${T}/${EPYTHON}" + if [[ ! -f ${T}/${EPYTHON}/usr/share/locale/nl/LC_MESSAGES/hallowereld.mo ]] + then + die ".mo file not installed" + fi +} diff --git a/dev-python/tables/tables-3.9.2.ebuild b/dev-python/tables/tables-3.9.2.ebuild index 3fef8a11414f..e4b4df689c49 100644 --- a/dev-python/tables/tables-3.9.2.ebuild +++ b/dev-python/tables/tables-3.9.2.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{8,9,10,11,12} ) +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) PYTHON_REQ_USE="threads(+)" inherit distutils-r1 prefix pypi diff --git a/dev-python/tavern/Manifest b/dev-python/tavern/Manifest index b94f9a0f0cf5..9c3578e1da77 100644 --- a/dev-python/tavern/Manifest +++ b/dev-python/tavern/Manifest @@ -1,3 +1,4 @@ DIST tavern-2.7.1.gh.tar.gz 220388 BLAKE2B 3e689ff0c29ddf2e53e018f86c79ea7e4e89e586d5f28b79c93263a10c4e7738fbf4c66df81fd55bc13a812223e538726f3f9b9f8bdbb94e7f043e90c70af2ce SHA512 de2822ec746c2ccb27a401c07bc5618539e4ad309e56437d0c66669612f48658fc352e42a0b4db94f9c183a159bbdcbeabdf30bebeac03c5f6a9f51bc7014b76 DIST tavern-2.8.0.gh.tar.gz 246475 BLAKE2B 373d58205462bbe34deffdcb1f87700e121e9fceee77700bda7ef76787d3c1b4ce2fdba8eb4a4e1369814665ed0c6562268f8acfe3b85eb92ff260dd413caaee SHA512 b54ba992f328623b8bddbafd67eb7e124718aa7e01435ac3c1132451b450e7a8af49618fec16c0d47d0300c5cafe78ffab6991abde880986d7381c8b885e22ad DIST tavern-2.9.0.gh.tar.gz 246867 BLAKE2B 77cb0cd54223ad401dba429abae503b102b208603e3ecaf0cdc84a71f0928beabd0b783ef5fbf448186d60e400c01ab67505a92031a097bcb68e4cbdd67d07d7 SHA512 4401e9c96f4f721f8d28f03e2a69bdc5e0daeb348b5a3356f1d9a996f81377f9fc5d8481f58dd6106904c89177324e541595e325f6d1c18e9028fa01dd022d4d +DIST tavern-2.9.1.gh.tar.gz 247864 BLAKE2B a12552ead7afb2b9e0ab75fab958235d538221d15162063772b7838c33a3c72795058af8d244005eee72865e8388772bf92516402f2944e89d2ab680f1f7da4e SHA512 a7f882ca7c3337181f2a68b31f363317c50ee7e073cfbd4737f6e31a13e0af175d09e9fed04959bd0fe6ffa215c54a34d10ee3e1650a52cd566f2a7006840c43 diff --git a/dev-python/tavern/tavern-2.9.1.ebuild b/dev-python/tavern/tavern-2.9.1.ebuild new file mode 100644 index 000000000000..d8b4de0ba510 --- /dev/null +++ b/dev-python/tavern/tavern-2.9.1.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 + +DESCRIPTION="A tool, library, and Pytest plugin for testing RESTful APIs" +HOMEPAGE=" + https://github.com/taverntesting/tavern/ + https://pypi.org/project/tavern/ +" +SRC_URI=" + https://github.com/taverntesting/tavern/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/jmespath-1[${PYTHON_USEDEP}] + >=dev-python/jsonschema-4[${PYTHON_USEDEP}] + >=dev-python/paho-mqtt-1.3.1[${PYTHON_USEDEP}] + >=dev-python/pyjwt-2.5.0[${PYTHON_USEDEP}] + >=dev-python/pykwalify-1.8.0[${PYTHON_USEDEP}] + >=dev-python/pytest-7[${PYTHON_USEDEP}] + >=dev-python/python-box-6[${PYTHON_USEDEP}] + >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}] + >=dev-python/requests-2.22.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/colorlog[${PYTHON_USEDEP}] + dev-python/Faker[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + # strip unnecessary pins, upstream doesn't update them a lot + sed -i -E -e 's:,?<=?[0-9.]+::' pyproject.toml || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # requires grpc + tests/unit/test_extensions.py::TestGrpcCodes + ) + local EPYTEST_IGNORE=( + # require grpc* + tavern/_plugins/grpc + tests/unit/tavern_grpc + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p tavern +} diff --git a/dev-python/toolz/toolz-0.12.1.ebuild b/dev-python/toolz/toolz-0.12.1.ebuild index 1c3b9a66be9f..c431ea522de8 100644 --- a/dev-python/toolz/toolz-0.12.1.ebuild +++ b/dev-python/toolz/toolz-0.12.1.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{8,9,10,11,12} ) +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest index 8dc4c83a6301..d478e7d2dba1 100644 --- a/dev-python/trimesh/Manifest +++ b/dev-python/trimesh/Manifest @@ -1,3 +1,4 @@ DIST trimesh-4.0.10.gh.tar.gz 13435507 BLAKE2B 9e60ac72af4020997b606738dba044b23914a50ec07bcb014defcf23b2d5afde279755cc244dccc2e0a482f3b10eab025f9a0ea9f37becb62067a65192c948b1 SHA512 783730dfedbbbb09c829240c11de3ee15a5518454335734cc98b25b289011fb4310e80c6a11d3fe7b83d0661e38d36e98650333a976fed210aa1dc9fa30d857b DIST trimesh-4.0.8.gh.tar.gz 13434746 BLAKE2B 858ad7daf9cff3bbedef3ea124d6af1be96233b09a2bd9abd0d2cc43b6f981f844300a36dfef751caf1abf721dd0481a189e0d80ddba8a3fcacbe87183c3d26e SHA512 77472e954b9defdf39fac7813aad892f56f02da475801effdac7de28b6e28f6ca5a7c99fa51013e44435a2143f01a5a2be1e8419c1c81c0c02dca237b8e21dd3 DIST trimesh-4.0.9.gh.tar.gz 13435804 BLAKE2B 7e07ad04f7c08b01763ce0d4f50ad7a00fa4888f43abab92bbce495cb0c1dc8815e0c346e326f19c811fbe8d9d2657b45390016f1508e1d994ee529af182b2c1 SHA512 8d6d48a7889693536a54355efac5dc35eb2a8babeb5c93d71127e65935e7750d7330bd9b96b31b37dded7a5fd50151d39b6c38a29e0075374ee29ca975e5ed9d +DIST trimesh-4.1.0.gh.tar.gz 13437739 BLAKE2B 4a5c54bd17506fa391404f825c2be47e34c3757b6380bb8af43b27b3b1f30f6518dc997f0ce6a20d87c7c8ced4c5f54092a58d6d03f5d73e4fe6cc8bbc62342e SHA512 77729d3b14f90d106fd79d1bddd0261cc1e6aeb3f3af7fcad9c9dacbd8fecea4f996944d5af232f2af46e274b14b657e0ad90700cd194afa9fb2a40dc3763c44 diff --git a/dev-python/trimesh/trimesh-4.1.0.ebuild b/dev-python/trimesh/trimesh-4.1.0.ebuild new file mode 100644 index 000000000000..b621d3cf0967 --- /dev/null +++ b/dev-python/trimesh/trimesh-4.1.0.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 optfeature + +DESCRIPTION="Python library for loading and using triangular meshes" +HOMEPAGE=" + https://trimesh.org/ + https://github.com/mikedh/trimesh/ + https://pypi.org/project/trimesh/ +" +SRC_URI=" + https://github.com/mikedh/${PN}/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/colorlog[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/networkx[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP}] + dev-python/pycollada[${PYTHON_USEDEP}] + dev-python/pyglet[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}] + dev-python/svg-path[${PYTHON_USEDEP}] + dev-python/sympy[${PYTHON_USEDEP}] + dev-python/xxhash[${PYTHON_USEDEP}] + sci-libs/rtree[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mapbox_earcut[${PYTHON_USEDEP}] + ) +" + +EPYTEST_TIMEOUT=900 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} + +pkg_postinst() { + optfeature_header "${PN} functionality can be extended by installing the following packages:" + optfeature "making GUI applications with 3D stuff" dev-python/glooey + optfeature "2D triangulations of polygons" dev-python/mapbox_earcut + optfeature "loading a number of additional mesh formats" dev-python/meshio + optfeature "figuring out how much memory we have" dev-python/psutil + optfeature "marching cubes and other nice stuff" dev-python/scikit-image +} |
