From dd589f24e365fb8f43d79a92015606515822caa2 Mon Sep 17 00:00:00 2001 From: Automatic Build System Date: Fri, 5 Jan 2024 17:25:47 +0100 Subject: [PATCH] automatic version update by autodist [release 3.0.2-1mamba;Sun Mar 23 2014] --- ...oad-AFC-devices-using-the-MTP-plugin.patch | 32 ++ README.md | 11 + rhythmbox-0.12.1-out-of-sync-assert.patch | 106 ++++ rhythmbox-0.12.6-no-HEAD-for-podcasts.patch | 275 ++++++++++ rhythmbox-stock_music-library.png | Bin 0 -> 57093 bytes rhythmbox.png | Bin 0 -> 2016 bytes rhythmbox.spec | 516 ++++++++++++++++++ 7 files changed, 940 insertions(+) create mode 100644 0001-Don-t-load-AFC-devices-using-the-MTP-plugin.patch create mode 100644 rhythmbox-0.12.1-out-of-sync-assert.patch create mode 100644 rhythmbox-0.12.6-no-HEAD-for-podcasts.patch create mode 100644 rhythmbox-stock_music-library.png create mode 100644 rhythmbox.png create mode 100644 rhythmbox.spec diff --git a/0001-Don-t-load-AFC-devices-using-the-MTP-plugin.patch b/0001-Don-t-load-AFC-devices-using-the-MTP-plugin.patch new file mode 100644 index 0000000..110e003 --- /dev/null +++ b/0001-Don-t-load-AFC-devices-using-the-MTP-plugin.patch @@ -0,0 +1,32 @@ +From d5ca371eb5b7ebf9f008fec7d905f53b9f4e16c3 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Mon, 22 Mar 2010 16:42:10 +0000 +Subject: [PATCH] Don't load AFC devices using the MTP plugin + +They should be handled by the iPod plugin instead. + +https://bugzilla.gnome.org/show_bug.cgi?id=613606 +--- + plugins/mtpdevice/rb-mtp-plugin.c | 6 ++++++ + 1 files changed, 6 insertions(+), 0 deletions(-) + +diff --git a/plugins/mtpdevice/rb-mtp-plugin.c b/plugins/mtpdevice/rb-mtp-plugin.c +index fdb9df8..43a4b15 100644 +--- a/plugins/mtpdevice/rb-mtp-plugin.c ++++ b/plugins/mtpdevice/rb-mtp-plugin.c +@@ -343,6 +343,12 @@ create_source_device_cb (RBRemovableMediaManager *rmm, GObject *device_obj, RBMt + return NULL; + } + ++ /* check that it's not an iPhone or iPod Touch */ ++ if (g_udev_device_get_property_as_boolean (device, "USBMUX_SUPPORTED")) { ++ rb_debug ("device %s is supported through AFC, ignore", g_udev_device_get_name (device)); ++ return NULL; ++ } ++ + device_number = g_udev_device_get_device_number (device); + if (device_number == 0) { + rb_debug ("can't get udev device number for device %s", g_udev_device_get_name (device)); +-- +1.7.0.1 + diff --git a/README.md b/README.md index 42e621d..97312c0 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,13 @@ # rhythmbox +Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework. + +Rhythmbox has a number of features, including: +* Easy to use music browser +* Searching and sorting +* Comprehensive audio format support through GStreamer +* Internet Radio support +* Playlists +* Preliminary iPod support +* CD burning (CVS) + diff --git a/rhythmbox-0.12.1-out-of-sync-assert.patch b/rhythmbox-0.12.1-out-of-sync-assert.patch new file mode 100644 index 0000000..f5c1dad --- /dev/null +++ b/rhythmbox-0.12.1-out-of-sync-assert.patch @@ -0,0 +1,106 @@ +From 754a72759885d63275b1a656d8c6f3f7c29c7e9d Mon Sep 17 00:00:00 2001 +From: Jonathan Matthew +Date: Mon, 15 Mar 2010 12:47:22 +0000 +Subject: rhythmdb: merge change lists from subsequent commits (bug #527898) + +When a second commit occurs before the changes from the first are +emitted (in an idle handler), and both commits contain changes to the +same entry, we need to combine the changes in the change map used to +prepare for signal emission. + +Previously, the changes from the first commit were being overwritten, +with the result that property models could get out of sync with the +entries in the backing model, which would eventually lead to an +assertion failure when trying to update the property model. +--- +diff --git a/rhythmdb/rhythmdb.c b/rhythmdb/rhythmdb.c +index 1b6f120..d459a66 100644 +diff -upr rhythmbox-0.12.6.old/rhythmdb/rhythmdb.c rhythmbox-0.12.6/rhythmdb/rhythmdb.c +--- rhythmbox-0.12.6.old/rhythmdb/rhythmdb.c 2009-11-21 00:31:38.000000000 +0000 ++++ rhythmbox-0.12.6/rhythmdb/rhythmdb.c 2010-03-15 13:32:37.000000000 +0000 +@@ -1398,6 +1398,7 @@ process_changed_entries_cb (RhythmDBEntr + GSList *changes, + RhythmDB *db) + { ++ GSList *existing; + if (db->priv->changed_entries_to_emit == NULL) { + db->priv->changed_entries_to_emit = g_hash_table_new_full (NULL, + NULL, +@@ -1405,7 +1406,22 @@ process_changed_entries_cb (RhythmDBEntr + (GDestroyNotify) free_entry_changes); + } + +- g_hash_table_insert (db->priv->changed_entries_to_emit, rhythmdb_entry_ref (entry), changes); ++ /* if the entry is already in the change map from a previous commit, add the ++ * new changes to the end of the existing list. ++ */ ++ existing = g_hash_table_lookup (db->priv->changed_entries_to_emit, entry); ++ if (existing != NULL) { ++ changes = g_slist_concat (existing, changes); ++ ++ /* steal the hash entry so it doesn't free the changes; also means we ++ * don't need to add a reference on the entry. ++ */ ++ g_hash_table_steal (db->priv->changed_entries_to_emit, entry); ++ } else { ++ rhythmdb_entry_ref (entry); ++ } ++ ++ g_hash_table_insert (db->priv->changed_entries_to_emit, entry, changes); + return TRUE; + } + +diff -upr rhythmbox-0.12.6.old/tests/test-rhythmdb.c rhythmbox-0.12.6/tests/test-rhythmdb.c +--- rhythmbox-0.12.6.old/tests/test-rhythmdb.c 2009-11-15 00:54:49.000000000 +0000 ++++ rhythmbox-0.12.6/tests/test-rhythmdb.c 2010-03-15 13:32:37.000000000 +0000 +@@ -471,6 +471,42 @@ START_TEST (test_rhythmdb_modify_after_d + } + END_TEST + ++static void ++commit_change_merge_cb (RhythmDB *db, RhythmDBEntry *entry, GSList *changes, gpointer ok) ++{ ++ int expected = GPOINTER_TO_INT (ok); ++ fail_unless (g_slist_length (changes) == expected, "commit change lists merged"); ++} ++ ++START_TEST (test_rhythmdb_commit_change_merging) ++{ ++ RhythmDBEntry *entry; ++ GValue val = {0,}; ++ ++ entry = rhythmdb_entry_new (db, RHYTHMDB_ENTRY_TYPE_IGNORE, "file:///whee.ogg"); ++ fail_unless (entry != NULL, "failed to create entry"); ++ ++ rhythmdb_commit (db); ++ ++ g_value_init (&val, G_TYPE_STRING); ++ g_value_set_static_string (&val, "Anything"); ++ rhythmdb_entry_set (db, entry, RHYTHMDB_PROP_GENRE, &val); ++ g_value_unset (&val); ++ ++ rhythmdb_commit (db); ++ ++ g_value_init (&val, G_TYPE_STRING); ++ g_value_set_static_string (&val, "Nothing"); ++ rhythmdb_entry_set (db, entry, RHYTHMDB_PROP_ARTIST, &val); ++ g_value_unset (&val); ++ ++ g_signal_connect (G_OBJECT (db), "entry-changed", G_CALLBACK (commit_change_merge_cb), GINT_TO_POINTER (2)); ++ set_waiting_signal (G_OBJECT (db), "entry-changed"); ++ rhythmdb_commit (db); ++ wait_for_signal (); ++} ++END_TEST ++ + static Suite * + rhythmdb_suite (void) + { +@@ -500,6 +536,7 @@ rhythmdb_suite (void) + /* tests for breakable bug fixes */ + tcase_add_test (tc_chain, test_rhythmdb_podcast_upgrade); + tcase_add_test (tc_chain, test_rhythmdb_modify_after_delete); ++ tcase_add_test (tc_chain, test_rhythmdb_commit_change_merging); + + return s; + } diff --git a/rhythmbox-0.12.6-no-HEAD-for-podcasts.patch b/rhythmbox-0.12.6-no-HEAD-for-podcasts.patch new file mode 100644 index 0000000..4ee3d76 --- /dev/null +++ b/rhythmbox-0.12.6-no-HEAD-for-podcasts.patch @@ -0,0 +1,275 @@ +From a3a69d76e25358fc05c99e57041fa1485486345f Mon Sep 17 00:00:00 2001 +From: Robert Ancell +Date: Thu, 15 Oct 2009 16:28:32 +1100 +Subject: [PATCH] Support using g_file_input_stream_query_info() to get file information for podcasts. This means only one connection to the server is required instead of two when using g_file_query_info() + +--- + podcast/rb-podcast-manager.c | 149 ++++++++++++++++++++++++++---------------- + 1 files changed, 92 insertions(+), 57 deletions(-) + +diff --git a/podcast/rb-podcast-manager.c b/podcast/rb-podcast-manager.c +index eb6c821..bc1695b 100644 +--- a/podcast/rb-podcast-manager.c ++++ b/podcast/rb-podcast-manager.c +@@ -153,9 +153,14 @@ static void rb_podcast_manager_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); ++static void read_file_cb (GFile *source, ++ GAsyncResult *result, ++ RBPodcastManagerInfo *data); + static void download_file_info_cb (GFile *source, + GAsyncResult *result, + RBPodcastManagerInfo *data); ++static void download_podcast (GFileInfo *src_info, ++ RBPodcastManagerInfo *data); + static void rb_podcast_manager_abort_download (RBPodcastManagerInfo *data); + static gboolean rb_podcast_manager_sync_head_cb (gpointer data); + static gboolean rb_podcast_manager_head_query_cb (GtkTreeModel *query_model, +@@ -618,7 +623,7 @@ rb_podcast_manager_head_query_cb (GtkTreeModel *query_model, + } + + static void +-download_error (RBPodcastManagerInfo *data, GError *error) ++download_error (RBPodcastManagerInfo *data, GError *error, gboolean in_thread) + { + GValue val = {0,}; + rb_debug ("error downloading %s: %s", +@@ -636,7 +641,12 @@ download_error (RBPodcastManagerInfo *data, GError *error) + g_value_unset (&val); + + rhythmdb_commit (data->pd->priv->db); +- g_idle_add ((GSourceFunc)end_job, data); ++ ++ if (in_thread) { ++ g_idle_add ((GSourceFunc)end_job, data); ++ } else { ++ rb_podcast_manager_abort_download (data); ++ } + } + + static gboolean +@@ -645,7 +655,6 @@ rb_podcast_manager_next_file (RBPodcastManager * pd) + const char *location; + RBPodcastManagerInfo *data; + char *query_string; +- const char *attrs; + GList *d; + + g_assert (rb_is_main_thread ()); +@@ -689,69 +698,103 @@ rb_podcast_manager_next_file (RBPodcastManager * pd) + + data->source = g_file_new_for_uri (location); + +- attrs = G_FILE_ATTRIBUTE_STANDARD_SIZE "," +- G_FILE_ATTRIBUTE_STANDARD_COPY_NAME "," +- G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME; +- g_file_query_info_async (data->source, +- attrs, +- G_FILE_QUERY_INFO_NONE, +- 0, +- data->cancel, +- (GAsyncReadyCallback) download_file_info_cb, +- data); ++ g_file_read_async (data->source, ++ 0, ++ data->cancel, ++ (GAsyncReadyCallback) read_file_cb, ++ data); + + GDK_THREADS_LEAVE (); + return FALSE; + } + + static void +-download_file_info_cb (GFile *source, +- GAsyncResult *result, +- RBPodcastManagerInfo *data) ++read_file_cb (GFile *source, ++ GAsyncResult *result, ++ RBPodcastManagerInfo *data) + { + GError *error = NULL; + GFileInfo *src_info; +- char *local_file_name = NULL; +- char *feed_folder; +- char *esc_local_file_name; +- char *local_file_uri; +- char *sane_local_file_uri; +- char *conf_dir_uri; + + g_assert (rb_is_main_thread ()); + +- rb_debug ("got file info results for %s", ++ rb_debug ("started read for %s", + get_remote_location (data->entry)); + +- src_info = g_file_query_info_finish (source, result, &error); +- +- /* ignore G_IO_ERROR_FAILED here, as it probably just means that the server is lame. +- * actual problems (not found, permission denied, etc.) have specific errors codes, +- * so they'll still be reported. ++ data->in_stream = g_file_read_finish (data->source, ++ result, ++ &error); ++ if (error != NULL) { ++ download_error (data, error, FALSE); ++ g_error_free (error); ++ return; ++ } ++ ++ src_info = g_file_input_stream_query_info (data->in_stream, ++ G_FILE_ATTRIBUTE_STANDARD_SIZE "," ++ G_FILE_ATTRIBUTE_STANDARD_COPY_NAME "," ++ G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME, ++ NULL, ++ &error); ++ ++ /* If no stream information then probably using an old version of gvfs, fall back ++ * to getting the stream information from the GFile. ++ * This branch can be removed when this version of gvfs is released, see: ++ * https://bugzilla.gnome.org/show_bug.cgi?id=598505 + */ +- if (error != NULL && g_error_matches (error, G_IO_ERROR, G_IO_ERROR_FAILED) == FALSE) { +- GValue val = {0,}; ++ if (error != NULL) { ++ rb_debug ("file info query from input failed, trying query on file: %s", error->message); ++ g_error_free (error); + +- rb_debug ("file info query failed: %s", error->message); ++ g_file_query_info_async (data->source, ++ G_FILE_ATTRIBUTE_STANDARD_SIZE "," ++ G_FILE_ATTRIBUTE_STANDARD_COPY_NAME "," ++ G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME, ++ G_FILE_QUERY_INFO_NONE, ++ 0, ++ data->cancel, ++ (GAsyncReadyCallback) download_file_info_cb, ++ data); ++ return; ++ } + +- g_value_init (&val, G_TYPE_ULONG); +- g_value_set_ulong (&val, RHYTHMDB_PODCAST_STATUS_ERROR); +- rhythmdb_entry_set (data->pd->priv->db, data->entry, RHYTHMDB_PROP_STATUS, &val); +- g_value_unset (&val); ++ rb_debug ("got file info results for %s", ++ get_remote_location (data->entry)); + +- g_value_init (&val, G_TYPE_STRING); +- g_value_set_string (&val, error->message); +- rhythmdb_entry_set (data->pd->priv->db, data->entry, RHYTHMDB_PROP_PLAYBACK_ERROR, &val); +- g_value_unset (&val); ++ download_podcast (src_info, data); ++} + +- rhythmdb_commit (data->pd->priv->db); ++static void ++download_file_info_cb (GFile *source, ++ GAsyncResult *result, ++ RBPodcastManagerInfo *data) ++{ ++ GError *error = NULL; ++ GFileInfo *src_info; ++ ++ src_info = g_file_query_info_finish (source, result, &error); + ++ if (error != NULL) { ++ download_error (data, error, FALSE); + g_error_free (error); +- rb_podcast_manager_abort_download (data); +- return; + } else { +- g_clear_error (&error); ++ rb_debug ("got file info results for %s", ++ get_remote_location (data->entry)); ++ ++ download_podcast (src_info, data); + } ++} ++ ++static void ++download_podcast (GFileInfo *src_info, RBPodcastManagerInfo *data) ++{ ++ GError *error = NULL; ++ char *local_file_name = NULL; ++ char *feed_folder; ++ char *esc_local_file_name; ++ char *local_file_uri; ++ char *sane_local_file_uri; ++ char *conf_dir_uri; + + if (src_info != NULL) { + data->download_size = g_file_info_get_attribute_uint64 (src_info, G_FILE_ATTRIBUTE_STANDARD_SIZE); +@@ -769,7 +812,7 @@ download_file_info_cb (GFile *source, + + if (local_file_name == NULL) { + /* fall back to the basename from the original URI */ +- local_file_name = g_file_get_basename (source); ++ local_file_name = g_file_get_basename (data->source); + rb_debug ("didn't get a filename from the file info request; using basename %s", local_file_name); + } + +@@ -819,7 +862,6 @@ download_file_info_cb (GFile *source, + return; + } + +- + data->destination = g_file_new_for_uri (sane_local_file_uri); + if (g_file_query_exists (data->destination, NULL)) { + GFileInfo *dest_info; +@@ -892,7 +934,7 @@ download_file_info_cb (GFile *source, + TRUE, + &error); + if (error != NULL) { +- download_error (data, error); ++ download_error (data, error, TRUE); + g_error_free (error); + } + } +@@ -1407,14 +1449,6 @@ podcast_download_thread (RBPodcastManagerInfo *data) + gssize n_read; + gssize n_written; + guint64 downloaded; +- +- /* open remote file */ +- data->in_stream = g_file_read (data->source, data->cancel, &error); +- if (error != NULL) { +- download_error (data, error); +- g_error_free (error); +- return NULL; +- } + + /* if we have an offset to download from, try the seek + * before anything else. if we can't seek, we'll have to +@@ -1443,7 +1477,7 @@ podcast_download_thread (RBPodcastManagerInfo *data) + } + } + if (error != NULL) { +- download_error (data, error); ++ download_error (data, error, TRUE); + g_error_free (error); + return NULL; + } +@@ -1491,7 +1525,7 @@ podcast_download_thread (RBPodcastManagerInfo *data) + data->cancel, + &error); + if (error != NULL) { +- download_error (data, error); ++ download_error (data, error, TRUE); + g_error_free (error); + return NULL; + } +@@ -1535,7 +1569,8 @@ podcast_download_thread (RBPodcastManagerInfo *data) + g_object_unref (data->out_stream); + + if (error != NULL) { +- download_error (data, error); ++ download_error (data, error, TRUE); ++ g_error_free (error); + } else { + download_progress (data, downloaded, data->download_size, TRUE); + } +-- +1.6.3.3 + diff --git a/rhythmbox-stock_music-library.png b/rhythmbox-stock_music-library.png new file mode 100644 index 0000000000000000000000000000000000000000..347f89626ef4eeecb023f57194e0ab4f13c4d719 GIT binary patch literal 57093 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�T;<6$u$lXa+GlWpd-vgDEQcNg_0#Y1 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 +URL: http://projects.gnome.org/rhythmbox/ +Source0: http://ftp.acc.umu.se/pub/GNOME/sources/rhythmbox/%{majver}/rhythmbox-%{version}.tar.xz +# http://bugzilla.gnome.org/show_bug.cgi?id=524079 +Source1: rhythmbox.png +Source2: rhythmbox-stock_music-library.png +# https://bugzilla.gnome.org/show_bug.cgi?id=596615 +Patch0: rhythmbox-0.12.6-no-HEAD-for-podcasts.patch +# https://bugzilla.gnome.org/show_bug.cgi?id=527898 +Patch1: rhythmbox-0.12.1-out-of-sync-assert.patch +# https://bugzilla.gnome.org/show_bug.cgi?id=613606 +Patch2: 0001-Don-t-load-AFC-devices-using-the-MTP-plugin.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: GConf-devel +BuildRequires: glibc-devel +BuildRequires: gst-plugins-bad-devel +BuildRequires: gst-plugins-base +BuildRequires: gst-plugins-good-devel +BuildRequires: gst-plugins-ugly-devel +BuildRequires: python-gst-devel +BuildRequires: libatk-devel +BuildRequires: libaudiofile-devel +BuildRequires: libavahi-devel +#BuildRequires: libbrasero-devel +BuildRequires: libcairo-devel +BuildRequires: libcddb-devel +BuildRequires: libdbus-devel >= 1.1.20 +BuildRequires: libdbus-glib-devel >= 0.76 +BuildRequires: libdiscid-devel +BuildRequires: libe2fs-devel +BuildRequires: libesound-devel +BuildRequires: libexpat-devel +BuildRequires: libfontconfig-devel +BuildRequires: libfreetype-devel +BuildRequires: libgcc +BuildRequires: libgcrypt-devel +BuildRequires: libglade-devel +BuildRequires: libglib-devel +BuildRequires: libglitz-devel +BuildRequires: libgnome-devel +BuildRequires: libgnome-keyring-devel +BuildRequires: libgnome-vfs-devel +BuildRequires: libgnutls-devel +BuildRequires: libgpg-error-devel +BuildRequires: libgpod-devel +BuildRequires: libgst-plugins-base-devel +BuildRequires: libgstreamer-devel +BuildRequires: libgtk-devel +BuildRequires: libICE-devel +BuildRequires: libmtp-devel +BuildRequires: libmusicbrainz-devel +BuildRequires: libneon-devel +BuildRequires: libnotify-devel +BuildRequires: libopenssl-devel +BuildRequires: libpango-devel +BuildRequires: libpixman-devel +BuildRequires: libpng-devel +BuildRequires: libpopt-devel +BuildRequires: libproxy-devel +BuildRequires: libpython-devel +BuildRequires: libselinux-devel +BuildRequires: libsexy-devel +BuildRequires: libSM-devel +BuildRequires: libsoup-devel +BuildRequires: libsqlite-devel +BuildRequires: libstdc++6-devel +BuildRequires: libtasn1-devel +BuildRequires: libtotem-pl-parser-devel +BuildRequires: libupnp-devel +BuildRequires: libusb-devel +BuildRequires: libX11-devel +BuildRequires: libXau-devel +BuildRequires: libxcb-devel +BuildRequires: libxcb-util-devel +BuildRequires: libXdmcp-devel +BuildRequires: libxml2-devel +BuildRequires: libXrender-devel +BuildRequires: libz-devel +BuildRequires: lirc-devel +BuildRequires: ORBit2-devel +BuildRequires: pygobject-devel +BuildRequires: pygtk-devel +#BuildRequires: python-cElementTree +#BuildRequires: python-Coherence +#BuildRequires: python-Daap +#BuildRequires: python-Louie +#BuildRequires: python-zopeinterface +## AUTOBUILDREQ-END +BuildRequires: libgcc +BuildRequires: libstdc++6-devel +BuildRequires: python-mako +BuildRequires: pywebkitgtk-devel +BuildRequires: libnautilus-extension-devel +BuildRequires: libnspr-devel +BuildRequires: xulrunner-devel +BuildRequires: gstreamer-tools +BuildRequires: intltool +BuildRequires: libalsa-devel +BuildRequires: libart_lgpl-devel +BuildRequires: libbonoboui-devel +BuildRequires: libcogl-devel >= 1.16 +BuildRequires: libffi-devel +BuildRequires: libgail-devel +BuildRequires: libgnomecanvas-devel +BuildRequires: libgnomeui-devel +BuildRequires: libjpeg-devel +BuildRequires: libtotem-pl-parser-devel >= 3.10 +Requires: pygtk +Requires: pygobject +Requires: python-gst +Requires: libupnp +Requires: gst-plugins-bad +Requires: gst-plugins-ugly +Requires: gst-plugins-good +Requires: gst-plugins-base +Requires: libcddb +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework. + +Rhythmbox has a number of features, including: +* Easy to use music browser +* Searching and sorting +* Comprehensive audio format support through GStreamer +* Internet Radio support +* Playlists +* Preliminary iPod support +* CD burning (CVS) + +%package apidocs +Group: Documentation +Summary: %{name} API documentation + +%description apidocs +Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework. + +This package contains %{name} API documentation. + +%package context +Summary: Context plugin for Rhythmbox +Group: Applications/Multimedia +Requires: %{name} = %{version}-%{release} +Requires: python-mako +Requires: python-webkitgtk + +%description context +Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework. + +This package contains a Rhythmbox plugin to show information related to the currently playing artist and song. + +%package ipod +Summary: Apple iPod plugin for Rhythmbox +Group: Applications/Multimedia +Requires: %{name} = %{version}-%{release} +Requires: libgpod >= 0.7.2 + +%description ipod +Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework. + +This package contains a Rhythmbox plugin to add support for Apple iPod devices (show the content, play from device) + +%package lirc +Summary: LIRC (Infrared remote) plugin for Rhythmbox +Group: Applications/Multimedia +Requires: %{name} = %{version}-%{release} + +%description lirc +Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework. + +This package contains a plugin to add LIRC (Infrared remote) support to Rhythmbox. + +%package lyrics +Summary: Lyrics plugin for Rhythmbox +Group: Applications/Multimedia +Requires: %{name} = %{version}-%{release} +Requires: python-cElementTree + +%description lyrics +Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework. + +This package contains a retrieve lyrics plugin for Internet + +%package upnp +Summary: UPNP/DLNA plugin for Rhythmbox +Group: Applications/Multimedia +Requires: %{name} = %{version}-%{release} +Requires: python-Coherence +Requires: python-Louie +#Requires: python-twisted + +%description upnp +Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework. + +This package contains a Rhythmbox plugin to add support for playing media from, and sending media to UPnP/DLNA network devices. + +%package devel +Summary: Devel package for %{name} +Group: Development/Libraries +Requires: %{name} = %{version} + +%description devel +Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework. + +This package contains header files need for development. + +%package static +Summary: Static libraries for %{name} +Group: Development/Libraries +Requires: %{name} = %{version} + +%description static +Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework. + +This package contains static libraries need for development. + +%prep +%setup -q +# -D -T + +%build +#%{_bindir}/gst-inspect-0.10 --print-all >& /dev/null || : +%configure --disable-scrollkeeper \ + --with-x + +# --with-ipod \ +# --with-mdns=avahi \ +# --with-gnome-keyring + +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/ +install -m 644 %{S:1} %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/rhythmbox.png + +for png in 16x16 24x24; do + mkdir -p %{buildroot}%{_datadir}/rhythmbox/icons/hicolor/$png/places + convert -geometry $png %{SOURCE2} %{buildroot}%{_datadir}/rhythmbox/icons/hicolor/$png/places/stock_music-library.png +done + +for png in %{buildroot}%{_datadir}/gnome/help/rhythmbox/C/figures/*.png; do + cpng="$(basename $png)" + for dirpng in %{buildroot}%{_datadir}/gnome/help/rhythmbox/*; do + if [ -d "$dirpng" -a "$dirpng" != "%{buildroot}%{_datadir}/gnome/help/rhythmbox/C" ]; then + lpng="$dirpng/figures/$cpng" + if [ -f "$lpng" ]; then + if cmp -s $png $lpng; then + rm "$lpng" + ln -s "../../C/figures/$cpng" "$lpng" + fi + fi + fi + done +done + +%find_lang %{name} + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post +GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ +/usr/bin/gconftool-2 --makefile-install-rule \ +%{_sysconfdir}/gconf/schemas/rhythmbox.schemas; +killall -HUP gconfd-2; +touch --no-create %{_datadir}/icons/hicolor +if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache -q %{_datadir}/icons/hicolor +fi + +%pre +if [ "$1" -gt 1 ]; then + GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ + /usr/bin/gconftool-2 --makefile-uninstall-rule \ + %{_sysconfdir}/gconf/schemas/rhythmbox.schemas; +fi + +%preun +if [ "$1" -eq 0 ]; then + GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \ + /usr/bin/gconftool-2 --makefile-uninstall-rule \ + %{_sysconfdir}/gconf/schemas/rhythmbox.schemas; +fi + +%postun +touch --no-create %{_datadir}/icons/hicolor +if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache -q %{_datadir}/icons/hicolor +fi + +%files -f %{name}.lang +%defattr(-,root,root) +%{_bindir}/rhythmbox +%{_bindir}/rhythmbox-client +%{_libdir}/librhythmbox-core.so.* +%{_libdir}/mozilla/plugins/librhythmbox-itms-detection-plugin.* +%dir %{_libdir}/rhythmbox/plugins/artsearch +%{_libdir}/rhythmbox/plugins/artsearch/* +%dir %{_libdir}/rhythmbox/plugins/audiocd +%{_libdir}/rhythmbox/plugins/audiocd/* +%dir %{_libdir}/rhythmbox/plugins/audioscrobbler +%{_libdir}/rhythmbox/plugins/audioscrobbler/* +%dir %{_libdir}/rhythmbox/plugins/cd-recorder +%{_libdir}/rhythmbox/plugins/cd-recorder/* +%dir %{_libdir}/rhythmbox/plugins/context +%{_libdir}/rhythmbox/plugins/context/* +%dir %{_libdir}/rhythmbox/plugins/dbus-media-server +%{_libdir}/rhythmbox/plugins/dbus-media-server/* +%dir %{_libdir}/rhythmbox/plugins/fmradio +%{_libdir}/rhythmbox/plugins/fmradio/* +%dir %{_libdir}/rhythmbox/plugins/generic-player +%{_libdir}/rhythmbox/plugins/generic-player/* +%dir %{_libdir}/rhythmbox/plugins/grilo +%{_libdir}/rhythmbox/plugins/grilo/* +%dir %{_libdir}/rhythmbox/plugins/im-status +%{_libdir}/rhythmbox/plugins/im-status/* +%dir %{_libdir}/rhythmbox/plugins/ipod +%{_libdir}/rhythmbox/plugins/ipod/* +%dir %{_libdir}/rhythmbox/plugins/iradio +%{_libdir}/rhythmbox/plugins/iradio/* +%dir %{_libdir}/rhythmbox/plugins/lyrics +%{_libdir}/rhythmbox/plugins/lyrics/* +%dir %{_libdir}/rhythmbox/plugins/magnatune +%{_libdir}/rhythmbox/plugins/magnatune/* +%dir %{_libdir}/rhythmbox/plugins/mmkeys +%{_libdir}/rhythmbox/plugins/mmkeys/* +%dir %{_libdir}/rhythmbox/plugins/mpris +%{_libdir}/rhythmbox/plugins/mpris/* +%dir %{_libdir}/rhythmbox/plugins/mtpdevice +%{_libdir}/rhythmbox/plugins/mtpdevice/* +%dir %{_libdir}/rhythmbox/plugins/notification +%{_libdir}/rhythmbox/plugins/notification/* +%dir %{_libdir}/rhythmbox/plugins/power-manager +%{_libdir}/rhythmbox/plugins/power-manager/* +%dir %{_libdir}/rhythmbox/plugins/python-console +%{_libdir}/rhythmbox/plugins/python-console/* +%dir %{_libdir}/rhythmbox/plugins/rb +%{_libdir}/rhythmbox/plugins/rb/* +%dir %{_libdir}/rhythmbox/plugins/rblirc +%{_libdir}/rhythmbox/plugins/rblirc/* +%dir %{_libdir}/rhythmbox/plugins/rbzeitgeist +%{_libdir}/rhythmbox/plugins/rbzeitgeist/* +%dir %{_libdir}/rhythmbox/plugins/replaygain +%{_libdir}/rhythmbox/plugins/replaygain/* +%dir %{_libdir}/rhythmbox/plugins/sendto +%{_libdir}/rhythmbox/plugins/sendto/* +%dir %{_libdir}/rhythmbox/sample-plugins +%{_libdir}/rhythmbox/sample-plugins/* +%dir %{_libdir}/rhythmbox/plugins/visualizer +%{_libdir}/rhythmbox/plugins/visualizer/* +%{_libexecdir}/rhythmbox-metadata +%dir %{_datadir}/rhythmbox +%{_datadir}/rhythmbox/playlists.xml +#%{_datadir}/rhythmbox/rhythmbox-ui.xml +%{_datadir}/rhythmbox/rhythmbox.gep +%{_datadir}/rhythmbox/*.ui +%dir %{_datadir}/rhythmbox/icons +%dir %{_datadir}/rhythmbox/icons/hicolor +%{_datadir}/rhythmbox/icons/hicolor/* +%dir %{_datadir}/rhythmbox/plugins +%dir %{_datadir}/rhythmbox/plugins/audiocd +%{_datadir}/rhythmbox/plugins/audiocd/* +%dir %{_datadir}/rhythmbox/plugins/audioscrobbler +%{_datadir}/rhythmbox/plugins/audioscrobbler/* +%dir %{_datadir}/rhythmbox/plugins/context +%dir %{_datadir}/rhythmbox/plugins/context/img +%{_datadir}/rhythmbox/plugins/context/img/* +%dir %{_datadir}/rhythmbox/plugins/context/tmpl +%{_datadir}/rhythmbox/plugins/context/tmpl/* +%dir %{_datadir}/rhythmbox/plugins/fmradio +%{_datadir}/rhythmbox/plugins/fmradio/* +%dir %{_datadir}/rhythmbox/plugins/generic-player +%{_datadir}/rhythmbox/plugins/generic-player/* +%dir %{_datadir}/rhythmbox/plugins/ipod +%{_datadir}/rhythmbox/plugins/ipod/* +%dir %{_datadir}/rhythmbox/plugins/iradio +%{_datadir}/rhythmbox/plugins/iradio/* +%dir %{_datadir}/rhythmbox/plugins/lyrics +%{_datadir}/rhythmbox/plugins/lyrics/lyrics-prefs.ui +%dir %{_datadir}/rhythmbox/plugins/magnatune +%{_datadir}/rhythmbox/plugins/magnatune/* +%dir %{_datadir}/rhythmbox/plugins/mtpdevice +%{_datadir}/rhythmbox/plugins/mtpdevice/* +%dir %{_datadir}/rhythmbox/plugins/rblirc +%{_datadir}/rhythmbox/plugins/rblirc/rhythmbox_lirc_default +%dir %{_datadir}/rhythmbox/plugins/replaygain +%{_datadir}/rhythmbox/plugins/replaygain/replaygain-prefs.ui +%dir %{_datadir}/rhythmbox/plugins/visualizer +%{_datadir}/rhythmbox/plugins/visualizer/* +%{_datadir}/rhythmbox/style.css +%{_datadir}/applications/rhythmbox-device.desktop +%{_datadir}/applications/rhythmbox.desktop +%{_datadir}/dbus-1/services/org.gnome.Rhythmbox3.service +%{_datadir}/glib-2.0/schemas/org.gnome.rhythmbox.gschema.xml +%dir %{_datadir}/help/*/rhythmbox +%{_datadir}/help/*/rhythmbox/* +%{_datadir}/icons/hicolor/*/apps/rhythmbox.png +#%{_datadir}/icons/hicolor/24x24/places/music-library.png +%{_datadir}/icons/hicolor/48x48/status/rhythmbox-missing-artwork.png +%{_datadir}/icons/hicolor/scalable/apps/rhythmbox-symbolic.svg +%{_libdir}/girepository-1.0/MPID-3.0.typelib +%{_libdir}/girepository-1.0/RB-3.0.typelib +#%dir %{_datadir}/omf/rhythmbox +#%{_datadir}/omf/rhythmbox/rhythmbox-*.omf +%{_mandir}/man1/rhythmbox-client.1.gz +%{_mandir}/man1/rhythmbox.1.gz +%doc AUTHORS COPYING + +%files devel +%defattr(-,root,root) +%dir %{_includedir}/rhythmbox +%dir %{_includedir}/rhythmbox/backends +%{_includedir}/rhythmbox/backends/*.h +%dir %{_includedir}/rhythmbox/lib +%{_includedir}/rhythmbox/lib/*.h +%dir %{_includedir}/rhythmbox/lib/libmediaplayerid +%{_includedir}/rhythmbox/lib/libmediaplayerid/*.h +%dir %{_includedir}/rhythmbox/metadata +%{_includedir}/rhythmbox/metadata/*.h +%dir %{_includedir}/rhythmbox/plugins +%{_includedir}/rhythmbox/plugins/*.h +%dir %{_includedir}/rhythmbox/podcast +%{_includedir}/rhythmbox/podcast/*.h +%dir %{_includedir}/rhythmbox/rhythmdb +%{_includedir}/rhythmbox/rhythmdb/*.h +%dir %{_includedir}/rhythmbox/shell +%{_includedir}/rhythmbox/shell/*.h +%dir %{_includedir}/rhythmbox/sources +%{_includedir}/rhythmbox/sources/*.h +%dir %{_includedir}/rhythmbox/widgets +%{_includedir}/rhythmbox/widgets/*.h +%{_libdir}/librhythmbox-core.la +%{_libdir}/librhythmbox-core.so +%{_datadir}/gir-1.0/MPID-3.0.gir +%{_datadir}/gir-1.0/RB-3.0.gir +%{_libdir}/pkgconfig/rhythmbox.pc +#%doc ChangeLog NEWS README* THANKS + +%files apidocs +%defattr(-,root,root) +%dir %{_datadir}/gtk-doc/html/rhythmbox +%{_datadir}/gtk-doc/html/rhythmbox/*.html +%{_datadir}/gtk-doc/html/rhythmbox/*.png +%{_datadir}/gtk-doc/html/rhythmbox/index.sgml +%{_datadir}/gtk-doc/html/rhythmbox/rhythmbox.devhelp2 +%{_datadir}/gtk-doc/html/rhythmbox/style.css + +%changelog +* Sun Mar 23 2014 Automatic Build System 3.0.2-1mamba +- automatic version update by autodist + +* Tue Nov 12 2013 Silvan Calarco 3.0.1-2mamba +- rebuilt with libcogl 1.16 and libtotem-pl-parser 3.10 + +* Mon Oct 14 2013 Automatic Build System 3.0.1-1mamba +- automatic version update by autodist + +* Sat Sep 14 2013 Automatic Build System 3.0-1mamba +- automatic update by autodist + +* Sun Apr 14 2013 Automatic Build System 2.99.1-1mamba +- automatic version update by autodist + +* Tue Feb 26 2013 Automatic Build System 2.98-1mamba +- update to 2.98 + +* Sun Apr 18 2010 gil 0.12.8-1mamba +- update to 0.12.8 + +* Thu Mar 25 2010 gil 0.12.7-1mamba +- update to 0.12.7 + +* Fri Nov 27 2009 gil 0.12.6-2mamba +- added patch: gnome bug id 524079 + +* Fri Nov 27 2009 gil 0.12.6-1mamba +- update to 0.12.6 + +* Mon Sep 21 2009 gil 0.12.5-1mamba +- update to 0.12.5 + +* Thu Aug 27 2009 gil 0.12.4-1mamba +- update to 0.12.4 + +* Tue Jul 07 2009 gil 0.12.3-2mamba +- added new sub package: lyrics + +* Tue Jul 07 2009 gil 0.12.3-1mamba +- update to 0.12.3 + +* Mon Jun 01 2009 gil 0.12.2-1mamba +- update to 0.12.2 + +* Tue May 05 2009 gil 0.12.1-2mamba +- added (lib)brasero support + +* Wed Apr 29 2009 gil 0.12.1-1mamba +- update to 0.12.1 + +* Fri Mar 20 2009 gil 0.12.0-1mamba +- update to 0.12.0 + +* Wed Aug 27 2008 gil 0.11.6-1mamba +- package created by autospec