summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMathieu Othacehe <m.othacehe@gmail.com>2019-10-19 15:38:31 +0200
committerMathieu Othacehe <m.othacehe@gmail.com>2019-10-19 15:56:24 +0200
commit74c1a561d47834eb80d8ccf66c2613f006162b60 (patch)
treee98eb0ffbd5fe5395fd315fa79c6ecbab3831b10 /gnu
parent10511c415f4681a5f691066c86d949600835db1e (diff)
downloadguix-74c1a561d47834eb80d8ccf66c2613f006162b60.tar.gz
gnu: python2-pylint: Fix build.
* gnu/packages/check.scm (python2-pylint): Set to 1.7.2 as 2.x branch
does not support python2 anymore,
[arguments]: move python2 specific hack to run tests from
python-pylint to here,
[native-inputs]: add python2-futures.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/check.scm34
1 files changed, 33 insertions, 1 deletions
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index d0183d8ad2..1f07cad508 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1743,10 +1743,42 @@ possible to write plugins to add your own checks.")
     (properties `((python2-variant . ,(delay python2-pylint))))
     (license license:gpl2+)))
 
+;; Python2 is not supported anymore by Pylint. See:
+;; https://github.com/PyCQA/pylint/issues/1763.
 (define-public python2-pylint
   (let ((pylint (package-with-python2
-                  (strip-python2-variant python-pylint))))
+                 (strip-python2-variant python-pylint))))
     (package (inherit pylint)
+             (version "1.7.2")
+             (source
+              (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/PyCQA/pylint")
+                      (commit (string-append "pylint-" version))))
+                (file-name (git-file-name (package-name pylint) version))
+                (sha256
+                 (base32
+                  "0yyc1gxq66li2adyx8njs83dh1pliylzkdmihw0k5bn6z4aakh8s"))))
+             (arguments
+              `(,@(package-arguments pylint)
+                #:phases
+                (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda _
+                      ;; Somehow, tests 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"
+                          (invoke "python" "-m" "unittest" "discover"
+                                  "-s" (string-append work "/pylint/test")
+                                  "-p" "*test_*.py"))))))))
+             (native-inputs
+              `(("python2-futures" ,python2-futures)
+                ,@(package-native-inputs pylint)))
              (propagated-inputs
               `(("python2-backports-functools-lru-cache"
                  ,python2-backports-functools-lru-cache)