aboutsummaryrefslogtreecommitdiff
path: root/textproc
diff options
context:
space:
mode:
Diffstat (limited to 'textproc')
-rw-r--r--textproc/itstool/Makefile2
-rw-r--r--textproc/itstool/files/patch-itstool.in52
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