diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2021-11-19 01:41:31 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2021-11-19 01:41:31 +0000 |
| commit | c1d7916da2a070c0259ad1e24c838d0e0e994f6e (patch) | |
| tree | 38580362498bc71d8a981ff3df7b2423dfa56031 /dev-python | |
| parent | 073d48d4acaf695eb63fe7b2be1279548e0e796c (diff) | |
| download | baldeagleos-repo-c1d7916da2a070c0259ad1e24c838d0e0e994f6e.tar.gz baldeagleos-repo-c1d7916da2a070c0259ad1e24c838d0e0e994f6e.tar.xz baldeagleos-repo-c1d7916da2a070c0259ad1e24c838d0e0e994f6e.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
28 files changed, 745 insertions, 74 deletions
diff --git a/dev-python/aiohttp/aiohttp-3.8.1.ebuild b/dev-python/aiohttp/aiohttp-3.8.1.ebuild index b10d7b79b42a..002926c23647 100644 --- a/dev-python/aiohttp/aiohttp-3.8.1.ebuild +++ b/dev-python/aiohttp/aiohttp-3.8.1.ebuild @@ -15,7 +15,7 @@ SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~riscv ~sparc ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" RDEPEND=" app-arch/brotli[python,${PYTHON_USEDEP}] diff --git a/dev-python/aiosignal/aiosignal-1.2.0.ebuild b/dev-python/aiosignal/aiosignal-1.2.0.ebuild index 357b3da207df..13016e152f62 100644 --- a/dev-python/aiosignal/aiosignal-1.2.0.ebuild +++ b/dev-python/aiosignal/aiosignal-1.2.0.ebuild @@ -16,7 +16,7 @@ SRC_URI=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~riscv ~sparc ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" RDEPEND=" >=dev-python/frozenlist-1.1.0[${PYTHON_USEDEP}]" diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 16874eed0c1f..f96d08f2755a 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -5,3 +5,4 @@ DIST boto3-1.20.5.tar.gz 439166 BLAKE2B c140e15e497e6cdf6b4b77bb99e0a0f5ac01d5b5 DIST boto3-1.20.6.tar.gz 440133 BLAKE2B b154714261372cebb8643d529b66fe3a42d30e056cf2a454092d598c51d0cdef723980834be6a36abb892d3022ae8ef67053b22bb176f540e67c3f37422155d8 SHA512 d8d66a761f03beeca10fea8446de1136d418a93b21065aebfefcafe2abfd9b5bbfa243594f54647ad80547e48348086e2be2de129b89f9ca71f308579f11a0b7 DIST boto3-1.20.7.tar.gz 440428 BLAKE2B f1b2b36799e6c22a40c04226443f15f9174d68a02d2f731df84f6ff0962158e9d940ae5bc04d25fe99a74f105946026ccb66547838734294d649d661071c1e3b SHA512 85493a85789caa5453a4dafa1472c8ecd75c05a819227909092ae03690243eb103c1588cb10e5e5277ab9df49673b9b54fda064a412bdcf6b9e11238b277f450 DIST boto3-1.20.8.tar.gz 441260 BLAKE2B 9a9e6620fecbcbb4cd28c7ed8d1c6a42c5325e8c44529fa1855c30e3b3a20ab5963e533cfbda1877204075ac2917e8bf3335fa56dcc146813554a33b52bc80af SHA512 6223def67826aaf98dbf5102755f2e6204558534fbbc34552e411ce64ebba4bd03d01f984246ee7c70d06fb5a19313a4da041aa31b33e75867d0591973037009 +DIST boto3-1.20.9.tar.gz 443171 BLAKE2B be0300a416ba0542b79e97db9fcd4d65cdef5acd8234943316125fe2b24135dd26212f2b2dcff867a8981b56bfb61ac1a6d63985f6c76b8f967d40917e07ede8 SHA512 a6a7cb7a64b7bc652aab80dbe47471fa94f1d24dfc39ef0c774aa0ab10dcfd196ccceee29c1b5149f9b70f54888e600f5769a5a481bb1195039ced3efc68e883 diff --git a/dev-python/boto3/boto3-1.20.9.ebuild b/dev-python/boto3/boto3-1.20.9.ebuild new file mode 100644 index 000000000000..ace657bcbe4d --- /dev/null +++ b/dev-python/boto3/boto3-1.20.9.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{6,7,8,9,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 ~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 46b202160613..1c6da427abf2 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -5,3 +5,4 @@ DIST botocore-1.23.5.tar.gz 8374467 BLAKE2B 467092e7d8aa5ccb756132669049865445a4 DIST botocore-1.23.6.tar.gz 8387968 BLAKE2B 415a177d591a0ef369f17b8f02563be0fb53bc4e65c2767f41ca11300939585a10146874b6ac5297cdd3dcb36cf6fd2065fd09f3c612c4ba1d954b03a5b15579 SHA512 a46e45b7bb67d7c4bcc5508f38448b9ed3778ed6b6080239459b22b7f753adaf12e8d64496f7d7c71b33bb17ae1744000e9269ea0f545286e56fabe39e7f0340 DIST botocore-1.23.7.tar.gz 8391467 BLAKE2B dd6cad44c1b8109b76c44bfffa45e74da0fbeaa027429860640e33134dc5f6e5bb813b46d8b662d80b89af46d437c6fb962f0e0ab1edbeca3ee790f3b6d029bf SHA512 a3270da3b6d906bc2372af221400e14039868598ccd56f40f976bcc2638f300ae9990ff367f76e5b5cdf8d46a8a37716865f9a40ca7e79b73a5b8dbcb2b1af7f DIST botocore-1.23.8.tar.gz 8407591 BLAKE2B 3b25e56d2408190c3ca6005e902b75dc4e5e7f0909d0f5d79c633e897c0b8b161dde542ccdb02ed6a7e3220d14c1225051e79cc47c945948b750cb58dee65f69 SHA512 11fd831da6e08574d78e3e45b79957dc6c6055ac55955eca7112568a211974a8f985e583b5bbd5f9799117ccb17f71c528930b8b4cc6a113fdbdbf6f72bb1fde +DIST botocore-1.23.9.tar.gz 8425944 BLAKE2B 0c4cac5574e2bfdee6507221f2901313c50cd05ce97a4ccef75fc6498c963bc2cd144fc7d38a9c71291ccd6f733bb8620b6d4fe145b1fc1ff82c4fbbb5500463 SHA512 983babc0053730e6f300093ed5549a3660c9c0610454e101c0f30f7cf40f73ea93964b2e4dd4f981639bb5bc7081b30c9c2146b4194c5b5074d38e7e4bc79a10 diff --git a/dev-python/botocore/botocore-1.23.9.ebuild b/dev-python/botocore/botocore-1.23.9.ebuild new file mode 100644 index 000000000000..43b65ed32e9b --- /dev/null +++ b/dev-python/botocore/botocore-1.23.9.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{6,7,8,9,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 ~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/diskcache/diskcache-5.2.1-r1.ebuild b/dev-python/diskcache/diskcache-5.2.1-r1.ebuild index 5fb6074d6d27..f03e89149d2f 100644 --- a/dev-python/diskcache/diskcache-5.2.1-r1.ebuild +++ b/dev-python/diskcache/diskcache-5.2.1-r1.ebuild @@ -18,7 +18,7 @@ S=${WORKDIR}/python-diskcache-${PV} LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" distutils_enable_sphinx docs distutils_enable_tests pytest diff --git a/dev-python/django_polymorphic/Manifest b/dev-python/django_polymorphic/Manifest index 6077c841e5e5..25721477cab5 100644 --- a/dev-python/django_polymorphic/Manifest +++ b/dev-python/django_polymorphic/Manifest @@ -1 +1,2 @@ DIST django_polymorphic-3.0.0.tar.gz 103298 BLAKE2B f68e53de329a8b922fdf8b6daa212422cca8a0dcb31407e4423e8245fe4200c3d2986ca1c9b46013fcc3ae42cedd9fff006db64ca068f8ebff1e19dca2b45aa1 SHA512 7c7030a622d265db2a6d67c327df3044c6598d36ba9d6433f27171f9c07b34dad7a466372e0f7baefc9d2c344b96a2ff9aa28add1fa131c3869d61e4a4c46222 +DIST django_polymorphic-3.1.tar.gz 104090 BLAKE2B de2a2b38f338a10198d00e70d1813e541bf627e2ba2f5e29f0844c9ec7034badba39c077a195fc8c2f71105f1b4e546b91218b95d2ac47020f0dc2e3a5b0baa8 SHA512 730f617009007f94e935870941fdd8973d0cd5995060afbd138622345de77fa48bf2afe037bfa2ad476cef0a31e90cab1eb55109c470ae815a98e1facfa8f125 diff --git a/dev-python/django_polymorphic/django_polymorphic-3.1.ebuild b/dev-python/django_polymorphic/django_polymorphic-3.1.ebuild new file mode 100644 index 000000000000..39129ab17560 --- /dev/null +++ b/dev-python/django_polymorphic/django_polymorphic-3.1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) +inherit distutils-r1 + +DESCRIPTION="Seamless Polymorphic Inheritance for Django Models" +HOMEPAGE="https://pypi.org/project/django-polymorphic/" +SRC_URI=" + https://github.com/django-polymorphic/django-polymorphic/archive/v${PV}.tar.gz + -> ${P}.tar.gz" +S="${WORKDIR}/${P//_/-}" + +LICENSE="BSD" +KEYWORDS="~amd64 ~x86" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/django-2.1[$PYTHON_USEDEP] +" + +DEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + ${RDEPEND} + dev-python/dj-database-url[${PYTHON_USEDEP}] + ) +" + +python_test() { + "${EPYTHON}" runtests.py || die "Tests fail with ${EPYTHON}" +} diff --git a/dev-python/fasteners/fasteners-0.16.3.ebuild b/dev-python/fasteners/fasteners-0.16.3.ebuild index 8f5d8754cb61..8c769e43332e 100644 --- a/dev-python/fasteners/fasteners-0.16.3.ebuild +++ b/dev-python/fasteners/fasteners-0.16.3.ebuild @@ -14,7 +14,7 @@ SRC_URI=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos" RDEPEND=" dev-python/six[${PYTHON_USEDEP}]" diff --git a/dev-python/frozenlist/frozenlist-1.2.0.ebuild b/dev-python/frozenlist/frozenlist-1.2.0.ebuild index cc17a52f7139..fa48e1bdb189 100644 --- a/dev-python/frozenlist/frozenlist-1.2.0.ebuild +++ b/dev-python/frozenlist/frozenlist-1.2.0.ebuild @@ -16,7 +16,7 @@ SRC_URI=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~riscv ~sparc ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" BDEPEND=" $(python_gen_cond_dep ' diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index 3d610cec26b7..5506edacfa6d 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -1,3 +1,4 @@ DIST hypothesis-python-6.24.2.tar.gz 9168397 BLAKE2B 87070841a01c7c9de79b5d786867024873f7de186bbee01bba708e783fd1268523b2e0398a055c92b782f27d0f67679bf5852bd49371932d277726517d12bd91 SHA512 9e4ee194fe561f8a39a26ab63cad4b6f093b2fcb56d02a5adfc4bdee1d7ccf55e6712d1af41d17155c6e88ecc75e6f191cf2761c2d71c2c052d7e8259cff0326 DIST hypothesis-python-6.24.4.tar.gz 9168664 BLAKE2B fe3d2fa28d7e8f47e4ce60fa91b3e004e3214ff51372b16f56c8328ef08a0dace48545b198511ceefe9f58b907f3b35d65ad2934c936dc1ef0b6393215e8c2d9 SHA512 4c1ea50b3203c2933713a5ebfdf40b64c0f6ab62bad30de446e26c79a8e5212b0669ca2569be9f5367b42471175225952920a68129867b4c94fe76b214b88a47 DIST hypothesis-python-6.24.5.tar.gz 9168940 BLAKE2B 719efd5c307708f3fa205e2096e54ad44009248bd6c03873cbf14eaacb48c5aaf2f444b430418ae3d6d107b53def52a0a6194d9827e94abb1c97af4f12f02072 SHA512 215c4009b9496983c1c3bb3fee7c051fed434c57d48dbcaa5ff0aa42c60c33a507c424eb7e604d323b61c6171d97cbd02d492bcda99bc278b099fd2f3fb074ca +DIST hypothesis-python-6.24.6.tar.gz 9169209 BLAKE2B 448eedad86d41c766d2bb450f18965592e5f8c53bfc341a081591ae916be00e2a9d5e82633059753e6c47b7905cb09a94e634463cd90bd65c87598f8d92bc58c SHA512 6cd13eb1bf33d5a72debbc262f691949b60ee8bcf6a1c3c263a55b4cc4498c1bd0568088f541ef68152219e9a12d7cfd2a53a3d37a6bba0cec7b2b57b4500e42 diff --git a/dev-python/hypothesis/hypothesis-6.24.6.ebuild b/dev-python/hypothesis/hypothesis-6.24.6.ebuild new file mode 100644 index 000000000000..8b48444a4699 --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.24.6.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) +PYTHON_REQ_USE="threads(+),sqlite" + +inherit distutils-r1 multiprocessing optfeature + +DESCRIPTION="A library for property based testing" +HOMEPAGE="https://github.com/HypothesisWorks/hypothesis https://pypi.org/project/hypothesis/" +SRC_URI="https://github.com/HypothesisWorks/${PN}/archive/${PN}-python-${PV}.tar.gz" +S="${WORKDIR}/${PN}-${PN}-python-${PV}/${PN}-python" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +IUSE="cli" + +RDEPEND=" + >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}] + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' python3_{7..9}) + ) +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + dev-python/pexpect[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + !!<dev-python/typing-3.7.4.1 + ) +" + +distutils_enable_tests --install pytest + +python_prepare() { + if ! use cli || ! has "${EPYTHON}" python3.{7..9}; then + sed -i -e '/console_scripts/d' setup.py || die + fi +} + +python_test() { + distutils_install_for_testing + epytest tests/cover tests/pytest tests/quality \ + -p no:pytest-describe \ + -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" +} + +pkg_postinst() { + optfeature "datetime support" dev-python/pytz + optfeature "dateutil support" dev-python/python-dateutil + optfeature "numpy support" dev-python/numpy + optfeature "django support" dev-python/django dev-python/pytz + optfeature "pandas support" dev-python/pandas + optfeature "pytest support" dev-python/pytest +} diff --git a/dev-python/identify/Manifest b/dev-python/identify/Manifest index 1fa64a7e530f..c3a304080b5f 100644 --- a/dev-python/identify/Manifest +++ b/dev-python/identify/Manifest @@ -1,3 +1,4 @@ DIST identify-2.3.3.tar.gz 101227 BLAKE2B df5a99e70aee5ed17bffece82e81c98f0a09496b14eacb6c068cf930beccf7905610e6b0240c8f385266ab12c77db6ee482f26b05252166ab22e0e7089f5cf7f SHA512 ed325dc7b1692add1c72aeb5479bba11d36a70dbdbf59f3ce0080ff9d8fab6ea3c8094050bd8ed3ef0bb4dd2344eacdfcdb3f4c907ef5a51163a68d2ee59812e DIST identify-2.3.5.tar.gz 101259 BLAKE2B 9fac1817c173fac8b82fd805c5c5602d964cccd001e1d7dc6d7350c72b4f436613e47989fdd2e6f866d56c52871a4d1aa848d1761b03cf728446d483276bd6a6 SHA512 89d40df2fae167a348c14b5fa20cf3a3fc83e1f42a6fabbeb02935f873a5a0366cfddf51c358f35f1bf15846b357647d229a180afec4e71fdf6ba44c0d109bd6 DIST identify-2.3.6.tar.gz 101267 BLAKE2B 227d3aba8103c4442c16f3b6cc93ed05a4ed642eb850c790ff2345f81447d3e4ac5c162ff36787b43ed31fe9d2311ab4d1b53041c254578fb294529e2d0d0739 SHA512 d2ea94d975c80120367fd58d2f6a3284175c20f6a938a3514d64eb97bdf8eb9d8334c60b2d5806ac192dcf23836993f1586280624fcb40dcf62a6d358917f7d7 +DIST identify-2.3.7.tar.gz 101296 BLAKE2B 0facbd03d84c453e63133741fd688e195785a2ac79ee728bbe3a3e42e4d53a7d17cc935f7fdade37ac0329a52db4bd514be917c82a45bbe0c88f1999d0a248b6 SHA512 00ba94ac2b5d762b500a51a9de6ac6ee863235b5d928776d033317fe7b250360465b7fa011ce04a4f2c63d1e27b1b1b687f5e4e8b3c426ede71ebae91c172863 diff --git a/dev-python/identify/identify-2.3.7.ebuild b/dev-python/identify/identify-2.3.7.ebuild new file mode 100644 index 000000000000..bae7649cf429 --- /dev/null +++ b/dev-python/identify/identify-2.3.7.ebuild @@ -0,0 +1,19 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) +inherit distutils-r1 + +DESCRIPTION="File identification library for Python" +HOMEPAGE="https://github.com/pre-commit/identify" +SRC_URI="https://github.com/pre-commit/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~riscv ~x86" + +RDEPEND="dev-python/editdistance-s[${PYTHON_USEDEP}]" + +distutils_enable_tests pytest diff --git a/dev-python/nose2/nose2-0.10.0.ebuild b/dev-python/nose2/nose2-0.10.0.ebuild index f74bdaea6de5..2c8af49ad8a9 100644 --- a/dev-python/nose2/nose2-0.10.0.ebuild +++ b/dev-python/nose2/nose2-0.10.0.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/nose-devs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 ~hppa ~sparc x86" +KEYWORDS="amd64 ~hppa ~ppc ~ppc64 ~sparc x86" RDEPEND=" >=dev-python/coverage-4.4.1[${PYTHON_USEDEP}] diff --git a/dev-python/oslo-utils/Manifest b/dev-python/oslo-utils/Manifest index ad1f2617369f..3c27cd11f82c 100644 --- a/dev-python/oslo-utils/Manifest +++ b/dev-python/oslo-utils/Manifest @@ -1,2 +1,3 @@ DIST oslo.utils-4.10.0.tar.gz 100481 BLAKE2B 45bb815943912b08256cfba943fb729202346eb8b2ec4b3d2ec5ca8ffed55e321f2abe2a579202240b529e4520bbd70a23ec0dec760f74aaffdd236ee2769723 SHA512 ff51fcd4d12701bf9e729d7bc1e8d6091a7768e7583fcf7ba879e69ad53c6425216c76fef783012f3d9f7cc5947179c4470225416e314c9c0836d201a6d76c14 DIST oslo.utils-4.11.0.tar.gz 100897 BLAKE2B a020682e89ba86a4b8390c842ffabcfd3d923168c89071c380d50de289e91a5c0247ce47dea3f17675ac14fe7e8129744bf7f5aa8a4aad6ff90d1d01cbd2b589 SHA512 837d111bec78364501a4d92039f76cdfc761b9302eae4badf3700d983f2ff19ffa3497835fef81c28b28760b9aa0325aecafa559b00b3d7593c1d1b2ca916702 +DIST oslo.utils-4.12.0.tar.gz 100927 BLAKE2B 6f175d7c08a9084af083d1e2a339ef81c9d49f832f0c94b17fe652485f077d787731bbef61bb7b4cc30188b776b7494f53700b76a736be70cff0ce5b4da5b11d SHA512 a31d307199584d6aa891464e0d9ef218d0a2aa6b54337e081ac3d787d883dfa088484f894c421c4cbf428ce2a53b6547770d469299ec7b9d0159e5a38fde06e3 diff --git a/dev-python/oslo-utils/oslo-utils-4.12.0.ebuild b/dev-python/oslo-utils/oslo-utils-4.12.0.ebuild new file mode 100644 index 000000000000..8e1700c3447c --- /dev/null +++ b/dev-python/oslo-utils/oslo-utils-4.12.0.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) +inherit distutils-r1 + +MY_P=${P/-/.} +DESCRIPTION="Oslo Utility library" +HOMEPAGE="https://launchpad.net/oslo" +SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" + +RDEPEND=" + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}] + >=dev-python/packaging-20.4[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}] + >dev-python/eventlet-0.23.0[${PYTHON_USEDEP}] + test? ( + >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}] + >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}] + >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}] + >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}] + >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests unittest + +src_prepare() { + # spurious rdep + sed -i -e '/pbr/d' requirements.txt || die + distutils-r1_src_prepare +} diff --git a/dev-python/pbr/Manifest b/dev-python/pbr/Manifest index d05cd39bd9e2..d8769b3c13f9 100644 --- a/dev-python/pbr/Manifest +++ b/dev-python/pbr/Manifest @@ -1,2 +1,3 @@ DIST pbr-5.6.0.tar.gz 125220 BLAKE2B fc26737857195b0dbe16ecbcbc6e389b53a61105b3bc66e714bb4fcb4907e4329ee7c76b5748fa7d892bf231522e6ff9d414328ae0d97e6262b608c44c737764 SHA512 1dca9020a84e3b9be71fa07e2feb37bbdb2bb69d0b4f69fdcee0fc3c7fe4d84ac2e2079d6bd7560192833f069ca6f5dc27d03a3ef87c168eed18eee8579647fc DIST pbr-5.7.0.tar.gz 126776 BLAKE2B ff41c0b3d2354dff065bda4dc9278e42d06accc9fab96bdd734cb462682caf240d1e5d3a6e6c1f52c2986f92d4a1b11b74f5d563a9e8bd5e75aaafe7c3b30108 SHA512 076e6f918db46df74688e749242331161b858def6135d4c9695c24cdfe7db3185169787a6d5555a40a9d0e87ea54000be6419701f162283047bee41f36811535 +DIST pbr-5.8.0.tar.gz 127170 BLAKE2B 7fbd166f01617617c0dff568d1bb88a4be03d62f4f0c3ca1a7d16a7cefb20dcc924ffbb8df0d2d34516cfe3b60b8e380a0eb4a1071220bb4ab695d3d7c88d824 SHA512 61a8eb63bb76ce8515c4203d60df7c973e02ea61b603d155b611724efb2b15c42416bf8a0285451d3378056d390bbf63d991cec32cc4114ae5cc30ebae0a5a69 diff --git a/dev-python/pbr/pbr-5.8.0.ebuild b/dev-python/pbr/pbr-5.8.0.ebuild new file mode 100644 index 000000000000..6527b8b283a4 --- /dev/null +++ b/dev-python/pbr/pbr-5.8.0.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) +PYTHON_REQ_USE="threads(+)" +inherit distutils-r1 + +DESCRIPTION="Inject some useful and sensible default behaviors into setuptools" +HOMEPAGE="https://github.com/openstack/pbr/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux" + +# git is needed for tests, see https://bugs.launchpad.net/pbr/+bug/1326682 and https://bugs.gentoo.org/show_bug.cgi?id=561038 +# docutils is needed for sphinx exceptions... https://bugs.gentoo.org/show_bug.cgi?id=603848 +# stestr is run as external tool +BDEPEND=" + test? ( + $(python_gen_cond_dep ' + >=dev-python/wheel-0.32.0[${PYTHON_USEDEP}] + >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}] + >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] + >=dev-python/six-1.12.0[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}] + >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}] + >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20.0.3[${PYTHON_USEDEP}] + dev-vcs/git + ' 'python*') + )" + +distutils_enable_tests unittest + +# This normally actually belongs here. +python_prepare_all() { + # TODO: investigate + sed -e s':test_console_script_develop:_&:' \ + -e s':test_console_script_install:_&:' \ + -i pbr/tests/test_core.py || die + # broken on pypy3 + # https://bugs.launchpad.net/pbr/+bug/1881479 + sed -e 's:test_generates_c_extensions:_&:' \ + -i pbr/tests/test_packaging.py || die + rm pbr/tests/test_wsgi.py || die "couldn't remove wsgi network tests" + # installs random packages via pip from the Internet + sed -e 's:test_requirement_parsing:_&:' \ + -e 's:test_pep_517_support:_&:' \ + -i pbr/tests/test_packaging.py || die + + distutils-r1_python_prepare_all +} + +python_test() { + if [[ ${EPYTHON} != python* ]]; then + einfo "Testing on ${EPYTHON} is not supported at the moment" + return + fi + + distutils_install_for_testing + eunittest -b +} diff --git a/dev-python/protobuf-python/Manifest b/dev-python/protobuf-python/Manifest index e4219af26c33..e5d6443b5d31 100644 --- a/dev-python/protobuf-python/Manifest +++ b/dev-python/protobuf-python/Manifest @@ -1,4 +1,3 @@ -DIST protobuf-3.15.8.tar.gz 5285277 BLAKE2B 798fc011ac03cdc2406acf5845c667d8482082044bdace06c2c1d02b5b1b69c1b1f30e29774180dc1801a1d21d62e2ce50325105859564a1e36d3fe478e64d8b SHA512 56fc6df2dae14eee0fb67dd4204fc1ec54a18d994a69c9e42c7888d0cd50d269d1c5e1445d74f0fa705850d4ac86a22d86781e09769a716e5c6f829b15b05592 DIST protobuf-3.16.0.tar.gz 5299781 BLAKE2B 9ace02a6038c31b7393671fb2ccd6a4866a3f8b7d87d2bc8371f49d65b9180f10792ca2430a83449dfa7d785a1244dac23c20756414c9d1e7c7e871a8038b123 SHA512 0191e5a6a23d03f691e883e259f6d06a0ac8eef427455bc7d1cc70b6f0ed260e4ad8f360c836fd4bdc95ec0ca314c887cbf7acbcda60e03cdfe69e4cd275bff5 DIST protobuf-3.17.0.tar.gz 5185780 BLAKE2B a168619df72cdf097c7ddfd50aca96a2101bf73e7c1c842c020e6ee08a853db8674a86ca999b7706da3dd21d4d3d2159241c93232efc693701962f3a54a382e9 SHA512 36ed2de641849ce01531ff1207f62a0748f811519c40622a119a17a1e709864382de81481fb58f374a025948971c48416e7e6de9c00512a78633c7a8a3aa3a36 DIST protobuf-3.17.1.tar.gz 5192666 BLAKE2B 7f912db7e0835aaa42628fcf564a5666e2cbfa021bb35638a5eec53c3c457f1e747225dea54f732b7239a1520febca9bc20c824b1938f100796caa3ac2133bc1 SHA512 5a18aa3c1dab040dc6d22310a8503241081106acf7ca89079d7b416533d7c2cdd47719dc9023e6bc26969f0f1c796550260a04034a403c69752f6a3a7a651bb8 diff --git a/dev-python/protobuf-python/protobuf-python-3.15.8.ebuild b/dev-python/protobuf-python/protobuf-python-3.15.8.ebuild deleted file mode 100644 index 43e8260a96b4..000000000000 --- a/dev-python/protobuf-python/protobuf-python-3.15.8.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 2008-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -PYTHON_COMPAT=( python3_{6,7,8,9,10} ) -DISTUTILS_USE_SETUPTOOLS="bdepend" - -inherit distutils-r1 - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" - EGIT_SUBMODULES=() -fi - -DESCRIPTION="Google's Protocol Buffers - Python bindings" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" -if [[ "${PV}" == "9999" ]]; then - SRC_URI="" -else - SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz" -fi - -LICENSE="BSD" -SLOT="0/26" -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="" - -BDEPEND="${PYTHON_DEPS} - ~dev-libs/protobuf-${PV} - dev-python/namespace-google[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}]" -DEPEND="${PYTHON_DEPS} - ~dev-libs/protobuf-${PV}" -RDEPEND="${BDEPEND}" - -S="${WORKDIR}/protobuf-${PV}/python" - -if [[ "${PV}" == "9999" ]]; then - EGIT_CHECKOUT_DIR="${WORKDIR}/protobuf-${PV}" -fi - -python_prepare_all() { - pushd "${WORKDIR}/protobuf-${PV}" > /dev/null || die - eapply "${FILESDIR}/${PN}-3.13.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch" - eapply_user - popd > /dev/null || die - - distutils-r1_python_prepare_all -} - -python_configure_all() { - mydistutilsargs=(--cpp_implementation) -} - -python_test() { - esetup.py test -} - -python_install_all() { - distutils-r1_python_install_all - - find "${ED}" -name "*.pth" -type f -delete || die -} diff --git a/dev-python/protobuf-python/protobuf-python-9999.ebuild b/dev-python/protobuf-python/protobuf-python-9999.ebuild index 0b7e28fe4f7d..e9064050987d 100644 --- a/dev-python/protobuf-python/protobuf-python-9999.ebuild +++ b/dev-python/protobuf-python/protobuf-python-9999.ebuild @@ -23,7 +23,7 @@ else fi LICENSE="BSD" -SLOT="0/28" +SLOT="0/30" KEYWORDS="" IUSE="" diff --git a/dev-python/pydecomp/pydecomp-0.3-r2.ebuild b/dev-python/pydecomp/pydecomp-0.3-r2.ebuild index 660ba8de6555..c61a41760f08 100644 --- a/dev-python/pydecomp/pydecomp-0.3-r2.ebuild +++ b/dev-python/pydecomp/pydecomp-0.3-r2.ebuild @@ -14,7 +14,7 @@ if [[ ${PV} == "9999" ]] ; then inherit git-r3 else SRC_URI="https://dev.gentoo.org/~dolsen/releases/${PN}/pyDeComp-${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86" S="${WORKDIR}/pyDeComp-${PV}" fi diff --git a/dev-python/pyudev/files/pyudev-0.22-fix-hypothesis.patch b/dev-python/pyudev/files/pyudev-0.22-fix-hypothesis.patch new file mode 100644 index 000000000000..7489a890edba --- /dev/null +++ b/dev-python/pyudev/files/pyudev-0.22-fix-hypothesis.patch @@ -0,0 +1,142 @@ +commit c27845613527091201160a578eacd36a538dea81 +Author: mulhern <amulhern@redhat.com> +Date: Thu May 3 09:12:26 2018 -0400 + + Eliminate Hypothesis warnings + + * Reduce the max_examples value so that tests don't trigger Hypothesis's + deadline check. + * Turn generators into lists, so that Hypothesis can consistently repeat the + tests (presumably for shrinking). + + Signed-off-by: mulhern <amulhern@redhat.com> + +diff --git a/tests/_constants.py b/tests/_constants.py +index fb85f30..7003a5c 100644 +--- a/tests/_constants.py ++++ b/tests/_constants.py +@@ -53,7 +53,7 @@ def _check_device(device): + return False + + +-_DEVICE_DATA = udev.DeviceDatabase.db() ++_DEVICE_DATA = [d for d in udev.DeviceDatabase.db()] + _DEVICES = [Devices.from_path(_CONTEXT, d.device_path) for d in _DEVICE_DATA] + + +@@ -69,7 +69,7 @@ def device_strategy(require_existing=True, filter_func=lambda x: True): + :type filter_func: Device -> bool + """ + strategy = strategies.sampled_from( +- x for x in _CONTEXT.list_devices() if filter_func(x)) ++ [x for x in _CONTEXT.list_devices() if filter_func(x)]) + + if require_existing: + strategy = strategy.filter(_check_device) +@@ -89,7 +89,7 @@ def device_strategy(require_existing=True, filter_func=lambda x: True): + _SYSNAME_STRATEGY = device_strategy().map(lambda x: x.sys_name) + + _PROPERTY_STRATEGY = device_strategy().flatmap( +- lambda d: strategies.sampled_from(d.properties.items())) ++ lambda d: strategies.sampled_from([p for p in d.properties.items()])) + + _MATCH_PROPERTY_STRATEGY = \ + _PROPERTY_STRATEGY.filter(lambda p: p[0][-4:] != "_ENC") +@@ -104,7 +104,7 @@ def device_strategy(require_existing=True, filter_func=lambda x: True): + # an attribute key and value pair + _ATTRIBUTE_STRATEGY = \ + _ATTRIBUTES_STRATEGY.flatmap( +- lambda attrs: strategies.sampled_from(attrs.available_attributes).map( ++ lambda attrs: strategies.sampled_from([a for a in attrs.available_attributes]).map( + lambda key: (key, attrs.get(key)) + ) + ) +@@ -119,11 +119,11 @@ def device_strategy(require_existing=True, filter_func=lambda x: True): + ) + + # the tags object for a given device +-_TAGS_STRATEGY = device_strategy().map(lambda d: d.tags) ++_TAGS_STRATEGY = device_strategy().map(lambda d: [t for t in d.tags]) + + # an arbitrary tag belonging to a given device + _TAG_STRATEGY = \ +- _TAGS_STRATEGY.filter(lambda t: sum(1 for _ in t) != 0).flatmap( ++ _TAGS_STRATEGY.filter(lambda t: t != []).flatmap( + strategies.sampled_from + ) + +diff --git a/tests/_device_tests/_device_tests.py b/tests/_device_tests/_device_tests.py +index 0350a10..3e8710a 100644 +--- a/tests/_device_tests/_device_tests.py ++++ b/tests/_device_tests/_device_tests.py +@@ -352,7 +352,7 @@ def test_key_subset(self, a_context, device_datum): + frozenset(device.properties.keys()) + + @given(_CONTEXT_STRATEGY, strategies.sampled_from(_DEVICE_DATA)) +- @settings(max_examples=100) ++ @settings(max_examples=1) + def test_getitem(self, a_context, device_datum): + device = Devices.from_path(a_context, device_datum.device_path) + for prop in device_datum.properties: +diff --git a/tests/test_discover.py b/tests/test_discover.py +index e623435..3cf9e8c 100644 +--- a/tests/test_discover.py ++++ b/tests/test_discover.py +@@ -46,7 +46,7 @@ + from hypothesis import strategies + + _CONTEXT = pyudev.Context() +-_DEVICES = _CONTEXT.list_devices() ++_DEVICES = [d for d in _CONTEXT.list_devices()] + + NUM_TESTS = 5 + +diff --git a/tests/test_enumerate.py b/tests/test_enumerate.py +index c9c6a67..a9662bd 100644 +--- a/tests/test_enumerate.py ++++ b/tests/test_enumerate.py +@@ -90,7 +90,7 @@ class TestEnumerator(object): + + @failed_health_check_wrapper + @given(_CONTEXT_STRATEGY, _SUBSYSTEM_STRATEGY) +- @settings(max_examples=50) ++ @settings(max_examples=10) + def test_match_subsystem(self, context, subsystem): + """ + Subsystem match matches devices w/ correct subsystem. +@@ -102,7 +102,7 @@ def test_match_subsystem(self, context, subsystem): + + @failed_health_check_wrapper + @given(_CONTEXT_STRATEGY, _SUBSYSTEM_STRATEGY) +- @settings(max_examples=5) ++ @settings(max_examples=1) + def test_match_subsystem_nomatch(self, context, subsystem): + """ + Subsystem no match gets no subsystem with subsystem. +@@ -126,7 +126,7 @@ def test_match_subsystem_nomatch_unfulfillable(self, context, subsystem): + + @failed_health_check_wrapper + @given(_CONTEXT_STRATEGY, _SUBSYSTEM_STRATEGY) +- @settings(max_examples=5) ++ @settings(max_examples=1) + def test_match_subsystem_nomatch_complete(self, context, subsystem): + """ + Test that w/ respect to the universe of devices returned by +@@ -155,7 +155,7 @@ def test_match_sys_name(self, context, sysname): + + @failed_health_check_wrapper + @given(_CONTEXT_STRATEGY, _MATCH_PROPERTY_STRATEGY) +- @settings(max_examples=50) ++ @settings(max_examples=25) + def test_match_property_string(self, context, pair): + """ + Match property only gets devices with that property. +@@ -243,7 +243,7 @@ class TestEnumeratorMatchCombinations(object): + min_size=2, + max_size=3, + unique_by=lambda p: p[0])) +- @settings(max_examples=20) ++ @settings(max_examples=2) + def test_combined_property_matches(self, context, ppairs): + """ + Test for behaviour as observed in #1 diff --git a/dev-python/pyudev/files/pyudev-0.22-pytest-4.patch b/dev-python/pyudev/files/pyudev-0.22-pytest-4.patch new file mode 100644 index 000000000000..a8a4e4c3bcea --- /dev/null +++ b/dev-python/pyudev/files/pyudev-0.22-pytest-4.patch @@ -0,0 +1,56 @@ +commit f962902b8298d97622b97693aba90032e5b9d2ec +Author: FFY00 <filipe.lains@gmail.com> +Date: Fri May 24 19:08:41 2019 +0100 + + tests: fix tests for pytest 4.0 + +diff --git a/tests/plugins/mock_libudev.py b/tests/plugins/mock_libudev.py +index aefeb31..0bde07b 100644 +--- a/tests/plugins/mock_libudev.py ++++ b/tests/plugins/mock_libudev.py +@@ -32,6 +32,7 @@ + from contextlib import contextmanager + from collections import namedtuple + ++import pytest + import mock + + Node = namedtuple('Node', 'name value next') +@@ -93,5 +94,6 @@ def libudev_list(libudev, function, items): + EXPOSED_FUNCTIONS = [libudev_list] + + +-def pytest_namespace(): +- return dict((f.__name__, f) for f in EXPOSED_FUNCTIONS) ++def pytest_configure(): ++ for f in EXPOSED_FUNCTIONS: ++ setattr(pytest, f.__name__, f) +diff --git a/tests/plugins/privileged.py b/tests/plugins/privileged.py +index 92328b9..c636980 100644 +--- a/tests/plugins/privileged.py ++++ b/tests/plugins/privileged.py +@@ -71,5 +71,6 @@ def unload_dummy(): + EXPOSED_FUNCTIONS = [load_dummy, unload_dummy] + + +-def pytest_namespace(): +- return dict((f.__name__, f) for f in EXPOSED_FUNCTIONS) ++def pytest_configure(): ++ for f in EXPOSED_FUNCTIONS: ++ setattr(pytest, f.__name__, f) +diff --git a/tests/plugins/travis.py b/tests/plugins/travis.py +index 46466c2..15a780e 100644 +--- a/tests/plugins/travis.py ++++ b/tests/plugins/travis.py +@@ -38,8 +38,9 @@ def is_on_travis_ci(): + EXPOSED_FUNCTIONS = [is_on_travis_ci] + + +-def pytest_namespace(): +- return dict((f.__name__, f) for f in EXPOSED_FUNCTIONS) ++def pytest_configure(): ++ for f in EXPOSED_FUNCTIONS: ++ setattr(pytest, f.__name__, f) + + + def pytest_runtest_setup(item): diff --git a/dev-python/pyudev/files/pyudev-0.22-remove-flaky-tests.patch b/dev-python/pyudev/files/pyudev-0.22-remove-flaky-tests.patch new file mode 100644 index 000000000000..dd5b892606a3 --- /dev/null +++ b/dev-python/pyudev/files/pyudev-0.22-remove-flaky-tests.patch @@ -0,0 +1,126 @@ +commit a35c394f7f4eb714eeaab1b8ed7977f822e29fa9 +Author: mulhern <amulhern@redhat.com> +Date: Wed May 2 15:50:45 2018 -0400 + + Get rid of all test_match_attribute_* methods + + These tests are rendered flaky by the volatility of attribute values. + + Signed-off-by: mulhern <amulhern@redhat.com> + +diff --git a/tests/test_enumerate.py b/tests/test_enumerate.py +index f054799..c9c6a67 100644 +--- a/tests/test_enumerate.py ++++ b/tests/test_enumerate.py +@@ -200,77 +200,6 @@ def test_match_property_bool(self, context, pair): + for device in devices + ) + +- @failed_health_check_wrapper +- @given(_CONTEXT_STRATEGY, _ATTRIBUTE_STRATEGY) +- @settings(max_examples=50) +- def test_match_attribute_nomatch_unfulfillable(self, context, pair): +- """ +- Match and no match for a key/value gives empty set. +- """ +- key, value = pair +- devices = context.list_devices() +- devices.match_attribute(key, value) +- devices.match_attribute(key, value, nomatch=True) +- assert not list(devices) +- +- @failed_health_check_wrapper +- @given(_CONTEXT_STRATEGY, _ATTRIBUTE_STRATEGY) +- @settings(max_examples=50) +- def test_match_attribute_nomatch_complete(self, context, pair): +- """ +- Test that w/ respect to the universe of devices returned by +- list_devices() a match and its inverse are complements of each other. +- """ +- key, value = pair +- m_devices = frozenset(context.list_devices().match_attribute( +- key, value)) +- nm_devices = frozenset(context.list_devices().match_attribute( +- key, value, nomatch=True)) +- _test_intersection_and_union(context, m_devices, nm_devices) +- +- @failed_health_check_wrapper +- @given(_CONTEXT_STRATEGY, _ATTRIBUTE_STRATEGY) +- @settings(max_examples=50) +- def test_match_attribute_string(self, context, pair): +- """ +- Test that matching attribute as string works. +- """ +- key, value = pair +- devices = context.list_devices().match_attribute(key, value) +- assert all(device.attributes.get(key) == value for device in devices) +- +- @failed_health_check_wrapper +- @given(_CONTEXT_STRATEGY, +- _ATTRIBUTE_STRATEGY.filter(lambda x: _is_int(x[1]))) +- @settings(max_examples=50) +- def test_match_attribute_int(self, context, pair): +- """ +- Test matching integer attribute. +- """ +- key, value = pair +- int_value = int(value) +- devices = context.list_devices().match_attribute(key, int_value) +- for device in devices: +- attributes = device.attributes +- assert attributes.get(key) == value +- assert device.attributes.asint(key) == int_value +- +- @failed_health_check_wrapper +- @given(_CONTEXT_STRATEGY, +- _ATTRIBUTE_STRATEGY.filter(lambda x: _is_bool(x[1]))) +- @settings(max_examples=50) +- def test_match_attribute_bool(self, context, pair): +- """ +- Test matching boolean attribute. +- """ +- key, value = pair +- bool_value = True if int(value) == 1 else False +- devices = context.list_devices().match_attribute(key, bool_value) +- for device in devices: +- attributes = device.attributes +- assert attributes.get(key) == value +- assert attributes.asbool(key) == bool_value +- + @_UDEV_TEST(154, "test_match_tag") + @failed_health_check_wrapper + @given(_CONTEXT_STRATEGY, _TAG_STRATEGY) +@@ -335,33 +264,6 @@ def test_combined_property_matches(self, context, ppairs): + ) + ) + +- @given(_CONTEXT_STRATEGY, +- strategies.lists( +- elements=_ATTRIBUTE_STRATEGY, +- min_size=2, +- max_size=3, +- unique_by=lambda p: p[0])) +- @settings(max_examples=20) +- def test_combined_attribute_matches(self, context, apairs): +- """ +- Test for conjunction of attributes. +- +- If matching multiple attributes, then the result is the intersection of +- the matching sets, i.e., the resulting filter is a conjunction. +- """ +- enumeration = context.list_devices() +- +- for key, value in apairs: +- enumeration.match_attribute(key, value) +- +- _test_direct_and_complement( +- context, +- frozenset(enumeration), +- lambda d: all( +- d.attributes.get(key) == value for key, value in apairs +- ) +- ) +- + @given(_CONTEXT_STRATEGY, + strategies.lists( + elements=_MATCH_PROPERTY_STRATEGY, diff --git a/dev-python/pyudev/pyudev-0.22.0-r1.ebuild b/dev-python/pyudev/pyudev-0.22.0-r1.ebuild new file mode 100644 index 000000000000..a3ba93cfd871 --- /dev/null +++ b/dev-python/pyudev/pyudev-0.22.0-r1.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="Python binding to libudev" +HOMEPAGE="https://pyudev.readthedocs.io/en/latest/ https://github.com/pyudev/pyudev" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="qt5" + +RDEPEND=" + dev-python/six[${PYTHON_USEDEP}] + virtual/udev + qt5? ( dev-python/PyQt5[${PYTHON_USEDEP}] ) +" +DEPEND="${RDEPEND} + dev-python/setuptools[${PYTHON_USEDEP}] + test? ( + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + )" + +DOCS=( CHANGES.rst README.rst ) + +PATCHES=( + "${FILESDIR}/pyudev-0.22-pytest-4.patch" + "${FILESDIR}/pyudev-0.22-remove-flaky-tests.patch" + "${FILESDIR}/pyudev-0.22-fix-hypothesis.patch" +) + +distutils_enable_tests pytest + +python_prepare_all() { + if use test; then + ewarn "If your PORTAGE_TMPDIR is longer in length then '/var/tmp/'," + ewarn "change it to /var/tmp to ensure tests will pass." + fi + + # tests are known to pass then fail on alternate runs + # tests: fix run_path + sed -i -e "s|== \('/run/udev'\)|in (\1,'/dev/.udev')|g" \ + tests/test_core.py || die + + distutils-r1_python_prepare_all +} |
