* [gentoo-commits] proj/gnome:master commit in: media-libs/grilo/, media-plugins/grilo-plugins/files/, ...
@ 2011-08-04 17:12 Alexandre Restovtsev
0 siblings, 0 replies; 2+ messages in thread
From: Alexandre Restovtsev @ 2011-08-04 17:12 UTC (permalink / raw
To: gentoo-commits
commit: 973d4b739a11e9ead68e859093141efa884b66e7
Author: Alexandre Rostovtsev <tetromino <AT> gmail <DOT> com>
AuthorDate: Thu Aug 4 04:51:31 2011 +0000
Commit: Alexandre Restovtsev <tetromino <AT> gmail <DOT> com>
CommitDate: Thu Aug 4 17:11:07 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=973d4b73
media-libs/grilo, media-plugins/grilo-plugins: add 0.1.16
Cherry-picked from gnome-next (where it is needed for totem-3.1.4), but
gnome-3.0 users may want updated grilo too.
---
media-libs/grilo/files/grilo-0.1.16-constants.py | 50 ++++++
.../grilo-0.1.16-media-source-infinite-loop.patch | 48 ++++++
media-libs/grilo/grilo-0.1.16.ebuild | 63 +++++++
.../grilo-plugins-0.1.16-local-metadata-leak.patch | 23 +++
.../files/grilo-plugins-0.1.16-youtube-c90.patch | 178 ++++++++++++++++++++
...grilo-plugins-0.1.16-youtube-libgdata-0.9.patch | 178 ++++++++++++++++++++
...grilo-plugins-0.1.16-youtube-missing-case.patch | 20 +++
...plugins-0.1.16-youtube-variable-shadowing.patch | 25 +++
.../grilo-plugins/grilo-plugins-0.1.16.ebuild | 80 +++++++++
9 files changed, 665 insertions(+), 0 deletions(-)
diff --git a/media-libs/grilo/files/grilo-0.1.16-constants.py b/media-libs/grilo/files/grilo-0.1.16-constants.py
new file mode 100644
index 0000000..e8e2690
--- /dev/null
+++ b/media-libs/grilo/files/grilo-0.1.16-constants.py
@@ -0,0 +1,50 @@
+KEY_NONEXISTING = 'nonexisting-key'
+KEY_ALBUM = 'album'
+KEY_ARTIST = 'artist'
+KEY_AUTHOR = 'author'
+KEY_BITRATE = 'bitrate'
+KEY_CERTIFICATE = 'certificate'
+KEY_CHILDCOUNT = 'childcount'
+KEY_DATE = 'date'
+KEY_DESCRIPTION = 'description'
+KEY_DURATION = 'duration'
+KEY_EXTERNAL_PLAYER = 'external-player'
+KEY_EXTERNAL_URL = 'external-url'
+KEY_FRAMERATE = 'framerate'
+KEY_GENRE = 'genre'
+KEY_HEIGHT = 'height'
+KEY_ID = 'id'
+KEY_LAST_PLAYED = 'last-played'
+KEY_LAST_POSITION = 'last-position'
+KEY_LICENSE = 'license'
+KEY_LYRICS = 'lyrics'
+KEY_MIME = 'mime'
+KEY_PLAY_COUNT = 'play-count'
+KEY_RATING = 'rating'
+KEY_SITE = 'site'
+KEY_SOURCE = 'source'
+KEY_STUDIO = 'studio'
+KEY_THUMBNAIL = 'thumbnail'
+KEY_TITLE = 'title'
+KEY_URL = 'url'
+KEY_WIDTH = 'width'
+
+REGISTERED_KEYS = [KEY_ALBUM, KEY_ARTIST, KEY_AUTHOR, KEY_BITRATE,
+ KEY_CERTIFICATE, KEY_CHILDCOUNT, KEY_DATE,
+ KEY_DESCRIPTION, KEY_DURATION, KEY_EXTERNAL_PLAYER,
+ KEY_EXTERNAL_URL, KEY_FRAMERATE, KEY_GENRE, KEY_HEIGHT,
+ KEY_ID, KEY_LAST_PLAYED, KEY_LAST_POSITION, KEY_LICENSE,
+ KEY_LYRICS, KEY_MIME, KEY_PLAY_COUNT, KEY_RATING,
+ KEY_SITE, KEY_SOURCE, KEY_STUDIO, KEY_THUMBNAIL,
+ KEY_TITLE, KEY_URL, KEY_WIDTH]
+
+SUPPORTED_OPS = []
+try:
+ from gi.repository import Grl
+ SUPPORTED_OPS = [Grl.SupportedOps.NONE, Grl.SupportedOps.METADATA,
+ Grl.SupportedOps.RESOLVE, Grl.SupportedOps.BROWSE,
+ Grl.SupportedOps.SEARCH, Grl.SupportedOps.QUERY,
+ Grl.SupportedOps.STORE, Grl.SupportedOps.STORE_PARENT,
+ Grl.SupportedOps.REMOVE, Grl.SupportedOps.SET_METADATA]
+except:
+ pass
diff --git a/media-libs/grilo/files/grilo-0.1.16-media-source-infinite-loop.patch b/media-libs/grilo/files/grilo-0.1.16-media-source-infinite-loop.patch
new file mode 100644
index 0000000..755faac
--- /dev/null
+++ b/media-libs/grilo/files/grilo-0.1.16-media-source-infinite-loop.patch
@@ -0,0 +1,48 @@
+From df228459d4332f3cb675d28d1d4185ae22929b81 Mon Sep 17 00:00:00 2001
+From: Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com>
+Date: Wed, 29 Jun 2011 13:13:38 +0000
+Subject: media-source: manage end of search/browse with splitted sources
+
+When running in splitted modes (usually when dealing with websites),
+if you get less results than what the user would like to get, we
+currently end up in an infinite loop with the core of grilo keeping
+asking for new items from a source which can't deliver anymore.
+
+To manage this specific case, we just check whether the plugin has
+returned a remaining results number equals to 0 as well as a null
+item.
+
+Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com>
+---
+diff --git a/src/grl-media-source.c b/src/grl-media-source.c
+index 459e29c..00494c3 100644
+--- a/src/grl-media-source.c
++++ b/src/grl-media-source.c
+@@ -643,8 +643,6 @@ browse_result_relay_cb (GrlMediaSource *source,
+
+ brc = (struct BrowseRelayCb *) user_data;
+
+- plugin_remaining = remaining;
+-
+ /* --- operation cancel management --- */
+
+ /* Check if operation is still valid , otherwise do not emit the result
+@@ -697,9 +695,13 @@ browse_result_relay_cb (GrlMediaSource *source,
+ as_info->count--;
+ as_info->chunk_consumed++;
+
+- /* FIXME: If we received less than we requested we should
+- not do an extra query */
+- remaining = as_info->count;
++ /* When auto split, if less results than what a chunk should give,
++ * that means we've reached the end of the results. */
++ if ((plugin_remaining == 0) &&
++ (as_info->chunk_consumed < as_info->chunk_requested))
++ remaining = 0;
++ else
++ remaining = as_info->count;
+ }
+
+ /* --- relay operation --- */
+--
+cgit v0.9
diff --git a/media-libs/grilo/grilo-0.1.16.ebuild b/media-libs/grilo/grilo-0.1.16.ebuild
new file mode 100644
index 0000000..c07ea5b
--- /dev/null
+++ b/media-libs/grilo/grilo-0.1.16.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/grilo/grilo-0.1.15.ebuild,v 1.2 2011/06/15 16:37:18 pacho Exp $
+
+EAPI="4"
+GNOME2_LA_PUNT="yes"
+#GNOME_TARBALL_SUFFIX="bz2"
+
+inherit autotools eutils gnome2
+
+DESCRIPTION="A framework for easy media discovery and browsing"
+HOMEPAGE="https://live.gnome.org/Grilo"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc +introspection +network test test-ui vala"
+
+RDEPEND="
+ >=dev-libs/glib-2.22:2
+ dev-libs/libxml2:2
+ network? ( >=net-libs/libsoup-2.33.4:2.4 )
+ test-ui? ( >=x11-libs/gtk+-3.0:3 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9 )"
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.9
+ doc? ( >=dev-util/gtk-doc-1.10 )
+ vala? ( dev-lang/vala:0.12[vapigen] )
+ test? (
+ dev-python/pygobject:2[introspection?]
+ media-plugins/grilo-plugins )"
+
+pkg_setup() {
+ DOCS="AUTHORS NEWS README TODO"
+ # --enable-debug only changes CFLAGS, useless for us
+ G2CONF="${G2CONF}
+ --disable-maintainer-mode
+ --disable-static
+ --disable-debug
+ VALAC=$(type -P valac-0.12)
+ VALA_GEN_INTROSPECT=$(type -P vala-gen-introspect-0.12)
+ VAPIGEN=$(type -P vapigen-0.12)
+ $(use_enable introspection)
+ $(use_enable network grl-net)
+ $(use_enable test tests)
+ $(use_enable test-ui)
+ $(use_enable vala)"
+}
+
+src_prepare() {
+ # Various patches from upstream trunk
+ epatch "${FILESDIR}/${P}-media-source-infinite-loop.patch"
+ # Build system doesn't install this file with the tarball
+ cp "${FILESDIR}/${PN}-0.1.16-constants.py" "${S}/tests/python/constants.py"
+ eautoreconf
+
+ gnome2_src_prepare
+}
+
+src_test() {
+ cd tests/
+ emake check
+}
diff --git a/media-plugins/grilo-plugins/files/grilo-plugins-0.1.16-local-metadata-leak.patch b/media-plugins/grilo-plugins/files/grilo-plugins-0.1.16-local-metadata-leak.patch
new file mode 100644
index 0000000..b674e07
--- /dev/null
+++ b/media-plugins/grilo-plugins/files/grilo-plugins-0.1.16-local-metadata-leak.patch
@@ -0,0 +1,23 @@
+From 9c1ccee8cadddeb6dd5d61e90ca65b3e951e326f Mon Sep 17 00:00:00 2001
+From: Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com>
+Date: Sun, 03 Jul 2011 01:46:53 +0000
+Subject: local-metadata: fix memory leak on picture resolve
+
+A reference was still hold on a GFile object.
+
+Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com>
+---
+diff --git a/src/metadata/local-metadata/grl-local-metadata.c b/src/metadata/local-metadata/grl-local-metadata.c
+index 0ba1fcc..d1e3208 100644
+--- a/src/metadata/local-metadata/grl-local-metadata.c
++++ b/src/metadata/local-metadata/grl-local-metadata.c
+@@ -570,6 +570,7 @@ resolve_image (GrlMetadataSource *source,
+ g_file_query_info_async (file, G_FILE_ATTRIBUTE_THUMBNAIL_PATH,
+ G_FILE_QUERY_INFO_NONE, G_PRIORITY_DEFAULT, cancellable,
+ (GAsyncReadyCallback)got_file_info, rs);
++ g_object_unref (file);
+ }
+ }
+
+--
+cgit v0.9
diff --git a/media-plugins/grilo-plugins/files/grilo-plugins-0.1.16-youtube-c90.patch b/media-plugins/grilo-plugins/files/grilo-plugins-0.1.16-youtube-c90.patch
new file mode 100644
index 0000000..d29ea3d
--- /dev/null
+++ b/media-plugins/grilo-plugins/files/grilo-plugins-0.1.16-youtube-c90.patch
@@ -0,0 +1,178 @@
+From 0e425f129194593c3b7d3155aa8fc8f1a650cf06 Mon Sep 17 00:00:00 2001
+From: Philip Withnall <philip@tecnocode.co.uk>
+Date: Mon, 04 Jul 2011 21:53:18 +0000
+Subject: youtube: Fix ISO C90 warnings
+
+Can't mix declarations and code.
+---
+diff --git a/src/media/youtube/grl-youtube.c b/src/media/youtube/grl-youtube.c
+index eadd506..2057ec5 100644
+--- a/src/media/youtube/grl-youtube.c
++++ b/src/media/youtube/grl-youtube.c
+@@ -250,6 +250,7 @@ grl_youtube_plugin_init (GrlPluginRegistry *registry,
+ gchar *api_key;
+ GrlConfig *config;
+ gint config_count;
++ GrlYoutubeSource *source;
+
+ GRL_LOG_DOMAIN_INIT (youtube_log_domain, "youtube");
+
+@@ -277,8 +278,7 @@ grl_youtube_plugin_init (GrlPluginRegistry *registry,
+ g_thread_init (NULL);
+ }
+
+- GrlYoutubeSource *source =
+- grl_youtube_source_new (api_key, YOUTUBE_CLIENT_ID);
++ source = grl_youtube_source_new (api_key, YOUTUBE_CLIENT_ID);
+
+ grl_plugin_registry_register_source (registry,
+ plugin,
+@@ -301,11 +301,11 @@ G_DEFINE_TYPE (GrlYoutubeSource, grl_youtube_source, GRL_TYPE_MEDIA_SOURCE);
+ static GrlYoutubeSource *
+ grl_youtube_source_new (const gchar *api_key, const gchar *client_id)
+ {
+- GRL_DEBUG ("grl_youtube_source_new");
+-
+ GrlYoutubeSource *source;
+ GDataYouTubeService *service;
+
++ GRL_DEBUG ("grl_youtube_source_new");
++
+ service = gdata_youtube_service_new (api_key, client_id);
+ if (!service) {
+ GRL_WARNING ("Failed to initialize gdata service");
+@@ -426,9 +426,13 @@ release_operation_data (GrlMetadataSource *source,
+ static OperationSpec *
+ operation_spec_new ()
+ {
++ OperationSpec *os;
++
+ GRL_DEBUG ("Allocating new spec");
+- OperationSpec *os = g_slice_new0 (OperationSpec);
++
++ os = g_slice_new0 (OperationSpec);
+ os->ref_count = 1;
++
+ return os;
+ }
+
+@@ -614,14 +618,14 @@ build_media_from_entry (GrlYoutubeSource *source,
+ static void
+ parse_categories (xmlDocPtr doc, xmlNodePtr node, OperationSpec *os)
+ {
+- GRL_DEBUG ("parse_categories");
+-
+ guint total = 0;
+ GList *all = NULL, *iter;
+ CategoryInfo *cat_info;
+ gchar *id;
+ guint index = 0;
+
++ GRL_DEBUG ("parse_categories");
++
+ while (node) {
+ cat_info = g_slice_new (CategoryInfo);
+ id = (gchar *) xmlGetProp (node, (xmlChar *) "term");
+@@ -800,14 +804,14 @@ metadata_cb (GObject *object,
+ GAsyncResult *result,
+ gpointer user_data)
+ {
+- GRL_DEBUG ("metadata_cb");
+-
+ GError *error = NULL;
+ GrlYoutubeSource *source;
+ GDataEntry *video;
+ GDataService *service;
+ GrlMediaSourceMetadataSpec *ms = (GrlMediaSourceMetadataSpec *) user_data;
+
++ GRL_DEBUG ("metadata_cb");
++
+ source = GRL_YOUTUBE_SOURCE (ms->source);
+ service = GDATA_SERVICE (source->priv->service);
+
+@@ -876,13 +880,13 @@ search_progress_cb (GDataEntry *entry,
+ static void
+ search_cb (GObject *object, GAsyncResult *result, OperationSpec *os)
+ {
+- GRL_DEBUG ("search_cb");
+-
+ GDataFeed *feed;
+ GError *error = NULL;
+ gboolean need_extra_unref = FALSE;
+ GrlYoutubeSource *source = GRL_YOUTUBE_SOURCE (os->source);
+
++ GRL_DEBUG ("search_cb");
++
+ /* Check if operation was cancelled */
+ if (g_cancellable_is_cancelled (os->cancellable)) {
+ GRL_DEBUG ("Search operation has been cancelled");
+@@ -1045,10 +1049,10 @@ produce_container_from_directory (GDataService *service,
+ static void
+ produce_from_directory (CategoryInfo *dir, gint dir_size, OperationSpec *os)
+ {
+- GRL_DEBUG ("produce_from_directory");
+-
+ guint index, remaining;
+
++ GRL_DEBUG ("produce_from_directory");
++
+ /* Youtube's first index is 1, but the directories start at 0 */
+ os->skip--;
+
+@@ -1479,11 +1483,11 @@ grl_youtube_source_metadata (GrlMediaSource *source,
+ static gboolean
+ grl_youtube_test_media_from_uri (GrlMediaSource *source, const gchar *uri)
+ {
+- GRL_DEBUG ("grl_youtube_test_media_from_uri");
+-
+ gchar *video_id;
+ gboolean ok;
+
++ GRL_DEBUG ("grl_youtube_test_media_from_uri");
++
+ video_id = get_video_id_from_url (uri);
+ ok = (video_id != NULL);
+ g_free (video_id);
+@@ -1494,12 +1498,15 @@ static void
+ grl_youtube_get_media_from_uri (GrlMediaSource *source,
+ GrlMediaSourceMediaFromUriSpec *mfus)
+ {
+- GRL_DEBUG ("grl_youtube_get_media_from_uri");
+-
+ gchar *video_id;
+ GError *error;
+ GCancellable *cancellable;
+ GDataService *service;
++#ifdef GDATA_API_SUBJECT_TO_CHANGE
++ gchar *entry_id;
++#endif /* GDATA_API_SUBJECT_TO_CHANGE */
++
++ GRL_DEBUG ("grl_youtube_get_media_from_uri");
+
+ video_id = get_video_id_from_url (mfus->uri);
+ if (video_id == NULL) {
+@@ -1516,7 +1523,7 @@ grl_youtube_get_media_from_uri (GrlMediaSource *source,
+ cancellable = g_cancellable_new ();
+ grl_operation_set_data (mfus->media_from_uri_id, cancellable);
+ #ifdef GDATA_API_SUBJECT_TO_CHANGE
+- gchar *entry_id = g_strconcat ("tag:youtube.com,2008:video:", video_id, NULL);
++ entry_id = g_strconcat ("tag:youtube.com,2008:video:", video_id, NULL);
+ gdata_service_query_single_entry_async (service,
+ entry_id,
+ NULL,
+@@ -1539,10 +1546,11 @@ static void
+ grl_youtube_source_cancel (GrlMetadataSource *source,
+ guint operation_id)
+ {
++ GCancellable *cancellable;
++
+ GRL_DEBUG (__FUNCTION__);
+
+- GCancellable *cancellable =
+- (GCancellable *) grl_operation_get_data (operation_id);
++ cancellable = G_CANCELLABLE (grl_operation_get_data (operation_id));
+
+ if (cancellable) {
+ g_cancellable_cancel (cancellable);
+--
+cgit v0.9
diff --git a/media-plugins/grilo-plugins/files/grilo-plugins-0.1.16-youtube-libgdata-0.9.patch b/media-plugins/grilo-plugins/files/grilo-plugins-0.1.16-youtube-libgdata-0.9.patch
new file mode 100644
index 0000000..a7712e6
--- /dev/null
+++ b/media-plugins/grilo-plugins/files/grilo-plugins-0.1.16-youtube-libgdata-0.9.patch
@@ -0,0 +1,178 @@
+From 1d7580183556d44dc9490b6ed7d72b512eeceab8 Mon Sep 17 00:00:00 2001
+From: Philip Withnall <philip@tecnocode.co.uk>
+Date: Mon, 04 Jul 2011 22:12:53 +0000
+Subject: youtube: Add support for compiling against libgdata ≥ 0.9.0
+
+This adds conditional support for compiling against libgdata ≥ 0.9.0, which
+broke various APIs from 0.8.x.
+---
+diff --git a/configure.ac b/configure.ac
+index 898ef51..7d90503 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -160,6 +160,10 @@ if test "x$HAVE_GDATA" = "xyes"; then
+ if test $gdata_version_major -eq 0 -a $gdata_version_minor -ge 7; then
+ GDATA_CFLAGS="$GDATA_CFLAGS -DGDATA_API_SUBJECT_TO_CHANGE"
+ fi
++
++ if `$PKG_CONFIG --atleast-version=0.9.1 libgdata`; then
++ AC_DEFINE(HAVE_LIBGDATA_0_9, 1, [libgdata is 0.9.1 or higher])
++ fi
+ fi
+
+ # ----------------------------------------------------------
+diff --git a/src/media/youtube/grl-youtube.c b/src/media/youtube/grl-youtube.c
+index 050a80d..7a08683 100644
+--- a/src/media/youtube/grl-youtube.c
++++ b/src/media/youtube/grl-youtube.c
+@@ -306,7 +306,11 @@ grl_youtube_source_new (const gchar *api_key, const gchar *client_id)
+
+ GRL_DEBUG ("grl_youtube_source_new");
+
++#ifdef HAVE_LIBGDATA_0_9
++ service = gdata_youtube_service_new (api_key, NULL);
++#else /* HAVE_LIBGDATA_0_9 */
+ service = gdata_youtube_service_new (api_key, client_id);
++#endif /* !HAVE_LIBGDATA_0_9 */
+ if (!service) {
+ GRL_WARNING ("Failed to initialize gdata service");
+ return NULL;
+@@ -1135,14 +1139,28 @@ produce_from_feed (OperationSpec *os)
+ service = GRL_YOUTUBE_SOURCE (os->source)->priv->service;
+ query = gdata_query_new_with_limits (NULL , os->skip, os->count);
+ os->category_info = &feeds_dir[feed_type];
++
++#ifdef HAVE_LIBGDATA_0_9
+ gdata_youtube_service_query_standard_feed_async (GDATA_YOUTUBE_SERVICE (service),
+ feed_type,
+ query,
+ os->cancellable,
+ search_progress_cb,
+ os,
++ NULL,
+ (GAsyncReadyCallback) search_cb,
+ os);
++#else /* HAVE_LIBGDATA_0_9 */
++ gdata_youtube_service_query_standard_feed_async (GDATA_YOUTUBE_SERVICE (service),
++ feed_type,
++ query,
++ os->cancellable,
++ search_progress_cb,
++ os,
++ (GAsyncReadyCallback) search_cb,
++ os);
++#endif /* !HAVE_LIBGDATA_0_9 */
++
+ g_object_unref (query);
+ }
+
+@@ -1180,6 +1198,17 @@ produce_from_category (OperationSpec *os)
+ query = gdata_query_new_with_limits (NULL , os->skip, os->count);
+ os->category_info = &categories_dir[category_index];
+ gdata_query_set_categories (query, category_term);
++
++#ifdef HAVE_LIBGDATA_0_9
++ gdata_youtube_service_query_videos_async (GDATA_YOUTUBE_SERVICE (service),
++ query,
++ NULL,
++ search_progress_cb,
++ os,
++ NULL,
++ (GAsyncReadyCallback) search_cb,
++ os);
++#else /* HAVE_LIBGDATA_0_9 */
+ gdata_youtube_service_query_videos_async (GDATA_YOUTUBE_SERVICE (service),
+ query,
+ NULL,
+@@ -1187,6 +1216,8 @@ produce_from_category (OperationSpec *os)
+ os,
+ (GAsyncReadyCallback) search_cb,
+ os);
++#endif /* !HAVE_LIBGDATA_0_9 */
++
+ g_object_unref (query);
+ }
+
+@@ -1329,6 +1360,17 @@ grl_youtube_source_search (GrlMediaSource *source,
+ grl_operation_set_data (ss->search_id, os->cancellable);
+
+ query = gdata_query_new_with_limits (ss->text, os->skip, os->count);
++
++#ifdef HAVE_LIBGDATA_0_9
++ gdata_youtube_service_query_videos_async (GDATA_YOUTUBE_SERVICE (GRL_YOUTUBE_SOURCE (source)->priv->service),
++ query,
++ os->cancellable,
++ search_progress_cb,
++ os,
++ NULL,
++ (GAsyncReadyCallback) search_cb,
++ os);
++#else /* HAVE_LIBGDATA_0_9 */
+ gdata_youtube_service_query_videos_async (GDATA_YOUTUBE_SERVICE (GRL_YOUTUBE_SOURCE (source)->priv->service),
+ query,
+ os->cancellable,
+@@ -1336,6 +1378,8 @@ grl_youtube_source_search (GrlMediaSource *source,
+ os,
+ (GAsyncReadyCallback) search_cb,
+ os);
++#endif /* !HAVE_LIBGDATA_0_9 */
++
+ g_object_unref (query);
+ }
+
+@@ -1452,6 +1496,17 @@ grl_youtube_source_metadata (GrlMediaSource *source,
+ #ifdef GDATA_API_SUBJECT_TO_CHANGE
+ {
+ gchar *entryid = g_strconcat ("tag:youtube.com,2008:video:", id, NULL);
++
++#ifdef HAVE_LIBGDATA_0_9
++ gdata_service_query_single_entry_async (service,
++ NULL,
++ entryid,
++ NULL,
++ GDATA_TYPE_YOUTUBE_VIDEO,
++ cancellable,
++ metadata_cb,
++ ms);
++#else /* HAVE_LIBGDATA_0_9 */
+ gdata_service_query_single_entry_async (service,
+ entryid,
+ NULL,
+@@ -1459,6 +1514,8 @@ grl_youtube_source_metadata (GrlMediaSource *source,
+ cancellable,
+ metadata_cb,
+ ms);
++#endif /* !HAVE_LIBGDATA_0_9 */
++
+ g_free (entryid);
+ }
+ #else
+@@ -1524,6 +1581,17 @@ grl_youtube_get_media_from_uri (GrlMediaSource *source,
+ grl_operation_set_data (mfus->media_from_uri_id, cancellable);
+ #ifdef GDATA_API_SUBJECT_TO_CHANGE
+ entry_id = g_strconcat ("tag:youtube.com,2008:video:", video_id, NULL);
++
++#ifdef HAVE_LIBGDATA_0_9
++ gdata_service_query_single_entry_async (service,
++ NULL,
++ entry_id,
++ NULL,
++ GDATA_TYPE_YOUTUBE_VIDEO,
++ cancellable,
++ media_from_uri_cb,
++ mfus);
++#else /* HAVE_LIBGDATA_0_9 */
+ gdata_service_query_single_entry_async (service,
+ entry_id,
+ NULL,
+@@ -1531,6 +1599,8 @@ grl_youtube_get_media_from_uri (GrlMediaSource *source,
+ cancellable,
+ media_from_uri_cb,
+ mfus);
++#endif /* !HAVE_LIBGDATA_0_9 */
++
+ g_free (entry_id);
+ #else
+ gdata_youtube_service_query_single_video_async (GDATA_YOUTUBE_SERVICE (service),
+--
+cgit v0.9
diff --git a/media-plugins/grilo-plugins/files/grilo-plugins-0.1.16-youtube-missing-case.patch b/media-plugins/grilo-plugins/files/grilo-plugins-0.1.16-youtube-missing-case.patch
new file mode 100644
index 0000000..a0329c0
--- /dev/null
+++ b/media-plugins/grilo-plugins/files/grilo-plugins-0.1.16-youtube-missing-case.patch
@@ -0,0 +1,20 @@
+From 477ddd90c29aba07a9ab2319a6fe9e6b6acef5c1 Mon Sep 17 00:00:00 2001
+From: Philip Withnall <philip@tecnocode.co.uk>
+Date: Mon, 04 Jul 2011 22:15:56 +0000
+Subject: youtube: Add a missing case to a switch statement
+
+---
+diff --git a/src/media/youtube/grl-youtube.c b/src/media/youtube/grl-youtube.c
+index 7a08683..2bdaf01 100644
+--- a/src/media/youtube/grl-youtube.c
++++ b/src/media/youtube/grl-youtube.c
+@@ -1430,6 +1430,7 @@ grl_youtube_source_browse (GrlMediaSource *source,
+ case YOUTUBE_MEDIA_TYPE_CATEGORY:
+ produce_from_category (os);
+ break;
++ case YOUTUBE_MEDIA_TYPE_VIDEO:
+ default:
+ g_assert_not_reached ();
+ break;
+--
+cgit v0.9
diff --git a/media-plugins/grilo-plugins/files/grilo-plugins-0.1.16-youtube-variable-shadowing.patch b/media-plugins/grilo-plugins/files/grilo-plugins-0.1.16-youtube-variable-shadowing.patch
new file mode 100644
index 0000000..f1445a2
--- /dev/null
+++ b/media-plugins/grilo-plugins/files/grilo-plugins-0.1.16-youtube-variable-shadowing.patch
@@ -0,0 +1,25 @@
+From e4c40d02fc1b6627b66682a28cdbb4cbd71aad7e Mon Sep 17 00:00:00 2001
+From: Philip Withnall <philip@tecnocode.co.uk>
+Date: Mon, 04 Jul 2011 21:56:05 +0000
+Subject: youtube: Fix variable shadowing a parameter
+
+---
+diff --git a/src/media/youtube/grl-youtube.c b/src/media/youtube/grl-youtube.c
+index 66609dd..050a80d 100644
+--- a/src/media/youtube/grl-youtube.c
++++ b/src/media/youtube/grl-youtube.c
+@@ -604,9 +604,9 @@ build_media_from_entry (GrlYoutubeSource *source,
+ gdata_youtube_video_look_up_content (video,
+ "application/x-shockwave-flash");
+ if (youtube_content != NULL) {
+- GDataMediaContent *content = GDATA_MEDIA_CONTENT (youtube_content);
+- grl_media_set_external_player (media,
+- gdata_media_content_get_uri (content));
++ const gchar *uri =
++ gdata_media_content_get_uri (GDATA_MEDIA_CONTENT (youtube_content));
++ grl_media_set_external_player (media, uri);
+ }
+ }
+ iter = g_list_next (iter);
+--
+cgit v0.9
diff --git a/media-plugins/grilo-plugins/grilo-plugins-0.1.16.ebuild b/media-plugins/grilo-plugins/grilo-plugins-0.1.16.ebuild
new file mode 100644
index 0000000..2004a7e
--- /dev/null
+++ b/media-plugins/grilo-plugins/grilo-plugins-0.1.16.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-plugins/grilo-plugins/grilo-plugins-0.1.15.ebuild,v 1.2 2011/06/15 16:43:45 pacho Exp $
+
+EAPI="4"
+GNOME2_LA_PUNT="yes"
+
+inherit autotools eutils gnome2
+
+DESCRIPTION="A framework for easy media discovery and browsing"
+HOMEPAGE="https://live.gnome.org/Grilo"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+youtube +vimeo upnp"
+
+RDEPEND="
+ >=dev-libs/glib-2.26:2
+ =media-libs/grilo-${PV}[network]
+
+ dev-libs/gmime:2.4
+ dev-libs/libxml2:2
+ dev-db/sqlite:3
+
+ youtube? ( >=dev-libs/libgdata-0.4.0
+ >=media-libs/quvi-0.2.15 )
+ upnp? ( >=net-libs/gupnp-0.13
+ >=net-libs/gupnp-av-0.5 )
+ vimeo? ( net-libs/libsoup:2.4
+ dev-libs/libgcrypt )"
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.9"
+
+# `make check` doesn't do anything, and ${S}/test/test fails without all plugins
+RESTRICT="test"
+
+pkg_setup() {
+ DOCS="AUTHORS NEWS README"
+ # --enable-debug only changes CFLAGS, useless for us
+ G2CONF="${G2CONF}
+ --disable-maintainer-mode
+ --disable-static
+ --disable-debug
+ --disable-uninstalled"
+
+ # Plugins
+ # TODO: Enable tracker support
+ G2CONF="${G2CONF}
+ --enable-filesystem
+ --enable-jamendo
+ --enable-lastfm-albumart
+ --enable-flickr
+ --enable-podcasts
+ --enable-bookmarks
+ --disable-shoutcast
+ --enable-apple-trailers
+ --enable-metadata-store
+ --enable-gravatar
+ --disable-tracker
+ --enable-localmetadata
+ $(use_enable upnp)
+ $(use_enable youtube)
+ $(use_enable vimeo)"
+}
+
+src_prepare() {
+ # important patches from upstream git master
+ epatch "${FILESDIR}/${P}-youtube-c90.patch"
+ epatch "${FILESDIR}/${P}-youtube-variable-shadowing.patch"
+ epatch "${FILESDIR}/${P}-youtube-missing-case.patch"
+ epatch "${FILESDIR}/${P}-youtube-libgdata-0.9.patch"
+ epatch "${FILESDIR}/${P}-local-metadata-leak.patch"
+
+ sed -i -e 's/^\(SUBDIRS .*\)test/\1/g' Makefile.*
+
+ eautoreconf
+
+ gnome2_src_prepare
+}
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] proj/gnome:master commit in: media-libs/grilo/, media-plugins/grilo-plugins/files/, ...
@ 2011-10-20 6:49 Alexandre Restovtsev
0 siblings, 0 replies; 2+ messages in thread
From: Alexandre Restovtsev @ 2011-10-20 6:49 UTC (permalink / raw
To: gentoo-commits
commit: b7b04d47fc066c132de210d04ad7bb78397287b5
Author: Alexandre Rostovtsev <tetromino <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 20 06:49:10 2011 +0000
Commit: Alexandre Restovtsev <tetromino <AT> gmail <DOT> com>
CommitDate: Thu Oct 20 06:49:10 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=b7b04d47
media-libs/grilo, media-plugins/grilo-plugins: in gx86
---
media-libs/grilo/files/grilo-0.1.16-constants.py | 50 ------------
.../files/grilo-0.1.16-fix-automagic-test-ui.patch | 32 --------
media-libs/grilo/grilo-0.1.17.ebuild | 80 --------------------
.../grilo-plugins-0.1.17-apple-trailers-fix.patch | 28 -------
.../grilo-plugins/grilo-plugins-0.1.17.ebuild | 77 -------------------
5 files changed, 0 insertions(+), 267 deletions(-)
diff --git a/media-libs/grilo/files/grilo-0.1.16-constants.py b/media-libs/grilo/files/grilo-0.1.16-constants.py
deleted file mode 100644
index e8e2690..0000000
--- a/media-libs/grilo/files/grilo-0.1.16-constants.py
+++ /dev/null
@@ -1,50 +0,0 @@
-KEY_NONEXISTING = 'nonexisting-key'
-KEY_ALBUM = 'album'
-KEY_ARTIST = 'artist'
-KEY_AUTHOR = 'author'
-KEY_BITRATE = 'bitrate'
-KEY_CERTIFICATE = 'certificate'
-KEY_CHILDCOUNT = 'childcount'
-KEY_DATE = 'date'
-KEY_DESCRIPTION = 'description'
-KEY_DURATION = 'duration'
-KEY_EXTERNAL_PLAYER = 'external-player'
-KEY_EXTERNAL_URL = 'external-url'
-KEY_FRAMERATE = 'framerate'
-KEY_GENRE = 'genre'
-KEY_HEIGHT = 'height'
-KEY_ID = 'id'
-KEY_LAST_PLAYED = 'last-played'
-KEY_LAST_POSITION = 'last-position'
-KEY_LICENSE = 'license'
-KEY_LYRICS = 'lyrics'
-KEY_MIME = 'mime'
-KEY_PLAY_COUNT = 'play-count'
-KEY_RATING = 'rating'
-KEY_SITE = 'site'
-KEY_SOURCE = 'source'
-KEY_STUDIO = 'studio'
-KEY_THUMBNAIL = 'thumbnail'
-KEY_TITLE = 'title'
-KEY_URL = 'url'
-KEY_WIDTH = 'width'
-
-REGISTERED_KEYS = [KEY_ALBUM, KEY_ARTIST, KEY_AUTHOR, KEY_BITRATE,
- KEY_CERTIFICATE, KEY_CHILDCOUNT, KEY_DATE,
- KEY_DESCRIPTION, KEY_DURATION, KEY_EXTERNAL_PLAYER,
- KEY_EXTERNAL_URL, KEY_FRAMERATE, KEY_GENRE, KEY_HEIGHT,
- KEY_ID, KEY_LAST_PLAYED, KEY_LAST_POSITION, KEY_LICENSE,
- KEY_LYRICS, KEY_MIME, KEY_PLAY_COUNT, KEY_RATING,
- KEY_SITE, KEY_SOURCE, KEY_STUDIO, KEY_THUMBNAIL,
- KEY_TITLE, KEY_URL, KEY_WIDTH]
-
-SUPPORTED_OPS = []
-try:
- from gi.repository import Grl
- SUPPORTED_OPS = [Grl.SupportedOps.NONE, Grl.SupportedOps.METADATA,
- Grl.SupportedOps.RESOLVE, Grl.SupportedOps.BROWSE,
- Grl.SupportedOps.SEARCH, Grl.SupportedOps.QUERY,
- Grl.SupportedOps.STORE, Grl.SupportedOps.STORE_PARENT,
- Grl.SupportedOps.REMOVE, Grl.SupportedOps.SET_METADATA]
-except:
- pass
diff --git a/media-libs/grilo/files/grilo-0.1.16-fix-automagic-test-ui.patch b/media-libs/grilo/files/grilo-0.1.16-fix-automagic-test-ui.patch
deleted file mode 100644
index 64ae0c3..0000000
--- a/media-libs/grilo/files/grilo-0.1.16-fix-automagic-test-ui.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- configure.ac
-+++ configure.ac
-@@ -104,12 +104,25 @@
- # UI Tool
- # ----------------------------------------------------------
-
--gtkver="gtk+-3.0"
--PKG_CHECK_EXISTS([gtk+-3.0 >= 3.0], [gtkver="gtk+-3.0"], [gtkver="gtk+-2.0"])
--
--PKG_CHECK_MODULES([GTU], [ ${gtkver} ],
-+PKG_CHECK_MODULES([GTU], [ gtk+-3.0 >= 3.0 ],
- [ BUILD_GRILO_TEST_UI=yes ],
- [ BUILD_GRILO_TEST_UI=no ])
-+AC_ARG_ENABLE([test_ui],
-+ AS_HELP_STRING([--enable-test-ui],
-+ [Enable Grilo Test UI (default: auto)]),
-+ [
-+ case "$enableval" in
-+ yes)
-+ if test "x$BUILD_GRILO_TEST_UI" = "xno"; then
-+ AC_MSG_ERROR([gtk+-3.0 >= 3.0 not found, install it
-+ or use --disable-test-ui])
-+ fi
-+ ;;
-+ no)
-+ BUILD_GRILO_TEST_UI=no
-+ ;;
-+ esac
-+ ])
-
- AM_CONDITIONAL(BUILD_GRILO_TEST_UI, test "x$BUILD_GRILO_TEST_UI" = "xyes")
-
diff --git a/media-libs/grilo/grilo-0.1.17.ebuild b/media-libs/grilo/grilo-0.1.17.ebuild
deleted file mode 100644
index 324cd77..0000000
--- a/media-libs/grilo/grilo-0.1.17.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/grilo/grilo-0.1.16.ebuild,v 1.1 2011/08/14 10:52:25 nirbheek Exp $
-
-EAPI="4"
-GNOME2_LA_PUNT="yes"
-
-inherit autotools eutils gnome2
-
-DESCRIPTION="A framework for easy media discovery and browsing"
-HOMEPAGE="https://live.gnome.org/Grilo"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc examples +introspection +network test test-ui vala"
-
-RDEPEND="
- >=dev-libs/glib-2.22:2
- dev-libs/libxml2:2
- network? ( >=net-libs/libsoup-2.33.4:2.4 )
- test-ui? ( >=x11-libs/gtk+-3.0:3 )
- introspection? ( >=dev-libs/gobject-introspection-0.9 )"
-DEPEND="${RDEPEND}
- >=dev-util/pkgconfig-0.9
- doc? ( >=dev-util/gtk-doc-1.10 )
- vala? ( dev-lang/vala:0.12[vapigen] )
- test? (
- dev-python/pygobject:2[introspection?]
- media-plugins/grilo-plugins )"
-
-# Tests fail horribly, but return 0
-RESTRICT="test"
-
-pkg_setup() {
- DOCS="AUTHORS NEWS README TODO"
- # --enable-debug only changes CFLAGS, useless for us
- G2CONF="${G2CONF}
- --disable-maintainer-mode
- --disable-static
- --disable-debug
- VALAC=$(type -P valac-0.12)
- VALA_GEN_INTROSPECT=$(type -P vala-gen-introspect-0.12)
- VAPIGEN=$(type -P vapigen-0.12)
- $(use_enable introspection)
- $(use_enable network grl-net)
- $(use_enable test tests)
- $(use_enable test-ui)
- $(use_enable vala)"
-}
-
-src_prepare() {
- # Don't build examples
- sed -e '/SUBDIRS/s/examples//' \
- -i Makefile.am -i Makefile.in || die
-
- # Fix Test-UI automagic gtk2/gtk3 selection
- epatch "${FILESDIR}/${PN}-0.1.16-fix-automagic-test-ui.patch"
-
- # Build system doesn't install this file with the tarball
- cp "${FILESDIR}/${PN}-0.1.16-constants.py" "${S}/tests/python/constants.py"
- eautoreconf
-
- gnome2_src_prepare
-}
-
-src_test() {
- cd tests/
- emake check
-}
-
-src_install() {
- gnome2_src_install
-
- if use examples; then
- # Install example code
- insinto /usr/share/doc/${PF}/examples
- doins "${S}"/examples/*.c
- fi
-}
diff --git a/media-plugins/grilo-plugins/files/grilo-plugins-0.1.17-apple-trailers-fix.patch b/media-plugins/grilo-plugins/files/grilo-plugins-0.1.17-apple-trailers-fix.patch
deleted file mode 100644
index 5cfec86..0000000
--- a/media-plugins/grilo-plugins/files/grilo-plugins-0.1.17-apple-trailers-fix.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a68da37a138c6dfa4af73bec94a628988f79f3a0 Mon Sep 17 00:00:00 2001
-From: Juan A. Suarez Romero <jasuarez@igalia.com>
-Date: Wed, 07 Sep 2011 18:08:22 +0000
-Subject: apple-trailers: set mime-type
-
-Mime-type is set to "video/mp4".
-
-From the webpage, seems the .mov files have this mimetype.
-
-And .m4v has usually this mimetype too.
-
-Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
----
-diff --git a/src/media/apple-trailers/grl-apple-trailers.c b/src/media/apple-trailers/grl-apple-trailers.c
-index 949f188..9977094 100644
---- a/src/media/apple-trailers/grl-apple-trailers.c
-+++ b/src/media/apple-trailers/grl-apple-trailers.c
-@@ -361,6 +361,8 @@ build_media_from_movie (xmlNodePtr node, gboolean xlarge)
- grl_media_set_certificate (media, movie_rating);
- grl_media_set_studio (media, movie_studio);
-
-+ grl_media_set_mime (media, "video/mp4");
-+
- /* FIXME: Translation */
- grl_media_set_license (media, movie_copyright);
-
---
-cgit v0.9.0.2
diff --git a/media-plugins/grilo-plugins/grilo-plugins-0.1.17.ebuild b/media-plugins/grilo-plugins/grilo-plugins-0.1.17.ebuild
deleted file mode 100644
index f2efd6e..0000000
--- a/media-plugins/grilo-plugins/grilo-plugins-0.1.17.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-plugins/grilo-plugins/grilo-plugins-0.1.16.ebuild,v 1.1 2011/08/14 10:52:41 nirbheek Exp $
-
-EAPI="4"
-GNOME2_LA_PUNT="yes"
-
-inherit autotools eutils gnome2
-
-DESCRIPTION="A framework for easy media discovery and browsing"
-HOMEPAGE="https://live.gnome.org/Grilo"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="+youtube +vimeo upnp"
-
-RDEPEND="
- >=dev-libs/glib-2.26:2
- =media-libs/grilo-${PV}[network]
-
- || ( dev-libs/gmime:2.6 dev-libs/gmime:2.4 )
- dev-libs/libxml2:2
- dev-db/sqlite:3
-
- youtube? ( >=dev-libs/libgdata-0.7
- >=media-libs/quvi-0.2.15 )
- upnp? ( >=net-libs/gupnp-0.13
- >=net-libs/gupnp-av-0.5 )
- vimeo? ( net-libs/libsoup:2.4
- dev-libs/libgcrypt )"
-DEPEND="${RDEPEND}
- >=dev-util/pkgconfig-0.9"
-
-# `make check` doesn't do anything, and ${S}/test/test fails without all plugins
-RESTRICT="test"
-
-pkg_setup() {
- DOCS="AUTHORS NEWS README"
- # --enable-debug only changes CFLAGS, useless for us
- G2CONF="${G2CONF}
- --disable-maintainer-mode
- --disable-static
- --disable-debug
- --disable-uninstalled"
-
- # Plugins
- # TODO: Enable tracker support (requires tracker-0.10.5+)
- # TODO: Enable Blip.TV support (requires librest)
- G2CONF="${G2CONF}
- --enable-apple-trailers
- --enable-bookmarks
- --enable-filesystem
- --enable-flickr
- --enable-gravatar
- --enable-jamendo
- --enable-lastfm-albumart
- --enable-localmetadata
- --enable-metadata-store
- --enable-podcasts
- --disable-bliptv
- --disable-shoutcast
- --disable-tracker
- $(use_enable upnp)
- $(use_enable youtube)
- $(use_enable vimeo)"
-}
-
-src_prepare() {
- sed -i -e 's/^\(SUBDIRS .*\)test/\1/g' Makefile.*
-
- epatch "${FILESDIR}/${P}-apple-trailers-fix.patch"
-
- eautoreconf
-
- gnome2_src_prepare
-}
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-10-20 6:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-04 17:12 [gentoo-commits] proj/gnome:master commit in: media-libs/grilo/, media-plugins/grilo-plugins/files/, Alexandre Restovtsev
-- strict thread matches above, loose matches on Subject: below --
2011-10-20 6:49 Alexandre Restovtsev
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox