From 0267fd12b36de6499aecb155b17681c1176fad74 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Sat, 7 Oct 2023 22:38:20 -0400 Subject: [PATCH 1/6] telepathy-qt5: update to 0.9.8. --- common/shlibs | 2 +- srcpkgs/telepathy-qt5/template | 26 +++++--------------------- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/common/shlibs b/common/shlibs index 499e8f39052d2..e381972cabbf5 100644 --- a/common/shlibs +++ b/common/shlibs @@ -2238,7 +2238,7 @@ libqt5keychain.so.1 qtkeychain-qt5-0.7.0_1 libphonon4qt5.so.4 phonon-qt5-4.8.3_1 libphonon4qt5experimental.so.4 phonon-qt5-4.8.3_1 libtelepathy-qt5.so.0 telepathy-qt5-0.9.5_1 -libtelepathy-qt5-service.so.0 telepathy-qt5-0.9.7_1 +libtelepathy-qt5-service.so.1 telepathy-qt5-0.9.8_1 libtelepathy-qt5-farstream.so.0 telepathy-qt5-farstream-0.9.5_1 libKF5Attica.so.5 attica-5.6.0_1 liblastfm_fingerprint5.so.1 liblastfm-qt5-1.0.9_1 diff --git a/srcpkgs/telepathy-qt5/template b/srcpkgs/telepathy-qt5/template index 4ee2a01f76170..a151edc7a329d 100644 --- a/srcpkgs/telepathy-qt5/template +++ b/srcpkgs/telepathy-qt5/template @@ -1,43 +1,27 @@ # Template file for 'telepathy-qt5' pkgname=telepathy-qt5 -version=0.9.7 +version=0.9.8 revision=1 build_style=cmake -configure_args=" - -DENABLE_EXAMPLES=OFF - -DENABLE_TESTS=OFF - -DDESIRED_QT_VERSION=5 - -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt5" -hostmakedepends="python pkg-config" +configure_args="-DENABLE_EXAMPLES=OFF -DENABLE_TESTS=OFF" +hostmakedepends="python3 pkg-config" makedepends="qt5-devel telepathy-farstream-devel telepathy-glib-devel gstreamer1-devel libxml2-devel" short_desc="Qt5 bindings for the Telepathy D-Bus protocol" maintainer="Duncaen " -license="LGPL-2.1" +license="LGPL-2.1-or-later" homepage="http://telepathy.freedesktop.org/" distfiles="http://telepathy.freedesktop.org/releases/${pkgname//5/}/${pkgname//5/}-${version}.tar.gz" -checksum=21bad30be7ebc4ba667d53d92cd1cec1be23114103f2149404d9740721693d4f +checksum=bf8e2a09060addb80475a4938105b9b41d9e6837999b7a00e5351783857e18ad if [ -n "$CROSS_BUILD" ]; then hostmakedepends+=" qt5-host-tools qt5-devel" - configure_args+=" -DPYTHON_SHORT_VERSION=2.7" - configure_args+=" -DPYTHON_LONG_VERSION=2.7.3" - configure_args+=" -DPYTHON_SITE_PACKAGES_DIR=${XBPS_CROSS_BASE}/usr/lib/python2.7/site-packages" - configure_args+=" -DPYTHON_INCLUDE_PATH=${XBPS_CROSS_BASE}/usr/include/python2.7" - configure_args+=" -DCMAKE_PYTHON_LIBRARIES=${XBPS_CROSS_BASE}/usr/lib" fi CXXFLAGS="-D_DEFAULT_SOURCE" subpackages="telepathy-qt5-farstream telepathy-qt5-devel" -post_extract() { - if [ -n "$CROSS_BUILD" ]; then - # cmake/FindPythonLibrary.cmake fails when cross compiling - sed -i CMakeLists.txt -e "/find_package(PythonLibrary ${REQUIRED_PY} REQUIRED)/d" - fi -} - telepathy-qt5-farstream_package() { short_desc+=" - farstream component" depends="telepathy-qt5>=${version}_${revision}" From 4749834a1e5b36f106f344d2364ee21d8baccb5b Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Sat, 7 Oct 2023 22:44:34 -0400 Subject: [PATCH 2/6] telepathy-farstream: doesn't need python --- srcpkgs/telepathy-farstream/template | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/srcpkgs/telepathy-farstream/template b/srcpkgs/telepathy-farstream/template index de114e7aaec6c..d2b00c26e99c5 100644 --- a/srcpkgs/telepathy-farstream/template +++ b/srcpkgs/telepathy-farstream/template @@ -6,13 +6,12 @@ build_style=gnu-configure build_helper="gir" configure_args="--disable-static $(vopt_enable gir introspection)" hostmakedepends="pkg-config intltool libxslt $(vopt_if gir gobject-introspection)" -makedepends="dbus-glib-devel telepathy-glib-devel farstream-devel - python-devel vala-devel" +makedepends="dbus-glib-devel telepathy-glib-devel farstream-devel vala-devel" short_desc="Telepathy library that uses Farstream to handle Call channels" maintainer="Orphaned " license="LGPL-2.1-or-later" -homepage="http://telepathy.freedesktop.org" -distfiles="$homepage/releases/$pkgname/$pkgname-$version.tar.gz" +homepage="https://telepathy.freedesktop.org" +distfiles="https://telepathy.freedesktop.org/releases/telepathy-farstream/telepathy-farstream-$version.tar.gz" checksum=6fa099f22d13a2a49240445a13e918928aef097675d76e5cc9f98ab496087e0a replaces="telepathy-farsight>=0" From b9ceb33f60d46a5a1bc95f58d54f32ffc9e598bb Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Sat, 7 Oct 2023 23:28:25 -0400 Subject: [PATCH 3/6] telepathy-logger: make codegen work with python3 --- .../telepathy-logger/patches/python3.patch | 653 ++++++++++++++++++ srcpkgs/telepathy-logger/template | 6 +- 2 files changed, 654 insertions(+), 5 deletions(-) create mode 100644 srcpkgs/telepathy-logger/patches/python3.patch diff --git a/srcpkgs/telepathy-logger/patches/python3.patch b/srcpkgs/telepathy-logger/patches/python3.patch new file mode 100644 index 0000000000000..dbafd9cc80218 --- /dev/null +++ b/srcpkgs/telepathy-logger/patches/python3.patch @@ -0,0 +1,653 @@ +From f4634b2caf1f92f27a507207ff181d3a7927871f Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Thu, 3 Jan 2013 12:33:09 +0000 +Subject: [PATCH] Make the code generation tools work under either Python 2 or + 3 + +They have been verified to produce identical output in _gen. + +Bug: https://bugs.freedesktop.org/show_bug.cgi?id=56758 +Signed-off-by: Simon McVittie +Reviewed-by: Xavier Claessens +--- + tools/c-constants-gen.py | 12 +++--- + tools/glib-client-gen.py | 18 +++------ + tools/glib-client-marshaller-gen.py | 20 +++++----- + tools/glib-errors-check-gen.py | 62 ++++++++++++++--------------- + tools/glib-errors-str-gen.py | 14 ++----- + tools/glib-ginterface-gen.py | 22 ++++------ + tools/glib-gtypes-generator.py | 14 +++---- + tools/glib-interfaces-gen.py | 14 +++---- + tools/gobject-foo.py | 2 +- + tools/libglibcodegen.py | 4 +- + tools/libtpcodegen.py | 22 +++++++++- + tools/make-version-script.py | 32 +++++++-------- + tools/xincludator.py | 13 ++++-- + 13 files changed, 129 insertions(+), 120 deletions(-) + +diff --git a/tools/c-constants-gen.py b/tools/c-constants-gen.py +index c7a93d371..a08afee06 100644 +--- a/tools/c-constants-gen.py ++++ b/tools/c-constants-gen.py +@@ -3,7 +3,7 @@ + from sys import argv, stdout, stderr + import xml.dom.minidom + +-from libtpcodegen import file_set_contents ++from libtpcodegen import file_set_contents, u + from libglibcodegen import NS_TP, get_docstring, \ + get_descendant_text, get_by_path + +@@ -12,7 +12,7 @@ def __init__(self, prefix, dom, output_base): + self.prefix = prefix + '_' + self.spec = get_by_path(dom, "spec")[0] + +- self.output_base = output_base ++ self.output_base = output_base + self.__header = [] + self.__docs = [] + +@@ -21,14 +21,14 @@ def __call__(self): + self.do_body() + self.do_footer() + +- file_set_contents(self.output_base + '.h', ''.join(self.__header)) +- file_set_contents(self.output_base + '-gtk-doc.h', ''.join(self.__docs)) ++ file_set_contents(self.output_base + '.h', u('').join(self.__header).encode('utf-8')) ++ file_set_contents(self.output_base + '-gtk-doc.h', u('').join(self.__docs).encode('utf-8')) + + def write(self, code): +- self.__header.append(code.encode('utf-8')) ++ self.__header.append(code) + + def d(self, code): +- self.__docs.append(code.encode('utf-8')) ++ self.__docs.append(code) + + # Header + def do_header(self): +diff --git a/tools/glib-client-gen.py b/tools/glib-client-gen.py +index f8465a62b..e68e1a575 100644 +--- a/tools/glib-client-gen.py ++++ b/tools/glib-client-gen.py +@@ -27,8 +27,8 @@ + import xml.dom.minidom + from getopt import gnu_getopt + +-from libtpcodegen import file_set_contents +-from libglibcodegen import Signature, type_to_gtype, cmp_by_name, \ ++from libtpcodegen import file_set_contents, key_by_name, u ++from libglibcodegen import Signature, type_to_gtype, \ + get_docstring, xml_escape, get_deprecated + + +@@ -74,18 +74,12 @@ def __init__(self, dom, prefix, basename, opts): + self.guard = opts.get('--guard', None) + + 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 get_iface_quark(self): +@@ -1191,7 +1185,7 @@ def __call__(self): + self.b('') + + nodes = self.dom.getElementsByTagName('node') +- nodes.sort(cmp_by_name) ++ nodes.sort(key=key_by_name) + + for node in nodes: + self.do_interface(node) +@@ -1244,9 +1238,9 @@ def __call__(self): + self.h('#endif /* defined (%s) */' % self.guard) + self.h('') + +- file_set_contents(self.basename + '.h', '\n'.join(self.__header)) +- file_set_contents(self.basename + '-body.h', '\n'.join(self.__body)) +- file_set_contents(self.basename + '-gtk-doc.h', '\n'.join(self.__docs)) ++ file_set_contents(self.basename + '.h', u('\n').join(self.__header).encode('utf-8')) ++ file_set_contents(self.basename + '-body.h', u('\n').join(self.__body).encode('utf-8')) ++ file_set_contents(self.basename + '-gtk-doc.h', u('\n').join(self.__docs).encode('utf-8')) + + def types_to_gtypes(types): + return [type_to_gtype(t)[1] for t in types] +diff --git a/tools/glib-client-marshaller-gen.py b/tools/glib-client-marshaller-gen.py +index cb27d638a..cd9823bdf 100644 +--- a/tools/glib-client-marshaller-gen.py ++++ b/tools/glib-client-marshaller-gen.py +@@ -31,23 +31,23 @@ def __call__(self): + for signal in signals: + self.do_signal(signal) + +- print 'void' +- print '%s_register_dbus_glib_marshallers (void)' % self.prefix +- print '{' ++ print('void') ++ print('%s_register_dbus_glib_marshallers (void)' % self.prefix) ++ print('{') + +- all = self.marshallers.keys() ++ all = list(self.marshallers.keys()) + all.sort() + for marshaller in all: + rhs = self.marshallers[marshaller] + +- print ' dbus_g_object_register_marshaller (' +- print ' g_cclosure_marshal_generic,' +- print ' G_TYPE_NONE, /* return */' ++ print(' dbus_g_object_register_marshaller (') ++ print(' g_cclosure_marshal_generic,') ++ print(' G_TYPE_NONE, /* return */') + for type in rhs: +- print ' G_TYPE_%s,' % type.replace('VOID', 'NONE') +- print ' G_TYPE_INVALID);' ++ print(' G_TYPE_%s,' % type.replace('VOID', 'NONE')) ++ print(' G_TYPE_INVALID);') + +- print '}' ++ print('}') + + + def types_to_gtypes(types): +diff --git a/tools/glib-errors-check-gen.py b/tools/glib-errors-check-gen.py +index 553fc9caf..fad261ece 100644 +--- a/tools/glib-errors-check-gen.py ++++ b/tools/glib-errors-check-gen.py +@@ -12,13 +12,13 @@ def __init__(self, dom): + + def __call__(self): + +- print '{' +- print ' GEnumClass *klass;' +- print ' GEnumValue *value_by_name;' +- print ' GEnumValue *value_by_nick;' +- print '' +- print ' g_type_init ();' +- print ' klass = g_type_class_ref (TP_TYPE_ERROR);' ++ print('{') ++ print(' GEnumClass *klass;') ++ print(' GEnumValue *value_by_name;') ++ print(' GEnumValue *value_by_nick;') ++ print('') ++ print(' g_type_init ();') ++ print(' klass = g_type_class_ref (TP_TYPE_ERROR);') + + for error in self.errors.getElementsByTagNameNS(NS_TP, 'error'): + ns = error.parentNode.getAttribute('namespace') +@@ -28,30 +28,30 @@ def __call__(self): + s = ('TP_ERROR_STR_' + + error.getAttribute('name').replace(' ', '_').replace('.', '_').upper()) + +- print '' +- print ' /* %s.%s */' % (ns, nick) +- print (' value_by_name = g_enum_get_value_by_name (klass, "%s");' +- % enum) +- print (' value_by_nick = g_enum_get_value_by_nick (klass, "%s");' +- % nick) +- print (' g_assert (value_by_name != NULL);') +- print (' g_assert (value_by_nick != NULL);') +- print (' g_assert_cmpint (value_by_name->value, ==, %s);' +- % enum) +- print (' g_assert_cmpint (value_by_nick->value, ==, %s);' +- % enum) +- print (' g_assert_cmpstr (value_by_name->value_name, ==, "%s");' +- % enum) +- print (' g_assert_cmpstr (value_by_nick->value_name, ==, "%s");' +- % enum) +- print (' g_assert_cmpstr (value_by_name->value_nick, ==, "%s");' +- % nick) +- print (' g_assert_cmpstr (value_by_nick->value_nick, ==, "%s");' +- % nick) +- print (' g_assert_cmpstr (%s, ==, TP_ERROR_PREFIX ".%s");' +- % (s, nick)) +- +- print '}' ++ print('') ++ print(' /* %s.%s */' % (ns, nick)) ++ print(' value_by_name = g_enum_get_value_by_name (klass, "%s");' ++ % enum) ++ print(' value_by_nick = g_enum_get_value_by_nick (klass, "%s");' ++ % nick) ++ print(' g_assert (value_by_name != NULL);') ++ print(' g_assert (value_by_nick != NULL);') ++ print(' g_assert_cmpint (value_by_name->value, ==, %s);' ++ % enum) ++ print(' g_assert_cmpint (value_by_nick->value, ==, %s);' ++ % enum) ++ print(' g_assert_cmpstr (value_by_name->value_name, ==, "%s");' ++ % enum) ++ print(' g_assert_cmpstr (value_by_nick->value_name, ==, "%s");' ++ % enum) ++ print(' g_assert_cmpstr (value_by_name->value_nick, ==, "%s");' ++ % nick) ++ print(' g_assert_cmpstr (value_by_nick->value_nick, ==, "%s");' ++ % nick) ++ print(' g_assert_cmpstr (%s, ==, TP_ERROR_PREFIX ".%s");' ++ % (s, nick)) ++ ++ print('}') + + if __name__ == '__main__': + argv = sys.argv[1:] +diff --git a/tools/glib-errors-str-gen.py b/tools/glib-errors-str-gen.py +index b2cf520bd..ddb1e16b7 100644 +--- a/tools/glib-errors-str-gen.py ++++ b/tools/glib-errors-str-gen.py +@@ -3,7 +3,7 @@ + import sys + import xml.dom.minidom + +-from libtpcodegen import file_set_contents ++from libtpcodegen import file_set_contents, u + from libglibcodegen import NS_TP, get_docstring, xml_escape + + class Generator(object): +@@ -17,18 +17,12 @@ def __init__(self, dom, basename): + self.__docs = [] + + 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 __call__(self): +@@ -72,9 +66,9 @@ def __call__(self): + self.h('') + self.b('') + +- file_set_contents(self.basename + '.h', '\n'.join(self.__header)) +- file_set_contents(self.basename + '.c', '\n'.join(self.__body)) +- file_set_contents(self.basename + '-gtk-doc.h', '\n'.join(self.__docs)) ++ file_set_contents(self.basename + '.h', u('\n').join(self.__header).encode('utf-8')) ++ file_set_contents(self.basename + '.c', u('\n').join(self.__body).encode('utf-8')) ++ file_set_contents(self.basename + '-gtk-doc.h', u('\n').join(self.__docs).encode('utf-8')) + + if __name__ == '__main__': + argv = sys.argv[1:] +diff --git a/tools/glib-ginterface-gen.py b/tools/glib-ginterface-gen.py +index 6fec0d3c4..c0ce20ddc 100644 +--- a/tools/glib-ginterface-gen.py ++++ b/tools/glib-ginterface-gen.py +@@ -26,8 +26,8 @@ + import os.path + import xml.dom.minidom + +-from libtpcodegen import file_set_contents +-from libglibcodegen import Signature, type_to_gtype, cmp_by_name, \ ++from libtpcodegen import file_set_contents, key_by_name, u ++from libglibcodegen import Signature, type_to_gtype, \ + NS_TP, dbus_gutils_wincaps_to_uscore + + +@@ -85,18 +85,12 @@ def __init__(self, dom, prefix, basename, signal_marshal_prefix, + 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): +@@ -733,7 +727,7 @@ def have_properties(self, nodes): + + def __call__(self): + nodes = self.dom.getElementsByTagName('node') +- nodes.sort(cmp_by_name) ++ nodes.sort(key=key_by_name) + + self.h('#include ') + self.h('#include ') +@@ -761,12 +755,12 @@ def __call__(self): + + self.h('') + self.b('') +- file_set_contents(self.basename + '.h', '\n'.join(self.__header)) +- file_set_contents(self.basename + '.c', '\n'.join(self.__body)) +- file_set_contents(self.basename + '-gtk-doc.h', '\n'.join(self.__docs)) ++ file_set_contents(self.basename + '.h', u('\n').join(self.__header).encode('utf-8')) ++ file_set_contents(self.basename + '.c', u('\n').join(self.__body).encode('utf-8')) ++ file_set_contents(self.basename + '-gtk-doc.h', u('\n').join(self.__docs).encode('utf-8')) + + def cmdline_error(): +- print """\ ++ print("""\ + usage: + gen-ginterface [OPTIONS] xmlfile Prefix_ + options: +@@ -786,7 +780,7 @@ def cmdline_error(): + 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/glib-gtypes-generator.py b/tools/glib-gtypes-generator.py +index 21dfc6aa7..1477bd37b 100644 +--- a/tools/glib-gtypes-generator.py ++++ b/tools/glib-gtypes-generator.py +@@ -23,7 +23,7 @@ + import sys + import xml.dom.minidom + +-from libtpcodegen import file_set_contents ++from libtpcodegen import file_set_contents, u + from libglibcodegen import escape_as_identifier, \ + get_docstring, \ + NS_TP, \ +@@ -68,13 +68,13 @@ def __init__(self, dom, output, mixed_case_prefix): + self.need_other_arrays = {} + + def h(self, code): +- self.header.append(code.encode("utf-8")) ++ self.header.append(code) + + def c(self, code): +- self.body.append(code.encode("utf-8")) ++ self.body.append(code) + + def d(self, code): +- self.docs.append(code.encode('utf-8')) ++ self.docs.append(code) + + def do_mapping_header(self, mapping): + members = mapping.getElementsByTagNameNS(NS_TP, 'member') +@@ -292,9 +292,9 @@ def __call__(self): + self.c(' return t;\n') + self.c('}\n\n') + +- file_set_contents(self.output + '.h', ''.join(self.header)) +- file_set_contents(self.output + '-body.h', ''.join(self.body)) +- file_set_contents(self.output + '-gtk-doc.h', ''.join(self.docs)) ++ file_set_contents(self.output + '.h', u('').join(self.header).encode('utf-8')) ++ file_set_contents(self.output + '-body.h', u('').join(self.body).encode('utf-8')) ++ file_set_contents(self.output + '-gtk-doc.h', u('').join(self.docs).encode('utf-8')) + + if __name__ == '__main__': + argv = sys.argv[1:] +diff --git a/tools/glib-interfaces-gen.py b/tools/glib-interfaces-gen.py +index 410762cde..b67d7b4f0 100644 +--- a/tools/glib-interfaces-gen.py ++++ b/tools/glib-interfaces-gen.py +@@ -3,7 +3,7 @@ + from sys import argv, stdout, stderr + import xml.dom.minidom + +-from libtpcodegen import file_set_contents ++from libtpcodegen import file_set_contents, u + from libglibcodegen import NS_TP, get_docstring, \ + get_descendant_text, get_by_path + +@@ -24,22 +24,22 @@ def __init__(self, prefix, implfile, declfile, dom): + self.spec = get_by_path(dom, "spec")[0] + + def h(self, code): +- self.decls.append(code.encode('utf-8')) ++ self.decls.append(code) + + def c(self, code): +- self.impls.append(code.encode('utf-8')) ++ self.impls.append(code) + + def d(self, code): +- self.docs.append(code.encode('utf-8')) ++ self.docs.append(code) + + def __call__(self): + for f in self.h, self.c: + self.do_header(f) + self.do_body() + +- file_set_contents(self.implfile, ''.join(self.impls)) +- file_set_contents(self.declfile, ''.join(self.decls)) +- file_set_contents(self.docfile, ''.join(self.docs)) ++ file_set_contents(self.implfile, u('').join(self.impls).encode('utf-8')) ++ file_set_contents(self.declfile, u('').join(self.decls).encode('utf-8')) ++ file_set_contents(self.docfile, u('').join(self.docs).encode('utf-8')) + + # Header + def do_header(self, f): +diff --git a/tools/gobject-foo.py b/tools/gobject-foo.py +index 002a290ba..a2abd7667 100644 +--- a/tools/gobject-foo.py ++++ b/tools/gobject-foo.py +@@ -87,4 +87,4 @@ def gobject_header(head, tail, as_interface=False): + + head, tail = argv + +- print '\n'.join(gobject_header(head, tail, as_interface=as_interface)) ++ print('\n'.join(gobject_header(head, tail, as_interface=as_interface))) +diff --git a/tools/libglibcodegen.py b/tools/libglibcodegen.py +index 6a9d21485..6cd1a6277 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) +diff --git a/tools/libtpcodegen.py b/tools/libtpcodegen.py +index 7e9eb9a50..99de66340 100644 +--- a/tools/libtpcodegen.py ++++ b/tools/libtpcodegen.py +@@ -21,6 +21,7 @@ + # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + import os ++import sys + from string import ascii_letters, digits + + +@@ -28,6 +29,20 @@ + + _ASCII_ALNUM = ascii_letters + digits + ++if sys.version_info[0] >= 3: ++ def u(s): ++ """Return s, which must be a str literal with no non-ASCII characters. ++ This is like a more restricted form of the Python 2 u'' syntax. ++ """ ++ return s.encode('ascii').decode('ascii') ++else: ++ def u(s): ++ """Return a Unicode version of s, which must be a str literal ++ (a bytestring) in which each byte is an ASCII character. ++ This is like a more restricted form of the u'' syntax. ++ """ ++ return s.decode('ascii') ++ + def file_set_contents(filename, contents): + try: + os.remove(filename) +@@ -38,13 +53,15 @@ def file_set_contents(filename, contents): + except OSError: + pass + +- open(filename + '.tmp', 'w').write(contents) ++ open(filename + '.tmp', 'wb').write(contents) + os.rename(filename + '.tmp', filename) + + def cmp_by_name(node1, node2): + return cmp(node1.getAttributeNode("name").nodeValue, + node2.getAttributeNode("name").nodeValue) + ++def key_by_name(node): ++ return node.getAttributeNode("name").nodeValue + + def escape_as_identifier(identifier): + """Escape the given string to be a valid D-Bus object path or service +@@ -168,6 +185,9 @@ def __init__(self, string): + self.remaining = string + + def next(self): ++ return self.__next__() ++ ++ def __next__(self): + if self.remaining == '': + raise StopIteration + +diff --git a/tools/make-version-script.py b/tools/make-version-script.py +index 0d30aa323..4ced849fe 100644 +--- a/tools/make-version-script.py ++++ b/tools/make-version-script.py +@@ -63,9 +63,9 @@ def main(abifiles, symbols=None, unreleased_version=None, + + if dpkg: + assert dpkg_first_line is not None +- print dpkg_first_line ++ print(dpkg_first_line) + if dpkg_build_depends_package is not None: +- print "* Build-Depends-Package: %s" % dpkg_build_depends_package ++ print("* Build-Depends-Package: %s" % dpkg_build_depends_package) + + for filename in abifiles: + lines = open(filename, 'r').readlines() +@@ -120,8 +120,8 @@ def main(abifiles, symbols=None, unreleased_version=None, + lines = lines[cut:] + + if gnuld: +- print "%s {" % version +- print " global:" ++ print("%s {" % version) ++ print(" global:") + + for symbol in lines: + symbol = symbol.strip() +@@ -130,7 +130,7 @@ def main(abifiles, symbols=None, unreleased_version=None, + continue + + if gnuld: +- print " %s;" % symbol ++ print(" %s;" % symbol) + elif dpkg: + dpkg_symbols.append('%s@%s %s' % (symbol, version, release)) + +@@ -142,22 +142,22 @@ def main(abifiles, symbols=None, unreleased_version=None, + + if gnuld: + if extends == '-': +- print " local:" +- print " *;" +- print "};" ++ print(" local:") ++ print(" *;") ++ print("};") + else: +- print "} %s;" % extends +- print ++ print("} %s;" % extends) ++ print("") + + if dpkg: + dpkg_symbols.sort() + dpkg_versions.sort() + + for x in dpkg_versions: +- print " %s" % x ++ print(" %s" % x) + + for x in dpkg_symbols: +- print " %s" % x ++ print(" %s" % x) + + if symbol_set is not None: + missing = versioned_symbols - symbol_set +@@ -182,13 +182,13 @@ def main(abifiles, symbols=None, unreleased_version=None, + raise SystemExit(1) + + if gnuld: +- print "%s {" % unreleased_version +- print " global:" ++ print("%s {" % unreleased_version) ++ print(" global:") + + for symbol in unreleased: +- print " %s;" % symbol ++ print(" %s;" % symbol) + +- print "} %s;" % version ++ print("} %s;" % version) + + + if __name__ == '__main__': +diff --git a/tools/xincludator.py b/tools/xincludator.py +index 63e106ace..f9ed49ce4 100644 +--- a/tools/xincludator.py ++++ b/tools/xincludator.py +@@ -1,17 +1,19 @@ + #!/usr/bin/python + ++import sys + from sys import argv, stdout, stderr + import codecs, locale + import os + import xml.dom.minidom + +-stdout = codecs.getwriter('utf-8')(stdout) ++if sys.version_info[0] < 3: ++ stdout = codecs.getwriter('utf-8')(stdout) + + NS_XI = 'http://www.w3.org/2001/XInclude' + + def xincludate(dom, base, dropns = []): + remove_attrs = [] +- for i in xrange(dom.documentElement.attributes.length): ++ for i in range(dom.documentElement.attributes.length): + attr = dom.documentElement.attributes.item(i) + if attr.prefix == 'xmlns': + if attr.localName in dropns: +@@ -34,6 +36,11 @@ def xincludate(dom, base, dropns = []): + argv = argv[1:] + dom = xml.dom.minidom.parse(argv[0]) + xincludate(dom, argv[0]) +- xml = dom.toxml() ++ ++ if sys.version_info[0] >= 3: ++ xml = dom.toxml(encoding=None) ++ else: ++ xml = dom.toxml() ++ + stdout.write(xml) + stdout.write('\n') diff --git a/srcpkgs/telepathy-logger/template b/srcpkgs/telepathy-logger/template index 528a561804b48..fd126f9108ffb 100644 --- a/srcpkgs/telepathy-logger/template +++ b/srcpkgs/telepathy-logger/template @@ -5,7 +5,7 @@ revision=3 build_style=gnu-configure build_helper="gir" configure_args="--disable-static --disable-schemas-compile $(vopt_enable gir introspection)" -hostmakedepends="pkg-config intltool libxslt glib-devel python $(vopt_if gir gobject-introspection)" +hostmakedepends="pkg-config intltool libxslt glib-devel python3 $(vopt_if gir gobject-introspection)" makedepends="dbus-glib-devel libxml2-devel sqlite-devel telepathy-glib-devel" short_desc="Telepathy framework logging daemon" maintainer="Orphaned " @@ -18,10 +18,6 @@ checksum=8fcad534d653b1b365132c5b158adae947810ffbae9843f72dd1797966415dae build_options="gir" build_options_default="gir" -pre_configure() { - export PYTHON=python2 -} - telepathy-logger-devel_package() { depends="libxml2-devel telepathy-glib-devel ${sourcepkg}-${version}_${revision}" short_desc+=" - development files" From 816207e1ce90d3f90d5fb8e54ac6ab9d68da69ed Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Sat, 7 Oct 2023 23:34:58 -0400 Subject: [PATCH 4/6] telepathy-haze: update to 0.8.1. --- .../patches/purple-2.0.12.patch | 25 ------------------- srcpkgs/telepathy-haze/template | 12 ++++----- 2 files changed, 6 insertions(+), 31 deletions(-) delete mode 100644 srcpkgs/telepathy-haze/patches/purple-2.0.12.patch diff --git a/srcpkgs/telepathy-haze/patches/purple-2.0.12.patch b/srcpkgs/telepathy-haze/patches/purple-2.0.12.patch deleted file mode 100644 index 3558e53abdbd5..0000000000000 --- a/srcpkgs/telepathy-haze/patches/purple-2.0.12.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Koop Mast -Date: Mon, 11 Jan 2016 11:53:23 +0100 -Subject: Fix the build with libpurple 2.0.12 - -http://pidgin.im/pipermail/devel/2015-March/023639.html -Replaces the old emu with the _PASSIVE. - -Origin: vendor, FreeBSD, https://lists.freebsd.org/pipermail/svn-ports-head/2016-January/111612.html ---- - src/media-stream.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/media-stream.c b/src/media-stream.c -index 7b4f29f..da088d1 100644 ---- a/src/media-stream.c -+++ b/src/media-stream.c -@@ -1076,7 +1076,7 @@ haze_media_stream_new_native_candidate (TpSvcMediaStreamHandler *iface, - if (proto == TP_MEDIA_STREAM_BASE_PROTO_UDP) - protocol = PURPLE_MEDIA_NETWORK_PROTOCOL_UDP; - else if (proto == TP_MEDIA_STREAM_BASE_PROTO_TCP) -- protocol = PURPLE_MEDIA_NETWORK_PROTOCOL_TCP; -+ protocol = PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_PASSIVE; - else - DEBUG ("Unknown network protocol"); - diff --git a/srcpkgs/telepathy-haze/template b/srcpkgs/telepathy-haze/template index 60b65b83eced4..938f651d083b8 100644 --- a/srcpkgs/telepathy-haze/template +++ b/srcpkgs/telepathy-haze/template @@ -1,13 +1,13 @@ # Template file for 'telepathy-haze' pkgname=telepathy-haze -version=0.8.0 -revision=2 +version=0.8.1 +revision=1 build_style=gnu-configure -hostmakedepends="pkg-config python libxslt glib-devel" +hostmakedepends="pkg-config python3 libxslt glib-devel" makedepends="glib-devel libpurple-devel telepathy-glib-devel" short_desc="Backend for telepathy to use libpurple (Pidgin) protocols" maintainer="Orphaned " license="GPL-2.0-or-later" -homepage="http://telepathy.freedesktop.org" -distfiles="${homepage}/releases/$pkgname/$pkgname-$version.tar.gz" -checksum=3e76049c05f2cd5900c5c0c1cfebdf7ae79eec987a599f1090946673c5b8f9c9 +homepage="https://telepathy.freedesktop.org" +distfiles="https://telepathy.freedesktop.org/releases/telepathy-haze/telepathy-haze-$version.tar.gz" +checksum=704befa42eec2173eca4bac01ffd004014665f2bad46dc8948e5423364cde30a From 6696b4775c04d0d3bbaf5a6cd7c9bba8c97ffbd1 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Sun, 8 Oct 2023 00:15:59 -0400 Subject: [PATCH 5/6] telepathy-salut: make codegen work with python3 --- srcpkgs/telepathy-salut/patches/python3.patch | 97 +++++++++++++++++++ srcpkgs/telepathy-salut/template | 11 +-- 2 files changed, 102 insertions(+), 6 deletions(-) create mode 100644 srcpkgs/telepathy-salut/patches/python3.patch diff --git a/srcpkgs/telepathy-salut/patches/python3.patch b/srcpkgs/telepathy-salut/patches/python3.patch new file mode 100644 index 0000000000000..fa6fb6253c466 --- /dev/null +++ b/srcpkgs/telepathy-salut/patches/python3.patch @@ -0,0 +1,97 @@ +--- a/tools/libglibcodegen.py ++++ b/tools/libglibcodegen.py +@@ -55,9 +55,8 @@ + return camelcase_to_lower(s).upper() + + +-def cmp_by_name(node1, node2): +- return cmp(node1.getAttributeNode("name").nodeValue, +- node2.getAttributeNode("name").nodeValue) ++def key_by_name(node): ++ return node.getAttributeNode("name").nodeValue + + + def dbus_gutils_wincaps_to_uscore(s): +@@ -191,6 +191,9 @@ + self.remaining = string + + def next(self): ++ return self.__next__() ++ ++ def __next__(self): + if self.remaining == '': + raise StopIteration + +@@ -297,7 +297,7 @@ + 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) +@@ -312,7 +312,7 @@ + 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) + + + def xml_escape(s): +--- a/tools/glib-signals-marshal-gen.py ++++ b/tools/glib-signals-marshal-gen.py +@@ -41,12 +41,12 @@ + for signal in signals: + self.do_signal(signal) + +- all = self.marshallers.keys() ++ all = list(self.marshallers.keys()) + all.sort() + for marshaller in all: + rhs = self.marshallers[marshaller] + if not marshaller.startswith('g_cclosure'): +- print 'VOID:' + ','.join(rhs) ++ print('VOID:' + ','.join(rhs)) + + if __name__ == '__main__': + argv = sys.argv[1:] +--- a/tools/glib-ginterface-gen.py ++++ b/tools/glib-ginterface-gen.py +@@ -26,7 +26,7 @@ + import os.path + import xml.dom.minidom + +-from libglibcodegen import Signature, type_to_gtype, cmp_by_name, \ ++from libglibcodegen import Signature, type_to_gtype, key_by_name, \ + camelcase_to_lower, NS_TP, dbus_gutils_wincaps_to_uscore, \ + signal_to_marshal_name, method_to_glue_marshal_name + +@@ -620,7 +620,7 @@ + self.b('') + + nodes = self.dom.getElementsByTagName('node') +- nodes.sort(cmp_by_name) ++ nodes.sort(key=key_by_name) + + for node in nodes: + self.do_node(node) +@@ -639,7 +639,7 @@ + + + def cmdline_error(): +- print """\ ++ print("""\ + usage: + gen-ginterface [OPTIONS] xmlfile Prefix_ + options: +@@ -659,7 +659,7 @@ + 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/srcpkgs/telepathy-salut/template b/srcpkgs/telepathy-salut/template index 8c3d2dace29ae..badc020f1b697 100644 --- a/srcpkgs/telepathy-salut/template +++ b/srcpkgs/telepathy-salut/template @@ -2,19 +2,18 @@ pkgname=telepathy-salut version=0.8.1 revision=20 -lib32disabled=yes build_style=gnu-configure configure_args="--disable-tests --disable-plugins --with-tls=gnutls --disable-avahi-tests --disable-static" -hostmakedepends="pkg-config python xmldiff glib-devel" +hostmakedepends="pkg-config python3 xmldiff glib-devel" makedepends="glib-devel avahi-glib-libs-devel libsoup-devel telepathy-glib-devel gnutls-devel libuuid-devel sqlite-devel" depends="avahi" short_desc="Link-local XMPP connection manager for Telepathy" maintainer="Orphaned " -homepage="http://telepathy.freedesktop.org" license="LGPL-2.1-or-later" -distfiles="http://telepathy.freedesktop.org/releases/$pkgname/$pkgname-$version.tar.gz" +homepage="https://telepathy.freedesktop.org" +distfiles="https://telepathy.freedesktop.org/releases/telepathy-salut/telepathy-salut-$version.tar.gz" checksum=70b9108ac8b511b7688e1b580de4ddb8981603c3cbde01f287ef8f9cb708618e - -nocross="http://build.voidlinux.org/builders/armv7l_builder/builds/16213/steps/shell_3/logs/stdio" +lib32disabled=yes +nocross="can't find wocky.h" From 68081b7bebc6941fae06e75ad0a456071857cb30 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Sun, 8 Oct 2023 00:51:15 -0400 Subject: [PATCH 6/6] telepathy-gabble: patch for python3 --- .../telepathy-gabble/patches/python3.patch | 871 ++++++++++++++++++ srcpkgs/telepathy-gabble/template | 8 +- 2 files changed, 875 insertions(+), 4 deletions(-) create mode 100644 srcpkgs/telepathy-gabble/patches/python3.patch diff --git a/srcpkgs/telepathy-gabble/patches/python3.patch b/srcpkgs/telepathy-gabble/patches/python3.patch new file mode 100644 index 0000000000000..205c9940a58fe --- /dev/null +++ b/srcpkgs/telepathy-gabble/patches/python3.patch @@ -0,0 +1,871 @@ +From 1aeffdb74a1d7ce8b93587ded4f5a434cd1dfc06 Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Fri, 1 Nov 2013 14:12:06 +0000 +Subject: [PATCH] Update Python tools from telepathy-glib (avoid deprecations, + etc.) + +Bug: https://bugs.freedesktop.org/show_bug.cgi?id=26609 +Reviewed-by: Guillaume Desmottes +--- + tools/c-constants-gen.py | 12 ++-- + tools/glib-client-gen.py | 94 +++++++---------------------- + tools/glib-client-marshaller-gen.py | 20 +++--- + tools/glib-errors-check-gen.py | 62 +++++++++---------- + tools/glib-errors-str-gen.py | 14 ++--- + tools/glib-ginterface-gen.py | 22 +++---- + tools/glib-gtypes-generator.py | 14 ++--- + tools/glib-interfaces-gen.py | 14 ++--- + tools/gobject-foo.py | 2 +- + tools/libglibcodegen.py | 27 ++++++++- + tools/libtpcodegen.py | 22 ++++++- + tools/make-version-script.py | 32 +++++----- + tools/xincludator.py | 13 +++- + 13 files changed, 167 insertions(+), 181 deletions(-) + +diff --git a/tools/c-constants-gen.py b/tools/c-constants-gen.py +index c7a93d371..a08afee06 100644 +--- a/tools/c-constants-gen.py ++++ b/tools/c-constants-gen.py +@@ -3,7 +3,7 @@ + from sys import argv, stdout, stderr + import xml.dom.minidom + +-from libtpcodegen import file_set_contents ++from libtpcodegen import file_set_contents, u + from libglibcodegen import NS_TP, get_docstring, \ + get_descendant_text, get_by_path + +@@ -12,7 +12,7 @@ def __init__(self, prefix, dom, output_base): + self.prefix = prefix + '_' + self.spec = get_by_path(dom, "spec")[0] + +- self.output_base = output_base ++ self.output_base = output_base + self.__header = [] + self.__docs = [] + +@@ -21,14 +21,14 @@ def __call__(self): + self.do_body() + self.do_footer() + +- file_set_contents(self.output_base + '.h', ''.join(self.__header)) +- file_set_contents(self.output_base + '-gtk-doc.h', ''.join(self.__docs)) ++ file_set_contents(self.output_base + '.h', u('').join(self.__header).encode('utf-8')) ++ file_set_contents(self.output_base + '-gtk-doc.h', u('').join(self.__docs).encode('utf-8')) + + def write(self, code): +- self.__header.append(code.encode('utf-8')) ++ self.__header.append(code) + + def d(self, code): +- self.__docs.append(code.encode('utf-8')) ++ self.__docs.append(code) + + # Header + def do_header(self): +diff --git a/tools/glib-client-gen.py b/tools/glib-client-gen.py +index f8465a62b..a0fecf083 100644 +--- a/tools/glib-client-gen.py ++++ b/tools/glib-client-gen.py +@@ -27,9 +27,9 @@ + import xml.dom.minidom + from getopt import gnu_getopt + +-from libtpcodegen import file_set_contents +-from libglibcodegen import Signature, type_to_gtype, cmp_by_name, \ +- get_docstring, xml_escape, get_deprecated ++from libtpcodegen import file_set_contents, key_by_name, u ++from libglibcodegen import (Signature, type_to_gtype, ++ get_docstring, xml_escape, get_deprecated, copy_into_gvalue) + + + NS_TP = "http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0" +@@ -74,18 +74,12 @@ def __init__(self, dom, prefix, basename, opts): + self.guard = opts.get('--guard', None) + + 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 get_iface_quark(self): +@@ -192,6 +186,7 @@ def do_signal(self, iface, signal): + + self.b(' TpProxySignalConnection *sc)') + self.b('{') ++ self.b(' G_GNUC_BEGIN_IGNORE_DEPRECATIONS') + self.b(' GValueArray *args = g_value_array_new (%d);' % len(args)) + self.b(' GValue blank = { 0 };') + self.b(' guint i;') +@@ -200,6 +195,7 @@ def do_signal(self, iface, signal): + self.b('') + self.b(' for (i = 0; i < %d; i++)' % len(args)) + self.b(' g_value_array_append (args, &blank);') ++ self.b(' G_GNUC_END_IGNORE_DEPRECATIONS') + self.b('') + + for i, arg in enumerate(args): +@@ -209,36 +205,8 @@ def do_signal(self, iface, signal): + self.b(' g_value_unset (args->values + %d);' % i) + self.b(' g_value_init (args->values + %d, %s);' % (i, gtype)) + +- if gtype == 'G_TYPE_STRING': +- self.b(' g_value_set_string (args->values + %d, %s);' +- % (i, name)) +- elif marshaller == 'BOXED': +- self.b(' g_value_set_boxed (args->values + %d, %s);' +- % (i, name)) +- elif gtype == 'G_TYPE_UCHAR': +- self.b(' g_value_set_uchar (args->values + %d, %s);' +- % (i, name)) +- elif gtype == 'G_TYPE_BOOLEAN': +- self.b(' g_value_set_boolean (args->values + %d, %s);' +- % (i, name)) +- elif gtype == 'G_TYPE_INT': +- self.b(' g_value_set_int (args->values + %d, %s);' +- % (i, name)) +- elif gtype == 'G_TYPE_UINT': +- self.b(' g_value_set_uint (args->values + %d, %s);' +- % (i, name)) +- elif gtype == 'G_TYPE_INT64': +- self.b(' g_value_set_int (args->values + %d, %s);' +- % (i, name)) +- elif gtype == 'G_TYPE_UINT64': +- self.b(' g_value_set_uint64 (args->values + %d, %s);' +- % (i, name)) +- elif gtype == 'G_TYPE_DOUBLE': +- self.b(' g_value_set_double (args->values + %d, %s);' +- % (i, name)) +- else: +- assert False, ("Don't know how to put %s in a GValue" +- % gtype) ++ self.b(' ' + copy_into_gvalue('args->values + %d' % i, ++ gtype, marshaller, name)) + self.b('') + + self.b(' tp_proxy_signal_connection_v0_take_results (sc, args);') +@@ -288,12 +256,14 @@ def do_signal(self, iface, signal): + self.b(' weak_object);') + self.b('') + ++ self.b(' G_GNUC_BEGIN_IGNORE_DEPRECATIONS') + if len(args) > 0: + self.b(' g_value_array_free (args);') + else: + self.b(' if (args != NULL)') + self.b(' g_value_array_free (args);') + self.b('') ++ self.b(' G_GNUC_END_IGNORE_DEPRECATIONS') + + self.b(' g_object_unref (tpproxy);') + self.b('}') +@@ -559,11 +529,13 @@ def do_method(self, iface, method): + self.b(' return;') + self.b(' }') + self.b('') ++ self.b(' G_GNUC_BEGIN_IGNORE_DEPRECATIONS') + self.b(' args = g_value_array_new (%d);' % len(out_args)) + self.b(' g_value_init (&blank, G_TYPE_INT);') + self.b('') + self.b(' for (i = 0; i < %d; i++)' % len(out_args)) + self.b(' g_value_array_append (args, &blank);') ++ self.b(' G_GNUC_END_IGNORE_DEPRECATIONS') + + for i, arg in enumerate(out_args): + name, info, tp_type, elt = arg +@@ -573,36 +545,8 @@ def do_method(self, iface, method): + self.b(' g_value_unset (args->values + %d);' % i) + self.b(' g_value_init (args->values + %d, %s);' % (i, gtype)) + +- if gtype == 'G_TYPE_STRING': +- self.b(' g_value_take_string (args->values + %d, %s);' +- % (i, name)) +- elif marshaller == 'BOXED': +- self.b(' g_value_take_boxed (args->values + %d, %s);' +- % (i, name)) +- elif gtype == 'G_TYPE_UCHAR': +- self.b(' g_value_set_uchar (args->values + %d, %s);' +- % (i, name)) +- elif gtype == 'G_TYPE_BOOLEAN': +- self.b(' g_value_set_boolean (args->values + %d, %s);' +- % (i, name)) +- elif gtype == 'G_TYPE_INT': +- self.b(' g_value_set_int (args->values + %d, %s);' +- % (i, name)) +- elif gtype == 'G_TYPE_UINT': +- self.b(' g_value_set_uint (args->values + %d, %s);' +- % (i, name)) +- elif gtype == 'G_TYPE_INT64': +- self.b(' g_value_set_int (args->values + %d, %s);' +- % (i, name)) +- elif gtype == 'G_TYPE_UINT64': +- self.b(' g_value_set_uint (args->values + %d, %s);' +- % (i, name)) +- elif gtype == 'G_TYPE_DOUBLE': +- self.b(' g_value_set_double (args->values + %d, %s);' +- % (i, name)) +- else: +- assert False, ("Don't know how to put %s in a GValue" +- % gtype) ++ self.b(' ' + copy_into_gvalue('args->values + %d' % i, ++ gtype, marshaller, name)) + + self.b(' tp_proxy_pending_call_v0_take_results (user_data, ' + 'NULL, args);') +@@ -671,11 +615,13 @@ def do_method(self, iface, method): + self.b(' error, user_data, weak_object);') + self.b('') + ++ self.b(' G_GNUC_BEGIN_IGNORE_DEPRECATIONS') + if len(out_args) > 0: + self.b(' g_value_array_free (args);') + else: + self.b(' if (args != NULL)') + self.b(' g_value_array_free (args);') ++ self.b(' G_GNUC_END_IGNORE_DEPRECATIONS') + + self.b('}') + self.b('') +@@ -948,11 +894,13 @@ def do_method_reentrant(self, method, iface_lc, member, member_lc, in_args, + + self.b('') + ++ self.b(' G_GNUC_BEGIN_IGNORE_DEPRECATIONS') + if len(out_args) > 0: + self.b(' g_value_array_free (args);') + else: + self.b(' if (args != NULL)') + self.b(' g_value_array_free (args);') ++ self.b(' G_GNUC_END_IGNORE_DEPRECATIONS') + + self.b('}') + self.b('') +@@ -1191,7 +1139,7 @@ def __call__(self): + self.b('') + + nodes = self.dom.getElementsByTagName('node') +- nodes.sort(cmp_by_name) ++ nodes.sort(key=key_by_name) + + for node in nodes: + self.do_interface(node) +@@ -1244,9 +1192,9 @@ def __call__(self): + self.h('#endif /* defined (%s) */' % self.guard) + self.h('') + +- file_set_contents(self.basename + '.h', '\n'.join(self.__header)) +- file_set_contents(self.basename + '-body.h', '\n'.join(self.__body)) +- file_set_contents(self.basename + '-gtk-doc.h', '\n'.join(self.__docs)) ++ file_set_contents(self.basename + '.h', u('\n').join(self.__header).encode('utf-8')) ++ file_set_contents(self.basename + '-body.h', u('\n').join(self.__body).encode('utf-8')) ++ file_set_contents(self.basename + '-gtk-doc.h', u('\n').join(self.__docs).encode('utf-8')) + + def types_to_gtypes(types): + return [type_to_gtype(t)[1] for t in types] +diff --git a/tools/glib-client-marshaller-gen.py b/tools/glib-client-marshaller-gen.py +index cb27d638a..cd9823bdf 100644 +--- a/tools/glib-client-marshaller-gen.py ++++ b/tools/glib-client-marshaller-gen.py +@@ -31,23 +31,23 @@ def __call__(self): + for signal in signals: + self.do_signal(signal) + +- print 'void' +- print '%s_register_dbus_glib_marshallers (void)' % self.prefix +- print '{' ++ print('void') ++ print('%s_register_dbus_glib_marshallers (void)' % self.prefix) ++ print('{') + +- all = self.marshallers.keys() ++ all = list(self.marshallers.keys()) + all.sort() + for marshaller in all: + rhs = self.marshallers[marshaller] + +- print ' dbus_g_object_register_marshaller (' +- print ' g_cclosure_marshal_generic,' +- print ' G_TYPE_NONE, /* return */' ++ print(' dbus_g_object_register_marshaller (') ++ print(' g_cclosure_marshal_generic,') ++ print(' G_TYPE_NONE, /* return */') + for type in rhs: +- print ' G_TYPE_%s,' % type.replace('VOID', 'NONE') +- print ' G_TYPE_INVALID);' ++ print(' G_TYPE_%s,' % type.replace('VOID', 'NONE')) ++ print(' G_TYPE_INVALID);') + +- print '}' ++ print('}') + + + def types_to_gtypes(types): +diff --git a/tools/glib-errors-check-gen.py b/tools/glib-errors-check-gen.py +index 553fc9caf..fad261ece 100644 +--- a/tools/glib-errors-check-gen.py ++++ b/tools/glib-errors-check-gen.py +@@ -12,13 +12,13 @@ def __init__(self, dom): + + def __call__(self): + +- print '{' +- print ' GEnumClass *klass;' +- print ' GEnumValue *value_by_name;' +- print ' GEnumValue *value_by_nick;' +- print '' +- print ' g_type_init ();' +- print ' klass = g_type_class_ref (TP_TYPE_ERROR);' ++ print('{') ++ print(' GEnumClass *klass;') ++ print(' GEnumValue *value_by_name;') ++ print(' GEnumValue *value_by_nick;') ++ print('') ++ print(' g_type_init ();') ++ print(' klass = g_type_class_ref (TP_TYPE_ERROR);') + + for error in self.errors.getElementsByTagNameNS(NS_TP, 'error'): + ns = error.parentNode.getAttribute('namespace') +@@ -28,30 +28,30 @@ def __call__(self): + s = ('TP_ERROR_STR_' + + error.getAttribute('name').replace(' ', '_').replace('.', '_').upper()) + +- print '' +- print ' /* %s.%s */' % (ns, nick) +- print (' value_by_name = g_enum_get_value_by_name (klass, "%s");' +- % enum) +- print (' value_by_nick = g_enum_get_value_by_nick (klass, "%s");' +- % nick) +- print (' g_assert (value_by_name != NULL);') +- print (' g_assert (value_by_nick != NULL);') +- print (' g_assert_cmpint (value_by_name->value, ==, %s);' +- % enum) +- print (' g_assert_cmpint (value_by_nick->value, ==, %s);' +- % enum) +- print (' g_assert_cmpstr (value_by_name->value_name, ==, "%s");' +- % enum) +- print (' g_assert_cmpstr (value_by_nick->value_name, ==, "%s");' +- % enum) +- print (' g_assert_cmpstr (value_by_name->value_nick, ==, "%s");' +- % nick) +- print (' g_assert_cmpstr (value_by_nick->value_nick, ==, "%s");' +- % nick) +- print (' g_assert_cmpstr (%s, ==, TP_ERROR_PREFIX ".%s");' +- % (s, nick)) +- +- print '}' ++ print('') ++ print(' /* %s.%s */' % (ns, nick)) ++ print(' value_by_name = g_enum_get_value_by_name (klass, "%s");' ++ % enum) ++ print(' value_by_nick = g_enum_get_value_by_nick (klass, "%s");' ++ % nick) ++ print(' g_assert (value_by_name != NULL);') ++ print(' g_assert (value_by_nick != NULL);') ++ print(' g_assert_cmpint (value_by_name->value, ==, %s);' ++ % enum) ++ print(' g_assert_cmpint (value_by_nick->value, ==, %s);' ++ % enum) ++ print(' g_assert_cmpstr (value_by_name->value_name, ==, "%s");' ++ % enum) ++ print(' g_assert_cmpstr (value_by_nick->value_name, ==, "%s");' ++ % enum) ++ print(' g_assert_cmpstr (value_by_name->value_nick, ==, "%s");' ++ % nick) ++ print(' g_assert_cmpstr (value_by_nick->value_nick, ==, "%s");' ++ % nick) ++ print(' g_assert_cmpstr (%s, ==, TP_ERROR_PREFIX ".%s");' ++ % (s, nick)) ++ ++ print('}') + + if __name__ == '__main__': + argv = sys.argv[1:] +diff --git a/tools/glib-errors-str-gen.py b/tools/glib-errors-str-gen.py +index b2cf520bd..ddb1e16b7 100644 +--- a/tools/glib-errors-str-gen.py ++++ b/tools/glib-errors-str-gen.py +@@ -3,7 +3,7 @@ + import sys + import xml.dom.minidom + +-from libtpcodegen import file_set_contents ++from libtpcodegen import file_set_contents, u + from libglibcodegen import NS_TP, get_docstring, xml_escape + + class Generator(object): +@@ -17,18 +17,12 @@ def __init__(self, dom, basename): + self.__docs = [] + + 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 __call__(self): +@@ -72,9 +66,9 @@ def __call__(self): + self.h('') + self.b('') + +- file_set_contents(self.basename + '.h', '\n'.join(self.__header)) +- file_set_contents(self.basename + '.c', '\n'.join(self.__body)) +- file_set_contents(self.basename + '-gtk-doc.h', '\n'.join(self.__docs)) ++ file_set_contents(self.basename + '.h', u('\n').join(self.__header).encode('utf-8')) ++ file_set_contents(self.basename + '.c', u('\n').join(self.__body).encode('utf-8')) ++ file_set_contents(self.basename + '-gtk-doc.h', u('\n').join(self.__docs).encode('utf-8')) + + if __name__ == '__main__': + argv = sys.argv[1:] +diff --git a/tools/glib-ginterface-gen.py b/tools/glib-ginterface-gen.py +index 6fec0d3c4..c0ce20ddc 100644 +--- a/tools/glib-ginterface-gen.py ++++ b/tools/glib-ginterface-gen.py +@@ -26,8 +26,8 @@ + import os.path + import xml.dom.minidom + +-from libtpcodegen import file_set_contents +-from libglibcodegen import Signature, type_to_gtype, cmp_by_name, \ ++from libtpcodegen import file_set_contents, key_by_name, u ++from libglibcodegen import Signature, type_to_gtype, \ + NS_TP, dbus_gutils_wincaps_to_uscore + + +@@ -85,18 +85,12 @@ def __init__(self, dom, prefix, basename, signal_marshal_prefix, + 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): +@@ -733,7 +727,7 @@ def have_properties(self, nodes): + + def __call__(self): + nodes = self.dom.getElementsByTagName('node') +- nodes.sort(cmp_by_name) ++ nodes.sort(key=key_by_name) + + self.h('#include ') + self.h('#include ') +@@ -761,12 +755,12 @@ def __call__(self): + + self.h('') + self.b('') +- file_set_contents(self.basename + '.h', '\n'.join(self.__header)) +- file_set_contents(self.basename + '.c', '\n'.join(self.__body)) +- file_set_contents(self.basename + '-gtk-doc.h', '\n'.join(self.__docs)) ++ file_set_contents(self.basename + '.h', u('\n').join(self.__header).encode('utf-8')) ++ file_set_contents(self.basename + '.c', u('\n').join(self.__body).encode('utf-8')) ++ file_set_contents(self.basename + '-gtk-doc.h', u('\n').join(self.__docs).encode('utf-8')) + + def cmdline_error(): +- print """\ ++ print("""\ + usage: + gen-ginterface [OPTIONS] xmlfile Prefix_ + options: +@@ -786,7 +780,7 @@ def cmdline_error(): + 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/glib-gtypes-generator.py b/tools/glib-gtypes-generator.py +index 21dfc6aa7..1477bd37b 100644 +--- a/tools/glib-gtypes-generator.py ++++ b/tools/glib-gtypes-generator.py +@@ -23,7 +23,7 @@ + import sys + import xml.dom.minidom + +-from libtpcodegen import file_set_contents ++from libtpcodegen import file_set_contents, u + from libglibcodegen import escape_as_identifier, \ + get_docstring, \ + NS_TP, \ +@@ -68,13 +68,13 @@ def __init__(self, dom, output, mixed_case_prefix): + self.need_other_arrays = {} + + def h(self, code): +- self.header.append(code.encode("utf-8")) ++ self.header.append(code) + + def c(self, code): +- self.body.append(code.encode("utf-8")) ++ self.body.append(code) + + def d(self, code): +- self.docs.append(code.encode('utf-8')) ++ self.docs.append(code) + + def do_mapping_header(self, mapping): + members = mapping.getElementsByTagNameNS(NS_TP, 'member') +@@ -292,9 +292,9 @@ def __call__(self): + self.c(' return t;\n') + self.c('}\n\n') + +- file_set_contents(self.output + '.h', ''.join(self.header)) +- file_set_contents(self.output + '-body.h', ''.join(self.body)) +- file_set_contents(self.output + '-gtk-doc.h', ''.join(self.docs)) ++ file_set_contents(self.output + '.h', u('').join(self.header).encode('utf-8')) ++ file_set_contents(self.output + '-body.h', u('').join(self.body).encode('utf-8')) ++ file_set_contents(self.output + '-gtk-doc.h', u('').join(self.docs).encode('utf-8')) + + if __name__ == '__main__': + argv = sys.argv[1:] +diff --git a/tools/glib-interfaces-gen.py b/tools/glib-interfaces-gen.py +index 410762cde..b67d7b4f0 100644 +--- a/tools/glib-interfaces-gen.py ++++ b/tools/glib-interfaces-gen.py +@@ -3,7 +3,7 @@ + from sys import argv, stdout, stderr + import xml.dom.minidom + +-from libtpcodegen import file_set_contents ++from libtpcodegen import file_set_contents, u + from libglibcodegen import NS_TP, get_docstring, \ + get_descendant_text, get_by_path + +@@ -24,22 +24,22 @@ def __init__(self, prefix, implfile, declfile, dom): + self.spec = get_by_path(dom, "spec")[0] + + def h(self, code): +- self.decls.append(code.encode('utf-8')) ++ self.decls.append(code) + + def c(self, code): +- self.impls.append(code.encode('utf-8')) ++ self.impls.append(code) + + def d(self, code): +- self.docs.append(code.encode('utf-8')) ++ self.docs.append(code) + + def __call__(self): + for f in self.h, self.c: + self.do_header(f) + self.do_body() + +- file_set_contents(self.implfile, ''.join(self.impls)) +- file_set_contents(self.declfile, ''.join(self.decls)) +- file_set_contents(self.docfile, ''.join(self.docs)) ++ file_set_contents(self.implfile, u('').join(self.impls).encode('utf-8')) ++ file_set_contents(self.declfile, u('').join(self.decls).encode('utf-8')) ++ file_set_contents(self.docfile, u('').join(self.docs).encode('utf-8')) + + # Header + def do_header(self, f): +diff --git a/tools/gobject-foo.py b/tools/gobject-foo.py +index 002a290ba..a2abd7667 100644 +--- a/tools/gobject-foo.py ++++ b/tools/gobject-foo.py +@@ -87,4 +87,4 @@ def gobject_header(head, tail, as_interface=False): + + head, tail = argv + +- print '\n'.join(gobject_header(head, tail, as_interface=as_interface)) ++ print('\n'.join(gobject_header(head, tail, as_interface=as_interface))) +diff --git a/tools/libglibcodegen.py b/tools/libglibcodegen.py +index 6a9d21485..0b703a5a8 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,27 @@ 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) ++ ++ ++def copy_into_gvalue(gvaluep, gtype, marshaller, name): ++ if gtype == 'G_TYPE_STRING': ++ return 'g_value_set_string (%s, %s);' % (gvaluep, name) ++ elif marshaller == 'BOXED': ++ return 'g_value_set_boxed (%s, %s);' % (gvaluep, name) ++ elif gtype == 'G_TYPE_UCHAR': ++ return 'g_value_set_uchar (%s, %s);' % (gvaluep, name) ++ elif gtype == 'G_TYPE_BOOLEAN': ++ return 'g_value_set_boolean (%s, %s);' % (gvaluep, name) ++ elif gtype == 'G_TYPE_INT': ++ return 'g_value_set_int (%s, %s);' % (gvaluep, name) ++ elif gtype == 'G_TYPE_UINT': ++ return 'g_value_set_uint (%s, %s);' % (gvaluep, name) ++ elif gtype == 'G_TYPE_INT64': ++ return 'g_value_set_int (%s, %s);' % (gvaluep, name) ++ elif gtype == 'G_TYPE_UINT64': ++ return 'g_value_set_uint64 (%s, %s);' % (gvaluep, name) ++ elif gtype == 'G_TYPE_DOUBLE': ++ return 'g_value_set_double (%s, %s);' % (gvaluep, name) ++ else: ++ raise AssertionError("Don't know how to put %s in a GValue" % gtype) +diff --git a/tools/libtpcodegen.py b/tools/libtpcodegen.py +index 7e9eb9a50..99de66340 100644 +--- a/tools/libtpcodegen.py ++++ b/tools/libtpcodegen.py +@@ -21,6 +21,7 @@ + # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + import os ++import sys + from string import ascii_letters, digits + + +@@ -28,6 +29,20 @@ + + _ASCII_ALNUM = ascii_letters + digits + ++if sys.version_info[0] >= 3: ++ def u(s): ++ """Return s, which must be a str literal with no non-ASCII characters. ++ This is like a more restricted form of the Python 2 u'' syntax. ++ """ ++ return s.encode('ascii').decode('ascii') ++else: ++ def u(s): ++ """Return a Unicode version of s, which must be a str literal ++ (a bytestring) in which each byte is an ASCII character. ++ This is like a more restricted form of the u'' syntax. ++ """ ++ return s.decode('ascii') ++ + def file_set_contents(filename, contents): + try: + os.remove(filename) +@@ -38,13 +53,15 @@ def file_set_contents(filename, contents): + except OSError: + pass + +- open(filename + '.tmp', 'w').write(contents) ++ open(filename + '.tmp', 'wb').write(contents) + os.rename(filename + '.tmp', filename) + + def cmp_by_name(node1, node2): + return cmp(node1.getAttributeNode("name").nodeValue, + node2.getAttributeNode("name").nodeValue) + ++def key_by_name(node): ++ return node.getAttributeNode("name").nodeValue + + def escape_as_identifier(identifier): + """Escape the given string to be a valid D-Bus object path or service +@@ -168,6 +185,9 @@ def __init__(self, string): + self.remaining = string + + def next(self): ++ return self.__next__() ++ ++ def __next__(self): + if self.remaining == '': + raise StopIteration + +diff --git a/tools/make-version-script.py b/tools/make-version-script.py +index 0d30aa323..4ced849fe 100644 +--- a/tools/make-version-script.py ++++ b/tools/make-version-script.py +@@ -63,9 +63,9 @@ def main(abifiles, symbols=None, unreleased_version=None, + + if dpkg: + assert dpkg_first_line is not None +- print dpkg_first_line ++ print(dpkg_first_line) + if dpkg_build_depends_package is not None: +- print "* Build-Depends-Package: %s" % dpkg_build_depends_package ++ print("* Build-Depends-Package: %s" % dpkg_build_depends_package) + + for filename in abifiles: + lines = open(filename, 'r').readlines() +@@ -120,8 +120,8 @@ def main(abifiles, symbols=None, unreleased_version=None, + lines = lines[cut:] + + if gnuld: +- print "%s {" % version +- print " global:" ++ print("%s {" % version) ++ print(" global:") + + for symbol in lines: + symbol = symbol.strip() +@@ -130,7 +130,7 @@ def main(abifiles, symbols=None, unreleased_version=None, + continue + + if gnuld: +- print " %s;" % symbol ++ print(" %s;" % symbol) + elif dpkg: + dpkg_symbols.append('%s@%s %s' % (symbol, version, release)) + +@@ -142,22 +142,22 @@ def main(abifiles, symbols=None, unreleased_version=None, + + if gnuld: + if extends == '-': +- print " local:" +- print " *;" +- print "};" ++ print(" local:") ++ print(" *;") ++ print("};") + else: +- print "} %s;" % extends +- print ++ print("} %s;" % extends) ++ print("") + + if dpkg: + dpkg_symbols.sort() + dpkg_versions.sort() + + for x in dpkg_versions: +- print " %s" % x ++ print(" %s" % x) + + for x in dpkg_symbols: +- print " %s" % x ++ print(" %s" % x) + + if symbol_set is not None: + missing = versioned_symbols - symbol_set +@@ -182,13 +182,13 @@ def main(abifiles, symbols=None, unreleased_version=None, + raise SystemExit(1) + + if gnuld: +- print "%s {" % unreleased_version +- print " global:" ++ print("%s {" % unreleased_version) ++ print(" global:") + + for symbol in unreleased: +- print " %s;" % symbol ++ print(" %s;" % symbol) + +- print "} %s;" % version ++ print("} %s;" % version) + + + if __name__ == '__main__': +diff --git a/tools/xincludator.py b/tools/xincludator.py +index 63e106ace..f9ed49ce4 100644 +--- a/tools/xincludator.py ++++ b/tools/xincludator.py +@@ -1,17 +1,19 @@ + #!/usr/bin/python + ++import sys + from sys import argv, stdout, stderr + import codecs, locale + import os + import xml.dom.minidom + +-stdout = codecs.getwriter('utf-8')(stdout) ++if sys.version_info[0] < 3: ++ stdout = codecs.getwriter('utf-8')(stdout) + + NS_XI = 'http://www.w3.org/2001/XInclude' + + def xincludate(dom, base, dropns = []): + remove_attrs = [] +- for i in xrange(dom.documentElement.attributes.length): ++ for i in range(dom.documentElement.attributes.length): + attr = dom.documentElement.attributes.item(i) + if attr.prefix == 'xmlns': + if attr.localName in dropns: +@@ -34,6 +36,11 @@ def xincludate(dom, base, dropns = []): + argv = argv[1:] + dom = xml.dom.minidom.parse(argv[0]) + xincludate(dom, argv[0]) +- xml = dom.toxml() ++ ++ if sys.version_info[0] >= 3: ++ xml = dom.toxml(encoding=None) ++ else: ++ xml = dom.toxml() ++ + stdout.write(xml) + stdout.write('\n') +--- a/plugins/telepathy-gabble-xmpp-console ++++ b/plugins/telepathy-gabble-xmpp-console +@@ -313,12 +313,12 @@ + CONN_FUTURE_IFACE, None) + try: + sidecar_path, _ = conn_future_proxy.EnsureSidecar('(s)', CONSOLE_IFACE) +- except Exception, e: +- print """ ++ except Exception as e: ++ print(""" + Couldn't connect to the XMPP console interface on '%(connection_bus_name)s': + %(e)s + Check that it's a running Jabber connection, and that you have the console +-plugin installed.""" % locals() ++plugin installed.""" % locals()) + + raise SystemExit(2) + +@@ -357,7 +357,7 @@ + ACCOUNT_IFACE = 'org.freedesktop.Telepathy.Account' + + def usage(): +- print """ ++ print(""" + Usage: + + %(arg0)s gabble/jabber/blahblah +@@ -367,7 +367,7 @@ + List connection bus names using `qdbus | grep gabble`. + """ % { 'arg0': sys.argv[0], + 'prefix': GABBLE_PREFIX, +- } ++ }) + raise SystemExit(1) + + if __name__ == '__main__': +@@ -385,7 +385,7 @@ + ACCOUNT_IFACE, None) + path = account_proxy.get_cached_property('Connection').get_string() + if path == '/': +- print "%s is not online" % thing ++ print("%s is not online" % thing) + raise SystemExit(1) + else: + thing = nameify(path) diff --git a/srcpkgs/telepathy-gabble/template b/srcpkgs/telepathy-gabble/template index 2bde648f265c4..b0b1aaed6e1b8 100644 --- a/srcpkgs/telepathy-gabble/template +++ b/srcpkgs/telepathy-gabble/template @@ -1,11 +1,11 @@ # Template file for 'telepathy-gabble' pkgname=telepathy-gabble version=0.18.4 -revision=3 +revision=4 build_style=gnu-configure configure_args="--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt --enable-handle-leak-debug --disable-debug --disable-static" -hostmakedepends="python pkg-config libxslt" +hostmakedepends="python3 pkg-config libxslt" makedepends="glib-devel dbus-glib-devel libxml2-devel sqlite-devel gnutls-devel telepathy-glib-devel libsoup-devel libnice-devel ca-certificates" @@ -14,8 +14,8 @@ short_desc="Jabber/XMPP connection manager for Telepathy" maintainer="Orphaned " license="LGPL-2.1-or-later" homepage="https://telepathy.freedesktop.org" -distfiles="$homepage/releases/$pkgname/$pkgname-$version.tar.gz" +distfiles="https://telepathy.freedesktop.org/releases/telepathy-gabble/telepathy-gabble-$version.tar.gz" checksum=115c91572c72d4a40f0b25b606167b4f2f09441dc7bf1036ccbb1450f1a4969c -python_version=2 +python_version=3 nocross=yes lib32disabled=yes