Subject: bug#26140: [PATCH 1/7] gnu: Add python-astroid.

From: Arun Isaac <[email-masked]>
Date: Sat, 18 Mar 2017 02:44:24 +0530

* gnu/packages/python.scm (python-astroid, python2-astroid): New variables.
---
 gnu/packages/python.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 9b9c5ff99..98328c97b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -13680,3 +13680,45 @@ users' sessions over extended periods of time.")
 
 (define-public python2-flask-login
   (package-with-python2 python-flask-login))
+
+(define-public python-astroid
+  (package
+    (name "python-astroid")
+    (version "1.4.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/PyCQA/astroid/archive/astroid-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "0j0wgy54d13a470vm4b9rdjk99n1hmdxpf34x9k3pbmi9w9b566z"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-lazy-object-proxy" ,python-lazy-object-proxy)
+       ("python-six" ,python-six)
+       ("python-wrapt" ,python-wrapt)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+                  (lambda _
+                    (zero? (system* "python" "-m" "unittest" "discover"
+                                    "-p" "unittest*.py")))))))
+    (home-page "https://github.com/PyCQA/astroid")
+    (synopsis "Common base representation of python source code for pylint and
+other projects")
+    (description "@code{python-astroid} provides a common base representation
+of python source code for projects such as pychecker, pyreverse, pylint, etc.
+
+It provides a compatible representation which comes from the _ast module.  It
+rebuilds the tree generated by the builtin _ast module by recursively walking
+down the AST and building an extended ast.  The new node classes have
+additional methods and attributes for different usages.  They include some
+support for static inference and local name scopes.  Furthermore, astroid
+builds partial trees by inspecting living objects.")
+   (license license:lgpl2.1)))
+
+(define-public python2-astroid
+  (package-with-python2 python-astroid))
-- 
2.11.0