summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2011-03-27 20:36:45 +0000
committerPacho Ramos <pacho@gentoo.org>2011-03-27 20:36:45 +0000
commitada0d7b8141f4d773b0c0d9cd9389a73c1e6be3e (patch)
tree09d7c6eeed32f18f65deb29507848125642d5353 /mail-client/evolution
parentInitial commit. (diff)
downloadgentoo-2-ada0d7b8141f4d773b0c0d9cd9389a73c1e6be3e.tar.gz
gentoo-2-ada0d7b8141f4d773b0c0d9cd9389a73c1e6be3e.tar.bz2
gentoo-2-ada0d7b8141f4d773b0c0d9cd9389a73c1e6be3e.zip
Revision bump fixing compilation with --disable-smime (bug #356471 by mymybib), work with new mime handler from glib-2.28, apply multiple patches from master fixing many bugs.
(Portage version: 2.1.9.44/cvs/Linux x86_64)
Diffstat (limited to 'mail-client/evolution')
-rw-r--r--mail-client/evolution/ChangeLog11
-rw-r--r--mail-client/evolution/evolution-2.32.2-r2.ebuild186
-rw-r--r--mail-client/evolution/files/evolution-2.32.2-mime-handler.patch133
-rw-r--r--mail-client/evolution/files/evolution-2.32.2-smime-fix.patch76
4 files changed, 405 insertions, 1 deletions
diff --git a/mail-client/evolution/ChangeLog b/mail-client/evolution/ChangeLog
index fa48433b48e9..54ca9be2a611 100644
--- a/mail-client/evolution/ChangeLog
+++ b/mail-client/evolution/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for mail-client/evolution
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/mail-client/evolution/ChangeLog,v 1.333 2011/03/22 19:34:47 ranger Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-client/evolution/ChangeLog,v 1.334 2011/03/27 20:36:45 pacho Exp $
+
+*evolution-2.32.2-r2 (27 Mar 2011)
+
+ 27 Mar 2011; Pacho Ramos <pacho@gentoo.org> +evolution-2.32.2-r2.ebuild,
+ +files/evolution-2.32.2-mime-handler.patch,
+ +files/evolution-2.32.2-smime-fix.patch:
+ Revision bump fixing compilation with --disable-smime (bug #356471 by
+ mymybib), work with new mime handler from glib-2.28, apply multiple patches
+ from master fixing many bugs.
22 Mar 2011; Brent Baude <ranger@gentoo.org> evolution-2.32.2.ebuild:
Marking evolution-2.32.2 ppc stable for bug 353436
diff --git a/mail-client/evolution/evolution-2.32.2-r2.ebuild b/mail-client/evolution/evolution-2.32.2-r2.ebuild
new file mode 100644
index 000000000000..ad1a60e28fa5
--- /dev/null
+++ b/mail-client/evolution/evolution-2.32.2-r2.ebuild
@@ -0,0 +1,186 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/mail-client/evolution/evolution-2.32.2-r2.ebuild,v 1.1 2011/03/27 20:36:45 pacho Exp $
+
+EAPI="3"
+GCONF_DEBUG="no"
+PYTHON_DEPEND="python? 2:2.4"
+
+inherit autotools flag-o-matic gnome2 python versionator
+
+MY_MAJORV=$(get_version_component_range 1-2)
+
+DESCRIPTION="Integrated mail, addressbook and calendaring functionality"
+HOMEPAGE="http://www.gnome.org/projects/evolution/"
+
+SRC_URI="${SRC_URI} http://dev.gentoo.org/~pacho/gnome/${P}-patches.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2 OPENLDAP"
+SLOT="2.0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="clutter connman crypt doc gstreamer kerberos ldap networkmanager python ssl"
+
+# We need a graphical pinentry frontend to be able to ask for the GPG
+# password from inside evolution, bug 160302
+PINENTRY_DEPEND="|| ( app-crypt/pinentry[gtk] app-crypt/pinentry-qt app-crypt/pinentry[qt4] )"
+
+# contacts-map plugin requires libchaimplain and geoclue
+# glade-3 support is for maintainers only per configure.ac
+# mono plugin disabled as it's incompatible with 2.8 and lacks maintainance (see bgo#634571)
+# pst is not mature enough and changes API/ABI frequently
+RDEPEND=">=dev-libs/glib-2.25.12:2
+ >=x11-libs/gtk+-2.20.0:2
+ >=dev-libs/libunique-1.1.2:1
+ >=gnome-base/gnome-desktop-2.26:2
+ >=dev-libs/libgweather-2.25.3:2
+ media-libs/libcanberra[gtk]
+ >=x11-libs/libnotify-0.3
+ >=gnome-extra/evolution-data-server-${PV}[weather]
+ >=gnome-extra/gtkhtml-3.31.90:3.14
+ >=gnome-base/gconf-2:2
+ dev-libs/atk
+ >=dev-libs/libxml2-2.7.3:2
+ >=net-libs/libsoup-2.4:2.4
+ >=media-gfx/gtkimageview-1.6
+ >=x11-misc/shared-mime-info-0.22
+ >=x11-themes/gnome-icon-theme-2.30.2.1
+ >=dev-libs/libgdata-0.4
+
+ clutter? ( media-libs/clutter:1.0[gtk] )
+ connman? ( net-misc/connman )
+ crypt? ( || (
+ ( >=app-crypt/gnupg-2.0.1-r2
+ ${PINENTRY_DEPEND} )
+ =app-crypt/gnupg-1.4* ) )
+ gstreamer? (
+ >=media-libs/gstreamer-0.10:0.10
+ >=media-libs/gst-plugins-base-0.10:0.10 )
+ kerberos? ( virtual/krb5 )
+ ldap? ( >=net-nds/openldap-2 )
+ networkmanager? ( >=net-misc/networkmanager-0.7 )
+ ssl? (
+ >=dev-libs/nspr-4.6.1
+ >=dev-libs/nss-3.11 )
+
+ !<gnome-extra/evolution-exchange-2.32"
+
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.16
+ >=dev-util/intltool-0.35.5
+ sys-devel/gettext
+ sys-devel/bison
+ app-text/scrollkeeper
+ >=app-text/gnome-doc-utils-0.9.1
+ app-text/docbook-xml-dtd:4.1.2
+ >=gnome-base/gnome-common-2.12
+ >=dev-util/gtk-doc-am-1.9
+ doc? ( >=dev-util/gtk-doc-1.9 )"
+# eautoreconf needs:
+# >=gnome-base/gnome-common-2.12
+# >=dev-util/gtk-doc-am-1.9
+
+pkg_setup() {
+ ELTCONF="--reverse-deps"
+ DOCS="AUTHORS ChangeLog* HACKING MAINTAINERS NEWS* README"
+ G2CONF="${G2CONF}
+ --without-kde-applnk-path
+ --enable-plugins=experimental
+ --enable-image-inline
+ --enable-canberra
+ --enable-weather
+ $(use_enable ssl nss)
+ $(use_enable ssl smime)
+ $(use_enable networkmanager nm)
+ $(use_enable connman)
+ $(use_enable gstreamer audio-inline)
+ --disable-profiling
+ --disable-pst-import
+ $(use_enable python)
+ $(use_with clutter)
+ $(use_with ldap openldap)
+ $(use_with kerberos krb5 /usr)
+ --disable-contacts-map
+ --without-glade-catalog
+ --disable-mono
+ --disable-gtk3"
+
+ # dang - I've changed this to do --enable-plugins=experimental. This will
+ # autodetect new-mail-notify and exchange, but that cannot be helped for the
+ # moment. They should be changed to depend on a --enable-<foo> like mono
+ # is. This cleans up a ton of crap from this ebuild.
+
+ # Use NSS/NSPR only if 'ssl' is enabled.
+ if use ssl ; then
+ G2CONF="${G2CONF} --enable-nss=yes"
+ else
+ G2CONF="${G2CONF}
+ --without-nspr-libs
+ --without-nspr-includes
+ --without-nss-libs
+ --without-nss-includes"
+ fi
+
+ # NM and connman support cannot coexist
+ if use networkmanager && use connman ; then
+ ewarn "It is not possible to enable both ConnMan and NetworkManager, disabling connman..."
+ G2CONF="${G2CONF} --disable-connman"
+ fi
+
+ python_set_active_version 2
+}
+
+src_prepare() {
+ gnome2_src_prepare
+
+ epatch "${FILESDIR}"/${PN}-2.32.1-libnotify-0.7.patch
+
+ # Fix invalid use of la file in contact-editor, upstream bug #635002
+ epatch "${FILESDIR}/${PN}-2.32.0-wrong-lafile-usage.patch"
+
+ # Fix compilation with --disable-smime, bug #356471
+ epatch "${FILESDIR}/${PN}-2.32.2-smime-fix.patch"
+
+ # Fix desktop file to work with latest glib
+ epatch "${FILESDIR}/${PN}-2.32.2-mime-handler.patch"
+
+ # Apply multiple backports from master fixing important bugs
+ epatch "${WORKDIR}/${P}-patches"/*.patch
+
+ # Use NSS/NSPR only if 'ssl' is enabled.
+ if use ssl ; then
+ sed -e 's|mozilla-nss|nss|' \
+ -e 's|mozilla-nspr|nspr|' \
+ -i configure.ac configure || die "sed 2 failed"
+ fi
+
+ # Fix compilation flags crazyness
+ sed -e 's/-D.*_DISABLE_DEPRECATED//' \
+ -i configure.ac configure || die "sed 1 failed"
+
+ intltoolize --force --copy --automake || die "intltoolize failed"
+ eautoreconf
+}
+
+src_install() {
+ gnome2_src_install
+
+ find "${ED}"/usr/$(get_libdir)/evolution/${MY_MAJORV}/plugins \
+ -name "*.la" -delete || die "la files removal failed 1"
+ find "${ED}"/usr/$(get_libdir)/evolution/${MY_MAJORV}/modules \
+ -name "*.la" -delete || die "la files removal failed 2"
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+
+ elog "To change the default browser if you are not using GNOME, do:"
+ elog "gconftool-2 --set /desktop/gnome/url-handlers/http/command -t string 'firefox %s'"
+ elog "gconftool-2 --set /desktop/gnome/url-handlers/https/command -t string 'firefox %s'"
+ elog ""
+ elog "Replace 'firefox %s' with which ever browser you use."
+ elog ""
+ elog "Junk filters are now a run-time choice. You will get a choice of"
+ elog "bogofilter or spamassassin based on which you have installed"
+ elog ""
+ elog "You have to install one of these for the spam filtering to actually work"
+}
diff --git a/mail-client/evolution/files/evolution-2.32.2-mime-handler.patch b/mail-client/evolution/files/evolution-2.32.2-mime-handler.patch
new file mode 100644
index 000000000000..fdbda5ce3d5a
--- /dev/null
+++ b/mail-client/evolution/files/evolution-2.32.2-mime-handler.patch
@@ -0,0 +1,133 @@
+commit 61999b493fc4266300eab2907909867e73e4cc1e
+Author: Milan Crha <mcrha@redhat.com>
+Date: Wed Oct 20 15:24:29 2010 +0200
+
+ Bug #631451 - Add handlers for x-scheme-handler/mailto
+
+diff --git a/data/evolution.desktop.in.in b/data/evolution.desktop.in.in
+index d69738e..5fdad27 100644
+--- a/data/evolution.desktop.in.in
++++ b/data/evolution.desktop.in.in
+@@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=Evolution
+ X-GNOME-Bugzilla-Component=BugBuddyBugs
+ X-GNOME-Bugzilla-Version=@BASE_VERSION@.x
+ X-GNOME-Bugzilla-OtherBinaries=e-addressbook-factory;e-calendar-factory
+-MimeType=text/calendar;text/x-vcard;text/directory;application/mbox;message/rfc822;
++MimeType=text/calendar;text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;
+diff --git a/modules/mailto-handler/evolution-mailto-handler.c b/modules/mailto-handler/evolution-mailto-handler.c
+index 367d9166..01d1bd2 100644
+--- a/modules/mailto-handler/evolution-mailto-handler.c
++++ b/modules/mailto-handler/evolution-mailto-handler.c
+@@ -30,7 +30,9 @@
+ ((obj), E_TYPE_MAILTO_HANDLER, EMailtoHandler))
+
+ #define MAILTO_COMMAND \
+- "evolution --component=mail %s"
++ "evolution --component=mail"
++
++#define MAILTO_HANDLER "x-scheme-handler/mailto"
+
+ typedef struct _EMailtoHandler EMailtoHandler;
+ typedef struct _EMailtoHandlerClass EMailtoHandlerClass;
+@@ -63,13 +65,18 @@ mailto_handler_get_shell (EMailtoHandler *extension)
+ }
+
+ static gboolean
+-mailto_handler_is_evolution (const gchar *mailto_command)
++mailto_handler_is_evolution (/*const*/ GAppInfo *app_info)
+ {
+ gint argc;
+ gchar **argv;
+ gchar *basename;
+ gboolean is_evolution;
++ const gchar *mailto_command;
++
++ if (app_info == NULL)
++ return FALSE;
+
++ mailto_command = g_app_info_get_commandline (app_info);
+ if (mailto_command == NULL)
+ return FALSE;
+
+@@ -174,14 +181,14 @@ mailto_handler_check (EMailtoHandler *extension)
+ EShell *shell;
+ EShellSettings *shell_settings;
+ gboolean check_mailto_handler = TRUE;
+- gchar *mailto_command = NULL;
++ GAppInfo *app_info = NULL;
++ GError *error = NULL;
+
+ shell = mailto_handler_get_shell (extension);
+ shell_settings = e_shell_get_shell_settings (shell);
+
+ g_object_get (
+ shell_settings,
+- "mailto-handler-command", &mailto_command,
+ "mailto-handler-check", &check_mailto_handler,
+ NULL);
+
+@@ -189,25 +196,37 @@ mailto_handler_check (EMailtoHandler *extension)
+ if (!check_mailto_handler)
+ goto exit;
+
++ app_info = g_app_info_get_default_for_type (MAILTO_HANDLER, FALSE);
++
+ /* Is Evolution already handling "mailto" URIs? */
+- if (mailto_handler_is_evolution (mailto_command))
++ if (mailto_handler_is_evolution (app_info))
+ goto exit;
+
+ /* Does the user want Evolution to handle them? */
+ if (!mailto_handler_prompt (extension))
+ goto exit;
+
++ if (app_info)
++ g_object_unref (app_info);
++
+ /* Configure Evolution to be the "mailto" URI handler. */
++ app_info = g_app_info_create_from_commandline (
++ MAILTO_COMMAND,
++ _("Evolution"),
++ G_APP_INFO_CREATE_SUPPORTS_URIS,
++ &error);
+
+- g_object_set (
+- shell_settings,
+- "mailto-handler-command", MAILTO_COMMAND,
+- "mailto-handler-enabled", TRUE,
+- "mailto-handler-needs-terminal", FALSE,
+- NULL);
++ if (app_info && !error)
++ g_app_info_set_as_default_for_type (app_info, MAILTO_HANDLER, &error);
+
+ exit:
+- g_free (mailto_command);
++ if (app_info)
++ g_object_unref (app_info);
++
++ if (error) {
++ g_warning ("Failed to register as default handler: %s", error->message);
++ g_error_free (error);
++ }
+ }
+
+ static void
+@@ -226,18 +245,6 @@ mailto_handler_constructed (GObject *object)
+ "mailto-handler-check",
+ "/apps/evolution/mail/prompts/checkdefault");
+
+- e_shell_settings_install_property_for_key (
+- "mailto-handler-command",
+- "/desktop/gnome/url-handlers/mailto/command");
+-
+- e_shell_settings_install_property_for_key (
+- "mailto-handler-enabled",
+- "/desktop/gnome/url-handlers/mailto/enabled");
+-
+- e_shell_settings_install_property_for_key (
+- "mailto-handler-needs-terminal",
+- "/desktop/gnome/url-handlers/mailto/needs_terminal");
+-
+ g_signal_connect_swapped (
+ shell, "event::ready-to-start",
+ G_CALLBACK (mailto_handler_check), extension);
diff --git a/mail-client/evolution/files/evolution-2.32.2-smime-fix.patch b/mail-client/evolution/files/evolution-2.32.2-smime-fix.patch
new file mode 100644
index 000000000000..d42f6a3a9f7a
--- /dev/null
+++ b/mail-client/evolution/files/evolution-2.32.2-smime-fix.patch
@@ -0,0 +1,76 @@
+--- mail/em-account-editor.c~ 2010-12-27 15:57:03.000000000 +0100
++++ mail/em-account-editor.c 2011-03-27 17:57:40.000000000 +0200
+@@ -68,7 +68,7 @@
+ #include "mail-ops.h"
+ #include "mail-mt.h"
+
+-#if defined (HAVE_NSS)
++#if defined (HAVE_NSS) && defined (ENABLE_SMIME)
+ #include "smime/gui/e-cert-selector.h"
+ #endif
+
+@@ -1202,7 +1202,7 @@
+ return folder;
+ }
+
+-#if defined (HAVE_NSS)
++#if defined (HAVE_NSS) && defined (ENABLE_SMIME)
+ static void
+ smime_changed (EMAccountEditor *emae)
+ {
+@@ -3072,7 +3072,7 @@
+ emae_security_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *old, gpointer data)
+ {
+ EMAccountEditor *emae = data;
+-#if defined (HAVE_NSS)
++#if defined (HAVE_NSS) && defined (ENABLE_SMIME)
+ EMAccountEditorPrivate *priv = emae->priv;
+ #endif
+ GtkWidget *w;
+@@ -3092,7 +3092,7 @@
+ emae_account_toggle (emae, "pgp_no_imip_sign", E_ACCOUNT_PGP_NO_IMIP_SIGN, builder);
+ emae_account_toggle (emae, "pgp_always_trust", E_ACCOUNT_PGP_ALWAYS_TRUST, builder);
+
+-#if defined (HAVE_NSS)
++#if defined (HAVE_NSS) && defined (ENABLE_SMIME)
+ /* TODO: this should handle its entry separately? */
+ priv->smime_sign_key = emae_account_entry (emae, "smime_sign_key", E_ACCOUNT_SMIME_SIGN_KEY, builder);
+ priv->smime_sign_key_select = (GtkButton *)e_builder_get_widget (builder, "smime_sign_key_select");
+--- mail/em-format-html-display.c~ 2010-10-14 23:18:47.000000000 +0200
++++ mail/em-format-html-display.c 2011-03-27 17:58:58.000000000 +0200
+@@ -50,7 +50,7 @@
+ #include <e-util/e-dialog-utils.h>
+ #include <e-util/e-icon-factory.h>
+
+-#ifdef HAVE_NSS
++#if defined (HAVE_NSS) && defined (ENABLE_SMIME)
+ #include "certificate-viewer.h"
+ #include "e-cert-db.h"
+ #endif
+@@ -171,7 +171,7 @@
+ po->widget = NULL;
+ }
+
+-#ifdef HAVE_NSS
++#if defined (HAVE_NSS) && defined (ENABLE_SMIME)
+ static void
+ efhd_xpkcs7mime_viewcert_clicked (GtkWidget *button,
+ struct _smime_pobject *po)
+--- modules/addressbook/e-book-shell-backend.c~ 2010-11-10 19:55:36.000000000 +0100
++++ modules/addressbook/e-book-shell-backend.c 2011-03-27 17:59:56.000000000 +0200
+@@ -317,6 +317,7 @@
+ autocompletion_config_new,
+ 200);
+
++#ifdef ENABLE_SMIME
+ preferences_window = e_shell_get_preferences_window (shell);
+ e_preferences_window_add_page (
+ E_PREFERENCES_WINDOW (preferences_window),
+@@ -325,6 +326,7 @@
+ _("Certificates"),
+ certificate_manager_config_new,
+ 700);
++#endif
+
+ return FALSE;
+ }