From 9acfcb10ddc85aba0512558817fd7287a8eeef01 Mon Sep 17 00:00:00 2001 From: "Liguros - Gitlab CI/CD [develop]" Date: Wed, 10 Jul 2024 18:19:51 +0000 Subject: Adding metadata --- dev-python/cfn-lint/Manifest | 1 + dev-python/cfn-lint/cfn-lint-1.5.2.ebuild | 70 ++++++ dev-python/colored-traceback/Manifest | 1 + .../colored-traceback-0.4.0.ebuild | 24 ++ dev-python/django/Manifest | 6 - dev-python/django/django-3.2.25.ebuild | 110 --------- dev-python/django/django-4.2.13.ebuild | 101 -------- dev-python/django/django-4.2.14.ebuild | 2 +- dev-python/django/django-5.0.6.ebuild | 103 -------- dev-python/django/django-5.0.7.ebuild | 2 +- dev-python/django/files/django-3.1-bashcomp.patch | 56 ----- dev-python/django/files/django-3.2.19-py311.patch | 183 -------------- .../django/files/django-3.2.20-urlsplit.patch | 111 --------- dev-python/google-api-python-client/Manifest | 1 + .../google-api-python-client-2.137.0.ebuild | 50 ++++ dev-python/imap-tools/Manifest | 4 +- dev-python/imap-tools/imap-tools-1.5.0.ebuild | 30 --- dev-python/imap-tools/imap-tools-1.7.0.ebuild | 30 +++ .../files/importlib-resources-6.4.0-be.patch | 40 ++++ .../importlib-resources-6.4.0.ebuild | 5 + dev-python/ipython/ipython-8.25.0.ebuild | 2 +- dev-python/mapbox-earcut/Manifest | 1 + .../mapbox-earcut/mapbox-earcut-1.0.1-r1.ebuild | 37 +++ dev-python/mapbox-earcut/metadata.xml | 10 + dev-python/mapbox_earcut/Manifest | 1 - .../mapbox_earcut/mapbox_earcut-1.0.1-r1.ebuild | 37 --- dev-python/mapbox_earcut/metadata.xml | 10 - dev-python/mypy/mypy-1.10.1.ebuild | 5 +- dev-python/nanobind/nanobind-2.0.0-r1.ebuild | 2 +- dev-python/netcdf4/Manifest | 1 - dev-python/netcdf4/metadata.xml | 5 + dev-python/netcdf4/netcdf4-1.6.5.ebuild | 56 ----- dev-python/netcdf4/netcdf4-1.7.1-r1.ebuild | 54 +++++ dev-python/netcdf4/netcdf4-1.7.1.ebuild | 55 ----- dev-python/patsy/files/patsy-0.5.6-np2.patch | 51 ++++ dev-python/patsy/patsy-0.5.6-r2.ebuild | 51 ++++ dev-python/pyopencl/pyopencl-2024.2.7.ebuild | 2 +- dev-python/pytest-recording/Manifest | 1 + .../pytest-recording-0.13.2.ebuild | 46 ++++ dev-python/pytools/Manifest | 1 + dev-python/pytools/pytools-2024.1.7.ebuild | 34 +++ dev-python/recurring-ical-events/Manifest | 1 + .../recurring-ical-events-2.2.3.ebuild | 45 ++++ dev-python/rtree/Manifest | 2 + dev-python/rtree/metadata.xml | 24 ++ dev-python/rtree/rtree-1.0.0.ebuild | 30 +++ dev-python/rtree/rtree-1.3.0.ebuild | 36 +++ dev-python/siphash24/Manifest | 1 + dev-python/siphash24/metadata.xml | 9 + dev-python/siphash24/siphash24-1.6.ebuild | 29 +++ dev-python/spyder/spyder-5.5.4.ebuild | 2 +- dev-python/spyder/spyder-5.5.5.ebuild | 2 +- dev-python/spyder/spyder-6.0.0_beta2.ebuild | 2 +- dev-python/tables/files/tables-3.9.2-numpy-2.patch | 264 +++++++++++++++++++++ dev-python/tables/files/tables-3.9.2-py313.patch | 73 ++++++ dev-python/tables/tables-3.9.2-r1.ebuild | 89 +++++++ dev-python/trimesh/trimesh-4.4.0.ebuild | 6 +- dev-python/trimesh/trimesh-4.4.2.ebuild | 6 +- dev-python/types-docutils/Manifest | 1 + .../types-docutils-0.21.0.20240710.ebuild | 17 ++ dev-python/types-setuptools/Manifest | 1 + .../types-setuptools-70.3.0.20240710.ebuild | 17 ++ dev-python/xarray/xarray-2024.6.0-r1.ebuild | 108 +++++++++ 63 files changed, 1279 insertions(+), 878 deletions(-) create mode 100644 dev-python/cfn-lint/cfn-lint-1.5.2.ebuild create mode 100644 dev-python/colored-traceback/colored-traceback-0.4.0.ebuild delete mode 100644 dev-python/django/django-3.2.25.ebuild delete mode 100644 dev-python/django/django-4.2.13.ebuild delete mode 100644 dev-python/django/django-5.0.6.ebuild delete mode 100644 dev-python/django/files/django-3.1-bashcomp.patch delete mode 100644 dev-python/django/files/django-3.2.19-py311.patch delete mode 100644 dev-python/django/files/django-3.2.20-urlsplit.patch create mode 100644 dev-python/google-api-python-client/google-api-python-client-2.137.0.ebuild delete mode 100644 dev-python/imap-tools/imap-tools-1.5.0.ebuild create mode 100644 dev-python/imap-tools/imap-tools-1.7.0.ebuild create mode 100644 dev-python/importlib-resources/files/importlib-resources-6.4.0-be.patch create mode 100644 dev-python/mapbox-earcut/Manifest create mode 100644 dev-python/mapbox-earcut/mapbox-earcut-1.0.1-r1.ebuild create mode 100644 dev-python/mapbox-earcut/metadata.xml delete mode 100644 dev-python/mapbox_earcut/Manifest delete mode 100644 dev-python/mapbox_earcut/mapbox_earcut-1.0.1-r1.ebuild delete mode 100644 dev-python/mapbox_earcut/metadata.xml delete mode 100644 dev-python/netcdf4/netcdf4-1.6.5.ebuild create mode 100644 dev-python/netcdf4/netcdf4-1.7.1-r1.ebuild delete mode 100644 dev-python/netcdf4/netcdf4-1.7.1.ebuild create mode 100644 dev-python/patsy/files/patsy-0.5.6-np2.patch create mode 100644 dev-python/patsy/patsy-0.5.6-r2.ebuild create mode 100644 dev-python/pytest-recording/pytest-recording-0.13.2.ebuild create mode 100644 dev-python/pytools/pytools-2024.1.7.ebuild create mode 100644 dev-python/recurring-ical-events/recurring-ical-events-2.2.3.ebuild create mode 100644 dev-python/rtree/Manifest create mode 100644 dev-python/rtree/metadata.xml create mode 100644 dev-python/rtree/rtree-1.0.0.ebuild create mode 100644 dev-python/rtree/rtree-1.3.0.ebuild create mode 100644 dev-python/siphash24/Manifest create mode 100644 dev-python/siphash24/metadata.xml create mode 100644 dev-python/siphash24/siphash24-1.6.ebuild create mode 100644 dev-python/tables/files/tables-3.9.2-numpy-2.patch create mode 100644 dev-python/tables/files/tables-3.9.2-py313.patch create mode 100644 dev-python/tables/tables-3.9.2-r1.ebuild create mode 100644 dev-python/types-docutils/types-docutils-0.21.0.20240710.ebuild create mode 100644 dev-python/types-setuptools/types-setuptools-70.3.0.20240710.ebuild create mode 100644 dev-python/xarray/xarray-2024.6.0-r1.ebuild (limited to 'dev-python') diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest index 8000d4689302..ed6936c7f602 100644 --- a/dev-python/cfn-lint/Manifest +++ b/dev-python/cfn-lint/Manifest @@ -5,3 +5,4 @@ DIST cfn_lint-1.4.0.tar.gz 2428307 BLAKE2B 43987652c8f12dd24f62f9122b4aebb19edd2 DIST cfn_lint-1.4.2.tar.gz 2485843 BLAKE2B c2e64721b537ab38cad3c3f6d40c509741fb03f61202d7dace4023f4b5b3a7840b7deb88892d9d282d223756a1e3908680ed166cdf216b0c76abdc29d0749967 SHA512 c9761e253ba77198264eabdd9c4e6a290bb9010533628958853c8d5a0f5f7317338f271588b5cef2ac1667f6ed5e1a6e43a3192aa9ff7202b0ca6db061284818 DIST cfn_lint-1.5.0.tar.gz 2404325 BLAKE2B ba8b87334693da5b55365d47403a51922bc4230abe7b4179941c77e02cea6fff0934539cb83438830d71213ee7b8c6d73c6a49bd4ae6c2fb8093d0a2365b8aee SHA512 76513cebaf4e1d04c5846f40aca4be4ca6838c0f06948c8ce38739ef8d4b310c233f2d0a260ec7db8346ae56f0a5a0d1ab8ed618efdc4e03829840e66f3479f8 DIST cfn_lint-1.5.1.tar.gz 2341772 BLAKE2B 00c1801a4f632febaf7a63f3a4b75b1cf21411584672096db56cfe497b83c64991aa049764e9be3bfba593d6ec8c5150f1f06e831de52df68ccc5b74fbe1cf46 SHA512 68acff7ad0532c4b3385ee620506c1391b7e9581663c04d5e763d67d265e05cf96f689dd4cfa9bfebdb0f3ac890835d02d1367900d64fa424ba7bc8bf1fb37a8 +DIST cfn_lint-1.5.2.tar.gz 2353616 BLAKE2B 2f7231c1c0b51668c1994558a6bfac24c250087736d1edab8dc3d266a5503c6298336749fb9e49f8b4953df6dcbe53a028cefde7c122fe942d0974c1f193413c SHA512 36fee3f67566c831224ce00efe2851df6df8f159ad6d843636948de9babfb56bbaa2789cfd6d8373493b482471d9caa046925f4a4d6bc61c5cae62ec8820a9b3 diff --git a/dev-python/cfn-lint/cfn-lint-1.5.2.ebuild b/dev-python/cfn-lint/cfn-lint-1.5.2.ebuild new file mode 100644 index 000000000000..cb4c0566bc6f --- /dev/null +++ b/dev-python/cfn-lint/cfn-lint-1.5.2.ebuild @@ -0,0 +1,70 @@ +# 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="CloudFormation Linter" +HOMEPAGE=" + https://github.com/aws-cloudformation/cfn-lint/ + https://pypi.org/project/cfn-lint/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/aws-sam-translator-1.89.0[${PYTHON_USEDEP}] + dev-python/jsonpatch[${PYTHON_USEDEP}] + >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}] + =dev-python/jsonschema-3.0[${PYTHON_USEDEP}] + dev-python/junit-xml[${PYTHON_USEDEP}] + dev-python/pyyaml-5.4[${PYTHON_USEDEP}] + >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}] + >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}] + >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/defusedxml[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + # unpin the deps + sed -e 's:~=[0-9.]*::' -i pyproject.toml || 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 + # different graphviz version? + test/unit/module/template/test_template.py::TestTemplate::test_build_graph + ) + + # from tox.ini + local -x AWS_DEFAULT_REGION=us-east-1 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/colored-traceback/Manifest b/dev-python/colored-traceback/Manifest index 5f9e6ef0eece..6fabe18aa267 100644 --- a/dev-python/colored-traceback/Manifest +++ b/dev-python/colored-traceback/Manifest @@ -1 +1,2 @@ DIST colored-traceback-0.3.0.tar.gz 3837 BLAKE2B bf79942de0d0791b567dce21609be87319da11596b90e67018ee74069ea63b072b73778283112f9f52270fef046220eff355993d38f84ecd80d895da0401a010 SHA512 013d779df231295319c29a48fe81a5ddfd1b77b1734dedf630a914bdf0ea89e19a8ec028ae40c55125209e748f4027a74d04ec816f6c6d3c21aca52d2dd58e37 +DIST colored-traceback-0.4.0.tar.gz 4619 BLAKE2B 311c814820397774f466b2da1e64c1016ac4250ab4807b2c0c15bba74cf5c3b9f47fad24f6579de42af5c0c66455109fe5fe4e1611b47df2f7a37e083af23e51 SHA512 a477643ae646d93e4938351077760246d627ce4e2e7fc257dedb1b30a308c6851fbb5c265e168a3179ee60a970c8e3e0936b78ad0770f26a62027ed1b50082d2 diff --git a/dev-python/colored-traceback/colored-traceback-0.4.0.ebuild b/dev-python/colored-traceback/colored-traceback-0.4.0.ebuild new file mode 100644 index 000000000000..c8faba164c41 --- /dev/null +++ b/dev-python/colored-traceback/colored-traceback-0.4.0.ebuild @@ -0,0 +1,24 @@ +# 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="Automatically color Python's uncaught exception tracebacks" +HOMEPAGE=" + https://github.com/staticshock/colored-traceback.py/ + https://pypi.org/project/colored-traceback/ +" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +RDEPEND=" + dev-python/pygments[${PYTHON_USEDEP}] +" diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest index 2940b328c10c..3ac93beb70d7 100644 --- a/dev-python/django/Manifest +++ b/dev-python/django/Manifest @@ -1,11 +1,5 @@ -DIST Django-3.2.25.checksum.txt 2560 BLAKE2B e082c588f4e124c9d71c1914e475fd70ed9b68583d65ea59ba0822b96de36c2edc98b4d9192f3d7c75467306fe03404303f6c2a98a026bdb5308bbd1dee89f99 SHA512 49a1610dcd61cbd322f0a5d7fe3cf249c0c4288b194fc8c2bdf7ec6fb8f92b69ca68dcdb71b79998cd80b978b70f48069669d996b6503261ba726c77c8b87672 -DIST Django-3.2.25.tar.gz 9836336 BLAKE2B 586520e0689b2594dd8ce4abb173418aedfde80cc84012d2a4207cbfc67120cbf405a8dfc8d069bb946f027f0eef22b233bd3b3ce569b01ea8fdc7836a6e530f SHA512 ccba83abd1777123186d685e21b96f41abf216a692d18ffe764d2e519eb9d1f6011d08c86b3affdd891591ca4ed7fee27ffa4750d19b486ca775ee680fdb0cb1 -DIST Django-4.2.13.checksum.txt 2578 BLAKE2B c4dee2c255a77da0655f685852bfac937e6afbfa32c6f5048916675d806c1d9218ff40117c99d7e63ee06b05dd88af4db9460672c3628c948cb17e5ca2f56817 SHA512 0994eef854b991c2db290712aff892e900ef3bab84607e385b4f78e3213b816739e42d5010afaaf30f6c68d5bc52b509b7c6e797e8e87db499a49f75b4cfd232 -DIST Django-4.2.13.tar.gz 10430886 BLAKE2B 09e8743de500f11c32c540d23d9aae1377c83177089732c78c03501dc560fd7b4316d6032534c923c354539421e519ed8439fc09d61500cea479c9eaf115f160 SHA512 2d141e2d710dbd55999db9c7005ca4a8d291dad57f0ef246eb41d4ffed76e62035b36969c5f338c3158ccd2d1677eb23de0b8f783606b4c62a3ee45e8988b712 DIST Django-4.2.14.checksum.txt 2579 BLAKE2B 9cf59d23c8fa0ad9b86f30a492d981a3084c31fd0c7e8ea212c62377385bcb45369ee3f29573c8e129f8d248ca4e94d4c1a4172048b9a9b2f66cc3291e972367 SHA512 c36efc19f8cc90db89dfe3ffaedff724f4b5a049f6def7acb194f8114a2ae519c5c07dea5452c09618629c9d585867de4b028bcef382f43d24f753f4a100c1c6 DIST Django-4.2.14.tar.gz 10432993 BLAKE2B 0139669111f834bcb79fea5fa2bc43386d62a65790fda9d762f8ac4e2a32f2a3740629e31c863b2643fa13b893938c33b066c21f27857f391715b7cec88dfad7 SHA512 2663454c48f57a441d1620faad30ac25750d1e71bf34eddbdef3e6d8dd208913752ab657447ffea5e9d3a0676a4a4d501fa88a40a0ca0fd361df0782a6b3306b -DIST Django-5.0.6.checksum.txt 2568 BLAKE2B c4c94e1a245248ed59707fb8aeb97a8379e679c50829d0470eefd2f870de32d5b57cb4841ac44809483993bc515514c3e2b0cdf0f1768681a4ba1930e2d278a3 SHA512 231954ae528beff69fbfa385aba192f19d56e862f1a2e5e40ccbba60ce31b59a075af31d75ab9e5767c9405a37f14fd3c5c41e74f60f6b7d6821391a43992301 -DIST Django-5.0.6.tar.gz 10639679 BLAKE2B 2198f273f28f89eb12db481e3531a963e2f5215677f0227d2ce8940cf1c2076acafe9bf1064595b481c6d65fadd7c6d6c7cda5fbbded81a87895e697338c78fd SHA512 6dab32357c423762a4fdd7372aec0ae4855861431fb9a90d4a818144e675cf891c0673a11351ddf8344f31624ce0ea8c9d9c6bc3c4514f38380aecb48a684894 DIST Django-5.0.7.checksum.txt 2569 BLAKE2B 0d4cecf064da9313058606569fcb014c5f3d5ec3c60a5a056cd8242ed9a8349b6d273c38010ba3d41fac85e5551a21748a7739772ad310f8c64224243745eac5 SHA512 9ec2e5e3ac0cb99be9349373c2cf47c6055e0bb729e5bb7e476350cd39595c4c82e7eab9a7eb286a9199834bed65d7f3d31ba59509d6e2e827b0f9c743aa9fcd DIST Django-5.0.7.tar.gz 10642686 BLAKE2B 559c3e3dd3971081e8572a707f59054ec84d9922493caddec9e008c5e850e8beb7bfbca291e4e7157e94d4fcd655983e3444f1c8f078342c8b66b3e8ce122ab7 SHA512 29aa4cd7bfdc5c00479c9d60d988653bab76dcfd8cd553ab446f6c274f99677ccaef0571b0afdf1579215918f500d87a0b098a98452c7526e89b1ab64f00b037 DIST django-4.2.8-pypy3.patch.xz 5900 BLAKE2B b7dc5c5fc162817a218ee6d025ed8a65559b80e4506e49ac393428c26e2621f9e7c5010b36f2412dea8194a9f1086ab21f97286eabd696c6a786285eb07393cf SHA512 f953b5adbd1364f1d84dde55087ccb493256b1327701275fd2fe99f3cd41751d18e002b6e21afc96892e1671428a6b8f3c2e4b88252c3c278f1a79e286bb73e3 diff --git a/dev-python/django/django-3.2.25.ebuild b/dev-python/django/django-3.2.25.ebuild deleted file mode 100644 index 10ee91bb3717..000000000000 --- a/dev-python/django/django-3.2.25.ebuild +++ /dev/null @@ -1,110 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{8,9,10,11,12} ) -PYTHON_REQ_USE='sqlite?,threads(+)' - -inherit bash-completion-r1 distutils-r1 optfeature verify-sig - -DESCRIPTION="High-level Python web framework" -HOMEPAGE=" - https://www.djangoproject.com/ - https://github.com/django/django/ - https://pypi.org/project/Django/ -" -SRC_URI=" - https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz - verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt ) -" -S="${WORKDIR}/${P^}" - -LICENSE="BSD" -# admin fonts: Roboto (media-fonts/roboto) -LICENSE+=" Apache-2.0" -# admin icons, jquery, xregexp.js -LICENSE+=" MIT" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos" -IUSE="doc sqlite test" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=dev-python/asgiref-3.3.4[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - >=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}] - sys-libs/timezone-data -" -BDEPEND=" - test? ( - $(python_gen_impl_dep sqlite) - ${RDEPEND} - dev-python/docutils[${PYTHON_USEDEP}] - dev-python/jinja[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pillow[webp,${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/selenium[${PYTHON_USEDEP}] - dev-python/tblib[${PYTHON_USEDEP}] - sys-devel/gettext - ) - verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-3.1-bashcomp.patch - "${FILESDIR}"/django-3.2.19-py311.patch - # needed for Python 3.11 - "${FILESDIR}"/django-3.2.20-urlsplit.patch -) - -distutils_enable_sphinx docs --no-autodoc - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc - -src_unpack() { - if use verify-sig; then - cd "${DISTDIR}" || die - verify-sig_verify_signed_checksums \ - "${P^}.checksum.txt" sha256 "${P^}.tar.gz" - cd "${WORKDIR}" || die - fi - - default -} - -python_prepare_all() { - # Fails because of warnings - sed -i 's/test_dumpdata_proxy_with_concrete/_&/' tests/fixtures/tests.py || die - # TODO: this suddenly started failing - sed -i -e 's:test_custom_fields:_&:' tests/inspectdb/tests.py || die - - distutils-r1_python_prepare_all -} - -python_test() { - # Tests have non-standard assumptions about PYTHONPATH, - # and don't work with ${BUILD_DIR}/lib. - PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite -v2 || - die "Tests fail with ${EPYTHON}" -} - -python_install_all() { - newbashcomp extras/django_bash_completion ${PN}-admin - bashcomp_alias ${PN}-admin django-admin.py - - distutils-r1_python_install_all -} - -pkg_postinst() { - optfeature_header "Additional Backend support can be enabled via:" - optfeature "MySQL backend support" dev-python/mysqlclient - optfeature "PostgreSQL backend support" dev-python/psycopg:2 - optfeature_header - optfeature "GEO Django" "sci-libs/gdal[geos]" - optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached - optfeature "ImageField Support" dev-python/pillow - optfeature "Password encryption" dev-python/bcrypt -} diff --git a/dev-python/django/django-4.2.13.ebuild b/dev-python/django/django-4.2.13.ebuild deleted file mode 100644 index c52b042721a5..000000000000 --- a/dev-python/django/django-4.2.13.ebuild +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) -PYTHON_REQ_USE='sqlite?,threads(+)' - -inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig - -DESCRIPTION="High-level Python web framework" -HOMEPAGE=" - https://www.djangoproject.com/ - https://github.com/django/django/ - https://pypi.org/project/Django/ -" -SRC_URI=" - https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz - https://dev.gentoo.org/~mgorny/dist/python/django-4.2.8-pypy3.patch.xz - verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt ) -" -S="${WORKDIR}/${P^}" - -LICENSE="BSD" -# admin fonts: Roboto (media-fonts/roboto) -LICENSE+=" Apache-2.0" -# admin icons, jquery, xregexp.js -LICENSE+=" MIT" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos" -IUSE="doc sqlite test" -RESTRICT="!test? ( test )" - -RDEPEND=" - =dev-python/asgiref-3.6.0[${PYTHON_USEDEP}] - >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}] - sys-libs/timezone-data -" -BDEPEND=" - test? ( - $(python_gen_impl_dep sqlite) - ${RDEPEND} - dev-python/docutils[${PYTHON_USEDEP}] - dev-python/jinja[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pillow[webp,${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/selenium[${PYTHON_USEDEP}] - dev-python/tblib[${PYTHON_USEDEP}] - sys-devel/gettext - ) - verify-sig? ( >=sec-keys/openpgp-keys-django-20230606 ) -" - -PATCHES=( - "${FILESDIR}"/django-4.0-bashcomp.patch - "${WORKDIR}"/django-4.2.8-pypy3.patch -) - -distutils_enable_sphinx docs --no-autodoc - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc - -src_unpack() { - if use verify-sig; then - cd "${DISTDIR}" || die - verify-sig_verify_signed_checksums \ - "${P^}.checksum.txt" sha256 "${P^}.tar.gz" - cd "${WORKDIR}" || die - fi - - default -} - -python_test() { - # Tests have non-standard assumptions about PYTHONPATH, - # and don't work with ${BUILD_DIR}/lib. - PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \ - -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" || - die "Tests fail with ${EPYTHON}" -} - -python_install_all() { - newbashcomp extras/django_bash_completion ${PN}-admin - bashcomp_alias ${PN}-admin django-admin.py - - distutils-r1_python_install_all -} - -pkg_postinst() { - optfeature_header "Additional Backend support can be enabled via:" - optfeature "MySQL backend support" dev-python/mysqlclient - optfeature "PostgreSQL backend support" dev-python/psycopg:0 - optfeature_header - optfeature "GEO Django" "sci-libs/gdal[geos]" - optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached - optfeature "ImageField Support" dev-python/pillow - optfeature "Password encryption" dev-python/bcrypt -} diff --git a/dev-python/django/django-4.2.14.ebuild b/dev-python/django/django-4.2.14.ebuild index 609a2915bdfa..c52b042721a5 100644 --- a/dev-python/django/django-4.2.14.ebuild +++ b/dev-python/django/django-4.2.14.ebuild @@ -28,7 +28,7 @@ LICENSE+=" Apache-2.0" # admin icons, jquery, xregexp.js LICENSE+=" MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos" IUSE="doc sqlite test" RESTRICT="!test? ( test )" diff --git a/dev-python/django/django-5.0.6.ebuild b/dev-python/django/django-5.0.6.ebuild deleted file mode 100644 index 35d6e6723339..000000000000 --- a/dev-python/django/django-5.0.6.ebuild +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) -PYTHON_REQ_USE='sqlite?,threads(+)' - -inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig - -DESCRIPTION="High-level Python web framework" -HOMEPAGE=" - https://www.djangoproject.com/ - https://github.com/django/django/ - https://pypi.org/project/Django/ -" -SRC_URI=" - https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz - https://dev.gentoo.org/~mgorny/dist/python/django-5.0-pypy3.patch.xz - verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt ) -" -S="${WORKDIR}/${P^}" - -LICENSE="BSD" -# admin fonts: Roboto (media-fonts/roboto) -LICENSE+=" Apache-2.0" -# admin icons, jquery, xregexp.js -LICENSE+=" MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos" -IUSE="doc sqlite test" -RESTRICT="!test? ( test )" - -RDEPEND=" - =dev-python/asgiref-3.7.0[${PYTHON_USEDEP}] - >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}] - sys-libs/timezone-data -" -BDEPEND=" - test? ( - $(python_gen_impl_dep sqlite) - ${RDEPEND} - >=dev-python/docutils-0.19[${PYTHON_USEDEP}] - >=dev-python/jinja-2.11.0[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pillow[webp,${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}] - >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}] - sys-devel/gettext - ) - verify-sig? ( >=sec-keys/openpgp-keys-django-20230606 ) -" - -PATCHES=( - "${FILESDIR}"/django-4.0-bashcomp.patch - "${WORKDIR}"/django-5.0-pypy3.patch - # https://github.com/django/django/commit/3426a5c33c36266af42128ee9eca4921e68ea876 - "${FILESDIR}"/django-5.0.6-py313.patch -) - -distutils_enable_sphinx docs --no-autodoc - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc - -src_unpack() { - if use verify-sig; then - cd "${DISTDIR}" || die - verify-sig_verify_signed_checksums \ - "${P^}.checksum.txt" sha256 "${P^}.tar.gz" - cd "${WORKDIR}" || die - fi - - default -} - -python_test() { - # Tests have non-standard assumptions about PYTHONPATH, - # and don't work with ${BUILD_DIR}/lib. - PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \ - -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" || - die "Tests fail with ${EPYTHON}" -} - -python_install_all() { - newbashcomp extras/django_bash_completion ${PN}-admin - bashcomp_alias ${PN}-admin django-admin.py - - distutils-r1_python_install_all -} - -pkg_postinst() { - optfeature_header "Additional Backend support can be enabled via:" - optfeature "MySQL backend support" dev-python/mysqlclient - optfeature "PostgreSQL backend support" dev-python/psycopg:0 - optfeature_header - optfeature "GEO Django" "sci-libs/gdal[geos]" - optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached - optfeature "ImageField Support" dev-python/pillow - optfeature "Password encryption" dev-python/bcrypt -} diff --git a/dev-python/django/django-5.0.7.ebuild b/dev-python/django/django-5.0.7.ebuild index ffca07c83c88..35d6e6723339 100644 --- a/dev-python/django/django-5.0.7.ebuild +++ b/dev-python/django/django-5.0.7.ebuild @@ -28,7 +28,7 @@ LICENSE+=" Apache-2.0" # admin icons, jquery, xregexp.js LICENSE+=" MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos" IUSE="doc sqlite test" RESTRICT="!test? ( test )" diff --git a/dev-python/django/files/django-3.1-bashcomp.patch b/dev-python/django/files/django-3.1-bashcomp.patch deleted file mode 100644 index 1652842aaa38..000000000000 --- a/dev-python/django/files/django-3.1-bashcomp.patch +++ /dev/null @@ -1,56 +0,0 @@ -From e0a8c0663debeb222bf78b97678f60929313b60a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= -Date: Wed, 6 May 2020 07:24:05 +0200 -Subject: [PATCH] Remove completions unsuitable for autoloading - -The override of 'python*' completions, as well as the attempt -to './manage.py' completion are not going to work with autoloader. -Strip them. ---- - extras/django_bash_completion | 33 +-------------------------------- - 1 file changed, 1 insertion(+), 32 deletions(-) - -diff --git a/extras/django_bash_completion b/extras/django_bash_completion -index fa77d59aff..dfeb439a2e 100755 ---- a/extras/django_bash_completion -+++ b/extras/django_bash_completion -@@ -37,35 +37,4 @@ _django_completion() - DJANGO_AUTO_COMPLETE=1 $1 ) ) - } - # When the django-admin.py deprecation ends, remove django-admin.py. --complete -F _django_completion -o default django-admin.py manage.py django-admin -- --_python_django_completion() --{ -- if [[ ${COMP_CWORD} -ge 2 ]]; then -- local PYTHON_EXE=${COMP_WORDS[0]##*/} -- if echo "$PYTHON_EXE" | grep -qE "python([3-9]\.[0-9])?"; then -- local PYTHON_SCRIPT=${COMP_WORDS[1]##*/} -- if echo "$PYTHON_SCRIPT" | grep -qE "manage\.py|django-admin(\.py)?"; then -- COMPREPLY=( $( COMP_WORDS=( "${COMP_WORDS[*]:1}" ) -- COMP_CWORD=$(( COMP_CWORD-1 )) -- DJANGO_AUTO_COMPLETE=1 ${COMP_WORDS[*]} ) ) -- fi -- fi -- fi --} -- --# Support for multiple interpreters. --unset pythons --if command -v whereis &>/dev/null; then -- python_interpreters=$(whereis python | cut -d " " -f 2-) -- for python in $python_interpreters; do -- [[ $python != *-config ]] && pythons="${pythons} ${python##*/}" -- done -- unset python_interpreters -- pythons=$(echo "$pythons" | tr " " "\n" | sort -u | tr "\n" " ") --else -- pythons=python --fi -- --complete -F _python_django_completion -o default $pythons --unset pythons -+complete -F _django_completion -o default django-admin.py django-admin --- -2.28.0 - diff --git a/dev-python/django/files/django-3.2.19-py311.patch b/dev-python/django/files/django-3.2.19-py311.patch deleted file mode 100644 index 976537289ff3..000000000000 --- a/dev-python/django/files/django-3.2.19-py311.patch +++ /dev/null @@ -1,183 +0,0 @@ -From 2882cf6f184c7578219e2b5266623e82c0e9b8a2 Mon Sep 17 00:00:00 2001 -From: Mariusz Felisiak -Date: Thu, 7 Apr 2022 07:02:21 +0200 -Subject: [PATCH] Refs #33173 -- Fixed test_runner/test_utils tests on Python - 3.11+. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Python 3.11 uses fully qualified test name in unittest output. See -https://github.com/python/cpython/commit/755be9b1505af591b9f2ee424a6525b6c2b65ce9 - -(rebased by Michał Górny) ---- - django/utils/version.py | 1 + - tests/test_runner/test_debug_sql.py | 30 ++++++++++++++++++----------- - tests/test_runner/test_parallel.py | 11 ++++++++--- - tests/test_utils/tests.py | 9 +++++++-- - 4 files changed, 35 insertions(+), 16 deletions(-) - -diff --git a/django/utils/version.py b/django/utils/version.py -index 74c327525e..0c2bfc626e 100644 ---- a/django/utils/version.py -+++ b/django/utils/version.py -@@ -15,6 +15,7 @@ PY37 = sys.version_info >= (3, 7) - PY38 = sys.version_info >= (3, 8) - PY39 = sys.version_info >= (3, 9) - PY310 = sys.version_info >= (3, 10) -+PY311 = sys.version_info >= (3, 11) - - - def get_version(version=None): -diff --git a/tests/test_runner/test_debug_sql.py b/tests/test_runner/test_debug_sql.py -index 0e8e4207d6..2b5fed7a76 100644 ---- a/tests/test_runner/test_debug_sql.py -+++ b/tests/test_runner/test_debug_sql.py -@@ -4,6 +4,7 @@ from io import StringIO - from django.db import connection - from django.test import TestCase - from django.test.runner import DiscoverRunner -+from django.utils.version import PY311 - - from .models import Person - -@@ -100,20 +101,27 @@ class TestDebugSQL(unittest.TestCase): - '''"test_runner_person"."first_name" = 'subtest-fail';'''), - ] - -+ # Python 3.11 uses fully qualified test name in the output. -+ method_name = ".runTest" if PY311 else "" -+ test_class_path = "test_runner.test_debug_sql.TestDebugSQL" - verbose_expected_outputs = [ -- 'runTest (test_runner.test_debug_sql.TestDebugSQL.FailingTest) ... FAIL', -- 'runTest (test_runner.test_debug_sql.TestDebugSQL.ErrorTest) ... ERROR', -- 'runTest (test_runner.test_debug_sql.TestDebugSQL.PassingTest) ... ok', -+ f"runTest ({test_class_path}.FailingTest{method_name}) ... FAIL", -+ f"runTest ({test_class_path}.ErrorTest{method_name}) ... ERROR", -+ f"runTest ({test_class_path}.PassingTest{method_name}) ... ok", - # If there are errors/failures in subtests but not in test itself, - # the status is not written. That behavior comes from Python. -- 'runTest (test_runner.test_debug_sql.TestDebugSQL.FailingSubTest) ...', -- 'runTest (test_runner.test_debug_sql.TestDebugSQL.ErrorSubTest) ...', -- ('''SELECT COUNT(*) AS "__count" ''' -- '''FROM "test_runner_person" WHERE ''' -- '''"test_runner_person"."first_name" = 'pass';'''), -- ('''SELECT COUNT(*) AS "__count" ''' -- '''FROM "test_runner_person" WHERE ''' -- '''"test_runner_person"."first_name" = 'subtest-pass';'''), -+ f"runTest ({test_class_path}.FailingSubTest{method_name}) ...", -+ f"runTest ({test_class_path}.ErrorSubTest{method_name}) ...", -+ ( -+ """SELECT COUNT(*) AS "__count" """ -+ """FROM "test_runner_person" WHERE """ -+ """"test_runner_person"."first_name" = 'pass';""" -+ ), -+ ( -+ """SELECT COUNT(*) AS "__count" """ -+ """FROM "test_runner_person" WHERE """ -+ """"test_runner_person"."first_name" = 'subtest-pass';""" -+ ), - ] - - def test_setupclass_exception(self): -diff --git a/tests/test_runner/test_parallel.py b/tests/test_runner/test_parallel.py -index c1a89bd0f0..0f1adcf208 100644 ---- a/tests/test_runner/test_parallel.py -+++ b/tests/test_runner/test_parallel.py -@@ -2,7 +2,7 @@ import unittest - - from django.test import SimpleTestCase - from django.test.runner import RemoteTestResult --from django.utils.version import PY37 -+from django.utils.version import PY37, PY311 - - try: - import tblib -@@ -78,8 +78,13 @@ class RemoteTestResultTest(SimpleTestCase): - self.assertEqual(len(events), 4) - - event = events[1] -- self.assertEqual(event[0], 'addSubTest') -- self.assertEqual(str(event[2]), 'dummy_test (test_runner.test_parallel.SampleFailingSubtest) (index=0)') -+ self.assertEqual(event[0], "addSubTest") -+ self.assertEqual( -+ str(event[2]), -+ "dummy_test (test_runner.test_parallel.SampleFailingSubtest%s) (index=0)" -+ # Python 3.11 uses fully qualified test name in the output. -+ % (".dummy_test" if PY311 else ""), -+ ) - trailing_comma = '' if PY37 else ',' - self.assertEqual(repr(event[3][1]), "AssertionError('0 != 1'%s)" % trailing_comma) - -diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py -index 9255315e98..8f72057afe 100644 ---- a/tests/test_utils/tests.py -+++ b/tests/test_utils/tests.py -@@ -26,6 +26,7 @@ from django.test.utils import ( - ) - from django.urls import NoReverseMatch, path, reverse, reverse_lazy - from django.utils.deprecation import RemovedInDjango41Warning -+from django.utils.version import PY311 - - from .models import Car, Person, PossessedCar - from .views import empty_response -@@ -78,9 +79,11 @@ class SkippingTestCase(SimpleTestCase): - SkipTestCase('test_foo').test_foo, - ValueError, - "skipUnlessDBFeature cannot be used on test_foo (test_utils.tests." -- "SkippingTestCase.test_skip_unless_db_feature..SkipTestCase) " -+ "SkippingTestCase.test_skip_unless_db_feature..SkipTestCase%s) " - "as SkippingTestCase.test_skip_unless_db_feature..SkipTestCase " - "doesn't allow queries against the 'default' database." -+ # Python 3.11 uses fully qualified test name in the output. -+ % (".test_foo" if PY311 else ""), - ) - - def test_skip_if_db_feature(self): -@@ -122,9 +125,11 @@ class SkippingTestCase(SimpleTestCase): - SkipTestCase('test_foo').test_foo, - ValueError, - "skipIfDBFeature cannot be used on test_foo (test_utils.tests." -- "SkippingTestCase.test_skip_if_db_feature..SkipTestCase) " -+ "SkippingTestCase.test_skip_if_db_feature..SkipTestCase%s) " - "as SkippingTestCase.test_skip_if_db_feature..SkipTestCase " - "doesn't allow queries against the 'default' database." -+ # Python 3.11 uses fully qualified test name in the output. -+ % (".test_foo" if PY311 else ""), - ) - - --- -2.40.0 - -From 0981a4bc273e2a87ad10c602d9547e006e06d8dd Mon Sep 17 00:00:00 2001 -From: Mariusz Felisiak -Date: Fri, 7 Apr 2023 11:07:54 +0200 -Subject: [PATCH] Refs #34118 -- Fixed CustomChoicesTests.test_uuid_unsupported - on Python 3.11.4+. - -https://github.com/python/cpython/commit/5342f5e713e0cc45b6f226d2d053a8cde1b4d68e - -Follow up to 38e63c9e61152682f3ff982c85a73793ab6d3267. ---- - tests/model_enums/tests.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tests/model_enums/tests.py b/tests/model_enums/tests.py -index ffc199ce42..c4ca6c91d7 100644 ---- a/tests/model_enums/tests.py -+++ b/tests/model_enums/tests.py -@@ -259,7 +259,7 @@ class CustomChoicesTests(SimpleTestCase): - pass - - def test_uuid_unsupported(self): -- msg = 'UUID objects are immutable' -- with self.assertRaisesMessage(TypeError, msg): -+ with self.assertRaises(TypeError): -+ - class Identifier(uuid.UUID, models.Choices): - A = '972ce4eb-a95f-4a56-9339-68c208a76f18' --- -2.40.1 - diff --git a/dev-python/django/files/django-3.2.20-urlsplit.patch b/dev-python/django/files/django-3.2.20-urlsplit.patch deleted file mode 100644 index 4883da38c0f5..000000000000 --- a/dev-python/django/files/django-3.2.20-urlsplit.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 74fee3f5cab1481dcb299b6eeaf82f862470bafa Mon Sep 17 00:00:00 2001 -From: mendespedro -Date: Wed, 15 Dec 2021 11:55:19 -0300 -Subject: [PATCH] Fixed #33367 -- Fixed URLValidator crash in some edge cases. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -[backported to 3.2.x by Michał Górny] ---- - django/core/validators.py | 13 +++--- - .../forms_tests/field_tests/test_urlfield.py | 40 +++++++++++++++---- - 2 files changed, 40 insertions(+), 13 deletions(-) - -diff --git a/django/core/validators.py b/django/core/validators.py -index b9b58dfa61..aad21f95ea 100644 ---- a/django/core/validators.py -+++ b/django/core/validators.py -@@ -111,15 +111,16 @@ class URLValidator(RegexValidator): - raise ValidationError(self.message, code=self.code, params={'value': value}) - - # Then check full URL -+ try: -+ splitted_url = urlsplit(value) -+ except ValueError: -+ raise ValidationError(self.message, code=self.code, params={'value': value}) - try: - super().__call__(value) - except ValidationError as e: - # Trivial case failed. Try for possible IDN domain - if value: -- try: -- scheme, netloc, path, query, fragment = urlsplit(value) -- except ValueError: # for example, "Invalid IPv6 URL" -- raise ValidationError(self.message, code=self.code, params={'value': value}) -+ scheme, netloc, path, query, fragment = splitted_url - try: - netloc = punycode(netloc) # IDN -> ACE - except UnicodeError: # invalid domain part -@@ -130,7 +131,7 @@ class URLValidator(RegexValidator): - raise - else: - # Now verify IPv6 in the netloc part -- host_match = re.search(r'^\[(.+)\](?::\d{2,5})?$', urlsplit(value).netloc) -+ host_match = re.search(r'^\[(.+)\](?::\d{1,5})?$', splitted_url.netloc) - if host_match: - potential_ip = host_match[1] - try: -@@ -142,7 +143,7 @@ class URLValidator(RegexValidator): - # section 3.1. It's defined to be 255 bytes or less, but this includes - # one byte for the length of the name and one byte for the trailing dot - # that's used to indicate absolute names in DNS. -- if len(urlsplit(value).hostname) > 253: -+ if splitted_url.hostname is None or len(splitted_url.hostname) > 253: - raise ValidationError(self.message, code=self.code, params={'value': value}) - - -diff --git a/tests/forms_tests/field_tests/test_urlfield.py b/tests/forms_tests/field_tests/test_urlfield.py -index 19e4351c6a..68b148e7b7 100644 ---- a/tests/forms_tests/field_tests/test_urlfield.py -+++ b/tests/forms_tests/field_tests/test_urlfield.py -@@ -135,13 +135,39 @@ class URLFieldTest(FormFieldAssertionsMixin, SimpleTestCase): - def test_urlfield_10(self): - """URLField correctly validates IPv6 (#18779).""" - f = URLField() -- urls = ( -- 'http://[12:34::3a53]/', -- 'http://[a34:9238::]:8080/', -- ) -- for url in urls: -- with self.subTest(url=url): -- self.assertEqual(url, f.clean(url)) -+ tests = [ -+ 'foo', -+ 'com.', -+ '.', -+ 'http://', -+ 'http://example', -+ 'http://example.', -+ 'http://.com', -+ 'http://invalid-.com', -+ 'http://-invalid.com', -+ 'http://inv-.alid-.com', -+ 'http://inv-.-alid.com', -+ '[a', -+ 'http://[a', -+ # Non-string. -+ 23, -+ # Hangs "forever" before fixing a catastrophic backtracking, -+ # see #11198. -+ 'http://%s' % ('X' * 60,), -+ # A second example, to make sure the problem is really addressed, -+ # even on domains that don't fail the domain label length check in -+ # the regex. -+ 'http://%s' % ("X" * 200,), -+ # urlsplit() raises ValueError. -+ '////]@N.AN', -+ # Empty hostname. -+ '#@A.bO', -+ ] -+ msg = "'Enter a valid URL.'" -+ for value in tests: -+ with self.subTest(value=value): -+ with self.assertRaisesMessage(ValidationError, msg): -+ f.clean(value) - - def test_urlfield_not_string(self): - f = URLField(required=False) --- -2.41.0 - diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest index 84f739a366f9..f8d9b09c2c68 100644 --- a/dev-python/google-api-python-client/Manifest +++ b/dev-python/google-api-python-client/Manifest @@ -1,2 +1,3 @@ DIST google-api-python-client-2.134.0.tar.gz 11393129 BLAKE2B f5339dfa42f621dbdd145295a2c2710ef9e6e2af543ff5b9643bea884f9e0678065999d60cbf150a56e7b0d8c283588c53461c86eeb491a6ba2ad0c553a48344 SHA512 09a137ee3e3d8f38129fc02d8ffed8934daf6cfcd13904692f44038332da026b30d952048148c8c4fe5c4fed3347196574a860f58e1943312d19f6f03a01ab36 DIST google-api-python-client-2.136.0.tar.gz 11443821 BLAKE2B ee313274ec25e1262ad54b800cf524e58400886876d9133b7c6e1d9668e81bce7b73f96511679bcc2a0f565ca9b89c7d6bc7087213e53575542c5e0b5e566ff9 SHA512 e5e8302c71953f0971d3b3159d7689cd76520efa4cee9ca541e78a5fcb14387506963cb20da06ac5760af814ece5ded0bc3942381aa9e96fd6c620eb8933a6ed +DIST google_api_python_client-2.137.0.tar.gz 11477114 BLAKE2B e0d7e64bfdd86bd882c8762b8d78fcd390152e569ca32df16fcbe91290508565086e4ca7e958d8d48ecaa6d5d23a0b1188b85f6a53004af54139977602c4f72c SHA512 442c08033fb12dbdcab3e45b911a9d43d93a4841369cd14344c9201a40b453d88ce602c3f45d965713ca826bec1f3e333f9425008d1cf1f59b6441283eb09807 diff --git a/dev-python/google-api-python-client/google-api-python-client-2.137.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.137.0.ebuild new file mode 100644 index 000000000000..10fa88d021bb --- /dev/null +++ b/dev-python/google-api-python-client/google-api-python-client-2.137.0.ebuild @@ -0,0 +1,50 @@ +# 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="Google API Client for Python" +HOMEPAGE=" + https://github.com/googleapis/google-api-python-client/ + https://pypi.org/project/google-api-python-client/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + >=dev-python/httplib2-0.15[${PYTHON_USEDEP}] + =dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}] + >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}] + >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}] + >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}] + +Date: Wed, 10 Jul 2024 07:33:47 +0200 +Subject: [PATCH] Fix functional API tests to be endian-agnostic + +Fix the "backslashreplace" tests for the functional API to be +endian-agnostic. The tests used to rely on `.encode("utf-16")` +producing the same data as found in the test file. However, on big +endian platforms it would produce a big endian encoding, while the test +file is little endian. To avoid the problem, explicitly specify +`utf-16-le` encoding. Since this meant that the BOM is no longer +produced, explicitly include it in input. + +Fixes #312 +--- + importlib_resources/tests/test_functional.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/importlib_resources/tests/test_functional.py b/importlib_resources/tests/test_functional.py +index 69706cf..255bd13 100644 +--- a/importlib_resources/tests/test_functional.py ++++ b/importlib_resources/tests/test_functional.py +@@ -82,7 +82,7 @@ def test_read_text(self): + 'utf-16.file', + errors='backslashreplace', + ), +- 'Hello, UTF-16 world!\n'.encode('utf-16').decode( ++ '\ufeffHello, UTF-16 world!\n'.encode('utf-16-le').decode( + errors='backslashreplace', + ), + ) +@@ -130,7 +130,7 @@ def test_open_text(self): + ) as f: + self.assertEqual( + f.read(), +- 'Hello, UTF-16 world!\n'.encode('utf-16').decode( ++ '\ufeffHello, UTF-16 world!\n'.encode('utf-16-le').decode( + errors='backslashreplace', + ), + ) diff --git a/dev-python/importlib-resources/importlib-resources-6.4.0.ebuild b/dev-python/importlib-resources/importlib-resources-6.4.0.ebuild index 5e10aed7404b..ad0db1bcd555 100644 --- a/dev-python/importlib-resources/importlib-resources-6.4.0.ebuild +++ b/dev-python/importlib-resources/importlib-resources-6.4.0.ebuild @@ -28,3 +28,8 @@ BDEPEND=" " distutils_enable_tests unittest + +PATCHES=( + # https://github.com/python/importlib_resources/pull/313 + "${FILESDIR}/${P}-be.patch" +) diff --git a/dev-python/ipython/ipython-8.25.0.ebuild b/dev-python/ipython/ipython-8.25.0.ebuild index af6c2290b4e2..c06942db625c 100644 --- a/dev-python/ipython/ipython-8.25.0.ebuild +++ b/dev-python/ipython/ipython-8.25.0.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos" IUSE="examples notebook nbconvert qt5 +smp test" RESTRICT="!test? ( test )" diff --git a/dev-python/mapbox-earcut/Manifest b/dev-python/mapbox-earcut/Manifest new file mode 100644 index 000000000000..c972a5a3bb86 --- /dev/null +++ b/dev-python/mapbox-earcut/Manifest @@ -0,0 +1 @@ +DIST mapbox_earcut_python-1.0.1.gh.tar.gz 11794 BLAKE2B c54c2333ac08f551737ff6ba0e5179464c0330fefeb11e5cff9ad6d3927e8a5d5323cbceffd271a25103e75da44f2a4efa17b8c338f888f69f71ee7bc1e21682 SHA512 cdb32585cbaf74c15e59af0ae70d983dd2f9bc9cfe1b59b3eadc4d442f7d962241854b589a035deae67cacd9334833b911d0981f0d417fe587348fc7d24f0c0a diff --git a/dev-python/mapbox-earcut/mapbox-earcut-1.0.1-r1.ebuild b/dev-python/mapbox-earcut/mapbox-earcut-1.0.1-r1.ebuild new file mode 100644 index 000000000000..9fc282465da5 --- /dev/null +++ b/dev-python/mapbox-earcut/mapbox-earcut-1.0.1-r1.ebuild @@ -0,0 +1,37 @@ +# 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 + +MY_P="mapbox_earcut_python-${PV}" +DESCRIPTION="Python bindings to the mapbox earcut C++ library" +HOMEPAGE="https://github.com/skogler/mapbox_earcut_python" +SRC_URI=" + https://github.com/skogler/mapbox_earcut_python/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 arm64 ~x86" + +DEPEND=" + dev-python/numpy:=[${PYTHON_USEDEP}] +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + dev-python/pybind11[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest + +DOCS=( CHANGELOG.md README.md ) diff --git a/dev-python/mapbox-earcut/metadata.xml b/dev-python/mapbox-earcut/metadata.xml new file mode 100644 index 000000000000..853174b8f2ab --- /dev/null +++ b/dev-python/mapbox-earcut/metadata.xml @@ -0,0 +1,10 @@ + + + + + python@gentoo.org + Python + + + gentoo-staging + \ No newline at end of file diff --git a/dev-python/mapbox_earcut/Manifest b/dev-python/mapbox_earcut/Manifest deleted file mode 100644 index c972a5a3bb86..000000000000 --- a/dev-python/mapbox_earcut/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST mapbox_earcut_python-1.0.1.gh.tar.gz 11794 BLAKE2B c54c2333ac08f551737ff6ba0e5179464c0330fefeb11e5cff9ad6d3927e8a5d5323cbceffd271a25103e75da44f2a4efa17b8c338f888f69f71ee7bc1e21682 SHA512 cdb32585cbaf74c15e59af0ae70d983dd2f9bc9cfe1b59b3eadc4d442f7d962241854b589a035deae67cacd9334833b911d0981f0d417fe587348fc7d24f0c0a diff --git a/dev-python/mapbox_earcut/mapbox_earcut-1.0.1-r1.ebuild b/dev-python/mapbox_earcut/mapbox_earcut-1.0.1-r1.ebuild deleted file mode 100644 index 9fc282465da5..000000000000 --- a/dev-python/mapbox_earcut/mapbox_earcut-1.0.1-r1.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# 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 - -MY_P="mapbox_earcut_python-${PV}" -DESCRIPTION="Python bindings to the mapbox earcut C++ library" -HOMEPAGE="https://github.com/skogler/mapbox_earcut_python" -SRC_URI=" - https://github.com/skogler/mapbox_earcut_python/archive/v${PV}.tar.gz - -> ${MY_P}.gh.tar.gz -" -S=${WORKDIR}/${MY_P} - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 arm64 ~x86" - -DEPEND=" - dev-python/numpy:=[${PYTHON_USEDEP}] -" -RDEPEND=" - ${DEPEND} -" -BDEPEND=" - dev-python/pybind11[${PYTHON_USEDEP}] -" - -distutils_enable_tests pytest - -DOCS=( CHANGELOG.md README.md ) diff --git a/dev-python/mapbox_earcut/metadata.xml b/dev-python/mapbox_earcut/metadata.xml deleted file mode 100644 index 853174b8f2ab..000000000000 --- a/dev-python/mapbox_earcut/metadata.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - python@gentoo.org - Python - - - gentoo-staging - \ No newline at end of file diff --git a/dev-python/mypy/mypy-1.10.1.ebuild b/dev-python/mypy/mypy-1.10.1.ebuild index 24c0486b2860..3d6616e153a7 100644 --- a/dev-python/mypy/mypy-1.10.1.ebuild +++ b/dev-python/mypy/mypy-1.10.1.ebuild @@ -63,14 +63,15 @@ PATCHES=( # test files (https://github.com/mypyc/mypyc/issues/1014) export CCACHE_DISABLE=1 -src_compile() { +python_compile() { local -x MYPY_USE_MYPYC=$(usex native-extensions 1 0) case ${EPYTHON} in python3.13) # https://github.com/mypyc/mypyc/issues/1056 MYPY_USE_MYPYC=0 + ;; esac - distutils-r1_src_compile + distutils-r1_python_compile } python_test() { diff --git a/dev-python/nanobind/nanobind-2.0.0-r1.ebuild b/dev-python/nanobind/nanobind-2.0.0-r1.ebuild index 9aa8bec468a8..45a5d845329d 100644 --- a/dev-python/nanobind/nanobind-2.0.0-r1.ebuild +++ b/dev-python/nanobind/nanobind-2.0.0-r1.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="~amd64 ~riscv" RDEPEND=">=dev-cpp/robin-map-1.3.0" DEPEND="${RDEPEND}" diff --git a/dev-python/netcdf4/Manifest b/dev-python/netcdf4/Manifest index 4bfb7a2252a8..cfcb9ed6d7f8 100644 --- a/dev-python/netcdf4/Manifest +++ b/dev-python/netcdf4/Manifest @@ -1,2 +1 @@ -DIST netCDF4-1.6.5.tar.gz 764969 BLAKE2B 6337099fbb66a53f2cda7a39e1b0dbb7b3ab9e6ec04177fc0deca1c86003bc20d9ed5d6ba72d5917766c1b9784c39c7cff328a7b5494aeb46bcc1ac895c13e7c SHA512 10f9b62399cf2d155f44b56d6d0f15950f610e855755bcb6d7d1756ded9ed513e83677ab70f7bc75eaffaca1703f37cc0a48c565927df7eb67beeb5a0be6f8d0 DIST netcdf4-1.7.1.tar.gz 827831 BLAKE2B a0b6956be7749133f4823f385ea82b84975985814b90e7172ecbfb6d4590cf0809471672375a2331181735d7af622f6302adf2dad5fd95f09e24078bbdc20581 SHA512 69b7465f1d7b138b9f2f18732528207c7a573e0a5637c964a881fddc8f01a53b16c7250c22824a6ee0e3383dccd7f93b1971f95a9d1558d6088709efa7558ce7 diff --git a/dev-python/netcdf4/metadata.xml b/dev-python/netcdf4/metadata.xml index e9074c2ff151..b347abf0342d 100644 --- a/dev-python/netcdf4/metadata.xml +++ b/dev-python/netcdf4/metadata.xml @@ -17,5 +17,10 @@ should be familiar to users of that module. + + + Allow using blosc compression via dev-libs/c-blosc + + gentoo-staging \ No newline at end of file diff --git a/dev-python/netcdf4/netcdf4-1.6.5.ebuild b/dev-python/netcdf4/netcdf4-1.6.5.ebuild deleted file mode 100644 index 23b4da2494ef..000000000000 --- a/dev-python/netcdf4/netcdf4-1.6.5.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# 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 -PYPI_NO_NORMALIZE=1 -PYPI_PN=netCDF4 -PYTHON_COMPAT=( python3_{8,9,10,11,12} ) - -inherit distutils-r1 optfeature pypi - -DESCRIPTION="Python/numpy interface to the netCDF C library" -HOMEPAGE=" - https://unidata.github.io/netcdf4-python/ - https://github.com/unidata/netcdf4-python/ - https://pypi.org/project/netCDF4/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux" -IUSE="test" -RESTRICT="!test? ( test )" - -DEPEND=" - dev-python/numpy[${PYTHON_USEDEP}] - sci-libs/hdf5:= - sci-libs/netcdf:=[hdf5] -" -RDEPEND=" - ${DEPEND} - dev-python/certifi[${PYTHON_USEDEP}] - dev-python/cftime[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/cython[${PYTHON_USEDEP}] - test? ( - ${RDEPEND} - dev-python/packaging[${PYTHON_USEDEP}] - sci-libs/netcdf[tools(+)] - ) -" - -python_test() { - local -x NO_NET=1 - cd test || die - "${EPYTHON}" run_all.py || die -} - -pkg_postinst() { - optfeature "HDF4 support" sci-libs/hdf "sci-libs/netcdf[hdf]" - optfeature "MPI parallel IO support" "sci-libs/hdf5[mpi]" "sci-libs/netcdf[mpi]" - optfeature "OPeNDAP support" net-misc/curl "sci-libs/netcdf[dap]" -} diff --git a/dev-python/netcdf4/netcdf4-1.7.1-r1.ebuild b/dev-python/netcdf4/netcdf4-1.7.1-r1.ebuild new file mode 100644 index 000000000000..07571a049868 --- /dev/null +++ b/dev-python/netcdf4/netcdf4-1.7.1-r1.ebuild @@ -0,0 +1,54 @@ +# 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 +PYPI_PN=netCDF4 +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="Python/numpy interface to the netCDF C library" +HOMEPAGE=" + https://unidata.github.io/netcdf4-python/ + https://github.com/unidata/netcdf4-python/ + https://pypi.org/project/netCDF4/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux" +IUSE="blosc bzip2 mpi test szip zstd" +RESTRICT="!test? ( test )" + +DEPEND=" + dev-python/numpy[${PYTHON_USEDEP}] + sci-libs/hdf5:= + sci-libs/netcdf:=[blosc(-)=,bzip2(-)=,hdf5,mpi=,szip=,zstd(-)=] +" +RDEPEND=" + ${DEPEND} + dev-python/certifi[${PYTHON_USEDEP}] + dev-python/cftime[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/cython[${PYTHON_USEDEP}] + test? ( + ${RDEPEND} + dev-python/packaging[${PYTHON_USEDEP}] + sci-libs/netcdf[tools(+)] + ) +" + +python_test() { + local -x NO_NET=1 + cd test || die + "${EPYTHON}" run_all.py || die +} + +pkg_postinst() { + optfeature "HDF4 support" sci-libs/hdf "sci-libs/netcdf[hdf]" + optfeature "OPeNDAP support" net-misc/curl "sci-libs/netcdf[dap]" +} diff --git a/dev-python/netcdf4/netcdf4-1.7.1.ebuild b/dev-python/netcdf4/netcdf4-1.7.1.ebuild deleted file mode 100644 index 090b298a7a96..000000000000 --- a/dev-python/netcdf4/netcdf4-1.7.1.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# 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 -PYPI_PN=netCDF4 -PYTHON_COMPAT=( python3_{8,9,10,11,12} ) - -inherit distutils-r1 optfeature pypi - -DESCRIPTION="Python/numpy interface to the netCDF C library" -HOMEPAGE=" - https://unidata.github.io/netcdf4-python/ - https://github.com/unidata/netcdf4-python/ - https://pypi.org/project/netCDF4/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux" -IUSE="test" -RESTRICT="!test? ( test )" - -DEPEND=" - dev-python/numpy[${PYTHON_USEDEP}] - sci-libs/hdf5:= - sci-libs/netcdf:=[hdf5] -" -RDEPEND=" - ${DEPEND} - dev-python/certifi[${PYTHON_USEDEP}] - dev-python/cftime[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/cython[${PYTHON_USEDEP}] - test? ( - ${RDEPEND} - dev-python/packaging[${PYTHON_USEDEP}] - sci-libs/netcdf[tools(+)] - ) -" - -python_test() { - local -x NO_NET=1 - cd test || die - "${EPYTHON}" run_all.py || die -} - -pkg_postinst() { - optfeature "HDF4 support" sci-libs/hdf "sci-libs/netcdf[hdf]" - optfeature "MPI parallel IO support" "sci-libs/hdf5[mpi]" "sci-libs/netcdf[mpi]" - optfeature "OPeNDAP support" net-misc/curl "sci-libs/netcdf[dap]" -} diff --git a/dev-python/patsy/files/patsy-0.5.6-np2.patch b/dev-python/patsy/files/patsy-0.5.6-np2.patch new file mode 100644 index 000000000000..169eadb851fe --- /dev/null +++ b/dev-python/patsy/files/patsy-0.5.6-np2.patch @@ -0,0 +1,51 @@ +diff --git a/patsy/highlevel.py b/patsy/highlevel.py +index 78d2942..298739d 100644 +--- a/patsy/highlevel.py ++++ b/patsy/highlevel.py +@@ -178,7 +178,7 @@ def _do_highlevel_design(formula_like, data, eval_env, + else: + # subok=True is necessary here to allow DesignMatrixes to pass + # through +- (lhs, rhs) = (None, asarray_or_pandas(formula_like, subok=True)) ++ (lhs, rhs) = (None, asarray_or_pandas(formula_like, subok=True, copy=None)) + # some sort of explicit matrix or matrices were given. Currently we + # have them in one of these forms: + # -- an ndarray or subclass +diff --git a/patsy/state.py b/patsy/state.py +index 933c588..c489a4b 100644 +--- a/patsy/state.py ++++ b/patsy/state.py +@@ -103,7 +103,7 @@ class Center(object): + pass + + def transform(self, x): +- x = asarray_or_pandas(x) ++ x = asarray_or_pandas(x, copy=None) + # This doesn't copy data unless our input is a DataFrame that has + # heterogeneous types. And in that case we're going to be munging the + # types anyway, so copying isn't a big deal. +diff --git a/patsy/util.py b/patsy/util.py +index 3116e11..7ac6f79 100644 +--- a/patsy/util.py ++++ b/patsy/util.py +@@ -69,7 +69,7 @@ def asarray_or_pandas(a, copy=False, dtype=None, subok=False): + + def test_asarray_or_pandas(): + import warnings +- assert type(asarray_or_pandas([1, 2, 3])) is np.ndarray ++ assert type(asarray_or_pandas([1, 2, 3], copy=True)) is np.ndarray + with warnings.catch_warnings() as w: + warnings.filterwarnings('ignore', 'the matrix subclass', + PendingDeprecationWarning) +@@ -83,9 +83,9 @@ def test_asarray_or_pandas(): + assert np.array_equal(a, a_copy) + a_copy[0] = 100 + assert not np.array_equal(a, a_copy) +- assert np.allclose(asarray_or_pandas([1, 2, 3], dtype=float), ++ assert np.allclose(asarray_or_pandas([1, 2, 3], dtype=float, copy=None), + [1.0, 2.0, 3.0]) +- assert asarray_or_pandas([1, 2, 3], dtype=float).dtype == np.dtype(float) ++ assert asarray_or_pandas([1, 2, 3], dtype=float, copy=None).dtype == np.dtype(float) + a_view = asarray_or_pandas(a, dtype=a.dtype) + a_view[0] = 99 + assert a[0] == 99 diff --git a/dev-python/patsy/patsy-0.5.6-r2.ebuild b/dev-python/patsy/patsy-0.5.6-r2.ebuild new file mode 100644 index 000000000000..a07678f094d0 --- /dev/null +++ b/dev-python/patsy/patsy-0.5.6-r2.ebuild @@ -0,0 +1,51 @@ +# 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="Python module to describe statistical models and design matrices" +HOMEPAGE=" + https://patsy.readthedocs.io/en/latest/index.html + https://github.com/pydata/patsy/ + https://pypi.org/project/patsy/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + !hppa? ( + dev-python/scipy[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +PATCHES=( + # https://github.com/pydata/patsy/issues/210 + # ([probably] non-upstreamable hack) + "${FILESDIR}/${P}-np2.patch" +) + +python_test() { + local EPYTEST_DESELECT=() + + case ${EPYTHON} in + python3.13) + EPYTEST_DESELECT+=( + patsy/eval.py::test_EvalEnvironment_eq + ) + ;; + esac + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/pyopencl/pyopencl-2024.2.7.ebuild b/dev-python/pyopencl/pyopencl-2024.2.7.ebuild index be683f0bea90..c9599985a413 100644 --- a/dev-python/pyopencl/pyopencl-2024.2.7.ebuild +++ b/dev-python/pyopencl/pyopencl-2024.2.7.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="~amd64 ~riscv" IUSE="examples opengl" # Running tests on GPUs requires both appropriate hardware and additional permissions diff --git a/dev-python/pytest-recording/Manifest b/dev-python/pytest-recording/Manifest index ee9bd183e1f4..b244968a18c2 100644 --- a/dev-python/pytest-recording/Manifest +++ b/dev-python/pytest-recording/Manifest @@ -1 +1,2 @@ DIST pytest_recording-0.13.1.tar.gz 24987 BLAKE2B 70c7d65823e1a6507353dcab61659a4fe05a4f3d81471dfa3818ca34f6b6c1c22444ee6c1d04b67e87db93ffba63e8bf091beb7d3f60723bc1f7fa8dfde641cd SHA512 1f815b45361165a9fa2655c0cfb5a69193a556e748dc5d69aac0f49a36e943a60a990c3f503a29aae58f9409661f5f47041a30766fb1b5276789eec255b1556b +DIST pytest_recording-0.13.2.tar.gz 25270 BLAKE2B b11a4504ec92e5ddeb53d447224cb595d0e2a1cb3ac09e76eafffc8fa8884df07ffc1b739d15095bb4023161bf6b3f45f86e2a912c86649584976a0c786984f9 SHA512 b93b40d8a843a23c7f9d3fe6c9a4076c5d43cdc4439926f641b2a5b1831fb3cdb5511594e4c2e3268bda564c0d56bdd9167a8f2b8a0cac767266e41047ea1c8c diff --git a/dev-python/pytest-recording/pytest-recording-0.13.2.ebuild b/dev-python/pytest-recording/pytest-recording-0.13.2.ebuild new file mode 100644 index 000000000000..700030ea88d0 --- /dev/null +++ b/dev-python/pytest-recording/pytest-recording-0.13.2.ebuild @@ -0,0 +1,46 @@ +# Copyright 2023-2024 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="A pytest plugin to record network interactions via VCR.py" +HOMEPAGE=" + https://pypi.org/project/pytest-recording/ + https://github.com/kiwicom/pytest-recording/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + >=dev-python/pytest-3.5.0[${PYTHON_USEDEP}] + >=dev-python/vcrpy-2.0.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/pytest-httpbin[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test () { + local EPYTEST_DESELECT=( + # Internet + # https://github.com/kiwicom/pytest-recording/issues/131 + tests/test_blocking_network.py::test_block_network_with_allowed_hosts + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=pytest_recording.plugin + PYTEST_PLUGINS+=,pytest_httpbin.plugin,pytest_mock + epytest +} diff --git a/dev-python/pytools/Manifest b/dev-python/pytools/Manifest index de282a6bf6a5..f1cad9524054 100644 --- a/dev-python/pytools/Manifest +++ b/dev-python/pytools/Manifest @@ -1,2 +1,3 @@ DIST pytools-2024.1.5.tar.gz 80774 BLAKE2B 37e9e14d5a62cdad34ddbfd0eabec747c392ba1506aacc76322f090699192369915882ba948fa07cd7a45369d3391343d9b2554def851e844976bc0442ddcfb6 SHA512 af7b79f1e26a43459765627ce6e6740953c38e05e26f3ec17360ccdf588ac320eabb5540fbbf9570cde324b8aae2412878316e9930e5195f467dbf5b74ca76b8 DIST pytools-2024.1.6.tar.gz 81344 BLAKE2B ff68e2606170bf54e3f609ee7f4cfe58e063f43dcfb2706d5ed7659ea2fde863e6315d0d81dff2e62a3378f195413561a927b0c1e7bedc06388cf4893c07b873 SHA512 a9e934f1cbaf0ace32420f9b74224a06ce8421ee291b837292133969c6788c4cc8bea01446cd4d1505aca9fa81e8ae0d3eacf60d3285186e66d67d5abe10ce3e +DIST pytools-2024.1.7.tar.gz 82211 BLAKE2B 07da2dbd2d19ec11a481f71aac1273f64e3eb00483b1a633d42a08e36aa8d76e0cae0235538f58d0c2acf12079544b168a97d78c9aa1d3421525e6fe47f1db82 SHA512 9833cf5c3b72cb89bf25dde5f15c5970db5dd86e1eaf1dbfb8e7024ac0854fa200f6bb64f8ebd346998c4ca792ee0dca898b0de0f839445c64e2279dcc771788 diff --git a/dev-python/pytools/pytools-2024.1.7.ebuild b/dev-python/pytools/pytools-2024.1.7.ebuild new file mode 100644 index 000000000000..40d671010f10 --- /dev/null +++ b/dev-python/pytools/pytools-2024.1.7.ebuild @@ -0,0 +1,34 @@ +# 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} ) +PYTHON_REQ_USE='sqlite' + +inherit distutils-r1 pypi + +DESCRIPTION="Collection of tools missing from the Python standard library" +HOMEPAGE=" + https://mathema.tician.de/software/pytools/ + https://github.com/inducer/pytools/ + https://pypi.org/project/pytools/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv" + +# NB: numpy is now an "extra" (optional) dep -- we can remove it from +# RDEPEND If revdeps don't need it +RDEPEND=" + >=dev-python/numpy-1.6[${PYTHON_USEDEP}] + >=dev-python/platformdirs-2.2[${PYTHON_USEDEP}] + >=dev-python/siphash24-1.6[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/typing-extensions-4[${PYTHON_USEDEP}] + ' 3.10) +" + +distutils_enable_tests pytest diff --git a/dev-python/recurring-ical-events/Manifest b/dev-python/recurring-ical-events/Manifest index 729d6fb052a4..422fa97146f4 100644 --- a/dev-python/recurring-ical-events/Manifest +++ b/dev-python/recurring-ical-events/Manifest @@ -1,2 +1,3 @@ DIST python-recurring-ical-events-2.2.1.gh.tar.gz 332458 BLAKE2B 337823e2a98c43015ffd7e848ab4fe43429f787ceb8ff262dca9d73668a785d6245f9e64779c900f1a84a2d7713832621d42044309f38c44bba79fc2853d066f SHA512 1bd6337b5b8670b2c587d54eae26291c381adba76c38e21a937db8a16480d9b4c6eaddda6660fd0c345f67e38ed4f7cfe9e528ecce3686bce9659f4ef30d278c DIST python-recurring-ical-events-2.2.2.gh.tar.gz 335683 BLAKE2B 1cad8f90f5dcf9e84ac7688e15b8535aaef0c00a0e65a036ef7f38e1b030cc4c017247149d8ef9d099a28a919d015603ebb71c18a44b8bbf26f3f4c3eefbf942 SHA512 0429a344c70c1a844ed2705112776971413e4ed61a54ccb665f0246b208416ad2ce855ff31766bd628439d08432bf4fea8cbf43f878c35835ba6b137bffa3b85 +DIST python-recurring-ical-events-2.2.3.gh.tar.gz 337134 BLAKE2B 6a119c427e176c92f822186aa910eb133f04157069f7a4e632c0b784ab5e71ae37584ceaddf1d0a6d533854d790322130964222eaa00948c6af2bae89491ef00 SHA512 569a21056947d19d85cbf93e02b3fb9236163535d478188a6cdb5b5d7a5e3b460ecf41ac3a2b858e446273aba5d8c5a9b69eebbb3f32ce453e2ee90a31ed1acf diff --git a/dev-python/recurring-ical-events/recurring-ical-events-2.2.3.ebuild b/dev-python/recurring-ical-events/recurring-ical-events-2.2.3.ebuild new file mode 100644 index 000000000000..f2dcb9da25ef --- /dev/null +++ b/dev-python/recurring-ical-events/recurring-ical-events-2.2.3.ebuild @@ -0,0 +1,45 @@ +# Copyright 2023-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 + +MY_P=python-${P} +DESCRIPTION="Repeat ICalendar events by RRULE, RDATE and EXDATE" +HOMEPAGE=" + https://github.com/niccokunzmann/python-recurring-ical-events/ + https://pypi.org/project/recurring-ical-events/ +" +SRC_URI=" + https://github.com/niccokunzmann/python-recurring-ical-events/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="LGPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + =dev-python/icalendar-5.0.9[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}] + =dev-python/x-wr-timezone-0.0.5[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/icalendar-6[${PYTHON_USEDEP}] + >=dev-python/pytz-2023.3[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + test/test_readme.py +) diff --git a/dev-python/rtree/Manifest b/dev-python/rtree/Manifest new file mode 100644 index 000000000000..0fac7140604c --- /dev/null +++ b/dev-python/rtree/Manifest @@ -0,0 +1,2 @@ +DIST Rtree-1.0.0.tar.gz 48837 BLAKE2B 60e516155e7e48158494b7ea4720dc71ece2111fb94e320976a6dd691d2458b8586c2bf8109a37d86db211ac342d77877b435bdb54627a94c898642e8520a071 SHA512 9a414cd65b27ba35313dd7185dece83f5d7235867f6f0c72c2902d7ffd72808138dbf30d8fe11c8bbf0ec463072e5f6112d75b5fdd5a1dab7720c56d3632d576 +DIST rtree-1.3.0.tar.gz 48190 BLAKE2B 1a9ed3617ca14e3a88e5800e871e3d3edd58bc31d5dcad3c30a4a3a51b44678beacfddc1c72cbd984139e8e9acfffda45cc478857dacba5b44e7775f29ef890f SHA512 28810b769d90914e5aea9ea0b7f27b946c8d19495965696624d4fdd94c6ad462eb5ce7004d2c41e017d14a69bc913f43fdcef5293abe8504b66d8dcd5f4955a2 diff --git a/dev-python/rtree/metadata.xml b/dev-python/rtree/metadata.xml new file mode 100644 index 000000000000..c27b56f54e6f --- /dev/null +++ b/dev-python/rtree/metadata.xml @@ -0,0 +1,24 @@ + + + + + 3dprint@gentoo.org + Gentoo 3D Printer Project + + + andrewammerlaan@gentoo.org + Andrew Ammerlaan + + + python@gentoo.org + Python + + + Rtree is a ctypes Python wrapper of libspatialindex that provides a number of advanced spatial indexing + features for the spatially curious Python user. + + + https://github.com/Toblerity/rtree/issues + + gentoo-staging + \ No newline at end of file diff --git a/dev-python/rtree/rtree-1.0.0.ebuild b/dev-python/rtree/rtree-1.0.0.ebuild new file mode 100644 index 000000000000..1a9f5236a094 --- /dev/null +++ b/dev-python/rtree/rtree-1.0.0.ebuild @@ -0,0 +1,30 @@ +# 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} ) +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYPI_PN=${PN^} + +inherit distutils-r1 pypi + +DESCRIPTION="R-Tree spatial index for Python GIS" +HOMEPAGE="https://rtree.readthedocs.io" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 arm64 ~x86" + +RDEPEND=" + sci-libs/libspatialindex + dev-python/typing-extensions[${PYTHON_USEDEP}] +" + +BDEPEND=" + test? ( dev-python/numpy[${PYTHON_USEDEP}] ) +" + +distutils_enable_sphinx docs/source +distutils_enable_tests pytest diff --git a/dev-python/rtree/rtree-1.3.0.ebuild b/dev-python/rtree/rtree-1.3.0.ebuild new file mode 100644 index 000000000000..63a72d333c22 --- /dev/null +++ b/dev-python/rtree/rtree-1.3.0.ebuild @@ -0,0 +1,36 @@ +# 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} ) +DISTUTILS_USE_PEP517=setuptools +PYPI_PN=${PN^} + +inherit distutils-r1 pypi + +DESCRIPTION="R-Tree spatial index for Python GIS" +HOMEPAGE=" + https://rtree.readthedocs.io/ + https://github.com/Toblerity/rtree/ + https://pypi.org/project/Rtree/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + sci-libs/libspatialindex + dev-python/typing-extensions[${PYTHON_USEDEP}] +" + +BDEPEND=" + test? ( + dev-python/numpy[${PYTHON_USEDEP}] + ) +" + +distutils_enable_sphinx docs/source \ + dev-python/sphinx-issues +distutils_enable_tests pytest diff --git a/dev-python/siphash24/Manifest b/dev-python/siphash24/Manifest new file mode 100644 index 000000000000..8e1b28ee7ad9 --- /dev/null +++ b/dev-python/siphash24/Manifest @@ -0,0 +1 @@ +DIST siphash24-1.6.tar.gz 19659 BLAKE2B d2f454ab64b7c50bd415a5821ce50fd97b43d9c13999d134b260a1a19863bf827a4baf4599b0647b5f936ec27d9f1985f94fd3adc4fa5112f2f7ad03afac5abb SHA512 2a04c35445e63f00e440797a84ed1714b5576ad3fa4c4933e5199ce3322056188eca0c0947ae4370fce9a2028a7677c9c8bfcf771be1dde884b7a02ef1edeb65 diff --git a/dev-python/siphash24/metadata.xml b/dev-python/siphash24/metadata.xml new file mode 100644 index 000000000000..7ad11570cc7d --- /dev/null +++ b/dev-python/siphash24/metadata.xml @@ -0,0 +1,9 @@ + + + + + python@gentoo.org + + + gentoo-staging + \ No newline at end of file diff --git a/dev-python/siphash24/siphash24-1.6.ebuild b/dev-python/siphash24/siphash24-1.6.ebuild new file mode 100644 index 000000000000..536bb818b748 --- /dev/null +++ b/dev-python/siphash24/siphash24-1.6.ebuild @@ -0,0 +1,29 @@ +# Copyright 2024 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 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Streaming-capable SipHash-1-3 and SipHash-2-4 Implementation" +HOMEPAGE=" + https://github.com/dnicolodi/python-siphash24/ + https://pypi.org/project/siphash24/ +" + +LICENSE="|| ( Apache-2.0 LGPL-2.1+ )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv" + +DEPEND=" + dev-libs/c-siphash +" +BDEPEND=" + >=dev-python/cython-3.0.2[${PYTHON_USEDEP}] +" + +distutils_enable_tests unittest diff --git a/dev-python/spyder/spyder-5.5.4.ebuild b/dev-python/spyder/spyder-5.5.4.ebuild index 66e709fbd6a0..14ee4971306b 100644 --- a/dev-python/spyder/spyder-5.5.4.ebuild +++ b/dev-python/spyder/spyder-5.5.4.ebuild @@ -55,7 +55,7 @@ RDEPEND=" >=dev-python/qtconsole-5.5.1[${PYTHON_USEDEP}] =dev-python/QtPy-2.1.0[${PYTHON_USEDEP},pyqt5,svg,webengine] - >=sci-libs/rtree-0.9.7[${PYTHON_USEDEP}] + >=dev-python/rtree-0.9.7[${PYTHON_USEDEP}] >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}] >=dev-python/spyder-kernels-2.5.1[${PYTHON_USEDEP}] =dev-python/qtconsole-5.5.1[${PYTHON_USEDEP}] =dev-python/QtPy-2.4.0[${PYTHON_USEDEP},svg,webengine] - >=sci-libs/rtree-0.9.7[${PYTHON_USEDEP}] + >=dev-python/rtree-0.9.7[${PYTHON_USEDEP}] >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}] >=dev-python/spyder-kernels-3.0.0_beta7[${PYTHON_USEDEP}] >> atom1 = StringAtom(itemsize=10) # same as ``atom2`` + >>> atom2 = Atom.from_kind('string', 10) # same as ``atom1`` + >>> atom3 = IntAtom() +- >>> atom1 == 'foo' ++ >>> bool(atom1 == 'foo') + False +- >>> atom1 == atom2 ++ >>> bool(atom1 == atom2) + True +- >>> atom2 != atom1 ++ >>> bool(atom2 != atom1) + False +- >>> atom1 == atom3 ++ >>> bool(atom1 == atom3) + False +- >>> atom3 != atom2 ++ >>> bool(atom3 != atom2) + True + + """ +diff --git a/tables/index.py b/tables/index.py +index e8c8caf7..28ff37e2 100644 +--- a/tables/index.py ++++ b/tables/index.py +@@ -581,7 +581,8 @@ class Index(NotLoggedMixin, Group, indexesextension.Index): + # Add a second offset in this case + # First normalize the number of rows + offset2 = (nrow % self.nslicesblock) * slicesize // lbucket +- idx += offset2 ++ assert offset2 < 2**(indsize*8) ++ idx += np.asarray(offset2).astype(idx.dtype) + # Add the last row at the beginning of arr & idx (if needed) + if (indsize == 8 and nelementsILR > 0): + # It is possible that the values in LR are already sorted. +@@ -622,11 +623,11 @@ class Index(NotLoggedMixin, Group, indexesextension.Index): + show_stats("Entering final_idx32", tref) + # Do an upcast first in order to add the offset. + idx = idx.astype('uint64') +- idx += offset ++ idx += np.asarray(offset).astype(idx.dtype) + # The next partition is valid up to table sizes of + # 2**30 * 2**18 = 2**48 bytes, that is, 256 Tera-elements, + # which should be a safe figure, at least for a while. +- idx //= self.lbucket ++ idx //= np.asarray(self.lbucket).astype(idx.dtype) + # After the division, we can downsize the indexes to 'uint32' + idx = idx.astype('uint32') + if profile: +@@ -2002,7 +2003,7 @@ class Index(NotLoggedMixin, Group, indexesextension.Index): + else: + self.indicesLR._read_index_slice(start, stop, idx) + if indsize == 8: +- idx //= lbucket ++ idx //= np.asarray(lbucket).astype(idx.dtype) + elif indsize == 2: + # The chunkmap size cannot be never larger than 'int_' + idx = idx.astype("int_") +diff --git a/tables/tests/common.py b/tables/tests/common.py +index 31378a88..1992f39a 100644 +--- a/tables/tests/common.py ++++ b/tables/tests/common.py +@@ -205,7 +205,7 @@ def allequal(a, b, flavor="numpy"): + return result + + +-def areArraysEqual(arr1, arr2): ++def areArraysEqual(arr1, arr2, *, check_type=True): + """Are both `arr1` and `arr2` equal arrays? + + Arguments can be regular NumPy arrays, chararray arrays or +@@ -217,8 +217,8 @@ def areArraysEqual(arr1, arr2): + t1 = type(arr1) + t2 = type(arr2) + +- if not ((hasattr(arr1, 'dtype') and arr1.dtype == arr2.dtype) or +- issubclass(t1, t2) or issubclass(t2, t1)): ++ if check_type and not ((hasattr(arr1, 'dtype') and arr1.dtype == arr2.dtype) or ++ issubclass(t1, t2) or issubclass(t2, t1)): + return False + + return np.all(arr1 == arr2) +diff --git a/tables/tests/test_expression.py b/tables/tests/test_expression.py +index 018d4208..d9c0e990 100644 +--- a/tables/tests/test_expression.py ++++ b/tables/tests/test_expression.py +@@ -265,9 +265,12 @@ class MixedContainersTestCase(common.TempFileMixin, common.PyTablesTestCase): + if common.verbose: + print("Computed expression:", repr(r1), r1.dtype) + print("Should look like:", repr(r2), r2.dtype) +- self.assertTrue( +- r1.shape == r2.shape and r1.dtype == r2.dtype and r1 == r2, +- "Evaluate is returning a wrong value.") ++ msg = f"Evaluate is returning a wrong value: {expr_str}\n{r1=}\n{r2=}" ++ self.assertEqual(r1.shape, r2.shape, msg=msg) ++ # In something like 2 * np.in16(3) + np.int16(2) the result is still a ++ # np.int16 in NumPy 2.0, so we shouldn't actually check this: ++ # self.assertEqual(r1.dtype, r2.dtype, msg=msg) ++ self.assertEqual(r1, r2, msg=msg) + + def test01a_out(self): + """Checking expressions with mixed objects (`out` param)""" +@@ -305,8 +308,9 @@ class MixedContainersTestCase(common.TempFileMixin, common.PyTablesTestCase): + if common.verbose: + print("Computed expression:", repr(r1), r1.dtype) + print("Should look like:", repr(r2), r2.dtype) +- self.assertTrue(common.areArraysEqual(r1, r2), +- "Evaluate is returning a wrong value.") ++ msg = f"Evaluate is returning a wrong value: {expr_str}\n{r1=}\n{r2=}" ++ # On NumPy 2 type promotion is different so don't check type here ++ self.assertTrue(common.areArraysEqual(r1, r2, check_type=False), msg=msg) + + def test02a_sss(self): + """Checking mixed objects and start, stop, step (I)""" +diff --git a/tables/tests/test_indexvalues.py b/tables/tests/test_indexvalues.py +index fac33af8..85ca38c3 100644 +--- a/tables/tests/test_indexvalues.py ++++ b/tables/tests/test_indexvalues.py +@@ -2296,6 +2296,11 @@ class SelectValuesTestCase(common.TempFileMixin, common.PyTablesTestCase): + self.assertFalse(t1var3.index.dirty) + self.assertFalse(t1var4.index.dirty) + ++ # TODO: IT IS DIRTY BECAUSE THIS FIXES THINGS FOR FINSV2aTestCase, ++ # which otherwise fails a test a few lines below! ++ for col in table1.colinstances.values(): ++ col.reindex() ++ + # Do some selections and check the results + # First selection: string + # Convert the limits to the appropriate type +@@ -2318,11 +2323,15 @@ class SelectValuesTestCase(common.TempFileMixin, common.PyTablesTestCase): + # Second selection: bool + results1 = [p["var2"] for p in table1.where('t1var2 == True')] + results2 = [p["var2"] for p in table2 if p["var2"] is True] +- if common.verbose: +- print("Length results:", len(results1)) +- print("Should be:", len(results2)) +- self.assertEqual(len(results1), len(results2)) +- self.assertEqual(results1, results2) ++ t2var1_vals = [p["var1"] for p in table2] ++ t2var2_vals = [p["var2"] for p in table2] ++ msg = ( ++ f"Incorrect results for t1var2[n] == True where\n" ++ f"t2var1_vals={repr(t2var1_vals)}\nt2var2_vals={repr(t2var2_vals)}\n" ++ f"\n{results1=}\n{results2=}" ++ ) ++ self.assertEqual(len(results1), len(results2), msg=msg) ++ self.assertEqual(results1, results2, msg=msg) + + # Third selection: int + # Convert the limits to the appropriate type +@@ -3228,7 +3237,9 @@ class LastRowReuseBuffers(common.PyTablesTestCase): + + + normal_tests = ( +- "SV1aTestCase", "SV2aTestCase", "SV3aTestCase", ++ "SV1aTestCase", ++ "SV2aTestCase", ++ "SV3aTestCase", + ) + + heavy_tests = ( +diff --git a/tables/utils.py b/tables/utils.py +index e11e5ba7..7d786e32 100644 +--- a/tables/utils.py ++++ b/tables/utils.py +@@ -25,6 +25,11 @@ byteorders = { + SizeType = np.int64 + + ++copy_if_needed = ( ++ None if np.lib.NumpyVersion(np.__version__) >= "2.0.0" else False ++) ++ ++ + def correct_byteorder(ptype, byteorder): + """Fix the byteorder depending on the PyTables types.""" + +@@ -78,7 +83,7 @@ def idx2long(index): + # with atom from a generic python type. If copy is stated as True, it + # is assured that it will return a copy of the object and never the same + # object or a new one sharing the same memory. +-def convert_to_np_atom(arr, atom, copy=False): ++def convert_to_np_atom(arr, atom, copy=copy_if_needed): + """Convert a generic object into a NumPy object compliant with atom.""" + + # First, convert the object into a NumPy array +@@ -112,7 +117,7 @@ def convert_to_np_atom2(object, atom): + + # Check whether the object needs to be copied to make the operation + # safe to in-place conversion. +- copy = atom.type in ['time64'] ++ copy = True if atom.type in ['time64'] else copy_if_needed + nparr = convert_to_np_atom(object, atom, copy) + # Finally, check the byteorder and change it if needed + byteorder = byteorders[nparr.dtype.byteorder] diff --git a/dev-python/tables/files/tables-3.9.2-py313.patch b/dev-python/tables/files/tables-3.9.2-py313.patch new file mode 100644 index 000000000000..660c5615765f --- /dev/null +++ b/dev-python/tables/files/tables-3.9.2-py313.patch @@ -0,0 +1,73 @@ +From 4a1b480e7e3758cf2cf06354ec5720020db16ce7 Mon Sep 17 00:00:00 2001 +From: Antonio Valentino +Date: Sun, 19 May 2024 17:39:47 +0200 +Subject: [PATCH] Fix compatibility with Python v3.13 (Closes: #1166) + +The unittest.makeSuite function is not available in Python 3.13. +--- +diff --git a/tables/tests/test_aux.py b/tables/tests/test_aux.py +index 95f34ee16..cf4f022de 100644 +--- a/tables/tests/test_aux.py ++++ b/tables/tests/test_aux.py +@@ -2,6 +2,7 @@ + import numpy as np + + import tables as tb ++from tables.tests.common import make_suite + + + class TestAuxiliaryFunctions(unittest.TestCase): +diff --git a/tables/nodes/tests/test_filenode.py b/tables/nodes/tests/test_filenode.py +index c2754218a..3572cc38f 100644 +--- a/tables/nodes/tests/test_filenode.py ++++ b/tables/nodes/tests/test_filenode.py +@@ -9,7 +9,7 @@ + from ... import open_file, file, NoSuchNodeError + from ...nodes import filenode + from ...tests.common import ( +- unittest, TempFileMixin, parse_argv, print_versions, ++ unittest, TempFileMixin, parse_argv, print_versions, make_suite, + PyTablesTestCase as TestCase) + + +diff --git a/tables/tests/common.py b/tables/tests/common.py +index 31378a880..918b17247 100644 +--- a/tables/tests/common.py ++++ b/tables/tests/common.py +@@ -366,3 +366,10 @@ def test00(self): + print(f"VmSize: {vmsize:>7} kB\tVmRSS: {vmrss:>7} kB") + print(f"VmData: {vmdata:>7} kB\tVmStk: {vmstk:>7} kB") + print(f"VmExe: {vmexe:>7} kB\tVmLib: {vmlib:>7} kB") ++ ++ ++try: ++ from unittest import makeSuite as make_suite ++except ImportError: ++ def make_suite(test_case_class): ++ return unittest.TestLoader().loadTestsFromTestCase(test_case_class) +From 424784895b0fb15ad06707ce60f9829cef4f11e2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Mon, 3 Jun 2024 17:21:38 +0200 +Subject: [PATCH] Make tables.tests.common.make_suite() accept the prefix + argument + +...as test_queries.py uses it. +--- + tables/tests/common.py | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/tables/tests/common.py b/tables/tests/common.py +index 918b17247..1d2e5feab 100644 +--- a/tables/tests/common.py ++++ b/tables/tests/common.py +@@ -371,5 +371,8 @@ def test00(self): + try: + from unittest import makeSuite as make_suite + except ImportError: +- def make_suite(test_case_class): +- return unittest.TestLoader().loadTestsFromTestCase(test_case_class) ++ def make_suite(test_case_class, *, prefix=None): ++ loader = unittest.TestLoader() ++ if prefix: ++ loader.testMethodPrefix = prefix ++ return loader.loadTestsFromTestCase(test_case_class) diff --git a/dev-python/tables/tables-3.9.2-r1.ebuild b/dev-python/tables/tables-3.9.2-r1.ebuild new file mode 100644 index 000000000000..424a9952190a --- /dev/null +++ b/dev-python/tables/tables-3.9.2-r1.ebuild @@ -0,0 +1,89 @@ +# 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(+)" + +inherit distutils-r1 prefix pypi + +DESCRIPTION="Hierarchical datasets for Python" +HOMEPAGE=" + https://www.pytables.org/ + https://github.com/PyTables/PyTables/ + https://pypi.org/project/tables/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="+cpudetection examples test" +RESTRICT="!test? ( test )" + +DEPEND=" + app-arch/bzip2:0= + app-arch/lz4:0= + >=app-arch/zstd-1.0.0:= + >=dev-libs/c-blosc-1.11.1:0= + >=dev-libs/c-blosc2-2.11.0:= + dev-libs/lzo:2= + >=dev-python/numpy-1.19.0:=[${PYTHON_USEDEP}] + >=sci-libs/hdf5-1.8.4:= +" +RDEPEND=" + ${DEPEND} + >=dev-python/numexpr-2.6.2[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] ) +" +BDEPEND=" + >=dev-python/cython-0.21[${PYTHON_USEDEP}] + virtual/pkgconfig + cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] ) + test? ( + ${RDEPEND} + ) +" + +python_prepare_all() { + local PATCHES=( + # https://github.com/PyTables/PyTables/pull/1176 + "${FILESDIR}/${P}-numpy-2.patch" + # https://github.com/PyTables/PyTables/commit/4a1b480e7e3758cf2cf06354ec5720020db16ce7 + # https://github.com/PyTables/PyTables/commit/424784895b0fb15ad06707ce60f9829cef4f11e2 + "${FILESDIR}/${P}-py313.patch" + ) + + rm -r c-blosc/{blosc,internal-complibs} || die + + # part of https://github.com/PyTables/PyTables/commit/4a1b480e7e3758cf2cf06354ec5720020db16ce7 + # (warning: do it *before* patching, so it doesn't modify + # the added function) + find -name '*.py' -exec \ + sed -i -e 's:unittest[.]makeSuite:make_suite:' {} + || die + + distutils-r1_python_prepare_all + + sed -i -e '/blosc2/d' pyproject.toml || die + hprefixify -w '/prefixes =/' setup.py + + export PYTABLES_NO_EMBEDDED_LIBS=1 + export USE_PKGCONFIG=TRUE +} + +python_test() { + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + "${EPYTHON}" tables/tests/test_all.py -v || die +} + +python_install_all() { + distutils-r1_python_install_all + + if use examples; then + dodoc -r contrib examples + docompress -x /usr/share/doc/${PF}/{contrib,examples} + fi +} diff --git a/dev-python/trimesh/trimesh-4.4.0.ebuild b/dev-python/trimesh/trimesh-4.4.0.ebuild index ff64512e895e..b36f2a112dac 100644 --- a/dev-python/trimesh/trimesh-4.4.0.ebuild +++ b/dev-python/trimesh/trimesh-4.4.0.ebuild @@ -41,11 +41,11 @@ RDEPEND=" dev-python/svg-path[${PYTHON_USEDEP}] dev-python/sympy[${PYTHON_USEDEP}] dev-python/xxhash[${PYTHON_USEDEP}] - sci-libs/rtree[${PYTHON_USEDEP}] + dev-python/rtree[${PYTHON_USEDEP}] " BDEPEND=" test? ( - dev-python/mapbox_earcut[${PYTHON_USEDEP}] + dev-python/mapbox-earcut[${PYTHON_USEDEP}] dev-python/pillow[webp,${PYTHON_USEDEP}] ) " @@ -67,7 +67,7 @@ python_test() { 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 "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 diff --git a/dev-python/trimesh/trimesh-4.4.2.ebuild b/dev-python/trimesh/trimesh-4.4.2.ebuild index 28e2ef0d54f8..3a9c1843a308 100644 --- a/dev-python/trimesh/trimesh-4.4.2.ebuild +++ b/dev-python/trimesh/trimesh-4.4.2.ebuild @@ -41,11 +41,11 @@ RDEPEND=" dev-python/svg-path[${PYTHON_USEDEP}] dev-python/sympy[${PYTHON_USEDEP}] dev-python/xxhash[${PYTHON_USEDEP}] - sci-libs/rtree[${PYTHON_USEDEP}] + dev-python/rtree[${PYTHON_USEDEP}] " BDEPEND=" test? ( - dev-python/mapbox_earcut[${PYTHON_USEDEP}] + dev-python/mapbox-earcut[${PYTHON_USEDEP}] dev-python/pillow[webp,${PYTHON_USEDEP}] ) " @@ -67,7 +67,7 @@ python_test() { 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 "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 diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest index bb691f9f2707..6d06b0975a6e 100644 --- a/dev-python/types-docutils/Manifest +++ b/dev-python/types-docutils/Manifest @@ -1,2 +1,3 @@ DIST types-docutils-0.21.0.20240704.tar.gz 19782 BLAKE2B eaf113c86432951b4d0e6a2b7bf69e8e5fb18717bc8107a55a679c6890ae6afb5b543f968758e2797b089ee96bd05945f1bca01383cdd68e01c2c2c1f144710f SHA512 66bf7eb52643dc46a1a621db5d9be6c68bdf61f0b075896e74eabb19db1edae72810a697e803482e89581131b6c0966d990f3043092136bd7e1d4a9cfcab9075 DIST types-docutils-0.21.0.20240708.tar.gz 19815 BLAKE2B a8ddf76c8fec9d9facf21f19f64f28731dbef334ba526cf9521559cfdc79e9d8ce0c7da9d0a7cc832624fb3b40d31334624567689c08abead6fdac1200ea62ad SHA512 d5611c3a5cc4e7e2c829d0e72154a6262c13ec233f58f3681645bcc3d4f66383e791bf30e3f181cc5f9a0a684c882b489be372a3840cf5a30fd40a6b2563a38a +DIST types-docutils-0.21.0.20240710.tar.gz 19813 BLAKE2B ffe7a9605faf155ad968e6bf190fb2cfec4e09ce09c8b2c9346710c9065e18f169682122c9ba83acd331f166dc9ed925be55626be4320553de2f1f467d2a0e67 SHA512 f870c692666c9966cba11fec7c441cbdf0f5510d586ebea467880bdec859783aeb23a3621dc14fc65021ec3cd917c929116642901048249ea8549ede4ff1c02b diff --git a/dev-python/types-docutils/types-docutils-0.21.0.20240710.ebuild b/dev-python/types-docutils/types-docutils-0.21.0.20240710.ebuild new file mode 100644 index 000000000000..0d86c4835acd --- /dev/null +++ b/dev-python/types-docutils/types-docutils-0.21.0.20240710.ebuild @@ -0,0 +1,17 @@ +# Copyright 2022-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="Typing stubs for docutils" +HOMEPAGE="https://pypi.org/project/types-docutils/" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" diff --git a/dev-python/types-setuptools/Manifest b/dev-python/types-setuptools/Manifest index aeb7316c486b..b8e47472560c 100644 --- a/dev-python/types-setuptools/Manifest +++ b/dev-python/types-setuptools/Manifest @@ -2,3 +2,4 @@ DIST types-setuptools-70.0.0.20240524.tar.gz 38370 BLAKE2B 7964344dfb8a9b3594bd3 DIST types-setuptools-70.1.0.20240625.tar.gz 39232 BLAKE2B 9b02f33fa73204fcb5afcf8115e42cfa55ac08951aa4b8646efe6e3d5828c97da1fb936ab3e1fd87bedc32d2741fbd301db3598f9ce6bd63d729e3fcb4910d71 SHA512 233b0bf84a04d8867174b681714097d37ac72efc2e81f4d4069913ed29b76355df4eebde7da4b62f52b933ef1d02949cc44f1f3f5771eb181d5df878c783f14e DIST types-setuptools-70.1.0.20240627.tar.gz 39309 BLAKE2B 42de32fb42a71c0b455341d2c402c477535acfede0f8c8250ed6a87824f75fd7d24bc8830b610727824095f99d181f8e0f1d2a861890b835a1cd2a6e90a7ef5a SHA512 ee12292fc71a299e7d5a6d14b7ac5048b9de4c71834e87ca6c856bc5ad7054f8252e4d864615a625987b1fea3b712bcc76d5d02bd7647a34d9d05e8c8f2343f4 DIST types-setuptools-70.2.0.20240704.tar.gz 39301 BLAKE2B 697ae444f26b05b00d922610b05e12f76101cbd86de4ebf7d33c335f6e35aa2e168ebe780329ebf7a2d7e4f38b9255647fb08ce10828a2e476863dc3ac9b5b19 SHA512 a5ad2c1e038473dc676199b9cc8b5f73e2c32a3db0c6474cd02c61c22d945658f122fbaaa299c04138efe0be20db789ceb376f77013f9502f5f60f78e22711f0 +DIST types-setuptools-70.3.0.20240710.tar.gz 39352 BLAKE2B 7ce226fe33a714f1467a6656832b6c8b01ee9821fd7c8345f32fb0675afa55689be094f7e695e11d06ddc38e58443b637d2ddf64aad89d456475ec717d8daef1 SHA512 c8c213a1d401a6aa46d0990bc0f0955261b113987713cfdfea683b90232a8c78bce0575612b4fbfeba3b2c12d9e6846ffc45ada7da5f2e3832c2ee8354249304 diff --git a/dev-python/types-setuptools/types-setuptools-70.3.0.20240710.ebuild b/dev-python/types-setuptools/types-setuptools-70.3.0.20240710.ebuild new file mode 100644 index 000000000000..c755b6e96b17 --- /dev/null +++ b/dev-python/types-setuptools/types-setuptools-70.3.0.20240710.ebuild @@ -0,0 +1,17 @@ +# 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="Typing stubs for setuptools" +HOMEPAGE="https://pypi.org/project/types-setuptools/" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" diff --git a/dev-python/xarray/xarray-2024.6.0-r1.ebuild b/dev-python/xarray/xarray-2024.6.0-r1.ebuild new file mode 100644 index 000000000000..fa91bfbec259 --- /dev/null +++ b/dev-python/xarray/xarray-2024.6.0-r1.ebuild @@ -0,0 +1,108 @@ +# 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="N-D labeled arrays and datasets in Python" +HOMEPAGE=" + https://xarray.pydata.org/ + https://github.com/pydata/xarray/ + https://pypi.org/project/xarray/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +IUSE="big-endian" + +RDEPEND=" + >=dev-python/numpy-1.23[${PYTHON_USEDEP}] + >=dev-python/pandas-2.0[${PYTHON_USEDEP}] + >=dev-python/packaging-23.1[${PYTHON_USEDEP}] +" +# note: most of the test dependencies are optional +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + dev-python/bottleneck[${PYTHON_USEDEP}] + dev-python/cftime[${PYTHON_USEDEP}] + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + !riscv? ( dev-python/netcdf4[bzip2,szip,${PYTHON_USEDEP}] ) + dev-python/toolz[${PYTHON_USEDEP}] + !hppa? ( >=dev-python/scipy-1.4[${PYTHON_USEDEP}] ) + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # TODO: these fail with filter errors even if netcdf4 is built + # with blosc/zstd support + 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[zstd]' + 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz]' + 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4]' + 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4hc]' + 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zlib]' + 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zstd]' + ) + + if ! has_version ">=dev-python/scipy-1.4[${PYTHON_USEDEP}]" ; then + EPYTEST_DESELECT+=( + 'xarray/tests/test_missing.py::test_interpolate_na_2d[coords1]' + ) + + if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]" ; then + EPYTEST_DESELECT+=( + xarray/tests/test_calendar_ops.py::test_interp_calendar + ) + fi + fi + + if use big-endian ; then + EPYTEST_DESELECT+=( + # Appears to be a numpy issue in display? See bug #916460. + 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-20-True]' + 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-09-21T00:12:44.145224808-ns-float64-1e+30-True]' + 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225216-ns-float64--9.223372036854776e+18-True]' + 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-None-False]' + 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225-us-int64-None-False]' + 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-01-01T00:00:01.000001-us-int64-None-False]' + 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:21:52.901038080-ns-float32-20.0-True]' + ) + fi + + if [[ ${ABI} != *64* ]]; then + EPYTEST_DESELECT+=( + # these tests hardcode object sizes for 64-bit arches + # https://github.com/pydata/xarray/issues/9127 + xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex + xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex_long + xarray/tests/test_dataset.py::TestDataset::test_repr_multiindex + xarray/tests/test_formatting.py::test_array_repr_dtypes_unix + ) + fi + + if has_version ">=dev-python/numpy-2[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + xarray/tests/test_dataset.py::TestDataset::test_polyfit_warnings + # https://github.com/pandas-dev/pandas/issues/56996 + xarray/tests/test_backends.py::test_use_cftime_false_standard_calendar_in_range + # TODO + 'xarray/tests/test_dtypes.py::test_maybe_promote[q-expected19]' + 'xarray/tests/test_dtypes.py::test_maybe_promote[Q-expected20]' + 'xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_mask_and_scale[dtype0-create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data]' + 'xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_mask_and_scale[dtype1-create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data]' + ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} -- cgit v1.3.1