Revision bump with upstream bugfixes that will allow us to re-enable mail support
authorPacho Ramos <pacho@gentoo.org>
Mon, 21 Jun 2010 18:48:09 +0000 (18:48 +0000)
committerPacho Ramos <pacho@gentoo.org>
Mon, 21 Jun 2010 18:48:09 +0000 (18:48 +0000)
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64

13 files changed:
gnome-extra/nautilus-sendto/ChangeLog
gnome-extra/nautilus-sendto/Manifest
gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-gseal-enable.patch [new file with mode: 0644]
gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-item-focus.patch [new file with mode: 0644]
gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-remove-empathy.patch [new file with mode: 0644]
gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-remove-old-evo.patch [new file with mode: 0644]
gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-shadowed-mounts.patch [new file with mode: 0644]
gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-thunderbird-command.patch [new file with mode: 0644]
gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload-dbus.patch [new file with mode: 0644]
gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload-init.patch [new file with mode: 0644]
gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload.patch [new file with mode: 0644]
gnome-extra/nautilus-sendto/metadata.xml
gnome-extra/nautilus-sendto/nautilus-sendto-2.28.4-r1.ebuild [new file with mode: 0644]

index 10cedaa815789b61b984ea8ac2d09ee700bb0a33..0a84f48d06a90247798e9c9068575838ba59315e 100644 (file)
@@ -1,6 +1,24 @@
 # ChangeLog for gnome-extra/nautilus-sendto
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-extra/nautilus-sendto/ChangeLog,v 1.35 2010/03/30 16:18:02 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-extra/nautilus-sendto/ChangeLog,v 1.36 2010/06/21 18:48:06 pacho Exp $
+
+*nautilus-sendto-2.28.4-r1 (21 Jun 2010)
+
+  21 Jun 2010; Pacho Ramos <pacho@gentoo.org>
+  +nautilus-sendto-2.28.4-r1.ebuild,
+  +files/nautilus-sendto-2.28.4-gseal-enable.patch,
+  +files/nautilus-sendto-2.28.4-item-focus.patch,
+  +files/nautilus-sendto-2.28.4-remove-empathy.patch,
+  +files/nautilus-sendto-2.28.4-remove-old-evo.patch,
+  +files/nautilus-sendto-2.28.4-shadowed-mounts.patch,
+  +files/nautilus-sendto-2.28.4-thunderbird-command.patch,
+  +files/nautilus-sendto-2.28.4-unload.patch,
+  +files/nautilus-sendto-2.28.4-unload-dbus.patch,
+  +files/nautilus-sendto-2.28.4-unload-init.patch, metadata.xml:
+  Revision bump to apply multiple patches from upstream that will allow us
+  to cleanup old evolution/empathy plugins (now provided by these
+  applications) and re-enable mail support (thanks to mondrillo for
+  reminding the problem in bug #324851), apart of fixing other minor bugs.
 
 *nautilus-sendto-2.28.4 (30 Mar 2010)
 
index 2969a74476372c09145ac6ceb9ef2ab268e7dfa8..59353ea4ff74c0ca804cdd449ddb5d1792c92c1d 100644 (file)
@@ -1,8 +1,28 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+AUX nautilus-sendto-2.28.4-gseal-enable.patch 1345 RMD160 04f7a02c986e381e3a4e9a34115826d9af24446d SHA1 bb675b34587fd00971f60f09317418a539786e94 SHA256 2e42e5ecf35cfdf348dfa2d77b94400e92dc8c0eb8150788c657f1fc1dc68126
+AUX nautilus-sendto-2.28.4-item-focus.patch 1009 RMD160 b8a159a58354fc5aea6257e05b4a171f5dabd1a3 SHA1 5fcf60028f772ad5c5c451266c92a3218c86f4b4 SHA256 e145e6a2992090ee1cbedd850121b7a921c8025eadca697a80db0504831adb18
+AUX nautilus-sendto-2.28.4-remove-empathy.patch 10102 RMD160 733e37b99248884b1968fa3935526a11b4371b0b SHA1 e41a087e0fc2a079e5a1a67f82e7e168172446ea SHA256 74b3680e93bea6a2f5bdd1acc3ee625f88b15efcd00b9c8f3464f005c90a999d
+AUX nautilus-sendto-2.28.4-remove-old-evo.patch 8821 RMD160 a465e10d107f3fc2ffc9db3fb346d9eed64fc972 SHA1 5a134685a7a2a375031f1ee57fbcfb3bc7bb0267 SHA256 c07ca391ead906a0993543b64b180e74242af0295123a36fc1844b1f19e5813b
+AUX nautilus-sendto-2.28.4-shadowed-mounts.patch 2407 RMD160 cc515b50b41707cc961ebf5122c858956f7fb6f5 SHA1 505efd8eb98d19d0fccdba62ca1eb866316cd7ad SHA256 92d339ad9d2d12cede2a766210426ddd5524b2e748d01b2ca8ae5460d35af94e
+AUX nautilus-sendto-2.28.4-thunderbird-command.patch 1329 RMD160 66184d87d33d66e50cb3223b31025c1fd4e8ebe8 SHA1 69e89a7b20249dcbe5fca9df89fe1418df7df5d6 SHA256 bb4c401ae83c40ed3378a75437f4cfed818f8e1074af643be0c0b3ac04d7c3e9
+AUX nautilus-sendto-2.28.4-unload-dbus.patch 669 RMD160 e67139e6a125fa3fab5e953b289f6b1449f2bf7d SHA1 44e918776d20ee355a40247d741719dce2155408 SHA256 1ec5d84b3b2659dae4c7b118b0f059b69bbf27d3e58abcab7893e59bdc912c14
+AUX nautilus-sendto-2.28.4-unload-init.patch 753 RMD160 20e9d6451a869810451f589603285ca6c9215589 SHA1 baf2d47c09324eff1095afd0e392a1562f4f20e2 SHA256 bac15fa5ff7838a2b679525f5d1da502d4b22081c7737f1f9e558e0d89f9a35c
+AUX nautilus-sendto-2.28.4-unload.patch 4212 RMD160 46b2c14e176d0f5bf5327f499dd73caae2e942df SHA1 58e485985b0913c9e55aded3aa0bb46fce96ef9e SHA256 630944971f0f2fb3680eb3e336b1639b4e1f767a0ef38d90138dda6b582254d2
 DIST nautilus-sendto-2.28.0.tar.bz2 401389 RMD160 f26925454bf53f5638395f8db6568c6ec6b90ac9 SHA1 9c102c3d8d9b6f9ee76cebf49d479937e6efbc78 SHA256 3f15fbe5c1cfc5bcadc39d47048ddae0dd0581a7494f365c5e531a2f3e77193c
 DIST nautilus-sendto-2.28.2.tar.bz2 423429 RMD160 1b78f89d85f30bc3542aa960abd732f57150c6c0 SHA1 9ca70f8e8bcfcff68e40fceae3e3a2c3aab71369 SHA256 0fa992b9a4489b712465e82eb182db3eaea9280397871f9d95849c25d1c33893
 DIST nautilus-sendto-2.28.4.tar.bz2 436967 RMD160 af316da07d133cc6c7b9e41a225ee68a13d4ac15 SHA1 da97f886a1e400c9e55ac57d01bddfae0362cb4f SHA256 ff6b1a73f7e662fb49c3a1aee59a5c17fc96c23fcf63c3b10b6142eaef344f06
 EBUILD nautilus-sendto-2.28.0.ebuild 2023 RMD160 0b0d86d4ae628176fbd2594e727f7d808b20fc4f SHA1 cebe52f458776de0b03f01f826d9c87f93a2d905 SHA256 01fbc2ead16137e07f11fc8a1575630c9fffa9f6f6b6af87887eca19d8738839
 EBUILD nautilus-sendto-2.28.2.ebuild 2153 RMD160 e0ca98102ffe429d4eaf20e7ded88c9874d7c2c3 SHA1 e05fa2efdfe72727d6c9602a73bc4ce3ba1183f5 SHA256 a60cb3396a929a09e0c3b5ff01e5ad5a547d416d2406f4343fdecd75cd057cf7
+EBUILD nautilus-sendto-2.28.4-r1.ebuild 2847 RMD160 19aa991c194161e0efd90f9c772ceedae608d659 SHA1 42740a27d1d353e8148750f1ef07091a500ade44 SHA256 5f63b66354e7b5849035545083559936fbf1e99364793914dac8970779e5580e
 EBUILD nautilus-sendto-2.28.4.ebuild 2225 RMD160 a324fc9fae5bf89020de3b3d50e834e8d1f39356 SHA1 88d614d96e705059c0901ddac2c1bcc209a37ed7 SHA256 b25a983e573088a0d753bc696eaad35c6984afbb75d1574467fc9389fddef3d1
-MISC ChangeLog 7526 RMD160 7c6bf83b15511e1c207ba302e0e7da0a7fda9eb3 SHA1 e0b83ae8b257844bee648ff56f8833e4ee2e11f9 SHA256 a7b555e4ce3c43cb2766a7e398ef997656298e165b0e7037e6d3cb6fbe3460ad
-MISC metadata.xml 623 RMD160 68f251a19cbfedaa84ded6e00498d9c70049fa61 SHA1 cfb3a804632ffdf770691b69245950113bc9ca8d SHA256 4a3547ae3728c595087c2a7f18adb6324bb08a9390d315470608df6cf9ba3e76
+MISC ChangeLog 8422 RMD160 2fd08f04fc7b65befbf7a4ed90a93788d5264671 SHA1 63c062f275116bc34d81a5ab0905d4298afbf850 SHA256 c232f6f55c33d72b7977673d388ae83cfaee9f282f5c00eb8def80bcd1d8cb6e
+MISC metadata.xml 614 RMD160 44702736482cffebb7c8c32e73b3910157d0e489 SHA1 ceca7a83c674043a4bab869dd918e3adb7f83db2 SHA256 b1fffdfecade1712bf4cc551945909dbff076f4e33d69a842cb08c0e4a791e21
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.15 (GNU/Linux)
+
+iEYEARECAAYFAkwfs/AACgkQCaWpQKGI+9S0TACfdXsk5MKKLkQ0PZhpdsaXccly
+oi8An2y8380EO70G5VJVOFSMtVe4IeRz
+=xoAB
+-----END PGP SIGNATURE-----
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-gseal-enable.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-gseal-enable.patch
new file mode 100644 (file)
index 0000000..5875fcd
--- /dev/null
@@ -0,0 +1,34 @@
+From 6d9294461935516991082e535a09b28d27105abe Mon Sep 17 00:00:00 2001
+From: Andre Klapper <a9016009@gmx.de>
+Date: Sat, 29 May 2010 01:42:30 +0000
+Subject: Compile with -DGSEAL_ENABLE. Fixes bug 612493.
+
+---
+diff --git a/src/nautilus-sendto-command.c b/src/nautilus-sendto-command.c
+index 094fe62..674d774 100644
+--- a/src/nautilus-sendto-command.c
++++ b/src/nautilus-sendto-command.c
+@@ -335,7 +335,7 @@ static void
+ send_if_no_pack_cb (GtkWidget *widget, NS_ui *ui)
+ {
+       if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (ui->pack_checkbutton))) {
+-              if (GTK_WIDGET_IS_SENSITIVE (ui->pack_entry)) {
++              if (gtk_widget_is_sensitive (ui->pack_entry)) {
+                       gtk_widget_grab_focus (ui->pack_entry);
+               } else {
+                       gtk_widget_grab_focus (ui->pack_checkbutton);
+diff --git a/src/plugins/evolution/e-contact-entry.c b/src/plugins/evolution/e-contact-entry.c
+index 69ffa3d..e190290 100644
+--- a/src/plugins/evolution/e-contact-entry.c
++++ b/src/plugins/evolution/e-contact-entry.c
+@@ -385,7 +385,7 @@ entry_changed_cb (GtkEditable *editable, gpointer user_data)
+   EContactEntry *entry;
+   entry = E_CONTACT_ENTRY (editable);
+ 
+-  if (GTK_ENTRY (editable)->text_length >= entry->priv->lookup_length) {
++  if (gtk_entry_get_text_length (GTK_ENTRY (editable)) >= entry->priv->lookup_length) {
+     GList *l;
+     EBookQuery *query;
+ 
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-item-focus.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-item-focus.patch
new file mode 100644 (file)
index 0000000..c76602e
--- /dev/null
@@ -0,0 +1,32 @@
+From 90859ca39bb877b665bb99da73c47569dc6a55b0 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 09 Jun 2010 16:13:01 +0000
+Subject: Make the last selected medium's widget grab focus
+
+https://bugzilla.gnome.org/show_bug.cgi?id=615214
+---
+diff --git a/src/nautilus-sendto-command.c b/src/nautilus-sendto-command.c
+index 674d774..dd21620 100644
+--- a/src/nautilus-sendto-command.c
++++ b/src/nautilus-sendto-command.c
+@@ -429,6 +429,7 @@ set_model_for_options_combobox (NS_ui *ui)
+         GtkListStore *model;
+       GtkIconTheme *it;
+       GtkCellRenderer *renderer;
++      GtkWidget *widget;
+       GList *aux;
+       NstPlugin *p;
+       char *last_used = NULL;
+@@ -484,6 +485,10 @@ set_model_for_options_combobox (NS_ui *ui)
+ 
+       gtk_combo_box_set_active (GTK_COMBO_BOX (ui->options_combobox), option);
+ 
++      /* Grab the focus for the most recently used widget */
++      widget = g_list_nth_data (ui->contact_widgets, option);
++      gtk_widget_grab_focus (widget);
++
+       return last_used_support_dirs;
+ }
+ 
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-remove-empathy.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-remove-empathy.patch
new file mode 100644 (file)
index 0000000..b9b3309
--- /dev/null
@@ -0,0 +1,387 @@
+From 91aa1610f6ed1d36abe1d7bf1f607616cf8187da Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 09 Jun 2010 16:39:13 +0000
+Subject: Remove Empathy plugin
+
+It now lives in Empathy itself.
+---
+diff --git a/configure.in b/configure.in
+index d7318d9..8781f50 100644
+--- a/configure.in
++++ b/configure.in
+@@ -38,8 +38,6 @@ NAUTILUS_EXTENSION=2.13.3
+ DBUS_REQUIRED=1.0
+ DBUS_GLIB_REQUIRED=0.60
+ GUPNP_REQUIRED=0.13
+-EMPATHY_REQUIRED=2.27.91
+-EMPATHY_GTK_REQUIRED=2.27.91
+ 
+ AC_SUBST(GLIB_REQUIRED)
+ AC_SUBST(GTHREAD_REQUIRED)
+@@ -50,8 +48,6 @@ AC_SUBST(NAUTILUS_EXTENSION)
+ AC_SUBST(BLUETOOTH_REQUIRED)
+ AC_SUBST(DBUS_REQUIRED)
+ AC_SUBST(GUPNP_REQUIRED)
+-AC_SUBST(EMPATHY_REQUIRED)
+-AC_SUBST(EMPATHY_GTK_REQUIRED)
+ 
+ PKG_CHECK_MODULES(NAUTILUS_SENDTO,\
+        glib-2.0 >= $GLIB_REQUIRED                \
+@@ -82,7 +78,7 @@ AC_MSG_NOTICE([installing nautilus plugin in ${ac_with_nautilusdir}])
+ AC_SUBST([NAUTILUS_EXTENSION_DIR],[${ac_with_nautilusdir}])
+ 
+ # The full list of plugins
+-allowed_plugins="bluetooth empathy evolution gajim nautilus-burn pidgin removable-devices upnp"
++allowed_plugins="bluetooth evolution gajim nautilus-burn pidgin removable-devices upnp"
+ 
+ plugin_error_or_ignore()
+ {
+@@ -141,14 +137,6 @@ for plugin in ${used_plugins}; do
+                               add_plugin="0"
+                       fi
+               ;;
+-              empathy)
+-                      PKG_CHECK_MODULES(EMPATHY, libempathy >= $EMPATHY_REQUIRED libempathy-gtk >= $EMPATHY_GTK_REQUIRED libempathy-gtk <= 2.29.1 gio-2.0 telepathy-glib,
+-                                        enable_empathy=yes, enable_empathy=no)
+-                      if test "${enable_empathy}" != "yes" ; then
+-                              plugin_error_or_ignore "you need libempathy and libempathy-gtk to build the Empathy plugin"
+-                              add_plugin="0"
+-                      fi
+-              ;;
+               evolution)
+                       PKG_CHECK_MODULES(NST_EBOOK, libebook-1.2 >= $EBOOK_REQUIRED,
+                                          enable_evolution=yes, enable_evolution=no)
+@@ -269,7 +257,6 @@ src/Makefile
+ src/nautilus-sendto.pc
+ src/plugins/Makefile
+ src/plugins/bluetooth/Makefile
+-src/plugins/empathy/Makefile
+ src/plugins/evolution/Makefile
+ src/plugins/gajim/Makefile
+ src/plugins/nautilus-burn/Makefile
+diff --git a/src/plugins/empathy/Makefile.am b/src/plugins/empathy/Makefile.am
+deleted file mode 100644
+index 4e787d1..0000000
+--- a/src/plugins/empathy/Makefile.am
++++ b/dev/null
+@@ -1,19 +0,0 @@
+-plugindir = $(libdir)/nautilus-sendto/plugins
+-
+-INCLUDES =                                      \
+-        -DDATADIR=\"$(datadir)\"                \
+-        -DICONDIR=\"$(icondir)\"                \
+-      -DLOCALEDIR="\"$(datadir)/locale\""     \
+-        -I$(top_srcdir)/src                     \
+-        -I$(top_builddir)                       \
+-        $(NAUTILUS_SENDTO_CFLAGS)               \
+-      $(WARN_CFLAGS)                          \
+-      $(DISABLE_DEPRECATED)                   \
+-      $(EMPATHY_CFLAGS)
+-
+-plugin_LTLIBRARIES = libnstempathy.la
+-
+-libnstempathy_la_SOURCES = empathy.c
+-libnstempathy_la_LDFLAGS = -module -avoid-version
+-libnstempathy_la_LIBADD = $(EMPATHY_LIBS) $(NAUTILUS_SENDTO_LIBS)
+-
+diff --git a/src/plugins/empathy/empathy.c b/src/plugins/empathy/empathy.c
+deleted file mode 100644
+index f84f789..0000000
+--- a/src/plugins/empathy/empathy.c
++++ b/dev/null
+@@ -1,293 +0,0 @@
+-/*
+- * Copyright (C) 2008, 2009 Collabora Ltd.
+- *
+- * This program is free software; you can 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.
+- *
+- * This program 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 av.
+- *
+- * You should have received a copy of the GNU General Public
+- * License along with this program; if not, write to the
+- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+- * Boston, MA 02110-1301  USA.
+- *
+- * Authors: Jonny Lamb <jonny.lamb@collabora.co.uk>
+- *          Cosimo Cecchi <cosimo.cecchi@collabora.co.uk>
+- */
+-
+-#include "config.h"
+-
+-#include <glib.h>
+-#include <glib/gi18n-lib.h>
+-#include <gtk/gtk.h>
+-#include <gio/gio.h>
+-
+-#include <telepathy-glib/enums.h>
+-
+-#include <libempathy/empathy-contact.h>
+-#include <libempathy/empathy-debug.h>
+-#include <libempathy/empathy-contact-manager.h>
+-#include <libempathy/empathy-ft-factory.h>
+-#include <libempathy/empathy-ft-handler.h>
+-#include <libempathy/empathy-tp-file.h>
+-#include <libempathy/empathy-account-manager.h>
+-
+-#include <libempathy-gtk/empathy-contact-selector.h>
+-#include <libempathy-gtk/empathy-ui-utils.h>
+-
+-#include "nautilus-sendto-plugin.h"
+-
+-static EmpathyAccountManager *acc_manager = NULL;
+-static EmpathyFTFactory *factory = NULL;
+-static guint transfers = 0;
+-
+-static gboolean destroy (NstPlugin *plugin);
+-
+-static void
+-handle_account_manager_ready ()
+-{
+-  TpConnectionPresenceType presence;
+-
+-  presence = empathy_account_manager_get_global_presence (acc_manager,
+-      NULL, NULL);
+-
+-  if (presence < TP_CONNECTION_PRESENCE_TYPE_AVAILABLE)
+-    return;
+-}
+-
+-static void
+-acc_manager_ready_cb (EmpathyAccountManager *am,
+-    GParamSpec *pspec,
+-    gpointer _user_data)
+-{
+-  if (!empathy_account_manager_is_ready (am))
+-    return;
+-
+-  handle_account_manager_ready ();
+-}
+-
+-static gboolean
+-init (NstPlugin *plugin)
+-{
+-  g_print ("Init %s plugin\n", plugin->info->id);
+-
+-  bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
+-  bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+-
+-  empathy_gtk_init ();
+-
+-  acc_manager = empathy_account_manager_dup_singleton ();
+-
+-  if (empathy_account_manager_is_ready (acc_manager))
+-    handle_account_manager_ready ();
+-  else
+-    g_signal_connect (acc_manager, "notify::ready",
+-        G_CALLBACK (acc_manager_ready_cb), NULL);
+-
+-  return TRUE;
+-}
+-
+-static GtkWidget *
+-get_contacts_widget (NstPlugin *plugin)
+-{
+-  EmpathyContactManager *manager;
+-  GtkWidget *selector;
+-
+-  manager = empathy_contact_manager_dup_singleton ();
+-  selector = empathy_contact_selector_new (EMPATHY_CONTACT_LIST (manager));
+-
+-  empathy_contact_selector_set_visible (EMPATHY_CONTACT_SELECTOR (selector),
+-      (EmpathyContactSelectorFilterFunc) empathy_contact_can_send_files, NULL);
+-
+-  g_object_unref (manager);
+-
+-  return selector;
+-}
+-
+-static EmpathyContact *
+-get_selected_contact (GtkWidget *contact_widget)
+-{
+-  EmpathyContact *contact;
+-  GtkTreeModel *model;
+-  GtkTreeIter iter;
+-
+-  if (!gtk_combo_box_get_active_iter (GTK_COMBO_BOX (contact_widget), &iter))
+-    return NULL;
+-
+-  model = gtk_combo_box_get_model (GTK_COMBO_BOX (contact_widget));
+-  gtk_tree_model_get (model, &iter,
+-      EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact, -1);
+-
+-  return contact;
+-}
+-
+-static gboolean
+-validate_destination (NstPlugin *plugin,
+-                      GtkWidget *contact_widget,
+-                      gchar **error)
+-{
+-  EmpathyContact *contact = NULL;
+-  gboolean ret = TRUE;
+-
+-  contact = get_selected_contact (contact_widget);
+-
+-  if (!contact)
+-    return FALSE;
+-
+-  if (!empathy_contact_can_send_files (contact))
+-    {
+-      *error = g_strdup (_("The contact selected cannot receive files."));
+-      ret = FALSE;
+-    }
+-
+-  if (ret && !empathy_contact_is_online (contact))
+-    {
+-      *error = g_strdup (_("The contact selected is offline."));
+-      ret = FALSE;
+-    }
+-
+-  g_object_unref (contact);
+-
+-  return ret;
+-}
+-
+-static void
+-quit (void)
+-{
+-  if (--transfers > 0)
+-    return;
+-
+-  destroy (NULL);
+-  gtk_main_quit ();
+-}
+-
+-static void
+-transfer_done_cb (EmpathyFTHandler *handler,
+-                  EmpathyTpFile *tp_file,
+-                  NstPlugin *plugin)
+-{
+-  quit ();  
+-}
+-
+-static void
+-transfer_error_cb (EmpathyFTHandler *handler,
+-                   GError *error,
+-                   NstPlugin *plugin)
+-{
+-  quit ();
+-}
+-
+-static void
+-error_dialog_cb (GtkDialog *dialog,
+-                 gint arg,
+-                 gpointer user_data)
+-{
+-  gtk_widget_destroy (GTK_WIDGET (dialog));
+-  quit ();
+-}
+-
+-static void
+-handler_ready_cb (EmpathyFTFactory *factory,
+-                  EmpathyFTHandler *handler,
+-                  GError *error,
+-                  NstPlugin *plugin)
+-{
+-  if (error != NULL)
+-    {
+-      GtkWidget *dialog;
+-      dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR,
+-          GTK_BUTTONS_CLOSE, "%s",
+-          error->message ? error->message : _("No error message"));
+-
+-      g_signal_connect (dialog, "response", G_CALLBACK (error_dialog_cb), NULL);
+-      gtk_widget_show (dialog);
+-    }
+-  else
+-    {
+-      g_signal_connect (handler, "transfer-done",
+-          G_CALLBACK (transfer_done_cb), plugin);
+-      g_signal_connect (handler, "transfer-error",
+-          G_CALLBACK (transfer_error_cb), plugin);
+-
+-      empathy_ft_handler_start_transfer (handler);
+-    }
+-}
+-
+-static gboolean
+-send_files (NstPlugin *plugin,
+-            GtkWidget *contact_widget,
+-            GList *file_list)
+-{
+-  EmpathyContact *contact;
+-  GList *l;
+-
+-  contact = get_selected_contact (contact_widget);
+-
+-  if (!contact)
+-    return FALSE;
+-
+-  factory = empathy_ft_factory_dup_singleton ();
+-
+-  g_signal_connect (factory, "new-ft-handler",
+-      G_CALLBACK (handler_ready_cb), plugin);
+-
+-  for (l = file_list; l; l = l->next)
+-    {
+-      gchar *path = l->data;
+-      GFile *file;
+-
+-      file = g_file_new_for_uri (path);
+-
+-      ++transfers;
+-
+-      empathy_ft_factory_new_transfer_outgoing (factory,
+-          contact, file);
+-
+-      g_object_unref (file);
+-    }
+-
+-  g_object_unref (contact);
+-
+-  if (transfers == 0)
+-    {
+-      destroy (NULL);
+-      return TRUE;
+-    }
+-
+-  return FALSE;
+-}
+-
+-static gboolean
+-destroy (NstPlugin *plugin)
+-{
+-  if (acc_manager)
+-    g_object_unref (acc_manager);
+-
+-  if (factory)
+-    g_object_unref (factory);
+-
+-  return TRUE;
+-}
+-
+-static
+-NstPluginInfo plugin_info = {
+-  "im",
+-  "empathy",
+-  N_("Instant Message (Empathy)"),
+-  NULL,
+-  TRUE,
+-  NAUTILUS_CAPS_NONE,
+-  init,
+-  get_contacts_widget,
+-  validate_destination,
+-  send_files,
+-  destroy
+-};
+-
+-NST_INIT_PLUGIN (plugin_info)
+-
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-remove-old-evo.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-remove-old-evo.patch
new file mode 100644 (file)
index 0000000..8ef133a
--- /dev/null
@@ -0,0 +1,273 @@
+From 6756a352ce9560a343aa4f31c96ab9247ee20b83 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 09 Jun 2010 16:36:38 +0000
+Subject: Remove plugin to use sendto from Evolution
+
+And not the plugin to use evolution-data-server in nautilus-sendto.
+---
+diff --git a/Makefile.am b/Makefile.am
+index a814bb1..be84bf5 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,10 +1,4 @@
+-if HAVE_EVOLUTION
+-EVOLUTION_PLUGIN_DIR=evolution
+-endif
+-
+-SUBDIRS = src $(EVOLUTION_PLUGIN_DIR) docs po
+-
+-DIST_SUBDIRS = evolution src docs po
++SUBDIRS = src docs po
+ 
+ DISTCHECK_CONFIGURE_FLAGS = --disable-schemas-install --enable-gtk-doc --with-nautilusdir='$${libdir}/nautilus/extensions-2.0-distcheck'
+ 
+diff --git a/configure.in b/configure.in
+index 214be7c..d7318d9 100644
+--- a/configure.in
++++ b/configure.in
+@@ -81,18 +81,6 @@ fi
+ AC_MSG_NOTICE([installing nautilus plugin in ${ac_with_nautilusdir}])
+ AC_SUBST([NAUTILUS_EXTENSION_DIR],[${ac_with_nautilusdir}])
+ 
+-dnl Get details about evolution
+-
+-PKG_CHECK_MODULES(EVOLUTION, evolution-plugin < 2.27.1,
+-                enable_evo=yes, enable_evo=no)
+-AM_CONDITIONAL(HAVE_EVOLUTION, test "x$enable_evo" = "xyes")
+-
+-plugindir=`$PKG_CONFIG --variable=plugindir evolution-plugin`
+-AC_SUBST(plugindir)
+-
+-EVO_PLUGIN_RULE=$srcdir/evolution/plugin.mk
+-AC_SUBST_FILE(EVO_PLUGIN_RULE)
+-
+ # The full list of plugins
+ allowed_plugins="bluetooth empathy evolution gajim nautilus-burn pidgin removable-devices upnp"
+ 
+@@ -291,7 +279,6 @@ src/plugins/upnp/Makefile
+ docs/Makefile
+ docs/nautilus-sendto/Makefile
+ docs/nautilus-sendto/version.xml
+-evolution/Makefile
+ po/Makefile.in
+ ])
+ 
+@@ -315,11 +302,5 @@ else
+       AC_MSG_NOTICE([   No nautilus-sendto plugins enabled])
+ fi
+ 
+-if test "x$enable_evo" = "xyes"; then
+-      AC_MSG_NOTICE([** Evolution send-to plugin ( < 2.27.1) enabled])
+-else
+-      AC_MSG_NOTICE([   Evolution send-to plugin ( < 2.27.1) disabled])
+-fi
+-
+ echo "                                                       "
+ echo "-------------------------------------------------------"
+diff --git a/evolution/Makefile.am b/evolution/Makefile.am
+deleted file mode 100644
+index a216ed0..0000000
+--- a/evolution/Makefile.am
++++ b/dev/null
+@@ -1,17 +0,0 @@
+-INCLUDES =                                            \
+-      $(EVOLUTION_CFLAGS)                             \
+-      $(WARN_CFLAGS)
+-
+-@EVO_PLUGIN_RULE@
+-
+-plugin_DATA = org-gnome-evolution-send-attachments-to.eplug
+-plugin_LTLIBRARIES = liborg-gnome-evolution-send-attachments-to.la
+-
+-liborg_gnome_evolution_send_attachments_to_la_SOURCES = nautilus-sendto.c
+-liborg_gnome_evolution_send_attachments_to_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
+-liborg_gnome_evolution_send_attachments_to_la_LIBADD = $(EVOLUTION_LIBS)
+-
+-EXTRA_DIST = org-gnome-evolution-send-attachments-to.eplug.xml plugin.mk
+-
+-BUILT_SOURCES = $(plugin_DATA)
+-CLEANFILES = $(BUILT_SOURCES)
+diff --git a/evolution/nautilus-sendto.c b/evolution/nautilus-sendto.c
+deleted file mode 100644
+index 01728ae..0000000
+--- a/evolution/nautilus-sendto.c
++++ b/dev/null
+@@ -1,112 +0,0 @@
+-/*
+- * This program is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU Lesser General Public
+- * License as published by the Free Software Foundation; either
+- * version 2 of the License, or (at your option) version 3.
+- *
+- * This program 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
+- * Lesser General Public License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public
+- * License along with the program; if not, see <http://www.gnu.org/licenses/>  
+- *
+- *
+- * Authors:
+- *            Johnny Jacob <johnnyjacob@gmail.com>
+- *
+- * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+- *
+- */
+-
+-#include <config.h>
+-
+-#include <glib.h>
+-#include <gtk/gtk.h>
+-#include <glib/gi18n-lib.h>
+-#include <e-util/e-config.h>
+-#include <e-util/e-popup.h>
+-#include <mail/em-popup.h>
+-#include <mail/em-menu.h>
+-#include <mail/em-utils.h>
+-#include <misc/e-attachment.h>
+-
+-static void send_file (EPlugin *ep, EPopupTarget *t, void *data);
+-void org_gnome_evolution_send_file_attachments (EPlugin *ep, EMPopupTargetAttachments *t);
+-void org_gnome_evolution_send_file_part (EPlugin *ep, EMPopupTargetPart *t);
+-
+-static void
+-popup_free (EPopup *ep, GSList *items, void *data)
+-{
+-      g_slist_free (items);
+-}
+-
+-static EPopupItem popup_attachment_items[] = {
+-      { E_POPUP_BAR, "25.display.00"},
+-      { E_POPUP_ITEM, "25.display.01", N_("_Send to..."), (EPopupActivateFunc)send_file, NULL, "document-send"}
+-};
+-
+-void org_gnome_evolution_send_file_attachments (EPlugin *ep, EMPopupTargetAttachments *t)
+-{
+-      GSList *menus = NULL;
+-      int len = 0;
+-
+-      g_message ("org_gnome_evolution_send_file_attachments called");
+-
+-      len = g_slist_length(t->attachments);
+-
+-      if (len != 1)
+-              return;
+-
+-      menus = g_slist_prepend (menus, &popup_attachment_items[0]);
+-      menus = g_slist_prepend (menus, &popup_attachment_items[1]);
+-      e_popup_add_items (t->target.popup, menus, GETTEXT_PACKAGE, popup_free, t);
+-}
+-
+-void org_gnome_evolution_send_file_part (EPlugin *ep, EMPopupTargetPart *t)
+-{
+-      GSList *menus = NULL;
+-
+-      g_message ("org_gnome_evolution_send_file_attachments called");
+-
+-      menus = g_slist_prepend (menus, &popup_attachment_items[0]);
+-      menus = g_slist_prepend (menus, &popup_attachment_items[1]);
+-      e_popup_add_items (t->target.popup, menus, GETTEXT_PACKAGE, popup_free, t);
+-}
+-
+-static void
+-send_file (EPlugin *ep, EPopupTarget *t, void *data)
+-{
+-      CamelMimePart *part;
+-      char *path;
+-      EPopupTarget *target = (EPopupTarget *) data;
+-      GPtrArray *argv;
+-      gboolean ret;
+-      GError *err = NULL;
+-
+-      if (target->type == EM_POPUP_TARGET_ATTACHMENTS)
+-              part = ((EAttachment *) ((EMPopupTargetAttachments *) target)->attachments->data)->body;
+-      else
+-              part = ((EMPopupTargetPart *) target)->part;
+-
+-      path = em_utils_temp_save_part (NULL, part, FALSE);
+-      g_message ("saved part as %s", path);
+-
+-      argv = g_ptr_array_new ();
+-      g_ptr_array_add (argv, "nautilus-sendto");
+-      g_ptr_array_add (argv, path);
+-      g_ptr_array_add (argv, NULL);
+-
+-      ret = g_spawn_async (NULL, (gchar **) argv->pdata,
+-                           NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &err);
+-      g_ptr_array_free (argv, TRUE);
+-
+-      if (ret == FALSE) {
+-              g_warning ("Couldn't send the attachment: %s", err->message);
+-              g_error_free (err);
+-      }
+-
+-      g_free (path);
+-}
+-
+diff --git a/evolution/org-gnome-evolution-send-attachments-to.eplug.xml b/evolution/org-gnome-evolution-send-attachments-to.eplug.xml
+deleted file mode 100644
+index b6f7f27..0000000
+--- a/evolution/org-gnome-evolution-send-attachments-to.eplug.xml
++++ b/dev/null
+@@ -1,28 +0,0 @@
+-<?xml version="1.0"?>
+-<e-plugin-list>
+-  <!-- the path to the shared library -->
+-  <e-plugin
+-    id="org-gnome-evolution-send-attachments-to"
+-    type="shlib"
+-    location="@PLUGINDIR@/liborg-gnome-evolution-send-attachments-to@SOEXT@"
+-    _name="Send to..."
+-    domain="@GETTEXT_PACKAGE@">
+-    
+-    <author name="Bastien Nocera" email="hadess@hadess.net"/>
+-    <_description>Send files to remote devices, or people</_description>
+-        <!-- Attachment to received e-mail -->
+-      <hook class="org.gnome.evolution.mail.popup:1.0">
+-              <menu id="org.gnome.evolution.mail.formathtmldisplay.popup" target="part" factory="org_gnome_evolution_send_file_part">
+-              </menu>
+-      </hook>
+-      <hook class="org.gnome.evolution.mail.popup:1.0">
+-              <menu id="org.gnome.evolution.mail.attachments.popup" target="attachments" factory="org_gnome_evolution_send_file_attachments">
+-              </menu>
+-      </hook>
+-      <!-- Right-click in the attachment bar when creating a new mail -->
+-      <hook class="org.gnome.evolution.mail.popup:1.0">
+-              <menu id="org.gnome.evolution.mail.composer.attachmentbar.popup" target="attachments" factory="org_gnome_evolution_send_file_attachments">
+-              </menu>
+-      </hook>
+-  </e-plugin>
+-</e-plugin-list>
+diff --git a/evolution/plugin.mk b/evolution/plugin.mk
+deleted file mode 100644
+index a98aaf6..0000000
+--- a/evolution/plugin.mk
++++ b/dev/null
+@@ -1,11 +0,0 @@
+-%.eplug: %.eplug.in
+-      sed -e 's|\@PLUGINDIR\@|$(plugindir)|'          \
+-      -e 's|\@SOEXT\@|$(SOEXT)|'                      \
+-      -e 's|\@GETTEXT_PACKAGE\@|$(GETTEXT_PACKAGE)|'  \
+-      -e 's|\@LOCALEDIR\@|$(localedir)|' $< > $@
+-
+-%.eplug.in: %.eplug.xml
+-      LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@
+-
+-%.error: %.error.xml
+-      LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index 69ca4ea..a66fef3 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -1,8 +1,6 @@
+ # List of source files containing translatable strings.
+ # Please keep this file sorted alphabetically.
+ nst.schemas.in
+-evolution/nautilus-sendto.c
+-evolution/org-gnome-evolution-send-attachments-to.eplug.xml
+ src/nautilus-nste.c
+ src/nautilus-nste.h
+ src/nautilus-sendto-command.c
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-shadowed-mounts.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-shadowed-mounts.patch
new file mode 100644 (file)
index 0000000..7aef494
--- /dev/null
@@ -0,0 +1,83 @@
+From c4f591ebe5af99c0483dd04a608cebda9bbffe49 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Thu, 10 Jun 2010 17:34:08 +0000
+Subject: Fix handling of shadowed mounts
+
+Fix duplicate mounts appearing in the "removable device" section
+when a mount is shadowed.
+---
+diff --git a/src/plugins/removable-devices/removable-devices.c b/src/plugins/removable-devices/removable-devices.c
+index 5984ec7..68022c4 100644
+--- a/src/plugins/removable-devices/removable-devices.c
++++ b/src/plugins/removable-devices/removable-devices.c
+@@ -43,10 +43,11 @@ cb_mount_removed (GVolumeMonitor *volume_monitor,
+ {
+       GtkTreeIter iter;
+       GtkListStore *store;
+-      gboolean b;
++      gboolean b, found;
+ 
+       store = GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (cb)));
+       b = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter);
++      found = FALSE;
+ 
+       while (b) {
+               GMount *m;
+@@ -54,11 +55,21 @@ cb_mount_removed (GVolumeMonitor *volume_monitor,
+               if (m == mount) {
+                       gtk_list_store_remove (store, &iter);
+                       g_object_unref (m);
++                      found = TRUE;
+                       break;
+               }
+               g_object_unref (m);
+               b = gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter);
+       }
++
++      /* If a mount was removed */
++      if (found != FALSE) {
++              /* And it was the selected one */
++              if (gtk_combo_box_get_active (GTK_COMBO_BOX (cb)) == -1) {
++                      /* Select the first item in the list */
++                      gtk_combo_box_set_active (GTK_COMBO_BOX (cb), 0);
++              }
++      }
+ }
+ 
+ static void
+@@ -70,6 +81,11 @@ cb_mount_changed (GVolumeMonitor *volume_monitor,
+       gboolean b;
+       GtkListStore *store;
+ 
++      if (g_mount_is_shadowed (mount) != FALSE) {
++              cb_mount_removed (volume_monitor, mount, plugin);
++              return;
++      }
++
+       store = GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (cb)));
+       b = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter);
+ 
+@@ -104,6 +120,9 @@ cb_mount_added (GVolumeMonitor *volume_monitor,
+       GtkTreeModel *model;
+       gboolean select_added;
+ 
++      if (g_mount_is_shadowed (mount) != FALSE)
++              return;
++
+       name = g_mount_get_name (mount);
+       model = gtk_combo_box_get_model (GTK_COMBO_BOX (cb));
+ 
+@@ -152,6 +171,11 @@ get_contacts_widget (NstPlugin *plugin)
+       for (l = mounts; l != NULL; l = l->next) {
+               char *name;
+ 
++              if (g_mount_is_shadowed (l->data) != FALSE) {
++                      g_object_unref (l->data);
++                      continue;
++              }
++
+               name = g_mount_get_name (l->data);
+ 
+               gtk_list_store_append (store, &iter);
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-thunderbird-command.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-thunderbird-command.patch
new file mode 100644 (file)
index 0000000..b6a0cc6
--- /dev/null
@@ -0,0 +1,36 @@
+From 52ed3fb5981cddcd84d787912fa548043ff568da Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 09 Jun 2010 16:29:08 +0000
+Subject: Fix thunderbird's mailto command
+
+Seeing as it's the only mailer to be such a pain.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=614222
+---
+diff --git a/src/plugins/evolution/evolution.c b/src/plugins/evolution/evolution.c
+index a25ade1..8e1dd0c 100644
+--- a/src/plugins/evolution/evolution.c
++++ b/src/plugins/evolution/evolution.c
+@@ -99,9 +99,18 @@ init (NstPlugin *plugin)
+               /* Find what the default mailer is */
+               if (strstr (mail_cmd, "balsa"))
+                       type = MAILER_BALSA;
+-              else if (strstr (mail_cmd, "thunder") || strstr (mail_cmd, "seamonkey"))
++              else if (strstr (mail_cmd, "thunder") || strstr (mail_cmd, "seamonkey")) {
++                      char **strv;
++
+                       type = MAILER_THUNDERBIRD;
+-              else if (strstr (mail_cmd, "sylpheed") || strstr (mail_cmd, "claws"))
++
++                      /* Thunderbird sucks, see
++                       * https://bugzilla.gnome.org/show_bug.cgi?id=614222 */
++                      strv = g_strsplit (mail_cmd, " ", -1);
++                      g_free (mail_cmd);
++                      mail_cmd = g_strdup_printf ("%s %%s", strv[0]);
++                      g_strfreev (strv);
++              } else if (strstr (mail_cmd, "sylpheed") || strstr (mail_cmd, "claws"))
+                       type = MAILER_SYLPHEED;
+               else if (strstr (mail_cmd, "anjal"))
+                       type = MAILER_EVO;
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload-dbus.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload-dbus.patch
new file mode 100644 (file)
index 0000000..f64c27c
--- /dev/null
@@ -0,0 +1,24 @@
+From 99a19ae7549b8ad8f874748cbc89cda9b0e4d9a5 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 09 Jun 2010 16:42:19 +0000
+Subject: Never unload plugins that use D-Bus internally
+
+As the new types will be unloaded, and kaboom!
+
+https://bugzilla.gnome.org/show_bug.cgi?id=608126
+---
+diff --git a/src/plugins/pidgin/pidgin.c b/src/plugins/pidgin/pidgin.c
+index 6cfe98a..319fdbd 100644
+--- a/src/plugins/pidgin/pidgin.c
++++ b/src/plugins/pidgin/pidgin.c
+@@ -463,7 +463,7 @@ NstPluginInfo plugin_info = {
+       "pidgin",
+       N_("Instant Message (Pidgin)"),
+       NULL,
+-      FALSE,
++      TRUE,
+       NAUTILUS_CAPS_NONE,
+       init,
+       get_contacts_widget,
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload-init.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload-init.patch
new file mode 100644 (file)
index 0000000..d88907f
--- /dev/null
@@ -0,0 +1,23 @@
+From c76410275933ff05701cda346944e30498d27b2e Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 09 Jun 2010 17:12:42 +0000
+Subject: Never unload modules once init() has been done
+
+Because they might register new types, and when they're unloaded,
+kaboom!
+---
+diff --git a/src/nautilus-sendto-command.c b/src/nautilus-sendto-command.c
+index dd21620..92b96bb 100644
+--- a/src/nautilus-sendto-command.c
++++ b/src/nautilus-sendto-command.c
+@@ -665,8 +665,6 @@ nautilus_sendto_plugin_dir_process (const char *plugindir)
+                               if (p->info->init(p)) {
+                                       plugin_list = g_list_append (plugin_list, p);
+                               } else {
+-                                      if (!p->info->never_unload)
+-                                              g_module_close (p->module);
+                                       g_free (p);
+                               }
+                       }
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload.patch
new file mode 100644 (file)
index 0000000..ebbdb82
--- /dev/null
@@ -0,0 +1,120 @@
+From ff902cb60e1ace5ca4af09f9c9f7d76517c8e5d5 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 09 Jun 2010 17:18:15 +0000
+Subject: Remove never_unload from the plugin struct
+
+Seeing as we never want to unload them now.
+---
+diff --git a/src/nautilus-sendto-plugin.h b/src/nautilus-sendto-plugin.h
+index 216f051..14fb7f5 100644
+--- a/src/nautilus-sendto-plugin.h
++++ b/src/nautilus-sendto-plugin.h
+@@ -61,7 +61,6 @@ typedef enum {
+  * @id: A unique ID representing the plugin
+  * @description: The label used in the plugin selection drop-down
+  * @gettext_package: The domain to use to translate the description, %NULL if the plugin is part of nautilus-sendto
+- * @never_unload: Whether to unload the plugin on exit. Enable this if your plugin registers a new #GType
+  * @capabilities: a bitmask of #NstPluginCapabilities
+  * @init: Check for dependencies, and return %FALSE if dependencies such as programs are missing.
+  * @get_contacts_widget: Return the contact widget, the widget to select the destination of the files
+@@ -71,13 +70,12 @@ typedef enum {
+  *
+  * A structure representing a nautilus-sendto plugin. You should also call NST_INIT_PLUGIN() on the plugin structure to export it.
+  **/
+-struct _NstPluginInfo 
++struct _NstPluginInfo
+ {
+       gchar                             *icon;
+       gchar                             *id;
+       gchar                             *description;
+       gchar                             *gettext_package;
+-      gboolean                           never_unload;
+       NstPluginCapabilities              capabilities;
+       gboolean (*init)                  (NstPlugin *plugin);
+       GtkWidget* (*get_contacts_widget) (NstPlugin *plugin);
+diff --git a/src/plugins/bluetooth/bluetooth.c b/src/plugins/bluetooth/bluetooth.c
+index f2db2dd..160619d 100644
+--- a/src/plugins/bluetooth/bluetooth.c
++++ b/src/plugins/bluetooth/bluetooth.c
+@@ -549,7 +549,6 @@ NstPluginInfo plugin_info = {
+       "bluetooth",
+       N_("Bluetooth (OBEX Push)"),
+       NULL,
+-      FALSE,
+       NAUTILUS_CAPS_NONE,
+       init,
+       get_contacts_widget,
+diff --git a/src/plugins/evolution/evolution.c b/src/plugins/evolution/evolution.c
+index 8e1dd0c..7feb305 100644
+--- a/src/plugins/evolution/evolution.c
++++ b/src/plugins/evolution/evolution.c
+@@ -377,7 +377,6 @@ NstPluginInfo plugin_info = {
+       "evolution",
+       N_("Email"),
+       NULL,
+-      FALSE,
+       NAUTILUS_CAPS_NONE,
+       init,
+       get_contacts_widget,
+diff --git a/src/plugins/gajim/gajim.c b/src/plugins/gajim/gajim.c
+index 1943b3d..088c69b 100644
+--- a/src/plugins/gajim/gajim.c
++++ b/src/plugins/gajim/gajim.c
+@@ -504,7 +504,6 @@ NstPluginInfo plugin_info = {
+       "gajim",
+       N_("Instant Message (Gajim)"),
+       NULL,
+-      TRUE,
+       NAUTILUS_CAPS_NONE,
+       init,
+       get_contacts_widget,
+diff --git a/src/plugins/nautilus-burn/nautilus-burn.c b/src/plugins/nautilus-burn/nautilus-burn.c
+index bdc80c1..cdaa09e 100644
+--- a/src/plugins/nautilus-burn/nautilus-burn.c
++++ b/src/plugins/nautilus-burn/nautilus-burn.c
+@@ -177,7 +177,6 @@ NstPluginInfo plugin_info = {
+       "nautilus-burn",
+       N_("CD/DVD Creator"),
+       NULL,
+-      FALSE,
+       NAUTILUS_CAPS_SEND_DIRECTORIES,
+       init,
+       get_contacts_widget,
+diff --git a/src/plugins/pidgin/pidgin.c b/src/plugins/pidgin/pidgin.c
+index 319fdbd..5d9b52e 100644
+--- a/src/plugins/pidgin/pidgin.c
++++ b/src/plugins/pidgin/pidgin.c
+@@ -463,7 +463,6 @@ NstPluginInfo plugin_info = {
+       "pidgin",
+       N_("Instant Message (Pidgin)"),
+       NULL,
+-      TRUE,
+       NAUTILUS_CAPS_NONE,
+       init,
+       get_contacts_widget,
+diff --git a/src/plugins/removable-devices/removable-devices.c b/src/plugins/removable-devices/removable-devices.c
+index 4a735a3..5984ec7 100644
+--- a/src/plugins/removable-devices/removable-devices.c
++++ b/src/plugins/removable-devices/removable-devices.c
+@@ -223,7 +223,6 @@ NstPluginInfo plugin_info = {
+       "folder-remote",
+       N_("Removable disks and shares"),
+       NULL,
+-      FALSE,
+       NAUTILUS_CAPS_SEND_DIRECTORIES,
+       init,
+       get_contacts_widget,
+diff --git a/src/plugins/upnp/upnp.c b/src/plugins/upnp/upnp.c
+index da5669e..5d2448e 100644
+--- a/src/plugins/upnp/upnp.c
++++ b/src/plugins/upnp/upnp.c
+@@ -308,7 +308,6 @@ NstPluginInfo plugin_info = {
+       "upnp",
+       N_("UPnP Media Server"),
+       NULL,
+-      FALSE,
+       NAUTILUS_CAPS_NONE,
+       init,
+       get_contacts_widget,
+--
+cgit v0.8.3.1
index 45f0857e1424248ed759f32fdceda0b43229cc2f..0eb677f199c4692afc6bab6df94a74adec39c164 100644 (file)
@@ -5,8 +5,8 @@
        <use>
                <flag name='empathy'>Enables support for <pkg>net-im/empathy</pkg></flag>
                <flag name='gajim'>Enables support for <pkg>net-im/gajim</pkg></flag>
-               <!-- <flag name='mail'>Enables support for mailto using
-                       <pkg>gnome-extra/evolution-data-server</pkg></flag> -->
+               <flag name='mail'>Enables support for mailto using
+                       <pkg>gnome-extra/evolution-data-server</pkg></flag>
                <flag name='pidgin'>Enables support for <pkg>net-im/pidgin</pkg></flag>
                <flag name='upnp'>Enables support for sending files over upnp using
                        <pkg>net-libs/gupnp-av</pkg></flag>
diff --git a/gnome-extra/nautilus-sendto/nautilus-sendto-2.28.4-r1.ebuild b/gnome-extra/nautilus-sendto/nautilus-sendto-2.28.4-r1.ebuild
new file mode 100644 (file)
index 0000000..ba976e3
--- /dev/null
@@ -0,0 +1,113 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/gnome-extra/nautilus-sendto/nautilus-sendto-2.28.4-r1.ebuild,v 1.1 2010/06/21 18:48:06 pacho Exp $
+
+EAPI="2"
+
+inherit gnome2 multilib eutils autotools
+
+DESCRIPTION="A nautilus extension for sending files to locations"
+HOMEPAGE="http://www.gnome.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="bluetooth doc gajim cdr pidgin upnp +mail"
+
+RDEPEND=">=x11-libs/gtk+-2.18
+       >=dev-libs/glib-2.6
+       >=gnome-base/nautilus-2.14
+       >=gnome-base/gconf-2.13.0
+       bluetooth? (
+               || ( >=net-wireless/gnome-bluetooth-2.27
+                        >=net-wireless/bluez-gnome-1.8 )
+               >=dev-libs/dbus-glib-0.60 )
+       cdr? (
+               || ( >=app-cdr/brasero-2.26.0[nautilus]
+                        >=gnome-extra/nautilus-cd-burner-2.24.0 ) )
+       gajim? (
+               net-im/gajim
+               >=dev-libs/dbus-glib-0.60 )
+       mail? ( >=gnome-extra/evolution-data-server-1.5.3 )
+       pidgin? (
+               >=net-im/pidgin-2.0.0
+               >=dev-libs/dbus-glib-0.60 )
+       upnp? ( >=net-libs/gupnp-0.13.0 )"
+DEPEND="${RDEPEND}
+       sys-devel/gettext
+       >=dev-util/pkgconfig-0.19
+       >=dev-util/intltool-0.35
+       doc? ( >=dev-util/gtk-doc-1.9 )
+       >=gnome-base/gnome-common-0.12
+       dev-util/gtk-doc-am"
+# Needed for eautoreconf
+#      >=gnome-base/gnome-common-0.12
+#      dev-util/gtk-doc-am
+
+DOCS="AUTHORS ChangeLog NEWS README"
+
+_use_plugin() {
+       if use ${1}; then
+               G2CONF="${G2CONF}${2:-"${1}"},"
+       fi
+}
+
+pkg_setup() {
+       G2CONF="${G2CONF}
+               --with-plugins=removable-devices,"
+       _use_plugin bluetooth
+       _use_plugin cdr nautilus-burn
+       _use_plugin mail evolution
+       _use_plugin pidgin
+       _use_plugin gajim
+       _use_plugin upnp
+}
+
+src_prepare() {
+       gnome2_src_prepare
+
+       # Compile with -DGSEAL_ENABLE
+       epatch "${FILESDIR}/${P}-gseal-enable.patch"
+
+       # Make the last selected medium's widget grab focus
+       epatch "${FILESDIR}/${P}-item-focus.patch"
+
+       # Fix thunderbird's mailto command
+       epatch "${FILESDIR}/${P}-thunderbird-command.patch"
+
+       # Remove plugin to use sendto from Evolution
+       epatch "${FILESDIR}/${P}-remove-old-evo.patch"
+
+       # Remove Empathy plugin since it now lives in Empathy itself.
+       epatch "${FILESDIR}/${P}-remove-empathy.patch"
+
+       # Never unload plugins that use D-Bus internally
+       epatch "${FILESDIR}/${P}-unload-dbus.patch"
+
+       # Never unload modules once init() has been done
+       epatch "${FILESDIR}/${P}-unload-init.patch"
+
+       # Remove never_unload from the plugin struct
+       epatch "${FILESDIR}/${P}-unload.patch"
+
+       # Fix handling of shadowed mounts
+       epatch "${FILESDIR}/${P}-shadowed-mounts.patch"
+
+       eautoreconf
+}
+
+src_install() {
+       gnome2_src_install
+
+       # Nautilus does not use *.la files
+       find "${D}/usr/$(get_libdir)/nautilus" -name "*.la" -delete \
+               || die "failed to delete *.la files"
+}
+
+pkg_postinst() {
+       gnome2_pkg_postinst
+
+       if ! use mail; then
+               ewarn "You have disabled mail support, this will remove support for all mail clients"
+       fi
+}