diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2022-12-24 12:50:37 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2022-12-24 12:50:37 +0000 |
| commit | 7a12d9167cf63635da26027e1ab96c25aa889bef (patch) | |
| tree | 0bd6b9d655a44977574530eecd74650b809f3858 /dev-python | |
| parent | dbd710e879273072253f59e449e63756c1192bb1 (diff) | |
| download | baldeagleos-repo-7a12d9167cf63635da26027e1ab96c25aa889bef.tar.gz baldeagleos-repo-7a12d9167cf63635da26027e1ab96c25aa889bef.tar.xz baldeagleos-repo-7a12d9167cf63635da26027e1ab96c25aa889bef.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
30 files changed, 709 insertions, 451 deletions
diff --git a/dev-python/Nuitka/Manifest b/dev-python/Nuitka/Manifest index f048be1aea42..f19b7dedec97 100644 --- a/dev-python/Nuitka/Manifest +++ b/dev-python/Nuitka/Manifest @@ -1,3 +1,4 @@ DIST Nuitka-1.2.6.tar.gz 3959091 BLAKE2B b326409f49d722bcac7df3e2c5caae7fb9ccf2b2991d2cf003a4db7bd268af95b7423da3b69b93b45c2aa1e3461faac90872b01f2d2277c5e9f7c71bedb0df56 SHA512 b12f694f8ac26213fd1242c66c2a37be1940bafef8a4949f0e401f056a1f72a010d1df237a828317ed0c88530206c31e617f03e4bccf6c934b967f8ddaef330f DIST Nuitka-1.2.7.tar.gz 3960368 BLAKE2B 582ad7f7a96577fd87a4f9fe083d90f532f2ddd7824b4105d258551b559d9390fba428b80223c6ca4d00eda451cc21a63449c7370a3e43d4b7f9a28fc6bba4c9 SHA512 37a3c29614102dc80f916ac483a6e87322b7a3b9cf25355bdf2f29d84e33300640607fcb7fdc6a338431bc890b4337512c43368e47a2d69c7254b7b7794bb35b DIST Nuitka-1.3.1.tar.gz 4028497 BLAKE2B 877413970a1e169abe8b9770d927d2e9a33bcd775466adc7287fdcc8f69d412fae249ea96a16aca4166d655f1a016852e06018f55c0b62afe4b53c5b1c540870 SHA512 09f8ff13f14af20ee2fa8b80714ff52a3bc2a36658113e122ba383f34e9ca8c27af42b14cb06477e3a2ed2e5dfa60e10295c4f96a209db699719c456518c464d +DIST Nuitka-1.3.2.tar.gz 4019850 BLAKE2B fce2015b1af9e0b93b777982c772aaa903145bc55a5effb68ba581a31f63e34280aace47df8292d2125725dee02c55c1d54580a08d2d8d3a775459edb9807837 SHA512 5a1713757a6b1347320accc717a01b2abfb3b815683880845fb35ec92e7c94bd7e011a83bd16ed1ba28d14f4128945bdd89d39b89fe8dc7a59c69e9f127bc4b6 diff --git a/dev-python/Nuitka/Nuitka-1.3.2.ebuild b/dev-python/Nuitka/Nuitka-1.3.2.ebuild new file mode 100644 index 000000000000..d55f2985424f --- /dev/null +++ b/dev-python/Nuitka/Nuitka-1.3.2.ebuild @@ -0,0 +1,54 @@ +# 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,11} ) + +inherit distutils-r1 flag-o-matic optfeature + +DESCRIPTION="Python to native compiler" +HOMEPAGE=" + https://www.nuitka.net/ + https://github.com/Nuitka/Nuitka/ + https://pypi.org/project/Nuitka/ +" +SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~loong ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/scons[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( dev-util/ccache ) +" + +DOCS=( Changelog.pdf Developer_Manual.pdf README.pdf ) + +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/nuitka3.1 doc/nuitka3-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" app-admin/chrpath +} diff --git a/dev-python/alembic/Manifest b/dev-python/alembic/Manifest index d5733e4aeeb1..c8be98e3dc00 100644 --- a/dev-python/alembic/Manifest +++ b/dev-python/alembic/Manifest @@ -1,2 +1,3 @@ DIST alembic-1.8.1.tar.gz 1255927 BLAKE2B dbf40f9ca12171d99ad46bec6bf1841799226887a55a815db5c7a69cbcb7d861ede774aa35e1018e1a57bec26a8ddf7ee311e0b4396ebddd5477c67a4ad11876 SHA512 51f210447172d08eb94c41a962ddecc593a665790aa6f5badb771dccc882e0d653dcf153ebb04b9824dabcaeb1ac08e3747c2e3c74d8584a24b35662778de8dd DIST alembic-1.9.0.tar.gz 1278832 BLAKE2B 59131c5a53d051905c13e466c58ad5c1759e0e0f557bcb78bbe80e2ca8f3f7d791a1d8be017cd9227d6baf8b7416d0c6d89ec9e9e56f7440f6d1455577ed8676 SHA512 3c040ee07ce2f40af28a63f129dee886f7d8458b762a28cf2165ac10dd2f2f732b73da2ae2c9687b66e8872b75d85d95933847eb6a1190ad55e550e6bb120a04 +DIST alembic-1.9.1.tar.gz 1280020 BLAKE2B 2355b265a7cb42091f51e2d291dd2e620134f9f7ef96c101db7161e1a8667b44ddb61b6d01f46a0db4227b44dcc1821c9bd6923f8510c4235e26f3d482e4298a SHA512 143a62bab08c654c5846ff7ba1021dfb96d3a4b0e699d9c4bd692fda250f47b0ee10cb3238b769e8117b09ac495bdd97a6dbd290b29659b5121754be9a161331 diff --git a/dev-python/alembic/alembic-1.9.1.ebuild b/dev-python/alembic/alembic-1.9.1.ebuild new file mode 100644 index 000000000000..4aa4d5a928c9 --- /dev/null +++ b/dev-python/alembic/alembic-1.9.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,11} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Database migrations tool, written by the author of SQLAlchemy" +HOMEPAGE=" + https://github.com/sqlalchemy/alembic/ + https://pypi.org/project/alembic/ +" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +IUSE="doc" + +RDEPEND=" + >=dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + dev-python/mako[${PYTHON_USEDEP}] + >=dev-python/python-editor-0.3[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/importlib_metadata[${PYTHON_USEDEP}] + dev-python/importlib_resources[${PYTHON_USEDEP}] + ' pypy3 python3_8) +" + +distutils_enable_tests pytest + +python_install_all() { + use doc && local HTML_DOCS=( docs/. ) + distutils-r1_python_install_all +} diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index e5535b618805..b20a428a6ae4 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -5,3 +5,4 @@ DIST boto3-1.26.32.gh.tar.gz 581235 BLAKE2B f8decc1e924ff5f5f98566084a55c36ea10c DIST boto3-1.26.33.gh.tar.gz 581883 BLAKE2B a2ac93a516932b8cfcb039e215608ebdd3f5427c7abb016359ad2f1a9e5e4ed855a405bb0470b5ba4823ba59c21d21f2b3319dcc8ef0715a1293cb0219261ac1 SHA512 4bb267abfaa01643edd6670dc66c87225845dce31d1d4aa500f60a278326a8fe6f877d8af4bff460cea3b77ef316392a2acf10181d7ae2a7c59ca2f6ca5ec9aa DIST boto3-1.26.34.gh.tar.gz 582767 BLAKE2B 279138d5b6093a16d54bd14bab6e9e4c4901d03a38e968c693dff6c585c30098d6520b3d7f5d98c8db94948bf431ff93531c5f706b9e8bf25501255b46c40203 SHA512 b9cc60eda79e8addba92013e34893cb7c59557d350d065f7406c1fb2b0c4256612a09d049ebc62f2ee447922f9ae99557a84f60379267f576a6665dbdc193d1e DIST boto3-1.26.36.gh.tar.gz 584205 BLAKE2B d5aad2ab0b8ee3392c636309454859e30cbe937d0dc2efb4b5a817fc83c555e5592ec8a8ae94a273ab2ab55be5d627b44475d0b5ca77caebc246229e3f78b155 SHA512 818843d82b27ee2e376382f1a74a950cbacf04a588bdc012e8c88d569ad5571d231a2dd399a3e26efc3de96c89f722ceabc3e70eb3cdba930c08277fa6c2c189 +DIST boto3-1.26.37.gh.tar.gz 584822 BLAKE2B 08c08502f3defee6365aa19a55cb5bb6c006ce9685421119d1469f90f35e0aeb49fc11a6c5dd133cdfe1138248c0952338adb7b864010825f6f32f40398c2f4f SHA512 4c73b45cae0ed42f219b77d5b58f26560f3ac660d66eaea0c8452053ed38b4c8cc7ab168062483a52e091f7241623466a473368e0545a9fa07c0ac12d0185e31 diff --git a/dev-python/boto3/boto3-1.26.37.ebuild b/dev-python/boto3/boto3-1.26.37.ebuild new file mode 100644 index 000000000000..aa8071e64d5e --- /dev/null +++ b/dev-python/boto3/boto3-1.26.37.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_{10..11} ) + +inherit distutils-r1 multiprocessing + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE=" + https://github.com/boto/boto3/ + https://pypi.org/project/boto3/ +" +LICENSE="Apache-2.0" +SLOT="0" + +if [[ "${PV}" == "9999" ]]; then + EGIT_REPO_URI="https://github.com/boto/boto3" + inherit git-r3 + BOTOCORE_PV=${PV} +else + SRC_URI=" + https://github.com/boto/boto3/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + " + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + + # botocore is x.(y+3).z + BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)" +fi + +RDEPEND=" + >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +distutils_enable_sphinx docs/source \ + 'dev-python/guzzle_sphinx_theme' +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() { + epytest tests/{functional,unit} -n "$(makeopts_jobs)" +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index 0cf459a75311..df4fa38c992c 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -5,3 +5,4 @@ DIST botocore-1.29.32.gh.tar.gz 11048130 BLAKE2B 42c1fd07f0501c5815c05ff8ad2d63d DIST botocore-1.29.33.gh.tar.gz 11053602 BLAKE2B 746a59340b7a01c46b15d36d735c67db107ccc99ffa20983a15196561f48a3974d5f9d7b82a2eba07ca04b0a9d068bc742fcafe19259b3e76643cd0ca0bb1baf SHA512 efbeeca34ecd759735f91b6dae5bd4f2b32831cdbdc1eb621242b158bc1a707c50de68ab07e894cb207b65601a5b96f592350bd2f2b395a959344d06699ab7e0 DIST botocore-1.29.34.gh.tar.gz 11061036 BLAKE2B 03b4b48d1308113be6711e27d15dfca4e361ba6c1464c009cdbb0524ddf2075a749e8433d52fe760a4a3871ce3f646c08db125f81828c1b29d8ee3d2a2176331 SHA512 683a0f0d62559db351036426bf59e3179c259cddb4010e6064cac2f23d43e07d98b6aed8a1cf5b3a8089ae24a95f1b3f2543bbd23bc0a21d7aad90114041619b DIST botocore-1.29.36.gh.tar.gz 11075582 BLAKE2B 4db73c753acc1eba93bc5fc3a2486b3ded6ee41e35220f56cefc71e808128cb88582474782b1e77b992186b8bcab3ec34ec5566517b1464ee226480f615ef1f0 SHA512 dfaf655fabe85c54cc58a4266fa11b78c7b0dab771a639d9bf8d2583db1b245ae8d5344b7fc6aff759fce80a3ab7ba7f61a7d912adc1dab3c147077cd4fd79c9 +DIST botocore-1.29.37.gh.tar.gz 11077206 BLAKE2B 59c877edba074d4d5858dbf0a4026c0884cc4fce5bc2c9a7d933cfbff8317825663955205ebc754f8a4713b817b7d775fe208d6946f788a1943989949da58a04 SHA512 e79447fe66a506326c5f6396a32b5f4f6560038c57ab03457c36c838f52c1e48a94cba7624350a738eb937d0f3954984b77fd97ffb4becfa72cc4c61005efd40 diff --git a/dev-python/botocore/botocore-1.29.37.ebuild b/dev-python/botocore/botocore-1.29.37.ebuild new file mode 100644 index 000000000000..36f6e1eb862b --- /dev/null +++ b/dev-python/botocore/botocore-1.29.37.ebuild @@ -0,0 +1,74 @@ +# 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_{10..11} ) + +inherit distutils-r1 multiprocessing + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +LICENSE="Apache-2.0" +SLOT="0" + +if [[ "${PV}" == "9999" ]]; then + EGIT_REPO_URI="https://github.com/boto/botocore" + inherit git-r3 +else + SRC_URI=" + https://github.com/boto/botocore/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + " + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +RDEPEND=" + dev-python/six[${PYTHON_USEDEP}] + <dev-python/jmespath-2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +distutils_enable_sphinx docs/source \ + 'dev-python/guzzle_sphinx_theme' +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 + # fails on unrelated warnings + tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME + tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME + # TODO + tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider + ) + + epytest tests/{functional,unit} -n "$(makeopts_jobs)" +} diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest index 4df0c2d4fcde..8c7d21bae275 100644 --- a/dev-python/coverage/Manifest +++ b/dev-python/coverage/Manifest @@ -1,2 +1,3 @@ DIST coverage-6.5.0.tar.gz 775224 BLAKE2B 1ff7db1c72856553717d07d5a13443c210a3d85b3ce1f1eee802b986f71e3c13ac9df6bbca498fbeaa961ee33baab29c5e38f0c0e7b21c378830dfe85d797798 SHA512 4f2ec0bf69a83471a2b5a73b6a2212372ee6e32ccc4c72e0d33eef915939152f3213ab60e1a22ce2b72791e706c2223b0c81c87b95bbfadd1e828fa1a9fff120 DIST coverage-7.0.0.tar.gz 780514 BLAKE2B 2d7e0190bacd5ef6db35e3c6ab5114571ce394a9d6dd5e7d3497e4eff9dc3abee1aa11babc057e6b276133e5e19dd7b2e1d4149f5fb73cdaf8d2a6a7df005d7b SHA512 258c1c2dd8af1e7b64fcce2042594230a245046c73e3e67b0b0b1e82180e200a37983b766bd72fdc23a6e5ff12416541e69a26beec845598c25b293c4ee1cece +DIST coverage-7.0.1.tar.gz 781226 BLAKE2B 52da1dd6f3eae7d235a597d3dd24d4042ee1ee4c082d5700d04065b8328af01ef006121a3588f04e79235c559e6dc6d2f5168b5079037e19a41e1b8e869825a0 SHA512 63ec6a21d4af73720a2b79309cb1d0e61bbe67e04835bd907f19e482c1479cbb69d353cd42be0d4d9e75cb4082debb464ec5e9acf270c86042e7db58de1d024d diff --git a/dev-python/coverage/coverage-7.0.1.ebuild b/dev-python/coverage/coverage-7.0.1.ebuild new file mode 100644 index 000000000000..11f1a3e9c39e --- /dev/null +++ b/dev-python/coverage/coverage-7.0.1.ebuild @@ -0,0 +1,78 @@ +# 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,11} 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" + +RDEPEND=" + $(python_gen_cond_dep ' + dev-python/tomli[${PYTHON_USEDEP}] + ' 3.{8..10}) +" +BDEPEND=" + test? ( + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + sed -i -e '/^addopts/s:-q -n auto::' 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() { + local EPYTEST_IGNORE=( + # pip these days insists on fetching build deps from Internet + tests/test_venv.py + ) + + "${EPYTHON}" igor.py zip_mods || die + + local -x COVERAGE_TESTING=True + # TODO: figure out why they can't be imported inside test env + local -x COVERAGE_NO_CONTRACTS=1 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -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/exceptiongroup/Manifest b/dev-python/exceptiongroup/Manifest index 298a89cc3c09..6af486a94872 100644 --- a/dev-python/exceptiongroup/Manifest +++ b/dev-python/exceptiongroup/Manifest @@ -1 +1,2 @@ DIST exceptiongroup-1.0.4.gh.tar.gz 22529 BLAKE2B bdf58d36ea59cc7bed17947e4671c92058e7036b20c91df434625d8627db41d646dd0b90ea397c25674753e3ba09654f5978c22220e13007d0af8b1fe659540d SHA512 18f207cb028f1b9ab1073c2859b4aeff357706c3d4c9f05fbe8739f3e19852dd91da5be9c9e18b14b16bd494fc8bf1bd26d058e925084da8c00eac5ad057e2be +DIST exceptiongroup-1.1.0.gh.tar.gz 22724 BLAKE2B 2de748494fe1356353b7f70d3afc7be7ecb8df4166f57461459c7f463bc5c22340c9073b0b0e032a52680560e37e4004c754fb4ddcc1a5a70f8dd0e973b1d8a9 SHA512 588b4ec3cae01a64140aac191cbdf8d0631eb614d430bbdbd02d17d8ff43aad9d233c3545694c6fffb622a2b3c38a289e20f1b8db6bf0e9b8819d668e38a87e3 diff --git a/dev-python/exceptiongroup/exceptiongroup-1.1.0.ebuild b/dev-python/exceptiongroup/exceptiongroup-1.1.0.ebuild new file mode 100644 index 000000000000..e02b72fe923f --- /dev/null +++ b/dev-python/exceptiongroup/exceptiongroup-1.1.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit_scm +PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 ) + +inherit distutils-r1 + +MY_P=${P/_} +DESCRIPTION="Backport of PEP 654 (exception groups)" +HOMEPAGE=" + https://github.com/agronholm/exceptiongroup/ + https://pypi.org/project/exceptiongroup/ +" +SRC_URI=" + https://github.com/agronholm/exceptiongroup/archive/${PV/_}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="MIT PSF-2.4" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +distutils_enable_tests pytest + +export SETUPTOOLS_SCM_PRETEND_VERSION=${PV/_} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/future/files/future-0.18.2-cve-2022-40899.patch b/dev-python/future/files/future-0.18.2-cve-2022-40899.patch new file mode 100644 index 000000000000..c7341e0d6fdb --- /dev/null +++ b/dev-python/future/files/future-0.18.2-cve-2022-40899.patch @@ -0,0 +1,52 @@ +From c91d70b34ef0402aef3e9d04364ba98509dca76f Mon Sep 17 00:00:00 2001 +From: Will Shanks <wshaos@posteo.net> +Date: Fri, 23 Dec 2022 13:38:26 -0500 +Subject: [PATCH] Backport fix for bpo-38804 + +The regex http.cookiejar.LOOSE_HTTP_DATE_RE was vulnerable to regular +expression denial of service (REDoS). The regex contained multiple +overlapping \s* capture groups. A long sequence of spaces can trigger +bad performance. + +See https://github.com/python/cpython/pull/17157 and https://pyup.io/posts/pyup-discovers-redos-vulnerabilities-in-top-python-packages/ +--- + src/future/backports/http/cookiejar.py | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +diff --git a/src/future/backports/http/cookiejar.py b/src/future/backports/http/cookiejar.py +index af3ef415..0ad80a02 100644 +--- a/src/future/backports/http/cookiejar.py ++++ b/src/future/backports/http/cookiejar.py +@@ -225,10 +225,14 @@ def _str2time(day, mon, yr, hr, min, sec, tz): + (?::(\d\d))? # optional seconds + )? # optional clock + \s* +- ([-+]?\d{2,4}|(?![APap][Mm]\b)[A-Za-z]+)? # timezone ++ (?: ++ ([-+]?\d{2,4}|(?![APap][Mm]\b)[A-Za-z]+) # timezone ++ \s* ++ )? ++ (?: ++ \(\w+\) # ASCII representation of timezone in parens. + \s* +- (?:\(\w+\))? # ASCII representation of timezone in parens. +- \s*$""", re.X | re.ASCII) ++ )?$""", re.X | re.ASCII) + def http2time(text): + """Returns time in seconds since epoch of time represented by a string. + +@@ -298,9 +302,11 @@ def http2time(text): + (?::?(\d\d(?:\.\d*)?))? # optional seconds (and fractional) + )? # optional clock + \s* +- ([-+]?\d\d?:?(:?\d\d)? +- |Z|z)? # timezone (Z is "zero meridian", i.e. GMT) +- \s*$""", re.X | re. ASCII) ++ (?: ++ ([-+]?\d\d?:?(:?\d\d)? ++ |Z|z) # timezone (Z is "zero meridian", i.e. GMT) ++ \s* ++ )?$""", re.X | re. ASCII) + def iso2time(text): + """ + As for http2time, but parses the ISO 8601 formats: diff --git a/dev-python/future/future-0.18.2-r2.ebuild b/dev-python/future/future-0.18.2-r3.ebuild index 77eee56c9ae0..1606db8b88e3 100644 --- a/dev-python/future/future-0.18.2-r2.ebuild +++ b/dev-python/future/future-0.18.2-r3.ebuild @@ -5,10 +5,15 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 ) + inherit distutils-r1 DESCRIPTION="Easy, clean, reliable Python 2/3 compatibility" -HOMEPAGE="https://python-future.org/" +HOMEPAGE=" + https://python-future.org/ + https://github.com/PythonCharmers/python-future/ + https://pypi.org/project/future/ +" SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" LICENSE="MIT" @@ -20,7 +25,8 @@ BDEPEND=" $(python_gen_cond_dep ' dev-python/numpy[${PYTHON_USEDEP}] ' 'python*') - )" + ) +" distutils_enable_tests pytest distutils_enable_sphinx docs dev-python/sphinx-bootstrap-theme @@ -30,6 +36,7 @@ PATCHES=( "${FILESDIR}"/${P}-py39.patch "${FILESDIR}"/${P}-py39-fileurl.patch "${FILESDIR}"/${P}-py3.10.patch + "${FILESDIR}"/${P}-cve-2022-40899.patch ) EPYTEST_DESELECT=( diff --git a/dev-python/lmfit/Manifest b/dev-python/lmfit/Manifest index d954bfaa80ad..9f0b92034ece 100644 --- a/dev-python/lmfit/Manifest +++ b/dev-python/lmfit/Manifest @@ -1,2 +1 @@ -DIST lmfit-1.0.3.tar.gz 292475 BLAKE2B 6d97fe671b0d5bb7751d0ead97ab83d8100e2bb16b81bed61ff07ee6355bffd99258ab554032c9b8a35bb4376a1efef0ab988b3eb6d5a9e26f52314719e45dae SHA512 33febdd68104bb41ca379a8acd03a8bb985ba8785d607ab110b63bc7b3b39b9d95161a683fe015613bee6d99100ede82d1f3574515a6bfb9160300a5791fcc55 DIST lmfit-py-1.1.0.gh.tar.gz 300406 BLAKE2B b874efd70bc1c5fa2c94239027d636a8dd5bf5ca2a3481cfc467032efe9d57ff55c74ccf175f32c6f87cd285e9216db49ef4fb0566e86cafe85537a40db64366 SHA512 9d5c871446a5bb650d8709b0db100e23be8ed7459ceb7ea4614fb07b1058044bb07394b2af615ecf7d9a22aaf49c1da723cb555749956d1f3ad507a4465fa0da diff --git a/dev-python/lmfit/lmfit-1.0.3.ebuild b/dev-python/lmfit/lmfit-1.0.3.ebuild deleted file mode 100644 index d5a85516eeb6..000000000000 --- a/dev-python/lmfit/lmfit-1.0.3.ebuild +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{7,8,9,10,11} ) -inherit distutils-r1 - -DESCRIPTION="Non-Linear Least-Squares Minimization and Curve-Fitting for Python" -HOMEPAGE="https://lmfit.github.io/lmfit-py/ https://github.com/lmfit/lmfit-py/" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -RDEPEND=" - >=dev-python/asteval-0.9.22[${PYTHON_USEDEP}] - >=dev-python/numpy-1.18[${PYTHON_USEDEP}] - >=dev-python/uncertainties-3.0.1[${PYTHON_USEDEP}] - >=dev-python/scipy-1.4[${PYTHON_USEDEP}] -" -# past from future needed for tests, bug #737978 -BDEPEND=" - test? ( dev-python/future[${PYTHON_USEDEP}] ) -" - -distutils_enable_tests pytest diff --git a/dev-python/multidict/Manifest b/dev-python/multidict/Manifest index 635a6d7e5703..b0bd7ff5edfb 100644 --- a/dev-python/multidict/Manifest +++ b/dev-python/multidict/Manifest @@ -1,2 +1,3 @@ DIST multidict-6.0.2.tar.gz 56840 BLAKE2B 1fa9b0d92a94ed022849a851f925e132b629216ddd0d5d4772304fd3361a129692f8b49fca2765118ab1cbc306879924d0aa7c6b57b648158a093a9f311a8d30 SHA512 508f18c5f731e7438bc7cb84b29aff22422769a8ea4c0ba7c875361d1bb1da78bed2db8b4ca34b833effd03ca3e7f00dabaad64bfce54b3e8d208cdc808083c9 DIST multidict-6.0.3.gh.tar.gz 58568 BLAKE2B b89373a74c6fb4965bc794e7351d6e9563f810ecdb738000ae5573c8b4717f39c4866fd945c9de2afed4f48060ba675d449d7df512c58d5f34b55bc0d8d44ae9 SHA512 95aef45378c0af6ef6b05549d7419ff4ba272430edae37b2fc041a4742d58890ba9475648b8b5ac57d2bff3718519a0201819b274a65ac0b101cf41c8abad812 +DIST multidict-6.0.4.gh.tar.gz 58931 BLAKE2B 2cf25ac2af57289432dfc6617f35a9f1310469b8d7b6a762e63f4f08b3cb8235c7115c4072fc2ffeec417b49af8a97654c7d69e8e20507fd553fab074e42b1cf SHA512 6f9e6ff16a104d40b0cb59860af9cb1a98e8d3a256626f77600c4895e6ef692b31880273f204e7ecdeb574407dd7c2e4326ad7cd9c08b1095011d6ba3793b86e diff --git a/dev-python/multidict/multidict-6.0.4.ebuild b/dev-python/multidict/multidict-6.0.4.ebuild new file mode 100644 index 000000000000..c218106ad3fb --- /dev/null +++ b/dev-python/multidict/multidict-6.0.4.ebuild @@ -0,0 +1,37 @@ +# 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,11} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="multidict implementation" +HOMEPAGE=" + https://github.com/aio-libs/multidict/ + https://pypi.org/project/multidict/ +" +SRC_URI=" + https://github.com/aio-libs/${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 ~x64-macos" + +BDEPEND=" + >=dev-python/cython-0.28.4[${PYTHON_USEDEP}] +" + +distutils_enable_sphinx docs --no-autodoc +distutils_enable_tests pytest + +python_prepare_all() { + # don't enable coverage or other pytest settings + sed -i -e 's:--cov.*::' setup.cfg || die + + distutils-r1_python_prepare_all +} diff --git a/dev-python/pipenv/Manifest b/dev-python/pipenv/Manifest index 2451e900933f..31007319ee35 100644 --- a/dev-python/pipenv/Manifest +++ b/dev-python/pipenv/Manifest @@ -1 +1,2 @@ +DIST pipenv-2022.11.30.gh.tar.gz 11120234 BLAKE2B 3d33475932a59dfb862869becb792aea420b8c9fffd9179866dc01eb5e0b2ba77a23c5de8be5570f9ed2e46f098bc000173d74766d42953f93ab2439c20d7f2c SHA512 a44409d41196388b05f2b9620b9d0f45f4af7f244f8243143278b62560e54063574670356e141e07807b56b1181ad27f701f84b91bc045bf47b5701455b36c66 DIST pipenv-2022.9.24.gh.tar.gz 11543711 BLAKE2B e875068383c8ca55864bfcb53288ae9a02adc578c09ad7392bf50a7ebe07e2eb5944bc225cfefad2ca8265d8dcbb17af96b34e8c0fd51a709921148207021f2b SHA512 d29a728d914d8c762469fd2d72de7be41050165b4587c3304ebc03235a1946967f78473651e1834e5a69a35395d0cf9087e1515fd746450057774fc22e61e092 diff --git a/dev-python/pipenv/pipenv-2022.11.30.ebuild b/dev-python/pipenv/pipenv-2022.11.30.ebuild new file mode 100644 index 000000000000..2398b8a1830b --- /dev/null +++ b/dev-python/pipenv/pipenv-2022.11.30.ebuild @@ -0,0 +1,111 @@ +# 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,11} ) + +inherit distutils-r1 multiprocessing + +MY_PV=${PV/_beta/b} +DESCRIPTION="Python Development Workflow for Humans" +HOMEPAGE="https://github.com/pypa/pipenv https://pypi.org/project/pipenv/" +SRC_URI="https://github.com/pypa/pipenv/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz" +S="${WORKDIR}"/${PN}-${MY_PV} + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~riscv ~x86" + +PATCHES=( + "${FILESDIR}/pipenv-2022.9.24-inject-site-packages.patch" +) + +RDEPEND=" + dev-python/attrs[${PYTHON_USEDEP}] + >=dev-python/cerberus-1.3.2[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + >=dev-python/colorama-0.4.4[${PYTHON_USEDEP}] + >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}] + >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}] + >=dev-python/ptyprocess-0.7.0[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}] + >=dev-python/python-dotenv-0.21.0[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}] + dev-python/virtualenv-clone[${PYTHON_USEDEP}] + >=dev-python/requests-2.26.0[${PYTHON_USEDEP}] + dev-python/ruamel-yaml[${PYTHON_USEDEP}] + dev-python/tomlkit[${PYTHON_USEDEP}] +" + +BDEPEND=" + ${RDEPEND} + test? ( + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +# IMPORTANT: The following sed command patches the vendor direcotry +# in the pipenv source. Attempts to simply bump the version of the +# package without checking that it works is likely to fail +# The vendored packages should eventually all be removed +# see: https://bugs.gentoo.org/717666 +src_prepare() { + local pkgName + local jobs=$(makeopts_jobs) + local packages=( attr attrs cerberus click colorama dotenv markupsafe \ + pexpect ptyprocess pyparsing requests urllib3 tomlkit ) + for pkgName in ${packages[@]}; do + find ./ -type f -print0 | \ + xargs --max-procs="${jobs}" --null \ + sed --in-place \ + -e "s/from pipenv.vendor import ${pkgName}/import ${pkgName}/g" \ + -e "s/from pipenv.vendor.${pkgName}\(.*\) import \(\w*\)/from ${pkgName}\1 import \2/g"\ + -e "s/import pipenv.vendor.${pkgName} as ${pkgName}/import ${pkgName}/g" \ + -e "s/from .vendor import ${pkgName}/import ${pkgName}/g" || die "Failed to sed for ${pkgName}" + done + + distutils-r1_src_prepare + + # remove vendored versions + for pkgName in ${packages[@]}; do + find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName}$" -prune -exec rm -rvf {} + || die + # package names can be foo-bar, their module will be however foo_bar + find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName/_/-}" -prune -exec rm -rvf {} + || die + done + + find ./pipenv/vendor -regextype posix-extended -regex '.*cached[_-]property.*' -prune -exec rm -rvf {} + || die + + find ./ -type f -print0 | \ + xargs --max-procs="${jobs}" --null \ + sed --in-place \ + -e "s/from pipenv\.vendor import plette, toml, tomlkit, vistir/from pipenv\.vendor import plette, toml, vistir\\nimport tomlkit/g" + + # remove tomlkit from vendoring + for fname in pipenv/utils/toml.py tests/integration/conftest.py; do + sed --in-place -e "s/from pipenv\.vendor import toml, tomlkit/from pipenv\.vendor import toml\\nimport tomlkit/g" $fname || die "Failed sed in $fname" + done + #for fname in "tests/unit/test_vendor.py "; do + # sed --in-place -e "s/from pipenv\.vendor import tomlkit/import tomlkit/g" $fname || die "Failed sed in tomlkit" + #done + # remove python ruaml yaml + sed --in-place -e "s/from pipenv\.vendor\.ruamel\.yaml import YAML/from ruaml\.yaml import YAML/g" pipenv/patched/safety/util.py || die "Failed sed in ruaml-yaml" + sed --in-place -e "s/from pipenv\.vendor\.ruamel\.yaml\.error import MarkedYAMLError/from ruaml\.yaml\.error import MarkedYAMLError/g" pipenv/patched/safety/util.py || die "Failed sed in ruamel-yaml" + + rm -vR pipenv/vendor/ruamel || die "Failed removing ruamel-yaml from vendor" + + for fname in Makefile README.md README.rst ruamel.*.LICENSE vendor.txt; do + rm -v pipenv/vendor/$fname || die "Failed removing pipenv/vendor/$fname" + done + +} + +python_test() { + epytest -m "not cli and not needs_internet" tests/unit/ +} diff --git a/dev-python/pytest-salt-factories/files/pytest-salt-factories-1.0.0_rc13-tests.patch b/dev-python/pytest-salt-factories/files/pytest-salt-factories-1.0.0_rc13-tests.patch deleted file mode 100644 index b021dcccf280..000000000000 --- a/dev-python/pytest-salt-factories/files/pytest-salt-factories-1.0.0_rc13-tests.patch +++ /dev/null @@ -1,415 +0,0 @@ -diff --git a/src/saltfactories/plugins/__init__.py b/src/saltfactories/plugins/__init__.py -index 361414a..55469e4 100644 ---- a/src/saltfactories/plugins/__init__.py -+++ b/src/saltfactories/plugins/__init__.py -@@ -27,7 +27,7 @@ def pytest_tempdir_temproot(): - tempdir = "/tmp" - else: - tempdir = os.environ.get("TMPDIR") or tempfile.gettempdir() -- return os.path.abspath(os.path.realpath(tempdir)) -+ return tempdir - - - def pytest_tempdir_basename(): -diff --git a/tests/functional/factories/base/test_salt_daemon_factory.py b/tests/functional/factories/base/test_salt_daemon_factory.py -index eae5670..fd312df 100644 ---- a/tests/functional/factories/base/test_salt_daemon_factory.py -+++ b/tests/functional/factories/base/test_salt_daemon_factory.py -@@ -35,7 +35,7 @@ def test_extra_cli_arguments_after_first_failure( - This test asserts that after the first start failure, the extra_cli_arguments_after_first_start_failure - arguments are added - """ -- output_file = tmp_path.joinpath("output.txt").resolve() -+ output_file = tmp_path.joinpath("output.txt") - config = {"conf_file": config_file, "id": master_id} - script = tempfiles.makepyfile( - r""" -diff --git a/tests/functional/factories/daemons/test_container_factory.py b/tests/functional/factories/daemons/test_container_factory.py -index 1642d57..8b085eb 100644 ---- a/tests/functional/factories/daemons/test_container_factory.py -+++ b/tests/functional/factories/daemons/test_container_factory.py -@@ -3,6 +3,7 @@ from unittest import mock - import pytest - - -+@pytest.mark.skip("Needs network access") - @pytest.mark.parametrize("skip_on_pull_failure", [True, False]) - def test_skip_on_pull_failure(pytester, skip_on_pull_failure): - pytester.makepyfile( -diff --git a/tests/functional/markers/test_requires_salt_modules.py b/tests/functional/markers/test_requires_salt_modules.py -index 97ed1ec..53ff0dd 100644 ---- a/tests/functional/markers/test_requires_salt_modules.py -+++ b/tests/functional/markers/test_requires_salt_modules.py -@@ -1,9 +1,11 @@ - """ - Test the ``@pytest.mark.requires_salt_modules`` marker. - """ -+import sys - import pytest - - -+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10") - @pytest.mark.parametrize( - "modules", - [ -@@ -29,6 +31,7 @@ def test_has_required_salt_module(pytester, modules): - res.stdout.no_fnmatch_line("*PytestUnknownMarkWarning*") - - -+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10") - @pytest.mark.parametrize( - "modules", - [ -@@ -54,6 +57,7 @@ def test_missing_required_salt_module(pytester, modules): - res.stdout.no_fnmatch_line("*PytestUnknownMarkWarning*") - - -+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10") - def test_has_required_custom_salt_module(pytester): - pytester.makepyfile( - r""" -diff --git a/tests/functional/markers/test_requires_salt_states.py b/tests/functional/markers/test_requires_salt_states.py -index f6d63a9..ec4b431 100644 ---- a/tests/functional/markers/test_requires_salt_states.py -+++ b/tests/functional/markers/test_requires_salt_states.py -@@ -1,9 +1,11 @@ - """ - Test the ``@pytest.mark.requires_salt_states`` marker. - """ -+import sys - import pytest - - -+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10") - @pytest.mark.parametrize( - "modules", - [ -@@ -29,6 +31,7 @@ def test_has_required_salt_state(pytester, modules): - res.stdout.no_fnmatch_line("*PytestUnknownMarkWarning*") - - -+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10") - @pytest.mark.parametrize( - "modules", - [ -@@ -54,6 +57,7 @@ def test_missing_required_salt_state(pytester, modules): - res.stdout.no_fnmatch_line("*PytestUnknownMarkWarning*") - - -+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10") - def test_has_required_custom_salt_state(pytester): - pytester.makepyfile( - r""" -diff --git a/tests/functional/test_sys_info.py b/tests/functional/test_sys_info.py -index c8fbf6e..f18c85d 100644 ---- a/tests/functional/test_sys_info.py -+++ b/tests/functional/test_sys_info.py -@@ -1,9 +1,11 @@ - """ - Tests related to system information reports enabled by the `--sys-info` flag.. - """ -+import sys - import pytest - - -+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10") - @pytest.mark.parametrize("flag", ["--sysinfo", "--sys-info"]) - def test_sysinfo(pytester, flag): - pytester.makepyfile( -@@ -27,6 +29,7 @@ def test_sysinfo(pytester, flag): - ) - - -+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10") - def test_no_sysinfo(pytester): - pytester.makepyfile( - """ -diff --git a/tests/integration/factories/cli/test_salt.py b/tests/integration/factories/cli/test_salt.py -index 9c4fdb0..0766fe7 100644 ---- a/tests/integration/factories/cli/test_salt.py -+++ b/tests/integration/factories/cli/test_salt.py -@@ -14,6 +14,7 @@ def salt_minion_2(salt_master, salt_minion): - yield factory - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_merged_json_out(salt_cli, salt_minion, salt_minion_2): - ret = salt_cli.run("test.ping", minion_tgt="*") - assert ret.returncode == 0, ret -@@ -24,6 +25,7 @@ def test_merged_json_out(salt_cli, salt_minion, salt_minion_2): - assert ret.data[salt_minion_2.id] is True - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_merged_json_out_disabled(salt_cli, salt_minion, salt_minion_2): - ret = salt_cli.run("test.ping", minion_tgt="*", merge_json_output=False) - assert ret.returncode == 0, ret -diff --git a/tests/integration/factories/daemons/api/test_api.py b/tests/integration/factories/daemons/api/test_api.py -index d6fd060..aade16e 100644 ---- a/tests/integration/factories/daemons/api/test_api.py -+++ b/tests/integration/factories/daemons/api/test_api.py -@@ -19,5 +19,6 @@ def salt_api(master): - yield factory - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_api(salt_api): - assert salt_api.is_running() -diff --git a/tests/integration/factories/daemons/api/test_restarts.py b/tests/integration/factories/daemons/api/test_restarts.py -index bfab01f..0494ebb 100644 ---- a/tests/integration/factories/daemons/api/test_restarts.py -+++ b/tests/integration/factories/daemons/api/test_restarts.py -@@ -12,6 +12,7 @@ def master(salt_factories): - yield factory - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_multiple_start_stops(master): - factory = master.salt_api_daemon() - assert factory.is_running() is False -diff --git a/tests/integration/factories/daemons/master/test_master.py b/tests/integration/factories/daemons/master/test_master.py -index 6ae19f0..b93f773 100644 ---- a/tests/integration/factories/daemons/master/test_master.py -+++ b/tests/integration/factories/daemons/master/test_master.py -@@ -1,3 +1,4 @@ -+import sys - import pytest - import salt.defaults.exitcodes - from pytestshellutils.exceptions import FactoryNotStarted -@@ -48,10 +49,12 @@ def salt_call(minion): - return minion.salt_call_cli() - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_master(master): - assert master.is_running() - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_salt_run(master, salt_run): - max_open_files_config_value = master.config["max_open_files"] - ret = salt_run.run("config.get", "max_open_files") -@@ -117,6 +120,7 @@ def test_state_tree(master, salt_call, minion): - assert ret.returncode == 0 - - -+@pytest.mark.skip("not compatible with sandbox") - @pytest.mark.skip_on_salt_system_install - def test_salt_key(minion, minion_3, salt_key): - ret = salt_key.run("--list-all") -@@ -131,6 +135,7 @@ def test_salt_key(minion, minion_3, salt_key): - - @pytest.mark.skip_on_windows - @pytest.mark.skip_on_salt_system_install -+@pytest.mark.skipif(sys.version_info >= (3, 10), reason="test broken on python 3.10") - def test_exit_status_unknown_user(salt_factories): - master = salt_factories.salt_master_daemon("set-exitcodes", overrides={"user": "unknown-user"}) - with pytest.raises(FactoryNotStarted) as exc: -diff --git a/tests/integration/factories/daemons/master/test_restarts.py b/tests/integration/factories/daemons/master/test_restarts.py -index 683970a..443dcfb 100644 ---- a/tests/integration/factories/daemons/master/test_restarts.py -+++ b/tests/integration/factories/daemons/master/test_restarts.py -@@ -11,6 +11,7 @@ def master(salt_factories): - return factory - - -+@pytest.mark.skip("not compatible with network") - def test_multiple_start_stops(master): - assert master.is_running() is False - pid = None -diff --git a/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py b/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py -index a6c6420..10626cd 100644 ---- a/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py -+++ b/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py -@@ -28,6 +28,7 @@ def salt_call_cli(minion): - return minion.salt_call_cli() - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_event_listener_engine(minion, salt_call_cli, event_listener): - """ - There are some events which the minion fires internally that never reach the master. -diff --git a/tests/integration/factories/daemons/minion/test_minion.py b/tests/integration/factories/daemons/minion/test_minion.py -index 387e789..1e4ecfd 100644 ---- a/tests/integration/factories/daemons/minion/test_minion.py -+++ b/tests/integration/factories/daemons/minion/test_minion.py -@@ -27,6 +27,7 @@ def salt_call_cli(minion): - return minion.salt_call_cli() - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_minion(minion, salt_cli): - assert minion.is_running() - ret = salt_cli.run("test.ping", minion_tgt=minion.id) -@@ -34,6 +35,7 @@ def test_minion(minion, salt_cli): - assert ret.data is True - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_no_match(minion, salt_cli): - assert minion.is_running() - ret = salt_cli.run("test.ping", minion_tgt="minion-2") -@@ -41,6 +43,7 @@ def test_no_match(minion, salt_cli): - assert not ret.data - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_show_jid(minion, salt_cli): - assert minion.is_running() - ret = salt_cli.run("--show-jid", "test.ping", minion_tgt=minion.id) -@@ -48,6 +51,7 @@ def test_show_jid(minion, salt_cli): - assert ret.data is True - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_minion_salt_call(minion, salt_call_cli): - assert minion.is_running() - ret = salt_call_cli.run("test.ping") -@@ -59,6 +63,7 @@ def test_minion_salt_call(minion, salt_call_cli): - assert ret.data is True - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_salt_call_exception_handling_doesnt_timeout(minion, salt_call_cli): - ret = salt_call_cli.run( - "test.raise_exception", "OSError", "2", "No such file or directory", "/tmp/foo.txt" -@@ -66,6 +71,7 @@ def test_salt_call_exception_handling_doesnt_timeout(minion, salt_call_cli): - assert ret.returncode == 1, ret - - -+@pytest.mark.skip("not compatible with sandbox") - def test_state_tree(minion, salt_call_cli): - sls_contents = """ - test: -diff --git a/tests/integration/factories/daemons/minion/test_restarts.py b/tests/integration/factories/daemons/minion/test_restarts.py -index ab1f044..4ac417d 100644 ---- a/tests/integration/factories/daemons/minion/test_restarts.py -+++ b/tests/integration/factories/daemons/minion/test_restarts.py -@@ -10,6 +10,7 @@ def master(salt_factories): - yield factory - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_multiple_start_stops(master): - factory = master.salt_minion_daemon(random_string("minion-")) - assert factory.is_running() is False -diff --git a/tests/integration/factories/daemons/proxy/test_proxy_minion.py b/tests/integration/factories/daemons/proxy/test_proxy_minion.py -index 1c58628..807cbe7 100644 ---- a/tests/integration/factories/daemons/proxy/test_proxy_minion.py -+++ b/tests/integration/factories/daemons/proxy/test_proxy_minion.py -@@ -36,6 +36,7 @@ def salt_call_cli(proxy_minion): - return proxy_minion.salt_call_cli() - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_proxy_minion(proxy_minion, salt_cli): - assert proxy_minion.is_running() - ret = salt_cli.run("test.ping", minion_tgt=proxy_minion.id) -@@ -43,6 +44,7 @@ def test_proxy_minion(proxy_minion, salt_cli): - assert ret.data is True - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_no_match(proxy_minion, salt_cli): - assert proxy_minion.is_running() - ret = salt_cli.run("test.ping", minion_tgt="proxy-minion-2") -@@ -50,6 +52,7 @@ def test_no_match(proxy_minion, salt_cli): - assert not ret.data - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_show_jid(proxy_minion, salt_cli): - if platform.is_darwin() and sys.version_info[:2] == (3, 7): - pytest.skip( -@@ -62,6 +65,7 @@ def test_show_jid(proxy_minion, salt_cli): - assert ret.data is True - - -+@pytest.mark.skip("not compatible with network-sandbox") - def test_proxy_minion_salt_call(proxy_minion, salt_call_cli): - assert proxy_minion.is_running() - ret = salt_call_cli.run("test.ping") -@@ -73,6 +77,7 @@ def test_proxy_minion_salt_call(proxy_minion, salt_call_cli): - assert ret.data is True - - -+@pytest.mark.skip("not compatible with sandbox") - def test_state_tree(proxy_minion, salt_call_cli): - sls_contents = """ - test: -diff --git a/tests/integration/factories/daemons/proxy/test_restarts.py b/tests/integration/factories/daemons/proxy/test_restarts.py -index a243c6d..7758c96 100644 ---- a/tests/integration/factories/daemons/proxy/test_restarts.py -+++ b/tests/integration/factories/daemons/proxy/test_restarts.py -@@ -16,6 +16,7 @@ def master(salt_factories): - yield factory - - -+@pytest.mark.skip("not compatible with sandbox") - def test_multiple_start_stops(master): - factory = master.salt_proxy_minion_daemon(random_string("proxy-minion-")) - assert factory.is_running() is False -diff --git a/tests/integration/factories/daemons/ssh/test_salt_ssh.py b/tests/integration/factories/daemons/ssh/test_salt_ssh.py -index 37e2449..73ac893 100644 ---- a/tests/integration/factories/daemons/ssh/test_salt_ssh.py -+++ b/tests/integration/factories/daemons/ssh/test_salt_ssh.py -@@ -51,6 +51,7 @@ def salt_ssh_cli(sshd, salt_factories, master): - - - @pytest.mark.skip_on_windows -+@pytest.mark.skip("not compatible with network-sandbox") - def test_salt_ssh(salt_ssh_cli): - ret = salt_ssh_cli.run("--ignore-host-keys", "test.echo", "It Works!", minion_tgt="localhost") - assert ret.returncode == 0 -diff --git a/tests/integration/factories/daemons/sshd/test_sshd.py b/tests/integration/factories/daemons/sshd/test_sshd.py -index 3b425fc..3e03636 100644 ---- a/tests/integration/factories/daemons/sshd/test_sshd.py -+++ b/tests/integration/factories/daemons/sshd/test_sshd.py -@@ -5,6 +5,7 @@ import pytest - - @pytest.fixture(scope="module") - @pytest.mark.skip_if_binaries_missing("sshd", "ssh-keygen") -+@pytest.mark.skip("not compatible with network-sandbox") - def sshd(salt_factories): - # Set StrictModes to no because our config directory lives in /tmp and those permissions - # are not acceptable by sshd strict paranoia. -@@ -15,12 +16,14 @@ def sshd(salt_factories): - - - @pytest.mark.skip_on_windows -+@pytest.mark.skip("not compatible with network-sandbox") - def test_sshd(sshd): - assert sshd.is_running() - - - @pytest.mark.skip_on_windows - @pytest.mark.skip_if_binaries_missing("ssh") -+@pytest.mark.skip("not compatible with network-sandbox") - def test_connect(sshd): - cmd = subprocess.run( - [ -diff --git a/tests/integration/utils/saltext/test_log_handlers.py b/tests/integration/utils/saltext/test_log_handlers.py -index 6d5b9c0..edc5b5a 100644 ---- a/tests/integration/utils/saltext/test_log_handlers.py -+++ b/tests/integration/utils/saltext/test_log_handlers.py -@@ -24,6 +24,7 @@ def salt_cli(master): - return master.salt_cli() - - -+@pytest.mark.skip("Not compatible with sandbox") - def test_logs_forwarded_from_sub_processes(salt_cli, minion, caplog): - assert minion.is_running() - -diff --git a/tests/scenarios/examples/test_echoext.py b/tests/scenarios/examples/test_echoext.py -index 238a442..d827467 100644 ---- a/tests/scenarios/examples/test_echoext.py -+++ b/tests/scenarios/examples/test_echoext.py -@@ -1,6 +1,8 @@ - from saltfactories import CODE_ROOT_DIR - -+import pytest - -+@pytest.mark.skip("Incompatible with sandbox") - def test_echoext(extension_venv): - extension_path = CODE_ROOT_DIR.parent.parent / "examples" / "echo-extension" - with extension_venv(extension_path) as venv: diff --git a/dev-python/python-varlink/Manifest b/dev-python/python-varlink/Manifest index db8f04d33764..f1b7f36c3397 100644 --- a/dev-python/python-varlink/Manifest +++ b/dev-python/python-varlink/Manifest @@ -1 +1,2 @@ DIST python-varlink-30.3.1.gh.tar.gz 39921 BLAKE2B d717eb662cd14fffd7620fb8f3eee5ae8431b77a437a783ba090802a26d0225439eb9305050863c85a6c33dbdd28709262858bf407a08333b177057304695c93 SHA512 13a0176694ee31121998a2dd88bf57d840ec20b0ccac63b574c4f12ef5c9bfbfbd67bdc7a8d362cd1c256e393d8c3691d1efc58aabaf8f5ec26067a55157a6cd +DIST python-varlink-31.0.0.gh.tar.gz 41003 BLAKE2B 3ffe5808ed130d09beabe545ff3437b6f91d74a35a7bf2a72eca854c77c7f8992f6d59c9f73428356cbb98f95b0af2950afd3bf3c6f9955b4f2b12524903d2c6 SHA512 3b8a9479c78a73793d56854b008fca7d041044314b6cf424326f9429c480b0b8561075ce6fa282c92b79ce75c2ec941249a65e9fb6a995510ede9dc064d6dcab diff --git a/dev-python/python-varlink/metadata.xml b/dev-python/python-varlink/metadata.xml index c32d9875bede..6e476e9ee8d1 100644 --- a/dev-python/python-varlink/metadata.xml +++ b/dev-python/python-varlink/metadata.xml @@ -5,6 +5,10 @@ <email>zmedico@gentoo.org</email> <name>Zac Medico</name> </maintainer> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> <origin>gentoo-staging</origin> <stabilize-allarches/> diff --git a/dev-python/python-varlink/python-varlink-30.3.1.ebuild b/dev-python/python-varlink/python-varlink-30.3.1-r1.ebuild index f05399213253..6b663bfcbbe8 100644 --- a/dev-python/python-varlink/python-varlink-30.3.1.ebuild +++ b/dev-python/python-varlink/python-varlink-30.3.1-r1.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,8 +18,6 @@ LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64" -RDEPEND="dev-python/future[${PYTHON_USEDEP}]" - PATCHES=( "${FILESDIR}/${P}-fix.py3.10.patch" ) diff --git a/dev-python/python-varlink/python-varlink-31.0.0.ebuild b/dev-python/python-varlink/python-varlink-31.0.0.ebuild new file mode 100644 index 000000000000..e7a30c4a4bcf --- /dev/null +++ b/dev-python/python-varlink/python-varlink-31.0.0.ebuild @@ -0,0 +1,32 @@ +# 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,11} ) + +inherit distutils-r1 + +DESCRIPTION="Python implementation of the Varlink protocol" +HOMEPAGE=" + https://github.com/varlink/python/ + https://pypi.org/project/varlink/ +" +SRC_URI=" + https://github.com/varlink/python/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/python-${PV}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +BDEPEND=" + dev-python/setuptools_scm[${PYTHON_USEDEP}] +" + +distutils_enable_tests unittest + +export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} diff --git a/dev-python/python-zeroconf/Manifest b/dev-python/python-zeroconf/Manifest index 87061261dbb7..b8f61864260f 100644 --- a/dev-python/python-zeroconf/Manifest +++ b/dev-python/python-zeroconf/Manifest @@ -2,3 +2,4 @@ DIST python-zeroconf-0.39.4.gh.tar.gz 137174 BLAKE2B 9e7d66bec5ebb52754c5a45fd58 DIST python-zeroconf-0.44.0.gh.tar.gz 149523 BLAKE2B 544187ad7baff6ea7a13b3ee3a51e6c19d872f006df3727900cad588febab0b86218c31c689203d3b674eed8ca67f0c9b39f83efec255696fa8405a00551edc8 SHA512 4190ca1d892dcbe5e5020c15a18cf1db80e7623798b64ba45b18dbfb5dd624e7851026f99aec14547b037927c06b7d9186e44cb4790e47613cb16c0cde3c067d DIST python-zeroconf-0.45.0.gh.tar.gz 150493 BLAKE2B 63cbeba55c67ac9d7c7b24257da7814b13e6d23f4fc195b755e7bbdf0d624ccaa1da6214abb0715ceb3949794bcac60d43b5c5dfe7da020d62baf870d6af0a07 SHA512 06a0cdc8b3038b0cff9f2d43592ded6df46c79c6fe2669eede052ed1f280b3a3c85db2e97109e619c5d1d4641792d4e3e4b7e0f1d28886e743f2c776c23c0a64 DIST python-zeroconf-0.47.0.gh.tar.gz 151011 BLAKE2B ec80dd708671fb90df119cfaf6c7a73bd1ae826ec305659df810c2960b961a1f8350f0c529017bebbb43c19bb2a81bee8fcecfc01e7323a9508d95ae36979347 SHA512 b1f56fb7474ea8b394f91e1bbef5dc2606ef8e59d4a1d15b4ff5c5152909b12a29b52352729a26641accc6fe033ecade2a0881ac7b0944852439659ed50adead +DIST python-zeroconf-0.47.1.gh.tar.gz 151191 BLAKE2B 30cbda51b533519b9affe52d73c96fb60d6eb4d882791729a021b41e48974ac14bac46c1ea9030d792587eb09104670b38f1000192aa202ec7e793a5f79b08cc SHA512 abb74fa3e05b962b6b93ff9df58f2bb3e029d74ca03aaebd38ee716b204ec8b8af665c97f7b9fbbf998767c9308ab7d900f39a92fae4224d5689ecbe229c01d5 diff --git a/dev-python/python-zeroconf/python-zeroconf-0.47.1.ebuild b/dev-python/python-zeroconf/python-zeroconf-0.47.1.ebuild new file mode 100644 index 000000000000..17a2192eb61e --- /dev/null +++ b/dev-python/python-zeroconf/python-zeroconf-0.47.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=poetry +PYTHON_COMPAT=( python3_{7,8,9,10,11} ) + +inherit distutils-r1 + +DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" +HOMEPAGE=" + https://github.com/python-zeroconf/python-zeroconf/ + https://pypi.org/project/zeroconf/ +" +SRC_URI=" + https://github.com/python-zeroconf/python-zeroconf/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}] + ' 3.{8..10}) +" +# the build system uses custom build script that uses distutils to build +# C extensions, sigh +BDEPEND=" + >=dev-python/cython-0.29.32[${PYTHON_USEDEP}] + >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}] + test? ( + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # network + tests/test_core.py::Framework::test_close_multiple_times + tests/test_core.py::Framework::test_launch_and_close + tests/test_core.py::Framework::test_launch_and_close_context_manager + tests/test_core.py::Framework::test_launch_and_close_v4_v6 + tests/test_core.py::Framework::test_launch_and_close_v6_only + tests/services/test_types.py::ServiceTypesQuery::test_integration_with_listener_ipv6 + + # fragile to timeouts (?) + tests/services/test_browser.py::test_service_browser_expire_callbacks + tests/utils/test_asyncio.py::test_run_coro_with_timeout + ) + + epytest -o addopts= +} diff --git a/dev-python/pyxdg/pyxdg-0.28.ebuild b/dev-python/pyxdg/pyxdg-0.28.ebuild index a1d40a801d44..1f3680cb5943 100644 --- a/dev-python/pyxdg/pyxdg-0.28.ebuild +++ b/dev-python/pyxdg/pyxdg-0.28.ebuild @@ -12,7 +12,6 @@ MY_P="${PN}-rel-${PV}" DESCRIPTION="A Python module to deal with freedesktop.org specifications" HOMEPAGE=" https://freedesktop.org/wiki/Software/pyxdg/ - https://cgit.freedesktop.org/xdg/pyxdg/ https://pypi.org/project/pyxdg/ " SRC_URI=" diff --git a/dev-python/weasyprint/Manifest b/dev-python/weasyprint/Manifest index 5fbaad7ad069..53e981d36eb2 100644 --- a/dev-python/weasyprint/Manifest +++ b/dev-python/weasyprint/Manifest @@ -1 +1,2 @@ DIST weasyprint-57.1.tar.gz 429652 BLAKE2B c94cc05f6c3b831d3214d7476e3fa799ff62d8fb575044a6f11172e650a87b1277e21fef40577bb01a1a778982a98e1a57801de708b3a3a26520b50aae8b43ac SHA512 0a130fba07d1d73eb4e9dcda27ab51ede45c440717f6fedb8d6aac09283244c366d36d85c2dac85995fbaebac21cf880a0cb684baaff3788af3eb6b4931c014b +DIST weasyprint-57.2.tar.gz 429120 BLAKE2B c97ba3fb3eec431a7de9a1a8a440290005de11b11d4abac4dd993a7d2fc4c14e64bdf13b8f8c12d4ba4f94b2049e0b05c3fb950c8b204f446323038c9c471451 SHA512 11b9469d37820439b1d0dad0117dd1c9649011c71aabb0e27008b303e5c851215ce9f0b271da9a74d614e54cb23f9c6036b6e094016b5688f6b700fb7444338f diff --git a/dev-python/weasyprint/weasyprint-57.2.ebuild b/dev-python/weasyprint/weasyprint-57.2.ebuild new file mode 100644 index 000000000000..42c9aa26afd4 --- /dev/null +++ b/dev-python/weasyprint/weasyprint-57.2.ebuild @@ -0,0 +1,46 @@ +# 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_{7,8,9,10,11} ) + +inherit distutils-r1 + +DESCRIPTION="Visual rendering engine for HTML and CSS that can export to PDF" +HOMEPAGE=" + https://weasyprint.org/ + https://github.com/Kozea/WeasyPrint/ + https://pypi.org/project/weasyprint/ +" +SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + >=dev-python/cffi-0.6:=[${PYTHON_USEDEP}] + >=dev-python/cssselect2-0.1[${PYTHON_USEDEP}] + >=dev-python/fonttools-4.0.0[${PYTHON_USEDEP}] + >=dev-python/html5lib-1.1[${PYTHON_USEDEP}] + >=dev-python/pillow-4.0.0[jpeg,jpeg2k,${PYTHON_USEDEP}] + >=dev-python/pydyf-0.5.0[${PYTHON_USEDEP}] + >=dev-python/pyphen-0.9.1[${PYTHON_USEDEP}] + >=dev-python/tinycss2-1.0.0[${PYTHON_USEDEP}] + x11-libs/pango +" + +BDEPEND=" + test? ( + || ( + >=app-text/ghostscript-gpl-9.56.1-r3 + <app-text/ghostscript-gpl-9.56.0 + ) + media-fonts/ahem + media-fonts/dejavu + ) +" + +distutils_enable_tests pytest |
