From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 97A6E198005 for ; Sat, 2 Mar 2013 08:52:42 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 2C947E050C; Sat, 2 Mar 2013 08:52:42 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 9898CE0508 for ; Sat, 2 Mar 2013 08:52:41 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 9048733D8CC for ; Sat, 2 Mar 2013 08:52:40 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 268E7E4079 for ; Sat, 2 Mar 2013 08:52:39 +0000 (UTC) From: "Nirbheek Chauhan" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Nirbheek Chauhan" Message-ID: <1362214115.b24186650aab8d3ffa860ea3b9284cc711d5a7ae.nirbheek@gentoo> Subject: [gentoo-commits] proj/gnome:master commit in: media-sound/rhythmbox/, media-sound/rhythmbox/files/ X-VCS-Repository: proj/gnome X-VCS-Files: media-sound/rhythmbox/files/rhythmbox-port-magnatune-to-libsecret.patch media-sound/rhythmbox/files/rhythmbox-port-to-libsecret.patch media-sound/rhythmbox/rhythmbox-9999.ebuild X-VCS-Directories: media-sound/rhythmbox/ media-sound/rhythmbox/files/ X-VCS-Committer: nirbheek X-VCS-Committer-Name: Nirbheek Chauhan X-VCS-Revision: b24186650aab8d3ffa860ea3b9284cc711d5a7ae X-VCS-Branch: master Date: Sat, 2 Mar 2013 08:52:39 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: d8caa699-fb2f-405a-8428-b9d595fdc98f X-Archives-Hash: 011409364038e283b86b444fa6bc4246 commit: b24186650aab8d3ffa860ea3b9284cc711d5a7ae Author: Nirbheek Chauhan gentoo org> AuthorDate: Sat Mar 2 08:47:39 2013 +0000 Commit: Nirbheek Chauhan gentoo org> CommitDate: Sat Mar 2 08:48:35 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=b2418665 media-sound/rhythmbox: Update to latest git and add libsecret port --- .../rhythmbox-port-magnatune-to-libsecret.patch | 119 +++++++ .../files/rhythmbox-port-to-libsecret.patch | 355 ++++++++++++++++++++ media-sound/rhythmbox/rhythmbox-9999.ebuild | 15 +- 3 files changed, 483 insertions(+), 6 deletions(-) diff --git a/media-sound/rhythmbox/files/rhythmbox-port-magnatune-to-libsecret.patch b/media-sound/rhythmbox/files/rhythmbox-port-magnatune-to-libsecret.patch new file mode 100644 index 0000000..ddff723 --- /dev/null +++ b/media-sound/rhythmbox/files/rhythmbox-port-magnatune-to-libsecret.patch @@ -0,0 +1,119 @@ +From 937423f0cff334693a68bf9c9d13e3d477c7a969 Mon Sep 17 00:00:00 2001 +From: Nirbheek Chauhan +Date: Sat, 2 Mar 2013 14:09:26 +0530 +Subject: [PATCH 2/2] magnatune: Port to libsecret + +--- +diff --git a/plugins/magnatune/MagnatuneAccount.py b/plugins/magnatune/MagnatuneAccount.py +index f8cf81b..6fdc406 100644 +--- a/plugins/magnatune/MagnatuneAccount.py ++++ b/plugins/magnatune/MagnatuneAccount.py +@@ -1,4 +1,5 @@ + # -*- Mode: python; coding: utf-8; tab-width: 8; indent-tabs-mode: t; -*- ++# vim: set sts=0 ts=8 sw=8 tw=0 noet : + # + # Copyright (C) 2012 Jonathan Matthew + # +@@ -24,10 +25,17 @@ + # along with this program; if not, write to the Free Software + # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + +-from gi.repository import Gio, GnomeKeyring ++from gi.repository import Gio, Secret, SecretUnstable + + __instance = None + ++# We need to be able to fetch passwords stored by libgnome-keyring, so we use ++# a schema with SECRET_SCHEMA_DONT_MATCH_NAME set. ++# See: http://developer.gnome.org/libsecret/unstable/migrating-schemas.html ++MAGNATUNE_SCHEMA = Secret.Schema.new("org.gnome.rhythmbox.plugins.magnatune", ++ Secret.SchemaFlags.DONT_MATCH_NAME, ++ {"rhythmbox-plugin": Secret.SchemaAttributeType.STRING}) ++ + def instance(): + global __instance + if __instance is None: +@@ -36,54 +44,44 @@ def instance(): + + class MagnatuneAccount(object): + def __init__(self): +- self.keyring_item = None + self.settings = Gio.Settings("org.gnome.rhythmbox.plugins.magnatune") +- +- self.keyring_attributes = GnomeKeyring.attribute_list_new() +- GnomeKeyring.attribute_list_append_string(self.keyring_attributes, +- "rhythmbox-plugin", +- "magnatune") +- (result, items) = GnomeKeyring.find_items_sync(GnomeKeyring.ItemType.GENERIC_SECRET, +- self.keyring_attributes) +- if result == GnomeKeyring.Result.OK and len(items) != 0: +- (result, item) = GnomeKeyring.item_get_info_sync(None, items[0].item_id) +- if result == GnomeKeyring.Result.OK: +- self.keyring_item = item +- else: +- print "Couldn't get keyring item: " + GnomeKeyring.result_to_message(result) +- else: +- print "couldn't search keyring items: " + GnomeKeyring.result_to_message(result) ++ self.secret = None ++ self.keyring_attributes = {"rhythmbox-plugin": "magnatune"} ++ # Haha. ++ self.secret_service = SecretUnstable.Service.get_sync(SecretUnstable.ServiceFlags.OPEN_SESSION, None) ++ items = self.secret_service.search_sync(MAGNATUNE_SCHEMA, ++ self.keyring_attributes, ++ SecretUnstable.SearchFlags.LOAD_SECRETS, ++ None) ++ if not items: ++ # The Python API doesn't seem to have a way to differentiate between errors and no results. ++ print ("Couldn't find an existing keyring entry") ++ return ++ self.secret = items[0].get_secret().get() + + def get(self): +- if self.keyring_item is None: ++ if self.secret is None: + return ('none', None, None) + + account_type = self.settings['account-type'] + try: +- (username, password) = self.keyring_item.get_secret().split("\n") ++ (username, password) = self.secret.split("\n") + return (account_type, username, password) + except ValueError: + return ('none', None, None) + + def update(self, username, password): + secret = '\n'.join((username, password)) +- if self.keyring_item is not None: +- if secret == self.keyring_item.get_secret(): +- print "account details not changed" +- return ++ if secret == self.secret: ++ print "Account details not changed" ++ return + +- (result, id) = GnomeKeyring.item_create_sync(None, +- GnomeKeyring.ItemType.GENERIC_SECRET, +- "Rhythmbox: Magnatune account information", +- self.keyring_attributes, +- secret, +- True) +- if result == GnomeKeyring.Result.OK: +- if self.keyring_item is None: +- (result, item) = GnomeKeyring.item_get_info_sync(None, id) +- if result == GnomeKeyring.Result.OK: +- self.keyring_item = item +- else: +- print "couldn't fetch keyring itme: " + GnomeKeyring.result_to_message(result) ++ result = Secret.password_store_sync(MAGNATUNE_SCHEMA, ++ self.keyring_attributes, ++ Secret.COLLECTION_DEFAULT, ++ "Rhythmbox: Magnatune account information", ++ secret, None) ++ if not result: ++ print "Couldn't create keyring item!" + else: +- print "couldn't create keyring item: " + GnomeKeyring.result_to_message(result) ++ self.secret = secret +-- +1.7.12.4 + diff --git a/media-sound/rhythmbox/files/rhythmbox-port-to-libsecret.patch b/media-sound/rhythmbox/files/rhythmbox-port-to-libsecret.patch new file mode 100644 index 0000000..c9255a1 --- /dev/null +++ b/media-sound/rhythmbox/files/rhythmbox-port-to-libsecret.patch @@ -0,0 +1,355 @@ +From e7880e08bd2eb0b3ea59c8bdb049300712e38993 Mon Sep 17 00:00:00 2001 +From: Nirbheek Chauhan +Date: Wed, 23 Jan 2013 02:29:10 +0530 +Subject: [PATCH] Port audioscrobbler and daap plugins from gnome-keyring to + libsecret + +--- + configure.ac | 41 +++++------ + plugins/audioscrobbler/Makefile.am | 3 +- + .../rb-audioscrobbler-radio-source.c | 46 ++++++------ + plugins/daap/Makefile.am | 6 +- + plugins/daap/rb-daap-source.c | 82 ++++++++++------------ + 5 files changed, 90 insertions(+), 88 deletions(-) + +diff --git a/configure.ac b/configure.ac +index f739a19..6ff98d6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -223,26 +223,27 @@ fi + AM_CONDITIONAL(USE_MTP, test x"$use_mtp" = xyes) + + +-dnl gnome-keyring support +- +-AC_ARG_WITH(gnome-keyring, +- AC_HELP_STRING([--with-gnome-keyring], +- [Enable gnome-keyring support]),, +- with_gnome_keyring=auto) +-if test "x$with_gnome_keyring" != "xno"; then +- +- PKG_CHECK_MODULES(GNOME_KEYRING, gnome-keyring-1, have_gnome_keyring=yes, have_gnome_keyring=no) +- if test "x$have_gnome_keyring" = "xno" -a "x$with_gnome_keyring" = "xyes"; then +- AC_MSG_ERROR([gnome-keyring support explicitly requested but gnome-keyring couldn't be found]) ++dnl libsecret keyring support ++ ++AC_ARG_WITH(keyring, ++ AC_HELP_STRING([--with-keyring], ++ [Enable keyring support using libsecret]),, ++ with_keyring=auto) ++if test "x$with_keyring" != "xno"; then ++ ++ PKG_CHECK_MODULES(LIBSECRET, libsecret-1, have_keyring=yes, have_keyring=no) ++ if test "x$have_keyring" = "xno" -a "x$with_keyring" = "xyes"; then ++ AC_MSG_ERROR([keyring support explicitly requested but libsecret ++ could not be found]) + fi +- if test "x$have_gnome_keyring" = "xyes"; then +- AC_DEFINE(WITH_GNOME_KEYRING, 1, [Define if gnome-keyring support is enabled]) +- use_gnome_keyring=yes +- AC_SUBST(GNOME_KEYRING_CFLAGS) +- AC_SUBST(GNOME_KEYRING_LIBS) ++ if test "x$have_keyring" = "xyes"; then ++ AC_DEFINE(WITH_LIBSECRET, 1, [Define if keyring support is enabled]) ++ use_keyring=yes ++ AC_SUBST(LIBSECRET_CFLAGS) ++ AC_SUBST(LIBSECRET_LIBS) + fi + fi +-AM_CONDITIONAL(USE_GNOME_KEYRING, test x"$use_gnome_keyring" = xyes) ++AM_CONDITIONAL(USE_LIBSECRET, test x"$use_keyring" = xyes) + + dnl Database + AC_ARG_WITH(database, +@@ -919,10 +920,10 @@ if test x"$with_vala" = xyes; then + else + AC_MSG_NOTICE([ Vala plugin support disabled]) + fi +-if test x"$use_gnome_keyring" = xyes; then +- AC_MSG_NOTICE([** gnome-keyring support enabled]) ++if test x"$use_keyring" = xyes; then ++ AC_MSG_NOTICE([** Libsecret keyring support enabled]) + else +- AC_MSG_NOTICE([ gnome-keyring support disabled]) ++ AC_MSG_NOTICE([ Libsecret keyring support disabled]) + fi + if test "x$enable_fm_radio" != xno; then + AC_MSG_NOTICE([** FM radio support enabled]) +diff --git a/plugins/audioscrobbler/Makefile.am b/plugins/audioscrobbler/Makefile.am +index 913a6b3..c139a34 100644 +--- a/plugins/audioscrobbler/Makefile.am ++++ b/plugins/audioscrobbler/Makefile.am +@@ -31,6 +31,7 @@ libaudioscrobbler_la_LIBADD = \ + $(top_builddir)/shell/librhythmbox-core.la \ + $(TOTEM_PLPARSER_LIBS) \ + $(JSON_GLIB_LIBS) \ ++ $(LIBSECRET_LIBS) \ + $(RHYTHMBOX_LIBS) + + INCLUDES = \ +@@ -53,7 +54,7 @@ INCLUDES = \ + $(TOTEM_PLPARSER_CFLAGS) \ + $(JSON_GLIB_CFLAGS) \ + $(RHYTHMBOX_CFLAGS) \ +- $(GNOME_KEYRING_CFLAGS) \ ++ $(LIBSECRET_CFLAGS) \ + -D_BSD_SOURCE + + gtkbuilderdir = $(plugindatadir) +diff --git a/plugins/audioscrobbler/rb-audioscrobbler-radio-source.c b/plugins/audioscrobbler/rb-audioscrobbler-radio-source.c +index 6f5f3cf..9735537 100644 +--- a/plugins/audioscrobbler/rb-audioscrobbler-radio-source.c ++++ b/plugins/audioscrobbler/rb-audioscrobbler-radio-source.c +@@ -35,8 +35,8 @@ + #include + #include + +-#ifdef WITH_GNOME_KEYRING +-#include ++#ifdef WITH_LIBSECRET ++#include + #endif + + #include +@@ -1054,28 +1054,33 @@ old_api_shake_hands (RBAudioscrobblerRadioSource *source) + g_free (password_hash); + g_free (msg_url); + } else { +-#ifdef WITH_GNOME_KEYRING +- GnomeKeyringResult result; ++#ifdef WITH_LIBSECRET + char *password; ++ GError *error = NULL; + + rb_debug ("attempting to retrieve password from keyring"); +- result = gnome_keyring_find_password_sync (GNOME_KEYRING_NETWORK_PASSWORD, +- &password, +- "user", source->priv->username, +- "server", rb_audioscrobbler_service_get_name (source->priv->service), +- NULL); ++ password = secret_password_lookup_sync (SECRET_SCHEMA_COMPAT_NETWORK, ++ NULL, &error, ++ "user", source->priv->username, ++ "server", rb_audioscrobbler_service_get_name (source->priv->service), ++ NULL); + +- if (result == GNOME_KEYRING_RESULT_OK) { ++ if (password) { + source->priv->old_api_password = g_strdup (password); + rb_debug ("password found. shaking hands"); + old_api_shake_hands (source); + } else { +- rb_debug ("no password found"); ++ if (error) { ++ rb_debug ("unable to lookup password: %s", error->message); ++ g_error_free (error); ++ } else { ++ rb_debug ("no password found"); ++ } + #endif + rb_debug ("cannot shake hands. asking user for password"); + display_password_info_bar (source); + source->priv->is_busy = FALSE; +-#ifdef WITH_GNOME_KEYRING ++#ifdef WITH_LIBSECRET + } + #endif + } +@@ -1277,7 +1282,7 @@ password_info_bar_response_cb (GtkInfoBar *info_bar, + g_free (source->priv->old_api_password); + source->priv->old_api_password = g_strdup (gtk_entry_get_text (GTK_ENTRY (source->priv->password_info_bar_entry))); + +-#ifdef WITH_GNOME_KEYRING ++#ifdef WITH_LIBSECRET + /* save the new password */ + char *password_desc; + +@@ -1285,13 +1290,14 @@ password_info_bar_response_cb (GtkInfoBar *info_bar, + rb_audioscrobbler_service_get_name (source->priv->service)); + + rb_debug ("saving password to keyring"); +- gnome_keyring_store_password_sync (GNOME_KEYRING_NETWORK_PASSWORD, +- GNOME_KEYRING_DEFAULT, +- password_desc, +- source->priv->old_api_password, +- "user", source->priv->username, +- "server", rb_audioscrobbler_service_get_name (source->priv->service), +- NULL); ++ secret_password_store_sync (SECRET_SCHEMA_COMPAT_NETWORK, ++ NULL, ++ password_desc, ++ source->priv->old_api_password, ++ NULL, NULL, ++ "user", source->priv->username, ++ "server", rb_audioscrobbler_service_get_name (source->priv->service), ++ NULL); + + g_free (password_desc); + #endif +diff --git a/plugins/daap/Makefile.am b/plugins/daap/Makefile.am +index b950bef..f4bb907 100644 +--- a/plugins/daap/Makefile.am ++++ b/plugins/daap/Makefile.am +@@ -63,9 +63,9 @@ INCLUDES = \ + $(RHYTHMBOX_CFLAGS) \ + -D_BSD_SOURCE + +-if USE_GNOME_KEYRING +-libdaap_la_LIBADD += $(GNOME_KEYRING_LIBS) +-INCLUDES += $(GNOME_KEYRING_CFLAGS) ++if USE_LIBSECRET ++libdaap_la_LIBADD += $(LIBSECRET_LIBS) ++INCLUDES += $(LIBSECRET_CFLAGS) + endif + + gtkbuilderdir = $(plugindatadir) +diff --git a/plugins/daap/rb-daap-source.c b/plugins/daap/rb-daap-source.c +index fb034f9..75e0dc4 100644 +--- a/plugins/daap/rb-daap-source.c ++++ b/plugins/daap/rb-daap-source.c +@@ -35,8 +35,8 @@ + #include + #include + +-#ifdef WITH_GNOME_KEYRING +-#include ++#ifdef WITH_LIBSECRET ++#include + #endif + + #include "rhythmdb.h" +@@ -394,31 +394,36 @@ mount_op_reply_cb (GMountOperation *op, + AuthData *auth_data) + { + const char *password; +- gchar *keyring; +-#ifdef WITH_GNOME_KEYRING +- guint32 item_id; ++#ifdef WITH_LIBSECRET ++ gchar *label; ++ gchar *collection = NULL; + #endif + + rb_debug ("mount op reply: %d", result); + password = g_mount_operation_get_password (op); + +-#ifdef WITH_GNOME_KEYRING ++#ifdef WITH_LIBSECRET + switch (g_mount_operation_get_password_save (op)) { + case G_PASSWORD_SAVE_NEVER: + break; + + case G_PASSWORD_SAVE_FOR_SESSION: +- keyring = "session"; ++ collection = SECRET_COLLECTION_SESSION; + /* fall through */ + + case G_PASSWORD_SAVE_PERMANENTLY: +- gnome_keyring_set_network_password_sync (keyring, +- NULL, +- "DAAP", auth_data->name, +- NULL, "daap", +- NULL, 0, ++ label = g_strdup_printf ("Rhythmbox DAAP password for %s", auth_data->name); ++ secret_password_store_sync (SECRET_SCHEMA_COMPAT_NETWORK, ++ collection, ++ label, + password, +- &item_id); ++ NULL, ++ NULL, ++ "domain", "DAAP", ++ "server", auth_data->name, ++ "protocol", "daap", ++ NULL); ++ g_free (label); + break; + + default: +@@ -443,7 +448,11 @@ mount_op_reply_cb (GMountOperation *op, + } + + static void +-ask_password (RBDAAPSource *source, const char *name, const char *keyring, SoupSession *session, SoupMessage *msg, SoupAuth *auth) ++ask_password (RBDAAPSource *source, ++ const char *name, ++ SoupSession *session, ++ SoupMessage *msg, ++ SoupAuth *auth) + { + GtkWindow *parent; + GMountOperation *mount_op; +@@ -465,10 +474,8 @@ ask_password (RBDAAPSource *source, const char *name, const char *keyring, SoupS + g_signal_connect (mount_op, "reply", G_CALLBACK (mount_op_reply_cb), auth_data); + + flags = G_ASK_PASSWORD_NEED_PASSWORD; +-#ifdef WITH_GNOME_KEYRING +- if (gnome_keyring_is_available ()) { +- flags |= G_ASK_PASSWORD_SAVING_SUPPORTED; +- } ++#ifdef WITH_LIBSECRET ++ flags |= G_ASK_PASSWORD_SAVING_SUPPORTED; + #endif + message = g_strdup_printf (_("The music share '%s' requires a password to connect"), name); + g_signal_emit_by_name (mount_op, "ask-password", message, NULL, "DAAP", flags); +@@ -485,44 +492,31 @@ connection_auth_cb (DMAPConnection *connection, + RBDAAPSource *source) + { + gchar *password = NULL; +-#ifdef WITH_GNOME_KEYRING +- GnomeKeyringResult keyringret; +- gchar *keyring; +- GList *list = NULL; ++#ifdef WITH_LIBSECRET ++ GError *error = NULL; + +- keyring = NULL; + if (!source->priv->tried_password) { +- gnome_keyring_get_default_keyring_sync (&keyring); +- keyringret = gnome_keyring_find_network_password_sync ( +- NULL, +- "DAAP", name, +- NULL, "daap", +- NULL, 0, &list); +- } else { +- keyringret = GNOME_KEYRING_RESULT_CANCELLED; ++ password = secret_password_lookup_sync (SECRET_SCHEMA_COMPAT_NETWORK, ++ NULL, &error, ++ "domain", "DAAP", ++ "server", name, ++ "protocol", "daap", ++ NULL); + } + +- if (keyringret == GNOME_KEYRING_RESULT_OK) { +- GnomeKeyringNetworkPasswordData *pwd_data; +- +- if (list != NULL) { +- pwd_data = (GnomeKeyringNetworkPasswordData*)list->data; +- password = g_strdup (pwd_data->password); +- } ++ if (!error) + source->priv->tried_password = TRUE; +- } ++ else ++ g_error_free (error); + + if (password == NULL) { +- ask_password (source, name, keyring, session, msg, auth); ++ ask_password (source, name, session, msg, auth); + } else { + dmap_connection_authenticate_message (connection, session, msg, auth, password); + } + +- if (list) +- gnome_keyring_network_password_list_free (list); +- g_free (keyring); + #else +- ask_password (source, name, NULL, session, msg, auth); ++ ask_password (source, name, session, msg, auth); + #endif + } + +-- +1.7.12.4 + diff --git a/media-sound/rhythmbox/rhythmbox-9999.ebuild b/media-sound/rhythmbox/rhythmbox-9999.ebuild index 03d4b2f..ecb64c2 100644 --- a/media-sound/rhythmbox/rhythmbox-9999.ebuild +++ b/media-sound/rhythmbox/rhythmbox-9999.ebuild @@ -18,8 +18,8 @@ HOMEPAGE="http://www.rhythmbox.org/" LICENSE="GPL-2" SLOT="0" -IUSE="cdr daap dbus doc gnome-keyring html ipod libnotify lirc mtp nsplugin -+python test +udev upnp-av visualizer webkit zeitgeist" +IUSE="cdr daap dbus doc keyring html ipod libnotify lirc mtp nsplugin +python +test +udev upnp-av visualizer webkit zeitgeist" if [[ ${PV} = 9999 ]]; then KEYWORDS="" else @@ -36,7 +36,7 @@ REQUIRED_USE=" COMMON_DEPEND=">=dev-libs/glib-2.32.0:2 dev-libs/json-glib >=dev-libs/libxml2-2.7.8:2 - >=x11-libs/gtk+-3.4:3[introspection] + >=x11-libs/gtk+-3.6:3[introspection] >=x11-libs/gdk-pixbuf-2.18.0:2 >=dev-libs/gobject-introspection-0.10.0 >=dev-libs/libpeas-0.7.3[gtk,python?] @@ -58,7 +58,7 @@ COMMON_DEPEND=">=dev-libs/glib-2.32.0:2 >=net-libs/libdmapsharing-2.9.16:3.0 >=net-dns/avahi-0.6 media-plugins/gst-plugins-soup:1.0 ) - gnome-keyring? ( >=gnome-base/gnome-keyring-0.4.9 ) + keyring? ( app-crypt/libsecret ) html? ( >=net-libs/webkit-gtk-1.3.9:3 ) libnotify? ( >=x11-libs/libnotify-0.7.0 ) lirc? ( app-misc/lirc ) @@ -87,7 +87,7 @@ RDEPEND="${COMMON_DEPEND} x11-libs/pango[introspection] dbus? ( sys-apps/dbus ) - gnome-keyring? ( gnome-base/libgnome-keyring[introspection] ) + keyring? ( >=app-crypt/libsecret-0.13[introspection] ) webkit? ( dev-python/mako >=net-libs/webkit-gtk-1.3.9:3[introspection] ) ) @@ -130,7 +130,7 @@ pkg_setup() { $(use_enable upnp-av grilo) $(use_with cdr brasero) $(use_with daap mdns avahi) - $(use_with gnome-keyring) + $(use_with keyring) $(use_with html webkit) $(use_with ipod) $(use_with mtp) @@ -141,6 +141,9 @@ pkg_setup() { src_prepare() { gnome2_src_prepare + # https://bugzilla.gnome.org/show_bug.cgi?id=694981 + epatch "${FILESDIR}/${PN}-port-to-libsecret.patch" + epatch "${FILESDIR}/${PN}-port-magnatune-to-libsecret.patch" echo > py-compile }