diff options
author | Nirbheek Chauhan <nirbheek@gentoo.org> | 2013-09-13 20:42:56 +0000 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@gentoo.org> | 2013-09-13 20:42:56 +0000 |
commit | d3ad3375bfa7fc954af0ae927920292c07e0698e (patch) | |
tree | 5c1be91f8da8dd89b06d90143b72d4e8cc34effe /media-sound/rhythmbox | |
parent | moving quantumclient to neutronclient (diff) | |
download | gentoo-2-d3ad3375bfa7fc954af0ae927920292c07e0698e.tar.gz gentoo-2-d3ad3375bfa7fc954af0ae927920292c07e0698e.tar.bz2 gentoo-2-d3ad3375bfa7fc954af0ae927920292c07e0698e.zip |
Fix a hang (reported by pva), fix deps, and port a plugin to Python 3
(Portage version: 2.2.0_alpha186/cvs/Linux x86_64, signed Manifest commit with key 560FDD64)
Diffstat (limited to 'media-sound/rhythmbox')
-rw-r--r-- | media-sound/rhythmbox/ChangeLog | 10 | ||||
-rw-r--r-- | media-sound/rhythmbox/files/rhythmbox-3.0-gdbus-return-value.patch | 50 | ||||
-rw-r--r-- | media-sound/rhythmbox/files/rhythmbox-3.0-rbzeitgeist-python3.patch | 85 | ||||
-rw-r--r-- | media-sound/rhythmbox/rhythmbox-3.0-r1.ebuild (renamed from media-sound/rhythmbox/rhythmbox-3.0.ebuild) | 12 |
4 files changed, 155 insertions, 2 deletions
diff --git a/media-sound/rhythmbox/ChangeLog b/media-sound/rhythmbox/ChangeLog index 43e6c32a5c27..7d061d192bed 100644 --- a/media-sound/rhythmbox/ChangeLog +++ b/media-sound/rhythmbox/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for media-sound/rhythmbox # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/rhythmbox/ChangeLog,v 1.244 2013/09/13 09:16:13 nirbheek Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/rhythmbox/ChangeLog,v 1.245 2013/09/13 20:42:56 nirbheek Exp $ + +*rhythmbox-3.0-r1 (13 Sep 2013) + + 13 Sep 2013; Nirbheek Chauhan <nirbheek@gentoo.org> + +files/rhythmbox-3.0-gdbus-return-value.patch, + +files/rhythmbox-3.0-rbzeitgeist-python3.patch, +rhythmbox-3.0-r1.ebuild, + -rhythmbox-3.0.ebuild: + Fix a hang (reported by pva), fix deps, and port a plugin to Python 3 *rhythmbox-3.0 (13 Sep 2013) diff --git a/media-sound/rhythmbox/files/rhythmbox-3.0-gdbus-return-value.patch b/media-sound/rhythmbox/files/rhythmbox-3.0-gdbus-return-value.patch new file mode 100644 index 000000000000..3b8723b9d15f --- /dev/null +++ b/media-sound/rhythmbox/files/rhythmbox-3.0-gdbus-return-value.patch @@ -0,0 +1,50 @@ +From 76540fdaa7baf56b01d8d269cbe482b1dbc58f09 Mon Sep 17 00:00:00 2001 +From: Jonathan Matthew <jonathan@d14n.org> +Date: Fri, 13 Sep 2013 12:19:13 +0000 +Subject: metadata: GDBusServer new-connection signal needs a return value + +Turns out this is kind of important and has been working mostly by +luck until now. When compiled with gcc's -fstack-protector-strong, +we ended up returning 0, which in this case means that the connection +isn't interesting, so it stops processing messages on it. + +https://bugzilla.gnome.org/show_bug.cgi?id=706470 +--- +diff --git a/metadata/rb-metadata-dbus-service.c b/metadata/rb-metadata-dbus-service.c +index cb29d33..8280b2c 100644 +--- a/metadata/rb-metadata-dbus-service.c ++++ b/metadata/rb-metadata-dbus-service.c +@@ -220,7 +220,7 @@ connection_closed_cb (GDBusConnection *connection, + svc->connection = NULL; + } + +-static void ++static gboolean + new_connection_cb (GDBusServer *server, + GDBusConnection *connection, + ServiceData *svc) +@@ -231,7 +231,7 @@ new_connection_cb (GDBusServer *server, + /* don't allow more than one connection at a time */ + if (svc->connection) { + rb_debug ("metadata service already has a client. go away."); +- return; ++ return FALSE; + } + g_dbus_connection_register_object (connection, + RB_METADATA_DBUS_OBJECT_PATH, +@@ -243,11 +243,13 @@ new_connection_cb (GDBusServer *server, + if (error != NULL) { + rb_debug ("unable to register metadata object: %s", error->message); + g_clear_error (&error); ++ return FALSE; + } else { + svc->connection = g_object_ref (connection); + g_signal_connect (connection, "closed", G_CALLBACK (connection_closed_cb), svc); + + g_dbus_connection_set_exit_on_close (connection, (svc->external == FALSE)); ++ return TRUE; + } + } + +-- +cgit v0.9.2 diff --git a/media-sound/rhythmbox/files/rhythmbox-3.0-rbzeitgeist-python3.patch b/media-sound/rhythmbox/files/rhythmbox-3.0-rbzeitgeist-python3.patch new file mode 100644 index 000000000000..4dd07d832ebe --- /dev/null +++ b/media-sound/rhythmbox/files/rhythmbox-3.0-rbzeitgeist-python3.patch @@ -0,0 +1,85 @@ +From 693b013c02d54522e54ad15e980b5f46539888ec Mon Sep 17 00:00:00 2001 +From: Nirbheek Chauhan <nirbheek.chauhan@collabora.co.uk> +Date: Sat, 14 Sep 2013 01:47:52 +0530 +Subject: [PATCH] plugins/rbzeitgeist: Port to Python3 + +--- + plugins/rbzeitgeist/rbzeitgeist.py | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +diff --git a/plugins/rbzeitgeist/rbzeitgeist.py b/plugins/rbzeitgeist/rbzeitgeist.py +index 984fd5b..a3a2630 100644 +--- a/plugins/rbzeitgeist/rbzeitgeist.py ++++ b/plugins/rbzeitgeist/rbzeitgeist.py +@@ -37,8 +37,8 @@ from zeitgeist.datamodel import Event, Subject, Interpretation, Manifestation + + try: + IFACE = ZeitgeistClient() +-except RuntimeError, e: +- print "Unable to connect to Zeitgeist, won't send events. Reason: '%s'" %e ++except RuntimeError as e: ++ print("Unable to connect to Zeitgeist, won't send events. Reason: '{0}'".format(e)) + IFACE = None + + class ZeitgeistPlugin(GObject.Object, Peas.Activatable): +@@ -46,12 +46,12 @@ class ZeitgeistPlugin(GObject.Object, Peas.Activatable): + object = GObject.property(type=GObject.Object) + + def __init__(self): +- GObject.Object.__init__(self) ++ GObject.Object.__init__(self) + + def do_activate(self): +- print "Loading Zeitgeist plugin..." ++ print("Loading Zeitgeist plugin...") + if IFACE is not None: +- shell = self.object ++ shell = self.object + shell_player = shell.props.shell_player + self.__psc_id = shell_player.connect("playing-song-changed", self.playing_song_changed) + +@@ -109,7 +109,7 @@ class ZeitgeistPlugin(GObject.Object, Peas.Activatable): + idle, it means there are no more signals scheduled, so we + will have already received the eos if it was coming. + """ +- shell = self.object ++ shell = self.object + db = shell.props.db + GLib.idle_add(self.send_to_zeitgeist, db, entry, event_type) + +@@ -131,16 +131,16 @@ class ZeitgeistPlugin(GObject.Object, Peas.Activatable): + + subject = Subject.new_for_values( + uri=song["location"], +- interpretation=unicode(Interpretation.AUDIO), +- manifestation=unicode(Manifestation.FILE_DATA_OBJECT), ++ interpretation=str(Interpretation.AUDIO), ++ manifestation=str(Manifestation.FILE_DATA_OBJECT), + origin=song["location"].rpartition("/")[0], + mimetype=uri_mimetype, + text=" - ".join([song["title"], song["artist"], song["album"]]) + ) + event = Event.new_for_values( + timestamp=int(time.time()*1000), +- interpretation=unicode(event_type), +- manifestation=unicode(manifest), ++ interpretation=str(event_type), ++ manifestation=str(manifest), + actor="application://rhythmbox.desktop", + subjects=[subject,] + ) +@@ -150,9 +150,9 @@ class ZeitgeistPlugin(GObject.Object, Peas.Activatable): + f.query_info_async(Gio.FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, Gio.FileQueryInfoFlags.NONE, GLib.PRIORITY_DEFAULT, None, file_info_complete, None) + + def do_deactivate(self): +- print "Deactivating Zeitgeist plugin..." ++ print("Deactivating Zeitgeist plugin...") + if IFACE is not None: +- shell = self.object ++ shell = self.object + shell_player = shell.props.shell_player + shell_player.disconnect(self.__psc_id) + self.__psc_id = None +-- +1.8.1.5 + diff --git a/media-sound/rhythmbox/rhythmbox-3.0.ebuild b/media-sound/rhythmbox/rhythmbox-3.0-r1.ebuild index 7aa798383f45..39e57d7517c1 100644 --- a/media-sound/rhythmbox/rhythmbox-3.0.ebuild +++ b/media-sound/rhythmbox/rhythmbox-3.0-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/rhythmbox/rhythmbox-3.0.ebuild,v 1.1 2013/09/13 09:16:13 nirbheek Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/rhythmbox/rhythmbox-3.0-r1.ebuild,v 1.1 2013/09/13 20:42:56 nirbheek Exp $ EAPI="4" GNOME2_LA_PUNT="yes" @@ -31,6 +31,8 @@ REQUIRED_USE=" # FIXME: double check what to do with fm-radio plugin # webkit-gtk-1.10 is needed because it uses gstreamer-1.0 +# +# To add support for libdmapsharing-2.9.19, use commit 92d75eaa from git COMMON_DEPEND=">=dev-libs/glib-2.34.0:2 dev-libs/json-glib >=dev-libs/libxml2-2.7.8:2 @@ -54,6 +56,7 @@ COMMON_DEPEND=">=dev-libs/glib-2.34.0:2 cdr? ( >=app-cdr/brasero-2.91.90 ) daap? ( >=net-libs/libdmapsharing-2.9.16:3.0 + <net-libs/libdmapsharing-2.9.19:3.0 media-plugins/gst-plugins-soup:1.0 ) libsecret? ( >=app-crypt/libsecret-0.14 ) html? ( >=net-libs/webkit-gtk-1.10:3 ) @@ -137,6 +140,13 @@ pkg_setup() { } src_prepare() { + # https://bugzilla.gnome.org/show_bug.cgi?id=706470 + # In git, remove for bump + epatch "${FILESDIR}/${P}-gdbus-return-value.patch" + + # https://bugzilla.gnome.org/show_bug.cgi?id=708044 + epatch "${FILESDIR}/${P}-rbzeitgeist-python3.patch" + gnome2_src_prepare echo > py-compile } |