From c24e41bfc70831728a99da8c1b751f2ea39ca57bc2136a98996282337a3258b7 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Tue, 14 Dec 2021 11:45:29 +0000 Subject: [PATCH] Accepting request 939982 from home:bnavigator:python-rpm-macros - add Genshi-pr49-fix-python310-tests.patch - gh#edgewall/genshi#49 OBS-URL: https://build.opensuse.org/request/show/939982 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Genshi?expand=0&rev=28 --- Genshi-pr49-fix-python310-tests.patch | 314 ++++++++++++++++++++++++++ python-Genshi.changes | 5 + python-Genshi.spec | 2 + 3 files changed, 321 insertions(+) create mode 100644 Genshi-pr49-fix-python310-tests.patch diff --git a/Genshi-pr49-fix-python310-tests.patch b/Genshi-pr49-fix-python310-tests.patch new file mode 100644 index 0000000..243aaec --- /dev/null +++ b/Genshi-pr49-fix-python310-tests.patch @@ -0,0 +1,314 @@ +From 305dd683920e4dbd8d8f099e9ec7a57317cfe51a Mon Sep 17 00:00:00 2001 +From: Felix Schwarz +Date: Thu, 16 Sep 2021 22:39:45 +0200 +Subject: [PATCH 1/3] remove unused variable + +--- + genshi/util.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/genshi/util.py b/genshi/util.py +index 6213a26..6b357a6 100644 +--- a/genshi/util.py ++++ b/genshi/util.py +@@ -119,7 +119,6 @@ def _insert_item(self, item): + + def _manage_size(self): + while len(self._dict) > self.capacity: +- olditem = self._dict[self.tail.key] + del self._dict[self.tail.key] + if self.tail != self.head: + self.tail = self.tail.prv + +From 1f18af74eb40c673d6b01cf3c9960c4e48e084d9 Mon Sep 17 00:00:00 2001 +From: Felix Schwarz +Date: Thu, 16 Sep 2021 22:40:22 +0200 +Subject: [PATCH 2/3] remove unused imports + +--- + genshi/core.py | 3 ++- + genshi/filters/tests/i18n.py | 1 - + genshi/filters/tests/test_html.py | 1 - + genshi/filters/tests/transform.py | 1 - + genshi/input.py | 2 -- + genshi/output.py | 2 +- + genshi/template/base.py | 1 - + genshi/template/directives.py | 3 +-- + genshi/template/interpolation.py | 1 - + genshi/template/markup.py | 2 +- + genshi/template/text.py | 1 - + genshi/tests/core.py | 3 +-- + genshi/tests/input.py | 2 -- + genshi/tests/output.py | 2 -- + genshi/tests/path.py | 1 - + genshi/tests/util.py | 1 - + genshi/util.py | 2 -- + setup.py | 3 --- + 18 files changed, 6 insertions(+), 26 deletions(-) + +diff --git a/genshi/core.py b/genshi/core.py +index 1d50329..11ca64c 100644 +--- a/genshi/core.py ++++ b/genshi/core.py +@@ -20,7 +20,8 @@ + + import six + +-from genshi.util import plaintext, stripentities, striptags, stringrepr ++from genshi.compat import stringrepr ++from genshi.util import stripentities, striptags + + __all__ = ['Stream', 'Markup', 'escape', 'unescape', 'Attrs', 'Namespace', + 'QName'] +diff --git a/genshi/filters/tests/i18n.py b/genshi/filters/tests/i18n.py +index 5828ed9..80d0924 100644 +--- a/genshi/filters/tests/i18n.py ++++ b/genshi/filters/tests/i18n.py +@@ -12,7 +12,6 @@ + # history and logs, available at http://genshi.edgewall.org/log/. + + from datetime import datetime +-import doctest + from gettext import NullTranslations + import unittest + +diff --git a/genshi/filters/tests/test_html.py b/genshi/filters/tests/test_html.py +index f50b026..a5fc71b 100644 +--- a/genshi/filters/tests/test_html.py ++++ b/genshi/filters/tests/test_html.py +@@ -11,7 +11,6 @@ + # individuals. For the exact contribution history, see the revision + # history and logs, available at http://genshi.edgewall.org/log/. + +-import doctest + import unittest + + import six +diff --git a/genshi/filters/tests/transform.py b/genshi/filters/tests/transform.py +index f4c103d..6201557 100644 +--- a/genshi/filters/tests/transform.py ++++ b/genshi/filters/tests/transform.py +@@ -12,7 +12,6 @@ + # history and logs, available at http://genshi.edgewall.org/log/. + + import doctest +-from pprint import pprint + import unittest + + import six +diff --git a/genshi/input.py b/genshi/input.py +index 711d042..48ee193 100644 +--- a/genshi/input.py ++++ b/genshi/input.py +@@ -22,8 +22,6 @@ + import six + from six.moves import html_entities as entities, html_parser as html + +-import six +- + from genshi.core import Attrs, QName, Stream, stripentities + from genshi.core import START, END, XML_DECL, DOCTYPE, TEXT, START_NS, \ + END_NS, START_CDATA, END_CDATA, PI, COMMENT +diff --git a/genshi/output.py b/genshi/output.py +index dfe2648..de90a56 100644 +--- a/genshi/output.py ++++ b/genshi/output.py +@@ -20,7 +20,7 @@ + + import six + +-from genshi.core import escape, Attrs, Markup, Namespace, QName, StreamEventKind ++from genshi.core import escape, Attrs, Markup, QName, StreamEventKind + from genshi.core import START, END, TEXT, XML_DECL, DOCTYPE, START_NS, END_NS, \ + START_CDATA, END_CDATA, PI, COMMENT, XML_NAMESPACE + +diff --git a/genshi/template/base.py b/genshi/template/base.py +index 987a7ca..5336895 100644 +--- a/genshi/template/base.py ++++ b/genshi/template/base.py +@@ -15,7 +15,6 @@ + + from collections import deque + import os +-import sys + + import six + +diff --git a/genshi/template/directives.py b/genshi/template/directives.py +index 68d0af0..c672e77 100644 +--- a/genshi/template/directives.py ++++ b/genshi/template/directives.py +@@ -19,8 +19,7 @@ + from genshi.path import Path + from genshi.template.base import TemplateRuntimeError, TemplateSyntaxError, \ + EXPR, _apply_directives, _eval_expr +-from genshi.template.eval import Expression, ExpressionASTTransformer, \ +- _ast, _parse ++from genshi.template.eval import Expression, _ast, _parse + + __all__ = ['AttrsDirective', 'ChooseDirective', 'ContentDirective', + 'DefDirective', 'ForDirective', 'IfDirective', 'MatchDirective', +diff --git a/genshi/template/interpolation.py b/genshi/template/interpolation.py +index 401d79e..b4046b5 100644 +--- a/genshi/template/interpolation.py ++++ b/genshi/template/interpolation.py +@@ -16,7 +16,6 @@ + """ + + from itertools import chain +-import os + import re + from tokenize import PseudoToken + +diff --git a/genshi/template/markup.py b/genshi/template/markup.py +index 53d73e3..22f0602 100644 +--- a/genshi/template/markup.py ++++ b/genshi/template/markup.py +@@ -15,7 +15,7 @@ + + from itertools import chain + +-from genshi.core import Attrs, Markup, Namespace, Stream, StreamEventKind ++from genshi.core import Attrs, Markup, Namespace, Stream + from genshi.core import START, END, START_NS, END_NS, TEXT, PI, COMMENT + from genshi.input import XMLParser + from genshi.template.base import BadDirectiveError, Template, \ +diff --git a/genshi/template/text.py b/genshi/template/text.py +index 94b4065..9155750 100644 +--- a/genshi/template/text.py ++++ b/genshi/template/text.py +@@ -35,7 +35,6 @@ + TemplateSyntaxError, EXEC, INCLUDE, SUB + from genshi.template.eval import Suite + from genshi.template.directives import * +-from genshi.template.directives import Directive + from genshi.template.interpolation import interpolate + + __all__ = ['NewTextTemplate', 'OldTextTemplate', 'TextTemplate'] +diff --git a/genshi/tests/core.py b/genshi/tests/core.py +index b3d3fb5..e7e7906 100644 +--- a/genshi/tests/core.py ++++ b/genshi/tests/core.py +@@ -11,13 +11,12 @@ + # individuals. For the exact contribution history, see the revision + # history and logs, available at http://genshi.edgewall.org/log/. + +-import doctest + import pickle + import unittest + + from genshi import core + from genshi.core import Markup, Attrs, Namespace, QName, escape, unescape +-from genshi.input import XML, ParseError ++from genshi.input import XML + from genshi.compat import StringIO, BytesIO, IS_PYTHON2 + from genshi.tests.test_utils import doctest_suite + +diff --git a/genshi/tests/input.py b/genshi/tests/input.py +index f0b9b3b..e520e26 100644 +--- a/genshi/tests/input.py ++++ b/genshi/tests/input.py +@@ -11,8 +11,6 @@ + # individuals. For the exact contribution history, see the revision + # history and logs, available at http://genshi.edgewall.org/log/. + +-import doctest +-import sys + import unittest + + from genshi.core import Attrs, Stream +diff --git a/genshi/tests/output.py b/genshi/tests/output.py +index f964177..aa4c81a 100644 +--- a/genshi/tests/output.py ++++ b/genshi/tests/output.py +@@ -11,9 +11,7 @@ + # individuals. For the exact contribution history, see the revision + # history and logs, available at http://genshi.edgewall.org/log/. + +-import doctest + import unittest +-import sys + + from genshi.core import Attrs, Markup, QName, Stream + from genshi.input import HTML, XML +diff --git a/genshi/tests/path.py b/genshi/tests/path.py +index 3d04dd4..ce75e18 100644 +--- a/genshi/tests/path.py ++++ b/genshi/tests/path.py +@@ -11,7 +11,6 @@ + # individuals. For the exact contribution history, see the revision + # history and logs, available at http://genshi.edgewall.org/log/. + +-import doctest + import unittest + + from genshi.core import Attrs, QName +diff --git a/genshi/tests/util.py b/genshi/tests/util.py +index f766579..4556d11 100644 +--- a/genshi/tests/util.py ++++ b/genshi/tests/util.py +@@ -11,7 +11,6 @@ + # individuals. For the exact contribution history, see the revision + # history and logs, available at http://genshi.edgewall.org/log/. + +-import doctest + import unittest + + from genshi import util +diff --git a/genshi/util.py b/genshi/util.py +index 6b357a6..ad7f2d7 100644 +--- a/genshi/util.py ++++ b/genshi/util.py +@@ -19,8 +19,6 @@ + + import six + +-from .compat import stringrepr +- + __docformat__ = 'restructuredtext en' + + +diff --git a/setup.py b/setup.py +index 18c7dfd..c14cfa8 100755 +--- a/setup.py ++++ b/setup.py +@@ -12,11 +12,8 @@ + # individuals. For the exact contribution history, see the revision + # history and logs, available at http://genshi.edgewall.org/log/. + +-from distutils.cmd import Command + from distutils.command.build_ext import build_ext + from distutils.errors import CCompilerError, DistutilsPlatformError +-import doctest +-from glob import glob + import os + try: + from setuptools import setup, Extension + +From a23f3054b96b487215b04812c680075c5117470a Mon Sep 17 00:00:00 2001 +From: Felix Schwarz +Date: Thu, 16 Sep 2021 23:02:46 +0200 +Subject: [PATCH 3/3] get test suite passing with Python 3.10 + +--- + genshi/compat.py | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/genshi/compat.py b/genshi/compat.py +index 4a77571..8b307e5 100644 +--- a/genshi/compat.py ++++ b/genshi/compat.py +@@ -99,6 +99,13 @@ def get_code_params(code): + + + def build_code_chunk(code, filename, name, lineno): ++ if hasattr(code, 'replace'): ++ # Python 3.8+ ++ return code.replace( ++ co_filename=filename, ++ co_name=name, ++ co_firstlineno=lineno, ++ ) + params = [0, code.co_nlocals, code.co_kwonlyargcount, + code.co_stacksize, code.co_flags | 0x0040, + code.co_code, code.co_consts, code.co_names, diff --git a/python-Genshi.changes b/python-Genshi.changes index 3e7d34d..93c4bc0 100644 --- a/python-Genshi.changes +++ b/python-Genshi.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sat Dec 11 21:10:18 UTC 2021 - Ben Greiner + +- add Genshi-pr49-fix-python310-tests.patch - gh#edgewall/genshi#49 + ------------------------------------------------------------------- Sat Jun 26 12:47:16 UTC 2021 - Ben Greiner diff --git a/python-Genshi.spec b/python-Genshi.spec index fb81dfe..8b5f5cb 100644 --- a/python-Genshi.spec +++ b/python-Genshi.spec @@ -28,6 +28,8 @@ URL: http://genshi.edgewall.org/ Source: https://files.pythonhosted.org/packages/source/G/Genshi/Genshi-%{version}.tar.gz # PATCH-FIX-UPSTREAM Genshi-pr39-fix-setuptools-extension.patch -- gh#edgewall/genshi#39 fixes gh#edgewall/genshi#36 Patch1: Genshi-pr39-fix-setuptools-extension.patch +# PATCH-FIX-UPSTREAM Genshi-pr49-fix-python310-tests.patch -- gh#edgewall/genshi#49 +Patch2: https://github.com/edgewall/genshi/pull/49.patch#/Genshi-pr49-fix-python310-tests.patch BuildRequires: %{python_module Babel} BuildRequires: %{python_module devel} BuildRequires: %{python_module setuptools}