From 3d4c60ab67ab34063f83de57ca650a2093caa6e5 Mon Sep 17 00:00:00 2001 From: "Liguros - Gitlab CI/CD [develop]" Date: Wed, 15 May 2024 06:58:16 +0000 Subject: Adding metadata --- dev-python/Nuitka/Manifest | 1 + dev-python/Nuitka/Nuitka-2.2.2.ebuild | 52 ++ dev-python/adblock/adblock-0.6.0.ebuild | 3 + dev-python/autoflake/Manifest | 2 +- dev-python/autoflake/autoflake-2.2.1.ebuild | 30 - dev-python/autoflake/autoflake-2.3.1.ebuild | 30 + dev-python/boto3/Manifest | 1 + dev-python/boto3/boto3-1.34.105.ebuild | 53 ++ dev-python/botocore/Manifest | 1 + dev-python/botocore/botocore-1.34.105.ebuild | 67 ++ dev-python/cssutils/Manifest | 1 + dev-python/cssutils/cssutils-2.11.0.ebuild | 47 ++ dev-python/httpcore/httpcore-1.0.5.ebuild | 24 +- dev-python/mako/Manifest | 1 + dev-python/mako/mako-1.3.5.ebuild | 55 ++ dev-python/mastodon-py/Manifest | 1 - dev-python/mastodon-py/mastodon-py-1.8.0.ebuild | 55 -- dev-python/mastodon-py/mastodon-py-1.8.1.ebuild | 4 +- dev-python/material-color-utilities/Manifest | 2 +- .../material-color-utilities-0.1.5.ebuild | 8 +- .../material-color-utilities-9999.ebuild | 4 +- dev-python/mcbootflash/Manifest | 1 + dev-python/mcbootflash/mcbootflash-9.0.1.ebuild | 35 + dev-python/mkdocstrings-python/Manifest | 2 +- .../mkdocstrings-python-1.10.1.ebuild | 40 + .../mkdocstrings-python-1.9.2.ebuild | 40 - dev-python/mobi/mobi-0.3.3.ebuild | 2 +- dev-python/oscrypto/files/openssl-3.0.10-fix.patch | 38 + dev-python/oscrypto/files/py3.12.patch | 902 +++++++++++++++++++++ dev-python/oscrypto/oscrypto-1.3.0-r1.ebuild | 42 - dev-python/oscrypto/oscrypto-1.3.0-r2.ebuild | 47 ++ dev-python/pem/Manifest | 1 - dev-python/pem/pem-21.2.0.ebuild | 27 - dev-python/pyarrow/Manifest | 1 + dev-python/pyarrow/pyarrow-16.1.0.ebuild | 97 +++ dev-python/pyfiglet/pyfiglet-0.8_p1.ebuild | 2 +- dev-python/pygsl/Manifest | 2 +- dev-python/pygsl/pygsl-2.3.3.ebuild | 40 - dev-python/pygsl/pygsl-2.3.4.ebuild | 36 + dev-python/pylint/Manifest | 1 + dev-python/pylint/pylint-3.2.0.ebuild | 92 +++ dev-python/pymemcache/pymemcache-4.0.0.ebuild | 2 +- dev-python/pyodbc/Manifest | 2 +- dev-python/pyodbc/pyodbc-4.0.35.ebuild | 53 -- dev-python/pyodbc/pyodbc-5.1.0.ebuild | 64 ++ dev-python/pyproject-fmt-rust/Manifest | 1 + .../pyproject-fmt-rust-1.1.0.ebuild | 159 ++++ dev-python/pyproject-fmt/Manifest | 1 + .../pyproject-fmt/pyproject-fmt-2.1.0.ebuild | 36 + dev-python/pytest-click/pytest-click-1.1.0.ebuild | 2 +- dev-python/readability-lxml/Manifest | 1 - .../readability-lxml/readability-lxml-0.6.1.ebuild | 22 - .../readability-lxml/readability-lxml-0.8.1.ebuild | 5 +- dev-python/rich/rich-13.7.1.ebuild | 12 + dev-python/scikit-build-core/Manifest | 1 + .../scikit-build-core-0.9.4.ebuild | 63 ++ dev-python/scramp/scramp-1.4.4.ebuild | 2 +- .../sphinx-argparse-cli-1.11.1.ebuild | 4 +- dev-python/sphinx-click/Manifest | 1 - dev-python/sphinx-click/metadata.xml | 2 +- dev-python/sphinx-click/sphinx-click-4.1.0.ebuild | 29 - dev-python/sphinx-click/sphinx-click-4.2.0.ebuild | 3 +- .../sphinx-hoverxref/sphinx-hoverxref-1.3.0.ebuild | 2 +- .../sphinx-rtd-dark-mode-1.2.4.ebuild | 2 +- dev-python/stdlibs/Manifest | 1 - dev-python/stdlibs/stdlibs-2022.3.16.ebuild | 18 - dev-python/stdlibs/stdlibs-2022.6.8.ebuild | 2 +- dev-python/trailrunner/trailrunner-1.2.1.ebuild | 2 +- dev-python/urwid/Manifest | 1 + dev-python/urwid/urwid-2.6.12.ebuild | 47 ++ dev-python/uv/Manifest | 1 + dev-python/uv/uv-0.1.44.ebuild | 123 +++ dev-python/volatile/volatile-2.1.0.ebuild | 2 +- dev-python/webpy/webpy-0.62.ebuild | 3 +- dev-python/zopfli/zopfli-0.2.2.ebuild | 2 +- 75 files changed, 2168 insertions(+), 393 deletions(-) create mode 100644 dev-python/Nuitka/Nuitka-2.2.2.ebuild delete mode 100644 dev-python/autoflake/autoflake-2.2.1.ebuild create mode 100644 dev-python/autoflake/autoflake-2.3.1.ebuild create mode 100644 dev-python/boto3/boto3-1.34.105.ebuild create mode 100644 dev-python/botocore/botocore-1.34.105.ebuild create mode 100644 dev-python/cssutils/cssutils-2.11.0.ebuild create mode 100644 dev-python/mako/mako-1.3.5.ebuild delete mode 100644 dev-python/mastodon-py/mastodon-py-1.8.0.ebuild create mode 100644 dev-python/mcbootflash/mcbootflash-9.0.1.ebuild create mode 100644 dev-python/mkdocstrings-python/mkdocstrings-python-1.10.1.ebuild delete mode 100644 dev-python/mkdocstrings-python/mkdocstrings-python-1.9.2.ebuild create mode 100644 dev-python/oscrypto/files/openssl-3.0.10-fix.patch create mode 100644 dev-python/oscrypto/files/py3.12.patch delete mode 100644 dev-python/oscrypto/oscrypto-1.3.0-r1.ebuild create mode 100644 dev-python/oscrypto/oscrypto-1.3.0-r2.ebuild delete mode 100644 dev-python/pem/pem-21.2.0.ebuild create mode 100644 dev-python/pyarrow/pyarrow-16.1.0.ebuild delete mode 100644 dev-python/pygsl/pygsl-2.3.3.ebuild create mode 100644 dev-python/pygsl/pygsl-2.3.4.ebuild create mode 100644 dev-python/pylint/pylint-3.2.0.ebuild delete mode 100644 dev-python/pyodbc/pyodbc-4.0.35.ebuild create mode 100644 dev-python/pyodbc/pyodbc-5.1.0.ebuild create mode 100644 dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.0.ebuild create mode 100644 dev-python/pyproject-fmt/pyproject-fmt-2.1.0.ebuild delete mode 100644 dev-python/readability-lxml/readability-lxml-0.6.1.ebuild create mode 100644 dev-python/scikit-build-core/scikit-build-core-0.9.4.ebuild delete mode 100644 dev-python/sphinx-click/sphinx-click-4.1.0.ebuild delete mode 100644 dev-python/stdlibs/stdlibs-2022.3.16.ebuild create mode 100644 dev-python/urwid/urwid-2.6.12.ebuild create mode 100644 dev-python/uv/uv-0.1.44.ebuild (limited to 'dev-python') diff --git a/dev-python/Nuitka/Manifest b/dev-python/Nuitka/Manifest index ea74104adbce..e536dbba436f 100644 --- a/dev-python/Nuitka/Manifest +++ b/dev-python/Nuitka/Manifest @@ -1,2 +1,3 @@ DIST Nuitka-2.2.1.tar.gz 3657159 BLAKE2B 46578e2ab4afa7edfb43cf42f968d222ba85717a276b84c25dfffea0f3211dc9ad202718f23b54435525a2b4447b49742259fb636a9cba3bfc1d251232878393 SHA512 08dfc85ada702e41b282ee8291c9b2f389c0b320cdab8ad7b259af9aba1fc3efb26d3deab5391a5d592c206f7dd94d7b99780ba25377bd5f145bd0bfd84e01fb +DIST Nuitka-2.2.2.tar.gz 3999091 BLAKE2B 1512b0112dfa36c704900b787ac43a24377ab2994d16865d85da0384d2bb29a6dd26a83be270c51c28bcca68dad2398d68096d4dae1ee3f2044a85dad2571d82 SHA512 13f03fb849d83a1fbb10df2fe54f429f8871068942dfe93316460e1abed9149793b6fc1d7b62b1e72fc00de94ae9fd4b218f4ee65ea7668d138700f2bfd94eb2 DIST Nuitka-2.2.tar.gz 3655576 BLAKE2B a5c88da5c585163cf7efcc238697b2c930426674d89203e12dbf2bc00e579c523a74527269039e2a155a13821c5ae4d7022215db88b2ba201f3b13224c3e8223 SHA512 0e21ccbf2c35176e3f1b704f599ef79e65f19529c2de362ae384e61e6b0e5d7e86a8489fe0cb25e6800e169833d50e54853bd6c4bd860c139162e22e39249aff diff --git a/dev-python/Nuitka/Nuitka-2.2.2.ebuild b/dev-python/Nuitka/Nuitka-2.2.2.ebuild new file mode 100644 index 000000000000..35ccf652e8e3 --- /dev/null +++ b/dev-python/Nuitka/Nuitka-2.2.2.ebuild @@ -0,0 +1,52 @@ +# 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 flag-o-matic optfeature pypi + +DESCRIPTION="Python to native compiler" +HOMEPAGE=" + https://nuitka.net/ + https://github.com/Nuitka/Nuitka/ + https://pypi.org/project/Nuitka/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~loong ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-build/scons[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( dev-util/ccache ) +" + +distutils-r1_src_prepare() { + # remove vendored version of SCons that is Python2 only + # this should be removed when upstream removes support for Python2 + rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die + eapply_user +} + +python_install() { + distutils-r1_python_install + doman doc/nuitka.1 doc/nuitka-run.1 +} + +python_test() { + append-ldflags -Wl,--no-warn-search-mismatch + ./tests/basics/run_all.py search || die +} + +pkg_postinst() { + optfeature "support for stand-alone executables" dev-util/patchelf +} diff --git a/dev-python/adblock/adblock-0.6.0.ebuild b/dev-python/adblock/adblock-0.6.0.ebuild index 67cdaec5208e..bcd085dc15bf 100644 --- a/dev-python/adblock/adblock-0.6.0.ebuild +++ b/dev-python/adblock/adblock-0.6.0.ebuild @@ -106,6 +106,9 @@ python_test() { # unimportant (for us) test that uses the dir that we delete below # so pytest does not try to load it while lacking extensions tests/test_typestubs.py::test_functions_and_methods_exist_in_rust + # FileNotFound exception test that triggers a new assertion in + # python:3.13[debug], not an issue for normal usage (bug #931898) + tests/test_engine.py::test_serde_file ) local EPYTEST_IGNORE=( # not very meaningful here (e.g. validates changelog), diff --git a/dev-python/autoflake/Manifest b/dev-python/autoflake/Manifest index 2de21f6c253f..6fd5785009cd 100644 --- a/dev-python/autoflake/Manifest +++ b/dev-python/autoflake/Manifest @@ -1 +1 @@ -DIST autoflake-2.2.1.tar.gz 27377 BLAKE2B d669fd1954974f7237423d7dc67de044d737ba5a462b565f3307f1b6bdecefa6a6b2a6de437570e6a7772a692e894fb414e1ff05fc0aae7cbb3a0901ec9a0129 SHA512 02021b5f92edcdcb0b3c11132a46cf73dbc4b6e4efc4f5d5981b66bc5beafbef66a81229e65a727816ebda419c93399df14e9b6ba9f38a728f95a3455c1089f9 +DIST autoflake-2.3.1.tar.gz 27642 BLAKE2B 5002b404c39a5a1e18c5dc6e8a70f958b9d02e412b9320ba4b801b1a20427110cd15363bb3e4acb25de4ceca77ce86d49c1c36cef5ba3e886fecffb996ef7b81 SHA512 bad9a34f253e1182f3128867eb8699c8c02b99f35479c1b65669f0411d7dff29fe477a267d0398e60a5e833530ace3cf28443a4b2a8924bd019447cc7ee8ab08 diff --git a/dev-python/autoflake/autoflake-2.2.1.ebuild b/dev-python/autoflake/autoflake-2.2.1.ebuild deleted file mode 100644 index 3f6b0695f998..000000000000 --- a/dev-python/autoflake/autoflake-2.2.1.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 1999-2023 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=hatchling - -inherit distutils-r1 pypi - -DESCRIPTION="Removes unused imports and unused variables from Python code" -HOMEPAGE="https://github.com/PyCQA/autoflake/ https://pypi.org/project/autoflake/" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=">=dev-python/tomli-2.0.1 - >=dev-python/pyflakes-3.0.0" - -distutils_enable_tests unittest - -src_prepare() { - sed -Ei -e '/include/,/]/ { /(test_.*|LICENSE|README)/d }' pyproject.toml || die "Sed failed :-(" - default -} - -python_test() { - # unit test - eunittest -p "test_autoflake.py" -} diff --git a/dev-python/autoflake/autoflake-2.3.1.ebuild b/dev-python/autoflake/autoflake-2.3.1.ebuild new file mode 100644 index 000000000000..2451df853e77 --- /dev/null +++ b/dev-python/autoflake/autoflake-2.3.1.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=hatchling + +inherit distutils-r1 pypi + +DESCRIPTION="Removes unused imports and unused variables from Python code" +HOMEPAGE="https://github.com/PyCQA/autoflake/ https://pypi.org/project/autoflake/" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=">=dev-python/tomli-2.0.1 + >=dev-python/pyflakes-3.0.0" + +distutils_enable_tests unittest + +src_prepare() { + sed -Ei -e '/include/,/]/ { /(test_.*|LICENSE|README)/d }' pyproject.toml || die "Sed failed :-(" + default +} + +python_test() { + # unit test + eunittest -p "test_autoflake.py" +} diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index ea0c82a6203e..a394bf7fccb6 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -1,4 +1,5 @@ DIST boto3-1.34.103.gh.tar.gz 807394 BLAKE2B da291c86a8b20bcaac5f93779899bfa5c6ce207499df393cd921f37021c1c38ed0587edd2261cee8de7ce17264670f9cda072d6748f274e6f3d9b40caa499803 SHA512 3b879f88a145ca7ea7533e4d8aa77cec351f272c59fa119622dab061fd6354f88d33709bd1621802f38f19e8378505caa94b8a6b561d16f4a2aa168828021206 DIST boto3-1.34.104.gh.tar.gz 807605 BLAKE2B d315be19b5d54b74d2cec2967fb4d12bb2c3529f404dd41628d1fe41de7b0f81fa28b098268ea020db4334b863c875e7cf31763a179352b3f3bc6326a33d2f56 SHA512 18fb51400a20686db02317812da15dd6117a630896ed284b6fece7c7903265a2e9d5d74a8d5fe0eb504ed2e27d1b714369a4391a095f771aaf09609745436cdf +DIST boto3-1.34.105.gh.tar.gz 807800 BLAKE2B a61b420b89fc153de0a32b5212eb5c492d2576fbad06073dfed5960bc15e6d45fa06df20ef59b9a41c4a9295a4129ff43f7781828d6f76ba7ba86a53bc5b6ee4 SHA512 d35ce5780f73ee973a232345f2585d4aff3f477c2976eb3127285ab7a143c94de19e4997036e65cbc3cc9e987d36b26ce2d028fb0e8f34e6813f5d5d65666fea DIST boto3-1.34.93.gh.tar.gz 802078 BLAKE2B 43f19efd6ae42bdb20e8dd79b1735df229ec2f231b5fe05006b26fcd5ddf4796a53fba6011c298fb919ee7b205b4ae3f4b563ad3b5325bdbbdebaeab7be59608 SHA512 4da1d9d7d8648e895f23763e5055a868d05bbfd8eb28d56e716975b3b8349bd1825d703f6fd11c316174004c39e1fca5ddcd8a4ad27a000e1a52f08a36eb4780 DIST boto3-1.34.98.gh.tar.gz 805719 BLAKE2B 5cf7f0cc415e25c8b41aa464b636b1683f4e71198569f5eac3e6e43cef7050e20e92c3fd988517fc1463601073b41b0b9c668a58bb866d03b83973c9b9cd976a SHA512 06cab81bbf73a9c37b68e0312a7c587bace700b8032e283b6782c1275804ea7c93065c4282837957b5cf3523d50fe57319a54af494262e2666f65440da9771fd diff --git a/dev-python/boto3/boto3-1.34.105.ebuild b/dev-python/boto3/boto3-1.34.105.ebuild new file mode 100644 index 000000000000..509842b2699d --- /dev/null +++ b/dev-python/boto3/boto3-1.34.105.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE=" + https://github.com/boto/boto3/ + https://pypi.org/project/boto3/ +" +SRC_URI=" + https://github.com/boto/boto3/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + >=dev-python/botocore-${PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}] +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_prepare_all() { + # don't lock versions to narrow ranges + sed -e '/botocore/ d' \ + -e '/jmespath/ d' \ + -e '/s3transfer/ d' \ + -i setup.py || die + + # do not rely on bundled deps in botocore (sic!) + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_python_prepare_all +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index 26ed7f684b51..c94589ff2154 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -1,4 +1,5 @@ DIST botocore-1.34.103.gh.tar.gz 13018336 BLAKE2B 84cef06d1eff09fc9e7d4480bc11be16c775e6aa21c300be21735d4bbf891618861a94e7fb52735c34f4f831220411d2b307546e930e77822d8c876dd05f7780 SHA512 f66c3959c5f323117127789d0a3492d5ecfcdfa371f2fdd3339bf1feb7cf1ba67ce7015014e49530f24a440d08a9b634d2ada85c1953ed438f70e5a6cca040f0 DIST botocore-1.34.104.gh.tar.gz 13018781 BLAKE2B 1c2cd9988482d2217392572c791b49e415b92229de0c68269dbc58a8ee88f28b1ea2add3557da4dacdd1fb7e72fe47357e18d901188795d6bc5bfc717760e903 SHA512 c66afeb83edc62adfb4d691dcf37c2b76a3cad7b5ea6ec0741129d99ec4a10fa09ed5827b8c6a3224436026ad4fbd7565074e7161921010bb6adcd5f563b30a4 +DIST botocore-1.34.105.gh.tar.gz 13020214 BLAKE2B 309c2130756f10d6000c606d2392848869e26ea7bb5bb23c55e60fa9292b263e61be9eedea37f8eed471d9ad70785877797d34135064e49863bc70f1b8a80bac SHA512 ea6f816ccdaa754fa4059c3cab96ac892d1165fa6c988bf3da87227a629989bf006b8b334f0aefa8bb25923f064da478f11561f02a49006274f76fe93fa492d8 DIST botocore-1.34.93.gh.tar.gz 12982900 BLAKE2B 3225279b85101e04da3be11f01ac3f4ca74cf77235fcb8878bc12d7aca61472155c8319329beb54ffe335f9da9023fb3ccce99256f3a31c6588389dfa1746de9 SHA512 505e8c9b3915b1c2da3863b62c85c392a58c12376c3e71493025445b7b672ba320474087b446fda876ffee5d6260909bc1d1442ff6dbfeb49fd6661d3d7840a1 DIST botocore-1.34.98.gh.tar.gz 13008491 BLAKE2B 0b5c368264cc43c162d158b383535183c0fd0065dc6c5edfd3eaaab842d0607b3cc3b99860fa8dc4ef207b5be1457fce9d143723da29e262f30ecc82c5f9ba66 SHA512 39ccb0082ecd6ed6cc7d3f7cea01d39e8d5e92224e3290a66f86ed00562a1d858f75d006af725d2b857ac891f1b366300b7e4c2d24277d942b5a9b9e2cdba431 diff --git a/dev-python/botocore/botocore-1.34.105.ebuild b/dev-python/botocore/botocore-1.34.105.ebuild new file mode 100644 index 000000000000..857224b496b7 --- /dev/null +++ b/dev-python/botocore/botocore-1.34.105.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +SRC_URI=" + https://github.com/boto/botocore/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + =dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +# unbundled packages +RDEPEND+=" + dev-python/requests[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # unpin deps + sed -i -e "s:>=.*':':" setup.py || die + + # unbundle deps + rm -r botocore/vendored || die + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # rely on bundled six + tests/functional/test_six_imports.py::test_no_bare_six_imports + tests/functional/test_six_threading.py::test_six_thread_safety + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/cssutils/Manifest b/dev-python/cssutils/Manifest index c57f13e933f6..3911c03aef36 100644 --- a/dev-python/cssutils/Manifest +++ b/dev-python/cssutils/Manifest @@ -1,2 +1,3 @@ DIST cssutils-2.10.2.tar.gz 723055 BLAKE2B 7064f1928bf8496bef8eccf4663f944ed79e5e8065808254d12b68f32e9c8f308724e652b24fa584af54a0976ff3ab2f2751a9102e0f31a5f4a8fabf8f417b23 SHA512 c678b6953b13e8a7ac7b2abbe0b8be26283973537089071828e618b359bcce27df636f382d8b0dc50b13962e0d2dffcce991a47f678954ec018849e57026446d DIST cssutils-2.10.3.tar.gz 723334 BLAKE2B 3ee122fb843aeb8db79d5288d465fda4f632e63a51e09a9de7d1429b1e7a81de93518eb1c4766b7a18c7db3fb64480815fd3a8c22b9b4a4186890402328f1b42 SHA512 44570c048d64d9d2825f64c551470d86fd5a166c35fef7915e9187ba26807300c342360aa881fc4f7ed86ef7aba63969d5055811f5ecae4b3998bf4b28ffd5ea +DIST cssutils-2.11.0.tar.gz 723164 BLAKE2B 433358b1bd167d72ceda9c60f4460a95804c492a92854747dfc49ef4e2efe69388781c515adbb3c5d9010895e13a039ea33c46d4b2c71cb8bb15eead3e998b60 SHA512 42ce87502757d213ab5b2812c8a76724955f565826c69ffe4db53d49020ce960c8544423428f2b8c24d9b1b215c22f18de9dff66ef249c8060d17aad990d9a6f diff --git a/dev-python/cssutils/cssutils-2.11.0.ebuild b/dev-python/cssutils/cssutils-2.11.0.ebuild new file mode 100644 index 000000000000..7334b1981df5 --- /dev/null +++ b/dev-python/cssutils/cssutils-2.11.0.ebuild @@ -0,0 +1,47 @@ +# 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="A CSS Cascading Style Sheets library" +HOMEPAGE=" + https://pypi.org/project/cssutils/ + https://github.com/jaraco/cssutils/ +" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86" + +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + dev-python/cssselect[${PYTHON_USEDEP}] + >=dev-python/jaraco-test-5.1[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/lxml[${PYTHON_USEDEP}] + ' 3.10) + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # network + encutils/__init__.py::encutils + examples/website.py::examples.website.logging + ) + local EPYTEST_IGNORE=( + # path mismatch with "parse" package + examples/parse.py + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -m "not network" +} diff --git a/dev-python/httpcore/httpcore-1.0.5.ebuild b/dev-python/httpcore/httpcore-1.0.5.ebuild index 1ef1a9b8d7ac..ece9e8e34a89 100644 --- a/dev-python/httpcore/httpcore-1.0.5.ebuild +++ b/dev-python/httpcore/httpcore-1.0.5.ebuild @@ -35,15 +35,35 @@ BDEPEND=" test? ( dev-python/pytest-asyncio[${PYTHON_USEDEP}] dev-python/pytest-httpbin[${PYTHON_USEDEP}] - dev-python/pytest-trio[${PYTHON_USEDEP}] dev-python/socksio[${PYTHON_USEDEP}] - dev-python/trio[${PYTHON_USEDEP}] dev-python/trustme[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/pytest-trio[${PYTHON_USEDEP}] + dev-python/trio[${PYTHON_USEDEP}] + ' 3.{10..12}) ) " distutils_enable_tests pytest +python_test() { + local opts=() + local EPYTEST_IGNORE=() + + if ! has_version "dev-python/trio[${PYTHON_USEDEP}]"; then + opts+=( -k "not trio" ) + EPYTEST_IGNORE+=( + tests/_async/test_connection_pool.py + ) + fi + + if ! has_version "dev-python/pytest-trio[${PYTHON_USEDEP}]"; then + opts+=( -m "not trio" -o addopts= ) + fi + + epytest "${opts[@]}" +} + pkg_postinst() { optfeature "SOCKS support" dev-python/socksio } diff --git a/dev-python/mako/Manifest b/dev-python/mako/Manifest index de3ecdd41ccf..fc6026c41306 100644 --- a/dev-python/mako/Manifest +++ b/dev-python/mako/Manifest @@ -1,2 +1,3 @@ DIST Mako-1.3.3.tar.gz 389980 BLAKE2B 1c890f159e808a7026e46a489d49ec19a346ce0a8be8d2ea1ef870435830a9021b0877a3d395c9273609be9dc4b11d1e5359d89a9b571a73f05de11152988800 SHA512 fa8bf3997f7a3edc18057f53e8450d72d5c86019229fef91eaa141f0b65a081ca9425c14245227b35aedcccc7dbe52e90bc7dfee34598b490e93cd01fc4a8321 DIST Mako-1.3.4.tar.gz 392377 BLAKE2B bd0516dbbedb843a119eaba91798929c6c469eecf6b18d53b403c473e4279c9a73e1248afa8afbdc3e3dca8db5be1950f90c4bfb4683422d6621031910ef77a9 SHA512 e577fa40e861dc3a68f072ad098ae64f45c10ddd7cab9a7733ddb700d21b82b2c0b7448bf50ec95ec89293d4a3a5085fba23ccc97a60ede697ee008433e83715 +DIST Mako-1.3.5.tar.gz 392738 BLAKE2B 566d4126a1c2ece5b2b3f2bec8470d97cc44e512987103f7027d6433418e50bff1cfad7ba510b88f38537c92d3a69d9a85e5b28cd759dbaa29ec19702461e359 SHA512 9a2f96bcb650f40cc2a9daa05904e54efca1fa30022ab641c850f6e32b84a38368d4c5d328f94ac4495ed97778d6ab0b661bc93a14740ed7e5d518f03bc9a59f diff --git a/dev-python/mako/mako-1.3.5.ebuild b/dev-python/mako/mako-1.3.5.ebuild new file mode 100644 index 000000000000..d4ccdd56a49a --- /dev/null +++ b/dev-python/mako/mako-1.3.5.ebuild @@ -0,0 +1,55 @@ +# 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 +PYPI_PN=${PN^} +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="A Python templating language" +HOMEPAGE=" + https://www.makotemplates.org/ + https://github.com/sqlalchemy/mako/ + https://pypi.org/project/Mako/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="doc" + +RDEPEND=" + >=dev-python/markupsafe-0.9.2[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/Babel[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=() + case ${EPYTHON} in + pypy3) + EPYTEST_DESELECT+=( + test/test_exceptions.py::ExceptionsTest::test_alternating_file_names + ) + ;; + esac + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} + +python_install_all() { + rm -r doc/build || die + + use doc && local HTML_DOCS=( doc/. ) + distutils-r1_python_install_all +} diff --git a/dev-python/mastodon-py/Manifest b/dev-python/mastodon-py/Manifest index 5c81e85ca017..95dedc81dbaa 100644 --- a/dev-python/mastodon-py/Manifest +++ b/dev-python/mastodon-py/Manifest @@ -1,2 +1 @@ -DIST Mastodon.py-1.8.0.tar.gz 8659035 BLAKE2B 46c07fc3e3cf289f8a161975b1f3f36a88882c3299e79b331f3c659c18c5cafbc7144be57bf580212152a345ab4c4e73a08ea4d6052953fae6664eabd6360c3f SHA512 497cdb42adeceeea6f65210daf94eff0c6ce26b286fabc13976c8276649b6b6f51f47b4e99733133c60dc373fcbb0b0760a20ff526d8435391c43e8f06666696 DIST Mastodon.py-1.8.1.tar.gz 8694359 BLAKE2B d3b8d2196199eeaeb0377c8503e763099943142c58b5b45bbbb86a38c0629ea6ee6427b53c989267a13d4d2a0c104635387ffef96d05d7dfa7dd8c2756e8704b SHA512 812bfdcb1a59a06376bfb48798b43cac9dc9390781b3949e4b3d751ec0530b25b187e688c7cfc18eff6d5bb23c9bf442bce5f6902727331e8bc550e310dab94c diff --git a/dev-python/mastodon-py/mastodon-py-1.8.0.ebuild b/dev-python/mastodon-py/mastodon-py-1.8.0.ebuild deleted file mode 100644 index 39ba4b076448..000000000000 --- a/dev-python/mastodon-py/mastodon-py-1.8.0.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 2022 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} ) -PYPI_NO_NORMALIZE=1 -PYPI_PN="Mastodon.py" -inherit distutils-r1 optfeature pypi - -MY_PN="Mastodon.py" -MY_P="${MY_PN}-${PV}" -DESCRIPTION="Python wrapper for the Mastodon API" -HOMEPAGE=" - https://pypi.org/project/Mastodon.py/ - https://github.com/halcy/Mastodon.py -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - dev-python/blurhash[${PYTHON_USEDEP}] - dev-python/decorator[${PYTHON_USEDEP}] - dev-python/python-dateutil[${PYTHON_USEDEP}] - dev-python/python-magic[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/http-ece[${PYTHON_USEDEP}] - dev-python/pytest-mock[${PYTHON_USEDEP}] - dev-python/pytest-vcr[${PYTHON_USEDEP}] - dev-python/requests-mock[${PYTHON_USEDEP}] - dev-python/vcrpy[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -distutils_enable_sphinx docs - -src_prepare() { - distutils-r1_src_prepare - rm setup.cfg || die -} - -pkg_postinst() { - optfeature "webpush support" "dev-python/cryptography dev-python/http-ece" -} diff --git a/dev-python/mastodon-py/mastodon-py-1.8.1.ebuild b/dev-python/mastodon-py/mastodon-py-1.8.1.ebuild index f07aebe63605..aef14e37ad7c 100644 --- a/dev-python/mastodon-py/mastodon-py-1.8.1.ebuild +++ b/dev-python/mastodon-py/mastodon-py-1.8.1.ebuild @@ -1,10 +1,10 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-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} ) # fails all tests with py3.12 +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) PYPI_NO_NORMALIZE=1 PYPI_PN="Mastodon.py" inherit distutils-r1 optfeature pypi diff --git a/dev-python/material-color-utilities/Manifest b/dev-python/material-color-utilities/Manifest index 81cf2c70bf42..5a202bca65be 100644 --- a/dev-python/material-color-utilities/Manifest +++ b/dev-python/material-color-utilities/Manifest @@ -1 +1 @@ -DIST material-color-utilities-0.1.5.tar.gz 25702 BLAKE2B cf444831fec962caae3a1871b8331dcdd055f186754631185140842e49e1dc5526c5aedc021d28cd5e192e6f593774abce34e4a2853049e9ded2cf3ca9b79e3f SHA512 f3987da2723f9bc0a383d544868bd48b79c815c1ef3b601cf7daf711ae66ba2e20c38d272fff34b8fef724d202cdb71431d885d0fc86cf6b459a8735cd0751a4 +DIST material-color-utilities-python-0.1.5.tar.gz 25702 BLAKE2B cf444831fec962caae3a1871b8331dcdd055f186754631185140842e49e1dc5526c5aedc021d28cd5e192e6f593774abce34e4a2853049e9ded2cf3ca9b79e3f SHA512 f3987da2723f9bc0a383d544868bd48b79c815c1ef3b601cf7daf711ae66ba2e20c38d272fff34b8fef724d202cdb71431d885d0fc86cf6b459a8735cd0751a4 diff --git a/dev-python/material-color-utilities/material-color-utilities-0.1.5.ebuild b/dev-python/material-color-utilities/material-color-utilities-0.1.5.ebuild index dc867d68c6fa..e22785f7a28f 100644 --- a/dev-python/material-color-utilities/material-color-utilities-0.1.5.ebuild +++ b/dev-python/material-color-utilities/material-color-utilities-0.1.5.ebuild @@ -1,11 +1,14 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{8,9,10,11,12} ) DISTUTILS_USE_PEP517=poetry -inherit distutils-r1 +PYPI_NO_NORMALIZE=1 +PYPI_PN="${PN}-python" + +inherit distutils-r1 pypi MY_PN="${PN}-python" MY_P="${MY_PN}-${PV}" @@ -19,7 +22,6 @@ if [[ ${PV} == *9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/avanishsubbiah/material-color-utilities-python.git" else - SRC_URI="https://files.pythonhosted.org/packages/source/m/material-color-utilities-python/material-color-utilities-python-${PV}.tar.gz -> ${P}.tar.gz" KEYWORDS="~amd64 ~arm64" S="${WORKDIR}/${MY_P}" fi diff --git a/dev-python/material-color-utilities/material-color-utilities-9999.ebuild b/dev-python/material-color-utilities/material-color-utilities-9999.ebuild index dc867d68c6fa..7e8bd3cdfaba 100644 --- a/dev-python/material-color-utilities/material-color-utilities-9999.ebuild +++ b/dev-python/material-color-utilities/material-color-utilities-9999.ebuild @@ -1,10 +1,11 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{8,9,10,11,12} ) DISTUTILS_USE_PEP517=poetry + inherit distutils-r1 MY_PN="${PN}-python" @@ -19,7 +20,6 @@ if [[ ${PV} == *9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/avanishsubbiah/material-color-utilities-python.git" else - SRC_URI="https://files.pythonhosted.org/packages/source/m/material-color-utilities-python/material-color-utilities-python-${PV}.tar.gz -> ${P}.tar.gz" KEYWORDS="~amd64 ~arm64" S="${WORKDIR}/${MY_P}" fi diff --git a/dev-python/mcbootflash/Manifest b/dev-python/mcbootflash/Manifest index 9fd6f2c44a00..ac5f53e1e9a2 100644 --- a/dev-python/mcbootflash/Manifest +++ b/dev-python/mcbootflash/Manifest @@ -1,3 +1,4 @@ DIST mcbootflash-8.0.1.tar.gz 24906 BLAKE2B 2af5c73de29aa089d33047179ce196507ab1ed1ae224b6f680341a818d8056915271b121cf1ac32f31dd5e33e095f2b82fcddf5907bdb5513a17e009ac242f7f SHA512 fc4093873bbfc0a29d2c09b2f62247dd659b4c9d531613a2a18d6b452f7a0e573b5fa087d82686045af1ba6f7811ca3ccba0f109ada71c42925e8c01faa0fe1d DIST mcbootflash-8.0.2.tar.gz 27121 BLAKE2B caded3a13266db46ac1b9f35c0a027e9dbfa2c430da96992bf689d4b32574406a7d0c736da82dbe7c473189a8941db8548f59828010e755f33c0342c8c593be2 SHA512 542dcf9af6c22f2deae786fa547e99e4df07b8e3eda7b007a9ead96386c2bf880d8485985b3de399ecd496bf982b6a0308c3f82b49c5914bca09c961822566c6 DIST mcbootflash-9.0.0.tar.gz 26736 BLAKE2B d813e06f88192d44139fe1dc127df6cb26d21f5716288e3bb59989ac362664b1c3a66e857fe702e8691d945ecaf5dace56b43ab967f029bc51583b0a1603fcbd SHA512 92854a1f7c4ecebff5bce12e10131154fa23ae078618fb7a7757f325b49cae7c1a0d3505e25a2c2faa5101adfb2786be90f703a074304a61c55590267d2cdf38 +DIST mcbootflash-9.0.1.tar.gz 26858 BLAKE2B d8d8486a8713d46f7b93443dcfd9cbd9a93452fa7c8e76aeba1f4bfbf52765fbe3807fe8206b994015c094f9fba1626d5a3bb2fa93bd6b6400a9cbaaee7c19a9 SHA512 0c001a0a2c10e9d4bf111136d08ec89c4bc62568934ef9d8b75d7c58d59f451f5459ccc387c72424e8d16c5e49e7bba903efce403f41923ca33d87c2290a84e9 diff --git a/dev-python/mcbootflash/mcbootflash-9.0.1.ebuild b/dev-python/mcbootflash/mcbootflash-9.0.1.ebuild new file mode 100644 index 000000000000..7653ff5ad9db --- /dev/null +++ b/dev-python/mcbootflash/mcbootflash-9.0.1.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Flash firmware to devices running Microchip's 16-bit bootloader" +HOMEPAGE=" + https://pypi.org/project/mcbootflash/ + https://github.com/bessman/mcbootflash/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/bincopy-20.0.0[${PYTHON_USEDEP}] + dev-python/pyserial[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/pytest-reserial[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + epytest --replay +} diff --git a/dev-python/mkdocstrings-python/Manifest b/dev-python/mkdocstrings-python/Manifest index d693cb6915fb..f01953616eb2 100644 --- a/dev-python/mkdocstrings-python/Manifest +++ b/dev-python/mkdocstrings-python/Manifest @@ -1,2 +1,2 @@ DIST mkdocstrings-python-1.10.0.gh.tar.gz 150022 BLAKE2B fc75c3a797a8c473121b6f00c17ff6b876170d2efde2a7c541667cdbdb1c730d3f843ed6c795d9a1ae8ceb22e56c50d91a0b7e29f4d6ec7aa1eb0f46e7a3c0a6 SHA512 743cadbf0c4318001a265b114d380107b3ed57b0b2ba4e73eb698a1e12074ba6bfe11277a4d245614226913d029483281058b1bc865a67f63de59698b89735dc -DIST mkdocstrings-python-1.9.2.gh.tar.gz 149558 BLAKE2B 334843c268e308473baf4fc4f37b1a49db600cb4c033456f2a392b2f77e1fbd8e703982b56dea373e9946a5b55efcb236c36e6aa11bd792005ad6b9f4da4d693 SHA512 ac5f2acbc18ec8a07506acb8f9914549fb6d9d0128204efda69e94ee2a4b6d6763567b253374946e740dbaaf3dd3adabc09e56c5db69ff78fa7981931731c5c0 +DIST mkdocstrings-python-1.10.1.gh.tar.gz 157475 BLAKE2B a31c75a27e8459791fa0958373da731a13ae6c1d04f8f170aa1a01046488ca1e289871ff3d7f9eca0f5ee4ce6a58ee24e0fc4005b8742b64d600cb391bb69bc2 SHA512 f020ca43cd22f36008da6491c9632d272b2928ab7d79e83222da6aa894fcd51f1cf608dfb881569e1e04881a533680c12d779c18cb53ac3968008c64f5b96c2a diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.10.1.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.10.1.ebuild new file mode 100644 index 000000000000..fd3680096503 --- /dev/null +++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.10.1.ebuild @@ -0,0 +1,40 @@ +# 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=pdm-backend + +inherit distutils-r1 + +DESCRIPTION="Python handler for dev-python/mkdocstrings" +HOMEPAGE=" + https://mkdocstrings.github.io/python/ + https://github.com/mkdocstrings/python/ + https://pypi.org/project/mkdocstrings-python/ +" +# Tests need files absent from the PyPI tarballs +SRC_URI=" + https://github.com/mkdocstrings/python/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/python-${PV}" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv" + +RDEPEND=" + >=dev-python/griffe-0.44[${PYTHON_USEDEP}] + >=dev-python/mkdocstrings-0.25.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mkdocs-material[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +export PDM_BUILD_SCM_VERSION=${PV} diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.9.2.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.9.2.ebuild deleted file mode 100644 index 39bd2049c47e..000000000000 --- a/dev-python/mkdocstrings-python/mkdocstrings-python-1.9.2.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# 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=pdm-backend - -inherit distutils-r1 - -DESCRIPTION="Python handler for dev-python/mkdocstrings" -HOMEPAGE=" - https://mkdocstrings.github.io/python/ - https://github.com/mkdocstrings/python/ - https://pypi.org/project/mkdocstrings-python/ -" -# Tests need files absent from the PyPI tarballs -SRC_URI=" - https://github.com/mkdocstrings/python/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz -" -S="${WORKDIR}/python-${PV}" - -LICENSE="ISC" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv" - -RDEPEND=" - >=dev-python/griffe-0.37[${PYTHON_USEDEP}] - >=dev-python/mkdocstrings-0.24.2[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/mkdocs-material[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -export PDM_BUILD_SCM_VERSION=${PV} diff --git a/dev-python/mobi/mobi-0.3.3.ebuild b/dev-python/mobi/mobi-0.3.3.ebuild index 4ee80e95b05f..9e92b86de620 100644 --- a/dev-python/mobi/mobi-0.3.3.ebuild +++ b/dev-python/mobi/mobi-0.3.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 2021-2023 Gentoo Authors +# Copyright 2021-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/oscrypto/files/openssl-3.0.10-fix.patch b/dev-python/oscrypto/files/openssl-3.0.10-fix.patch new file mode 100644 index 000000000000..a1c2e44c41fb --- /dev/null +++ b/dev-python/oscrypto/files/openssl-3.0.10-fix.patch @@ -0,0 +1,38 @@ +From ebbc944485b278192b60080ea1f495e287efb4f8 Mon Sep 17 00:00:00 2001 +From: Martin Journois +Date: Thu, 17 Aug 2023 13:09:31 +0200 +Subject: [PATCH] MJ: Fix #75 bug with openssl 3.0.10 (#76) + +* MJ: Fix #75 bug with openssl 3.0.10 +* MJ: Add fix suggested by @vcunat on _libcrypto_ctypes regex +--- + oscrypto/_openssl/_libcrypto_cffi.py | 2 +- + oscrypto/_openssl/_libcrypto_ctypes.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/oscrypto/_openssl/_libcrypto_cffi.py b/oscrypto/_openssl/_libcrypto_cffi.py +index 8aed03e..14eb576 100644 +--- a/oscrypto/_openssl/_libcrypto_cffi.py ++++ b/oscrypto/_openssl/_libcrypto_cffi.py +@@ -37,7 +37,7 @@ + + is_libressl = 'LibreSSL' in version_string + +-version_match = re.search('\\b(\\d\\.\\d\\.\\d[a-z]*)\\b', version_string) ++version_match = re.search('\\b(\\d\\.\\d\\.\\d+[a-z]*)\\b', version_string) + if not version_match: + version_match = re.search('(?<=LibreSSL )(\\d\\.\\d(\\.\\d)?)\\b', version_string) + if not version_match: +diff --git a/oscrypto/_openssl/_libcrypto_ctypes.py b/oscrypto/_openssl/_libcrypto_ctypes.py +index e33ebbc..9cb294a 100644 +--- a/oscrypto/_openssl/_libcrypto_ctypes.py ++++ b/oscrypto/_openssl/_libcrypto_ctypes.py +@@ -40,7 +40,7 @@ + + is_libressl = 'LibreSSL' in version_string + +-version_match = re.search('\\b(\\d\\.\\d\\.\\d[a-z]*)\\b', version_string) ++version_match = re.search('\\b(\\d\\.\\d\\.\\d+[a-z]*)\\b', version_string) + if not version_match: + version_match = re.search('(?<=LibreSSL )(\\d\\.\\d(\\.\\d)?)\\b', version_string) + if not version_match: diff --git a/dev-python/oscrypto/files/py3.12.patch b/dev-python/oscrypto/files/py3.12.patch new file mode 100644 index 000000000000..0bb8cb0cda02 --- /dev/null +++ b/dev-python/oscrypto/files/py3.12.patch @@ -0,0 +1,902 @@ +From 3be536e4a61ac5fbd403ee80cdb54cb666f34679 Mon Sep 17 00:00:00 2001 +From: Dominik 'Rathann' Mierzejewski +Date: Thu, 17 Aug 2023 09:05:29 +0200 +Subject: [PATCH 01/13] use `importlib` instead of deprecated `imp` module + +This fixes tests with python 3.12 where the `imp` module was +[removed](https://docs.python.org/3.12/whatsnew/3.12.html#removed). + +This should fix issue #74. +--- + tests/__init__.py | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/tests/__init__.py b/tests/__init__.py +index 4c65360..90bede4 100644 +--- a/tests/__init__.py ++++ b/tests/__init__.py +@@ -1,7 +1,7 @@ + # coding: utf-8 + from __future__ import unicode_literals, division, absolute_import, print_function + +-import imp ++import importlib + import os + import unittest + +@@ -94,8 +94,7 @@ def _import_from(mod, path, mod_dir=None): + return None + + try: +- mod_info = imp.find_module(mod_dir, [path]) +- return imp.load_module(mod, *mod_info) ++ return importlib.import_module(mod) + except ImportError: + return None + + +From 199f07eefb9c0d1d5ad8093c012fbdae1fefa633 Mon Sep 17 00:00:00 2001 +From: wbond +Date: Thu, 17 Aug 2023 07:14:40 -0400 +Subject: [PATCH 02/13] Fix compatibility with Python 2.6 + +--- + tests/__init__.py | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/tests/__init__.py b/tests/__init__.py +index 90bede4..3ca9334 100644 +--- a/tests/__init__.py ++++ b/tests/__init__.py +@@ -1,10 +1,15 @@ + # coding: utf-8 + from __future__ import unicode_literals, division, absolute_import, print_function + +-import importlib + import os ++import sys + import unittest + ++if sys.version_info < (3,): ++ import imp as importlib ++else: ++ import importlib ++ + + __version__ = '1.3.0' + __version_info__ = (1, 3, 0) + +From 19de26bdad3154dc30c6661b652c459438fa9be2 Mon Sep 17 00:00:00 2001 +From: wbond +Date: Thu, 17 Aug 2023 07:25:49 -0400 +Subject: [PATCH 03/13] Fix both imp and importlib implementations + +--- + tests/__init__.py | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/tests/__init__.py b/tests/__init__.py +index 3ca9334..7aab84d 100644 +--- a/tests/__init__.py ++++ b/tests/__init__.py +@@ -6,7 +6,7 @@ + import unittest + + if sys.version_info < (3,): +- import imp as importlib ++ import imp + else: + import importlib + +@@ -99,7 +99,12 @@ def _import_from(mod, path, mod_dir=None): + return None + + try: +- return importlib.import_module(mod) ++ if sys.version_info < (3,): ++ mod_info = imp.find_module(mod_dir, [path]) ++ return imp.load_module(mod, *mod_info) ++ else: ++ mod_info = importlib.machinery.PathFinder().find_spec(mod_dir, [path]) ++ return importlib.import_module(mod, *mod_info) + except ImportError: + return None + + +From 6973b915069babf665bc223979cd86b2dc262da4 Mon Sep 17 00:00:00 2001 +From: wbond +Date: Thu, 17 Aug 2023 07:34:37 -0400 +Subject: [PATCH 04/13] More importlib fixes + +--- + tests/__init__.py | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/tests/__init__.py b/tests/__init__.py +index 7aab84d..957c083 100644 +--- a/tests/__init__.py ++++ b/tests/__init__.py +@@ -103,8 +103,10 @@ def _import_from(mod, path, mod_dir=None): + mod_info = imp.find_module(mod_dir, [path]) + return imp.load_module(mod, *mod_info) + else: +- mod_info = importlib.machinery.PathFinder().find_spec(mod_dir, [path]) +- return importlib.import_module(mod, *mod_info) ++ spec = importlib.machinery.PathFinder().find_spec(mod_dir, [path]) ++ module = importlib.util.module_from_spec(spec) ++ sys.modules[mod] = module ++ spec.loader.exec_module(module) + except ImportError: + return None + + +From 8843c89acae8435a7ba731b42750e42caef87a70 Mon Sep 17 00:00:00 2001 +From: wbond +Date: Thu, 17 Aug 2023 07:35:40 -0400 +Subject: [PATCH 05/13] Python 3.3 has a different importlib implementation + +--- + tests/__init__.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/__init__.py b/tests/__init__.py +index 957c083..8339b5d 100644 +--- a/tests/__init__.py ++++ b/tests/__init__.py +@@ -5,7 +5,7 @@ + import sys + import unittest + +-if sys.version_info < (3,): ++if sys.version_info < (3, 5): + import imp + else: + import importlib +@@ -99,7 +99,7 @@ def _import_from(mod, path, mod_dir=None): + return None + + try: +- if sys.version_info < (3,): ++ if sys.version_info < (3, 5): + mod_info = imp.find_module(mod_dir, [path]) + return imp.load_module(mod, *mod_info) + else: + +From 53fa3ca263ad6bc04e4a8a56f180b82bdc88aa03 Mon Sep 17 00:00:00 2001 +From: wbond +Date: Thu, 17 Aug 2023 08:22:21 -0400 +Subject: [PATCH 06/13] Attempt a different importlib implementation + +--- + tests/__init__.py | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/tests/__init__.py b/tests/__init__.py +index 8339b5d..0eecf2f 100644 +--- a/tests/__init__.py ++++ b/tests/__init__.py +@@ -103,7 +103,12 @@ def _import_from(mod, path, mod_dir=None): + mod_info = imp.find_module(mod_dir, [path]) + return imp.load_module(mod, *mod_info) + else: +- spec = importlib.machinery.PathFinder().find_spec(mod_dir, [path]) ++ loader_details = ( ++ importlib.machinery.SourceFileLoader, ++ importlib.machinery.SOURCE_SUFFIXES ++ ) ++ finder = importlib.machinery.FileFinder(path, loader_details) ++ spec = finder.find_spec(mod_dir) + module = importlib.util.module_from_spec(spec) + sys.modules[mod] = module + spec.loader.exec_module(module) + +From b013e440061c88dfe0301309b695c7b47bcc1e72 Mon Sep 17 00:00:00 2001 +From: wbond +Date: Thu, 17 Aug 2023 15:52:30 -0400 +Subject: [PATCH 07/13] Hopefully some fully working Python 3.12-compatible + import backflips + +--- + dev/_import.py | 35 ++++++++++++++++++++++++++++++++--- + tests/__init__.py | 4 ++++ + 2 files changed, 36 insertions(+), 3 deletions(-) + +diff --git a/dev/_import.py b/dev/_import.py +index d64c028..016c576 100644 +--- a/dev/_import.py ++++ b/dev/_import.py +@@ -1,12 +1,19 @@ + # coding: utf-8 + from __future__ import unicode_literals, division, absolute_import, print_function + +-import imp + import sys + import os + + from . import build_root, package_name, package_root + ++if sys.version_info < (3, 5): ++ import imp ++else: ++ import importlib ++ import importlib.machinery ++ import importlib.util ++ ++ + if sys.version_info < (3,): + getcwd = os.getcwdu + else: +@@ -34,6 +41,14 @@ def _import_from(mod, path, mod_dir=None, allow_error=False): + None if not loaded, otherwise the module + """ + ++ if mod in sys.modules: ++ return sys.modules[mod] ++ ++ if mod_dir is None: ++ full_mod = mod ++ else: ++ full_mod = mod_dir ++ + if mod_dir is None: + mod_dir = mod.replace('.', os.sep) + +@@ -49,8 +64,22 @@ def _import_from(mod, path, mod_dir=None, allow_error=False): + path = os.path.join(path, append) + + try: +- mod_info = imp.find_module(mod_dir, [path]) +- return imp.load_module(mod, *mod_info) ++ if sys.version_info < (3, 5): ++ mod_info = imp.find_module(mod_dir, [path]) ++ return imp.load_module(mod, *mod_info) ++ ++ else: ++ loader_details = ( ++ importlib.machinery.SourceFileLoader, ++ importlib.machinery.SOURCE_SUFFIXES ++ ) ++ finder = importlib.machinery.FileFinder(path, loader_details) ++ spec = finder.find_spec(full_mod) ++ module = importlib.util.module_from_spec(spec) ++ sys.modules[mod] = module ++ spec.loader.exec_module(module) ++ return module ++ + except ImportError: + if allow_error: + raise +diff --git a/tests/__init__.py b/tests/__init__.py +index 0eecf2f..9759ae3 100644 +--- a/tests/__init__.py ++++ b/tests/__init__.py +@@ -89,6 +89,9 @@ def _import_from(mod, path, mod_dir=None): + None if not loaded, otherwise the module + """ + ++ if mod in sys.modules: ++ return sys.modules[mod] ++ + if mod_dir is None: + mod_dir = mod + +@@ -112,6 +115,7 @@ def _import_from(mod, path, mod_dir=None): + module = importlib.util.module_from_spec(spec) + sys.modules[mod] = module + spec.loader.exec_module(module) ++ return module + except ImportError: + return None + + +From 8ec71631b5adf6f6ab34c7cc3fe8e229a2bdcbd7 Mon Sep 17 00:00:00 2001 +From: Dominik Mierzejewski +Date: Fri, 18 Aug 2023 11:18:06 +0200 +Subject: [PATCH 08/13] Use importlib with python 3.5+ + +This fixes `python run.py ci` under python 3.12. +--- + dev/coverage.py | 21 ++++++++++++++++++--- + 1 file changed, 18 insertions(+), 3 deletions(-) + +diff --git a/dev/coverage.py b/dev/coverage.py +index bb99a4f..6e669fe 100644 +--- a/dev/coverage.py ++++ b/dev/coverage.py +@@ -4,7 +4,6 @@ + import cgi + import codecs + import coverage +-import imp + import json + import os + import unittest +@@ -33,6 +32,11 @@ + else: + Pattern = re.Pattern + ++if sys.version_info < (3, 5): ++ import imp ++else: ++ import importlib ++ + + def run(ci=False): + """ +@@ -103,8 +107,19 @@ def _load_package_tests(name): + if not os.path.exists(package_dir): + return [] + +- tests_module_info = imp.find_module('tests', [package_dir]) +- tests_module = imp.load_module('%s.tests' % name, *tests_module_info) ++ if sys.version_info < (3, 5): ++ tests_module_info = imp.find_module('tests', [package_dir]) ++ tests_module = imp.load_module('%s.tests' % name, *tests_module_info) ++ else: ++ loader_details = ( ++ importlib.machinery.SourceFileLoader, ++ importlib.machinery.SOURCE_SUFFIXES ++ ) ++ finder = importlib.machinery.FileFinder(package_dir, loader_details) ++ spec = finder.find_spec('tests') ++ test_module = importlib.util.module_from_spec(spec) ++ sys.modules['%s.tests' % name] = test_module ++ spec.loader.exec_module(test_module) + return tests_module.test_classes() + + + +From 23d848a500413847a63df740af543e0fdaba5558 Mon Sep 17 00:00:00 2001 +From: wbond +Date: Tue, 22 Aug 2023 06:56:36 -0400 +Subject: [PATCH 09/13] Reuse _import_from in coverage task, fixing module name + +--- + dev/coverage.py | 21 ++------------------- + 1 file changed, 2 insertions(+), 19 deletions(-) + +diff --git a/dev/coverage.py b/dev/coverage.py +index 6e669fe..00684d0 100644 +--- a/dev/coverage.py ++++ b/dev/coverage.py +@@ -16,6 +16,7 @@ + from fnmatch import fnmatch + + from . import package_name, package_root, other_packages ++from ._import import _import_from + + if sys.version_info < (3,): + str_cls = unicode # noqa +@@ -32,11 +33,6 @@ + else: + Pattern = re.Pattern + +-if sys.version_info < (3, 5): +- import imp +-else: +- import importlib +- + + def run(ci=False): + """ +@@ -107,20 +103,7 @@ def _load_package_tests(name): + if not os.path.exists(package_dir): + return [] + +- if sys.version_info < (3, 5): +- tests_module_info = imp.find_module('tests', [package_dir]) +- tests_module = imp.load_module('%s.tests' % name, *tests_module_info) +- else: +- loader_details = ( +- importlib.machinery.SourceFileLoader, +- importlib.machinery.SOURCE_SUFFIXES +- ) +- finder = importlib.machinery.FileFinder(package_dir, loader_details) +- spec = finder.find_spec('tests') +- test_module = importlib.util.module_from_spec(spec) +- sys.modules['%s.tests' % name] = test_module +- spec.loader.exec_module(test_module) +- return tests_module.test_classes() ++ return _import_from('%s.tests' % name, package_dir, 'tests').test_classes() + + + def _env_info(): + +From 9941d3b96e8aa08622d00954d89005dcf6e94b94 Mon Sep 17 00:00:00 2001 +From: wbond +Date: Tue, 22 Aug 2023 07:03:26 -0400 +Subject: [PATCH 10/13] Factor out remaining usage of imp module + +--- + dev/build.py | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/dev/build.py b/dev/build.py +index 4899594..f429fee 100644 +--- a/dev/build.py ++++ b/dev/build.py +@@ -1,7 +1,6 @@ + # coding: utf-8 + from __future__ import unicode_literals, division, absolute_import, print_function + +-import imp + import os + import tarfile + import zipfile +@@ -9,6 +8,7 @@ + import setuptools.sandbox + + from . import package_root, package_name, has_tests_package ++from ._import import _import_from + + + def _list_zip(filename): +@@ -45,8 +45,8 @@ def run(): + + # Trying to call setuptools.sandbox.run_setup(setup, ['--version']) + # resulted in a segfault, so we do this instead +- module_info = imp.find_module('version', [os.path.join(package_root, package_name)]) +- version_mod = imp.load_module('%s.version' % package_name, *module_info) ++ package_dir = os.path.join(package_root, package_name) ++ version_mod = _import_from('%s.version' % package_name, package_dir, 'version') + + pkg_name_info = (package_name, version_mod.__version__) + print('Building %s-%s' % pkg_name_info) + +From 799aa0d2f4a954d3fc120ab382c8dd4322758654 Mon Sep 17 00:00:00 2001 +From: wbond +Date: Tue, 22 Aug 2023 16:29:39 -0400 +Subject: [PATCH 11/13] Rewrite importlib import mechanism + +--- + dev/_import.py | 69 ++++++++++++++++++++++++++++++++--------- + tests/__init__.py | 79 ++++++++++++++++++++++++++++++++++++++++------- + 2 files changed, 122 insertions(+), 26 deletions(-) + +diff --git a/dev/_import.py b/dev/_import.py +index 016c576..20720e7 100644 +--- a/dev/_import.py ++++ b/dev/_import.py +@@ -10,7 +10,7 @@ + import imp + else: + import importlib +- import importlib.machinery ++ import importlib.abc + import importlib.util + + +@@ -20,6 +20,48 @@ + getcwd = os.getcwd + + ++class ModCryptoMetaFinder(importlib.abc.MetaPathFinder): ++ def setup(self): ++ self.modules = {} ++ sys.meta_path.insert(0, self) ++ ++ def add_module(self, package_name, package_path): ++ if package_name not in self.modules: ++ self.modules[package_name] = package_path ++ ++ def find_spec(self, fullname, path, target=None): ++ name_parts = fullname.split('.') ++ if name_parts[0] not in self.modules: ++ return None ++ ++ package = name_parts[0] ++ package_path = self.modules[package] ++ ++ fullpath = os.path.join(package_path, *name_parts[1:]) ++ ++ if os.path.isdir(fullpath): ++ filename = os.path.join(fullpath, "__init__.py") ++ submodule_locations = [fullpath] ++ else: ++ filename = fullpath + ".py" ++ submodule_locations = None ++ ++ if not os.path.exists(filename): ++ return None ++ ++ return importlib.util.spec_from_file_location( ++ fullname, ++ filename, ++ loader=None, ++ submodule_search_locations=submodule_locations ++ ) ++ ++ ++if sys.version_info >= (3, 5): ++ CUSTOM_FINDER = ModCryptoMetaFinder() ++ CUSTOM_FINDER.setup() ++ ++ + def _import_from(mod, path, mod_dir=None, allow_error=False): + """ + Imports a module from a specific path +@@ -47,7 +89,7 @@ def _import_from(mod, path, mod_dir=None, allow_error=False): + if mod_dir is None: + full_mod = mod + else: +- full_mod = mod_dir ++ full_mod = mod_dir.replace(os.sep, '.') + + if mod_dir is None: + mod_dir = mod.replace('.', os.sep) +@@ -55,8 +97,11 @@ def _import_from(mod, path, mod_dir=None, allow_error=False): + if not os.path.exists(path): + return None + +- if not os.path.exists(os.path.join(path, mod_dir)) \ +- and not os.path.exists(os.path.join(path, mod_dir + '.py')): ++ source_path = os.path.join(path, mod_dir, '__init__.py') ++ if not os.path.exists(source_path): ++ source_path = os.path.join(path, mod_dir + '.py') ++ ++ if not os.path.exists(source_path): + return None + + if os.sep in mod_dir: +@@ -69,16 +114,12 @@ def _import_from(mod, path, mod_dir=None, allow_error=False): + return imp.load_module(mod, *mod_info) + + else: +- loader_details = ( +- importlib.machinery.SourceFileLoader, +- importlib.machinery.SOURCE_SUFFIXES +- ) +- finder = importlib.machinery.FileFinder(path, loader_details) +- spec = finder.find_spec(full_mod) +- module = importlib.util.module_from_spec(spec) +- sys.modules[mod] = module +- spec.loader.exec_module(module) +- return module ++ package = mod.split('.', 1)[0] ++ package_dir = full_mod.split('.', 1)[0] ++ package_path = os.path.join(path, package_dir) ++ CUSTOM_FINDER.add_module(package, package_path) ++ ++ return importlib.import_module(mod) + + except ImportError: + if allow_error: +diff --git a/tests/__init__.py b/tests/__init__.py +index 9759ae3..2e24046 100644 +--- a/tests/__init__.py ++++ b/tests/__init__.py +@@ -9,6 +9,8 @@ + import imp + else: + import importlib ++ import importlib.abc ++ import importlib.util + + + __version__ = '1.3.0' +@@ -71,6 +73,48 @@ def local_oscrypto(): + return (_asn1crypto_module, _oscrypto_module) + + ++class ModCryptoMetaFinder(importlib.abc.MetaPathFinder): ++ def setup(self): ++ self.modules = {} ++ sys.meta_path.insert(0, self) ++ ++ def add_module(self, package_name, package_path): ++ if package_name not in self.modules: ++ self.modules[package_name] = package_path ++ ++ def find_spec(self, fullname, path, target=None): ++ name_parts = fullname.split('.') ++ if name_parts[0] not in self.modules: ++ return None ++ ++ package = name_parts[0] ++ package_path = self.modules[package] ++ ++ fullpath = os.path.join(package_path, *name_parts[1:]) ++ ++ if os.path.isdir(fullpath): ++ filename = os.path.join(fullpath, "__init__.py") ++ submodule_locations = [fullpath] ++ else: ++ filename = fullpath + ".py" ++ submodule_locations = None ++ ++ if not os.path.exists(filename): ++ return None ++ ++ return importlib.util.spec_from_file_location( ++ fullname, ++ filename, ++ loader=None, ++ submodule_search_locations=submodule_locations ++ ) ++ ++ ++if sys.version_info >= (3, 5): ++ CUSTOM_FINDER = ModCryptoMetaFinder() ++ CUSTOM_FINDER.setup() ++ ++ + def _import_from(mod, path, mod_dir=None): + """ + Imports a module from a specific path +@@ -93,29 +137,40 @@ def _import_from(mod, path, mod_dir=None): + return sys.modules[mod] + + if mod_dir is None: +- mod_dir = mod ++ full_mod = mod ++ else: ++ full_mod = mod_dir.replace(os.sep, '.') ++ ++ if mod_dir is None: ++ mod_dir = mod.replace('.', os.sep) + + if not os.path.exists(path): + return None + +- if not os.path.exists(os.path.join(path, mod_dir)): ++ source_path = os.path.join(path, mod_dir, '__init__.py') ++ if not os.path.exists(source_path): ++ source_path = os.path.join(path, mod_dir + '.py') ++ ++ if not os.path.exists(source_path): + return None + ++ if os.sep in mod_dir: ++ append, mod_dir = mod_dir.rsplit(os.sep, 1) ++ path = os.path.join(path, append) ++ + try: + if sys.version_info < (3, 5): + mod_info = imp.find_module(mod_dir, [path]) + return imp.load_module(mod, *mod_info) ++ + else: +- loader_details = ( +- importlib.machinery.SourceFileLoader, +- importlib.machinery.SOURCE_SUFFIXES +- ) +- finder = importlib.machinery.FileFinder(path, loader_details) +- spec = finder.find_spec(mod_dir) +- module = importlib.util.module_from_spec(spec) +- sys.modules[mod] = module +- spec.loader.exec_module(module) +- return module ++ package = mod.split('.', 1)[0] ++ package_dir = full_mod.split('.', 1)[0] ++ package_path = os.path.join(path, package_dir) ++ CUSTOM_FINDER.add_module(package, package_path) ++ ++ return importlib.import_module(mod) ++ + except ImportError: + return None + + +From 8a588fa0223f08f817e702f7f2cc4ef81017af26 Mon Sep 17 00:00:00 2001 +From: wbond +Date: Tue, 22 Aug 2023 16:35:17 -0400 +Subject: [PATCH 12/13] Fix custom importlib code for Python < 3.5 + +--- + dev/_import.py | 73 +++++++++++++++++++++++------------------------ + tests/__init__.py | 58 ++++++++++++++++++------------------- + 2 files changed, 65 insertions(+), 66 deletions(-) + +diff --git a/dev/_import.py b/dev/_import.py +index 20720e7..2d016db 100644 +--- a/dev/_import.py ++++ b/dev/_import.py +@@ -19,45 +19,44 @@ + else: + getcwd = os.getcwd + +- +-class ModCryptoMetaFinder(importlib.abc.MetaPathFinder): +- def setup(self): +- self.modules = {} +- sys.meta_path.insert(0, self) +- +- def add_module(self, package_name, package_path): +- if package_name not in self.modules: +- self.modules[package_name] = package_path +- +- def find_spec(self, fullname, path, target=None): +- name_parts = fullname.split('.') +- if name_parts[0] not in self.modules: +- return None +- +- package = name_parts[0] +- package_path = self.modules[package] +- +- fullpath = os.path.join(package_path, *name_parts[1:]) +- +- if os.path.isdir(fullpath): +- filename = os.path.join(fullpath, "__init__.py") +- submodule_locations = [fullpath] +- else: +- filename = fullpath + ".py" +- submodule_locations = None +- +- if not os.path.exists(filename): +- return None +- +- return importlib.util.spec_from_file_location( +- fullname, +- filename, +- loader=None, +- submodule_search_locations=submodule_locations +- ) ++if sys.version_info >= (3, 5): ++ class ModCryptoMetaFinder(importlib.abc.MetaPathFinder): ++ def setup(self): ++ self.modules = {} ++ sys.meta_path.insert(0, self) ++ ++ def add_module(self, package_name, package_path): ++ if package_name not in self.modules: ++ self.modules[package_name] = package_path ++ ++ def find_spec(self, fullname, path, target=None): ++ name_parts = fullname.split('.') ++ if name_parts[0] not in self.modules: ++ return None ++ ++ package = name_parts[0] ++ package_path = self.modules[package] ++ ++ fullpath = os.path.join(package_path, *name_parts[1:]) ++ ++ if os.path.isdir(fullpath): ++ filename = os.path.join(fullpath, "__init__.py") ++ submodule_locations = [fullpath] ++ else: ++ filename = fullpath + ".py" ++ submodule_locations = None ++ ++ if not os.path.exists(filename): ++ return None ++ ++ return importlib.util.spec_from_file_location( ++ fullname, ++ filename, ++ loader=None, ++ submodule_search_locations=submodule_locations ++ ) + + +-if sys.version_info >= (3, 5): + CUSTOM_FINDER = ModCryptoMetaFinder() + CUSTOM_FINDER.setup() + +diff --git a/tests/__init__.py b/tests/__init__.py +index 2e24046..e1e92e6 100644 +--- a/tests/__init__.py ++++ b/tests/__init__.py +@@ -73,44 +73,44 @@ def local_oscrypto(): + return (_asn1crypto_module, _oscrypto_module) + + +-class ModCryptoMetaFinder(importlib.abc.MetaPathFinder): +- def setup(self): +- self.modules = {} +- sys.meta_path.insert(0, self) ++if sys.version_info >= (3, 5): ++ class ModCryptoMetaFinder(importlib.abc.MetaPathFinder): ++ def setup(self): ++ self.modules = {} ++ sys.meta_path.insert(0, self) + +- def add_module(self, package_name, package_path): +- if package_name not in self.modules: +- self.modules[package_name] = package_path ++ def add_module(self, package_name, package_path): ++ if package_name not in self.modules: ++ self.modules[package_name] = package_path + +- def find_spec(self, fullname, path, target=None): +- name_parts = fullname.split('.') +- if name_parts[0] not in self.modules: +- return None ++ def find_spec(self, fullname, path, target=None): ++ name_parts = fullname.split('.') ++ if name_parts[0] not in self.modules: ++ return None + +- package = name_parts[0] +- package_path = self.modules[package] ++ package = name_parts[0] ++ package_path = self.modules[package] + +- fullpath = os.path.join(package_path, *name_parts[1:]) ++ fullpath = os.path.join(package_path, *name_parts[1:]) + +- if os.path.isdir(fullpath): +- filename = os.path.join(fullpath, "__init__.py") +- submodule_locations = [fullpath] +- else: +- filename = fullpath + ".py" +- submodule_locations = None ++ if os.path.isdir(fullpath): ++ filename = os.path.join(fullpath, "__init__.py") ++ submodule_locations = [fullpath] ++ else: ++ filename = fullpath + ".py" ++ submodule_locations = None + +- if not os.path.exists(filename): +- return None ++ if not os.path.exists(filename): ++ return None + +- return importlib.util.spec_from_file_location( +- fullname, +- filename, +- loader=None, +- submodule_search_locations=submodule_locations +- ) ++ return importlib.util.spec_from_file_location( ++ fullname, ++ filename, ++ loader=None, ++ submodule_search_locations=submodule_locations ++ ) + + +-if sys.version_info >= (3, 5): + CUSTOM_FINDER = ModCryptoMetaFinder() + CUSTOM_FINDER.setup() + + +From d9f8e2ff88e722e3af6bf592c097298505a40381 Mon Sep 17 00:00:00 2001 +From: wbond +Date: Tue, 22 Aug 2023 16:45:45 -0400 +Subject: [PATCH 13/13] Fix test loading + +--- + dev/_import.py | 1 - + dev/coverage.py | 2 +- + tests/__init__.py | 1 - + 3 files changed, 1 insertion(+), 3 deletions(-) + +diff --git a/dev/_import.py b/dev/_import.py +index 2d016db..c0a1983 100644 +--- a/dev/_import.py ++++ b/dev/_import.py +@@ -56,7 +56,6 @@ def find_spec(self, fullname, path, target=None): + submodule_search_locations=submodule_locations + ) + +- + CUSTOM_FINDER = ModCryptoMetaFinder() + CUSTOM_FINDER.setup() + +diff --git a/dev/coverage.py b/dev/coverage.py +index 00684d0..98f140b 100644 +--- a/dev/coverage.py ++++ b/dev/coverage.py +@@ -103,7 +103,7 @@ def _load_package_tests(name): + if not os.path.exists(package_dir): + return [] + +- return _import_from('%s.tests' % name, package_dir, 'tests').test_classes() ++ return _import_from('%s_tests' % name, package_dir, 'tests').test_classes() + + + def _env_info(): +diff --git a/tests/__init__.py b/tests/__init__.py +index e1e92e6..3ae721d 100644 +--- a/tests/__init__.py ++++ b/tests/__init__.py +@@ -110,7 +110,6 @@ def find_spec(self, fullname, path, target=None): + submodule_search_locations=submodule_locations + ) + +- + CUSTOM_FINDER = ModCryptoMetaFinder() + CUSTOM_FINDER.setup() + diff --git a/dev-python/oscrypto/oscrypto-1.3.0-r1.ebuild b/dev-python/oscrypto/oscrypto-1.3.0-r1.ebuild deleted file mode 100644 index 986154db08d5..000000000000 --- a/dev-python/oscrypto/oscrypto-1.3.0-r1.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# 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} pypy3 ) -DISTUTILS_USE_PEP517=setuptools -inherit edo distutils-r1 optfeature - -DESCRIPTION="TLS sockets, key generation, encryption, decryption, signing, verification" -HOMEPAGE=" - https://pypi.org/project/oscrypto/ - https://github.com/wbond/oscrypto -" -SRC_URI="https://github.com/wbond/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -RDEPEND=" - dev-libs/openssl - >=dev-python/asn1crypto-1.5.1[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*') - ) -" - -DOCS=( docs {changelog,readme}.md ) - -distutils_enable_tests unittest - -python_test() { - local -x OSCRYPTO_SKIP_INTERNET_TESTS="true" - edo ${EPYTHON} -m tests -} - -pkg_postinst() { - optfeature "faster FFI" virtual/python-cffi -} diff --git a/dev-python/oscrypto/oscrypto-1.3.0-r2.ebuild b/dev-python/oscrypto/oscrypto-1.3.0-r2.ebuild new file mode 100644 index 000000000000..589c3020e69b --- /dev/null +++ b/dev-python/oscrypto/oscrypto-1.3.0-r2.ebuild @@ -0,0 +1,47 @@ +# 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} pypy3 ) +DISTUTILS_USE_PEP517=setuptools +inherit edo distutils-r1 optfeature + +DESCRIPTION="TLS sockets, key generation, encryption, decryption, signing, verification" +HOMEPAGE=" + https://pypi.org/project/oscrypto/ + https://github.com/wbond/oscrypto +" +SRC_URI="https://github.com/wbond/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + dev-libs/openssl + >=dev-python/asn1crypto-1.5.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*') + ) +" + +DOCS=( docs {changelog,readme}.md ) + +PATCHES=( + "${FILESDIR}"/openssl-3.0.10-fix.patch + "${FILESDIR}"/py3.12.patch +) + +distutils_enable_tests unittest + +python_test() { + local -x OSCRYPTO_SKIP_INTERNET_TESTS="true" + edo ${EPYTHON} -m tests +} + +pkg_postinst() { + optfeature "faster FFI" virtual/python-cffi +} diff --git a/dev-python/pem/Manifest b/dev-python/pem/Manifest index c60227d7b60a..9f68271c31cd 100644 --- a/dev-python/pem/Manifest +++ b/dev-python/pem/Manifest @@ -1,2 +1 @@ -DIST pem-21.2.0.gh.tar.gz 35899 BLAKE2B b24affc1228d61b61660615c252fbac36abc3e42d9b54a026fd63c68b3ba470c3208ce12d2d8b188bb4e951f2ad55cd4cf441ffdbc49b681e9f0616ed5290123 SHA512 7e6f6d46bd1c8ab5c84b0edee182fbec7ae3c37e2005854ff1bc6f43cb47490a1f3bb0ac97cbc9e8c0ff830d4f22fcddd52f68206452a16ba862354a75491b18 DIST pem-23.1.0.tar.gz 43796 BLAKE2B 903b6bbad0a73266467d876eba2a6a32993fd57f75630149bb00c8eac9f51a0fa7b1edcff9c09d48167f971c1da51f688ae0bda9494c3d3e3acf11262983858d SHA512 e742dba55df69736ed5896370da980b25961682a9fd38b6940490cb82332813fc1d7a931fe651716fa31caf6080e6fb047d0ef62d3e61d7e3e1288a00b70051e diff --git a/dev-python/pem/pem-21.2.0.ebuild b/dev-python/pem/pem-21.2.0.ebuild deleted file mode 100644 index 8040a907d9f9..000000000000 --- a/dev-python/pem/pem-21.2.0.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{8,9,10,11,12} ) -inherit distutils-r1 - -DESCRIPTION="Easy PEM file parsing in Python" -HOMEPAGE="https://pem.readthedocs.io/" -SRC_URI="https://github.com/hynek/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -BDEPEND=" - test? ( - >=dev-python/coverage-5.0.2[${PYTHON_USEDEP}] - dev-python/certifi[${PYTHON_USEDEP}] - dev-python/pretend[${PYTHON_USEDEP}] - dev-python/pyopenssl[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest diff --git a/dev-python/pyarrow/Manifest b/dev-python/pyarrow/Manifest index 6136d388636a..bf2ef74d0b33 100644 --- a/dev-python/pyarrow/Manifest +++ b/dev-python/pyarrow/Manifest @@ -1 +1,2 @@ DIST apache-arrow-16.0.0.tar.gz 21695067 BLAKE2B aa5dfef3d8d46a53242075c165473635051d51ff28587ea8b80751232d5f75ee3ef89e0a027aa39bdc9dc03fa46ddb68e46ae2c7f40605258e47ff194f1d3979 SHA512 773f4f3eef603032c8ba0cfdc023bfd2a24bb5e41c82da354a22d7854ab153294ede1f4782cc32b27451cf1b58303f105bac61ceeb3568faea747b93e21d79e4 +DIST apache-arrow-16.1.0.tar.gz 21707079 BLAKE2B 5541c364351e59e8164f2461546bce3ddc834d70b3a03b815b681187674bdd89ccfb7eb113bf9010c821845b0c1fa51f5321bfea5b20927e6364f6452ec980d2 SHA512 28975f59e1fdde2dba4afaf4a5ba934b63db3a7f27656e2aa0af0f0d2a046c9dbfa9a6082de94629c36d03809b296566a37ea65ec5a2fc17fedac7d21e272d31 diff --git a/dev-python/pyarrow/pyarrow-16.1.0.ebuild b/dev-python/pyarrow/pyarrow-16.1.0.ebuild new file mode 100644 index 000000000000..375bc93b77a4 --- /dev/null +++ b/dev-python/pyarrow/pyarrow-16.1.0.ebuild @@ -0,0 +1,97 @@ +# Copyright 2023-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 multiprocessing + +DESCRIPTION="Python library for Apache Arrow" +HOMEPAGE=" + https://arrow.apache.org/ + https://github.com/apache/arrow/ + https://pypi.org/project/pyarrow/ +" +SRC_URI="mirror://apache/arrow/arrow-${PV}/apache-arrow-${PV}.tar.gz" +S="${WORKDIR}/apache-arrow-${PV}/python" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~hppa ~loong ~riscv ~x86" +IUSE="+parquet +snappy ssl" + +RDEPEND=" + ~dev-libs/apache-arrow-${PV}[compute,dataset,json,parquet?,re2,snappy?,ssl?] + >=dev-python/numpy-1.16.6:=[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] + dev-libs/apache-arrow[lz4,zlib] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # cython's -Werror + sed -i -e '/--warning-errors/d' CMakeLists.txt || die + distutils-r1_src_prepare +} + +src_compile() { + export PYARROW_PARALLEL="$(makeopts_jobs)" + export PYARROW_BUILD_VERBOSE=1 + export PYARROW_CXXFLAGS="${CXXFLAGS}" + export PYARROW_BUNDLE_ARROW_CPP_HEADERS=0 + export PYARROW_CMAKE_GENERATOR=Ninja + export PYARROW_WITH_HDFS=1 + if use parquet; then + export PYARROW_WITH_DATASET=1 + export PYARROW_WITH_PARQUET=1 + use ssl && export PYARROW_WITH_PARQUET_ENCRYPTION=1 + fi + if use snappy; then + export PYARROW_WITH_SNAPPY=1 + fi + + distutils-r1_src_compile +} + +python_test() { + local EPYTEST_DESELECT=( + # wtf? + tests/test_fs.py::test_localfs_errors + # these require apache-arrow with jemalloc that doesn't seem + # to be supported by the Gentoo package + tests/test_memory.py::test_env_var + tests/test_memory.py::test_specific_memory_pools + tests/test_memory.py::test_supported_memory_backends + # pandas changed, i guess + tests/test_pandas.py::test_array_protocol_pandas_extension_types + tests/test_table.py::test_table_factory_function_args_pandas + # hypothesis health check failures + # https://github.com/apache/arrow/issues/41318 + tests/interchange/test_interchange_spec.py::test_dtypes + tests/test_convert_builtin.py::test_array_to_pylist_roundtrip + tests/test_feather.py::test_roundtrip + tests/test_pandas.py::test_array_to_pandas_roundtrip + ) + + if has_version ">=dev-python/numpy-2"; then + EPYTEST_DESELECT+=( + # https://github.com/apache/arrow/issues/41319 + tests/test_array.py::test_numpy_array_protocol + tests/test_table.py::test_numpy_array_protocol + ) + fi + + cd "${T}" || die + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest --pyargs pyarrow +} diff --git a/dev-python/pyfiglet/pyfiglet-0.8_p1.ebuild b/dev-python/pyfiglet/pyfiglet-0.8_p1.ebuild index 28929b112804..79dbaae9f272 100644 --- a/dev-python/pyfiglet/pyfiglet-0.8_p1.ebuild +++ b/dev-python/pyfiglet/pyfiglet-0.8_p1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/pygsl/Manifest b/dev-python/pygsl/Manifest index b941fbd47b58..22476ec8b591 100644 --- a/dev-python/pygsl/Manifest +++ b/dev-python/pygsl/Manifest @@ -1 +1 @@ -DIST pygsl-2.3.3.gh.tar.gz 1110939 BLAKE2B 9da5e35a6367a8cc03f836cab5e41d8d6e7c0c3d5bca995e01cf83e308f1922e6fce677977830920bc1184c6ac531f79da21d3941a63a72e16eb13b0faeabe0e SHA512 289713c2ac5d1adb1f5dd4379b704fbcfa56227b0bdbd19166a4c218d7eb9b41cb4927c265862996ae668486733510e56b6a6a0e0046d1040c88e8e854ce4a48 +DIST pygsl-2.3.4.gh.tar.gz 1100233 BLAKE2B 0d59062ae7a6193225ac731a9a12a7c32df9c309a90e358fd77f7c957f8d27269e97634022036aa7b1d99e2c3703a7c45387c97557c4e28762310009626cb465 SHA512 4b510426bafc06c79742f0ef0ad07e31a7aa74c14bab88bd2f0a2acb125569ecf38aeab0eaf01590bd052474a4aa7f8b39a66f853e4bc4a392e126dcf4bfb359 diff --git a/dev-python/pygsl/pygsl-2.3.3.ebuild b/dev-python/pygsl/pygsl-2.3.3.ebuild deleted file mode 100644 index 05466b60602d..000000000000 --- a/dev-python/pygsl/pygsl-2.3.3.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{8,9,10,11,12} ) - -inherit distutils-r1 - -DESCRIPTION="Python interface for the GNU scientific library (gsl)" -HOMEPAGE="https://github.com/pygsl/pygsl" -SRC_URI="https://github.com/pygsl/pygsl/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -IUSE="examples" -# Tests are also failing upstream -# https://github.com/pygsl/pygsl/issues/15 -RESTRICT="test" - -DEPEND=" - sci-libs/gsl - dev-python/numpy[${PYTHON_USEDEP}] -" - -distutils_enable_sphinx doc dev-python/sphinx-rtd-theme -distutils_enable_tests unittest - -python_configure() { - esetup.py config - default -} - -src_install() { - use examples && dodoc -r examples - distutils-r1_src_install -} diff --git a/dev-python/pygsl/pygsl-2.3.4.ebuild b/dev-python/pygsl/pygsl-2.3.4.ebuild new file mode 100644 index 000000000000..8d39d87bc2f6 --- /dev/null +++ b/dev-python/pygsl/pygsl-2.3.4.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +inherit distutils-r1 + +DESCRIPTION="Python interface for the GNU scientific library (gsl)" +HOMEPAGE="https://github.com/pygsl/pygsl" +SRC_URI="https://github.com/pygsl/pygsl/archive/v.${PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}/${PN}-v.${PV}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="examples" +# Tests are also failing upstream +# https://github.com/pygsl/pygsl/issues/15 +RESTRICT="test" + +DEPEND=" + sci-libs/gsl + dev-python/numpy[${PYTHON_USEDEP}] +" + +distutils_enable_sphinx doc dev-python/sphinx-rtd-theme +distutils_enable_tests pytest + +src_install() { + use examples && dodoc -r examples + distutils-r1_src_install +} diff --git a/dev-python/pylint/Manifest b/dev-python/pylint/Manifest index 7314df6d862d..e2f1f8c93b83 100644 --- a/dev-python/pylint/Manifest +++ b/dev-python/pylint/Manifest @@ -1,2 +1,3 @@ DIST pylint-3.1.0.gh.tar.gz 1433040 BLAKE2B a224af608fa5ccb256c18073a70f82c399ad23ff6df65f7ae3504c67060f5ba1cd36022c7d53a42f0f93bd4648340433601d2f479bef41a4281e8041a9d15715 SHA512 bb7f09fa8b2c6f218c0e4d74ec2d7bbcb5e9d9fa8c2aeae5a1bf899f25080251609f284959fab14dd93cc5dd911688e25d3d4e1e030a1790578bc78ef1ce2bf7 DIST pylint-3.1.1.gh.tar.gz 1433456 BLAKE2B f51e253228b9bb2bddd2edac76c11ae1e5c712e755665bf3f808da832af313626037aded39eeb75941b7462a87668ea2de307740bd6a736d3130aa10850b5c9f SHA512 66a30a45a1ac816a1e2ff16ea774fb5b5d646f89645c8f551ab4a65feea3076e6bc1b54ff1b71e5d8586f344c02b0e85c9b34d2c5b0afba115fd92cb7cb0a3f1 +DIST pylint-3.2.0.gh.tar.gz 1440470 BLAKE2B 428222378bdcf48ab05792144548a8d050115ecac84be72922839702a11247198a959098f3aa94b5c688671ce846386de35c4d870598912be26900d98c188f7d SHA512 14368efe598d074394effc5d90764d49b8680dfafea0837568e22ab9783de664e0d7c02491bf8c94c1b2bbe8d48018063f45a25ebd04c7813ac8e6bba7786109 diff --git a/dev-python/pylint/pylint-3.2.0.ebuild b/dev-python/pylint/pylint-3.2.0.ebuild new file mode 100644 index 000000000000..ab6346709dc8 --- /dev/null +++ b/dev-python/pylint/pylint-3.2.0.ebuild @@ -0,0 +1,92 @@ +# 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="threads(+)" + +inherit distutils-r1 + +MY_P=${P/_beta/b} +DESCRIPTION="Python code static checker" +HOMEPAGE=" + https://pypi.org/project/pylint/ + https://github.com/pylint-dev/pylint/ +" +SRC_URI=" + https://github.com/pylint-dev/pylint/archive/v${PV/_beta/b}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="examples" + +RDEPEND=" + =dev-python/astroid-3.2*[${PYTHON_USEDEP}] + >=dev-python/dill-0.3.7[${PYTHON_USEDEP}] + >=dev-python/isort-4.2.5[${PYTHON_USEDEP}] + =dev-python/mccabe-0.6[${PYTHON_USEDEP}] + =dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}] + >=dev-python/tomlkit-0.10.1[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}] + ' 3.10) +" +BDEPEND=" + test? ( + $(python_gen_cond_dep ' + >=dev-python/GitPython-3[${PYTHON_USEDEP}] + ' 'python*' ) + sphinx-click is a Sphinx plugin that allows you to automatically extract documentation from a click-based application and include it in your docs. - + https://github.com/click-contrib/sphinx-click/issues https://sphinx-click.readthedocs.io/en/latest diff --git a/dev-python/sphinx-click/sphinx-click-4.1.0.ebuild b/dev-python/sphinx-click/sphinx-click-4.1.0.ebuild deleted file mode 100644 index 9077839957d3..000000000000 --- a/dev-python/sphinx-click/sphinx-click-4.1.0.ebuild +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYPI_NO_NORMALIZE=1 -PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) - -inherit distutils-r1 pypi - -DESCRIPTION="Sphinx plugin to automatically document click-based applications" -HOMEPAGE=" - https://github.com/click-contrib/sphinx-click - https://pypi.org/project/sphinx-click/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - >=dev-python/sphinx-2.0[${PYTHON_USEDEP}] - >=dev-python/click-7.0[${PYTHON_USEDEP}] - dev-python/docutils[${PYTHON_USEDEP}] -" -BDEPEND=">=dev-python/pbr-2.0[${PYTHON_USEDEP}]" - -distutils_enable_tests pytest -distutils_enable_sphinx docs --no-autodoc diff --git a/dev-python/sphinx-click/sphinx-click-4.2.0.ebuild b/dev-python/sphinx-click/sphinx-click-4.2.0.ebuild index 9077839957d3..fa081072206d 100644 --- a/dev-python/sphinx-click/sphinx-click-4.2.0.ebuild +++ b/dev-python/sphinx-click/sphinx-click-4.2.0.ebuild @@ -1,8 +1,9 @@ -# Copyright 1999-2022 Gentoo Authors +# 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} pypy3 ) diff --git a/dev-python/sphinx-hoverxref/sphinx-hoverxref-1.3.0.ebuild b/dev-python/sphinx-hoverxref/sphinx-hoverxref-1.3.0.ebuild index 4747d35e2f1e..f96f0e082dbf 100644 --- a/dev-python/sphinx-hoverxref/sphinx-hoverxref-1.3.0.ebuild +++ b/dev-python/sphinx-hoverxref/sphinx-hoverxref-1.3.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/sphinx-rtd-dark-mode/sphinx-rtd-dark-mode-1.2.4.ebuild b/dev-python/sphinx-rtd-dark-mode/sphinx-rtd-dark-mode-1.2.4.ebuild index 86f1d5416eb9..94ac9e543463 100644 --- a/dev-python/sphinx-rtd-dark-mode/sphinx-rtd-dark-mode-1.2.4.ebuild +++ b/dev-python/sphinx-rtd-dark-mode/sphinx-rtd-dark-mode-1.2.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/stdlibs/Manifest b/dev-python/stdlibs/Manifest index 86d1c8fdef6f..a13d366dc1ac 100644 --- a/dev-python/stdlibs/Manifest +++ b/dev-python/stdlibs/Manifest @@ -1,2 +1 @@ -DIST stdlibs-2022.3.16.tar.gz 22314 BLAKE2B 568df82f9635007aa35509c20445d1554c6e3dd1ca13a727bd27932ddf0f2cd68fb21b74e40bf0fbf359932ef50e9d35f3cf64ae6f0eeecde9303a8c1726e16e SHA512 b59721730f85351271c346379bec23da504051426276f360627b2d0aa4eb56ed66640321f20362f158933928e8f3fa986b8b419bbd3c309a63101ecd46f92a0e DIST stdlibs-2022.6.8.tar.gz 22510 BLAKE2B 4daa85811da7c9b2c206182c6a8f45738311d751519670a53d184c1524aa9d953ed85281a8da8ea95fe6f4ce3c23d8ffdf5866ebb5ca7a88d877505ff4719c97 SHA512 085e2186a8e4bdc78a50cd4628d8f8a30703e5fc0b2b5b6d3c3e2a7ebae6fe776a04ef5049475b1c1246824962ff2283908572140ee2a2e6343b93e378f3e9ff diff --git a/dev-python/stdlibs/stdlibs-2022.3.16.ebuild b/dev-python/stdlibs/stdlibs-2022.3.16.ebuild deleted file mode 100644 index 11b8d40202c4..000000000000 --- a/dev-python/stdlibs/stdlibs-2022.3.16.ebuild +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{8,9,10,11,12} ) - -inherit distutils-r1 pypi - -DESCRIPTION="What's in the Python stdlib" -HOMEPAGE="https://github.com/omnilib/stdlibs/" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -distutils_enable_tests unittest diff --git a/dev-python/stdlibs/stdlibs-2022.6.8.ebuild b/dev-python/stdlibs/stdlibs-2022.6.8.ebuild index 11b8d40202c4..d409f87259d6 100644 --- a/dev-python/stdlibs/stdlibs-2022.6.8.ebuild +++ b/dev-python/stdlibs/stdlibs-2022.6.8.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/trailrunner/trailrunner-1.2.1.ebuild b/dev-python/trailrunner/trailrunner-1.2.1.ebuild index a36a795eb87e..b0f55b69b6f1 100644 --- a/dev-python/trailrunner/trailrunner-1.2.1.ebuild +++ b/dev-python/trailrunner/trailrunner-1.2.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/urwid/Manifest b/dev-python/urwid/Manifest index a3d77c9a3762..1c0b13f8668f 100644 --- a/dev-python/urwid/Manifest +++ b/dev-python/urwid/Manifest @@ -1 +1,2 @@ DIST urwid-2.6.11.tar.gz 847254 BLAKE2B af0f23f404bc926c378b14a124b5c9504ea282048acd943221ca85f69b86cc8435df7cffc0ed632b3a2067504aca528e560454855acf129518cf69535242a6a6 SHA512 351185673a4ed506a55e2142c0a65150987ac4b6c1176e10c497df6f69c9f4acdabb15ec45564554b9a720387eaa725854fbe4adc4d288ef519b754b17b2fb33 +DIST urwid-2.6.12.tar.gz 847508 BLAKE2B 9790f2bcb768ff859115c1eb1dd03899e49eff41a56540d24ab0a2340b43c23e0572bfe6b689033a37c579ed4860e67a6fb3ade913c5a9c9d68d4a7bb41e8dab SHA512 1b2c7de9f523fe6c80155fc039a2b9e9d416c27f7d52a41911443b0a057739526b755fcb9c901ce99ab8e1e7d1bb5ff2be5ab7c0251554d9d933c0235b44a8e8 diff --git a/dev-python/urwid/urwid-2.6.12.ebuild b/dev-python/urwid/urwid-2.6.12.ebuild new file mode 100644 index 000000000000..d33150d89fcb --- /dev/null +++ b/dev-python/urwid/urwid-2.6.12.ebuild @@ -0,0 +1,47 @@ +# 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} ) +PYTHON_REQ_USE="ncurses" + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="Curses-based user interface library for Python" +HOMEPAGE=" + https://urwid.org/ + https://pypi.org/project/urwid/ + https://github.com/urwid/urwid/ +" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="examples" + +RDEPEND=" + dev-python/typing-extensions[${PYTHON_USEDEP}] + dev-python/wcwidth[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] +" + +distutils_enable_tests unittest + +python_test() { + rm -rf urwid || die + eunittest +} + +python_install_all() { + use examples && dodoc -r examples + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature "Trio event loop" "dev-python/trio" +} diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index d206bff79ae3..b6afdadd8f3e 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -8,3 +8,4 @@ DIST uv-0.1.42-crates.tar.xz 65954692 BLAKE2B ae5b41ebee15530577623f7592ddc1c08c DIST uv-0.1.42.gh.tar.gz 1077448 BLAKE2B 84c4e5f6e35ac9a50ff3b1ba7b9cdd415a8e4dc2c153aec4a116892b2c567f91ddb67cd32937c2ed867bbfef26c13b3b75c17bc7728334c8db1c58f550d4e735 SHA512 e0451614d8a7f016f382a2c9eaee03cb015fa8c552258bbaa7329e7802b1013878bc16134e0232262fa588bbc724857fb1818e61cb2b948c333aba295ee6c4b8 DIST uv-0.1.43-crates.tar.xz 58012188 BLAKE2B dd8ebb52d8ec9b21149047e0e4dcbd531b743feeefc8c7e8a9289b52474043e1ece0af1ea3e010d5b0a1cdbf57ac89664bc853ff776e800550175948a26c5e08 SHA512 5d5b8d7665af0a0a1920541c8310c772cdb5657a6ba62b8566ab09f8a38cc8a86a75ce7fddb4ea37be0b2e4511b2aba25e984efe4ce7bb11ff50ca072eb00277 DIST uv-0.1.43.gh.tar.gz 1093053 BLAKE2B 7988799e9c978bce618ab66fd162a5995663f0da0d4f77fe0d8fb50bb1b535b8696d7fd4eb837e6b03703089aea883d0689d0e28bcda951655ee62bf92cfffd0 SHA512 3fd66d106fc09fdb616944a18dfeec33d0ecca5d985915b4efb09d77ceb0e3bff92577433c67d27ce3fb78cbc24ff8651639b5aceb6d39a72422481150a5adf3 +DIST uv-0.1.44.gh.tar.gz 1093698 BLAKE2B 2b39053518188d95555507751facad1ea0fcd935f6382bf3fea974d4542f6fb0429ca25dd58546e8e1b69fd3bb573657dc62d2438777a7baa0c9317c21fa83cb SHA512 d9f0ecf7a0b30855c69b9a135d76c53e077dd427c39d1dec9fe499cfe9afb1f0c6a528f451d3bc0eab5b29a43df5795f876b1ce61fa28b8913b114834c915b3b diff --git a/dev-python/uv/uv-0.1.44.ebuild b/dev-python/uv/uv-0.1.44.ebuild new file mode 100644 index 000000000000..0bc3cbb02e02 --- /dev/null +++ b/dev-python/uv/uv-0.1.44.ebuild @@ -0,0 +1,123 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [async_zip]='https://github.com/charliermarsh/rs-async-zip;1dcb40cfe1bf5325a6fd4bfcf9894db40241f585;rs-async-zip-%commit%' + [pubgrub]='https://github.com/astral-sh/pubgrub;0e684a874c9fb8f74738cd8875524c80e3d4820b;pubgrub-%commit%' +) + +inherit cargo check-reqs + +CRATE_P=${PN}-0.1.43 +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://dev.gentoo.org/~mgorny/dist/${CRATE_P}-crates.tar.xz + " +fi + +# most of the code +LICENSE="|| ( Apache-2.0 MIT )" +# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT + MPL-2.0 Unicode-DFS-2016 +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + dev-libs/libgit2:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + >=virtual/rust-1.77 + test? ( + dev-lang/python:3.8 + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +check_space() { + local CHECKREQS_DISK_BUILD=3G + use debug && CHECKREQS_DISK_BUILD=9G + check-reqs_pkg_setup +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space +} + +src_prepare() { + # https://github.com/astral-sh/uv/pull/3569 + eapply "${FILESDIR}/${PN}-0.1.43-test.patch" + default + + # https://github.com/vorot93/tokio-tar/pull/23 + # (fortunately uv already depends on portable-atomic, so we don't + # have to fight Cargo.lock) + cd "${WORKDIR}/cargo_home/gentoo/tokio-tar-0.3.1" || die + eapply "${FILESDIR}/tokio-tar-0.3.1-ppc.patch" +} + +src_configure() { + local myfeatures=( + # from upstream defaults + flate2/zlib-ng + python + pypi + git + maturin + # skip tests that require specific patch version of the interpreter: + # python-patch + ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + cd crates/uv || die + cargo_src_install +} diff --git a/dev-python/volatile/volatile-2.1.0.ebuild b/dev-python/volatile/volatile-2.1.0.ebuild index d6e620ebad61..f10adbc67f8c 100644 --- a/dev-python/volatile/volatile-2.1.0.ebuild +++ b/dev-python/volatile/volatile-2.1.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/webpy/webpy-0.62.ebuild b/dev-python/webpy/webpy-0.62.ebuild index ad9430bb0c71..0c4c31221e43 100644 --- a/dev-python/webpy/webpy-0.62.ebuild +++ b/dev-python/webpy/webpy-0.62.ebuild @@ -1,8 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# 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 diff --git a/dev-python/zopfli/zopfli-0.2.2.ebuild b/dev-python/zopfli/zopfli-0.2.2.ebuild index 43eb1c1e76c8..9ade28d17d36 100644 --- a/dev-python/zopfli/zopfli-0.2.2.ebuild +++ b/dev-python/zopfli/zopfli-0.2.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 2023 Gentoo Authors +# Copyright 2023-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -- cgit v1.3