diff options
author | Josef Schlehofer <pepe.schlehofer@gmail.com> | 2021-12-30 22:33:40 +0100 |
---|---|---|
committer | Josef Schlehofer <pepe.schlehofer@gmail.com> | 2022-01-03 15:52:33 +0100 |
commit | 47a279128ad6e02e22349ef693f3a53f9097deec (patch) | |
tree | ffc496a6135c5bd4ac907fac084cd23a58dbb8c0 /lang/python | |
parent | 4be2a5b73757eb0037d41da962518eaac4e4d3ac (diff) |
python-stem: backport patch to fix Python 3.10
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Diffstat (limited to 'lang/python')
-rw-r--r-- | lang/python/python-stem/Makefile | 2 | ||||
-rw-r--r-- | lang/python/python-stem/patches/001-fixes-for-Python310.patch | 36 |
2 files changed, 37 insertions, 1 deletions
diff --git a/lang/python/python-stem/Makefile b/lang/python/python-stem/Makefile index 12ca92b4a..5f8a877ee 100644 --- a/lang/python/python-stem/Makefile +++ b/lang/python/python-stem/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-stem PKG_VERSION:=1.8.0 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PYPI_NAME:=stem PKG_HASH:=a0b48ea6224e95f22aa34c0bc3415f0eb4667ddeae3dfb5e32a6920c185568c2 diff --git a/lang/python/python-stem/patches/001-fixes-for-Python310.patch b/lang/python/python-stem/patches/001-fixes-for-Python310.patch new file mode 100644 index 000000000..d7a5f6c2b --- /dev/null +++ b/lang/python/python-stem/patches/001-fixes-for-Python310.patch @@ -0,0 +1,36 @@ +From 36bcb170ba9097885902513640075eac2e6ce384 Mon Sep 17 00:00:00 2001 +From: Calin Culianu <calin.culianu@gmail.com> +Date: Mon, 8 Nov 2021 18:15:59 -0600 +Subject: [PATCH] Fixup for Python 3.10 + +Closes issue #109. Long story short: a few names from collection are +now moved to collection.abc exclusively starting in Python 3.10. The +only name this app uses from there that was moved is +`collections.Iterable`. Python versions starting from 3.3 support both +`collections.Iterable` and `collections.abc.Iterable` as the way to refer to +this class, which Python 3.10 being the first one to drop +`collections.Iterable`. So.. we just work around this API quirk +and always refer ot it as `collections.abc.Iterable`. +--- + stem/control.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/stem/control.py ++++ b/stem/control.py +@@ -249,6 +249,7 @@ If you're fine with allowing your script + + import calendar + import collections ++import collections.abc + import functools + import inspect + import io +@@ -2532,7 +2533,7 @@ class Controller(BaseController): + for param, value in params: + if isinstance(value, str): + query_comp.append('%s="%s"' % (param, value.strip())) +- elif isinstance(value, collections.Iterable): ++ elif isinstance(value, collections.abc.Iterable): + query_comp.extend(['%s="%s"' % (param, val.strip()) for val in value]) + elif not value: + query_comp.append(param) |