diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2022-05-23 12:44:44 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2022-05-23 12:44:44 +0000 |
| commit | 844aa75a95286749e4b5e87ff4145c71bbc91b70 (patch) | |
| tree | d8a2630001156e417c085128c4d19d47315bc3e2 /dev-python | |
| parent | 7dca8a2be3fbfd4dc89ba51566ff47e4e73de078 (diff) | |
| download | baldeagleos-repo-844aa75a95286749e4b5e87ff4145c71bbc91b70.tar.gz baldeagleos-repo-844aa75a95286749e4b5e87ff4145c71bbc91b70.tar.xz baldeagleos-repo-844aa75a95286749e4b5e87ff4145c71bbc91b70.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
60 files changed, 1220 insertions, 344 deletions
diff --git a/dev-python/PyPDF2/Manifest b/dev-python/PyPDF2/Manifest index 3b94bc368208..b0dce1533d24 100644 --- a/dev-python/PyPDF2/Manifest +++ b/dev-python/PyPDF2/Manifest @@ -1,2 +1,3 @@ DIST PyPDF2-1.27.12.gh.tar.gz 3430850 BLAKE2B a0cb344f616d628b7c39dc360234057ce68595ffa554a8588990ef0a1239ade2db6415caefb84bc058d89067ed04ba66ba149f6f106bbf9a55a13f523dd826fc SHA512 ee00c975881b7e6716656b1cecb83c3e1f7bffa4ed9fb0d8c8be45c7d951b2b79f0be4f9098569bad783703fbc00f0797e73b970b02adad1ed3a4cf3b6ab7b73 +DIST PyPDF2-1.28.1.gh.tar.gz 4260569 BLAKE2B 69b925a463c262ab207dd768160ea9083b14eed6a25a234d09e472ce812039aeb899674a0216b20ead3a4814cc3ec83ee320c99b84d109d8a320b925b7654ffa SHA512 22dec520e256420b618d5611f44f52752ad3c7ccee325991f4817e88ba69d01bf705708877a0df450297c3231725f72e03c4d8b33ced29fd7445c0ac2701dc2b DIST PyPDF2-sample-files-41b5cd4f774f8fbd8ac42d93b9962f0376352a15.tar.gz 5406287 BLAKE2B 8ddad01235bdb55cee596d9114e5b6c3b153919bcff5203d229311243516f3595cb36dcca87cae27514a8231d72daa94782115795bff8c1c3d046236811c21e0 SHA512 6c38d5ee0e1c5c0ffdd78f7c2fe56dbf357a1e82d2af642a10264a6102ae8fb95cba6d2f76b26df6a33a5d84cfd5111885d39c1747cf95a5ce545f26bdb37263 diff --git a/dev-python/PyPDF2/PyPDF2-1.28.1.ebuild b/dev-python/PyPDF2/PyPDF2-1.28.1.ebuild new file mode 100644 index 000000000000..1a552c572ff0 --- /dev/null +++ b/dev-python/PyPDF2/PyPDF2-1.28.1.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} ) + +inherit distutils-r1 + +SAMPLE_COMMIT=41b5cd4f774f8fbd8ac42d93b9962f0376352a15 +DESCRIPTION="Python library to work with PDF files" +HOMEPAGE=" + https://pypi.org/project/PyPDF2/ + https://github.com/py-pdf/PyPDF2/ +" +SRC_URI=" + https://github.com/py-pdf/PyPDF2/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + test? ( + https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz + -> ${PN}-sample-files-${SAMPLE_COMMIT}.tar.gz + ) +" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="examples" + +BDEPEND=" + dev-python/pillow[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest + +src_unpack() { + default + if use test; then + mv "sample-files-${SAMPLE_COMMIT}"/* "${P}"/sample-files/ || die + fi +} + +src_install() { + if use examples; then + docinto examples + dodoc -r Sample_Code/. + docompress -x /usr/share/doc/${PF}/examples + fi + distutils-r1_src_install +} diff --git a/dev-python/build/Manifest b/dev-python/build/Manifest index d31757b11156..4c7f19a605b3 100644 --- a/dev-python/build/Manifest +++ b/dev-python/build/Manifest @@ -1 +1,2 @@ DIST build-0.7.0.gh.tar.gz 37127 BLAKE2B b06ba16c154087046bd5efddb5fd6f60dad9ee79a204a0c1124fb4885d3692bcf4bd88b75c9665ade3f8457e12742d32e3cef40a0ffb5a894b049a6e942c09e3 SHA512 fd8410dc91333ba94c5141dd78f8052b66f947839752a5d0f401630f6bceed5be2e1f45eceaa2a98908c0e3ddb88a00e3ccca341a3890fa99202bc560ab6ff42 +DIST build-0.8.0.gh.tar.gz 40020 BLAKE2B 17422c8fe23d4103c78bd9d98702646f0863abfea4ff5df425942eb71aa905d8171567976228681afa90f453131ccce4701128b4f73b61acf4158ea2758c5c9e SHA512 62eaabef36fae592b06c41623f8f36750a029263a65c8fa21ad58b24ef30d4fa8eef7588237a68efb9a9784676f35605a8c9a6b2ed1bc6844c32924f9b5ec377 diff --git a/dev-python/build/build-0.8.0.ebuild b/dev-python/build/build-0.8.0.ebuild new file mode 100644 index 000000000000..a4d5552f8912 --- /dev/null +++ b/dev-python/build/build-0.8.0.ebuild @@ -0,0 +1,65 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) + +inherit distutils-r1 multiprocessing + +DESCRIPTION="A simple, correct PEP517 package builder" +HOMEPAGE=" + https://pypi.org/project/build/ + https://github.com/pypa/build/ +" +SRC_URI=" + https://github.com/pypa/build/archive/${PV}.tar.gz -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/packaging-19.0[${PYTHON_USEDEP}] + >=dev-python/pep517-0.9.1[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}] + ' 3.8 3.9 3.10) +" +BDEPEND=" + test? ( + >=dev-python/filelock-3[${PYTHON_USEDEP}] + >=dev-python/pytest-mock-2[${PYTHON_USEDEP}] + >=dev-python/pytest-rerunfailures-9.1[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + >=dev-python/setuptools-56.0.0[${PYTHON_USEDEP}] + >=dev-python/wheel-0.36.0[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # broken by the presence of flit_core + tests/test_util.py::test_wheel_metadata_isolation + # broken by the presence of virtualenv (it changes the error + # messages, sic!) + tests/test_env.py::test_isolated_env_log + tests/test_main.py::test_output_env_subprocess_error + 'tests/test_main.py::test_output[via-sdist-isolation]' + 'tests/test_main.py::test_output[wheel-direct-isolation]' + # Internet + tests/test_main.py::test_build_package + tests/test_main.py::test_build_package_via_sdist + tests/test_self_packaging.py::test_build_sdist + tests/test_self_packaging.py::test_build_wheel + 'tests/test_util.py::test_wheel_metadata[True]' + tests/test_util.py::test_with_get_requires + ) + + epytest -p no:flaky -n "$(makeopts_jobs)" \ + -W"ignore:path is deprecated.:DeprecationWarning" +} diff --git a/dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild b/dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild index 8269b7ee1079..69eff59266d1 100644 --- a/dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild +++ b/dev-python/cherrypy/cherrypy-18.6.1-r1.ebuild @@ -52,6 +52,7 @@ python_prepare_all() { local PATCHES=( # https://github.com/cherrypy/cherrypy/pull/1946 "${FILESDIR}"/${P}-close-files.patch + "${FILESDIR}"/${P}-py311.patch ) sed -r -e '/(pytest-sugar|pytest-cov)/ d' \ @@ -64,3 +65,14 @@ python_prepare_all() { distutils-r1_python_prepare_all } + +python_test() { + local EPYTEST_DESELECT=() + [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=( + # broken by changes in traceback output + cherrypy/test/test_request_obj.py::RequestObjectTests::testErrorHandling + cherrypy/test/test_tools.py::ToolTests::testHookErrors + ) + + epytest +} diff --git a/dev-python/cherrypy/files/cherrypy-18.6.1-py311.patch b/dev-python/cherrypy/files/cherrypy-18.6.1-py311.patch new file mode 100644 index 000000000000..5d629dd8c333 --- /dev/null +++ b/dev-python/cherrypy/files/cherrypy-18.6.1-py311.patch @@ -0,0 +1,32 @@ +From 8245a74aa4e090c40445535a9ce3997ed9904798 Mon Sep 17 00:00:00 2001 +From: Dominic Davis-Foster <dominic@davis-foster.co.uk> +Date: Fri, 28 Jan 2022 23:11:52 +0000 +Subject: [PATCH] Switch from inspect.getargspec to inspect.getfullargspec + +inspect.getargspec has been deprecated since 3.0 +--- + cherrypy/_cpdispatch.py | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/cherrypy/_cpdispatch.py b/cherrypy/_cpdispatch.py +index 83eb79cb..5c506e99 100644 +--- a/cherrypy/_cpdispatch.py ++++ b/cherrypy/_cpdispatch.py +@@ -206,12 +206,8 @@ except ImportError: + def test_callable_spec(callable, args, kwargs): # noqa: F811 + return None + else: +- getargspec = inspect.getargspec +- # Python 3 requires using getfullargspec if +- # keyword-only arguments are present +- if hasattr(inspect, 'getfullargspec'): +- def getargspec(callable): +- return inspect.getfullargspec(callable)[:4] ++ def getargspec(callable): ++ return inspect.getfullargspec(callable)[:4] + + + class LateParamPageHandler(PageHandler): +-- +2.35.1 + diff --git a/dev-python/click-log/click-log-0.4.0.ebuild b/dev-python/click-log/click-log-0.4.0.ebuild index 7e547bed6f5d..db0125ae41bc 100644 --- a/dev-python/click-log/click-log-0.4.0.ebuild +++ b/dev-python/click-log/click-log-0.4.0.ebuild @@ -19,8 +19,9 @@ LICENSE="MIT" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" -RDEPEND="dev-python/click[${PYTHON_USEDEP}]" -BDEPEND="${RDEPEND}" +RDEPEND=" + dev-python/click[${PYTHON_USEDEP}] +" DOCS=( README.rst ) diff --git a/dev-python/click-threading/click-threading-0.5.0-r1.ebuild b/dev-python/click-threading/click-threading-0.5.0-r1.ebuild new file mode 100644 index 000000000000..a06d2b8eab57 --- /dev/null +++ b/dev-python/click-threading/click-threading-0.5.0-r1.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="Multithreaded Click apps made easy" +HOMEPAGE=" + https://github.com/click-contrib/click-threading/ + https://pypi.org/project/click-threading/ +" +SRC_URI=" + https://github.com/click-contrib/${PN}/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/click-5.0[${PYTHON_USEDEP}] +" + +DOCS=( README.rst ) + +distutils_enable_tests pytest diff --git a/dev-python/colorclass/colorclass-2.2.2-r1.ebuild b/dev-python/colorclass/colorclass-2.2.2-r1.ebuild index a3b3c16d51e0..c5cee049b35e 100644 --- a/dev-python/colorclass/colorclass-2.2.2-r1.ebuild +++ b/dev-python/colorclass/colorclass-2.2.2-r1.ebuild @@ -11,10 +11,12 @@ inherit distutils-r1 DESCRIPTION="Colorful worry-free console applications for multiple platforms" HOMEPAGE=" https://pypi.org/project/colorclass/ - https://github.com/matthewdeanmartin/colorclass" + https://github.com/matthewdeanmartin/colorclass/ +" SRC_URI=" https://github.com/matthewdeanmartin/colorclass/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz" + -> ${P}.gh.tar.gz +" LICENSE="MIT" SLOT="0" @@ -23,7 +25,8 @@ KEYWORDS="amd64 ~arm64 x86" BDEPEND=" test? ( dev-python/docopt[${PYTHON_USEDEP}] - )" + ) +" distutils_enable_tests pytest diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest index f7989c8cd0a4..9c9afc730d18 100644 --- a/dev-python/coverage/Manifest +++ b/dev-python/coverage/Manifest @@ -1,2 +1,3 @@ DIST coverage-6.3.2.tar.gz 709294 BLAKE2B 2da96731ee0065fb6139af7db073284a83efa135e7379d2a6d6e571cdf58c888cf72719fbddadb1bd8f62b0b155b8420a84377068c40e4c813533b3ad6b190a8 SHA512 d9ea3a93eefe2dbb723ed1eadb09dc1165c4f46e7186889ce3615411283baac1d80f04a3831208a164f99accea5d246d4613a7c2e909d2e63d3c714620432a16 DIST coverage-6.3.3.tar.gz 710958 BLAKE2B 8bc1e9504e8f59bc2afea40c63958e463d2f6bfc5fa09c890c1c1f8e2ab502e6ad657edda5616f6a866f460b9f73cdda5ab081f8de281d23314f205d61c7621b SHA512 4b3f42602c50bf00a627ff40f3a04b1e8e457ad57759fb93dddb55eedd5ffe775fa81983f5f53502576b89c793c69a52a269148e7b028d5c87f0d4bf3a4d11b1 +DIST coverage-6.4.tar.gz 715897 BLAKE2B 69fd1979da2c652d5cf8b83adcde4755824faf832867c0181e610ef1369bae217c487b230aa649f03692440efc78628474d72303635568f8e7e5b41f83afc1ed SHA512 e834ff2329eb930ea40a28e8be7f665322558a1f00b5297a2daaaefc986ae451f333ea76bf6e345cad1560d721ebd990cdd5b79b30bddd9e17223acc85508089 diff --git a/dev-python/coverage/coverage-6.4.ebuild b/dev-python/coverage/coverage-6.4.ebuild new file mode 100644 index 000000000000..ea3f387d318b --- /dev/null +++ b/dev-python/coverage/coverage-6.4.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) +PYTHON_REQ_USE="threads(+),sqlite(+)" + +inherit distutils-r1 + +DESCRIPTION="Code coverage measurement for Python" +HOMEPAGE=" + https://coverage.readthedocs.io/en/latest/ + https://github.com/nedbat/coveragepy/ + https://pypi.org/project/coverage/ +" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +BDEPEND=" + test? ( + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + sed -i -e '/^addopts/s:-q -n auto::' setup.cfg || die + distutils-r1_src_prepare +} + +test_tracer() { + local -x COVERAGE_TEST_TRACER=${1} + einfo " Testing with the ${COVERAGE_TEST_TRACER} tracer ..." + epytest tests +} + +python_test() { + "${EPYTHON}" igor.py zip_mods || die + + local -x COVERAGE_TESTING=True + # TODO: figure out why they can't be imported inside test env + local -x COVERAGE_NO_CONTRACTS=1 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=_hypothesis_pytestplugin,flaky.flaky_pytest_plugin,xdist.plugin + + local prev_opt=$(shopt -p nullglob) + shopt -s nullglob + local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so ) + ${prev_opt} + + if [[ -n ${c_ext} ]]; then + cp "${c_ext}" \ + coverage/ || die + test_tracer c + rm coverage/*.so || die + else + test_tracer py + fi +} diff --git a/dev-python/docopt/docopt-0.6.2-r5.ebuild b/dev-python/docopt/docopt-0.6.2-r5.ebuild new file mode 100644 index 000000000000..a2a6f4116780 --- /dev/null +++ b/dev-python/docopt/docopt-0.6.2-r5.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Pythonic argument parser, that will make you smile" +HOMEPAGE=" + https://github.com/docopt/docopt/ + https://pypi.org/project/docopt/ +" +SRC_URI=" + https://github.com/docopt/docopt/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +PATCHES=( + "${FILESDIR}"/${PN}-0.6.2-pytest_node_from_parent.patch +) + +distutils_enable_tests pytest diff --git a/dev-python/flake8/Manifest b/dev-python/flake8/Manifest index 5b453f7bdf33..084843824ab3 100644 --- a/dev-python/flake8/Manifest +++ b/dev-python/flake8/Manifest @@ -1,2 +1 @@ -DIST flake8-3.9.2.tar.gz 164777 BLAKE2B 1c991296a3e47e4c41f1196fcaf1e7ea059226dfb41657a52fc4f5a9023b54dba21dd99635398e12f37f52f6e498a0a1fb7d87aba0fe7098ebbdfb54dc5598b0 SHA512 618fe1b35070b24395e5d4da9fa1b1f6308abf6f85d8de71b8b553f84d70d9cd7d2a6f616fa1418db9a8b5ad3efab038f4e2d7c6020c0c1bdeb8157e666911fd DIST flake8-4.0.1.tar.gz 154905 BLAKE2B b93fea36236881da595ae924b056686e0cd35d2466c1858e3ee83262922df8bc38cf5cd40a910980d287d048572dc94eb8d7c8ee4b11ebd1b4a474dfca02490c SHA512 0bdbf0218ce893df1c3e61f51cd3f371a5c72bb49ef78fec39548b1684e49b024e91cf4e3dcea60ba1efc08727985ef485814c372461e062ff4f810da99a1796 diff --git a/dev-python/flake8/flake8-3.9.2-r1.ebuild b/dev-python/flake8/flake8-3.9.2-r1.ebuild deleted file mode 100644 index 343ed468e9a8..000000000000 --- a/dev-python/flake8/flake8-3.9.2-r1.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) -inherit distutils-r1 - -DESCRIPTION="A wrapper around PyFlakes, pep8 & mccabe" -HOMEPAGE="https://gitlab.com/pycqa/flake8 https://pypi.org/project/flake8/" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos" - -# requires.txt inc. mccabe however that creates a circular dep -RDEPEND=" - >=dev-python/pyflakes-2.3.0[${PYTHON_USEDEP}] - <dev-python/pyflakes-2.4.0[${PYTHON_USEDEP}] - >=dev-python/pycodestyle-2.7.0[${PYTHON_USEDEP}] - <dev-python/pycodestyle-2.8.0[${PYTHON_USEDEP}] -" -PDEPEND=" - >=dev-python/mccabe-0.6.0[${PYTHON_USEDEP}] - <dev-python/mccabe-0.7.0[${PYTHON_USEDEP}] -" -BDEPEND="${RDEPEND} - test? ( - ${PDEPEND} - >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] - ) -" - -distutils_enable_sphinx docs/source dev-python/sphinx-prompt dev-python/sphinx_rtd_theme -distutils_enable_tests --install pytest diff --git a/dev-python/hatchling/Manifest b/dev-python/hatchling/Manifest index 0e99c9cad0f1..657c2ff33ef5 100644 --- a/dev-python/hatchling/Manifest +++ b/dev-python/hatchling/Manifest @@ -3,3 +3,4 @@ DIST hatch-hatchling-v0.25.0.tar.gz 216944 BLAKE2B 298f284bc05bbba6c463d4c22ddbb DIST hatch-hatchling-v1.0.0.tar.gz 216365 BLAKE2B cb6b648d103c7e9848b1a15cd62aaf3ab39c458f83f6c56cf039a136b39ae6c59ba487c36860582f98fb1ede6b3c2dab148b023499b5e4a30de9d063379118c3 SHA512 e16b0c53705fe090713f40d661e4ac9a4d0c2ae22f9193fcbaa1eb4ba146a36642b5e188574ad00b6ddd06c60537db0eba18fe9f2676cc988effc9d74e0dffc4 DIST hatch-hatchling-v1.1.0.tar.gz 216865 BLAKE2B 82d168d518b84c26033d81002b22eb347a2b0c2abb26b79ef4aacaa3804924348e090c4d87b728e80a30bfacf7d8634be6c6f35d3cfcb95fd9e1ff50d35d4595 SHA512 062773f8f1d472602ba589022ec56a7d3dc4068ae66ec5e773912a793524649f73effe7b61c76f5a1cf6b264d2499d8d8660efcc0189f9bbbf60b4b948740dc5 DIST hatch-hatchling-v1.2.0.tar.gz 216988 BLAKE2B b8f0fd0286075bb58e3ae875232c35cc5307582930ce03e8564c818d95f96be13f8bfbda950fe14257ab639b87a58fdd9f13fd5f024b70b5d16d12242a7ddeb4 SHA512 08bbaf8a9315d8e5a69ff09bf3121d9fdc7559e214c25203b61248e8c09b283076e3235261194cabc135f1eb0d6fa3ad1a9c1c9e02de45bcb7d9f3515b4246f6 +DIST hatch-hatchling-v1.3.0.tar.gz 219864 BLAKE2B 146c839cb41f32f2afadbb17816ec9171755b62bacaf59dd96e33d1105d8fe104a98baf7ff54f3bd296e4c0dcceb72dd42d54c7676946f41fd49bbfa6ba505de SHA512 03caa35a05332f55ac235a87d9549c201a564896cb409625efdfd25fee8a0c110a753bafcc93da1c602752bb965b599e81e8106d24a26503abb01a8f90457aed diff --git a/dev-python/hatchling/hatchling-1.3.0.ebuild b/dev-python/hatchling/hatchling-1.3.0.ebuild new file mode 100644 index 000000000000..e17f56cfc860 --- /dev/null +++ b/dev-python/hatchling/hatchling-1.3.0.ebuild @@ -0,0 +1,74 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYTHON_TESTED=( python3_{7,8,9,10} pypy3 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) + +inherit distutils-r1 + +TAG=${P/-/-v} +MY_P=hatch-${TAG} +DESCRIPTION="Modern, extensible Python build backend" +HOMEPAGE=" + https://pypi.org/project/hatchling/ + https://github.com/pypa/hatch/ +" +SRC_URI=" + https://github.com/pypa/hatch/archive/${TAG}.tar.gz + -> ${MY_P}.tar.gz +" +S=${WORKDIR}/${MY_P}/backend + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/editables-0.2[${PYTHON_USEDEP}] + >=dev-python/packaging-21.3[${PYTHON_USEDEP}] + >=dev-python/pathspec-0.9[${PYTHON_USEDEP}] + >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}] + >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( + $(python_gen_cond_dep ' + dev-python/atomicwrites[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/platformdirs[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + dev-python/tomli-w[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + ' "${PYTHON_TESTED[@]}") + ) +" + +distutils_enable_tests pytest + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return + fi + + local -x EPYTEST_DESELECT=( + # these run pip to install stuff + tests/backend/dep/test_core.py::test_dependency_found + tests/backend/dep/test_core.py::test_extra_met + tests/backend/dep/test_core.py::test_extra_no_dependencies + tests/backend/dep/test_core.py::test_extra_unmet + tests/backend/dep/test_core.py::test_unknown_extra + tests/backend/dep/test_core.py::test_version_unmet + ) + + # top-level "tests" directory contains tests both for hatch + # and hatchling + cd "${WORKDIR}/${MY_P}" || die + local -x PYTHONPATH="src:${PYTHONPATH}" + epytest tests/backend +} diff --git a/dev-python/immutables/Manifest b/dev-python/immutables/Manifest index 5939dda7cf71..7c9999e5a0ec 100644 --- a/dev-python/immutables/Manifest +++ b/dev-python/immutables/Manifest @@ -1 +1,2 @@ DIST immutables-0.17.gh.tar.gz 84660 BLAKE2B 475042d6342e3ffe5b4aa68e2e8c27a438658214ec2aa6439e077d59d2e2257313f644f535ebfbdb171b0e7dac33cde590f8a84a8da9da717b249e5b2e11ca92 SHA512 d5853de6b7c6064c93b6dbf66819873c982dd2e155ddcbf6b5dd321475374e9f52eb683c853a6944c71ca15fb194ac9480ad2d444407c885ee574c244c4f081a +DIST immutables-0.18.gh.tar.gz 84891 BLAKE2B 2e800e1b7b354781ef221315b80877e57ef446753c4a42e411196379e2bc921f71918c5ecd5cc693ca54cb7c401bef31161e9d249407b705626fe95d0e4e9fcc SHA512 1477ff6d9a6c02c3619b209352096abefb913cf53d392748e0940160067ecdcf2b89ad9ce807161ededaa5062105a2e5c5a3303bd02752a5f07b5f68f1c1044c diff --git a/dev-python/immutables/immutables-0.18.ebuild b/dev-python/immutables/immutables-0.18.ebuild new file mode 100644 index 000000000000..3078f975be14 --- /dev/null +++ b/dev-python/immutables/immutables-0.18.ebuild @@ -0,0 +1,39 @@ +# Copyright 2019-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="A high-performance immutable mapping type for Python" +HOMEPAGE=" + https://github.com/MagicStack/immutables/ + https://pypi.org/project/immutables/ +" +SRC_URI=" + https://github.com/MagicStack/${PN}/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +distutils_enable_tests pytest + +src_prepare() { + sed -i -e '/mypy/d' tests/conftest.py || die + distutils-r1_src_prepare +} + +src_test() { + local EPYTEST_IGNORE=( + tests/test_mypy.py + ) + + rm -r immutables || die + distutils-r1_src_test +} diff --git a/dev-python/keyring/Manifest b/dev-python/keyring/Manifest index 0f4c66af10c2..b53e88d0a9f1 100644 --- a/dev-python/keyring/Manifest +++ b/dev-python/keyring/Manifest @@ -1 +1,2 @@ DIST keyring-23.5.0.tar.gz 44586 BLAKE2B 70179f8353147679f03c888b1af00d2461264e7a7062eb7b1372615ae883f43352999ce57e24f3378ac66d5e74a81df66702bf380eb32d6d3554777e9ca63dfe SHA512 639d1cdece5dac854053818f3a4751b30fb9f13a2b3abb0090ba0cb519b50604858673678fe6205c2ec10be863e5f3d63cc7891424beabe2482d35b820a60da1 +DIST keyring-23.5.1.gh.tar.gz 44938 BLAKE2B 65c03e58ae8de844c1ed58486fd6348a1c7063025d92f9857c972cb3b2f29f4726dd03d25ff04329170719478ec5334f922556ef8598416d0ee07af6fb23c167 SHA512 521dd393221287840a5e9d22e94714d88ebb3ac26e87a72dae4958b7d63900cc445bdd087c2192353cdcd72b380d17838e93c4d9e1012f13e026ea27def11f38 diff --git a/dev-python/keyring/keyring-23.5.1.ebuild b/dev-python/keyring/keyring-23.5.1.ebuild new file mode 100644 index 000000000000..089321da0f4c --- /dev/null +++ b/dev-python/keyring/keyring-23.5.1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Provides access to the system keyring service" +HOMEPAGE=" + https://github.com/jaraco/keyring/ + https://pypi.org/project/keyring/ +" +SRC_URI=" + https://github.com/jaraco/${PN}/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +SLOT="0" +LICENSE="PSF-2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +RDEPEND=" + >=dev-python/secretstorage-3.2[${PYTHON_USEDEP}] + >=dev-python/jeepney-0.4.2[${PYTHON_USEDEP}] + >=dev-python/importlib_metadata-3.6[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools_scm[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest +distutils_enable_sphinx docs \ + dev-python/jaraco-packaging \ + dev-python/rst-linker + +export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} + +EPYTEST_DESELECT=( + # this test fails if importlib-metadata returns more than one + # entry, i.e. when keyring is installed already + tests/test_packaging.py::test_entry_point +) + +EPYTEST_IGNORE=( + # apparently does not unlock the keyring properly + tests/backends/test_libsecret.py + # hangs + tests/backends/test_kwallet.py +) + +src_prepare() { + # remove jaraco.tidelift dependency from docs, quite useless + sed -e '/tidelift/d' -i docs/conf.py docs/index.rst || die + + distutils-r1_src_prepare +} diff --git a/dev-python/lz4/Manifest b/dev-python/lz4/Manifest index 43834ab0a337..f2cbe6f71ed6 100644 --- a/dev-python/lz4/Manifest +++ b/dev-python/lz4/Manifest @@ -1 +1,2 @@ DIST lz4-4.0.0.tar.gz 163729 BLAKE2B ce617f2aea3f45cf9fb0bf642599a1d872d9532ab465d32602b63987081a7e78ab4ac4373a41c6a97ec50eb6f2debc078288554966390651325ba166faa79c0d SHA512 885d215dd4caadc84d1e2a9575be9972a33a43af089f0788192c9f4f53382c0937f9d67aac412e2860c9ba393ee3bb15dfe273865acb6a3cf8aecdce8292ecc9 +DIST lz4-4.0.1.tar.gz 164309 BLAKE2B 6338c2d74dedf1dc92f455378ef87c691291fdd16faebff8992aa927bf95c707b346af6bb35c512d8095b60a1878615d1081ba64f99c083e580eeacfb5cf11a5 SHA512 caa08a8a531ca2887ce7e596b7a3d9d8f8f2b93c6ea48c3fb0f8bbe6e6f2a18fb6b3c055e57841f8ce74f70367738a28dbb5fb1f07cbf785434642e6034b558e diff --git a/dev-python/lz4/lz4-4.0.1.ebuild b/dev-python/lz4/lz4-4.0.1.ebuild new file mode 100644 index 000000000000..cf54eddd0f21 --- /dev/null +++ b/dev-python/lz4/lz4-4.0.1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="LZ4 Bindings for Python" +HOMEPAGE="https://pypi.org/project/lz4/ https://github.com/python-lz4/python-lz4" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +SLOT="0" +LICENSE="BSD" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux" + +DEPEND=" + app-arch/lz4:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + dev-python/setuptools_scm[${PYTHON_USEDEP}] + dev-python/pkgconfig[${PYTHON_USEDEP}] + test? ( + dev-python/psutil[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + # lz4.stream is not officially supported and not installed by default + # (we do not support installing it at the moment) + tests/stream +) diff --git a/dev-python/numpy/files/numpy-1.22.4-py311.patch b/dev-python/numpy/files/numpy-1.22.4-py311.patch new file mode 100644 index 000000000000..7af6431a5892 --- /dev/null +++ b/dev-python/numpy/files/numpy-1.22.4-py311.patch @@ -0,0 +1,31 @@ +From 42f3203a45231b338cf1a4c77fe81ca4b7fef4ef Mon Sep 17 00:00:00 2001 +From: Bas van Beek <43369155+BvB93@users.noreply.github.com> +Date: Fri, 20 May 2022 02:42:37 +0200 +Subject: [PATCH] TST,TYP: Fix a python 3.11 failure for the `GenericAlias` + tests + +--- + numpy/typing/tests/test_generic_alias.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/numpy/typing/tests/test_generic_alias.py b/numpy/typing/tests/test_generic_alias.py +index 52d3deae4..267230a95 100644 +--- a/numpy/typing/tests/test_generic_alias.py ++++ b/numpy/typing/tests/test_generic_alias.py +@@ -20,11 +20,11 @@ + if sys.version_info >= (3, 9): + DType_ref = types.GenericAlias(np.dtype, (ScalarType,)) + NDArray_ref = types.GenericAlias(np.ndarray, (Any, DType_ref)) +- FuncType = Callable[[Union[_GenericAlias, types.GenericAlias]], Any] ++ FuncType = Callable[["_GenericAlias | types.GenericAlias"], Any] + else: + DType_ref = Any + NDArray_ref = Any +- FuncType = Callable[[_GenericAlias], Any] ++ FuncType = Callable[["_GenericAlias"], Any] + + GETATTR_NAMES = sorted(set(dir(np.ndarray)) - _GenericAlias._ATTR_EXCEPTIONS) + +-- +2.35.1 + diff --git a/dev-python/numpy/numpy-1.22.4.ebuild b/dev-python/numpy/numpy-1.22.4.ebuild index 838712e1df34..dc3876838f9e 100644 --- a/dev-python/numpy/numpy-1.22.4.ebuild +++ b/dev-python/numpy/numpy-1.22.4.ebuild @@ -46,7 +46,8 @@ BDEPEND=" " PATCHES=( - "${FILESDIR}"/${PN}-1.22.0-no-hardcode-blasv2.patch + "${FILESDIR}"/numpy-1.22.0-no-hardcode-blasv2.patch + "${FILESDIR}"/numpy-1.22.4-py311.patch ) distutils_enable_tests pytest @@ -152,6 +153,11 @@ python_test() { ) fi + [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=( + # known problem + 'numpy/typing/tests/test_generic_alias.py::TestGenericAlias::test_pass[__dir__-<lambda>]' + ) + distutils_install_for_testing --single-version-externally-managed \ --record "${TMPDIR}/record.txt" ${NUMPY_FCONFIG} diff --git a/dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild b/dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild index 76a37f6598bd..1a5eb2ee6b22 100644 --- a/dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild +++ b/dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild @@ -5,16 +5,25 @@ EAPI=8 DISTUTILS_USE_PEP517=poetry PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) + inherit distutils-r1 DESCRIPTION="Interface Python with pkg-config" -HOMEPAGE="https://pypi.org/project/pkgconfig/ https://github.com/matze/pkgconfig" -SRC_URI="https://github.com/matze/pkgconfig/archive/v${PV}.tar.gz -> ${P}.tar.gz" +HOMEPAGE=" + https://github.com/matze/pkgconfig/ + https://pypi.org/project/pkgconfig/ +" +SRC_URI=" + https://github.com/matze/pkgconfig/archive/v${PV}.tar.gz + -> ${P}.tar.gz +" LICENSE="MIT" SLOT="0" KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux" -RDEPEND="virtual/pkgconfig" +RDEPEND=" + virtual/pkgconfig +" distutils_enable_tests pytest diff --git a/dev-python/pydocstyle/pydocstyle-6.1.1-r1.ebuild b/dev-python/pydocstyle/pydocstyle-6.1.1-r1.ebuild new file mode 100644 index 000000000000..171c80953515 --- /dev/null +++ b/dev-python/pydocstyle/pydocstyle-6.1.1-r1.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Python docstring style checker" +HOMEPAGE=" + https://github.com/PyCQA/pydocstyle/ + https://pypi.org/project/pydocstyle/ +" +SRC_URI=" + https://github.com/PyCQA/pydocstyle/archive/${PV}.tar.gz + -> ${P}.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +RDEPEND=" + dev-python/snowballstemmer[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/toml[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest +# Requires network to lookup github issues +#distutils_enable_sphinx docs dev-python/sphinx_rtd_theme dev-python/sphinxcontrib-issuetracker + +PATCHES=( + "${FILESDIR}"/pydocstyle-6.1.1-disarm-pip-install.patch +) diff --git a/dev-python/pyflakes/Manifest b/dev-python/pyflakes/Manifest index b6111d4ce98b..04c263596156 100644 --- a/dev-python/pyflakes/Manifest +++ b/dev-python/pyflakes/Manifest @@ -1,3 +1 @@ -DIST pyflakes-2.2.0.tar.gz 65307 BLAKE2B e48e0cb0497f90b6482c0fd08c182d766ab50755fe348352df510841f4ad43f7c1d6486753ce774603a3624f49c9b0165ad930bb1451ef30cf2e828d732e0652 SHA512 6a411efef261874c216b71bcb095412448a8cbeefdf7fa5577d4f4edd48a4a740a4433665e87e5dda2c08fd9ee3bfb7f134f56c7523e1303243edfa92b0ccb35 -DIST pyflakes-2.3.1.tar.gz 68567 BLAKE2B 0eee1eb87bf1dcae68afcdb250644aa8a1189ca3d8d22608e25727bf01b94465cceb6c65be669b18779434c8879594dd92cfb3a108b7aff584cfda788f6e2f4f SHA512 85d3a2737d31ed4b5f4c2e3621759a5951d1320f95d74313fec09fa551648105b3ab84db94f7bffe5b77623e4adbea1d8ad12b9ce2fee7e81c41581a3ea81cc6 DIST pyflakes-2.4.0.tar.gz 69101 BLAKE2B 852e50f3545138947761f9a8413fd6463bb9a28977c008feb1c3a81afb3854501b8fd3c05840d9d75bc6ebf505b545e62c047b87780b0bc764fd4225ea6a1e21 SHA512 f4c6512eb811511c897623f52c4f88e50275a3292582d7dd34462e90e39fecce939818cb92e750eebdd66eab25b91c23540104fc4530c42621d7cfeb1d33c577 diff --git a/dev-python/pyflakes/files/pyflakes-2.2.0-fix-tests.patch b/dev-python/pyflakes/files/pyflakes-2.2.0-fix-tests.patch deleted file mode 100644 index 00b1130bf342..000000000000 --- a/dev-python/pyflakes/files/pyflakes-2.2.0-fix-tests.patch +++ /dev/null @@ -1,97 +0,0 @@ -diff --git a/pyflakes/test/test_api.py b/pyflakes/test/test_api.py -index b579ac8..d379b3b 100644 ---- a/pyflakes/test/test_api.py -+++ b/pyflakes/test/test_api.py -@@ -515,8 +513,10 @@ def foo(bar=baz, bax): - """ - with self.makeTempFile(source) as sourcePath: - if ERROR_HAS_LAST_LINE: -- if PYPY and sys.version_info >= (3,): -+ if PYPY: - column = 7 -+ elif sys.version_info >= (3, 9): -+ column = 21 - elif sys.version_info >= (3, 8): - column = 9 - else: -@@ -543,8 +543,10 @@ foo(bar=baz, bax) - """ - with self.makeTempFile(source) as sourcePath: - if ERROR_HAS_LAST_LINE: -- if PYPY and sys.version_info >= (3,): -+ if PYPY: - column = 12 -+ elif sys.version_info >= (3, 9): -+ column = 17 - elif sys.version_info >= (3, 8): - column = 14 - else: -@@ -578,7 +580,9 @@ foo(bar=baz, bax) - else: - position_end = 1 - if PYPY: -- column = 6 -+ column = 5 -+ elif ver >= (3, 9): -+ column = 13 - else: - column = 7 - # Column has been "fixed" since 3.2.4 and 3.3.1 -@@ -717,13 +721,6 @@ class IntegrationTests(TestCase): - """ - Tests of the pyflakes script that actually spawn the script. - """ -- -- # https://bitbucket.org/pypy/pypy/issues/3069/pypy36-on-windows-incorrect-line-separator -- if PYPY and sys.version_info >= (3,) and WIN: -- LINESEP = '\n' -- else: -- LINESEP = os.linesep -- - def setUp(self): - self.tempdir = tempfile.mkdtemp() - self.tempfilepath = os.path.join(self.tempdir, 'temp') -@@ -784,7 +781,7 @@ class IntegrationTests(TestCase): - fd.write("import contraband\n".encode('ascii')) - d = self.runPyflakes([self.tempfilepath]) - expected = UnusedImport(self.tempfilepath, Node(1), 'contraband') -- self.assertEqual(d, ("%s%s" % (expected, self.LINESEP), '', 1)) -+ self.assertEqual(d, ("%s%s" % (expected, os.linesep), '', 1)) - - def test_errors_io(self): - """ -@@ -794,7 +791,7 @@ class IntegrationTests(TestCase): - """ - d = self.runPyflakes([self.tempfilepath]) - error_msg = '%s: No such file or directory%s' % (self.tempfilepath, -- self.LINESEP) -+ os.linesep) - self.assertEqual(d, ('', error_msg, 1)) - - def test_errors_syntax(self): -@@ -807,7 +804,7 @@ class IntegrationTests(TestCase): - fd.write("import".encode('ascii')) - d = self.runPyflakes([self.tempfilepath]) - error_msg = '{0}:1:{2}: invalid syntax{1}import{1} {3}^{1}'.format( -- self.tempfilepath, self.LINESEP, 6 if PYPY else 7, '' if PYPY else ' ') -+ self.tempfilepath, os.linesep, 6 if PYPY else 7, '' if PYPY else ' ') - self.assertEqual(d, ('', error_msg, 1)) - - def test_readFromStdin(self): -@@ -816,15 +813,13 @@ class IntegrationTests(TestCase): - """ - d = self.runPyflakes([], stdin='import contraband') - expected = UnusedImport('<stdin>', Node(1), 'contraband') -- self.assertEqual(d, ("%s%s" % (expected, self.LINESEP), '', 1)) -+ self.assertEqual(d, ("%s%s" % (expected, os.linesep), '', 1)) - - - class TestMain(IntegrationTests): - """ - Tests of the pyflakes main function. - """ -- LINESEP = os.linesep -- - def runPyflakes(self, paths, stdin=None): - try: - with SysStreamCapturing(stdin) as capture: diff --git a/dev-python/pyflakes/files/pyflakes-2.3.1-fix-py3.10-tests.patch b/dev-python/pyflakes/files/pyflakes-2.3.1-fix-py3.10-tests.patch deleted file mode 100644 index c96585d20c73..000000000000 --- a/dev-python/pyflakes/files/pyflakes-2.3.1-fix-py3.10-tests.patch +++ /dev/null @@ -1,91 +0,0 @@ -From f3b1b44bf3d2d5927004fa1c2fcf1ab2def816b9 Mon Sep 17 00:00:00 2001 -From: Anthony Sottile <asottile@umich.edu> -Date: Thu, 20 May 2021 07:23:19 -0700 -Subject: [PATCH] fix syntax error offsets for python 3.10 (#635) - ---- - .github/workflows/test.yml | 2 +- - pyflakes/test/test_api.py | 43 +++++++++++++++++++++++++------------- - tox.ini | 2 +- - 3 files changed, 30 insertions(+), 17 deletions(-) - -diff --git a/pyflakes/test/test_api.py b/pyflakes/test/test_api.py -index d379b3b7..2c1cf19d 100644 ---- a/pyflakes/test/test_api.py -+++ b/pyflakes/test/test_api.py -@@ -441,7 +441,7 @@ def evaluate(source): - evaluate(source) - except SyntaxError: - e = sys.exc_info()[1] -- if not PYPY: -+ if not PYPY and sys.version_info < (3, 10): - self.assertTrue(e.text.count('\n') > 1) - else: - self.fail() -@@ -449,10 +449,17 @@ def evaluate(source): - with self.makeTempFile(source) as sourcePath: - if PYPY: - message = 'end of file (EOF) while scanning triple-quoted string literal' -+ elif sys.version_info >= (3, 10): -+ message = 'unterminated triple-quoted string literal (detected at line 8)' # noqa: E501 - else: - message = 'invalid syntax' - -- column = 8 if sys.version_info >= (3, 8) else 11 -+ if sys.version_info >= (3, 10): -+ column = 12 -+ elif sys.version_info >= (3, 8): -+ column = 8 -+ else: -+ column = 11 - self.assertHasErrors( - sourcePath, - ["""\ -@@ -468,21 +475,25 @@ def test_eofSyntaxError(self): - """ - with self.makeTempFile("def foo(") as sourcePath: - if PYPY: -- result = """\ --%s:1:7: parenthesis is never closed --def foo( -- ^ --""" % (sourcePath,) -+ msg = 'parenthesis is never closed' -+ elif sys.version_info >= (3, 10): -+ msg = "'(' was never closed" - else: -- result = """\ --%s:1:9: unexpected EOF while parsing --def foo( -- ^ --""" % (sourcePath,) -+ msg = 'unexpected EOF while parsing' - -- self.assertHasErrors( -- sourcePath, -- [result]) -+ if PYPY: -+ column = 7 -+ elif sys.version_info >= (3, 10): -+ column = 8 -+ else: -+ column = 9 -+ -+ spaces = ' ' * (column - 1) -+ expected = '{}:1:{}: {}\ndef foo(\n{}^\n'.format( -+ sourcePath, column, msg, spaces -+ ) -+ -+ self.assertHasErrors(sourcePath, [expected]) - - def test_eofSyntaxErrorWithTab(self): - """ -@@ -515,6 +526,8 @@ def foo(bar=baz, bax): - if ERROR_HAS_LAST_LINE: - if PYPY: - column = 7 -+ elif sys.version_info >= (3, 10): -+ column = 18 - elif sys.version_info >= (3, 9): - column = 21 - elif sys.version_info >= (3, 8): diff --git a/dev-python/pyflakes/pyflakes-2.2.0.ebuild b/dev-python/pyflakes/pyflakes-2.2.0.ebuild deleted file mode 100644 index 5ab6efc734fe..000000000000 --- a/dev-python/pyflakes/pyflakes-2.2.0.ebuild +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) -# Uses pkg_resources -DISTUTILS_USE_SETUPTOOLS=rdepend - -inherit distutils-r1 - -DESCRIPTION="Passive checker for Python programs" -HOMEPAGE="https://github.com/PyCQA/pyflakes https://pypi.org/project/pyflakes/" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" - -# Should be included in the next release -PATCHES=( "${FILESDIR}/${P}-fix-tests.patch" ) - -distutils_enable_tests unittest diff --git a/dev-python/pyflakes/pyflakes-2.3.1.ebuild b/dev-python/pyflakes/pyflakes-2.3.1.ebuild deleted file mode 100644 index 46a935d95f78..000000000000 --- a/dev-python/pyflakes/pyflakes-2.3.1.ebuild +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) -inherit distutils-r1 - -DESCRIPTION="Passive checker for Python programs" -HOMEPAGE="https://github.com/PyCQA/pyflakes https://pypi.org/project/pyflakes/" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" - -PATCHES=( - "${FILESDIR}/${P}-fix-py3.10-tests.patch" -) - -distutils_enable_tests unittest diff --git a/dev-python/pyflakes/pyflakes-2.4.0-r1.ebuild b/dev-python/pyflakes/pyflakes-2.4.0-r1.ebuild new file mode 100644 index 000000000000..dd095ee229f2 --- /dev/null +++ b/dev-python/pyflakes/pyflakes-2.4.0-r1.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Passive checker for Python programs" +HOMEPAGE=" + https://github.com/PyCQA/pyflakes/ + https://pypi.org/project/pyflakes/ +" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +distutils_enable_tests unittest diff --git a/dev-python/pypy/Manifest b/dev-python/pypy/Manifest index 15b4c1b49cb4..7383420e70e3 100644 --- a/dev-python/pypy/Manifest +++ b/dev-python/pypy/Manifest @@ -1,4 +1,4 @@ -DIST pypy2.7-gentoo-patches-7.3.5.tar.xz 6928 BLAKE2B 41aff14411882e60102866a41de6a2c13983d5489c9ed928e2823714883b5cca289c093426fdec35b6df8d17de7a96528d799e10412a0f2f02563e152acf24ea SHA512 f12c1a414cf40e86e9d2a7d1cdfaaacc1045f8043da479b5270ef983ffcf01418a70bbd21ae740abf544091cdc5026bffe467d631242d5e9e0863a64fa8d026b DIST pypy2.7-gentoo-patches-7.3.6.tar.xz 7904 BLAKE2B 6a809f8f1fd59c18627abaf81b47fa5948d39d5ece86fa416944c1c6585ec5d43b56f4228479a6afdca9788a0ecfdc83fceb4eeea25f289c1dc0b2dbda79b882 SHA512 01fe42cdf94b559ed787e253325f7df0add62e30e77c6b6e4c0301c81ff624a31167d95b39d24d72f28441468d571112f424957de38e7f26ecdbfe0f33617296 -DIST pypy2.7-v7.3.5-src.tar.bz2 21572184 BLAKE2B 388b8623c2c5de839dea0e60acc5e11a6a774b4a6cdc051691053a97fe13ec12c6735a4be64015653ef420c0d8af2c79d8faa90a7dfc3042e29f35f4e1ded6c3 SHA512 a30c666c29eec7cca7e2e52f26480958b5885cd59c6b2e3d3c0d8c1cc55c298e878fc95f88e38a4297bb3d7d1cc1f77470de958e5acfd317e1fc8bdd5d013dcb +DIST pypy2.7-gentoo-patches-7.3.9.tar.xz 7428 BLAKE2B 0a42e3c04ac0e560d56ce7218db81fa55f74ad45a4a033ccda8c5fba34e3a0b1f06587b5b18e947170cc635bd44e5a7799daeec9319c6a09165a73b32554a4b6 SHA512 3a52d40ccf8d77f3493a763b51e4bf86a808f6478191ed4eeaa4f2c2ce8b75769c3880d07cbc7614d8af5573f3e8edfe694be41626b947f3d06c321cf4f59abd DIST pypy2.7-v7.3.6-src.tar.bz2 21621891 BLAKE2B a2d18ae9d455747484de491df228e7f26af46fc3bc1fd1c16ceba79eba5a3a3272d48312c9da112ae9310722b5af33098f28a7dc15d7ff4760886a8c974692a2 SHA512 df914f5e1a1f5ae5c1ea11cd8e29482309af4dce041cf2ae6d7b35a35717fec903be70f56e5f1ddbc9fd370cbe29f6896d25eb2cd10c493c352c80b279070ba3 +DIST pypy2.7-v7.3.9-src.tar.bz2 23328628 BLAKE2B 50d015439b6a6f15dd24eb4524726a2054f0d8e7ef209b54dc4eb9365b41b333f3dad525422316af3ff19e6ffb5866859db4455e05fc1529a81ce3b6e7c621db SHA512 8d7513d4efe924f2456dd65a45a82dd16171f7962c81ba90f2a168c332cdad78ceffa3ed1af379c09e61082b39d5c2a8385cd77c89b698c47cc75e9df1bb4d2a diff --git a/dev-python/pypy/files/cryptography.patch b/dev-python/pypy/files/cryptography.patch new file mode 100644 index 000000000000..cf045d4e2310 --- /dev/null +++ b/dev-python/pypy/files/cryptography.patch @@ -0,0 +1,17 @@ +diff -urN pypy3.9-v7.3.9-src.orig/lib_pypy/_cffi_ssl/_cffi_src/openssl/cryptography.py pypy3.9-v7.3.9-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/cryptography.py +--- pypy3.9-v7.3.9-src.orig/lib_pypy/_cffi_ssl/_cffi_src/openssl/cryptography.py 2022-05-06 15:55:16.721352072 +0200 ++++ pypy3.9-v7.3.9-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/cryptography.py 2022-05-06 15:56:09.489348551 +0200 +@@ -44,6 +44,13 @@ + (LIBRESSL_VERSION_NUMBER < 0x3030200f) + #define CRYPTOGRAPHY_LIBRESSL_LESS_THAN_340 \ + (LIBRESSL_VERSION_NUMBER < 0x3040000f) ++#define ERR_LIB_OSSL_STORE 44 ++#define ERR_LIB_ASYNC 51 ++#define ERR_LIB_KDF 52 ++#define ERR_LIB_SM2 53 ++#define SSL3_RT_HEADER 0x100 ++#define SSL3_MT_CHANGE_CIPHER_SPEC 0x0101 ++#define SSL3_RT_INNER_CONTENT_TYPE 0x101 + #else + #define CRYPTOGRAPHY_LIBRESSL_27_OR_GREATER (0) + #define CRYPTOGRAPHY_LIBRESSL_28_OR_GREATER (0) diff --git a/dev-python/pypy/files/openssl_ct.patch b/dev-python/pypy/files/openssl_ct.patch new file mode 100644 index 000000000000..647031353305 --- /dev/null +++ b/dev-python/pypy/files/openssl_ct.patch @@ -0,0 +1,23 @@ +Adapt for Certificate Transparency support in LibreSSL 3.5 + +Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.py +--- lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.py.orig ++++ lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.py +@@ -5,7 +5,7 @@ + from __future__ import absolute_import, division, print_function + + INCLUDES = """ +-#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER ++#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER || CRYPTOGRAPHY_IS_LIBRESSL + #include <openssl/ct.h> + + typedef STACK_OF(SCT) Cryptography_STACK_OF_SCT; +@@ -65,7 +65,7 @@ int SCT_set_log_entry_type(SCT *, ct_log_entry_type_t) + """ + + CUSTOMIZATIONS = """ +-#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER ++#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER || CRYPTOGRAPHY_IS_LIBRESSL + static const long Cryptography_HAS_SCT = 1; + #else + static const long Cryptography_HAS_SCT = 0; diff --git a/dev-python/pypy/files/openssl_dh.patch b/dev-python/pypy/files/openssl_dh.patch new file mode 100644 index 000000000000..b653872eff5b --- /dev/null +++ b/dev-python/pypy/files/openssl_dh.patch @@ -0,0 +1,14 @@ +Do not redefine a constant available in LibreSSL's headers. + +Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/dh.py +--- lib_pypy/_cffi_ssl/_cffi_src/openssl/dh.py.orig ++++ lib_pypy/_cffi_ssl/_cffi_src/openssl/dh.py +@@ -110,7 +110,7 @@ int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_ + } + #endif + +-#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 ++#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 && !CRYPTOGRAPHY_LIBRESSL_27_OR_GREATER + #ifndef DH_CHECK_Q_NOT_PRIME + #define DH_CHECK_Q_NOT_PRIME 0x10 + #endif diff --git a/dev-python/pypy/files/openssl_evp.patch b/dev-python/pypy/files/openssl_evp.patch new file mode 100644 index 000000000000..07092e740609 --- /dev/null +++ b/dev-python/pypy/files/openssl_evp.patch @@ -0,0 +1,19 @@ +Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.py +--- lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.py.orig ++++ lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.py +@@ -212,14 +212,10 @@ int (*EVP_PKEY_set1_tls_encodedpoint)(EVP_PKEY *, cons + #endif + + #if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 +-static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 0; ++static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 1; + static const long Cryptography_HAS_RAW_KEY = 0; + static const long Cryptography_HAS_EVP_DIGESTFINAL_XOF = 0; + int (*EVP_DigestFinalXOF)(EVP_MD_CTX *, unsigned char *, size_t) = NULL; +-int (*EVP_DigestSign)(EVP_MD_CTX *, unsigned char *, size_t *, +- const unsigned char *tbs, size_t) = NULL; +-int (*EVP_DigestVerify)(EVP_MD_CTX *, const unsigned char *, size_t, +- const unsigned char *, size_t) = NULL; + EVP_PKEY *(*EVP_PKEY_new_raw_private_key)(int, ENGINE *, const unsigned char *, + size_t) = NULL; + EVP_PKEY *(*EVP_PKEY_new_raw_public_key)(int, ENGINE *, const unsigned char *, diff --git a/dev-python/pypy/files/openssl_hmac.patch b/dev-python/pypy/files/openssl_hmac.patch new file mode 100644 index 000000000000..51f1b2264ab1 --- /dev/null +++ b/dev-python/pypy/files/openssl_hmac.patch @@ -0,0 +1,23 @@ +Fix build with opaque HMAC_CTX in LibreSSL 3.5. + +Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/hmac.py +--- lib_pypy/_cffi_ssl/_cffi_src/openssl/hmac.py.orig ++++ lib_pypy/_cffi_ssl/_cffi_src/openssl/hmac.py +@@ -24,7 +24,7 @@ void Cryptography_HMAC_CTX_free(HMAC_CTX *ctx); + + CUSTOMIZATIONS = """ + HMAC_CTX *Cryptography_HMAC_CTX_new(void) { +-#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER ++#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER || defined(LIBRESSL_VERSION_NUMBER) + return HMAC_CTX_new(); + #else + /* This uses OPENSSL_zalloc in 1.1.0, which is malloc + memset */ +@@ -36,7 +36,7 @@ HMAC_CTX *Cryptography_HMAC_CTX_new(void) { + + + void Cryptography_HMAC_CTX_free(HMAC_CTX *ctx) { +-#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER ++#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER || defined(LIBRESSL_VERSION_NUMBER) + return HMAC_CTX_free(ctx); + #else + if (ctx != NULL) { diff --git a/dev-python/pypy/files/openssl_ocsp.patch b/dev-python/pypy/files/openssl_ocsp.patch new file mode 100644 index 000000000000..2dd70863b032 --- /dev/null +++ b/dev-python/pypy/files/openssl_ocsp.patch @@ -0,0 +1,23 @@ +Fix build with opaque OCSP in LibreSSL 3.5. + +Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ocsp.py +--- lib_pypy/_cffi_ssl/_cffi_src/openssl/ocsp.py.orig ++++ lib_pypy/_cffi_ssl/_cffi_src/openssl/ocsp.py +@@ -109,7 +109,7 @@ struct ocsp_basic_response_st { + }; + #endif + +-#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 ++#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 && LIBRESSL_VERSION_NUMBER < 0x3050000fL + /* These functions are all taken from ocsp_cl.c in OpenSSL 1.1.0 */ + const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *single) + { +@@ -148,7 +148,7 @@ const ASN1_OCTET_STRING *OCSP_resp_get0_signature(cons + } + #endif + +-#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J ++#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J && LIBRESSL_VERSION_NUMBER < 0x3050000fL + const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs) + { + #if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 diff --git a/dev-python/pypy/files/openssl_proto.patch b/dev-python/pypy/files/openssl_proto.patch new file mode 100644 index 000000000000..22e2e7a3283d --- /dev/null +++ b/dev-python/pypy/files/openssl_proto.patch @@ -0,0 +1,12 @@ +diff -urN pypy2.7-v7.3.8-src.orig/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py pypy2.7-v7.3.8-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py +--- pypy2.7-v7.3.8-src.orig/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py 2022-03-27 20:40:31.151380366 +0200 ++++ pypy2.7-v7.3.8-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py 2022-03-27 20:45:26.044401605 +0200 +@@ -739,7 +739,7 @@ + int (*SSL_get_min_proto_version)(SSL *ssl) = NULL; + int (*SSL_get_max_proto_version)(SSL *ssl) = NULL; + #endif +-#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 ++#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 && !CRYPTOGRAPHY_IS_LIBRESSL + int (*SSL_CTX_set_min_proto_version)(SSL_CTX *ctx, int version) = NULL; + int (*SSL_CTX_set_max_proto_version)(SSL_CTX *ctx, int version) = NULL; + int (*SSL_set_min_proto_version)(SSL *ssl, int version) = NULL; diff --git a/dev-python/pypy/files/openssl_ssl.patch b/dev-python/pypy/files/openssl_ssl.patch new file mode 100644 index 000000000000..1c6f32460958 --- /dev/null +++ b/dev-python/pypy/files/openssl_ssl.patch @@ -0,0 +1,44 @@ +Fix build with opaque SSL_CTX and COMP_METHOD and do not redefine +DTLSv1.2 and TLSv1.3 related defined vailable in recent LibreSSL versions. + +Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py +--- lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py.orig ++++ lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py +@@ -552,7 +552,7 @@ int SSL_CTX_set_max_early_data(SSL_CTX *, uint32_t); + CUSTOMIZATIONS = """ + /* Added in 1.0.2 but we need it in all versions now due to the great + opaquing. */ +-#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 ++#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 && !CRYPTOGRAPHY_IS_LIBRESSL + /* from ssl/ssl_lib.c */ + const SSL_METHOD *SSL_CTX_get_ssl_method(SSL_CTX *ctx) { + return ctx->method; +@@ -681,8 +681,8 @@ static const long Cryptography_HAS_SET_CERT_CB = 1; + + /* In OpenSSL 1.0.2i+ the handling of COMP_METHOD when OPENSSL_NO_COMP was + changed and we no longer need to typedef void */ +-#if (defined(OPENSSL_NO_COMP) && CRYPTOGRAPHY_OPENSSL_LESS_THAN_102I) || \ +- CRYPTOGRAPHY_IS_LIBRESSL ++#if (defined(OPENSSL_NO_COMP) && CRYPTOGRAPHY_OPENSSL_LESS_THAN_102I) && \ ++ !CRYPTOGRAPHY_IS_LIBRESSL + static const long Cryptography_HAS_COMPRESSION = 0; + typedef void COMP_METHOD; + #else +@@ -729,8 +729,6 @@ const SSL_METHOD *(*DTLS_client_method)(void) = NULL; + static const long Cryptography_HAS_GENERIC_DTLS_METHOD = 1; + #endif + #if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 +-static const long SSL_OP_NO_DTLSv1 = 0; +-static const long SSL_OP_NO_DTLSv1_2 = 0; + long (*DTLS_set_link_mtu)(SSL *, long) = NULL; + long (*DTLS_get_link_min_mtu)(SSL *) = NULL; + #endif +@@ -836,7 +834,7 @@ static const long Cryptography_HAS_CIPHER_DETAILS = 0; + static const long Cryptography_HAS_CIPHER_DETAILS = 1; + #endif + +-#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 ++#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 && !CRYPTOGRAPHY_IS_LIBRESSL + static const long Cryptography_HAS_TLSv1_3 = 0; + static const long SSL_OP_NO_TLSv1_3 = 0; + static const long SSL_VERIFY_POST_HANDSHAKE = 0; diff --git a/dev-python/pypy/files/openssl_x509.patch b/dev-python/pypy/files/openssl_x509.patch new file mode 100644 index 000000000000..3714cf926a3a --- /dev/null +++ b/dev-python/pypy/files/openssl_x509.patch @@ -0,0 +1,21 @@ +Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py +--- lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py.orig ++++ lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py +@@ -282,7 +282,7 @@ int X509_get_signature_nid(const X509 *x) + + /* Added in 1.0.2 but we need it in all versions now due to the great + opaquing. */ +-#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 ++#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 && !defined(LIBRESSL_VERSION_NUMBER) + /* from x509/x_x509.c */ + int i2d_re_X509_tbs(X509 *x, unsigned char **pp) + { +@@ -308,7 +308,7 @@ X509_REVOKED *Cryptography_X509_REVOKED_dup(X509_REVOK + + /* Added in 1.1.0 but we need it in all versions now due to the great + opaquing. */ +-#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 ++#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 && !defined(LIBRESSL_VERSION_NUMBER) + int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp) + { + req->req_info->enc.modified = 1; diff --git a/dev-python/pypy/files/openssl_x509name.patch b/dev-python/pypy/files/openssl_x509name.patch new file mode 100644 index 000000000000..53721e4de136 --- /dev/null +++ b/dev-python/pypy/files/openssl_x509name.patch @@ -0,0 +1,12 @@ +Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/x509name.py +--- lib_pypy/_cffi_ssl/_cffi_src/openssl/x509name.py.orig ++++ lib_pypy/_cffi_ssl/_cffi_src/openssl/x509name.py +@@ -75,7 +75,7 @@ Cryptography_STACK_OF_X509_NAME_ENTRY *sk_X509_NAME_EN + """ + + CUSTOMIZATIONS = """ +-#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER ++#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER || defined(LIBRESSL_VERSION_NUMBER) + int Cryptography_X509_NAME_ENTRY_set(X509_NAME_ENTRY *ne) { + return X509_NAME_ENTRY_set(ne); + } diff --git a/dev-python/pypy/files/ssl_python.patch b/dev-python/pypy/files/ssl_python.patch new file mode 100644 index 000000000000..03baf16e093f --- /dev/null +++ b/dev-python/pypy/files/ssl_python.patch @@ -0,0 +1,12 @@ +diff -urN pypy2.7-v7.3.8-src.orig/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py pypy2.7-v7.3.8-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py +--- pypy2.7-v7.3.8-src.orig/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py 2022-03-27 20:48:19.795414119 +0200 ++++ pypy2.7-v7.3.8-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py 2022-03-27 20:51:43.997428826 +0200 +@@ -577,7 +577,7 @@ + """ + + CUSTOMIZATIONS = """ +-#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 ++#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 && !CRYPTOGRAPHY_LIBRESSL_27_OR_GREATER + #error Python 3.7 requires OpenSSL >= 1.0.2 + #endif + diff --git a/dev-python/pypy/pypy-7.3.5-r2.ebuild b/dev-python/pypy/pypy-7.3.9.ebuild index 467c4608394c..d5a349b2ed39 100644 --- a/dev-python/pypy/pypy-7.3.5-r2.ebuild +++ b/dev-python/pypy/pypy-7.3.9.ebuild @@ -1,4 +1,4 @@ -# Copyright 2021 Liguros Authors +# Copyright 2021-2022 Liguros Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,7 +6,7 @@ inherit pax-utils python-utils-r1 PYPY_PV=${PV%_p*} MY_P=pypy2.7-v${PYPY_PV/_} -PATCHSET="pypy2.7-gentoo-patches-${PV/_}" +PATCHSET="pypy2.7-gentoo-patches-${PV/_rc/rc}" DESCRIPTION="A fast, compliant alternative implementation of the Python language" HOMEPAGE="https://www.pypy.org/" @@ -26,7 +26,7 @@ RDEPEND=" >=dev-python/pypy-exe-bin-${PYPY_PV}:${PYPY_PV} ) !libressl? ( dev-libs/openssl:0= ) - libressl? ( <dev-libs/libressl-3.3.4 ) + libressl? ( >=dev-libs/libressl-3.5.0:0= ) gdbm? ( sys-libs/gdbm:0= ) sqlite? ( dev-db/sqlite:3= ) tk? ( @@ -44,6 +44,17 @@ src_prepare() { sed -e "s^@EPREFIX@^${EPREFIX}^" \ -i lib-python/2.7/distutils/command/install.py || die + eapply -p0 ${FILESDIR}/openssl_ct.patch + eapply -p0 ${FILESDIR}/openssl_dh.patch + eapply -p0 ${FILESDIR}/openssl_evp.patch + eapply -p0 ${FILESDIR}/openssl_hmac.patch + eapply -p0 ${FILESDIR}/openssl_ocsp.patch + eapply -p0 ${FILESDIR}/openssl_ssl.patch + eapply -p0 ${FILESDIR}/openssl_x509.patch + eapply -p0 ${FILESDIR}/openssl_x509name.patch + eapply -p1 ${FILESDIR}/openssl_proto.patch + eapply -p1 ${FILESDIR}/ssl_python.patch + eapply -p1 ${FILESDIR}/cryptography.patch } src_compile() { @@ -56,6 +67,10 @@ src_compile() { mv pypy/module/cpyext/parse/*.h include/ || die pax-mark m pypy-c + # verify the subslot + local soabi=$(./pypy-c -c 'import sysconfig; print sysconfig.get_config_var("SOABI")') + [[ ${soabi#pypy-} == ${SLOT#*/} ]] || die "update subslot to ${soabi}" + einfo "Generating caches and CFFI modules ..." # Generate Grammar and PatternGrammar pickles. @@ -64,17 +79,7 @@ src_compile() { # Generate cffi modules # Please keep in sync with pypy/tool/build_cffi_imports.py! -#cffi_build_scripts = { -# "_ssl": "_ssl_build.py", -# "sqlite3": "_sqlite3_build.py", -# "audioop": "_audioop_build.py", -# "tk": "_tkinter/tklib_build.py", -# "curses": "_curses_build.py" if sys.platform != "win32" else None, -# "syslog": "_syslog_build.py" if sys.platform != "win32" else None, -# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None, -# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None, -# "resource": "_resource_build.py" if sys.platform != "win32" else None, - cffi_targets=( ssl audioop syslog pwdgrp resource ) + cffi_targets=( pypy_util ssl audioop syslog pwdgrp resource ) use gdbm && cffi_targets+=( gdbm ) use ncurses && cffi_targets+=( curses ) use sqlite && cffi_targets+=( sqlite3 ) @@ -89,6 +94,17 @@ src_compile() { ../pypy-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}" done + # Verify that CFFI module list is up-to-date + local expected_cksum=2d3acf18 + local local_cksum=$(../pypy-c -c ' +from pypy_tools.build_cffi_imports import cffi_build_scripts as x; +import binascii, json; +print("%08x" % (binascii.crc32(json.dumps(x)),))') + + if [[ ${local_cksum} != ${expected_cksum} ]]; then + die "Please verify cffi_targets and update checksum to ${local_cksum}" + fi + # Cleanup temporary objects find -name "_cffi_*.[co]" -delete || die find -type d -empty -delete || die diff --git a/dev-python/pytest-subtesthack/pytest-subtesthack-0.1.2-r2.ebuild b/dev-python/pytest-subtesthack/pytest-subtesthack-0.1.2-r2.ebuild new file mode 100644 index 000000000000..2b14a16678cf --- /dev/null +++ b/dev-python/pytest-subtesthack/pytest-subtesthack-0.1.2-r2.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="A hack for test fixtures, needed for hypothesis inside py.test" +HOMEPAGE=" + https://github.com/untitaker/pytest-subtesthack/ + https://pypi.org/project/pytest-subtesthack/ +" +SRC_URI=" + https://github.com/untitaker/pytest-subtesthack/archive/${PV}.tar.gz + -> ${P}.tar.gz +" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + +RDEPEND=" + dev-python/pytest[${PYTHON_USEDEP}] +" +DEPEND=" + test? ( + dev-python/hypothesis[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/dev-python/python-magic/Manifest b/dev-python/python-magic/Manifest index 6b7a177b6c3d..1acd33f3a408 100644 --- a/dev-python/python-magic/Manifest +++ b/dev-python/python-magic/Manifest @@ -1 +1,2 @@ DIST python-magic-0.4.25.gh.tar.gz 864121 BLAKE2B ec79112aba9f79a6dd6a3840a1286432806c0cd035d301668fd8177ce36b270ddf1c928f70d51cfacb88cca4d5fb31706cff946b16ed230e8850bca9ebda8c0b SHA512 eb138f7f2d1320f831516fdf21bf7dd404acf070be6093b7ed8697325f60998d886405c5ff348c7e4ad69ecd2ee0ab899afe455db90eda502acdf8b86337f79c +DIST python-magic-0.4.26.gh.tar.gz 863618 BLAKE2B 62d85758402d77376e685eb0f8964fd5d9e2a62775c3566d7f2a76284b287b6b17f9f759dbc08404087fc8a524609cefa65ab8e74020c4bd4f49e8ae3a2d604f SHA512 a9f2f8ef9f1aef9e9455b656fabf8e6cf7b1a9df4af2012c7a9426e0740cd6e8952e6957e01710809ab018d008fd531a74e9f66640af1299b61c35ede590b749 diff --git a/dev-python/python-magic/python-magic-0.4.26.ebuild b/dev-python/python-magic/python-magic-0.4.26.ebuild new file mode 100644 index 000000000000..ab8d3a6e4c16 --- /dev/null +++ b/dev-python/python-magic/python-magic-0.4.26.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Access the libmagic file type identification library" +HOMEPAGE=" + https://github.com/ahupp/python-magic/ + https://pypi.org/project/python-magic/ +" +SRC_URI=" + https://github.com/ahupp/python-magic/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD-2 MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux" + +RDEPEND=" + sys-apps/file[-python] +" +BDEPEND=" + test? ( + sys-apps/file + ) +" + +distutils_enable_tests unittest + +python_test() { + local -x LC_ALL=en_US.UTF-8 + eunittest -p "*_test.py" +} diff --git a/dev-python/tabulate/Manifest b/dev-python/tabulate/Manifest index 5827c1aa41c3..20a87b21dcf0 100644 --- a/dev-python/tabulate/Manifest +++ b/dev-python/tabulate/Manifest @@ -1 +1,2 @@ +DIST python-tabulate-0.8.9.gh.tar.gz 42562 BLAKE2B 6e6e1017379d07d5ede0cdfb6a8e3142f60656fd5d5b409c1259239e62637824c3bab0bb0f6b03f8733a24e9e3ac074a80a56d44939a8c6eeab8e9a830ae8277 SHA512 68a4d194068f692b57b2cca0fa42a58ba571b46adaef7f8b1a8cea7e34c78ea0a1c523286c3f1df631897cc60ad39ef6b11bfee61d46c04e2de1fb9ec0b497dd DIST tabulate-0.8.9.tar.gz 42562 BLAKE2B 6e6e1017379d07d5ede0cdfb6a8e3142f60656fd5d5b409c1259239e62637824c3bab0bb0f6b03f8733a24e9e3ac074a80a56d44939a8c6eeab8e9a830ae8277 SHA512 68a4d194068f692b57b2cca0fa42a58ba571b46adaef7f8b1a8cea7e34c78ea0a1c523286c3f1df631897cc60ad39ef6b11bfee61d46c04e2de1fb9ec0b497dd diff --git a/dev-python/tabulate/tabulate-0.8.9-r1.ebuild b/dev-python/tabulate/tabulate-0.8.9-r1.ebuild new file mode 100644 index 000000000000..5760aa1b2dfa --- /dev/null +++ b/dev-python/tabulate/tabulate-0.8.9-r1.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) + +inherit distutils-r1 + +MY_P=python-${P} +DESCRIPTION="Pretty-print tabular data" +HOMEPAGE=" + https://github.com/astanin/python-tabulate/ + https://pypi.org/project/tabulate/ +" +SRC_URI=" + https://github.com/astanin/python-${PN}/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +SLOT="0" +LICENSE="MIT" +KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + dev-python/wcwidth[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + $(python_gen_impl_dep 'sqlite') + dev-python/colorclass[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + ' 'python3*') + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=() + if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + test/test_input.py::test_pandas + test/test_input.py::test_pandas_firstrow + test/test_input.py::test_pandas_keys + test/test_output.py::test_pandas_with_index + test/test_output.py::test_pandas_without_index + test/test_output.py::test_pandas_rst_with_index + test/test_output.py::test_pandas_rst_with_named_index + ) + fi + epytest +} diff --git a/dev-python/tenacity/tenacity-8.0.1-r1.ebuild b/dev-python/tenacity/tenacity-8.0.1-r1.ebuild new file mode 100644 index 000000000000..dc814951d4d5 --- /dev/null +++ b/dev-python/tenacity/tenacity-8.0.1-r1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="General-purpose retrying library" +HOMEPAGE=" + https://github.com/jd/tenacity/ + https://pypi.org/project/tenacity/ +" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + +BDEPEND=" + dev-python/setuptools_scm[${PYTHON_USEDEP}] + test? ( + www-servers/tornado[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=() + + if ! has_version "dev-python/typeguard[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + tests/test_tenacity.py::TestRetryTyping::test_retry_type_annotations + ) + fi + + epytest +} diff --git a/dev-python/typeguard/Manifest b/dev-python/typeguard/Manifest index bd919f1a8b8f..1f9c43e6470b 100644 --- a/dev-python/typeguard/Manifest +++ b/dev-python/typeguard/Manifest @@ -1,3 +1 @@ -DIST typeguard-2.13.0.gh.tar.gz 36849 BLAKE2B ef9b724bdd5ef127b6ede4ff4cb1d4f4794b0e921512d2cbf474145bf64de0cae85b7f5283dfc7f0b750e79e1c44c03ce6b4c0f24a33ae961c428aa57f3b6ae5 SHA512 48df7a9d6ee2cc11b5118432afcda5e0939712ff66d67f3945e26047c0880a05c133b505869ebcef59ce438260b9f6d1806121d0d4828853bc3b9c3468769f39 -DIST typeguard-2.13.2.gh.tar.gz 37142 BLAKE2B 0aa3f53bc0d1aa485d071cd52d2458ab83c4d5eba88708240c100a3205a2714f39465cb48d82118eb6bcf1e30579e50bb5dffb31b3f2b673573481772d650a23 SHA512 a11c1b9ee417a99a8bd09f4b5b05c7cdf319748b8221a49d1ff76854e2f432768224437f82a41c0166e5b148a550b58afbabfa1935cdc2a049cda3010edd052a DIST typeguard-2.13.3.gh.tar.gz 37436 BLAKE2B a3cb616692119c64a9dc0d0bae25cc661b7974a0b6cf6632fa403f7c5430873570b1aaa310bc03843deee6f77a831c303ea9d9091db596eb565fce43980bbb13 SHA512 26c31ee9670650d1969320187a924d29d986894a38f1026af58f705b132b64be3b6e2ac34729f966f5d302d486334b5a5d9e65fb206245b82b0ff0852020b609 diff --git a/dev-python/typeguard/typeguard-2.13.0.ebuild b/dev-python/typeguard/typeguard-2.13.0.ebuild deleted file mode 100644 index 94547f17226a..000000000000 --- a/dev-python/typeguard/typeguard-2.13.0.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{7,8,9,10} ) -inherit distutils-r1 - -DESCRIPTION="Run-time type checker for Python" -HOMEPAGE=" - https://pypi.org/project/typeguard/ - https://github.com/agronholm/typeguard/" -SRC_URI=" - https://github.com/agronholm/typeguard/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -BDEPEND=" - dev-python/setuptools_scm[${PYTHON_USEDEP}] - test? ( - dev-python/typing-extensions[${PYTHON_USEDEP}] - )" - -distutils_enable_tests pytest - -export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} - -python_test() { - local EPYTEST_IGNORE=( - # mypy changes results from version to version - tests/mypy - ) - - local -x PYTHONDONTWRITEBYTECODE= - epytest -} diff --git a/dev-python/typeguard/typeguard-2.13.2.ebuild b/dev-python/typeguard/typeguard-2.13.3-r1.ebuild index 94547f17226a..eb2a152af46a 100644 --- a/dev-python/typeguard/typeguard-2.13.2.ebuild +++ b/dev-python/typeguard/typeguard-2.13.3-r1.ebuild @@ -1,28 +1,33 @@ -# Copyright 2021 Gentoo Authors +# Copyright 2021-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 +DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{7,8,9,10} ) + inherit distutils-r1 DESCRIPTION="Run-time type checker for Python" HOMEPAGE=" https://pypi.org/project/typeguard/ - https://github.com/agronholm/typeguard/" + https://github.com/agronholm/typeguard/ +" SRC_URI=" https://github.com/agronholm/typeguard/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz" + -> ${P}.gh.tar.gz +" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" BDEPEND=" dev-python/setuptools_scm[${PYTHON_USEDEP}] test? ( dev-python/typing-extensions[${PYTHON_USEDEP}] - )" + ) +" distutils_enable_tests pytest diff --git a/dev-python/vdirsyncer/vdirsyncer-0.18.0-r2.ebuild b/dev-python/vdirsyncer/vdirsyncer-0.18.0-r3.ebuild index d763a21cec87..7a47622068c9 100644 --- a/dev-python/vdirsyncer/vdirsyncer-0.18.0-r2.ebuild +++ b/dev-python/vdirsyncer/vdirsyncer-0.18.0-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -18,7 +18,6 @@ KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" RDEPEND="dev-python/click[${PYTHON_USEDEP}] >=dev-python/click-log-0.3.0[${PYTHON_USEDEP}] - <dev-python/click-log-0.4.0[${PYTHON_USEDEP}] >=dev-python/click-threading-0.5[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}] dev-python/requests-toolbelt[${PYTHON_USEDEP}] @@ -39,6 +38,13 @@ DOCS=( AUTHORS.rst CHANGELOG.rst CONTRIBUTING.rst README.rst config.example ) distutils_enable_tests pytest +src_prepare() { + # unpin click-log + # https://github.com/pimutils/vdirsyncer/commit/ea640001d0ad6e56369102e02b949c865c48726f + sed -i -e '/click-log/s:, <0.4.0::' setup.py || die + distutils-r1_src_prepare +} + python_test() { # skip tests needing servers running local -x DAV_SERVER=skip diff --git a/dev-python/vdirsyncer/vdirsyncer-0.18.0-r4.ebuild b/dev-python/vdirsyncer/vdirsyncer-0.18.0-r4.ebuild new file mode 100644 index 000000000000..752a9ad18181 --- /dev/null +++ b/dev-python/vdirsyncer/vdirsyncer-0.18.0-r4.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} ) +PYTHON_REQ_USE="sqlite" + +inherit distutils-r1 systemd + +DESCRIPTION="Synchronize calendars and contacts" +HOMEPAGE=" + https://github.com/pimutils/vdirsyncer/ + https://pypi.org/project/vdirsyncer/ +" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + +RDEPEND=" + dev-python/click[${PYTHON_USEDEP}] + >=dev-python/click-log-0.3.0[${PYTHON_USEDEP}] + >=dev-python/click-threading-0.5[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/requests-toolbelt[${PYTHON_USEDEP}] + dev-python/atomicwrites[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools_scm[${PYTHON_USEDEP}] + test? ( + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/pytest-localserver[${PYTHON_USEDEP}] + dev-python/pytest-subtesthack[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-0.18.0-no-cov.patch" +) + +DOCS=( AUTHORS.rst CHANGELOG.rst CONTRIBUTING.rst README.rst config.example ) + +distutils_enable_tests pytest + +src_prepare() { + # unpin click-log + # https://github.com/pimutils/vdirsyncer/commit/ea640001d0ad6e56369102e02b949c865c48726f + sed -i -e '/click-log/s:, <0.4.0::' setup.py || die + distutils-r1_src_prepare +} + +python_test() { + # skip tests needing servers running + local -x DAV_SERVER=skip + local -x REMOTESTORAGE_SERVER=skip + # pytest dies hard if the envvars do not have any value... + local -x CI=false + local -x DETERMINISTIC_TESTS=false + + local EPYTEST_DESELECT=( + # test CA is too weak for modern python + tests/system/utils/test_main.py::test_request_ssl + tests/system/utils/test_main.py::test_request_ssl_fingerprints + ) + + epytest +} + +src_install() { + distutils-r1_src_install + + systemd_douserunit contrib/vdirsyncer.{service,timer} +} diff --git a/dev-python/whisper/Manifest b/dev-python/whisper/Manifest index d32e1fd21e9d..ee7e0bccdfa2 100644 --- a/dev-python/whisper/Manifest +++ b/dev-python/whisper/Manifest @@ -1 +1,2 @@ +DIST whisper-1.1.10.gh.tar.gz 39459 BLAKE2B 998c4335236ace6b28f11b23fe74d3b618ba2f56939a3e9766e7010eb6b5d9bbdb46de83ba41dd926d3d38e738851133dc9805a4c79bd80dd67897e627147550 SHA512 291d441287ba090157fa01a7feb6985a6e1f057f4dae0f9133e2355e00f5fe219e10de339ecad3438a56b8dec97def14496d85c7a5fc5fc7611771bb3de08de8 DIST whisper-1.1.8.gh.tar.gz 39117 BLAKE2B 591a3529725f300c6d8bab40444bdd41bcfe3d832893e954295d5387e047e2a639db4235131cd90fdb686395d51afccf30f64a52e194e4cd8e00b86e38f841d6 SHA512 0452c684128a750e30e926aee0cfd6c94f129eeb561246f9e1c66d7cf1f27f139df84f91e935237f89d0b4fac98678108568cfb94c2ab4138480f4db31471ab4 diff --git a/dev-python/whisper/whisper-1.1.10.ebuild b/dev-python/whisper/whisper-1.1.10.ebuild new file mode 100644 index 000000000000..c14f363bcd0b --- /dev/null +++ b/dev-python/whisper/whisper-1.1.10.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Fixed size round-robin style database" +HOMEPAGE=" + https://github.com/graphite-project/whisper/ + https://pypi.org/project/whisper/ +" +SRC_URI=" + https://github.com/graphite-project/whisper/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +KEYWORDS="~amd64 ~x86" +SLOT="0" + +RDEPEND=" + dev-python/six[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # not a regression (fails the same with the previous version) + # https://github.com/graphite-project/whisper/issues/321 + test_whisper.py::TestWhisper::test_resize_with_aggregate +) diff --git a/dev-python/xmlschema/Manifest b/dev-python/xmlschema/Manifest index 095fa9767007..ead18ab309e0 100644 --- a/dev-python/xmlschema/Manifest +++ b/dev-python/xmlschema/Manifest @@ -1,2 +1,3 @@ DIST xmlschema-1.10.0.tar.gz 396057 BLAKE2B 44facdb16e79ddf16ca798b937c4cf35444f9d31278c26121f179e5055134b82d425cc5b69a8a2e4fdd44388cbd3e96534b55794a267a3b4c0b606752ede533e SHA512 c4358b210cc96e46617cc11b1b7e2a4d69c1bd6489cc73602552b184f209eb90b13eff353741aa7b1dbc3ff8514f90b7bb331ac18ffc466b3ce36f42f7497899 DIST xmlschema-1.11.0.tar.gz 453958 BLAKE2B d6879e0f0445dad7e86d7b11e14d3f249b3cde5242c7cde7c327005fb4268ae9f20b4bf0bc3c140284e82842e09cbcdc2d12a7f8df0bede85ffc8db39989ed49 SHA512 507b57b8d4f48eb9f2463898ad0bd245791a8c8086a544d45da1fb2d4f6edafa5e555d44bdba50974408f14251cb8acae2dfc2c1b5c4544088f336fdfee0793a +DIST xmlschema-1.11.1.tar.gz 454932 BLAKE2B b80885b7bde87115caece3cdcd036c5ef7cc225acb01ca610c97b2759142a6deb1c29e9fbaf08f60ef4ec80ac4d7dd4b382dd5cd0b74f0f766101664a3cb7fca SHA512 58800377e4bdec70608286057093827fd72bce82117424753a37632c2dbccf2b4e354bfa6e62c3dec06ec98ff262eff258e18c0c6e6af2b5fd520ad11118531c diff --git a/dev-python/xmlschema/xmlschema-1.11.1.ebuild b/dev-python/xmlschema/xmlschema-1.11.1.ebuild new file mode 100644 index 000000000000..34fc66f8f9e5 --- /dev/null +++ b/dev-python/xmlschema/xmlschema-1.11.1.ebuild @@ -0,0 +1,38 @@ +# Copyright 2019-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="An XML Schema validator and decoder" +HOMEPAGE=" + https://github.com/sissaschool/xmlschema/ + https://pypi.org/project/xmlschema/ +" +SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/elementpath-2.5.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + ${RDEPEND} + dev-python/jinja[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + ) +" + +python_test() { + "${EPYTHON}" tests/test_all.py -v || + die "Tests fail with ${EPYTHON}" +} |
