- Add patch to work with python 3.8:
* python38.patch OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Jinja2?expand=0&rev=72
This commit is contained in:
parent
70c95b1a56
commit
ebf628bfa2
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 24 11:06:41 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
- Add patch to work with python 3.8:
|
||||
* python38.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Apr 13 16:46:23 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
|
@ -26,6 +26,7 @@ License: BSD-3-Clause
|
||||
Group: Development/Languages/Python
|
||||
URL: http://jinja.pocoo.org/
|
||||
Source: https://files.pythonhosted.org/packages/source/J/Jinja2/Jinja2-%{version}.tar.gz
|
||||
Patch0: python38.patch
|
||||
BuildRequires: %{python_module MarkupSafe >= 0.23}
|
||||
BuildRequires: %{python_module pytest}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
@ -81,18 +82,17 @@ Emacs syntax highlighting scheme for Jinja2 templates.
|
||||
|
||||
%prep
|
||||
%setup -q -n Jinja2-%{version}
|
||||
%patch0 -p1
|
||||
sed -i 's/\r$//' LICENSE # Fix wrong EOL encoding
|
||||
|
||||
%build
|
||||
%python_build
|
||||
sed -i 's/\r$//' LICENSE # Fix wrong EOL encoding
|
||||
|
||||
%install
|
||||
%python_install
|
||||
install -Dm644 ext/Vim/jinja.vim %{buildroot}%{_datadir}/vim/site/syntax/jinja.vim # Install VIM syntax file
|
||||
install -Dm644 ext/jinja.el %{buildroot}%{_datadir}/emacs/site-lisp/jinja.el # Install Emacs syntax file
|
||||
%if 0%{?suse_version}
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
%endif
|
||||
|
||||
%check
|
||||
%pytest
|
||||
|
187
python38.patch
Normal file
187
python38.patch
Normal file
@ -0,0 +1,187 @@
|
||||
From 31bf9b7e71c3fee3b7866ffdc0f70f4525a490d9 Mon Sep 17 00:00:00 2001
|
||||
From: Florian Bruhin <git@the-compiler.org>
|
||||
Date: Wed, 27 Jun 2018 15:30:54 +0200
|
||||
Subject: [PATCH] Import abstract base classes from collections.abc
|
||||
|
||||
In Python 3.7, importing ABCs directly from the `collections` module shows a
|
||||
warning (and in Python 3.8 it will stop working) - see
|
||||
https://github.com/python/cpython/commit/c66f9f8d3909f588c251957d499599a1680e2320
|
||||
|
||||
This fixes various DeprecationWarnings such as those:
|
||||
|
||||
```
|
||||
.../jinja2/utils.py:485: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
|
||||
from collections import MutableMapping
|
||||
|
||||
.../jinja2/runtime.py:318: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
|
||||
from collections import Mapping
|
||||
```
|
||||
---
|
||||
docs/jinjaext.py | 4 ++--
|
||||
jinja2/_compat.py | 6 ++++++
|
||||
jinja2/runtime.py | 9 ++-------
|
||||
jinja2/sandbox.py | 12 +++++-------
|
||||
jinja2/tests.py | 5 ++---
|
||||
jinja2/utils.py | 9 ++-------
|
||||
6 files changed, 19 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/docs/jinjaext.py b/docs/jinjaext.py
|
||||
index bb508089..fd38ee8f 100644
|
||||
--- a/docs/jinjaext.py
|
||||
+++ b/docs/jinjaext.py
|
||||
@@ -8,7 +8,6 @@
|
||||
:copyright: Copyright 2008 by Armin Ronacher.
|
||||
:license: BSD.
|
||||
"""
|
||||
-import collections
|
||||
import os
|
||||
import re
|
||||
import inspect
|
||||
@@ -26,6 +25,7 @@
|
||||
from pygments.token import Keyword, Name, Comment, String, Error, \
|
||||
Number, Operator, Generic
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
+from jinja2._compat import abc
|
||||
|
||||
|
||||
def parse_rst(state, content_offset, doc):
|
||||
@@ -160,7 +160,7 @@ def walk(node, indent):
|
||||
members = []
|
||||
for key, name in node.__dict__.items():
|
||||
if not key.startswith('_') and \
|
||||
- not hasattr(node.__base__, key) and isinstance(name, collections.Callable):
|
||||
+ not hasattr(node.__base__, key) and isinstance(name, abc.Callable):
|
||||
members.append(key)
|
||||
if members:
|
||||
members.sort()
|
||||
diff --git a/jinja2/_compat.py b/jinja2/_compat.py
|
||||
index 61d85301..4dbf6ea0 100644
|
||||
--- a/jinja2/_compat.py
|
||||
+++ b/jinja2/_compat.py
|
||||
@@ -97,3 +97,9 @@ def __new__(cls, name, this_bases, d):
|
||||
from urllib.parse import quote_from_bytes as url_quote
|
||||
except ImportError:
|
||||
from urllib import quote as url_quote
|
||||
+
|
||||
+
|
||||
+try:
|
||||
+ from collections import abc
|
||||
+except ImportError:
|
||||
+ import collections as abc
|
||||
diff --git a/jinja2/runtime.py b/jinja2/runtime.py
|
||||
index f9d7a680..5e313369 100644
|
||||
--- a/jinja2/runtime.py
|
||||
+++ b/jinja2/runtime.py
|
||||
@@ -20,7 +20,7 @@
|
||||
TemplateNotFound
|
||||
from jinja2._compat import imap, text_type, iteritems, \
|
||||
implements_iterator, implements_to_string, string_types, PY2, \
|
||||
- with_metaclass
|
||||
+ with_metaclass, abc
|
||||
|
||||
|
||||
# these variables are exported to the template runtime
|
||||
@@ -313,12 +313,7 @@ def __repr__(self):
|
||||
)
|
||||
|
||||
|
||||
-# register the context as mapping if possible
|
||||
-try:
|
||||
- from collections import Mapping
|
||||
- Mapping.register(Context)
|
||||
-except ImportError:
|
||||
- pass
|
||||
+abc.Mapping.register(Context)
|
||||
|
||||
|
||||
class BlockReference(object):
|
||||
diff --git a/jinja2/sandbox.py b/jinja2/sandbox.py
|
||||
index 03aaebd2..8015ee0c 100644
|
||||
--- a/jinja2/sandbox.py
|
||||
+++ b/jinja2/sandbox.py
|
||||
@@ -14,10 +14,9 @@
|
||||
"""
|
||||
import types
|
||||
import operator
|
||||
-from collections import Mapping
|
||||
from jinja2.environment import Environment
|
||||
from jinja2.exceptions import SecurityError
|
||||
-from jinja2._compat import string_types, PY2
|
||||
+from jinja2._compat import string_types, PY2, abc
|
||||
from jinja2.utils import Markup
|
||||
|
||||
from markupsafe import EscapeFormatter
|
||||
@@ -79,10 +78,9 @@
|
||||
pass
|
||||
|
||||
#: register Python 2.6 abstract base classes
|
||||
-from collections import MutableSet, MutableMapping, MutableSequence
|
||||
-_mutable_set_types += (MutableSet,)
|
||||
-_mutable_mapping_types += (MutableMapping,)
|
||||
-_mutable_sequence_types += (MutableSequence,)
|
||||
+_mutable_set_types += (abc.MutableSet,)
|
||||
+_mutable_mapping_types += (abc.MutableMapping,)
|
||||
+_mutable_sequence_types += (abc.MutableSequence,)
|
||||
|
||||
|
||||
_mutable_spec = (
|
||||
@@ -103,7 +101,7 @@
|
||||
)
|
||||
|
||||
|
||||
-class _MagicFormatMapping(Mapping):
|
||||
+class _MagicFormatMapping(abc.Mapping):
|
||||
"""This class implements a dummy wrapper to fix a bug in the Python
|
||||
standard library for string formatting.
|
||||
|
||||
diff --git a/jinja2/tests.py b/jinja2/tests.py
|
||||
index 0adc3d4d..bc99d66c 100644
|
||||
--- a/jinja2/tests.py
|
||||
+++ b/jinja2/tests.py
|
||||
@@ -10,9 +10,8 @@
|
||||
"""
|
||||
import operator
|
||||
import re
|
||||
-from collections import Mapping
|
||||
from jinja2.runtime import Undefined
|
||||
-from jinja2._compat import text_type, string_types, integer_types
|
||||
+from jinja2._compat import text_type, string_types, integer_types, abc
|
||||
import decimal
|
||||
|
||||
number_re = re.compile(r'^-?\d+(\.\d+)?$')
|
||||
@@ -84,7 +83,7 @@ def test_mapping(value):
|
||||
|
||||
.. versionadded:: 2.6
|
||||
"""
|
||||
- return isinstance(value, Mapping)
|
||||
+ return isinstance(value, abc.Mapping)
|
||||
|
||||
|
||||
def test_number(value):
|
||||
diff --git a/jinja2/utils.py b/jinja2/utils.py
|
||||
index 083ea274..538b7745 100644
|
||||
--- a/jinja2/utils.py
|
||||
+++ b/jinja2/utils.py
|
||||
@@ -14,7 +14,7 @@
|
||||
from collections import deque
|
||||
from threading import Lock
|
||||
from jinja2._compat import text_type, string_types, implements_iterator, \
|
||||
- url_quote
|
||||
+ url_quote, abc
|
||||
|
||||
|
||||
_word_split_re = re.compile(r'(\s+)')
|
||||
@@ -480,12 +480,7 @@ def __reversed__(self):
|
||||
__copy__ = copy
|
||||
|
||||
|
||||
-# register the LRU cache as mutable mapping if possible
|
||||
-try:
|
||||
- from collections import MutableMapping
|
||||
- MutableMapping.register(LRUCache)
|
||||
-except ImportError:
|
||||
- pass
|
||||
+abc.MutableMapping.register(LRUCache)
|
||||
|
||||
|
||||
def select_autoescape(enabled_extensions=('html', 'htm', 'xml'),
|
Loading…
x
Reference in New Issue
Block a user