summaryrefslogtreecommitdiff
path: root/dev-python/rope
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/rope')
-rw-r--r--dev-python/rope/Manifest7
-rw-r--r--dev-python/rope/files/rope-0.16.0-python3.7.patch251
-rw-r--r--dev-python/rope/rope-0.17.0.ebuild2
-rw-r--r--dev-python/rope/rope-0.18.0.ebuild (renamed from dev-python/rope/rope-0.16.0.ebuild)9
4 files changed, 7 insertions, 262 deletions
diff --git a/dev-python/rope/Manifest b/dev-python/rope/Manifest
index 05a53eace909..69eca8c0fbec 100644
--- a/dev-python/rope/Manifest
+++ b/dev-python/rope/Manifest
@@ -1,6 +1,5 @@
-AUX rope-0.16.0-python3.7.patch 9140 BLAKE2B 911b730957faa7828252f3e4c58ff9d3dfee41c1d2ed841f7df95ba9fb890207a57b5e44ad641f75d5a14ed03112c0fb5c6202d7d5c3fb29e679fb5356fac4a9 SHA512 629deb4f13c207afeb570dfde81c28d8cf623d83dd8b9b004627e50b6634834f308ac7bb450c37d4ffa416b4c5f01d20ba6f071a567b82a4a7647204257f7c59
-DIST rope-0.16.0.tar.gz 243304 BLAKE2B 2c41572687ef245eb20abfccebcc9f12ecaa177be313cec59c85be5102b7358566570730a7140f952b0a1c515b479c3d21740d32d4678e65c4c572acf86f4e27 SHA512 33ba57b246337e413126309a521c54e861899b03fd250e148b97d9789cddf6eceab36609ea6e36e84ad1ac514bc3363f4937b01bcb96b6103c2a33bec1d4fb75
DIST rope-0.17.0.tar.gz 248629 BLAKE2B 7c9276b5f400dfa9661f81d365eac150a124620824d400131d5da7361475e5a2d548c8b53a88e61e7ae6e483a47c8ca4b8ca773235e209e8c6fb47b0088327fd SHA512 c27a17fdf73ed0ae85fe417132acd999452ae88a7b779d84fdf73134094fd34510ae08017dc24ddd7c34cb70353b5a43021229b88819002371790e7717b8ae46
-EBUILD rope-0.16.0.ebuild 975 BLAKE2B 89c9f51d3778b6489640f0d4511392cf86443fd1f2b0213eed77977e60dffa1d586e38ba03b9fdf6f4781385aa18d9015313344718e0bc1f410cdad38d8ece7e SHA512 10cb6f677aa258cf00853fa75564a6166e093579cf7ee6f3054a213428810379760e6ee2fa87adaf25b47fdd9685037aafc1e63a1aa1fb05ab4ff518022e2dea
-EBUILD rope-0.17.0.ebuild 924 BLAKE2B 9a1d4ec97ec64869f58c22a0175f4480bdfed495a81a528903abf5c8e37b2cf692ee3b4ba8f827481a34be9190fa5c54a948b3df4cf63095cccb486af297a523 SHA512 39678922941934e5def700d948f6e8d6c374accd8c4d7113d30ebfdae2283a768f6a15596fdee862ae343ffe0cfd7a2932c9921fd37167336f808a5cf562ccbd
+DIST rope-0.18.0.tar.gz 249828 BLAKE2B 2aac0541936c671f9b70528da28b2c016f14c7a3e5f368aecb6a3f2a39d2b447d70943bf00b7a49702f5d341504da7398ca5b1240d625275f749de1e530fb178 SHA512 9f706da345866447ff7e4027e6f9f0719d4b823253155881efcdd3a9e9a6f42fa9e194cd9547df4a6f752ae0cec739045e52bb7edd5cfa04ad4079fe06808298
+EBUILD rope-0.17.0.ebuild 931 BLAKE2B cffb66f101f15abc1f1315eb5bf130419132f44cca4df6ecbe78ddbcefec40954dcea342da7b91ab19ad62e09fc8c33d9259a91bca937dd041180f14880aebd4 SHA512 7b61c1ecc06b11d48f8df05f3e3c1860be26c3182811ff8e2e51b5deb3e3645a602af33330a8b1f7cf11d878cd1860772960eb015ba19674dbea993daed06a0f
+EBUILD rope-0.18.0.ebuild 1007 BLAKE2B c71f52a7c6dc364c239c1833d7dc985c0e29bf75763149ddd9c944efd5adf25a0a7ecf8015a2d694584fdfd6073e847713cfa6c6e9642cd1753d34dba43ed53d SHA512 756a1ee101dc1cc4c870ecf3fe92c89320c9e362972fe0a964c02ce9aa1f17873842f0c6a0b497f87f0d1598b23c18e7c1ae0d2e2a9a1dd56d24ba16b6bf8160
MISC metadata.xml 426 BLAKE2B a90ca25878154783f5448189564061f85cc6dd9f92855046a0965b864c496d5b0c608c128330b7cfcb395b615666aaaf6298b1f0f729832e4be07aa0d6f14f01 SHA512 aba585c9733078704e38b5474b1e3dc29a5cd1f8e07501d00f025136ccf4c65656c967831ac2901f8f0a90b9c3240e5cb4b6ee3fd34846bde17cbd1932853697
diff --git a/dev-python/rope/files/rope-0.16.0-python3.7.patch b/dev-python/rope/files/rope-0.16.0-python3.7.patch
deleted file mode 100644
index d120a8ecc514..000000000000
--- a/dev-python/rope/files/rope-0.16.0-python3.7.patch
+++ /dev/null
@@ -1,251 +0,0 @@
-From 5c38f7c8ba23813b475dcb24fa66ed3fc52d1658 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= <mcepl@cepl.eu>
-Date: Mon, 13 Jan 2020 15:07:46 +0100
-Subject: [PATCH 1/4] Use .is_alive method instead of a deprecated .isAlive in
- threading.Thread
-
----
- ropetest/type_hinting_test.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/ropetest/type_hinting_test.py b/ropetest/type_hinting_test.py
-index 7cc02bb1..afb98e19 100644
---- a/ropetest/type_hinting_test.py
-+++ b/ropetest/type_hinting_test.py
-@@ -198,18 +198,18 @@ def test_hint_parametrized_iterable(self):
- + self._make_class_hint('collections.Iterable[threading.Thread]') + \
- ' def a_method(self):\n' \
- ' for i in self.a_attr:\n' \
-- ' i.isA'
-+ ' i.is_a'
- result = self._assist(code)
-- self.assert_completion_in_result('isAlive', 'attribute', result)
-+ self.assert_completion_in_result('is_alive', 'attribute', result)
-
- def test_hint_parametrized_iterator(self):
- code = 'class Sample(object):\n' \
- + self._make_class_hint('collections.Iterator[threading.Thread]') + \
- ' def a_method(self):\n' \
- ' for i in self.a_attr:\n' \
-- ' i.isA'
-+ ' i.is_a'
- result = self._assist(code)
-- self.assert_completion_in_result('isAlive', 'attribute', result)
-+ self.assert_completion_in_result('is_alive', 'attribute', result)
-
- def test_hint_parametrized_dict_key(self):
- code = 'class Sample(object):\n' \
-
-From df3567f2afac8b5c5b50f8b7a01e21259e397f81 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= <mcepl@cepl.eu>
-Date: Mon, 13 Jan 2020 15:29:14 +0100
-Subject: [PATCH 2/4] Direct import from collections is getting deprecated.
-
----
- rope/base/utils/datastructures.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/rope/base/utils/datastructures.py b/rope/base/utils/datastructures.py
-index 0cb16cf2..3790a6e1 100644
---- a/rope/base/utils/datastructures.py
-+++ b/rope/base/utils/datastructures.py
-@@ -1,10 +1,13 @@
- # this snippet was taken from this link
- # http://code.activestate.com/recipes/576694/
-
--import collections
-+try:
-+ from collections import MutableSet
-+except ImportError:
-+ from collections.abc import MutableSet
-
-
--class OrderedSet(collections.MutableSet):
-+class OrderedSet(MutableSet):
-
- def __init__(self, iterable=None):
- self.end = end = []
-
-From fa5626ea99a6cac4780184d708108a98bd7e6095 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= <mcepl@cepl.eu>
-Date: Mon, 13 Jan 2020 16:36:01 +0100
-Subject: [PATCH 3/4] Don't use underscored _ast, but use ast instead
-
----
- rope/base/ast.py | 15 ++++++++-------
- rope/base/utils/pycompat.py | 6 +++---
- 2 files changed, 11 insertions(+), 10 deletions(-)
-
-diff --git a/rope/base/ast.py b/rope/base/ast.py
-index d43c83c5..d24524e7 100644
---- a/rope/base/ast.py
-+++ b/rope/base/ast.py
-@@ -1,5 +1,6 @@
--import _ast
--from _ast import *
-+from __future__ import absolute_import
-+import ast
-+from ast import *
-
- from rope.base import fscommands
-
-@@ -18,7 +19,7 @@ def parse(source, filename='<string>'):
- if not source.endswith(b'\n'):
- source += b'\n'
- try:
-- return compile(source, filename, 'exec', _ast.PyCF_ONLY_AST)
-+ return ast.parse(source, filename='<unknown>')
- except (TypeError, ValueError) as e:
- error = SyntaxError()
- error.lineno = 1
-@@ -32,7 +33,7 @@ def walk(node, walker):
- 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:
-+ 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 = ''
-@@ -42,7 +43,7 @@ def walk(node, walker):
-
-
- def get_child_nodes(node):
-- if isinstance(node, _ast.Module):
-+ if isinstance(node, ast.Module):
- return node.body
- result = []
- if node._fields is not None:
-@@ -50,9 +51,9 @@ def get_child_nodes(node):
- child = getattr(node, name)
- if isinstance(child, list):
- for entry in child:
-- if isinstance(entry, _ast.AST):
-+ if isinstance(entry, ast.AST):
- result.append(entry)
-- if isinstance(child, _ast.AST):
-+ if isinstance(child, ast.AST):
- result.append(child)
- return result
-
-diff --git a/rope/base/utils/pycompat.py b/rope/base/utils/pycompat.py
-index 1214658f..de7cf2e4 100644
---- a/rope/base/utils/pycompat.py
-+++ b/rope/base/utils/pycompat.py
-@@ -1,5 +1,5 @@
- import sys
--import _ast
-+import ast
- # from rope.base import ast
-
- PY2 = sys.version_info[0] == 2
-@@ -15,7 +15,7 @@
- str = str
- string_types = (str,)
- import builtins
-- ast_arg_type = _ast.arg
-+ ast_arg_type = ast.arg
-
- def execfile(fn, global_vars=None, local_vars=None):
- with open(fn) as f:
-@@ -34,7 +34,7 @@ def get_ast_with_items(node):
-
- string_types = (basestring,)
- builtins = __import__('__builtin__')
-- ast_arg_type = _ast.Name
-+ ast_arg_type = ast.Name
- execfile = execfile
-
- def get_ast_arg_arg(node):
-
-From 431d35d3e7ed2286bea2d13908cd80a0e42a9b13 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= <mcepl@cepl.eu>
-Date: Tue, 14 Jan 2020 15:00:36 +0100
-Subject: [PATCH 4/4] Work with deprecated types and using aliased ones.
-
-Fixes #247
----
- rope/base/oi/type_hinting/utils.py | 50 ++++++++++++++++++++----------
- 1 file changed, 34 insertions(+), 16 deletions(-)
-
-diff --git a/rope/base/oi/type_hinting/utils.py b/rope/base/oi/type_hinting/utils.py
-index aec82ac0..ce90dfeb 100644
---- a/rope/base/oi/type_hinting/utils.py
-+++ b/rope/base/oi/type_hinting/utils.py
-@@ -1,8 +1,12 @@
--import rope.base.builtins
-+import logging
-+try:
-+ from typing import Union, Optional
-+except ImportError:
-+ pass
- import rope.base.utils as base_utils
- from rope.base.evaluate import ScopeNameFinder
- from rope.base.exceptions import AttributeNotFoundError
--from rope.base.pyobjects import PyClass, PyFunction
-+from rope.base.pyobjects import PyClass, PyDefinedObject, PyFunction, PyObject
- from rope.base.utils import pycompat
-
-
-@@ -66,33 +70,47 @@ def get_lineno_for_node(assign_node):
-
- def get_mro(pyclass):
- # FIXME: to use real mro() result
-- l = [pyclass]
-- for cls in l:
-+ class_list = [pyclass]
-+ for cls in class_list:
- for super_cls in cls.get_superclasses():
-- if isinstance(super_cls, PyClass) and super_cls not in l:
-- l.append(super_cls)
-- return l
-+ if isinstance(super_cls, PyClass) and super_cls not in class_list:
-+ class_list.append(super_cls)
-+ return class_list
-
-
- def resolve_type(type_name, pyobject):
-+ # type: (str, Union[PyDefinedObject, PyObject]) -> Optional[PyDefinedObject, PyObject]
- """
-- :type type_name: str
-- :type pyobject: rope.base.pyobjects.PyDefinedObject | rope.base.pyobjects.PyObject
-- :rtype: rope.base.pyobjects.PyDefinedObject | rope.base.pyobjects.PyObject or None
-+ Find proper type object from its name.
- """
-+ deprecated_aliases = {'collections': 'collections.abc'}
-+ ret_type = None
-+ logging.debug('Looking for %s', type_name)
- if '.' not in type_name:
- try:
-- return pyobject.get_module().get_scope().get_name(type_name).get_object()
-- except Exception:
-- pass
-+ ret_type = pyobject.get_module().get_scope().get_name(
-+ type_name).get_object()
-+ except AttributeNotFoundError:
-+ logging.exception('Cannot resolve type %s', type_name)
- else:
- mod_name, attr_name = type_name.rsplit('.', 1)
- try:
- mod_finder = ScopeNameFinder(pyobject.get_module())
- mod = mod_finder._find_module(mod_name).get_object()
-- return mod.get_attribute(attr_name).get_object()
-- except Exception:
-- pass
-+ ret_type = mod.get_attribute(attr_name).get_object()
-+ except AttributeNotFoundError:
-+ if mod_name in deprecated_aliases:
-+ try:
-+ logging.debug('Looking for %s in %s',
-+ attr_name, deprecated_aliases[mod_name])
-+ mod = mod_finder._find_module(
-+ deprecated_aliases[mod_name]).get_object()
-+ ret_type = mod.get_attribute(attr_name).get_object()
-+ except AttributeNotFoundError:
-+ logging.exception('Cannot resolve type %s in %s',
-+ attr_name, dir(mod))
-+ logging.debug('ret_type = %s', ret_type)
-+ return ret_type
-
-
- class ParametrizeType(object):
diff --git a/dev-python/rope/rope-0.17.0.ebuild b/dev-python/rope/rope-0.17.0.ebuild
index 29135b931bc5..1933bb3cbd83 100644
--- a/dev-python/rope/rope-0.17.0.ebuild
+++ b/dev-python/rope/rope-0.17.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
IUSE="doc"
diff --git a/dev-python/rope/rope-0.16.0.ebuild b/dev-python/rope/rope-0.18.0.ebuild
index 7854b2c3f39a..212968e98367 100644
--- a/dev-python/rope/rope-0.16.0.ebuild
+++ b/dev-python/rope/rope-0.18.0.ebuild
@@ -3,7 +3,8 @@
EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
+# Not yet ready for py3.9: https://github.com/python-rope/rope/issues/299
+PYTHON_COMPAT=( python3_{7,8} )
inherit distutils-r1
@@ -13,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc"
@@ -21,10 +22,6 @@ IUSE="doc"
# setup.py, using standard docutils builds docs successfully.
DEPEND="doc? ( dev-python/docutils[${PYTHON_USEDEP}] )"
-PATCHES=(
- "${FILESDIR}"/${P}-python3.7.patch
-)
-
distutils_enable_tests pytest
python_compile_all() {