unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [Patch] Add python-rope
@ 2016-05-20 14:28 Lukas Gradl
  2016-05-20 14:32 ` Lukas Gradl
  2016-05-20 23:53 ` Ben Woodcroft
  0 siblings, 2 replies; 6+ messages in thread
From: Lukas Gradl @ 2016-05-20 14:28 UTC (permalink / raw)
  To: guix-devel


Hello,

This patch adds the Rope refactoring library for python.
I am only interested in this package as a dependency of elpy.

There is no particular reason why the old (0.10.2) would be needed,
AFAIK.

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.


Thank you in advance for considering this!

Best,
Lukas

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Patch] Add python-rope
  2016-05-20 14:28 [Patch] Add python-rope Lukas Gradl
@ 2016-05-20 14:32 ` Lukas Gradl
  2016-05-20 23:53 ` Ben Woodcroft
  1 sibling, 0 replies; 6+ messages in thread
From: Lukas Gradl @ 2016-05-20 14:32 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 672 bytes --]

Lukas Gradl <lgradl@openmailbox.org> writes:

> Hello,
>
> This patch adds the Rope refactoring library for python.
> I am only interested in this package as a dependency of elpy.
>
> There is no particular reason why the old (0.10.2) would be needed,
> AFAIK.
>
> 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.
>
>
> Thank you in advance for considering this!
>
> Best,
> Lukas
>
>


Being new to GNUS I accidently sent this email when trying to attach the
patch.  Sorry about that!

Here it is:


[-- Attachment #2: 0001-gnu-python-Add-python-rope.patch --]
[-- Type: text/x-patch, Size: 3263 bytes --]

From 3779adbcf435d62f49c74675af1a7085bd0cdbfd Mon Sep 17 00:00:00 2001
From: Lukas Gradl <lgradl@openmailbox.org>
Date: Fri, 20 May 2016 09:13:30 -0500
Subject: [PATCH] gnu: python: Add python-rope.

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 37c8594..15fed58 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,70 @@ 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-old
+  (package
+    (name "python2-rope")
+    (version "0.10.2")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (pypi-uri "rope" version))
+      (sha256
+        (base32
+         "0rdlvp8h74qs49wz1hx6qy8mgp2ddwlfs7z13h9139ynq04a3z7z"))))
+    (arguments
+     `(#:python ,python-2))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python2-unittest2" ,python2-unittest2)
+       ("python2-setuptools" ,python2-setuptools)))
+    (home-page "http://rope.sf.net/")
+    (synopsis "Refactoring library for Python")
+    (description "Rope is a Refactoring library for Python.")
+    (license gpl2)))
+
+(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))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python2-unittest2" ,python2-unittest2)
+       ("python2-setuptools" ,python2-setuptools)))
+    (home-page "http://rope.sf.net/")
+    (synopsis "Refactoring library for Python")
+    (description "Rope is a Refactoring library for Python.")
+    (license gpl2)))
+
+(define-public python-rope
+  (package
+    (name "python-rope")
+    (version "0.9.4-1")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (pypi-uri "rope_py3k" version))
+      (sha256
+        (base32
+         "1yh7hb4qha0c77ac9qyilv5ka3ljd1vcxvsa85clxndrrm3m1fgy"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f)) ; 23 out of 1524 tests fail
+    (native-inputs
+     `(("python-unittest2" ,python-unittest2)
+       ("python-setuptools" ,python-setuptools)))
+    (home-page "http://rope.sf.net/")
+    (synopsis "Refactoring library for Python")
+    (description "Rope is a Refactoring library for Python.")
+    (license gpl2)))
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Patch] Add python-rope
  2016-05-20 14:28 [Patch] Add python-rope Lukas Gradl
  2016-05-20 14:32 ` Lukas Gradl
@ 2016-05-20 23:53 ` Ben Woodcroft
  2016-05-21 23:24   ` Lukas Gradl
  1 sibling, 1 reply; 6+ messages in thread
From: Ben Woodcroft @ 2016-05-20 23:53 UTC (permalink / raw)
  To: Lukas Gradl, guix-devel

[-- Attachment #1: Type: text/plain, Size: 2570 bytes --]

Hi Lukas,

Thank you for the patch.

On 21/05/16 00:28, Lukas Gradl wrote:
> Hello,
>
> This patch adds the Rope refactoring library for python.
> I am only interested in this package as a dependency of elpy.

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.

> 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/ 
<https://www.google.com/url?q=https%3A%2F%2Fbitbucket.org%2Fzjes%2Frope-0.9.3_py3k%2F&sa=D&sntz=1&usg=AFQjCNEi96dmwDUxiFQA4QgsgL4RskzoyQ> 
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?

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

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.
> +    (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.
> +    (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/.
> +    (license gpl2)))
> +

Thanks.
ben

[-- Attachment #2: Type: text/html, Size: 5235 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Patch] Add python-rope
  2016-05-20 23:53 ` Ben Woodcroft
@ 2016-05-21 23:24   ` Lukas Gradl
  2016-05-22  4:21     ` Ben Woodcroft
  0 siblings, 1 reply; 6+ messages in thread
From: Lukas Gradl @ 2016-05-21 23:24 UTC (permalink / raw)
  To: Ben Woodcroft; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 3280 bytes --]


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


[-- Attachment #2: 0001-gnu-python-Add-python-rope.patch --]
[-- Type: text/x-patch, Size: 2087 bytes --]

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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Patch] Add python-rope
  2016-05-21 23:24   ` Lukas Gradl
@ 2016-05-22  4:21     ` Ben Woodcroft
  2016-05-23 13:50       ` Lukas Gradl
  0 siblings, 1 reply; 6+ messages in thread
From: Ben Woodcroft @ 2016-05-22  4:21 UTC (permalink / raw)
  To: Lukas Gradl; +Cc: guix-devel

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Patch] Add python-rope
  2016-05-22  4:21     ` Ben Woodcroft
@ 2016-05-23 13:50       ` Lukas Gradl
  0 siblings, 0 replies; 6+ messages in thread
From: Lukas Gradl @ 2016-05-23 13:50 UTC (permalink / raw)
  To: Ben Woodcroft; +Cc: guix-devel

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-05-23 13:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-20 14:28 [Patch] Add python-rope Lukas Gradl
2016-05-20 14:32 ` Lukas Gradl
2016-05-20 23:53 ` Ben Woodcroft
2016-05-21 23:24   ` Lukas Gradl
2016-05-22  4:21     ` Ben Woodcroft
2016-05-23 13:50       ` Lukas Gradl

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).