diff options
-rw-r--r-- | dev-python/rope/ChangeLog | 9 | ||||
-rw-r--r-- | dev-python/rope/files/rope-0.9.3-python2.7.patch | 75 | ||||
-rw-r--r-- | dev-python/rope/rope-0.9.3.ebuild | 7 |
3 files changed, 86 insertions, 5 deletions
diff --git a/dev-python/rope/ChangeLog b/dev-python/rope/ChangeLog index 3b89e062bbb7..e7bf6a788a3d 100644 --- a/dev-python/rope/ChangeLog +++ b/dev-python/rope/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for dev-python/rope -# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-python/rope/ChangeLog,v 1.8 2010/07/01 04:34:23 arfrever Exp $ +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-python/rope/ChangeLog,v 1.9 2012/04/12 15:44:54 xarthisius Exp $ + + 12 Apr 2012; Kacper Kowalik <xarthisius@gentoo.org> + +files/rope-0.9.3-python2.7.patch, rope-0.9.3.ebuild: + Apply upstream changesets to fix tests failures with python 2.7 wrt #326401 by + Arfrever Frehtes Taifersar Arahesis 01 Jul 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org> rope-0.9.3.ebuild, +files/rope-0.9.3-fix_tests_results.patch: diff --git a/dev-python/rope/files/rope-0.9.3-python2.7.patch b/dev-python/rope/files/rope-0.9.3-python2.7.patch new file mode 100644 index 000000000000..e1608bbda2d5 --- /dev/null +++ b/dev-python/rope/files/rope-0.9.3-python2.7.patch @@ -0,0 +1,75 @@ +Apply upstream changesets: +https://bitbucket.org/agr/rope/changeset/1c100ebabc16 +https://bitbucket.org/agr/rope/changeset/f5eb880e0be2 + +to fix tests failures with python 2.7 + +https://bugs.gentoo.org/show_bug.cgi?id=326401 + +--- a/rope/base/ast.py ++++ b/rope/base/ast.py +@@ -27,6 +27,10 @@ + method_name = '_' + node.__class__.__name__ + method = getattr(walker, method_name, None) + if method is not None: ++ if isinstance(node, _ast.ImportFrom) and node.module is None: ++ # In python < 2.7 ``node.module == ''`` for relative imports ++ # but for python 2.7 it is None. Generalizing it to ''. ++ node.module = '' + return method(node) + for child in get_child_nodes(node): + walk(child, walker) +--- a/rope/base/oi/runmod.py ++++ b/rope/base/oi/runmod.py +@@ -187,6 +187,7 @@ + + def close(self): + self.sender.close() ++ sys.settrace(None) + + def _realpath(path): + return os.path.realpath(os.path.abspath(os.path.expanduser(path))) +--- a/rope/refactor/importutils/module_imports.py ++++ b/rope/refactor/importutils/module_imports.py +@@ -428,7 +428,8 @@ + if node.level: + level = node.level + import_info = importinfo.FromImport( +- node.module, level, self._get_names(node.names)) ++ node.module or '', # see comment at rope.base.ast.walk ++ level, self._get_names(node.names)) + start_line = node.lineno + self.imports.append(importinfo.ImportStatement( + import_info, node.lineno, end_line, +--- a/rope/refactor/patchedast.py ++++ b/rope/refactor/patchedast.py +@@ -350,7 +350,8 @@ + children = ['from'] + if node.level: + children.append('.' * node.level) +- children.extend([node.module, 'import']) ++ children.extend([node.module or '', # see comment at rope.base.ast.walk ++ 'import']) + children.extend(self._child_nodes(node.names, ',')) + self._handle(node, children) + +--- a/ropetest/refactor/patchedasttest.py ++++ b/ropetest/refactor/patchedasttest.py +@@ -441,6 +441,17 @@ + 'import', ' ', 'alias']) + checker.check_children('alias', ['y', ' ', 'as', ' ', 'z']) + ++ @testutils.run_only_for_25 ++ def test_from_node_relative_import(self): ++ source = 'from . import y as z\n' ++ ast = patchedast.get_patched_ast(source, True) ++ checker = _ResultChecker(self, ast) ++ checker.check_region('ImportFrom', 0, len(source) - 1) ++ checker.check_children( ++ 'ImportFrom', ['from', ' ', '.', '', '', ' ', ++ 'import', ' ', 'alias']) ++ checker.check_children('alias', ['y', ' ', 'as', ' ', 'z']) ++ + def test_simple_gen_expr_node(self): + source = 'zip(i for i in x)\n' + ast = patchedast.get_patched_ast(source, True) diff --git a/dev-python/rope/rope-0.9.3.ebuild b/dev-python/rope/rope-0.9.3.ebuild index 5bf1dbd1ae8a..6e9c0054f7ea 100644 --- a/dev-python/rope/rope-0.9.3.ebuild +++ b/dev-python/rope/rope-0.9.3.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2010 Gentoo Foundation +# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-python/rope/rope-0.9.3.ebuild,v 1.4 2010/12/26 15:42:37 arfrever Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-python/rope/rope-0.9.3.ebuild,v 1.5 2012/04/12 15:44:54 xarthisius Exp $ EAPI="3" PYTHON_DEPEND="2:2.5" @@ -23,7 +23,8 @@ RDEPEND="" src_prepare() { distutils_src_prepare - epatch "${FILESDIR}/${P}-fix_tests_results.patch" + epatch "${FILESDIR}/${P}-fix_tests_results.patch" \ + "${FILESDIR}"/${P}-python2.7.patch } src_test() { |