Index: PKGBUILD =================================================================== --- PKGBUILD (revision 120572) +++ PKGBUILD (working copy) @@ -5,17 +5,26 @@ pkgname=gnome-mplayer pkgver=1.0.9 -pkgrel=1 +pkgrel=2 pkgdesc='A simple MPlayer GUI.' arch=('i686' 'x86_64') url='http://gnome-mplayer.googlecode.com/' license=('GPL') depends=('mplayer' 'dbus-glib' 'libnotify' 'gnome-icon-theme' 'hicolor-icon-theme' 'dconf' 'gmtk') -makedepends=('gnome-power-manager' 'nautilus') +makedepends=('nautilus' 'nemo' 'caja' 'gconf') install="${pkgname}.install" -source=("https://${pkgname}.googlecode.com/svn/packages/${pkgname}-${pkgver}.tar.gz") -md5sums=('26c3ab335b6fcdda220b05c977f5b0f1') +source=("https://${pkgname}.googlecode.com/svn/packages/${pkgname}-${pkgver}.tar.gz" + "caja.patch") +md5sums=('26c3ab335b6fcdda220b05c977f5b0f1' + '60e40a9a3de78f82a99582bc70aa9f91') +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -Np0 -i "${srcdir}/caja.patch" + autoreconf -fi +} + build() { cd "${srcdir}/${pkgname}-${pkgver}" Index: caja.patch =================================================================== --- caja.patch (revision 0) +++ caja.patch (working copy) @@ -0,0 +1,241 @@ +Index: src/Makefile.am +=================================================================== +--- src/Makefile.am (revision 2474) ++++ src/Makefile.am (working copy) +@@ -144,7 +144,34 @@ + + endif #HAVE_NEMO + ++if HAVE_CAJA + ++cajadir = $(CAJADIR) ++caja_PROGRAMS = libgnome-mplayer-caja-properties-page.so ++ ++libgnome_mplayer_caja_properties_page_so_SOURCES = \ ++ ../config.h \ ++ mime_types.h \ ++ caja_property_page.c \ ++ property_page_common.c \ ++ property_page_common.h ++ ++libgnome_mplayer_caja_properties_page_so_CFLAGS = -fPIC \ ++ $(CAJA_CFLAGS) \ ++ $(GTK_CFLAGS) \ ++ $(GIO_CFLAGS) \ ++ $(AM_CFLAGS) ++ ++libgnome_mplayer_caja_properties_page_so_LDFLAGS = -shared ++ ++libgnome_mplayer_caja_properties_page_so_LDADD = \ ++ $(CAJA_LIBS) \ ++ $(GTK_LIBS) \ ++ $(GMLIB_LIBS) \ ++ $(GIO_LIBS) ++ ++endif #HAVE_CAJA ++ + EXTRA_DIST = + + indent: +Index: src/caja_property_page.c +=================================================================== +--- src/caja_property_page.c (revision 0) ++++ src/caja_property_page.c (revision 2475) +@@ -0,0 +1,153 @@ ++/* ++ * caja_property_page.c ++ * Copyright (C) Kevin DeKorte 2009 ++ * ++ * caja_property_page.c is free software. ++ * ++ * You may redistribute it and/or modify it under the terms of the ++ * GNU General Public License, as published by the Free Software ++ * Foundation; either version 2 of the License, or (at your option) ++ * any later version. ++ * ++ * caja_property_page.c is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ++ * See the GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with playlist.c. If not, write to: ++ * The Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor ++ * Boston, MA 02110-1301, USA. ++ */ ++ ++#ifdef HAVE_CONFIG_H ++#include ++#endif ++#include "mime_types.h" ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "property_page_common.h" ++ ++#define ENABLE_CAJA_PLUGIN "enable-nautilus-plugin" ++#define VERBOSE "verbose" ++ ++gint verbose; ++ ++static GType pp_type = 0; ++ ++ ++ ++ ++ ++static GList *gnome_mplayer_properties_get_pages(CajaPropertyPageProvider * provider, GList * files) ++{ ++ GList *pages = NULL; ++ CajaFileInfo *file; ++ GtkWidget *page, *label; ++ CajaPropertyPage *property_page; ++ guint i; ++ gboolean found = FALSE; ++ gchar *uri; ++ ++ /* only add properties page if a single file is selected */ ++ if (files == NULL || files->next != NULL) ++ return pages; ++ ++ file = files->data; ++ ++ /* only add the properties page to these mime types */ ++ for (i = 0; i < G_N_ELEMENTS(mime_types); i++) { ++ if (caja_file_info_is_mime_type(file, mime_types[i])) { ++ found = TRUE; ++ break; ++ } ++ } ++ ++ if (found) { ++ uri = caja_file_info_get_uri(file); ++ label = gtk_label_new(dgettext(GETTEXT_PACKAGE, "Audio/Video")); ++ page = gtk_table_new(20, 2, FALSE); ++ gtk_container_set_border_width(GTK_CONTAINER(page), 6); ++ if (get_properties(page, uri)) { ++ gtk_widget_show_all(page); ++ property_page = caja_property_page_new("video-properties", label, page); ++ pages = g_list_prepend(pages, property_page); ++ } ++ g_free(uri); ++ } ++ return pages; ++} ++ ++static void property_page_provider_iface_init(CajaPropertyPageProviderIface * iface) ++{ ++ iface->get_pages = gnome_mplayer_properties_get_pages; ++} ++ ++static void gnome_mplayer_properties_plugin_register_type(GTypeModule * module) ++{ ++ const GTypeInfo info = { ++ sizeof(GObjectClass), ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) NULL, ++ NULL, ++ NULL, ++ sizeof(GObject), ++ 0, ++ (GInstanceInitFunc) NULL ++ }; ++ const GInterfaceInfo property_page_provider_iface_info = { ++ (GInterfaceInitFunc) property_page_provider_iface_init, ++ NULL, ++ NULL ++ }; ++ ++ pp_type = g_type_module_register_type(module, G_TYPE_OBJECT, "GnomeMPlayerPropertiesPlugin", &info, 0); ++ g_type_module_add_interface(module, pp_type, CAJA_TYPE_PROPERTY_PAGE_PROVIDER, &property_page_provider_iface_info); ++} ++ ++ ++ ++ ++/* --- extension interface --- */ ++void caja_module_initialize(GTypeModule * module) ++{ ++ GmPrefStore *gm_store; ++ ++#ifdef ENABLE_NLS ++ bindtextdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); ++ bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); ++ // specify the domain in the translation calls so ++ // we don't mess up the translation of the other tabs ++ // textdomain(GETTEXT_PACKAGE); ++#endif ++ ++ verbose = 0; ++ ++ gm_store = gm_pref_store_new("gnome-mplayer"); ++ if (gm_pref_store_get_boolean_with_default(gm_store, ENABLE_CAJA_PLUGIN, TRUE)) { ++ verbose = gm_pref_store_get_int(gm_store, VERBOSE); ++ gnome_mplayer_properties_plugin_register_type(module); ++ } ++ gm_pref_store_free(gm_store); ++} ++ ++void caja_module_shutdown(void) ++{ ++} ++ ++void caja_module_list_types(const GType ** types, int *num_types) ++{ ++ static GType type_list[1]; ++ ++ type_list[0] = pp_type; ++ *types = type_list; ++ *num_types = G_N_ELEMENTS(type_list); ++} +Index: configure.in +=================================================================== +--- configure.in (revision 2474) ++++ configure.in (working copy) +@@ -306,6 +306,29 @@ + fi + AM_CONDITIONAL(HAVE_NEMO, test x$HAVE_NEMO = "xyes") + ++AC_ARG_ENABLE(caja, ++ AC_HELP_STRING([--enable-caja],[compile the caja plugin]), ++ [case "${enableval}" in ++ yes) ENABLE_CAJA=yes ;; ++ no) ENABLE_CAJA=no ;; ++ *) AC_MSG_ERROR(bad value ${enableval} for --enable-nautilus) ;; ++ esac], ++ [ENABLE_CAJA=yes]) dnl Default value ++ ++if test x$ENABLE_CAJA = "xyes" ; then ++ PKG_CHECK_MODULES(CAJA, libcaja-extension, ++ [HAVE_CAJA=yes], [HAVE_CAJA=no]) ++fi ++ ++AC_SUBST(CAJA_CFLAGS) ++AC_SUBST(CAJA_LIBS) ++if test x$HAVE_CAJA = "xyes"; then ++ AC_DEFINE(HAVE_CAJA, 1, [defined if you build the caja plugin]) ++ CAJADIR=`pkg-config --variable=extensiondir libcaja-extension` ++ AC_SUBST(CAJADIR) ++fi ++AM_CONDITIONAL(HAVE_CAJA, test x$HAVE_CAJA = "xyes") ++ + AC_ARG_ENABLE(gseal, + AC_HELP_STRING([--enable-gseal],[Enable flag for testing]), + [case "${enableval}" in +Index: ChangeLog +=================================================================== +--- ChangeLog (revision 2474) ++++ ChangeLog (working copy) +@@ -1,4 +1,5 @@ + Development ++ Add caja patch + 1.0.9 + Fix storing of disable fetch cover art preference + Work on fixing fullscreen mode hanging when control menu goes thru show/hide sequence