diff mbox

Add python-rope

Message ID 8760u7f10q.fsf@openmailbox.org
State New
Headers show

Commit Message

Lukas Gradl May 21, 2016, 11:24 p.m. UTC
Hi Ben,

Thank you for your review!


Ben Woodcroft <b.woodcroft@uq.edu.au> 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 python2-rope@0.10.3 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

Comments

Ben Woodcroft May 22, 2016, 4:21 a.m. UTC | #1
On 22/05/16 09:24, Lukas Gradl wrote:
> An updated patch is attached.

Applied as '88bb419' with minor changes to the commenting and commit 
message.

Thanks again.
ben
Lukas Gradl May 23, 2016, 1:50 p.m. UTC | #2
Ben Woodcroft <b.woodcroft@uq.edu.au> writes:

> On 22/05/16 09:24, Lukas Gradl wrote:
>> An updated patch is attached.
>
> Applied as '88bb419' with minor changes to the commenting and commit
> message.

Thank you for your help!

Best,
Lukas
diff mbox

Patch

From faf968a8bebaffdd14c60407aebca0ec051acf8f Mon Sep 17 00:00:00 2001
From: Lukas Gradl <lgradl@openmailbox.org>
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 <kyle@kyleam.com>
 ;;; Copyright © 2015, 2016 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
+;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
 ;;;
 ;;; 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