guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Patch] Add python-rope


From: Lukas Gradl
Subject: Re: [Patch] Add python-rope
Date: Sat, 21 May 2016 18:24:05 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Hi Ben,

Thank you for your review!


Ben Woodcroft <address@hidden> writes:

>
> Looking forward to trying elpy out.
>
>     There is no particular reason why the old (0.10.2) would be needed,
> AFAIK.
>
> OK. Is it necessary then? We try not to keep old packages around if
> possible.
>

OK, No, I do not think it is necessary. Removed.

I ran into some initial problems with the 0.10.3 version due to my
limited understanding of the python build system.  I then compared to
0.10.2 which made me aware of some errors.  So I ended up with
definitions for both versions.  

>     There are some tests that fail on the python-3 version.  According to
> this (https://groups.google.com/forum/#!topic/rope-dev/rmimG01CHUk),
> upstream seems to have no particular interest in fixing that at the
> moment.
>
> The rope_py3k doesn't appear to be maintained, the repository at
> https://bitbucket.org/zjes/rope-0.9.3_py3k/ has been deleted and the
> last release was in 2013. Do you use this library yourself? Otherwise
> it is an unmaintained library lacking unit tests. If you are confident
> of including it I'd say rename it to rope_py3k as it is more than a
> fork of rope, commit it separately, and enable tests where possible
> (most pass according to your link). WDYT?

I do not use this library myself.  I write mostly python-3 code myself,
so I would have liked a python-3 version of rope.  It seems that elpy is
focusing more on jedi for python-3, so I will probably look at that.
If nobody else is interested in a rope_py3k package then let's just drop
it.

>
> Do you know if the rope you have packaged for python2 works on python3
> ? I did some digging, the short answer to this question is no, not
> yet, unfortunately.
> https://github.com/python-rope/rope/issues/57

It does indeed not run on python-3.  About 57 test fail with python-3.

>
> I'll only review the address@hidden for now then.
>
>     +(define-public python2-rope
>     + (package
>     + (name "python2-rope")
>     + (version "0.10.3")
>     + (source
>     + (origin
>     + (method url-fetch)
>     + (uri (pypi-uri "rope" version))
>     + (sha256
>     + (base32
>     + "18k5znhpwvrfck3yp0jmhd5j8r0f0s8bk1zh5yhs2cfgmfhbwigb"))))
>     + (arguments
>     + `(#:python ,python-2))
>     
>
> Might be good to add a comment here saying only python2 is supported,
> with a URL so that later we can check on progress.

I agree. Done.

>
>     + (build-system python-build-system)
>     + (native-inputs
>     + `(("python2-unittest2" ,python2-unittest2)
>     + ("python2-setuptools" ,python2-setuptools)))
>     + (home-page "http://rope.sf.net/";)
>     
>
> https://github.com/python-rope/rope might be a better choice since the
> sf address redirects there.

Indeed.  I did not notice that before.

>
>     + (synopsis "Refactoring library for Python")
>     + (description "Rope is a Refactoring library for Python.")
>     
>
> Would it be possible to expand on this description, perhaps with a few
> examples of refactoring processes? Also s/Refactoring/refactoring/.
>

I expanded it a bit.  I am not exactly sure what to write as I am not
very familiar with the project.  Hope this will make it more clear. 

An updated patch is attached.
Thank you for your review!

Best,
Lukas

>From faf968a8bebaffdd14c60407aebca0ec051acf8f Mon Sep 17 00:00:00 2001
From: Lukas Gradl <address@hidden>
Date: Sat, 21 May 2016 18:19:42 -0500
Subject: [PATCH] gnu: python: Add python-rope.

* gnu/packages/python.scm (python-rope): New variable.
---
 gnu/packages/python.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 37c8594..6eafd03 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2015 Kyle Meyer <address@hidden>
 ;;; Copyright © 2015, 2016 Chris Marusich <address@hidden>
 ;;; Copyright © 2016 Danny Milosavljevic <address@hidden>
+;;; Copyright © 2016 Lukas Gradl <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -8760,3 +8761,30 @@ respectively.")
   (description (string-append "This is an experimental compiler for a subset of
 Python.  It generates C++ code and a Makefile."))
   (license (list gpl3 bsd-3 license:expat))))
+
+
+(define-public python2-rope
+  (package
+    (name "python2-rope")
+    (version "0.10.3")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (pypi-uri "rope" version))
+      (sha256
+        (base32
+         "18k5znhpwvrfck3yp0jmhd5j8r0f0s8bk1zh5yhs2cfgmfhbwigb"))))
+    (arguments
+     `(#:python ,python-2))  ;; Rope is python-2 only
+    ;; (https://github.com/python-rope/rope/issues/57)
+    (build-system python-build-system)
+    (native-inputs
+     `(("python2-unittest2" ,python2-unittest2)
+       ("python2-setuptools" ,python2-setuptools)))
+    (home-page "https://github.com/python-rope/rope";)
+    (synopsis "Refactoring library for Python")
+    (description "Rope is a refactoring library for Python.  It facilitates
+the renaming, moving and extracting of attributes, functions, modules, fields
+and parameters in Python 2 source code.  These refactorings can also be applied
+to occurences in strings and comments.")
+    (license gpl2)))
-- 
2.7.4


reply via email to

[Prev in Thread] Current Thread [Next in Thread]