diff options
-rw-r--r-- | app-admin/awscli/Manifest | 1 | ||||
-rw-r--r-- | app-admin/awscli/awscli-1.22.46.ebuild | 58 | ||||
-rw-r--r-- | dev-python/autobahn/Manifest | 1 | ||||
-rw-r--r-- | dev-python/autobahn/autobahn-22.1.1.ebuild | 115 | ||||
-rw-r--r-- | dev-python/bandit/bandit-1.7.2-r1.ebuild | 35 | ||||
-rw-r--r-- | dev-python/boto3/Manifest | 1 | ||||
-rw-r--r-- | dev-python/boto3/boto3-1.20.46.ebuild | 60 | ||||
-rw-r--r-- | dev-python/botocore/Manifest | 1 | ||||
-rw-r--r-- | dev-python/botocore/botocore-1.23.46.ebuild | 65 | ||||
-rw-r--r-- | dev-python/dask/Manifest | 1 | ||||
-rw-r--r-- | dev-python/dask/dask-2022.01.1.ebuild | 58 | ||||
-rw-r--r-- | dev-python/pytest-mock/pytest-mock-3.7.0.ebuild | 17 | ||||
-rw-r--r-- | eclass/distutils-r1.eclass | 69 | ||||
-rw-r--r-- | eclass/python-any-r1.eclass | 4 | ||||
-rw-r--r-- | eclass/python-r1.eclass | 2 | ||||
-rw-r--r-- | eclass/python-single-r1.eclass | 2 | ||||
-rw-r--r-- | eclass/python-utils-r1.eclass | 2 |
17 files changed, 461 insertions, 31 deletions
diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index 56f195c7e306..dc833430c704 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -7,3 +7,4 @@ DIST awscli-1.22.42.tar.gz 2150093 BLAKE2B 5773ce97774003868b085814c72dd8471292d DIST awscli-1.22.43.tar.gz 2150545 BLAKE2B 8c7efa1f4e8c48359733936d45bd90b51e54e993561b5fad33d9e5ee6e5b090c0815fad9f721b0c1bb31e5fa89323d30f45d395558460434c6bfc6ea819ede26 SHA512 bd87523e640d2cb17adb2a132ff965735567ebfb442cfa752f2a7955e953d6e761ba9ca817c7fa9235a44e9b611d195f2c731c858b7cd26bb7aaca935fcc4a57 DIST awscli-1.22.44.tar.gz 2150694 BLAKE2B db7e88a58ff42cf1ebc2b337ae408dd90d80ab49a43358587a2bad84d0ef1916c3abdd35b62c9ffbbce948cf9cf536eb01c23688992a022019e722179bf204b1 SHA512 bd7ed097682010bed80049f67760235402fb6e0b9bb9c26e0ba8032e6a8f5bd7604a847791c6771dc85e0d02272d3fde5f1c34141d8c011c8aded6863ec334d8 DIST awscli-1.22.45.tar.gz 2151247 BLAKE2B b1f90eb47563d6fe1936fdaa486771778a8e1c2e449e2b6272bfac403100ad72ec53b0ff1925aec9e3e2497040d2998f2034d1d7777a927a68f97da47045a7cc SHA512 3cad811fdaeff8434750887fb3c6a8e6716ae4a1859294d73d25158f14cfe56226ca99994d3eaee1ab5c11a442720c450331948ab64805d33bd0bbec8a8c64d0 +DIST awscli-1.22.46.tar.gz 2160630 BLAKE2B 628f60975b66fb60b4a91edb98856d9cc8cf7b88a1819048dfa25e8a4e3e3b73eade8bfd00355b7bd36a3c61d7028c8226071616aa325021a9e7805a65ff1eda SHA512 0a3eb819a5b34ae0b777f4e35b58ffe165e712bcbe4364643cb5a278f982138e0a4749944d312fd8d5998796758465f4814b67d7a230eb421cb04cf9193dcd5d diff --git a/app-admin/awscli/awscli-1.22.46.ebuild b/app-admin/awscli/awscli-1.22.46.ebuild new file mode 100644 index 000000000000..1f3430af8a9f --- /dev/null +++ b/app-admin/awscli/awscli-1.22.46.ebuild @@ -0,0 +1,58 @@ +# 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_{8..10} ) +inherit bash-completion-r1 distutils-r1 + +DESCRIPTION="Universal Command Line Environment for AWS" +HOMEPAGE="https://pypi.org/project/awscli/" +#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz" +SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/aws-cli-${PV}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +# botocore is x.(y+1).z +BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 1)).$(ver_cut 3-)" +RDEPEND=" + >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}] + dev-python/colorama[${PYTHON_USEDEP}] + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/rsa[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.4.0[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest + +src_prepare() { + # 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 + # strip overzealous upper bounds on requirements + sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die + distutils-r1_src_prepare +} + +python_test() { + # integration tests require AWS credentials and Internet access + epytest tests/{functional,unit} +} + +python_install_all() { + newbashcomp bin/aws_bash_completer aws + + insinto /usr/share/zsh/site-functions + newins bin/aws_zsh_completer.sh _aws + + distutils-r1_python_install_all + + rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die +} diff --git a/dev-python/autobahn/Manifest b/dev-python/autobahn/Manifest index 96b9dfbe6503..4117850ffa71 100644 --- a/dev-python/autobahn/Manifest +++ b/dev-python/autobahn/Manifest @@ -1 +1,2 @@ DIST autobahn-21.11.1.tar.gz 365165 BLAKE2B 91a12bf1fa9acd056246d86675c76fbcdb4de8914f4ab5e2c8ec06cf8e822cc1a72f8a7b39b520405cce32e2f32024ebbaa48ba024e1dc71b50da4e6f8913e19 SHA512 5a23272046ef67821e86c6bfe766273b3ba73a75fbc51c7864c2ab83ffb8d4e119022980f8b71c453118bf15b26ede8042aa0114e54caebbfb33555208093ac2 +DIST autobahn-22.1.1.tar.gz 365843 BLAKE2B 835861db493be3f70fbff1971f3ab09346f689b5e100ea29115635b6d283c14f944a6c6fcc234d549cfa895496125ce7d03576ea6536c0536f6e79277a1e5592 SHA512 9198fc71ef0d967e9d0d577684c9c5f6ef36d12392a043f581a0be920fc0bf842369f50406a3a5a33d1c6063d21a57136735d8dc123230b18b6da8c4e80f8eed diff --git a/dev-python/autobahn/autobahn-22.1.1.ebuild b/dev-python/autobahn/autobahn-22.1.1.ebuild new file mode 100644 index 000000000000..7ac3954a819b --- /dev/null +++ b/dev-python/autobahn/autobahn-22.1.1.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) +DISTUTILS_USE_PEP517=setuptools +inherit distutils-r1 optfeature + +MY_P=${PN}-$(ver_rs 3 -) + +DESCRIPTION="WebSocket and WAMP for Twisted and Asyncio" +HOMEPAGE="https://pypi.org/project/autobahn/ + https://crossbar.io/autobahn/ + https://github.com/crossbario/autobahn-python" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +SLOT="0" +LICENSE="MIT" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" +IUSE="test xbr" +RESTRICT="!test? ( test )" + +# The order of deps is based on their appearance in setup.py +# All extra deps should be included in test and in optfeature +RDEPEND=" + >=dev-python/zope-interface-5.2.0[${PYTHON_USEDEP}] + >=dev-python/twisted-20.3.0[${PYTHON_USEDEP}] + >=dev-python/attrs-20.3.0[${PYTHON_USEDEP}] + >=dev-python/txaio-21.2.1[${PYTHON_USEDEP}] + dev-python/cryptography[${PYTHON_USEDEP}] + >=dev-python/hyperlink-21.0.0[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/wsaccel-0.6.3[${PYTHON_USEDEP}] + >=dev-python/snappy-0.6.0[${PYTHON_USEDEP}] + >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}] + >=dev-python/ujson-4.0.2[${PYTHON_USEDEP}] + >=dev-python/cbor2-5.2.0[${PYTHON_USEDEP}] + >=dev-python/cbor-1.0.0[${PYTHON_USEDEP}] + >=dev-python/py-ubjson-0.16.1[${PYTHON_USEDEP}] + >=dev-python/flatbuffers-1.12[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-20.0.1[${PYTHON_USEDEP}] + >=dev-python/service_identity-18.1.0[${PYTHON_USEDEP}] + >=dev-python/pynacl-1.4.0[${PYTHON_USEDEP}] + >=dev-python/pytrie-0.4[${PYTHON_USEDEP}] + >=dev-python/pyqrcode-1.2.1[${PYTHON_USEDEP}] + >=dev-python/cffi-1.14.5[${PYTHON_USEDEP}] + >=dev-python/argon2-cffi-20.1.0[${PYTHON_USEDEP}] + >=dev-python/passlib-1.7.4[${PYTHON_USEDEP}] + + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/pytest-aiohttp[${PYTHON_USEDEP}] + ) +" + +python_prepare_all() { + if use xbr ; then + eerror "***************" + eerror "Required xbr dependencies are incomplete in Gentoo." + eerror "So this functionality will not yet work" + eerror "Please file a bug if this feature is needed" + eerror "***************" + else + # remove xbr components + export AUTOBAHN_STRIP_XBR="True" + fi + + # avoid useless rust dependency + sed -i -e '/cryptography/s:>=3.4.6::' setup.py || die + + # remove twisted plugin cache regen in setup.py + # to fix tinderbox sandbox issue + sed -e '/import/s:reactor:__importmustfail__:' \ + -i setup.py || die + + distutils-r1_python_prepare_all +} + +python_test() { + einfo "Testing all, cryptosign using twisted" + local -x USE_TWISTED=true + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + "${EPYTHON}" -m twisted.trial autobahn || die "Tests failed with ${EPYTHON}" + unset USE_TWISTED + + einfo "RE-testing cryptosign and component_aio using asyncio" + local -x USE_ASYNCIO=true + epytest autobahn/wamp/test/test_wamp_{cryptosign,component_aio}.py + unset USE_ASYNCIO + + rm -f twisted/plugins/dropin.cache || die +} + +pkg_postinst() { + optfeature "C-based WebSocket acceleration" "dev-python/wsaccel" + optfeature "non-standard WebSocket compression support" "dev-python/snappy" + optfeature "accelerated WAMP serialization support" \ + "dev-python/msgpack dev-python/ujson dev-python/cbor2 dev-python/cbor dev-python/flatbuffers dev-python/py-ubjson" + optfeature "TLS transport encryption" \ + "dev-python/pyopenssl dev-python/pynacl dev-python/pytrie dev-python/pyqrcode dev-python/service_identity" + optfeature "WAMP-SCRAM authentication" \ + "dev-python/cffi dev-python/argon2-cffi dev-python/passlib" + optfeature "native SIMD acceleration" "dev-python/cffi" + + python_foreach_impl twisted-regen-cache +} + +pkg_postrm() { + python_foreach_impl twisted-regen-cache +} diff --git a/dev-python/bandit/bandit-1.7.2-r1.ebuild b/dev-python/bandit/bandit-1.7.2-r1.ebuild new file mode 100644 index 000000000000..0857a573ec73 --- /dev/null +++ b/dev-python/bandit/bandit-1.7.2-r1.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_{8..9} ) +inherit distutils-r1 + +DESCRIPTION="A security linter from OpenStack Security" +HOMEPAGE="https://github.com/PyCQA/bandit" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~s390 ~x86" + +RDEPEND=" + >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] + >=dev-python/GitPython-1.0.1[${PYTHON_USEDEP}] + >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] + test? ( + >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}] + >=dev-python/testscenarios-0.5.0[${PYTHON_USEDEP}] + >=dev-python/testtools-2.3.0[${PYTHON_USEDEP}] + >=dev-python/beautifulsoup4-4.8.0[${PYTHON_USEDEP}] + >=dev-python/pylint-1.9.4[${PYTHON_USEDEP}] + dev-python/toml[${PYTHON_USEDEP}] + )" + +distutils_enable_tests unittest diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index cc8198f815f0..c745dda40cd2 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -7,3 +7,4 @@ DIST boto3-1.20.42.tar.gz 463092 BLAKE2B 5396f2c47db8aaec468a0e9cb3eebe8450dd3a9 DIST boto3-1.20.43.tar.gz 463424 BLAKE2B 6d67a86d4d0577b2e9d30335ddb1286f25bc866b492416ea64833bc7e8315f847393158abe898e9208b947a7e8505d18ed70885044f9059da38e8ac7a00c6a80 SHA512 95602ce59c4baa24835fcf331674e040d8e41b279bf43bfd7c00f171087644d7a335462cd1941fd1330da7909b6fe707f595ec04c0dcad02627b91fc3fdd3ffc DIST boto3-1.20.44.tar.gz 463921 BLAKE2B 1276bbddbf1be9e30142ef1ccc24a69e885d1bdf35ce1c136105d1c08b6a24820c965827c6bc569c747efb5dbb8e64b611b3ac2bc63bcb714f8d6748e424f927 SHA512 de223aa34efd81d26287204e9159368ee77bd91e3fd457896d801bc1517ed4b32f5a16d1441f053f90e232beb473c51bee88f591db5746cf5b8049f044c29811 DIST boto3-1.20.45.tar.gz 464557 BLAKE2B f021696e14a2bd82325c666a3ef8266ae3e19564cda9792a2436079b24810949af86f6d1a328850f58c9f53be261ee67c6282adc1cd846df0a37d686835c92fa SHA512 293e89a96601c15f78efc2a7c9dd91bf1db6944deebdb50e093b075540bafd1da5ea82d9719bfc36b205b0cfdb5052f3f69cc504bef089e980ead68f39326d85 +DIST boto3-1.20.46.tar.gz 464857 BLAKE2B 40eb0f2c298821530028c84f90d8acd9757a4b6c74e8355ca644ee2a87297d7ba3b70a2614e83c83befe0f6e3b64e0f1e023cc2fc3edbf3deb40f86382265338 SHA512 3ad8808ace2ce24eba54c60aa1ece5b904a2138a1497ec5c180a9aa1bef95cd61e2eabf26614d35690ae790cb56400afb6e32d0c005911e0eb42deaee7dc2602 diff --git a/dev-python/boto3/boto3-1.20.46.ebuild b/dev-python/boto3/boto3-1.20.46.ebuild new file mode 100644 index 000000000000..48ea5aa483a1 --- /dev/null +++ b/dev-python/boto3/boto3-1.20.46.ebuild @@ -0,0 +1,60 @@ +# 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_{8..10} ) +inherit distutils-r1 + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE="https://github.com/boto/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/${PN}/archive/${PV}.tar.gz -> ${P}.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.3.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mock[${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} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index efcafb9827c9..13ea44065edc 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -7,3 +7,4 @@ DIST botocore-1.23.42.tar.gz 8734201 BLAKE2B 009fd49716ce5a1453c83f279f36b8b1744 DIST botocore-1.23.43.tar.gz 8739652 BLAKE2B 5520a9933ab87769c8459a0925822e36eba1741512bd11b575ba260ab0ea43aae66c737d66d3488aeb04cc10a2931af9136f7f80fc10bcdda309234de9bb6414 SHA512 51b11df7bf43a011df904e92285ecc373888e42e3d7e349e47df42c78432a60f692ccfbeb01fc598f9d81861823578a3cc1798340196468ee3e30de7e6a9dd03 DIST botocore-1.23.44.tar.gz 8741781 BLAKE2B e76dcbf7a57421e4df3afa9317a1fcc66c0f7e00a3112384537daafb349648e38ec7cc6fb4b808fbfe69a6c6cfd30f04bbefb7fcc246d2b647ea4fc78aa17378 SHA512 59562e8ef5e18465a1981c188a84112326ab5f7d7ed4f72eacea3a88d43d615c8b3514d7bf6a2daf92ac29dc8bb24f8f878c318c8f463cd1ceb7e237f18dfc26 DIST botocore-1.23.45.tar.gz 8742820 BLAKE2B af2304abeb8be458ad46c957e7865ad37b3ffc0f2adf3b412cf2713235c0f5a31005da7630b7d882cdde56c2ea34bbe2562104b8399f2f4b7965d48c9a4276e3 SHA512 bddedc8bb2b70758b1508b1c9f62c82016b2e397b95732243ad3c994cb2fbcf19ed29c8f7bd295498d31b385bf4ad2975cf7733e57c9cbeadbe290e042ea2c0f +DIST botocore-1.23.46.tar.gz 8743469 BLAKE2B 804e4ea772bbc74a12645fa5b5e1056115aa232eba0a21f347686143721a0a5e5d2bebe3841ff68fd0a3e464fa8fe88cb78e349c33eb22172b7481d1b5de7b28 SHA512 241d44bb509847e97744a0d4b8e38f44eba1f0e0b11d36b3194cd85b06b5a841dd5bee91b4602ddf3bc36c6945638104f22ca0083150fb5331f4c62a9e22c947 diff --git a/dev-python/botocore/botocore-1.23.46.ebuild b/dev-python/botocore/botocore-1.23.46.ebuild new file mode 100644 index 000000000000..79a1cd5da0e2 --- /dev/null +++ b/dev-python/botocore/botocore-1.23.46.ebuild @@ -0,0 +1,65 @@ +# 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_{8..10} ) +inherit distutils-r1 + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE="https://github.com/boto/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="mirror://pypi/${PN:0:1}/${PN}/${P}.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[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}/1.8.6-tests-pass-all-env-vars-to-cmd-runner.patch" +) + +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 + ) + + epytest tests/{functional,unit} +} diff --git a/dev-python/dask/Manifest b/dev-python/dask/Manifest index 0d136025a401..0025f79a2561 100644 --- a/dev-python/dask/Manifest +++ b/dev-python/dask/Manifest @@ -1,3 +1,4 @@ DIST dask-2021.11.0.tar.gz 3971871 BLAKE2B be2c28782e3e870b62e70041bd7572783ff9eef61c27d2fa092f00b74ae23877163e3c00f59f67c5c39b6fefd723cb2c25cdc58b5f5c76c08ef1d686f256cb25 SHA512 cebdef68b2c40348c84627505f4e1f17f998aed603d590be5acc7b78233362330352be395396be00f72215b738e9393ef08eeae8ed0fb933466c1c2d6158e5ea DIST dask-2021.12.0.gh.tar.gz 3987797 BLAKE2B f6c1954ff41048861fcedbc56bd658989dece828613344e876e097d03f93338c194d66e62dd9fa1605b5dfd0362374a1dd2e00a383eec4476db16ac04de29266 SHA512 e9ce4613bf1ccfda7ce85bd90ff8f24d59335f02a941c12335214a2636f46ae1e1e8c2b1777ca9b9dd83f190071a2893b02bee129a68e9b7468c30f2a45df68e DIST dask-2022.01.0.gh.tar.gz 4903414 BLAKE2B 495531085d126d51c03b1f6dda490cd2d859276821a6d1ab6c2b90fcf6a4cec925b9fcafdf3b3da46344391e77a9bd09cf023f25b0f84bbe6ca8fa36b0bed73f SHA512 3fc25f6ccfca8354e3c6e2425f4d2c8b85807944b02cd1e872931f5b34d82c9afc6f5ffb17b5f835c531ebac4b6759ddaa81897a6f3d2aeee2c09935f221f62d +DIST dask-2022.01.1.gh.tar.gz 4916694 BLAKE2B b793b8931818e619ef701f5145a27b8c90e237a51b79f370e994a5e7cdace115808c8f657836785059b1cb495b64f85cb5331759de76c79e55f2cd45f1c3494e SHA512 82789735279c71cff5a0123aa95d3311bd5d08f0332edc22468287e573e4b293a13da514a1844879073490b23ead2ff86f4492175c0a4211f727e8537bac5662 diff --git a/dev-python/dask/dask-2022.01.1.ebuild b/dev-python/dask/dask-2022.01.1.ebuild new file mode 100644 index 000000000000..77fb824ab55c --- /dev/null +++ b/dev-python/dask/dask-2022.01.1.ebuild @@ -0,0 +1,58 @@ +# 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_{8..10} ) + +inherit distutils-r1 + +DESCRIPTION="Task scheduling and blocked algorithms for parallel processing" +HOMEPAGE="https://dask.org/" +SRC_URI=" + https://github.com/dask/dask/archive/${PV}.tar.gz -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + >=dev-python/cloudpickle-0.2.2[${PYTHON_USEDEP}] + >=dev-python/fsspec-0.6.0[${PYTHON_USEDEP}] + >=dev-python/numpy-1.15.1[${PYTHON_USEDEP}] + >=dev-python/pandas-0.25.0[${PYTHON_USEDEP}] + >=dev-python/packaging-20.0[${PYTHON_USEDEP}] + >=dev-python/partd-0.3.10[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}] + >=dev-python/toolz-0.8.2[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/toolz[${PYTHON_USEDEP}] + test? ( + dev-python/moto[${PYTHON_USEDEP}] + dev-python/numexpr[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}"/dask-2021.10.0-warning.patch +) + +EPYTEST_DESELECT=( + # another test relying on -Werror + "dask/array/tests/test_overlap.py::test_map_overlap_no_depth[None]" + # TODO + dask/array/tests/test_reductions.py::test_mean_func_does_not_warn + dask/tests/test_config.py::test__get_paths +) + +python_test() { + epytest -p no:flaky -m "not network" +} diff --git a/dev-python/pytest-mock/pytest-mock-3.7.0.ebuild b/dev-python/pytest-mock/pytest-mock-3.7.0.ebuild index bd52ca1d9ea7..3e6c060c2c67 100644 --- a/dev-python/pytest-mock/pytest-mock-3.7.0.ebuild +++ b/dev-python/pytest-mock/pytest-mock-3.7.0.ebuild @@ -15,17 +15,20 @@ LICENSE="MIT" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" -RDEPEND=">=dev-python/pytest-6[${PYTHON_USEDEP}]" -BDEPEND="dev-python/setuptools_scm[${PYTHON_USEDEP}]" +RDEPEND=" + >=dev-python/pytest-6[${PYTHON_USEDEP}]" +BDEPEND=" + dev-python/setuptools_scm[${PYTHON_USEDEP}] + test? ( + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + )" distutils_enable_tests pytest -src_prepare() { - sed -e 's/runpytest_subprocess(/&"-p","no:xprocess",/' -i tests/test_pytest_mock.py || die - distutils-r1_src_prepare -} - python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=pytest_mock,pytest_asyncio.plugin + if has_version dev-python/mock; then local EPYTEST_DESELECT=( tests/test_pytest_mock.py::test_standalone_mock diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index 9b2dc841054c..e25263ee7e1d 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -42,7 +42,7 @@ # relevant to the packages using distutils-r1. # # For more information, please see the Python Guide: -# https://dev.gentoo.org/~mgorny/python-guide/ +# https://projects.gentoo.org/python/guide/ case "${EAPI:-0}" in [0-5]) @@ -862,13 +862,13 @@ _distutils-r1_backend_to_key() { local backend=${1} case ${backend} in - flit_core.buildapi) + flit_core.buildapi|flit.buildapi) echo flit ;; pdm.pep517.api) echo pdm ;; - poetry.core.masonry.api) + poetry.core.masonry.api|poetry.masonry.api) echo poetry ;; setuptools.build_meta|setuptools.build_meta:__legacy__) @@ -950,9 +950,30 @@ distutils-r1_python_compile() { eerror "(backend: ${build_backend})" die "DISTUTILS_USE_PEP517 value incorrect" fi + + # fix deprecated backends up + local new_backend= + case ${build_backend} in + flit.buildapi) + new_backend=flit_core.buildapi + ;; + poetry.masonry.api) + new_backend=poetry.core.masonry.api + ;; + esac + + if [[ -n ${new_backend} ]]; then + if [[ ! ${_DISTUTILS_DEPRECATED_BACKEND_WARNED} ]]; then + eqawarn "${build_backend} backend is deprecated. Please see:" + eqawarn "https://projects.gentoo.org/python/guide/distutils.html#deprecated-pep-517-backends" + eqawarn "The eclass will be using ${new_backend} instead." + _DISTUTILS_DEPRECATED_BACKEND_WARNED=1 + fi + build_backend=${new_backend} + fi fi - einfo "Building a wheel via ${build_backend}" + einfo " Building the wheel via ${build_backend}" "${EPYTHON}" -c "import ${build_backend%:*}; \ import os; \ ${build_backend/:/.}.build_wheel(os.environ['WHEEL_BUILD_DIR'])" || @@ -964,6 +985,7 @@ distutils-r1_python_compile() { fi local root=${BUILD_DIR}/install + einfo " Installing the wheel to ${root}" # NB: --compile-bytecode does not produce the correct paths, # and python_optimize doesn't handle being called outside D, # so we just defer compiling until the final merge @@ -982,14 +1004,30 @@ distutils-r1_python_compile() { esetup.py clean -a fi + # copy executables to python-exec directory + # we do it early so that we can alter bindir recklessly + local bindir=${root}${EPREFIX}/usr/bin + local rscriptdir=${root}$(python_get_scriptdir) + [[ -d ${rscriptdir} ]] && + die "${rscriptdir} should not exist!" + if [[ -d ${bindir} ]]; then + mkdir -p "${rscriptdir}" || die + cp -a --reflink=auto "${bindir}"/. "${rscriptdir}"/ || die + fi + # enable venv magic inside the install tree - mkdir -p "${root}${EPREFIX}"/usr/bin || die - ln -s "${PYTHON}" "${root}${EPREFIX}/usr/bin/${EPYTHON}" || die - ln -s "${EPYTHON}" "${root}${EPREFIX}/usr/bin/python3" || die - ln -s "${EPYTHON}" "${root}${EPREFIX}/usr/bin/python" || die - cat > "${root}${EPREFIX}"/usr/pyvenv.cfg <<-EOF || die + mkdir -p "${bindir}" || die + ln -s "${PYTHON}" "${bindir}/${EPYTHON}" || die + ln -s "${EPYTHON}" "${bindir}/python3" || die + ln -s "${EPYTHON}" "${bindir}/python" || die + cat > "${bindir}"/pyvenv.cfg <<-EOF || die include-system-site-packages = true EOF + + # we need to change shebangs to point to the venv-python + find "${bindir}" -type f -exec sed -i \ + -e "1s@^#!\(${EPREFIX}/usr/bin/\(python\|pypy\)\)@#!${root}\1@" \ + {} + || die fi } @@ -1105,16 +1143,9 @@ distutils-r1_python_install() { local scriptdir=${EPREFIX}/usr/bin if [[ ${DISTUTILS_USE_PEP517} ]]; then local root=${BUILD_DIR}/install - local rscriptdir=${root}$(python_get_scriptdir) - [[ -d ${rscriptdir} ]] && - die "${rscriptdir} should not exist!" - # remove venv magic - rm "${root}${EPREFIX}"/usr/{pyvenv.cfg,bin/{python,python3,${EPYTHON}}} || die - find "${root}${EPREFIX}"/usr/bin -empty -delete || die - if [[ ! ${DISTUTILS_SINGLE_IMPL} && -d ${root}${EPREFIX}/usr/bin ]]; then - mkdir -p "${rscriptdir%/*}" || die - mv "${root}${EPREFIX}/usr/bin" "${rscriptdir}" || die - fi + # remove the altered bindir, executables from the package + # are already in scriptdir + rm -r "${root}${scriptdir}" || die else local root=${D%/}/_${EPYTHON} [[ ${DISTUTILS_SINGLE_IMPL} ]] && root=${D%/} diff --git a/eclass/python-any-r1.eclass b/eclass/python-any-r1.eclass index 7af9474d9a1f..282c449f2a03 100644 --- a/eclass/python-any-r1.eclass +++ b/eclass/python-any-r1.eclass @@ -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 # @ECLASS: python-any-r1.eclass @@ -36,7 +36,7 @@ # both. # # For more information, please see the Python Guide: -# https://dev.gentoo.org/~mgorny/python-guide/ +# https://projects.gentoo.org/python/guide/ case "${EAPI:-0}" in [0-5]) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;; diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass index 4b51cc18b959..40ad4ef4bbf8 100644 --- a/eclass/python-r1.eclass +++ b/eclass/python-r1.eclass @@ -28,7 +28,7 @@ # both. # # For more information, please see the Python Guide: -# https://dev.gentoo.org/~mgorny/python-guide/ +# https://projects.gentoo.org/python/guide/ case "${EAPI:-0}" in [0-5]) diff --git a/eclass/python-single-r1.eclass b/eclass/python-single-r1.eclass index 5a4bcea55da4..574ee9cfc04e 100644 --- a/eclass/python-single-r1.eclass +++ b/eclass/python-single-r1.eclass @@ -35,7 +35,7 @@ # to inherit both. # # For more information, please see the Python Guide: -# https://dev.gentoo.org/~mgorny/python-guide/ +# https://projects.gentoo.org/python/guide/ case "${EAPI:-0}" in [0-5]) diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass index 3d55bc0905f2..c8367f8065f4 100644 --- a/eclass/python-utils-r1.eclass +++ b/eclass/python-utils-r1.eclass @@ -17,7 +17,7 @@ # functions. It can be inherited safely. # # For more information, please see the Python Guide: -# https://dev.gentoo.org/~mgorny/python-guide/ +# https://projects.gentoo.org/python/guide/ # NOTE: When dropping support for EAPIs here, we need to update # metadata/install-qa-check.d/60python-pyc |