Date: Wednesday, September 15, 2010 @ 05:34:13 Author: jgc Revision: 90685
Split gnome-python-desktop into module packages. Replace the original gnome-python-desktop package with a metapackage depending on all packages. This metapackage contains the .pc file that should be in makedepends for packages depending on gnome-python-desktop Modified: gnome-python-desktop/trunk/PKGBUILD Deleted: gnome-python-desktop/trunk/totem-plparser-api.patch --------------------------+ PKGBUILD | 159 +++++++++++++- totem-plparser-api.patch | 498 --------------------------------------------- 2 files changed, 147 insertions(+), 510 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2010-09-15 09:03:23 UTC (rev 90684) +++ PKGBUILD 2010-09-15 09:34:13 UTC (rev 90685) @@ -3,24 +3,159 @@ # Contributor: Arjan Timmerman <[email protected]> # Contributor: Wael Nasreddine <[email protected]> -pkgname=gnome-python-desktop +pkgbase=gnome-python-desktop +pkgname=('gnome-python-desktop' 'python-brasero' 'python-bugbuddy' 'python-evince' 'python-evolution' 'python-gnomeapplet' 'python-gnomedesktop' 'python-gnomekeyring' 'python-gtop' 'python-mediaprofiles' 'python-metacity' 'python-rsvg' 'python-totem-plparser' 'python-wnck' 'python-gtksourceview' 'python-gnomeprint') pkgver=2.30.2 -pkgrel=2 -pkgdesc="Gnome Python interfaces for libraries not part of the core platform" +pkgrel=3 arch=(i686 x86_64) license=('GPL' 'LGPL') -depends=('gnome-desktop>=2.30.0' 'gnome-python>=2.28.1') options=('!libtool') -makedepends=('intltool' 'pkg-config' 'gnome-media>=2.30.0' 'gnome-panel>=2.30.0' 'gtksourceview>=1.8.5' 'libgnomeprintui>=2.18.5' 'libgtop>=2.28.1' 'totem-plparser>=2.30.1' 'evince>=2.30.1' 'bug-buddy>=2.30.0' 'brasero>=2.30.1') -optdepends=('gnome-media' 'gnome-panel' 'gtksourceview' 'libgnomeprintui' 'libgtop' 'totem-plparser' 'evince' 'bug-buddy' 'brasero') +makedepends=('intltool' 'pkg-config' 'gnome-media' 'gnome-panel' 'gtksourceview' 'libgnomeprintui' 'libgtop' 'totem-plparser' 'evince' 'bug-buddy' 'brasero' 'gnome-desktop' 'metacity') url="http://www.gnome.org" -source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.30/${pkgname}-${pkgver}.tar.bz2) +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgbase}/2.30/${pkgbase}-${pkgver}.tar.bz2) sha256sums=('23aa8dbae4bd3d00a5da1eae9500ba3787af4ad0481073ea53e5bff824bbcebb') build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./waf configure --prefix=/usr || return 1 - ./waf build ${MAKEFLAGS} || return 1 - ./waf install --destdir="${pkgdir}" || return 1 - install -m644 gnomeprint/art.defs "${pkgdir}/usr/share/pygtk/2.0/defs/" || return 1 + cd "${srcdir}/${pkgbase}-${pkgver}" + ./configure --prefix=/usr --enable-metacity || return 1 + make || return 1 } + +package_gnome-python-desktop() { + depends=('python-brasero' 'python-bugbuddy' 'python-evince' 'python-evolution' 'python-gnomeapplet' 'python-gnomedesktop' 'python-gnomekeyring' 'python-gtop' 'python-mediaprofiles' 'python-metacity' 'python-rsvg' 'python-totem-plparser' 'python-wnck' 'python-gtksourceview' 'python-gnomeprint') + pkgdesc="Python bindings for the GNOME desktop environment" + + cd "${srcdir}/${pkgbase}-${pkgver}" + make install-pkgconfigDATA DESTDIR="${pkgdir}" +} + +package_python-brasero() { + depends=('pygtk' 'brasero') + pkgdesc="Python bindings for brasero" + + cd "${srcdir}/${pkgbase}-${pkgver}" + make -C braseroburn install DESTDIR="${pkgdir}" + make -C braseromedia install DESTDIR="${pkgdir}" +} + +package_python-bugbuddy() { + depends=('pygtk' 'bug-buddy') + pkgdesc="Python module for bug-buddy" + + cd "${srcdir}/${pkgbase}-${pkgver}" + make install-pkgpyexecPYTHON DESTDIR="${pkgdir}" +} + +package_python-evince() { + depends=('pygtk' 'evince') + pkgdesc="Python bindings for evince" + + cd "${srcdir}/${pkgbase}-${pkgver}" + make -C evince install DESTDIR="${pkgdir}" +} + +package_python-evolution() { + depends=('pygtk' 'evolution-data-server') + pkgdesc="Python bindings for evolution" + + cd "${srcdir}/${pkgbase}-${pkgver}" + make -C evolution install DESTDIR="${pkgdir}" + ./py-compile --destdir "${pkgdir}" --basedir /usr/lib/python2.6/site-packages/gtk-2.0 evolution/__init__.py + install -m644 evolution/ecal.defs "${pkgdir}/usr/share/pygtk/2.0/defs/" +} + +package_python-gnomeapplet() { + depends=('pygtk' 'libgnomeui' 'gnome-panel') + pkgdesc="Python bindings for gnome-panel" + + cd "${srcdir}/${pkgbase}-${pkgver}" + make -C gnomeapplet install DESTDIR="${pkgdir}" +} + +package_python-gnomedesktop() { + depends=('pygtk' 'gnome-desktop') + pkgdesc="Python bindings for gnome-desktop" + + cd "${srcdir}/${pkgbase}-${pkgver}" + make -C gnomedesktop install DESTDIR="${pkgdir}" +} + +package_python-gnomekeyring() { + depends=('pygtk' 'libgnome-keyring') + pkgdesc="Python bindings for libgnome-keyring" + + cd "${srcdir}/${pkgbase}-${pkgver}" + make -C gnomekeyring install DESTDIR="${pkgdir}" +} + +package_python-gtop() { + depends=('pygtk' 'libgtop') + pkgdesc="Python bindings for libgtop" + + cd "${srcdir}/${pkgbase}-${pkgver}" + make -C gtop install DESTDIR="${pkgdir}" +} + +package_python-mediaprofiles() { + depends=('pygtk' 'gnome-media') + pkgdesc="Python bindings for gnome-media" + + cd "${srcdir}/${pkgbase}-${pkgver}" + make -C mediaprofiles install DESTDIR="${pkgdir}" +} + +package_python-metacity() { + depends=('pygtk' 'metacity') + pkgdesc="Python bindings for metacity" + + cd "${srcdir}/${pkgbase}-${pkgver}" + make -C metacity install DESTDIR="${pkgdir}" +} + +package_python-rsvg() { + depends=('pygtk' 'librsvg') + pkgdesc="Python bindings for librsvg" + + cd "${srcdir}/${pkgbase}-${pkgver}" + make -C rsvg install DESTDIR="${pkgdir}" + install -m755 -d "${pkgdir}/usr/share/pygtk/2.0/defs" + install -m644 rsvg/rsvg.defs "${pkgdir}/usr/share/pygtk/2.0/defs/" +} + +package_python-totem-plparser() { + depends=('pygtk' 'totem-plparser') + pkgdesc="Python bindings for totem-plparser" + + cd "${srcdir}/${pkgbase}-${pkgver}" + make -C totem install DESTDIR="${pkgdir}" + install -m755 -d "${pkgdir}/usr/share/pygtk/2.0/defs" + install -m644 totem/plparser.defs "${pkgdir}/usr/share/pygtk/2.0/defs/" +} + +package_python-wnck() { + depends=('pygtk' 'libwnck') + pkgdesc="Python bindings for libwnck" + + cd "${srcdir}/${pkgbase}-${pkgver}" + make -C wnck install DESTDIR="${pkgdir}" +} + +package_python-gtksourceview() { + depends=('pygtk' 'gtksourceview') + pkgdesc="Python bindings for gtksourceview" + + cd "${srcdir}/${pkgbase}-${pkgver}" + for dir in gtksourceview docs/gtksourceview; do + make -C ${dir} install DESTDIR="${pkgdir}" + done +} + +package_python-gnomeprint() { + depends=('pygtk' 'libgnomeprintui') + pkgdesc="Python bindings for libgnomeprintui" + + cd "${srcdir}/${pkgbase}-${pkgver}" + for dir in gnomeprint docs/gnomeprint docs/gnomeprintui; do + make -C ${dir} install DESTDIR="${pkgdir}" + done +} Deleted: totem-plparser-api.patch =================================================================== --- totem-plparser-api.patch 2010-09-15 09:03:23 UTC (rev 90684) +++ totem-plparser-api.patch 2010-09-15 09:34:13 UTC (rev 90685) @@ -1,498 +0,0 @@ -From fa0d4db4f90d50d82ccdd6628eec91476a567a88 Mon Sep 17 00:00:00 2001 -From: Gustavo Carneiro <[email protected]> -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
