gnu: Add python-pylint.

* gnu/packages/python.scm (python-pylint, python2-pylint): New variables.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
This commit is contained in:
Arun Isaac 2017-03-19 00:22:55 +05:30 committed by Marius Bakke
parent 61550dedf3
commit 315944a393
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
1 changed files with 59 additions and 0 deletions

View File

@ -13830,3 +13830,62 @@ in other versions.")
unit tests and failing them if the unit test module does not excercise all unit tests and failing them if the unit test module does not excercise all
statements in the module it tests.") statements in the module it tests.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-pylint
(package
(name "python-pylint")
(version "1.6.5")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/PyCQA/pylint/archive/pylint-"
version ".tar.gz"))
(sha256
(base32
"08pmgflmq2zrzrn9nkfadzwa5vybz46wvwxhrsd2mjlcgsh4rzbm"))))
(build-system python-build-system)
(native-inputs
`(("python-tox" ,python-tox)))
(propagated-inputs
`(("python-astroid" ,python-astroid)
("python-isort" ,python-isort)
("python-mccabe" ,python-mccabe)
("python-six" ,python-six)))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
;; Somehow, tests for python2-pylint
;; fail if run from the build directory
(let ((work "/tmp/work"))
(mkdir-p work)
(setenv "PYTHONPATH"
(string-append (getenv "PYTHONPATH") ":" work))
(copy-recursively "." work)
(with-directory-excursion "/tmp"
(zero? (system* "python" "-m" "unittest" "discover"
"-s" (string-append work "/pylint/test")
"-p" "*test_*.py")))))))))
(home-page "https://github.com/PyCQA/pylint")
(synopsis "Python source code analyzer which looks for coding standard
errors")
(description "Pylint is a Python source code analyzer which looks
for programming errors, helps enforcing a coding standard and sniffs
for some code smells (as defined in Martin Fowler's Refactoring book).
Pylint has many rules enabled by default, way too much to silence them
all on a minimally sized program. It's highly configurable and handle
pragmas to control it from within your code. Additionally, it is
possible to write plugins to add your own checks.")
(license license:gpl2+)))
(define-public python2-pylint
(let ((pylint (package-with-python2 python-pylint)))
(package (inherit pylint)
(propagated-inputs
`(("python2-backports-functools-lru-cache"
,python2-backports-functools-lru-cache)
("python2-configparser" ,python2-configparser)
,@(package-propagated-inputs pylint))))))