From 783c9f0c7187ad367fd42110a917bb6facbe1527 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Wed, 30 Oct 2019 14:08:35 +0100 Subject: [PATCH] package/python-web2py: fix build with python 3.8 Fixes: - http://autobuild.buildroot.org/results/fa515627ae888d08fc10074e8d9f6e9dbede91a7 Signed-off-by: Fabrice Fontaine Signed-off-by: Thomas Petazzoni --- ...py-import-escape-from-html-instead-o.patch | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 package/python-web2py/0001-gluon-languages.py-import-escape-from-html-instead-o.patch diff --git a/package/python-web2py/0001-gluon-languages.py-import-escape-from-html-instead-o.patch b/package/python-web2py/0001-gluon-languages.py-import-escape-from-html-instead-o.patch new file mode 100644 index 0000000000..d6321e5592 --- /dev/null +++ b/package/python-web2py/0001-gluon-languages.py-import-escape-from-html-instead-o.patch @@ -0,0 +1,49 @@ +From cf3c8e6ac8c428151dc191510554b4ee2705958d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 30 Oct 2019 10:08:35 +0100 +Subject: [PATCH] gluon/languages.py: import escape from html instead of cgi + +import escape from html and fallback on current import from cgi to fix +the following build failure with python 3.8: + +/home/buildroot/autobuild/run/instance-2/output-1/host/bin/python -c 'import os; os.chdir("/home/buildroot/autobuild/run/instance-2/output-1/build/python-web2py-2.17.2"); from gluon.main import save_password; save_password("web2py",8000)' +Traceback (most recent call last): + File "", line 1, in + File "/home/buildroot/autobuild/run/instance-2/output-1/build/python-web2py-2.17.2/gluon/__init__.py", line 34, in + from .globals import current + File "/home/buildroot/autobuild/run/instance-2/output-1/build/python-web2py-2.17.2/gluon/globals.py", line 24, in + from gluon.serializers import json, custom_json + File "/home/buildroot/autobuild/run/instance-2/output-1/build/python-web2py-2.17.2/gluon/serializers.py", line 10, in + from gluon.languages import lazyT + File "/home/buildroot/autobuild/run/instance-2/output-1/build/python-web2py-2.17.2/gluon/languages.py", line 19, in + from cgi import escape +ImportError: cannot import name 'escape' from 'cgi' (/home/buildroot/autobuild/run/instance-2/output-1/host/lib/python3.8/cgi.py) + +Fixes: + - http://autobuild.buildroot.org/results/fa515627ae888d08fc10074e8d9f6e9dbede91a7 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/web2py/web2py/pull/2272] +--- + gluon/languages.py | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/gluon/languages.py b/gluon/languages.py +index 9ed60f9c..554d7339 100644 +--- a/gluon/languages.py ++++ b/gluon/languages.py +@@ -16,7 +16,10 @@ import re + import sys + import pkgutil + import logging +-from cgi import escape ++try: ++ from html import escape ++except ImportError: ++ from cgi import escape + from threading import RLock + + from pydal._compat import copyreg, PY2, maketrans, iterkeys, unicodeT, to_unicode, to_bytes, iteritems, to_native, pjoin +-- +2.23.0 +