[arch-commits] Commit in gnome-python-desktop/trunk (2 files)

Jan de Groot jgc at archlinux.org
Sun Feb 14 13:19:48 UTC 2010


    Date: Sunday, February 14, 2010 @ 08:19:47
  Author: jgc
Revision: 68788

upgpkg: gnome-python-desktop 2.29.1-1
Update to 2.29.1

Added:
  gnome-python-desktop/trunk/totem-plparser-api.patch
Modified:
  gnome-python-desktop/trunk/PKGBUILD

--------------------------+
 PKGBUILD                 |   15 -
 totem-plparser-api.patch |  498 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 507 insertions(+), 6 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2010-02-14 12:59:48 UTC (rev 68787)
+++ PKGBUILD	2010-02-14 13:19:47 UTC (rev 68788)
@@ -4,21 +4,24 @@
 # Contributor: Wael Nasreddine <gandalf at siemens-mobiles.org>
 
 pkgname=gnome-python-desktop
-pkgver=2.28.0
-pkgrel=3
+pkgver=2.29.1
+pkgrel=1
 pkgdesc="Gnome Python interfaces for libraries not part of the core platform"
 arch=(i686 x86_64)
 license=('GPL' 'LGPL')
-depends=('gnome-desktop>=2.28.1' 'gnome-python>=2.28.0')
+depends=('gnome-desktop>=2.29.90' 'gnome-python>=2.28.0')
 options=('!libtool')
-makedepends=('intltool' 'pkgconfig' 'gnome-media>=2.28.1' 'gnome-panel>=2.28.0' 'gtksourceview>=1.8.5' 'libgnomeprintui>=2.18.4' 'libgtop>=2.28.0' 'totem-plparser>=2.28.1' 'evince>=2.28.1' 'bug-buddy>=2.28.0' 'brasero>=2.28.2')
+makedepends=('intltool' 'pkgconfig' 'gnome-media>=2.28.5' 'gnome-panel>=2.29.6' 'gtksourceview>=1.8.5' 'libgnomeprintui>=2.18.4' 'libgtop>=2.28.0' 'totem-plparser>=2.29.1' 'evince>=2.29.5' 'bug-buddy>=2.28.0' 'brasero>=2.29.90')
 optdepends=('gnome-media' 'gnome-panel' 'gtksourceview' 'libgnomeprintui' 'libgtop' 'totem-plparser' 'evince' 'bug-buddy' 'brasero')
 url="http://www.gnome.org"
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.28/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('92948d2dd0d03a56abe565f3c24725242251db261bd0a12aad5a742326cb3c7f')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.29/${pkgname}-${pkgver}.tar.bz2
+        totem-plparser-api.patch)
+sha256sums=('7cc853f9d7cc7fdc895006abbe7a8c5bb3b27d6d4dc14d2bb09afc63fd397618'
+            '2657e937801103b009a4c84777bfaa764ca847293a2ae9fcf6d946070c7f8309')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
+  patch -Np1 -i "${srcdir}/totem-plparser-api.patch" || return 1
   ./waf configure --prefix=/usr || return 1
   ./waf build ${MAKEFLAGS} || return 1
   ./waf install --destdir="${pkgdir}" || return 1

Added: totem-plparser-api.patch
===================================================================
--- totem-plparser-api.patch	                        (rev 0)
+++ totem-plparser-api.patch	2010-02-14 13:19:47 UTC (rev 68788)
@@ -0,0 +1,498 @@
+From fa0d4db4f90d50d82ccdd6628eec91476a567a88 Mon Sep 17 00:00:00 2001
+From: Gustavo Carneiro <gjc at inescporto.pt>
+Date: Thu, 28 Jan 2010 16:10:16 +0000
+Subject: Bug 608331 - totem-pl-parser doesn't build with latest totem-pl-parser
+
+---
+diff --git a/totem/plparser.defs b/totem/plparser.defs
+index 184578e..9f25ff1 100644
+--- a/totem/plparser.defs
++++ b/totem/plparser.defs
+@@ -1,8 +1,24 @@
+ ;; -*- scheme -*-
+ ; object definitions ...
++
++(define-object Parser
++  (in-module "totem.plparser")
++  (parent "GObject")
++  (c-name "TotemPlParser")
++  (gtype-id "TOTEM_TYPE_PL_PARSER")
++)
++
++(define-object Playlist
++  (in-module "totem.playlist")
++  (parent "GObject")
++  (c-name "TotemPlPlaylist")
++  (gtype-id "TOTEM_TYPE_PL_PLAYLIST")
++)
++
+ ;; Enumerations and flags ...
+ 
+-(define-enum ParserResult
++
++(define-enum PlParserResult
+   (in-module "Totem")
+   (c-name "TotemPlParserResult")
+   (gtype-id "TOTEM_TYPE_PL_PARSER_RESULT")
+@@ -10,10 +26,12 @@
+     '("unhandled" "TOTEM_PL_PARSER_RESULT_UNHANDLED")
+     '("error" "TOTEM_PL_PARSER_RESULT_ERROR")
+     '("success" "TOTEM_PL_PARSER_RESULT_SUCCESS")
++    '("ignored" "TOTEM_PL_PARSER_RESULT_IGNORED")
++    '("cancelled" "TOTEM_PL_PARSER_RESULT_CANCELLED")
+   )
+ )
+ 
+-(define-enum ParserType
++(define-enum PlParserType
+   (in-module "Totem")
+   (c-name "TotemPlParserType")
+   (gtype-id "TOTEM_TYPE_PL_PARSER_TYPE")
+@@ -21,47 +39,60 @@
+     '("pls" "TOTEM_PL_PARSER_PLS")
+     '("m3u" "TOTEM_PL_PARSER_M3U")
+     '("m3u-dos" "TOTEM_PL_PARSER_M3U_DOS")
++    '("xspf" "TOTEM_PL_PARSER_XSPF")
++    '("iriver-pla" "TOTEM_PL_PARSER_IRIVER_PLA")
+   )
+ )
+ 
+-(define-enum ParserError
++(define-enum PlParserError
+   (in-module "Totem")
+   (c-name "TotemPlParserError")
+   (gtype-id "TOTEM_TYPE_PL_PARSER_ERROR")
+   (values
+-    '("open" "TOTEM_PL_PARSER_ERROR_VFS_OPEN")
+-    '("write" "TOTEM_PL_PARSER_ERROR_VFS_WRITE")
++    '("no-disc" "TOTEM_PL_PARSER_ERROR_NO_DISC")
++    '("mount-failed" "TOTEM_PL_PARSER_ERROR_MOUNT_FAILED")
+   )
+ )
+ 
+ 
+ ;; From totem-pl-parser.h
+ 
+-(define-object Parser
+-  (in-module "PlaylistParser")
+-  (parent "GObject")
+-  (c-name "TotemPlParser")
+-  (gtype-id "TOTEM_TYPE_PL_PARSER")
+-)
+-
+-(define-function totem_pl_parser_error_quark
++(define-function error_quark
+   (c-name "totem_pl_parser_error_quark")
+   (return-type "GQuark")
+ )
+ 
+-(define-function totem_pl_parser_get_type
++(define-function get_type
+   (c-name "totem_pl_parser_get_type")
+   (return-type "GType")
+ )
+ 
+-(define-method write
++(define-function parse_duration
++  (c-name "totem_pl_parser_parse_duration")
++  (return-type "gint64")
++  (parameters
++    '("const-char*" "duration")
++    '("gboolean" "debug")
++  )
++)
++
++(define-function parse_date
++  (c-name "totem_pl_parser_parse_date")
++  (return-type "guint64")
++  (parameters
++    '("const-char*" "date_str")
++    '("gboolean" "debug")
++  )
++)
++
++(define-method save
+   (of-object "TotemPlParser")
+-  (c-name "totem_pl_parser_write")
++  (c-name "totem_pl_parser_save")
+   (return-type "gboolean")
+   (parameters
+-    '("GtkTreeModel*" "model")
+-    '("TotemPlParserIterFunc" "func")
+-    '("const-char*" "output")
++    '("TotemPlPlaylist*" "playlist")
++    '("GFile*" "dest")
++    '("const-gchar*" "title")
+     '("TotemPlParserType" "type")
+     '("GError**" "error")
+   )
+@@ -76,20 +107,243 @@
+   )
+ )
+ 
++(define-method add_ignored_mimetype
++  (of-object "TotemPlParser")
++  (c-name "totem_pl_parser_add_ignored_mimetype")
++  (return-type "none")
++  (parameters
++    '("const-char*" "mimetype")
++  )
++)
++
+ (define-method parse
+   (of-object "TotemPlParser")
+   (c-name "totem_pl_parser_parse")
+   (return-type "TotemPlParserResult")
+   (parameters
+-    '("const-char*" "url")
++    '("const-char*" "uri")
+     '("gboolean" "fallback")
+   )
+ )
+ 
+-(define-function totem_pl_parser_new
++(define-method parse_async
++  (of-object "TotemPlParser")
++  (c-name "totem_pl_parser_parse_async")
++  (return-type "none")
++  (parameters
++    '("const-char*" "uri")
++    '("gboolean" "fallback")
++    '("GCancellable*" "cancellable")
++    '("GAsyncReadyCallback" "callback")
++    '("gpointer" "user_data")
++  )
++)
++
++(define-method parse_finish
++  (of-object "TotemPlParser")
++  (c-name "totem_pl_parser_parse_finish")
++  (return-type "TotemPlParserResult")
++  (parameters
++    '("GAsyncResult*" "async_result")
++    '("GError**" "error")
++  )
++)
++
++(define-method parse_with_base
++  (of-object "TotemPlParser")
++  (c-name "totem_pl_parser_parse_with_base")
++  (return-type "TotemPlParserResult")
++  (parameters
++    '("const-char*" "uri")
++    '("const-char*" "base")
++    '("gboolean" "fallback")
++  )
++)
++
++(define-method parse_with_base_async
++  (of-object "TotemPlParser")
++  (c-name "totem_pl_parser_parse_with_base_async")
++  (return-type "none")
++  (parameters
++    '("const-char*" "uri")
++    '("const-char*" "base")
++    '("gboolean" "fallback")
++    '("GCancellable*" "cancellable")
++    '("GAsyncReadyCallback" "callback")
++    '("gpointer" "user_data")
++  )
++)
++
++(define-function new
+   (c-name "totem_pl_parser_new")
+   (is-constructor-of "TotemPlParser")
+   (return-type "TotemPlParser*")
+ )
+ 
++(define-function metadata_get_type
++  (c-name "totem_pl_parser_metadata_get_type")
++  (return-type "GType")
++)
++
++
++
++;; From totem-pl-parser-mini.h
++
++(define-function can_parse_from_data
++  (c-name "totem_pl_parser_can_parse_from_data")
++  (return-type "gboolean")
++  (parameters
++    '("const-char*" "data")
++    '("gsize" "len")
++    '("gboolean" "debug")
++  )
++)
++
++(define-function can_parse_from_filename
++  (c-name "totem_pl_parser_can_parse_from_filename")
++  (return-type "gboolean")
++  (parameters
++    '("const-char*" "filename")
++    '("gboolean" "debug")
++  )
++)
++
++
++
++;; From totem-pl-playlist.h
++
++(define-function totem_pl_playlist_get_type
++  (c-name "totem_pl_playlist_get_type")
++  (return-type "GType")
++)
++
++(define-function totem_pl_playlist_new
++  (c-name "totem_pl_playlist_new")
++  (is-constructor-of "TotemPlPlaylist")
++  (return-type "TotemPlPlaylist*")
++)
++
++(define-method size
++  (of-object "TotemPlPlaylist")
++  (c-name "totem_pl_playlist_size")
++  (return-type "guint")
++)
++
++(define-method prepend
++  (of-object "TotemPlPlaylist")
++  (c-name "totem_pl_playlist_prepend")
++  (return-type "none")
++  (parameters
++    '("TotemPlPlaylistIter*" "iter")
++  )
++)
++
++(define-method append
++  (of-object "TotemPlPlaylist")
++  (c-name "totem_pl_playlist_append")
++  (return-type "none")
++  (parameters
++    '("TotemPlPlaylistIter*" "iter")
++  )
++)
++
++(define-method insert
++  (of-object "TotemPlPlaylist")
++  (c-name "totem_pl_playlist_insert")
++  (return-type "none")
++  (parameters
++    '("gint" "position")
++    '("TotemPlPlaylistIter*" "iter")
++  )
++)
++
++(define-method iter_first
++  (of-object "TotemPlPlaylist")
++  (c-name "totem_pl_playlist_iter_first")
++  (return-type "gboolean")
++  (parameters
++    '("TotemPlPlaylistIter*" "iter")
++  )
++)
++
++(define-method iter_next
++  (of-object "TotemPlPlaylist")
++  (c-name "totem_pl_playlist_iter_next")
++  (return-type "gboolean")
++  (parameters
++    '("TotemPlPlaylistIter*" "iter")
++  )
++)
++
++(define-method iter_prev
++  (of-object "TotemPlPlaylist")
++  (c-name "totem_pl_playlist_iter_prev")
++  (return-type "gboolean")
++  (parameters
++    '("TotemPlPlaylistIter*" "iter")
++  )
++)
++
++(define-method get_value
++  (of-object "TotemPlPlaylist")
++  (c-name "totem_pl_playlist_get_value")
++  (return-type "gboolean")
++  (parameters
++    '("TotemPlPlaylistIter*" "iter")
++    '("const-gchar*" "key")
++    '("GValue*" "value")
++  )
++)
++
++(define-method get_valist
++  (of-object "TotemPlPlaylist")
++  (c-name "totem_pl_playlist_get_valist")
++  (return-type "none")
++  (parameters
++    '("TotemPlPlaylistIter*" "iter")
++    '("va_list" "args")
++  )
++)
++
++(define-method get
++  (of-object "TotemPlPlaylist")
++  (c-name "totem_pl_playlist_get")
++  (return-type "none")
++  (parameters
++    '("TotemPlPlaylistIter*" "iter")
++  )
++  (varargs #t)
++)
++
++(define-method set_value
++  (of-object "TotemPlPlaylist")
++  (c-name "totem_pl_playlist_set_value")
++  (return-type "gboolean")
++  (parameters
++    '("TotemPlPlaylistIter*" "iter")
++    '("const-gchar*" "key")
++    '("GValue*" "value")
++  )
++)
++
++(define-method set_valist
++  (of-object "TotemPlPlaylist")
++  (c-name "totem_pl_playlist_set_valist")
++  (return-type "none")
++  (parameters
++    '("TotemPlPlaylistIter*" "iter")
++    '("va_list" "args")
++  )
++)
++
++(define-method set
++  (of-object "TotemPlPlaylist")
++  (c-name "totem_pl_playlist_set")
++  (return-type "none")
++  (parameters
++    '("TotemPlPlaylistIter*" "iter")
++  )
++  (varargs #t)
++)
++
+ 
+diff --git a/totem/plparser.override b/totem/plparser.override
+index 3cbe2fb..48e1853 100644
+--- a/totem/plparser.override
++++ b/totem/plparser.override
+@@ -5,7 +5,7 @@ headers
+ #include "pygobject.h"
+ #include "totem-pl-parser.h"
+ #include "totem-pl-parser-builtins.h"
+-#include <gtk/gtk.h>
++#include "totem-pl-parser-mini.h"
+ #include <glib.h>
+ 
+ #include "config.h"
+@@ -14,108 +14,8 @@ headers
+ modulename totem.plparser
+ %%
+ import gobject.GObject as PyGObject_Type
+-import gtk.TreeModel as PyGtkTreeModel_Type
+ %%
+ ignore-glob
+   *_get_type
+   *_error_quark
+-%%
+-override totem_pl_parser_write kwargs
+-
+-typedef struct {
+-	PyObject *func;
+-	PyObject *data;
+-	gboolean has_error;
+-} PyPlParserIterFuncData;
+-
+-static void
+-_pl_parser_iter_func (GtkTreeModel *model, GtkTreeIter *iter, char **uri, char **title,
+-		      gboolean *custom_title, gpointer user_data)
+-{
+-	PyObject *args = NULL;
+-	PyObject *result = NULL;
+-	char *tmp_uri = NULL, *tmp_title = NULL;
+-	PyPlParserIterFuncData *data = user_data;
+-	PyObject *py_custom_title = NULL;
+-
+-	if (data->has_error)
+-		return;
+-
+-	if (data->data)
+-		args = Py_BuildValue ("(NNO)",
+-				      pygobject_new((GObject *)model),
+-				      pyg_boxed_new(GTK_TYPE_TREE_ITER, iter, TRUE, TRUE),
+-				      data->data);
+-	else
+-		args = Py_BuildValue ("(NN)",
+-				      pygobject_new((GObject *)model),
+-				      pyg_boxed_new(GTK_TYPE_TREE_ITER, iter, TRUE, TRUE));
+-	result = PyEval_CallObject (data->func, args);
+-	Py_DECREF (args);
+-	
+-	if (result == NULL) {
+-		data->has_error = TRUE;
+-		return;
+-	}
+-	  /* ?! */
+-	/* PyObject_Print (result, stdout, 0); */
+-
+-	if (PyString_Check (result)) {
+-		tmp_uri = PyString_AsString (result);
+-		if (tmp_uri == NULL) {
+-			PyErr_SetString (PyExc_TypeError,
+-					 "Callback function must return one"
+-					 " string or a tuple of two strings.");
+-			data->has_error = TRUE;
+-		}
+-	} else if (!PyTuple_Check (result) ||
+-		   !PyArg_ParseTuple (result, "ss|O", &tmp_uri, &tmp_title, &py_custom_title))
+-	{
+-		PyErr_SetString (PyExc_TypeError,
+-				 "Callback function must return one "
+-				 "string or a tuple of two strings,"
+-				 " or two strings and a boolean.");
+-		data->has_error = TRUE;
+-	}
+-	
+-	/* g_strdup handles NULL case for us */
+-	*uri = g_strdup (tmp_uri);
+-	*title = g_strdup (tmp_title);
+-	*custom_title = py_custom_title? PyObject_IsTrue(py_custom_title) : FALSE;
+-	
+-	Py_DECREF (result);
+-}
+ 
+-static PyObject *
+-_wrap_totem_pl_parser_write (PyGObject *self, PyObject *args, PyObject *kwargs)
+-{
+-	static char *kwlist[] = {"model", "iter_func", "output", "type", NULL};
+-	PyGObject *model;
+-	char *output;
+-	TotemPlParserType type;
+-	GError *error = NULL;
+-	PyPlParserIterFuncData data = {0, };
+-	
+-	if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!Osi|O:Parser.write",
+-					 kwlist, &PyGtkTreeModel_Type, &model,
+-					 &data.func, &output, &type, &data.data))
+-		return NULL;
+-	/* verify arguments' integrity */
+-	if (!PyCallable_Check (data.func)) {
+-		PyErr_SetString (PyExc_TypeError, "iter_func must be callable");
+-		return NULL;
+-	}
+-	if (!totem_pl_parser_write (TOTEM_PL_PARSER(self->obj),
+-	                            GTK_TREE_MODEL(model->obj),
+-	                            _pl_parser_iter_func,
+-	                            output,type, &data, &error))
+-	{
+-		/* return an GError */
+-		pyg_error_check(&error);
+-		return NULL;
+-	}
+-	if (data.has_error)
+-		return NULL;
+-	Py_INCREF(Py_None);
+-	return Py_None;
+-}
+--
+cgit v0.8.3.1




More information about the arch-commits mailing list