diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2024-05-15 06:58:16 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2024-05-15 06:58:16 +0000 |
| commit | 3d4c60ab67ab34063f83de57ca650a2093caa6e5 (patch) | |
| tree | b84fb03b155aee605de7d948e52eddb76dab1143 /dev-python | |
| parent | f4b148a17b03de6d1241e9e3706c564da5d6fb4b (diff) | |
| download | baldeagleos-repo-3d4c60ab67ab34063f83de57ca650a2093caa6e5.tar.gz baldeagleos-repo-3d4c60ab67ab34063f83de57ca650a2093caa6e5.tar.xz baldeagleos-repo-3d4c60ab67ab34063f83de57ca650a2093caa6e5.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
71 files changed, 2027 insertions, 252 deletions
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.3.1.ebuild index 3f6b0695f998..2451df853e77 100644 --- a/dev-python/autoflake/autoflake-2.2.1.ebuild +++ b/dev-python/autoflake/autoflake-2.3.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/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/jmespath-2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=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.9.2.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.10.1.ebuild index 39bd2049c47e..fd3680096503 100644 --- a/dev-python/mkdocstrings-python/mkdocstrings-python-1.9.2.ebuild +++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.10.1.ebuild @@ -26,8 +26,8 @@ SLOT="0" KEYWORDS="~amd64 ~arm64 ~riscv" RDEPEND=" - >=dev-python/griffe-0.37[${PYTHON_USEDEP}] - >=dev-python/mkdocstrings-0.24.2[${PYTHON_USEDEP}] + >=dev-python/griffe-0.44[${PYTHON_USEDEP}] + >=dev-python/mkdocstrings-0.25.0[${PYTHON_USEDEP}] " BDEPEND=" test? ( 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 <BibMartin@users.noreply.github.com> +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 <dominik@greysector.net> +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 <will@wbond.net> +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 <will@wbond.net> +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 <will@wbond.net> +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 <will@wbond.net> +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 <will@wbond.net> +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 <will@wbond.net> +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 <dominik@greysector.net> +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 <will@wbond.net> +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 <will@wbond.net> +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 <will@wbond.net> +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 <will@wbond.net> +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 <will@wbond.net> +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-r2.ebuild index 986154db08d5..589c3020e69b 100644 --- a/dev-python/oscrypto/oscrypto-1.3.0-r1.ebuild +++ b/dev-python/oscrypto/oscrypto-1.3.0-r2.ebuild @@ -30,6 +30,11 @@ BDEPEND=" DOCS=( docs {changelog,readme}.md ) +PATCHES=( + "${FILESDIR}"/openssl-3.0.10-fix.patch + "${FILESDIR}"/py3.12.patch +) + distutils_enable_tests unittest python_test() { 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.4.ebuild index 05466b60602d..8d39d87bc2f6 100644 --- a/dev-python/pygsl/pygsl-2.3.3.ebuild +++ b/dev-python/pygsl/pygsl-2.3.4.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 @@ -10,7 +10,8 @@ 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" +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" @@ -27,12 +28,7 @@ DEPEND=" " distutils_enable_sphinx doc dev-python/sphinx-rtd-theme -distutils_enable_tests unittest - -python_configure() { - esetup.py config - default -} +distutils_enable_tests pytest src_install() { use examples && dodoc -r examples 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/isort-6[${PYTHON_USEDEP}] + >=dev-python/mccabe-0.6[${PYTHON_USEDEP}] + <dev-python/mccabe-0.8[${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*' ) + <dev-python/pytest-8[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # TODO + 'tests/test_functional.py::test_functional[dataclass_with_field]' + 'tests/test_functional.py::test_functional[no_name_in_module]' + 'tests/test_functional.py::test_functional[recursion_error_3159]' + 'tests/test_functional.py::test_functional[shadowed_import]' + 'tests/test_functional.py::test_functional[use_yield_from]' + 'tests/test_functional.py::test_functional[wrong_import_order]' + ) + local EPYTEST_IGNORE=( + # No need to run the benchmarks + tests/benchmark/test_baseline_benchmarks.py + ) + + if ! has_version "dev-python/GitPython[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( + tests/profile/test_profile_against_externals.py + tests/testutils/_primer/test_package_to_lint.py + tests/testutils/_primer/test_primer.py + ) + fi + + rm -rf pylint || die + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p timeout +} + +python_install_all() { + if use examples ; then + docompress -x "/usr/share/doc/${PF}/examples" + docinto examples + dodoc -r examples/. + fi + + distutils-r1_python_install_all +} diff --git a/dev-python/pymemcache/pymemcache-4.0.0.ebuild b/dev-python/pymemcache/pymemcache-4.0.0.ebuild index 933138e1db36..98b68788da2d 100644 --- a/dev-python/pymemcache/pymemcache-4.0.0.ebuild +++ b/dev-python/pymemcache/pymemcache-4.0.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/pyodbc/Manifest b/dev-python/pyodbc/Manifest index d705d9525afd..2159c38d9e47 100644 --- a/dev-python/pyodbc/Manifest +++ b/dev-python/pyodbc/Manifest @@ -1 +1 @@ -DIST pyodbc-4.0.35.tar.gz 273300 BLAKE2B cda55c3f880f5b8e243090a8150095e323bce5a28006d6105d8fcf4724a1f4219314591a4e53fc38844607d7714dffa5a221cd89c08dd5725aec251ca1977a18 SHA512 63b5191f5b57379e4767f94ecc83f80c73a3d40e7479753ccd7ff5ca27961be526bbf5ec169f9ca17c2ef7bd521507898be9b95110e290c4c69e1974c4c053f2 +DIST pyodbc-5.1.0.tar.gz 115450 BLAKE2B 8080db700abb952ae60045825f76e73a3d4a42f13c05e48eeb06574d5535f34345aa8bf2710730430229cb31b3d73c9fcb250d8d0fddabf94ecfcb24518bf931 SHA512 78817864d30048eed0c670a30e1cc66bc72edd6c21d069a5cc5831ed180b25a5b30d2bf2313628431943defbae66c2df96e90781ef17bb8929622b9f49cfcaab diff --git a/dev-python/pyodbc/pyodbc-4.0.35.ebuild b/dev-python/pyodbc/pyodbc-4.0.35.ebuild deleted file mode 100644 index bfee37b474e9..000000000000 --- a/dev-python/pyodbc/pyodbc-4.0.35.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# No pypy3 support: https://github.com/mkleehammer/pyodbc/issues/915 -PYTHON_COMPAT=( python3_{8,9,10,11,12} ) -DISTUTILS_USE_PEP517=setuptools -inherit databases edo distutils-r1 optfeature pypi - -DESCRIPTION="Python ODBC library" -HOMEPAGE=" - https://pypi.org/project/pyodbc/ - https://github.com/mkleehammer/pyodbc -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" -IUSE="mssql" - -RDEPEND=">=dev-db/unixODBC-2.3.0" -DEPEND="${RDEPEND}" -BDEPEND=" - test? ( - ${DATABASES_DEPEND[mysql]} - dev-db/myodbc:8.0 - ) -" - -distutils_enable_tests pytest - -python_test() { - edo ${EPYTHON} tests3/run_tests.py -vv \ - --mysql "DRIVER=/usr/$(get_libdir)/myodbc-8.0/libmyodbc8a.so;SERVER=localhost;PORT=44444;DATABASE=test" -} - -src_test() { - emysql --start 44444 - distutils-r1_src_test - emysql --stop -} - -src_install() { - distutils-r1_src_install - rm "${D}/usr/pyodbc.pyi" || die -} - -pkg_postinst() { - optfeature "MS SQL Server support" dev-db/freetds-0.64[odbc] - optfeature "MySQL support" dev-db/myodbc - optfeature "PostgreSQL support" dev-db/psqlodbc -} diff --git a/dev-python/pyodbc/pyodbc-5.1.0.ebuild b/dev-python/pyodbc/pyodbc-5.1.0.ebuild new file mode 100644 index 000000000000..90bb204047a5 --- /dev/null +++ b/dev-python/pyodbc/pyodbc-5.1.0.ebuild @@ -0,0 +1,64 @@ +# 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} ) #py3.13 doesn't compile + +inherit databases distutils-r1 optfeature pypi + +DESCRIPTION="Python ODBC library" +HOMEPAGE=" + https://pypi.org/project/pyodbc/ + https://github.com/mkleehammer/pyodbc +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="mssql" + +RDEPEND=">=dev-db/unixODBC-2.3.0" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( + ${DATABASES_DEPEND[mysql]} + dev-db/myodbc:8.0 + ) +" + +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # Broken test, generates a string longer than 4000 characters + tests/mysql_test.py::test_varchar +) + +EPYTEST_IGNORE=( + # No easy way to run an SqlServer during tests + tests/sqlserver_test.py +) + +python_test() { + export PYODBC_MYSQL="DRIVER=/usr/$(get_libdir)/myodbc-8.0/libmyodbc8a.so;SERVER=localhost;PORT=44444;DATABASE=test" + export PYODBC_POSTGRESQL="DRIVER=/usr/$(get_libdir)/psqlodbcw.so;SERVER=localhost;PORT=44445;DATABASE=test;UID=postgres" + epytest +} + +src_test() { + emysql --start 44444 + epostgres --start 44445 + psql -U postgres -h 127.0.0.1 -p 44445 <<EOF +CREATE DATABASE test OWNER postgres +EOF + distutils-r1_src_test + epostgres --stop + emysql --stop +} + +pkg_postinst() { + optfeature "MySQL support" dev-db/myodbc + optfeature "PostgreSQL support" dev-db/psqlodbc +} diff --git a/dev-python/pyproject-fmt-rust/Manifest b/dev-python/pyproject-fmt-rust/Manifest index 9cade297695d..07e9bf99f8a2 100644 --- a/dev-python/pyproject-fmt-rust/Manifest +++ b/dev-python/pyproject-fmt-rust/Manifest @@ -61,6 +61,7 @@ DIST pyo3-macros-backend-0.21.2.crate 58088 BLAKE2B 05dd49983c8aeddc47cd94f6cd58 DIST pyproject_fmt_rust-1.0.1.tar.gz 28922 BLAKE2B e2ba8580a4b64f6ae4e0608ebc9f7e7f5b7fa736b64fab199eaeed1c3e1453d4fb12c17d1e3a924191c023550b704dc6ea12fcf739c4c22f6987f952c0a3dd4d SHA512 f14629a95c22bc1469c198f90c7da80e88a82251b8a25c013748a2f0c32041cf9462ea728a5e5e440757b272d48b0396fc8fe67fe852effbfd769d50fe24f16d DIST pyproject_fmt_rust-1.0.4.tar.gz 28896 BLAKE2B d2a8520cda6f155dc0d8090f40466f2edb72f329f3c6c22bdd6a202b09297e3160b6aa54360cb77d68b797a767a2fda08a7cb296f25c4770959f3a114a22e323 SHA512 d41d3e3cba0ec83c23071291270376ed835f05dcb7759ac4e88208c5eebd3e040b0226aa833fdf3ca25e60ddb6c3a932196e30d51ddca05771b6e20440d1406c DIST pyproject_fmt_rust-1.0.6.tar.gz 29264 BLAKE2B 1d3e2636f09b376590450573d9e7c6e2892b8d495674e08af5a84f7a08cd644550f5fa4d2c3133286b38086a6c08d335a0b3cb67bf6bbaf1a139f21fafc7cb2c SHA512 cca3244d63f5082bf3f3b54982af2f5b0a0bba5c5e768552a3f079fa647a5aa9682038fec0ee55ff6c67efaa13e728d74821dee6229a6217bdf6ab055b887c70 +DIST pyproject_fmt_rust-1.1.0.tar.gz 32970 BLAKE2B 57b35294ab4fd84d13c76463f7b6461169c6e661a9e456d6955d9226d7bbd85293e96a6838fa126af36ac135a5323a6d3009d2c9444eaa76f654f8b158cf4802 SHA512 ccead88b5d31fc00e1c51296d79846146da4804702824da65dec2b5b85a83deac82cf70101f91bf52c9e5228cac16dafb8556bdca95efcc96c6fe1f02d94cf3e DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685 DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d DIST regex-1.10.4.crate 253191 BLAKE2B 08bdb925efbea1ee9f885a89ec6b4692e39d7b17039f788e5b3c1dbfb7847d4f53b67f0c61e4085af7ef4901e67e33ea94948668bf706fef19b4102a06ef0447 SHA512 88ef121a51759f418d5dc01607a6e02651bd00343dae92962c02a80f30343d3f079a0375457780ce46bf205ca38f279b03989154638199fe2fcede10554bf21b diff --git a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.0.ebuild b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.0.ebuild new file mode 100644 index 000000000000..ce9c2032a8d8 --- /dev/null +++ b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.0.ebuild @@ -0,0 +1,159 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 ) + +CRATES=" + ahash@0.8.11 + aho-corasick@1.1.3 + any_ascii@0.1.7 + arc-swap@1.7.1 + autocfg@1.2.0 + beef@0.5.2 + bitflags@1.3.2 + bstr@1.9.1 + cfg-if@1.0.0 + countme@3.0.1 + deranged@0.3.11 + derivative@2.2.0 + either@1.11.0 + fnv@1.0.7 + form_urlencoded@1.2.1 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-timer@3.0.3 + futures-util@0.3.30 + futures@0.3.30 + getrandom@0.2.14 + glob@0.3.1 + globset@0.4.14 + hashbrown@0.14.3 + heck@0.4.1 + idna@0.5.0 + indoc@2.0.5 + itertools@0.10.5 + itoa@1.0.11 + lexical-sort@0.3.1 + libc@0.2.153 + lock_api@0.4.11 + log@0.4.21 + logos-derive@0.12.1 + logos@0.12.1 + memchr@2.7.2 + memoffset@0.9.1 + num-conv@0.1.0 + once_cell@1.19.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + pep440_rs@0.6.0 + pep508_rs@0.6.0 + percent-encoding@2.3.1 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + portable-atomic@1.6.0 + powerfmt@0.2.0 + proc-macro2@1.0.81 + pyo3-build-config@0.21.2 + pyo3-ffi@0.21.2 + pyo3-macros-backend@0.21.2 + pyo3-macros@0.21.2 + pyo3@0.21.2 + quote@1.0.36 + redox_syscall@0.4.1 + regex-automata@0.4.6 + regex-syntax@0.6.29 + regex-syntax@0.8.3 + regex@1.10.4 + relative-path@1.9.2 + rowan@0.15.15 + rstest@0.19.0 + rstest_macros@0.19.0 + rustc-hash@1.1.0 + rustc_version@0.4.0 + ryu@1.0.17 + scopeguard@1.2.0 + semver@1.0.22 + serde@1.0.198 + serde_derive@1.0.198 + serde_json@1.0.116 + slab@0.4.9 + smallvec@1.13.2 + syn@1.0.109 + syn@2.0.60 + taplo@0.13.0 + target-lexicon@0.12.14 + text-size@1.1.1 + thiserror-impl@1.0.59 + thiserror@1.0.59 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-width@0.1.12 + unindent@0.2.3 + unscanny@0.1.0 + url@2.5.0 + urlencoding@2.1.3 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + windows-targets@0.48.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_msvc@0.48.5 + windows_i686_gnu@0.48.5 + windows_i686_msvc@0.48.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_msvc@0.48.5 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Format your pyproject.toml file (Rust extension)" +HOMEPAGE=" + https://github.com/tox-dev/pyproject-fmt-rust/ + https://pypi.org/project/pyproject-fmt-rust/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016 + || ( Apache-2.0 BSD-2 ) + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~s390 ~sparc ~x86" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt_rust/_lib.*.so" + +src_prepare() { + sed -i -e '/strip/d' pyproject.toml || die + distutils-r1_src_prepare +} + +python_test_all() { + cargo_src_test +} diff --git a/dev-python/pyproject-fmt/Manifest b/dev-python/pyproject-fmt/Manifest index fc26781b36cc..5abda57b1698 100644 --- a/dev-python/pyproject-fmt/Manifest +++ b/dev-python/pyproject-fmt/Manifest @@ -2,3 +2,4 @@ DIST pyproject_fmt-1.8.0.tar.gz 16696 BLAKE2B 1614fd6da4bb7be818825138b69b826b71 DIST pyproject_fmt-2.0.2.tar.gz 8647 BLAKE2B aae92d952883adce7ee6bd92a29517064dfd25ed6a90ca4543ec4093ce57bb17d2315134d5709d084e17098680a861014fc35d18feeac17ba9c9cca4d501959a SHA512 750f8006a30425ccfcd28909f06208344776a250698025f7f1c8a33d7316e4dfe9f06baea6050848691940846ea1ef3dfdd1a7878c72bb611f1a6b9b2bed3ff7 DIST pyproject_fmt-2.0.3.tar.gz 8646 BLAKE2B 83b5984f513341e10fabf81eeb2466c54502da78e0d722795f814241dbee66f507a9167df7ef7b4654ab1178755eb6d976dab9954e8ae0924794841a39cc952a SHA512 e74c2d28cfafacbccc8b55600004353d2633c8946a6abc894e73e40f173794b2845eea50f44808009079161b3ab1067c95696080bdcfff9d387bfe04d9fd119d DIST pyproject_fmt-2.0.4.tar.gz 8648 BLAKE2B 8886994d483c7829b947b4b53dd6808702f61e1177e4f24794cff56218199de990358cd27451a16a2583a73004438aedefc1999bdf9295e03c4b40388a94f0e6 SHA512 d20cde82082e4bcd3504eeb43bc1c3979cc55ad0522c8e1b907bfcf0af0c8203a53ef85987416a79c1259ab841d8bb71a5552b07ac2585dd47a8b278a0100110 +DIST pyproject_fmt-2.1.0.tar.gz 9012 BLAKE2B 5ddc95d9f5ef322f1895772d63a3d6a800172d57655f795d74a077628020ab54ee1a4ef52b3a317504567ce2a13b4c6cd229f7ee05dbcc5fecabb0762679f12e SHA512 00a9541c61ca1924a78a48736962df39e055cf61cd2a312dc0fd2c7efb247d504f7e747912d328e689de25049c944cc2b422dc6c74c1c1e910b6294bd2306944 diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.1.0.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.1.0.ebuild new file mode 100644 index 000000000000..74f3b326d769 --- /dev/null +++ b/dev-python/pyproject-fmt/pyproject-fmt-2.1.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 2022-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} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Format your pyproject.toml file" +HOMEPAGE=" + https://github.com/tox-dev/pyproject-fmt/ + https://pypi.org/project/pyproject-fmt/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~s390 ~sparc ~x86" + +RDEPEND=" + ~dev-python/pyproject-fmt-rust-1.1.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}] + ' 3.10) +" +# tox is called as a subprocess, to get targets from tox.ini +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}] + dev-python/tox + ) +" + +distutils_enable_tests pytest diff --git a/dev-python/pytest-click/pytest-click-1.1.0.ebuild b/dev-python/pytest-click/pytest-click-1.1.0.ebuild index 77c3d343e1b7..3f5156ac907f 100644 --- a/dev-python/pytest-click/pytest-click-1.1.0.ebuild +++ b/dev-python/pytest-click/pytest-click-1.1.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/readability-lxml/Manifest b/dev-python/readability-lxml/Manifest index 50da2ee3e0b9..bf47cccb0498 100644 --- a/dev-python/readability-lxml/Manifest +++ b/dev-python/readability-lxml/Manifest @@ -1,2 +1 @@ -DIST readability-lxml-0.6.1.tar.gz 13741 BLAKE2B 8bae46033e6eb3c171869746291a856267bc8f64ae088969405c5920229447fa470b6e14ea8b32b380c43d30e83ad9371149181d293bbfca6ff13fa271da3d74 SHA512 f7bead871dc84e2cc6dac18ced3f9fa223cd3961204330064e338b2e822ba9af58beb43be42b7f61a7cfb761f7c1d7a339d428c310d6be34b7546328f1eeb276 DIST readability-lxml-0.8.1.gh.tar.gz 78871 BLAKE2B ef179d8bb727c0630e3af763a18170c1956be5cd3b8ad1cfe614b233964225e2e73b814c4ad628780eaffca21881d1ed276f45248a656b8c37ef1e6ccb121e85 SHA512 c5b296a35606f65643f72e7d9ee07d6820a7a6a36ce97350673ea6076b704f7ed72f92ded47dac56690cdf3776eb8fadbb02ea234355a9982d4127976b2e6c6e diff --git a/dev-python/readability-lxml/readability-lxml-0.6.1.ebuild b/dev-python/readability-lxml/readability-lxml-0.6.1.ebuild deleted file mode 100644 index fdf3d046542d..000000000000 --- a/dev-python/readability-lxml/readability-lxml-0.6.1.ebuild +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright 2019-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8,9,10,11,12} ) -PYPI_NO_NORMALIZE=1 -inherit distutils-r1 pypi - -DESCRIPTION="fast html to text parser (article readability tool)" -HOMEPAGE="https://github.com/buriy/python-readability" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" - -DEPEND=" - dev-python/setuptools[${PYTHON_USEDEP}] - dev-python/chardet[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/cssselect[${PYTHON_USEDEP}] -" diff --git a/dev-python/readability-lxml/readability-lxml-0.8.1.ebuild b/dev-python/readability-lxml/readability-lxml-0.8.1.ebuild index 830f82c1ac6a..a025d507bf78 100644 --- a/dev-python/readability-lxml/readability-lxml-0.8.1.ebuild +++ b/dev-python/readability-lxml/readability-lxml-0.8.1.ebuild @@ -1,9 +1,9 @@ -# Copyright 2019-2022 Gentoo Authors +# Copyright 2019-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 ) +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 @@ -23,6 +23,7 @@ KEYWORDS="~amd64" RDEPEND=" dev-python/cssselect[${PYTHON_USEDEP}] dev-python/lxml[${PYTHON_USEDEP}] + dev-python/lxml-html-clean[${PYTHON_USEDEP}] || ( dev-python/chardet[${PYTHON_USEDEP}] ( $(python_gen_cond_dep \ diff --git a/dev-python/rich/rich-13.7.1.ebuild b/dev-python/rich/rich-13.7.1.ebuild index 47cac10dbb3d..bbc6eba68543 100644 --- a/dev-python/rich/rich-13.7.1.ebuild +++ b/dev-python/rich/rich-13.7.1.ebuild @@ -45,6 +45,18 @@ python_test() { tests/test_inspect.py::test_inspect_integer_with_methods_python310only ) ;; + python3.13) + EPYTEST_DESELECT+=( + tests/test_inspect.py::test_inspect_builtin_function_except_python311 + tests/test_inspect.py::test_inspect_integer_with_methods_python38_and_python39 + tests/test_inspect.py::test_inspect_integer_with_methods_python310only + tests/test_inspect.py::test_inspect_integer_with_methods_python311 + tests/test_pretty.py::test_pretty_dataclass + tests/test_pretty.py::test_reference_cycle_dataclass + tests/test_pretty.py::test_max_depth_dataclass + tests/test_pretty.py::test_attrs_broken + ) + ;; esac local -x COLUMNS=80 diff --git a/dev-python/scikit-build-core/Manifest b/dev-python/scikit-build-core/Manifest index 1aebda6cdcc5..ace7f39d2b6d 100644 --- a/dev-python/scikit-build-core/Manifest +++ b/dev-python/scikit-build-core/Manifest @@ -1,2 +1,3 @@ DIST scikit_build_core-0.9.2.tar.gz 225078 BLAKE2B 8d50e82754013f23a2216d269757fce5b56c5fa99e2f3b93e3bb65e50730799f2874d0eaa71681e248eeb30c443cde03a5bd447732b764852f2069ed18ea98d3 SHA512 c94cb9b109c994bedaba0e82de15caaf4fc4ae5c08375324aeb60f8d05911cc958a70c0430d35b23ad9792d39ab0312ff607b0587cd55eb4fe68ae4f28eed1d9 DIST scikit_build_core-0.9.3.tar.gz 226732 BLAKE2B b15985eb4bf9cd44e75cf3ea1db4a1541dbac2310927608ab1ec31d5015ef4433290894755230ff5d691d69d90bce1ac92966209e46091d7f4d76099f33cca0a SHA512 e25adbcd2037471046376d3877d7a4a5bea42f3f9c13beaec646ed6e7a254138d0fce050309f634b61ec75c83ad76e34ebfa0bfa403ae394c25870cf15e0ff7a +DIST scikit_build_core-0.9.4.tar.gz 228198 BLAKE2B 86987ce34ed840d22a84a56fa0b62e8b6420f6f91763199945d5dfd0709ffb3b12778e996611cc652364637b8b8e0013cf39322fe322f1c2d3bbc22670c52876 SHA512 bc5252bf1f52e7fa0ea4d9e27d57fbf82a35e2061dfd8b8fbecc32b2da0ae88a2c3197bbece28f1285c1fb33ce91f27907bec093d76b937b382fa7dca072d0d9 diff --git a/dev-python/scikit-build-core/scikit-build-core-0.9.4.ebuild b/dev-python/scikit-build-core/scikit-build-core-0.9.4.ebuild new file mode 100644 index 000000000000..853b0772cfe7 --- /dev/null +++ b/dev-python/scikit-build-core/scikit-build-core-0.9.4.ebuild @@ -0,0 +1,63 @@ +# 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} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Build backend for CMake based projects" +HOMEPAGE=" + https://github.com/scikit-build/scikit-build-core/ + https://pypi.org/project/scikit-build-core/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +# we always want [pyproject] extra +RDEPEND=" + app-alternatives/ninja + dev-build/cmake + >=dev-python/packaging-21.3[${PYTHON_USEDEP}] + >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}] + >=dev-python/pyproject-metadata-0.5[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/exceptiongroup[${PYTHON_USEDEP}] + >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}] + ' 3.10) +" +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + dev-python/build[${PYTHON_USEDEP}] + >=dev-python/cattrs-22.2.0[${PYTHON_USEDEP}] + dev-python/fastjsonschema[${PYTHON_USEDEP}] + dev-python/pybind11[${PYTHON_USEDEP}] + >=dev-python/pytest-subprocess-1.5[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local _EPYTEST_DESELECT=( + # TODO / we don't package validate_pyproject anyway + tests/test_schema.py::test_compare_schemas + # setuptools now respects PEP 625 + tests/test_setuptools_pep517.py::test_pep517_sdist + ) + local EPYTEST_IGNORE=( + # needs unpackaged validate_pyproject + tests/test_schema.py + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p subprocess -m "not isolated and not network" +} diff --git a/dev-python/scramp/scramp-1.4.4.ebuild b/dev-python/scramp/scramp-1.4.4.ebuild index a022e69fe538..d9be09a1868c 100644 --- a/dev-python/scramp/scramp-1.4.4.ebuild +++ b/dev-python/scramp/scramp-1.4.4.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/sphinx-argparse-cli/sphinx-argparse-cli-1.11.1.ebuild b/dev-python/sphinx-argparse-cli/sphinx-argparse-cli-1.11.1.ebuild index 1eb05716c2dc..eaa6267d83d5 100644 --- a/dev-python/sphinx-argparse-cli/sphinx-argparse-cli-1.11.1.ebuild +++ b/dev-python/sphinx-argparse-cli/sphinx-argparse-cli-1.11.1.ebuild @@ -1,10 +1,10 @@ -# Copyright 2021-2023 Gentoo Authors +# Copyright 2021-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} ) # no pypy3 support +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) inherit distutils-r1 DESCRIPTION="Render CLI arguments (sub-commands friendly) defined by argparse module" diff --git a/dev-python/sphinx-click/Manifest b/dev-python/sphinx-click/Manifest index 5a5a6771e03f..5e3d8fc71c60 100644 --- a/dev-python/sphinx-click/Manifest +++ b/dev-python/sphinx-click/Manifest @@ -1,2 +1 @@ -DIST sphinx-click-4.1.0.tar.gz 21146 BLAKE2B 0510bdcfa051e1272796ef049b4fe40e936526937b99bec5c20b714507d285a5524bd341f41042a74c1b6715fbda7a892e14aee08a397df61ff47f39b2ebc52a SHA512 a57efbcfe8ab4f82298917937b573480401a51ce81889eb37b56f6eac0b2d6123a94a877f5bc460c4998c55040072453a48400f9c94d902a7cab6cd622d13d62 DIST sphinx-click-4.2.0.tar.gz 21265 BLAKE2B 3f0cd707d6eb26bb63d81cd86324b715eecbb85d038a94104599034563be024d4d4cab5ed488b1d1fb55d4f7c6abb599f48c96f8ea582be0c3d4a37169e7638d SHA512 9b9fee96b17242a1a2cfc097a49aaaa0134e47d250231481d13c438abfdd17b149adf2bde9c3591a94e4e17f02dc800c2b48002eb74994b43fec0d50ddb1083e diff --git a/dev-python/sphinx-click/metadata.xml b/dev-python/sphinx-click/metadata.xml index 67dfadfbf7ba..fe53f4292fdf 100644 --- a/dev-python/sphinx-click/metadata.xml +++ b/dev-python/sphinx-click/metadata.xml @@ -3,7 +3,7 @@ <pkgmetadata> <longdescription lang="en"> sphinx-click is a Sphinx plugin that allows you to automatically extract documentation from a click-based application and include it in your docs. - </longdescription> + </longdescription> <upstream> <bugs-to>https://github.com/click-contrib/sphinx-click/issues</bugs-to> <doc>https://sphinx-click.readthedocs.io/en/latest</doc> 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 |
