[totem-pl-parser] rebuild for libquvi.so.7

Daniel Drake dsd at fedoraproject.org
Thu Nov 17 18:55:12 UTC 2011


commit 773d30e0e0bfce53cc1c8eeabf5a48f56a190ab9
Author: Daniel Drake <dsd at laptop.org>
Date:   Thu Nov 17 12:53:08 2011 -0600

    rebuild for libquvi.so.7

 totem-pl-parser-glib-2.31.patch |  138 +++++++++++++++++++++++++++++++++++++++
 totem-pl-parser-quvi-0.4.patch  |   38 +++++++++++
 totem-pl-parser.spec            |   13 +++-
 3 files changed, 187 insertions(+), 2 deletions(-)
---
diff --git a/totem-pl-parser-glib-2.31.patch b/totem-pl-parser-glib-2.31.patch
new file mode 100644
index 0000000..05f5614
--- /dev/null
+++ b/totem-pl-parser-glib-2.31.patch
@@ -0,0 +1,138 @@
+From c3701d43da1dcb3ce53e1d2cb3a0fb157c22df00 Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen at redhat.com>
+Date: Fri, 07 Oct 2011 19:08:58 +0000
+Subject: Adapt to API changes and deprecations in GLib 2.31
+
+The threading api got renovated.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=661219
+---
+diff --git a/plparse/totem-pl-parser.c b/plparse/totem-pl-parser.c
+index 0e99536..ea1e9c3 100644
+--- a/plparse/totem-pl-parser.c
++++ b/plparse/totem-pl-parser.c
+@@ -256,7 +256,7 @@ static void totem_pl_parser_get_property (GObject *object,
+ struct TotemPlParserPrivate {
+ 	GList *ignore_schemes;
+ 	GList *ignore_mimetypes;
+-	GMutex *ignore_mutex;
++	GMutex ignore_mutex;
+ 	GThread *main_thread; /* see CALL_ASYNC() in *-private.h */
+ 
+ 	guint recurse : 1;
+@@ -325,8 +325,6 @@ totem_pl_parser_class_init (TotemPlParserClass *klass)
+ 	GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ 
+ 	totem_pl_parser_parent_class = g_type_class_peek_parent (klass);
+-	if (!g_thread_supported ())
+-		g_thread_init (NULL);
+ 
+ 	g_type_class_add_private (klass, sizeof (TotemPlParserPrivate));
+ 
+@@ -1274,7 +1272,6 @@ static void
+ totem_pl_parser_init (TotemPlParser *parser)
+ {
+ 	parser->priv = G_TYPE_INSTANCE_GET_PRIVATE (parser, TOTEM_TYPE_PL_PARSER, TotemPlParserPrivate);
+-	parser->priv->ignore_mutex = g_mutex_new ();
+ 	parser->priv->main_thread = g_thread_self ();
+ }
+ 
+@@ -1292,7 +1289,7 @@ totem_pl_parser_finalize (GObject *object)
+ 	g_list_foreach (priv->ignore_mimetypes, (GFunc) g_free, NULL);
+ 	g_list_free (priv->ignore_mimetypes);
+ 
+-	g_mutex_free (priv->ignore_mutex);
++	g_mutex_clear (&priv->ignore_mutex);
+ 
+ 	G_OBJECT_CLASS (totem_pl_parser_parent_class)->finalize (object);
+ }
+@@ -1523,22 +1520,22 @@ totem_pl_parser_scheme_is_ignored (TotemPlParser *parser, GFile *uri)
+ {
+ 	GList *l;
+ 
+-	g_mutex_lock (parser->priv->ignore_mutex);
++	g_mutex_lock (&parser->priv->ignore_mutex);
+ 
+ 	if (parser->priv->ignore_schemes == NULL) {
+-		g_mutex_unlock (parser->priv->ignore_mutex);
++		g_mutex_unlock (&parser->priv->ignore_mutex);
+ 		return FALSE;
+ 	}
+ 
+ 	for (l = parser->priv->ignore_schemes; l != NULL; l = l->next) {
+ 		const char *scheme = l->data;
+ 		if (g_file_has_uri_scheme (uri, scheme) != FALSE) {
+-			g_mutex_unlock (parser->priv->ignore_mutex);
++			g_mutex_unlock (&parser->priv->ignore_mutex);
+ 			return TRUE;
+ 		}
+ 	}
+ 
+-	g_mutex_unlock (parser->priv->ignore_mutex);
++	g_mutex_unlock (&parser->priv->ignore_mutex);
+ 
+ 	return FALSE;
+ }
+@@ -1549,10 +1546,10 @@ totem_pl_parser_mimetype_is_ignored (TotemPlParser *parser,
+ {
+ 	GList *l;
+ 
+-	g_mutex_lock (parser->priv->ignore_mutex);
++	g_mutex_lock (&parser->priv->ignore_mutex);
+ 
+ 	if (parser->priv->ignore_mimetypes == NULL) {
+-		g_mutex_unlock (parser->priv->ignore_mutex);
++		g_mutex_unlock (&parser->priv->ignore_mutex);
+ 		return FALSE;
+ 	}
+ 
+@@ -1560,12 +1557,12 @@ totem_pl_parser_mimetype_is_ignored (TotemPlParser *parser,
+ 	{
+ 		const char *item = l->data;
+ 		if (strcmp (mimetype, item) == 0) {
+-			g_mutex_unlock (parser->priv->ignore_mutex);
++			g_mutex_unlock (&parser->priv->ignore_mutex);
+ 			return TRUE;
+ 		}
+ 	}
+ 
+-	g_mutex_unlock (parser->priv->ignore_mutex);
++	g_mutex_unlock (&parser->priv->ignore_mutex);
+ 
+ 	return FALSE;
+ }
+@@ -2191,7 +2188,7 @@ totem_pl_parser_add_ignored_scheme (TotemPlParser *parser,
+ 
+ 	g_return_if_fail (TOTEM_IS_PL_PARSER (parser));
+ 
+-	g_mutex_lock (parser->priv->ignore_mutex);
++	g_mutex_lock (&parser->priv->ignore_mutex);
+ 
+ 	s = g_strdup (scheme);
+ 	if (s[strlen (s) - 1] == ':')
+@@ -2199,7 +2196,7 @@ totem_pl_parser_add_ignored_scheme (TotemPlParser *parser,
+ 	parser->priv->ignore_schemes = g_list_prepend
+ 		(parser->priv->ignore_schemes, s);
+ 
+-	g_mutex_unlock (parser->priv->ignore_mutex);
++	g_mutex_unlock (&parser->priv->ignore_mutex);
+ }
+ 
+ /**
+@@ -2216,12 +2213,12 @@ totem_pl_parser_add_ignored_mimetype (TotemPlParser *parser,
+ {
+ 	g_return_if_fail (TOTEM_IS_PL_PARSER (parser));
+ 
+-	g_mutex_lock (parser->priv->ignore_mutex);
++	g_mutex_lock (&parser->priv->ignore_mutex);
+ 
+ 	parser->priv->ignore_mimetypes = g_list_prepend
+ 		(parser->priv->ignore_mimetypes, g_strdup (mimetype));
+ 
+-	g_mutex_unlock (parser->priv->ignore_mutex);
++	g_mutex_unlock (&parser->priv->ignore_mutex);
+ }
+ 
+ /**
+--
+cgit v0.9.0.2
diff --git a/totem-pl-parser-quvi-0.4.patch b/totem-pl-parser-quvi-0.4.patch
new file mode 100644
index 0000000..4f98aa2
--- /dev/null
+++ b/totem-pl-parser-quvi-0.4.patch
@@ -0,0 +1,38 @@
+From 4e15c57a438ee900f6ce601810a59a316b039fa1 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess at hadess.net>
+Date: Fri, 21 Oct 2011 15:36:26 +0000
+Subject: lib: Require quvi 0.4.0
+
+And adapt API usage.
+
+Original patch by Marien Zwart in:
+https://bugs.gentoo.org/show_bug.cgi?id=386651
+
+https://bugzilla.gnome.org/show_bug.cgi?id=661451
+---
+diff --git a/plparse/totem-pl-parser-videosite.c b/plparse/totem-pl-parser-videosite.c
+index 9706d5a..b1645d6 100644
+--- a/plparse/totem-pl-parser-videosite.c
++++ b/plparse/totem-pl-parser-videosite.c
+@@ -75,7 +75,7 @@ totem_pl_parser_add_videosite (TotemPlParser *parser,
+ #ifdef HAVE_QUVI
+ 	QUVIcode rc;
+ 	quvi_t handle;
+-	quvi_video_t v;
++	quvi_media_t v;
+ 	char *uri;
+ 	/* properties */
+ 	const char *video_uri;
+@@ -104,8 +104,8 @@ totem_pl_parser_add_videosite (TotemPlParser *parser,
+ 		return TOTEM_PL_PARSER_RESULT_ERROR;
+ 	}
+ 
+-	getprop (QUVIPROP_VIDEOURL, video_uri);
+-	if (quvi_getprop (v, QUVIPROP_VIDEOFILELENGTH, &length) == QUVI_OK)
++	getprop (QUVIPROP_MEDIAURL, video_uri);
++	if (quvi_getprop (v, QUVIPROP_MEDIACONTENTLENGTH, &length) == QUVI_OK)
+ 		length_str = g_strdup_printf ("%f", length);
+ 	else
+ 		length_str = NULL;
+--
+cgit v0.9.0.2
diff --git a/totem-pl-parser.spec b/totem-pl-parser.spec
index c256810..59eba9d 100644
--- a/totem-pl-parser.spec
+++ b/totem-pl-parser.spec
@@ -1,6 +1,6 @@
 Name:		totem-pl-parser
 Version:	2.32.6
-Release:	2%{?dist}
+Release:	3%{?dist}
 Summary:	Totem Playlist Parser library
 
 Group:		System Environment/Libraries
@@ -9,13 +9,16 @@ Url:		http://www.gnome.org/projects/totem/
 Source0:	http://download.gnome.org/sources/%{name}/2.31/%{name}-%{version}.tar.bz2
 Obsoletes:	totem-plparser
 
+Patch0:		totem-pl-parser-quvi-0.4.patch
+Patch1:		totem-pl-parser-glib-2.31.patch
+
 BuildRequires:	glib2-devel
 BuildRequires:	gmime-devel
 BuildRequires:	libxml2-devel
 BuildRequires:	libsoup-devel
 BuildRequires:	gobject-introspection-devel
 BuildRequires:	gettext
-BuildRequires:	quvi-devel
+BuildRequires:	libquvi-devel
 BuildRequires:	libarchive-devel
 BuildRequires:	perl(XML::Parser) intltool
 
@@ -38,6 +41,8 @@ developing applications that use %{name}.
 
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
 
 %build
 %configure --enable-static=no
@@ -68,6 +73,10 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
 %{_datadir}/gir-1.0/*.gir
 
 %changelog
+* Thu Nov 17 2011 Daniel Drake <dsd at laptop.org> 2.32.6-3
+- Add upstream compile fix for libquvi.so.7 (and rebuild for this version)
+- Add upstream compile fix for glib-2.31
+
 * Wed Nov 16 2011 Peter Robinson <pbrobinson at fedoraproject.org> 2.32.6-2
 - Rebuild for new libarchive and quvi
 


More information about the scm-commits mailing list