diff options
Diffstat (limited to 'textproc')
-rw-r--r-- | textproc/itstool/Makefile | 2 | ||||
-rw-r--r-- | textproc/itstool/files/patch-itstool.in | 52 |
2 files changed, 53 insertions, 1 deletions
diff --git a/textproc/itstool/Makefile b/textproc/itstool/Makefile index 204a5819ec1d..101d92612409 100644 --- a/textproc/itstool/Makefile +++ b/textproc/itstool/Makefile @@ -4,7 +4,7 @@ PORTNAME= itstool PORTVERSION= 2.0.5 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= textproc MASTER_SITES= http://files.itstool.org/itstool/ diff --git a/textproc/itstool/files/patch-itstool.in b/textproc/itstool/files/patch-itstool.in new file mode 100644 index 000000000000..ea6ed79c3781 --- /dev/null +++ b/textproc/itstool/files/patch-itstool.in @@ -0,0 +1,52 @@ +# Workaround https://github.com/itstool/itstool/issues/25 +# Obtained from Fedora + +--- itstool.in.orig 2018-08-21 15:27:24 UTC ++++ itstool.in +@@ -44,9 +44,22 @@ if PY3: + else: + return str(s) + ustr_type = str ++ def pr_str(s): ++ """Return a string that can be safely print()ed""" ++ # Since print works on both bytes and unicode, just return the argument ++ return s + else: + string_types = basestring, + ustr = ustr_type = unicode ++ def pr_str(s): ++ """Return a string that can be safely print()ed""" ++ if isinstance(s, str): ++ # Since print works on str, just return the argument ++ return s ++ else: ++ # print may not work on unicode if the output encoding cannot be ++ # detected, so just encode with UTF-8 ++ return unicode.encode(s, 'utf-8') + + NS_ITS = 'http://www.w3.org/2005/11/its' + NS_ITST = 'http://itstool.org/extensions/' +@@ -1060,9 +1073,9 @@ class Document (object): + if strict: + raise + else: +- sys.stderr.write('Warning: Could not merge %stranslation for msgid:\n%s\n' % ( ++ sys.stderr.write(pr_str('Warning: Could not merge %stranslation for msgid:\n%s\n' % ( + (lang + ' ') if lang is not None else '', +- msgstr.encode('utf-8'))) ++ msgstr))) + self._xml_err = '' + return node + def scan_node(node): +@@ -1087,9 +1100,9 @@ class Document (object): + if strict: + raise + else: +- sys.stderr.write('Warning: Could not merge %stranslation for msgid:\n%s\n' % ( ++ sys.stderr.write(pr_str('Warning: Could not merge %stranslation for msgid:\n%s\n' % ( + (lang + ' ') if lang is not None else '', +- msgstr.encode('utf-8'))) ++ msgstr))) + self._xml_err = '' + ctxt.doc().freeDoc() + return node |