summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-03-22 07:23:15 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-03-22 21:17:39 -0400
commit4ef89d884db8dae3aa300e36a3ad89def374e012 (patch)
treec6046ee7995af12b777baaa71a9a68ce3b7e68b7
parent4cbd60698daf648979fe8ad924602e87dcdefde1 (diff)
downloadguix-4ef89d884db8dae3aa300e36a3ad89def374e012.tar.gz
gnu: emacs-elpy: Update to 1.32.0.
* gnu/packages/emacs-xyz.scm (emacs-elpy): Update to 1.32.0.
[phases]{fake-virtualenv}: Rename to 'do-not-use-virtualenv.  Use the new
ELPY_TEST_DONT_USE_VIRTUALENV environment variable to skip tests using
virtualenv, and set the elpy-rpc-virtualenv-path default value to 'system so
that a virtualenv is not needed.
[native-inputs]: Move the Python dependencies to...
[propagated] ...here.  This is so that Elpy doesn't nag users with fetching
those from PyPI.   Add python-rope.

Fixes <https://bugs.gnu.org/40079>.
Reported-by: sirgazil <sirgazil@zoho.com>
-rw-r--r--gnu/packages/emacs-xyz.scm34
1 files changed, 19 insertions, 15 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 1ea3155807..fe2210ac79 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -6690,7 +6690,7 @@ indentation guides in Emacs:
 (define-public emacs-elpy
   (package
     (name "emacs-elpy")
-    (version "1.31.0")
+    (version "1.32.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -6699,20 +6699,20 @@ indentation guides in Emacs:
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0bvmgqs3c80bhs9v5ymgadv7vk4iamha10y7rl09pixmjm4mzagk"))))
+                "0f00mdnzx6xqwni86rgvaa6sfkwyh62xfbwz8qsar15j0j6vc2dj"))))
     (build-system emacs-build-system)
     (arguments
      `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
        #:phases
-       ;; TODO: Make `elpy-config' display Guix commands :)
        (modify-phases %standard-phases
-         ;; One elpy test depends on being run inside a Python virtual
-         ;; environment to pass. We have nothing to gain from doing so here,
-         ;; so we just trick Elpy into thinking we are (see:
-         ;; https://github.com/jorgenschaefer/elpy/pull/1293).
-         (add-before 'check 'fake-virtualenv
+         ;; The default environment of the RPC uses Virtualenv to install
+         ;; Python dependencies from PyPI.  We don't want/need this in Guix.
+         (add-before 'check 'do-not-use-virtualenv
            (lambda _
-             (setenv "VIRTUAL_ENV" "/tmp")
+             (setenv "ELPY_TEST_DONT_USE_VIRTUALENV" "1")
+             (substitute* "elpy-rpc.el"
+               (("defcustom elpy-rpc-virtualenv-path 'default")
+                "defcustom elpy-rpc-virtualenv-path 'system"))
              #t))
          (add-before 'check 'build-doc
            (lambda _
@@ -6738,16 +6738,20 @@ indentation guides in Emacs:
        ("emacs-highlight-indentation" ,emacs-highlight-indentation)
        ("emacs-yasnippet" ,emacs-yasnippet)
        ("pyvenv" ,emacs-pyvenv)
-       ("s" ,emacs-s)))
-    (native-inputs
-     `(("ert-runner" ,emacs-ert-runner)
-       ("emacs-f" ,emacs-f)
-       ("python" ,python-wrapper)
+       ("s" ,emacs-s)
+       ;; The following are recommended Python dependencies that make Elpy
+       ;; much more useful.  Installing these avoids Elpy prompting to install them
+       ;; from PyPI using pip.
        ("python-autopep8" ,python-autopep8)
        ("python-black" ,python-black)
        ("python-flake8" ,python-flake8)
        ("python-jedi" ,python-jedi)
-       ("python-yapf" ,python-yapf)
+       ("python-rope" ,python-rope)
+       ("python-yapf" ,python-yapf)))
+    (native-inputs
+     `(("ert-runner" ,emacs-ert-runner)
+       ("emacs-f" ,emacs-f)
+       ("python" ,python-wrapper)
        ;; For documentation.
        ("python-sphinx" ,python-sphinx)
        ("texinfo" ,texinfo)))