commit: e2e130d21a32000855d1f75fe272497ac8290a06
Author: Louis Sautier <sbraz <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 7 21:14:45 2020 +0000
Commit: Louis Sautier <sbraz <AT> gentoo <DOT> org>
CommitDate: Wed Oct 7 21:29:34 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2e130d2
dev-python/pylama: add Python 3.{8,9} support and doc, fix tests
* Runtime dependencies aren't required at build-time.
* Move test dependencies to BDEPEND.
* Remove manually added setuptools dependency.
* Add pytest dependency and RESTRICT via distutils_enable_tests.
* Git is required to run tests (bug #723712).
* So is mypy.
* Radon isn't used by tests.
* Eradicate tests fail, disable them for now.
Closes: https://bugs.gentoo.org/723712
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Louis Sautier <sbraz <AT> gentoo.org>
dev-python/pylama/pylama-7.7.1-r1.ebuild | 48 ++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/dev-python/pylama/pylama-7.7.1-r1.ebuild
b/dev-python/pylama/pylama-7.7.1-r1.ebuild
new file mode 100644
index 00000000000..5ccf8ff9fbb
--- /dev/null
+++ b/dev-python/pylama/pylama-7.7.1-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python3_{7..9} )
+DISTUTILS_USE_SETUPTOOLS="rdepend"
+
+inherit distutils-r1
+
+DESCRIPTION="Code audit tool for python"
+HOMEPAGE="https://github.com/klen/pylama"
+SRC_URI="https://github.com/klen/pylama/archive/${PV}.tar.gz -> ${P}.tar.gz"
+# pypi tarball excludes unit tests
+#SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/mccabe-0.5.2[${PYTHON_USEDEP}]
+ dev-python/pycodestyle[${PYTHON_USEDEP}]
+ dev-python/pydocstyle[${PYTHON_USEDEP}]
+ dev-python/pyflakes[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mypy[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e "s|exclude=\['plugins'\]|exclude=['plugins', 'tests']|" -i
setup.py || die
+ sed -e 's|^\(def\) \(test_ignore_select\)|\1 _\2|' -i
tests/test_config.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Disable eradicate until it is fixed:
+ # https://github.com/klen/pylama/issues/190
+ pytest -vv tests --deselect tests/test_linters.py::test_eradicate \
+ || die "Tests failed with ${EPYTHON}"
+}