From 677b7ba5c317778df2ad7e70df94b9b7eec4adbc Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 10 Sep 2021 04:21:55 +0100 Subject: gentoo resync : 10.09.2021 --- dev-python/tempita/Manifest | 4 +- dev-python/tempita/files/tempita-0.5.3-2to3.patch | 233 +++++++++++++++++++++ .../tempita/files/tempita-0.5.3-pypy-tests.patch | 26 --- dev-python/tempita/tempita-0.5.3-r3.ebuild | 20 +- 4 files changed, 242 insertions(+), 41 deletions(-) create mode 100644 dev-python/tempita/files/tempita-0.5.3-2to3.patch delete mode 100644 dev-python/tempita/files/tempita-0.5.3-pypy-tests.patch (limited to 'dev-python/tempita') diff --git a/dev-python/tempita/Manifest b/dev-python/tempita/Manifest index ef13cb1515f3..fed114eae604 100644 --- a/dev-python/tempita/Manifest +++ b/dev-python/tempita/Manifest @@ -1,5 +1,5 @@ +AUX tempita-0.5.3-2to3.patch 7945 BLAKE2B 87af52b30c6c1a0cd6de3fa3a3406be8ba93f04d0a3c10598c24353a16123544300dbc8aff39fe7b145a26797f99b8c41e51145906eb0cfc93887cb301b25a7e SHA512 ad1eaf06dcb303c79b7774554f2fa02ef59d66ddf457b32c876b1a391c1d2c82cdd0cdd8db01601d9899144d0b43ba6517211610f33f6ca181028f052f339214 AUX tempita-0.5.3-cgi-escape.patch 1109 BLAKE2B bf11e4e5c284709c62d6ddb5413bececd76079a84352c806921585fed33e77c9b4f34a032e60d18f900546ce4ef716532a3901744752cee2dbfcabfb383e981e SHA512 da9e3c8adf984daa3da2d695e56633ea45fb2424f1cf10d8e939cb915fcfda3bee67ed0039838916ddb05d749e4229336eea51b7878e5ece9a4c66750ecf8f4a -AUX tempita-0.5.3-pypy-tests.patch 933 BLAKE2B 9b49ab761c894a54f883645bbae9eba938d412aba65392fd78feffee1feadefe6f34f63f4aa7d61c5437d6697aae0dcd89434789d84055b6c089721ddb559cee SHA512 bad83c3e05d3aa8d151403ca71c527663b2268c3fee517ab5778a169b497ab491666bbb9be627369f41ba8444b6e98511953ece2744582d1abffd1ef206de312 DIST tempita-0.5.3-bitbucket.tar.gz 22756 BLAKE2B 59d273b1dc206eea452f7e5265d59b3ef1248b2d920eae559d74f4c569852b2a127e2a906f866cb748a12663dca944d9080413410edd5c69bd93b0d9574e3026 SHA512 cebe443bf0fc7705304fe127c796801acb6cdc54e79315c2afddb79ece1d04427852c1d0924ab9dd54520b584ae09a0644a20ff2dd6ed0408ee103f5b3fb9410 -EBUILD tempita-0.5.3-r3.ebuild 1443 BLAKE2B 0ccf69011324f5a9ae1449b4b9fb4db99ec8ec8e03dfc73b14b9131abc9cb934b1094e48e75bc290ff5039b307f17869c3142853377110ba65d29cacba9c1dff SHA512 e88914b97330021aa1b78f33e4529fe585b09882112d67ff16b8a443c958e4cb620cc341a3d101b96bc81e1c56b44b8d0227576296698d9f040a8d7984784469 +EBUILD tempita-0.5.3-r3.ebuild 1225 BLAKE2B af627892fc7759d98cda27b0096104f2acb1b16a71fab78658bc7e01f4dbd1be61fec4ab84322b4bb54916a7fad8a294b7faed57f7fdad61790b13ae482a782d SHA512 4f770be1da91c338331732fb322aa22b1baf083311cb7fea6037cf8a2a8f18fa9fa718add31b2dec7c1f1801ec25d5caed0356f50b342a4197a1bf5eac7e5bf1 MISC metadata.xml 345 BLAKE2B 9886d3a48b0230f27c9b19491977ecbe80e6c7d54052193a4eeeaac1444e69abbd3da1687382b6900f4964b3bc58b373e107f323e97b88f41d4ee60aeb7999c4 SHA512 9421a8bc006b96fc511e5b27f4b95ec0b7b030d4d33030ac4ea2d2f35e0215d1bb2836b8c26fb7e765d7d8cd6834b373b5b0a233cbad6b627d57b77f72b01ec7 diff --git a/dev-python/tempita/files/tempita-0.5.3-2to3.patch b/dev-python/tempita/files/tempita-0.5.3-2to3.patch new file mode 100644 index 000000000000..d2aaae6546c1 --- /dev/null +++ b/dev-python/tempita/files/tempita-0.5.3-2to3.patch @@ -0,0 +1,233 @@ +commit d886499651add63bbb944c25fc56a276cc2a7884 +Author: Louis Sautier +Date: Thu Sep 9 23:35:03 2021 +0200 + + Stop using deprecated 2to3 option for setuptools + +diff --git a/setup.py b/setup.py +index f575020..678b555 100644 +--- a/setup.py ++++ b/setup.py +@@ -36,5 +36,4 @@ more to learn about it. + test_suite='nose.collector', + include_package_data=True, + zip_safe=True, +- use_2to3=True, + ) +diff --git a/tempita/__init__.py b/tempita/__init__.py +index acc2fd9..a3cb8a1 100755 +--- a/tempita/__init__.py ++++ b/tempita/__init__.py +@@ -35,9 +35,9 @@ import os + import re + import sys + import tokenize +-from cStringIO import StringIO ++from io import StringIO + from html import escape +-from urllib import quote as url_quote ++from urllib.parse import quote as url_quote + from tempita._looper import looper + from tempita.compat3 import bytes, basestring_, next, is_unicode, coerce_text + +@@ -103,7 +103,7 @@ class Template(object): + delimiters = (self.default_namespace['start_braces'], + self.default_namespace['end_braces']) + else: +- assert len(delimiters) == 2 and all([isinstance(delimeter, basestring) ++ assert len(delimiters) == 2 and all([isinstance(delimeter, str) + for delimeter in delimiters]) + self.default_namespace = self.__class__.default_namespace.copy() + self.default_namespace['start_braces'] = delimiters[0] +@@ -198,7 +198,7 @@ class Template(object): + position=None, name=self.name) + templ = self.get_template(inherit_template, self) + self_ = TemplateObject(self.name) +- for name, value in defs.iteritems(): ++ for name, value in defs.items(): + setattr(self_, name, value) + self_.body = body + ns = ns.copy() +@@ -294,7 +294,7 @@ class Template(object): + try: + try: + value = eval(code, self.default_namespace, ns) +- except SyntaxError, e: ++ except SyntaxError as e: + raise SyntaxError( + 'invalid syntax in expression: %s' % code) + return value +@@ -306,12 +306,12 @@ class Template(object): + else: + arg0 = coerce_text(e) + e.args = (self._add_line_info(arg0, pos),) +- raise exc_info[0], e, exc_info[2] ++ raise exc_info[0](e).with_traceback(exc_info[2]) + + def _exec(self, code, ns, pos): + __traceback_hide__ = True + try: +- exec code in self.default_namespace, ns ++ exec(code, self.default_namespace, ns) + except: + exc_info = sys.exc_info() + e = exc_info[1] +@@ -319,7 +319,7 @@ class Template(object): + e.args = (self._add_line_info(e.args[0], pos),) + else: + e.args = (self._add_line_info(None, pos),) +- raise exc_info[0], e, exc_info[2] ++ raise exc_info[0](e).with_traceback(exc_info[2]) + + def _repr(self, value, pos): + __traceback_hide__ = True +@@ -328,7 +328,7 @@ class Template(object): + return '' + if self._unicode: + try: +- value = unicode(value) ++ value = str(value) + except UnicodeDecodeError: + value = bytes(value) + else: +@@ -341,7 +341,7 @@ class Template(object): + exc_info = sys.exc_info() + e = exc_info[1] + e.args = (self._add_line_info(e.args[0], pos),) +- raise exc_info[0], e, exc_info[2] ++ raise exc_info[0](e).with_traceback(exc_info[2]) + else: + if self._unicode and isinstance(value, bytes): + if not self.default_encoding: +@@ -350,7 +350,7 @@ class Template(object): + '(no default_encoding provided)' % value) + try: + value = value.decode(self.default_encoding) +- except UnicodeDecodeError, e: ++ except UnicodeDecodeError as e: + raise UnicodeDecodeError( + e.encoding, + e.object, +@@ -387,7 +387,7 @@ def paste_script_template_renderer(content, vars, filename=None): + class bunch(dict): + + def __init__(self, **kw): +- for name, value in kw.iteritems(): ++ for name, value in kw.items(): + setattr(self, name, value) + + def __setattr__(self, name, value): +@@ -410,7 +410,7 @@ class bunch(dict): + + def __repr__(self): + items = [ +- (k, v) for k, v in self.iteritems()] ++ (k, v) for k, v in self.items()] + items.sort() + return '<%s %s>' % ( + self.__class__.__name__, +@@ -463,7 +463,7 @@ def url(v): + + + def attr(**kw): +- kw = list(kw.iteritems()) ++ kw = list(kw.items()) + kw.sort() + parts = [] + for name, value in kw: +@@ -545,7 +545,7 @@ class TemplateDef(object): + values = {} + sig_args, var_args, var_kw, defaults = self._func_signature + extra_kw = {} +- for name, value in kw.iteritems(): ++ for name, value in kw.items(): + if not var_kw and name not in sig_args: + raise TypeError( + 'Unexpected argument %s' % name) +@@ -568,7 +568,7 @@ class TemplateDef(object): + raise TypeError( + 'Extra position arguments: %s' + % ', '.join(repr(v) for v in args)) +- for name, value_expr in defaults.iteritems(): ++ for name, value_expr in defaults.items(): + if name not in values: + values[name] = self._template._eval( + value_expr, self._ns, self._pos) +@@ -614,7 +614,7 @@ class _Empty(object): + return 'Empty' + + def __unicode__(self): +- return u'' ++ return '' + + def __iter__(self): + return iter(()) +@@ -1164,7 +1164,7 @@ def fill_command(args=None): + vars.update(os.environ) + for value in args: + if '=' not in value: +- print('Bad argument: %r' % value) ++ print(('Bad argument: %r' % value)) + sys.exit(2) + name, value = value.split('=', 1) + if name.startswith('py:'): +diff --git a/tempita/_looper.py b/tempita/_looper.py +index 6784c7c..70aded7 100644 +--- a/tempita/_looper.py ++++ b/tempita/_looper.py +@@ -7,9 +7,9 @@ These can be awkward to manage in a normal Python loop, but using the + looper you can get a better sense of the context. Use like:: + + >>> for loop, item in looper(['a', 'b', 'c']): +- ... print loop.number, item ++ ... print(loop.number, item) + ... if not loop.last: +- ... print '---' ++ ... print('---') + 1 a + --- + 2 b +@@ -161,3 +161,4 @@ class loop_pos(object): + return getter(item) != getter(other) + else: + return item[getter] != other[getter] ++ +diff --git a/tempita/compat3.py b/tempita/compat3.py +index 5e18fa0..f17f588 100644 +--- a/tempita/compat3.py ++++ b/tempita/compat3.py +@@ -4,7 +4,7 @@ __all__ = ['b', 'basestring_', 'bytes', 'next', 'is_unicode'] + + if sys.version < "3": + b = bytes = str +- basestring_ = basestring ++ basestring_ = str + else: + + def b(s): +@@ -18,14 +18,14 @@ text = str + if sys.version < "3": + + def next(obj): +- return obj.next() ++ return obj.__next__() + else: + next = next + + if sys.version < "3": + + def is_unicode(obj): +- return isinstance(obj, unicode) ++ return isinstance(obj, str) + else: + + def is_unicode(obj): +@@ -39,7 +39,7 @@ def coerce_text(v): + else: + attr = '__str__' + if hasattr(v, attr): +- return unicode(v) ++ return str(v) + else: + return bytes(v) + return v diff --git a/dev-python/tempita/files/tempita-0.5.3-pypy-tests.patch b/dev-python/tempita/files/tempita-0.5.3-pypy-tests.patch deleted file mode 100644 index cdef27276be5..000000000000 --- a/dev-python/tempita/files/tempita-0.5.3-pypy-tests.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/docs/index.txt b/docs/index.txt -index 6d943f6..afe3aa2 100644 ---- a/docs/index.txt -+++ b/docs/index.txt -@@ -82,7 +82,7 @@ error (the name will be displayed):: - >>> tmpl.substitute() - Traceback (most recent call last): - ... -- NameError: name 'name' is not defined at line 1 column 6 in file tmpl -+ NameError:... name 'name' is not defined at line 1 column 6 in file tmpl - - You can also give a namespace to use by default, which - ``.substitute(...)`` will augment:: -diff --git a/tests/test_template.txt b/tests/test_template.txt -index 9564a9a..d9eb55d 100644 ---- a/tests/test_template.txt -+++ b/tests/test_template.txt -@@ -144,7 +144,7 @@ for a variable, if no value is given:: - >>> sub('{{x}}') - Traceback (most recent call last): - ... -- NameError: name 'x' is not defined at line 1 column 3 -+ NameError:... name 'x' is not defined at line 1 column 3 - - And comments work:: - diff --git a/dev-python/tempita/tempita-0.5.3-r3.ebuild b/dev-python/tempita/tempita-0.5.3-r3.ebuild index 6d5c3b27dc97..be3b68c6bb55 100644 --- a/dev-python/tempita/tempita-0.5.3-r3.ebuild +++ b/dev-python/tempita/tempita-0.5.3-r3.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( pypy3 python3_{7..10} ) +PYTHON_COMPAT=( pypy3 python3_{8..10} ) # The package uses pkg_resources DISTUTILS_USE_SETUPTOOLS=manual @@ -20,22 +20,19 @@ S="${WORKDIR}/ianb-${PN}-${MY_COMMIT}" LICENSE="MIT" SLOT="0" KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux" -IUSE="test" -RESTRICT="!test? ( test )" RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]" -BDEPEND=" - dev-python/setuptools[${PYTHON_USEDEP}] - test? ( dev-python/pytest[${PYTHON_USEDEP}] ) -" +BDEPEND="${RDEPEND}" PATCHES=( - "${FILESDIR}/${P}-pypy-tests.patch" # cgi.escape has been removed in Python 3.9 "${FILESDIR}/${P}-cgi-escape.patch" + # The 2to3 option for setuptools is deprecated + "${FILESDIR}/${P}-2to3.patch" ) distutils_enable_sphinx docs +distutils_enable_tests pytest python_prepare_all() { # Remove reference to a non-existent CSS file @@ -45,8 +42,5 @@ python_prepare_all() { } python_test() { - # We need to append to sys.path, otherwise pytest imports - # the module from ${S} (before it was 2to3'd) - pytest --import-mode=append -vv tests/test_template.txt docs/index.txt \ - || die "Tests failed with ${EPYTHON}" + epytest tests/test_template.txt docs/index.txt } -- cgit v1.2.3