diff --git a/0001-tools-Fix-errors-running-glib-ginterface-gen-under-P.patch b/0001-tools-Fix-errors-running-glib-ginterface-gen-under-P.patch new file mode 100644 index 0000000..2a9d38d --- /dev/null +++ b/0001-tools-Fix-errors-running-glib-ginterface-gen-under-P.patch @@ -0,0 +1,108 @@ +From e8d12395db956727b037cefdf0e60ed409f0b33a Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Tue, 17 Mar 2020 09:15:02 +0100 +Subject: [PATCH 1/2] tools: Fix errors running glib-ginterface-gen under + Python3 + +1) + print """\ + + dbus_g_method_return_error (context, ...) +""" + ^ +SyntaxError: invalid syntax + +2) + +Traceback (most recent call last): + File "./tools/glib-ginterface-gen.py", line 30, in + from libglibcodegen import Signature, type_to_gtype, cmp_by_name, \ + File "/home/hadess/Projects/Fedora/merged/telepathy-idle/master/telepathy-idle-0.2.0/tools/libglibcodegen.py", line 157 + raise Exception, "can't index a hashtable off non-basic type " + s + ^ +SyntaxError: invalid syntax + +3) + +Traceback (most recent call last): + File "./tools/glib-ginterface-gen.py", line 30, in + from libglibcodegen import Signature, type_to_gtype, cmp_by_name, \ + File "/home/hadess/Projects/Fedora/merged/telepathy-idle/master/telepathy-idle-0.2.0/tools/libglibcodegen.py", line 172 + raise Exception, "don't know the GType for " + s + ^ +SyntaxError: invalid syntax + +4) + +Traceback (most recent call last): + File "../tools/glib-ginterface-gen.py", line 839, in + Generator(dom, prefix, basename, signal_marshal_prefix, headers, + File "../tools/glib-ginterface-gen.py", line 736, in __call__ + nodes.sort(cmp_by_name) +TypeError: sort() takes no positional arguments +--- + tools/glib-ginterface-gen.py | 7 ++++--- + tools/libglibcodegen.py | 4 ++-- + 2 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/tools/glib-ginterface-gen.py b/tools/glib-ginterface-gen.py +index 8fea5df..e32d7b8 100644 +--- a/tools/glib-ginterface-gen.py ++++ b/tools/glib-ginterface-gen.py +@@ -22,6 +22,7 @@ + # License along with this library; if not, write to the Free Software + # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + ++import functools + import sys + import os.path + import xml.dom.minidom +@@ -733,7 +734,7 @@ class Generator(object): + + def __call__(self): + nodes = self.dom.getElementsByTagName('node') +- nodes.sort(cmp_by_name) ++ nodes.sort(key=functools.cmp_to_key(cmp_by_name)) + + self.h('#include ') + self.h('#include ') +@@ -768,7 +769,7 @@ class Generator(object): + file_set_contents(self.basename + '-gtk-doc.h', '\n'.join(self.__docs)) + + def cmdline_error(): +- print """\ ++ print ("""\ + usage: + gen-ginterface [OPTIONS] xmlfile Prefix_ + options: +@@ -788,7 +789,7 @@ options: + void symbol (DBusGMethodInvocation *context) + and return some sort of "not implemented" error via + dbus_g_method_return_error (context, ...) +-""" ++""") + sys.exit(1) + + +diff --git a/tools/libglibcodegen.py b/tools/libglibcodegen.py +index 6a9d214..2c9f164 100644 +--- a/tools/libglibcodegen.py ++++ b/tools/libglibcodegen.py +@@ -154,7 +154,7 @@ def type_to_gtype(s): + return ("GHashTable *", "DBUS_TYPE_G_STRING_STRING_HASHTABLE", "BOXED", False) + elif s[:2] == 'a{': #some arbitrary hash tables + if s[2] not in ('y', 'b', 'n', 'q', 'i', 'u', 's', 'o', 'g'): +- raise Exception, "can't index a hashtable off non-basic type " + s ++ raise Exception("can't index a hashtable off non-basic type " + s) + first = type_to_gtype(s[2]) + second = type_to_gtype(s[3:-1]) + return ("GHashTable *", "(dbus_g_type_get_map (\"GHashTable\", " + first[1] + ", " + second[1] + "))", "BOXED", False) +@@ -169,4 +169,4 @@ def type_to_gtype(s): + return ("GValueArray *", gtype, "BOXED", True) + + # we just don't know .. +- raise Exception, "don't know the GType for " + s ++ raise(Exception, "don't know the GType for " + s) +-- +2.25.1 + diff --git a/0002-tools-Remove-outdated-is-unicode-checks.patch b/0002-tools-Remove-outdated-is-unicode-checks.patch new file mode 100644 index 0000000..08349df --- /dev/null +++ b/0002-tools-Remove-outdated-is-unicode-checks.patch @@ -0,0 +1,45 @@ +From 8cdedc1d6716b2bb8ac7a95a00cf696f82ebbc38 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Tue, 17 Mar 2020 09:37:04 +0100 +Subject: [PATCH 2/2] tools: Remove outdated "is unicode" checks + +Those aren't needed in Python3, the strings should already be UTF-8. + +Traceback (most recent call last): + File "../tools/glib-ginterface-gen.py", line 840, in + Generator(dom, prefix, basename, signal_marshal_prefix, headers, + File "../tools/glib-ginterface-gen.py", line 739, in __call__ + self.h('#include ') + File "../tools/glib-ginterface-gen.py", line 89, in h + if isinstance(s, unicode): +NameError: name 'unicode' is not defined +--- + tools/glib-ginterface-gen.py | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/tools/glib-ginterface-gen.py b/tools/glib-ginterface-gen.py +index e32d7b8..995d874 100644 +--- a/tools/glib-ginterface-gen.py ++++ b/tools/glib-ginterface-gen.py +@@ -86,18 +86,12 @@ class Generator(object): + self.allow_havoc = allow_havoc + + def h(self, s): +- if isinstance(s, unicode): +- s = s.encode('utf-8') + self.__header.append(s) + + def b(self, s): +- if isinstance(s, unicode): +- s = s.encode('utf-8') + self.__body.append(s) + + def d(self, s): +- if isinstance(s, unicode): +- s = s.encode('utf-8') + self.__docs.append(s) + + def do_node(self, node): +-- +2.25.1 + diff --git a/telepathy-idle.spec b/telepathy-idle.spec index a4a6821..55dd43d 100644 --- a/telepathy-idle.spec +++ b/telepathy-idle.spec @@ -18,7 +18,9 @@ BuildRequires: dbus-devel BuildRequires: dbus-glib-devel BuildRequires: openssl-devel >= 0.9.7 BuildRequires: telepathy-glib-devel >= 0.21.0 -BuildRequires: libxslt +BuildRequires: libxslt +BuildRequires: python3 +BuildRequires: git %if %{run_tests} # Build Requires needed for tests. BuildRequires: python2 @@ -27,14 +29,17 @@ BuildRequires: pygobject2 %endif Requires: telepathy-filesystem - + +# https://github.com/TelepathyIM/telepathy-idle/pull/8 +Patch0: 0001-tools-Fix-errors-running-glib-ginterface-gen-under-P.patch +Patch1: 0002-tools-Remove-outdated-is-unicode-checks.patch %description A full-featured IRC connection manager for the Telepathy project. %prep -%setup -q +%autosetup -S git %if %{run_tests} @@ -65,6 +70,7 @@ make install DESTDIR=$RPM_BUILD_ROOT * Tue Mar 17 2020 Bastien Nocera - 0.2.0-16 + telepathy-idle-0.2.0-16 - Disable all tests for now, as they require Python 2 +- Port code generation tools to Python3 * Fri Jan 31 2020 Fedora Release Engineering - 0.2.0-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild