summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/jaraco-collections/files/jaraco-collections-3.0.0-pypy.patch30
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-3.0.0.ebuild9
2 files changed, 37 insertions, 2 deletions
diff --git a/dev-python/jaraco-collections/files/jaraco-collections-3.0.0-pypy.patch b/dev-python/jaraco-collections/files/jaraco-collections-3.0.0-pypy.patch
new file mode 100644
index 000000000000..63cee6cb4115
--- /dev/null
+++ b/dev-python/jaraco-collections/files/jaraco-collections-3.0.0-pypy.patch
@@ -0,0 +1,30 @@
+diff --git a/jaraco/collections.py b/jaraco/collections.py
+index 3ab9dc9..6a6e342 100644
+--- a/jaraco/collections.py
++++ b/jaraco/collections.py
+@@ -4,6 +4,7 @@ import collections.abc
+ import itertools
+ import copy
+ import functools
++import platform
+
+ from jaraco.classes.properties import NonDataProperty
+ import jaraco.text
+@@ -592,9 +593,14 @@ class DictStack(list, collections.abc.Mapping):
+ return list(set(itertools.chain.from_iterable(c.keys() for c in self)))
+
+ def __getitem__(self, key):
+- for scope in reversed(self):
+- if key in scope:
+- return scope[key]
++ if 'PyPy' in platform.python_implementation():
++ for scope in reversed(list(self)):
++ if key in scope:
++ return scope[key]
++ else:
++ for scope in reversed(self):
++ if key in scope:
++ return scope[key]
+ raise KeyError(key)
+
+ push = list.append
diff --git a/dev-python/jaraco-collections/jaraco-collections-3.0.0.ebuild b/dev-python/jaraco-collections/jaraco-collections-3.0.0.ebuild
index 24a897750d90..e89935b5b5cd 100644
--- a/dev-python/jaraco-collections/jaraco-collections-3.0.0.ebuild
+++ b/dev-python/jaraco-collections/jaraco-collections-3.0.0.ebuild
@@ -33,11 +33,16 @@ BDEPEND="
>=dev-python/pytest-2.8[${PYTHON_USEDEP}]
)
"
-distutils_enable_sphinx docs '>=dev-python/jaraco-packaging-3.2' \
- '>=dev-python/rst-linker-1.9'
S="${WORKDIR}/${MY_PN}-${PV}"
+PATCHES=(
+ "${FILESDIR}/jaraco-collections-3.0.0-pypy.patch"
+)
+
+distutils_enable_sphinx docs '>=dev-python/jaraco-packaging-3.2' \
+ '>=dev-python/rst-linker-1.9'
+
python_test() {
# Override pytest options to skip flake8
PYTHONPATH=. pytest -vv --override-ini="addopts=--doctest-modules" \