diff options
author | Pacho Ramos <pacho@gentoo.org> | 2011-03-27 20:36:45 +0000 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2011-03-27 20:36:45 +0000 |
commit | ada0d7b8141f4d773b0c0d9cd9389a73c1e6be3e (patch) | |
tree | 09d7c6eeed32f18f65deb29507848125642d5353 /mail-client/evolution | |
parent | Initial commit. (diff) | |
download | gentoo-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/ChangeLog | 11 | ||||
-rw-r--r-- | mail-client/evolution/evolution-2.32.2-r2.ebuild | 186 | ||||
-rw-r--r-- | mail-client/evolution/files/evolution-2.32.2-mime-handler.patch | 133 | ||||
-rw-r--r-- | mail-client/evolution/files/evolution-2.32.2-smime-fix.patch | 76 |
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; + } |