summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2010-03-19 11:13:54 +0000
committerPacho Ramos <pacho@gentoo.org>2010-03-19 11:13:54 +0000
commit7c5501d8966dd8e33206299fa64f8c3a37627fb5 (patch)
treea435f49171145d6c76cfbd7e220e818593451336 /mail-client/mail-notification
parentBump (diff)
downloadgentoo-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')
-rw-r--r--mail-client/mail-notification/ChangeLog16
-rw-r--r--mail-client/mail-notification/files/mail-notification-5.4-e-d-s.patch102
-rw-r--r--mail-client/mail-notification/files/mail-notification-5.4-evolution-gtkhtml.patch12
-rw-r--r--mail-client/mail-notification/files/mail-notification-5.4-gmime.patch63
-rw-r--r--mail-client/mail-notification/files/mail-notification-5.4-sasl_encode64.patch24
-rw-r--r--mail-client/mail-notification/mail-notification-5.4-r2.ebuild104
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"
+}