Hi Ben, Thank you for your review!
Ben Woodcroft <b.woodcr...@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
>From faf968a8bebaffdd14c60407aebca0ec051acf8f Mon Sep 17 00:00:00 2001 From: Lukas Gradl <lgr...@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 <k...@kyleam.com> ;;; Copyright © 2015, 2016 Chris Marusich <cmmarus...@gmail.com> ;;; Copyright © 2016 Danny Milosavljevic <danny...@scratchpost.org> +;;; Copyright © 2016 Lukas Gradl <lgr...@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