summaryrefslogtreecommitdiff
path: root/dev-python/tempita
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-09-10 04:21:55 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-09-10 04:21:55 +0100
commit677b7ba5c317778df2ad7e70df94b9b7eec4adbc (patch)
tree6c418a1546fff5becab5d8b9ed6803323e7f316e /dev-python/tempita
parentfbda87924e6faa7a1919f1a2b4182490bde5ec5c (diff)
gentoo resync : 10.09.2021
Diffstat (limited to 'dev-python/tempita')
-rw-r--r--dev-python/tempita/Manifest4
-rw-r--r--dev-python/tempita/files/tempita-0.5.3-2to3.patch233
-rw-r--r--dev-python/tempita/files/tempita-0.5.3-pypy-tests.patch26
-rw-r--r--dev-python/tempita/tempita-0.5.3-r3.ebuild20
4 files changed, 242 insertions, 41 deletions
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 <sautier.louis@gmail.com>
+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
}