diff options
author | Pacho Ramos <pacho@gentoo.org> | 2010-03-19 11:13:54 +0000 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2010-03-19 11:13:54 +0000 |
commit | 7c5501d8966dd8e33206299fa64f8c3a37627fb5 (patch) | |
tree | a435f49171145d6c76cfbd7e220e818593451336 /mail-client/mail-notification | |
parent | Bump (diff) | |
download | gentoo-2-7c5501d8966dd8e33206299fa64f8c3a37627fb5.tar.gz gentoo-2-7c5501d8966dd8e33206299fa64f8c3a37627fb5.tar.bz2 gentoo-2-7c5501d8966dd8e33206299fa64f8c3a37627fb5.zip |
Fix bug 293374 and sync with fedora to solve other issues
(Portage version: 2.1.7.17/cvs/Linux x86_64)
Diffstat (limited to 'mail-client/mail-notification')
6 files changed, 319 insertions, 2 deletions
diff --git a/mail-client/mail-notification/ChangeLog b/mail-client/mail-notification/ChangeLog index 8d9eeb9fcd5c..3c4bc2abcb3f 100644 --- a/mail-client/mail-notification/ChangeLog +++ b/mail-client/mail-notification/ChangeLog @@ -1,6 +1,18 @@ # ChangeLog for mail-client/mail-notification -# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/mail-client/mail-notification/ChangeLog,v 1.89 2009/09/20 13:53:45 graaff Exp $ +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/mail-client/mail-notification/ChangeLog,v 1.90 2010/03/19 11:13:54 pacho Exp $ + +*mail-notification-5.4-r2 (19 Mar 2010) + + 19 Mar 2010; Pacho Ramos <pacho@gentoo.org> + +mail-notification-5.4-r2.ebuild, + +files/mail-notification-5.4-e-d-s.patch, + +files/mail-notification-5.4-evolution-gtkhtml.patch, + +files/mail-notification-5.4-gmime.patch, + +files/mail-notification-5.4-sasl_encode64.patch: + Sync with Fedora to fix bug 293374, fix building against different and + upcoming eds versions in a better way, use new cyrus-sasl ABI and build + against latest gmime. 20 Sep 2009; Hans de Graaff <graaff@gentoo.org> mail-notification-5.4-r1.ebuild: diff --git a/mail-client/mail-notification/files/mail-notification-5.4-e-d-s.patch b/mail-client/mail-notification/files/mail-notification-5.4-e-d-s.patch new file mode 100644 index 000000000000..073818afed2d --- /dev/null +++ b/mail-client/mail-notification/files/mail-notification-5.4-e-d-s.patch @@ -0,0 +1,102 @@ +--- build/src/mn-evolution-server.c.orig 2008-09-30 15:30:07.756216978 +0200 ++++ build/src/mn-evolution-server.c 2008-09-30 15:30:49.950220711 +0200 +@@ -27,6 +27,7 @@ + #include <stdio.h> + #include <libintl.h> + #include <gobject/gvaluecollector.h> ++#include <libedataserver/eds-version.h> + #include <camel/camel-folder.h> + #include <mail/em-folder-view.h> + #include <mail/em-format.h> +@@ -595,7 +596,12 @@ + + for (i = 0; i < summary->len; i++) + { ++#if EDS_CHECK_VERSION(2,23,5) ++ char *uid = summary->pdata[i]; ++ CamelMessageInfo *info = camel_folder_get_message_info(folder, uid); ++#else + CamelMessageInfo *info = summary->pdata[i]; ++#endif + + if ((camel_message_info_flags(info) & CAMEL_MESSAGE_SEEN) == 0) + g_ptr_array_add(*ret, self_camel_message_info_to_dbus_struct(info)); +--- build/src/mn-evolution-folder-tree-server.c.evolution 2010-02-01 10:00:12.128683776 -0500 ++++ build/src/mn-evolution-folder-tree-server.c 2010-02-01 10:02:32.809697243 -0500 +@@ -26,5 +26,8 @@ + #include <dbus/dbus.h> ++#include <libedataserver/eds-version.h> ++#if !EDS_CHECK_VERSION(2,29,0) + #include <mail/mail-component.h> ++#endif + #include <mail/em-folder-tree.h> + #include "mn-evolution-plugin.h" + #include "mn-evolution.h" +@@ -396,7 +399,11 @@ mn_evolution_folder_tree_server_construc + ++#if EDS_CHECK_VERSION(2,29,0) ++ selfp->tree = em_folder_tree_new(); ++#else + EMFolderTreeModel *model; + + model = mail_component_peek_tree_model(mail_component_peek()); + selfp->tree = em_folder_tree_new_with_model(model); ++#endif + + selfp->plug = gtk_plug_new((GdkNativeWindow) selfp->id); +--- build/src/mn-evolution-server.c.evolution 2010-02-01 10:06:36.484698060 -0500 ++++ build/src/mn-evolution-server.c 2010-02-01 10:09:01.946682081 -0500 +@@ -28,9 +28,14 @@ + #include <gobject/gvaluecollector.h> + #include <libedataserver/eds-version.h> + #include <camel/camel-folder.h> ++#if EDS_CHECK_VERSION(2,29,0) ++#include <shell/e-shell.h> ++#include <mail/e-mail-browser.h> ++#else + #include <mail/em-folder-view.h> + #include <mail/em-format.h> + #include <mail/em-message-browser.h> ++#endif + #include <mail/em-utils.h> + #include <mail/mail-session.h> + #include <mail/mail-tools.h> +@@ -568,6 +573,19 @@ mn_evolution_server_open_message (MNEvol + folder = self_lookup_folder(folder_uri, err); + if (folder) + { ++#if EDS_CHECK_VERSION(2,29,0) ++ EShell *shell; ++ EShellBackend *shell_backend; ++ GtkWidget *browser; ++ ++ shell = e_shell_get_default (); ++ shell_backend = e_shell_get_backend_by_name (shell, "mail"); ++ ++ browser = e_mail_browser_new (shell_backend); ++ e_mail_reader_set_folder (E_MAIL_READER (browser), folder, folder_uri); ++ e_mail_reader_set_message (E_MAIL_READER (browser), message_uid); ++ gtk_widget_show (browser); ++#else + GtkWidget *browser; + + /* modelled after Evolution's handleuri_got_folder() */ +@@ -578,6 +596,7 @@ mn_evolution_server_open_message (MNEvol + em_folder_view_set_folder((EMFolderView *) browser, folder, folder_uri); + em_folder_view_set_message((EMFolderView *) browser, message_uid, FALSE); + gtk_widget_show(((EMMessageBrowser *) browser)->window); ++#endif + + camel_object_unref(folder); + } +--- src/mn-evolution-plugin.c.evolution 2008-05-22 11:45:35.000000000 -0400 ++++ src/mn-evolution-plugin.c 2010-02-01 11:52:06.141664757 -0500 +@@ -204,7 +204,7 @@ connect_to_session_bus (void) + } + + int +-e_plugin_lib_enable (EPluginLib *ep, int enable) ++e_plugin_lib_enable (EPlugin *ep, int enable) + { + static gboolean enabled = FALSE; + GError *err = NULL; diff --git a/mail-client/mail-notification/files/mail-notification-5.4-evolution-gtkhtml.patch b/mail-client/mail-notification/files/mail-notification-5.4-evolution-gtkhtml.patch new file mode 100644 index 000000000000..1e7fa2b5305a --- /dev/null +++ b/mail-client/mail-notification/files/mail-notification-5.4-evolution-gtkhtml.patch @@ -0,0 +1,12 @@ +diff -Nrbu mail-notification-5.4/jbsrc/lib/src/extras/jb-evolution-plugin.c mail-notification-5.4-OK/jbsrc/lib/src/extras/jb-evolution-plugin.c +--- mail-notification-5.4/jbsrc/lib/src/extras/jb-evolution-plugin.c 2008-04-27 18:47:43.000000000 +0400 ++++ mail-notification-5.4-OK/jbsrc/lib/src/extras/jb-evolution-plugin.c 2009-08-21 19:48:22.000000000 +0400 +@@ -41,7 +41,7 @@ + if (! minversion) + minversion = "2.12"; + +- packages = g_strdup_printf("evolution-plugin >= %s", minversion); ++ packages = g_strdup_printf("evolution-plugin >= %s libgtkhtml-3.14 gtkhtml-editor", minversion); + result = jb_check_packages("Evolution", "evolution-plugin", packages); + g_free(packages); + diff --git a/mail-client/mail-notification/files/mail-notification-5.4-gmime.patch b/mail-client/mail-notification/files/mail-notification-5.4-gmime.patch new file mode 100644 index 000000000000..0d16357fbb6b --- /dev/null +++ b/mail-client/mail-notification/files/mail-notification-5.4-gmime.patch @@ -0,0 +1,63 @@ +diff -Nrbu mail-notification-5.4/build/src/mn-base-mbox-mailbox-backend.c mail-notification-5.4-OK/build/src/mn-base-mbox-mailbox-backend.c +--- mail-notification-5.4/build/src/mn-base-mbox-mailbox-backend.c 2008-12-23 14:48:49.000000000 +0300 ++++ mail-notification-5.4-OK/build/src/mn-base-mbox-mailbox-backend.c 2008-12-23 14:48:28.000000000 +0300 +@@ -265,7 +265,7 @@ + mime_message = g_mime_parser_construct_message(parser); + if (mime_message) + { +- if (g_mime_message_get_header(mime_message, "X-Mozilla-Status")) ++ if (g_mime_object_get_header(mime_message, "X-Mozilla-Status")) + { + #if WITH_MOZILLA + type = MN_TYPE_MOZILLA_MAILBOX_BACKEND; +diff -Nrbu mail-notification-5.4/build/src/mn-mozilla-mailbox-backend.c mail-notification-5.4-OK/build/src/mn-mozilla-mailbox-backend.c +--- mail-notification-5.4/build/src/mn-mozilla-mailbox-backend.c 2008-12-23 14:48:49.000000000 +0300 ++++ mail-notification-5.4-OK/build/src/mn-mozilla-mailbox-backend.c 2008-12-23 14:46:47.000000000 +0300 +@@ -167,7 +167,7 @@ + + const char *header; + +- header = g_mime_message_get_header(mime_message, header_name); ++ header = g_mime_object_get_header(mime_message, header_name); + if (header && mn_str_ishex(header)) + return strtol(header, NULL, 16); + else +diff -Nrbu mail-notification-5.4/jbsrc/jb.c mail-notification-5.4-OK/jbsrc/jb.c +--- mail-notification-5.4/jbsrc/jb.c 2008-05-22 19:47:04.000000000 +0400 ++++ mail-notification-5.4-OK/jbsrc/jb.c 2008-12-23 14:43:09.000000000 +0300 +@@ -166,7 +166,7 @@ + jb_require_packages("GNOME", "gnome", "glib-2.0 >= 2.14 gthread-2.0 gconf-2.0 >= 2.4.0 gtk+-2.0 >= 2.12 libgnomeui-2.0 >= 2.14.0 gnome-vfs-2.0 libglade-2.0 libxml-2.0 libnotify >= 0.4.1"); + jb_require_packages("D-Bus", "dbus", "dbus-glib-1"); + +- jb_check_packages_for_options("GMime", "gmime", "gmime-2.0 >= 2.2.7", ++ jb_check_packages_for_options("GMime", "gmime", "gmime-2.4", + "hotmail", + "imap", + "maildir", +diff -Nrbu mail-notification-5.4/src/mn-message-mime.c mail-notification-5.4-OK/src/mn-message-mime.c +--- mail-notification-5.4/src/mn-message-mime.c 2008-05-22 19:45:35.000000000 +0400 ++++ mail-notification-5.4-OK/src/mn-message-mime.c 2008-12-23 14:46:35.000000000 +0300 +@@ -33,12 +33,12 @@ + g_return_val_if_fail(GMIME_IS_MESSAGE(mime_message), FALSE); + + /* SpamAssassin */ +- spam = g_mime_message_get_header(mime_message, "X-Spam-Status"); ++ spam = g_mime_object_get_header(mime_message, "X-Spam-Status"); + if (spam && mn_ascii_str_case_has_prefix(spam, "yes")) + return TRUE; + + /* bogofilter */ +- spam = g_mime_message_get_header(mime_message, "X-Bogosity"); ++ spam = g_mime_object_get_header(mime_message, "X-Bogosity"); + if (spam && mn_ascii_str_case_has_prefix(spam, "yes")) + return TRUE; + +@@ -89,7 +89,7 @@ + { + const char *status; + +- status = g_mime_message_get_header(mime_message, "Status"); ++ status = g_mime_object_get_header(mime_message, "Status"); + if (status && strchr(status, 'R')) + return NULL; /* the message was read */ + else if (status && strchr(status, 'O')) diff --git a/mail-client/mail-notification/files/mail-notification-5.4-sasl_encode64.patch b/mail-client/mail-notification/files/mail-notification-5.4-sasl_encode64.patch new file mode 100644 index 000000000000..80a7304d10d1 --- /dev/null +++ b/mail-client/mail-notification/files/mail-notification-5.4-sasl_encode64.patch @@ -0,0 +1,24 @@ +diff -up mail-notification-5.4/build/src/mn-pop3-mailbox.c mail-notification-5.4-OK/build/src/mn-pop3-mailbox.c +--- mail-notification-5.4/build/src/mn-pop3-mailbox.c 2009-05-19 10:29:58.448201837 +0200 ++++ mail-notification-5.4-OK/build/src/mn-pop3-mailbox.c 2009-05-19 10:23:29.356204287 +0200 +@@ -619,7 +619,7 @@ mn_pop3_mailbox_enter_auth_cb (MNClientS + + if (initial_clientoutlen > 0) + { +- char buf64[initial_clientoutlen * 2]; /* Base64 is 33% larger than the data it encodes */ ++ char buf64[initial_clientoutlen * 2 + 1]; /* Base64 is 33% larger than the data it encodes */ + unsigned int outlen; + int result; + char *str; +diff -up mail-notification-5.4/src/mn-client-session.c mail-notification-5.4-OK/src/mn-client-session.c +--- mail-notification-5.4/src/mn-client-session.c 2008-05-22 17:45:35.000000000 +0200 ++++ mail-notification-5.4-OK/src/mn-client-session.c 2009-05-19 10:29:09.112211055 +0200 +@@ -1030,7 +1030,7 @@ mn_client_session_write (MNClientSession + static int + write_base64 (MNClientSession *session, const char *buf, unsigned int len) + { +- char buf64[len * 2]; /* Base64 is 33% larger than the data it encodes */ ++ char buf64[len * 2 + 1]; /* Base64 is 33% larger than the data it encodes */ + unsigned int outlen; + int result; + char *str; diff --git a/mail-client/mail-notification/mail-notification-5.4-r2.ebuild b/mail-client/mail-notification/mail-notification-5.4-r2.ebuild new file mode 100644 index 000000000000..99f9d70222a2 --- /dev/null +++ b/mail-client/mail-notification/mail-notification-5.4-r2.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-client/mail-notification/mail-notification-5.4-r2.ebuild,v 1.1 2010/03/19 11:13:54 pacho Exp $ + +EAPI=1 + +inherit gnome2 multilib flag-o-matic toolchain-funcs + +DESCRIPTION="A GNOME trayicon which checks for email, with support for many online and offline mailbox formats." +HOMEPAGE="http://www.nongnu.org/mailnotify/" +SRC_URI="http://savannah.nongnu.org/download/mailnotify/${P}.tar.bz2" + +KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86" +SLOT="0" +LICENSE="GPL-3" + +IUSE="evo gmail imap ipv6 maildir mbox mh mozilla pop sasl ssl sylpheed" + +# gmime is actually optional, but it's used by so much of the package +# it's pointless making it optional. gnome-keyring is required for +# several specific access methods, and thus linked to those USE flags +# instead of adding a keyring USE flag. +RDEPEND=">=x11-libs/gtk+-2.12 + >=dev-libs/glib-2.14 + >=gnome-base/gconf-2.4.0 + >=gnome-base/gnome-panel-2.6 + >=gnome-base/gconf-2.6 + >=gnome-base/libgnomeui-2.14 + >=gnome-base/libglade-2.0 + dev-libs/dbus-glib + dev-libs/gmime:2.4 + >=x11-libs/libnotify-0.4.1 + pop? ( gnome-base/gnome-keyring ) + imap? ( gnome-base/gnome-keyring ) + gmail? ( gnome-base/gnome-keyring ) + ssl? ( >=dev-libs/openssl-0.9.6 ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + evo? ( >=mail-client/evolution-2.24 ) + sylpheed? ( mail-client/sylpheed )" + +DEPEND="${RDEPEND} + app-text/scrollkeeper + dev-util/pkgconfig + >=dev-util/intltool-0.35.0" + +# this now uses JB (the Jean-Yves Lefort's Build System) as a build system +# instead of autotools, this is a little helper function that basically does +# the same thing as use_enable +use_var() { + echo -n "${2:-$1}=" + use "${1}" && echo "yes" || echo "no" +} + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}/${P}-dont-update-cache.patch" + + # We are not Ubuntu, and I suspect that this is the cause of #215281 + epatch "${FILESDIR}/${P}-remove-ubuntu-special-case.patch" + + # Make it work ok with eds-2.24 and 2.29, thanks to Fedora folks + epatch "${FILESDIR}/${P}-e-d-s.patch" + + # Fix gtkhtml depend to solve building against evo-2.28, see bug #293374 + epatch "${FILESDIR}/${P}-evolution-gtkhtml.patch" + + # Add patch for new cyrus-sasl's ABI, see: + # https://bugzilla.redhat.com/501456 + epatch "${FILESDIR}/${P}-sasl_encode64.patch" + + # Fedora patch to build against dev-libs/gmime:2.4 + epatch "${FILESDIR}/${P}-gmime.patch" +} + +src_compile() { + ./jb configure destdir="${D}" prefix="/usr" libdir=/usr/$(get_libdir) \ + sysconfdir="/etc" localstatedir="/var" cc="$(tc-getCC)" \ + cflags="${CFLAGS}" cppflags="${CXXFLAGS}" ldflags="${LDFLAGS}" \ + scrollkeeper-dir="/var/lib/scrollkeeper" \ + $(use_var evo evolution) \ + $(use_var gmail) \ + $(use_var imap) \ + $(use_var ipv6) \ + $(use_var maildir) \ + $(use_var mbox) \ + $(use_var mh) \ + $(use_var mozilla) \ + $(use_var pop pop3) \ + $(use_var sasl) \ + $(use_var ssl) \ + $(use_var sylpheed) + + ./jb build +} + +src_install() { + GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL="1" ./jb install + + dodoc NEWS README AUTHORS TODO TRANSLATING + + rm -rf "${D}/var/lib/scrollkeeper" +} |