diff options
author | Parabola <dev@list.parabolagnulinux.org> | 2011-04-05 14:26:38 +0000 |
---|---|---|
committer | Parabola <dev@list.parabolagnulinux.org> | 2011-04-05 14:26:38 +0000 |
commit | 415856bdd4f48ab4f2732996f0bae58595092bbe (patch) | |
tree | ede2018b591f6dfb477fe9341ba17b9bc000fab9 /extra/mail-notification |
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'extra/mail-notification')
-rw-r--r-- | extra/mail-notification/PKGBUILD | 54 | ||||
-rw-r--r-- | extra/mail-notification/dont-update-cache.patch | 22 | ||||
-rw-r--r-- | extra/mail-notification/evolution-gtkhtml.patch | 11 | ||||
-rw-r--r-- | extra/mail-notification/evolution.patch | 102 | ||||
-rw-r--r-- | extra/mail-notification/gmime-2.4.patch | 63 | ||||
-rw-r--r-- | extra/mail-notification/mail-notification-5.4-camel_headers.patch | 36 | ||||
-rw-r--r-- | extra/mail-notification/mail-notification-5.4-icons.patch | 36 | ||||
-rw-r--r-- | extra/mail-notification/mail-notification.install | 24 | ||||
-rw-r--r-- | extra/mail-notification/remove-ubuntu-special-case.patch | 33 |
9 files changed, 381 insertions, 0 deletions
diff --git a/extra/mail-notification/PKGBUILD b/extra/mail-notification/PKGBUILD new file mode 100644 index 000000000..6d072f4aa --- /dev/null +++ b/extra/mail-notification/PKGBUILD @@ -0,0 +1,54 @@ +# $Id: PKGBUILD 112858 2011-03-07 09:46:50Z ibiru $ +# Maintainer: Roman Kyrylych <roman@archlinux.org> + +pkgname=mail-notification +pkgver=5.4 +pkgrel=7 +pkgdesc="Tray icon application that informs you if you have new mail" +arch=('i686' 'x86_64') +url="http://www.nongnu.org/mailnotify/" +license=('GPL3' 'FDL') +depends=('cyrus-sasl-plugins' 'gmime' 'libnotify>=0.7.1' 'gnome-keyring' 'hicolor-icon-theme' 'notification-daemon' 'libgnomeui') +makedepends=('gob2' 'intltool' 'evolution' 'gnome-doc-utils') +options=('!libtool' '!emptydirs') +install=mail-notification.install +source=(http://savannah.nongnu.org/download/mailnotify/${pkgname}-${pkgver}.tar.bz2 + dont-update-cache.patch + remove-ubuntu-special-case.patch + gmime-2.4.patch + evolution-gtkhtml.patch + evolution.patch + mail-notification-5.4-icons.patch + mail-notification-5.4-camel_headers.patch) +md5sums=('c8dc33a61251acb5474e56eab6b18f43' + '6007bc30e789dab0a8282038e0335eb9' + '9cadd61bbd9c324b2916ec980231e0f2' + '447cc20f035b9cf1a391027684ce1297' + '500b2e42fbc5078e61407923a07b6e94' + '46568640b7f97ab9ab7b54d49bee7e8e' + '8f602891a694ceaa91f845d97ae51b39' + 'f79939f593b2e8659e302df72c2b54b1') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -Np0 -i "${srcdir}/dont-update-cache.patch" + patch -Np0 -i "${srcdir}/remove-ubuntu-special-case.patch" + patch -Np1 -i "${srcdir}/gmime-2.4.patch" + patch -Np1 -i "${srcdir}/evolution-gtkhtml.patch" + patch -Np0 -i "${srcdir}/evolution.patch" + patch -Np0 -i "${srcdir}/mail-notification-5.4-icons.patch" + patch -Np1 -i "${srcdir}/mail-notification-5.4-camel_headers.patch" + + ./jb configure prefix=/usr sysconfdir=/etc \ + localstatedir=/var destdir="${pkgdir}" \ + gconf-schemas-dir=/etc/gconf/schemas install-gconf-schemas=yes \ + cflags="${CFLAGS}" cppflags="${CXXFLAGS}" ldflags="${LDFLAGS}" \ + library-mode=0755 + ./jb build + GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 ./jb install + + install -m755 -d "${pkgdir}/usr/share/gconf/schemas" + gconf-merge-schema ${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas --domain mail-notification ${pkgdir}/etc/gconf/schemas/*.schemas + rm -f ${pkgdir}/etc/gconf/schemas/*.schemas +} diff --git a/extra/mail-notification/dont-update-cache.patch b/extra/mail-notification/dont-update-cache.patch new file mode 100644 index 000000000..81216835e --- /dev/null +++ b/extra/mail-notification/dont-update-cache.patch @@ -0,0 +1,22 @@ +--- jbsrc/jb.c.~1~ 2008-03-20 16:53:02.000000000 +0100 ++++ jbsrc/jb.c 2008-03-26 20:51:45.641363619 +0100 +@@ -327,7 +327,6 @@ + jb_package_add_resources (void) + { + JBGroup *group; +- JBRule *rule; + JBObject *object; + + if (jb_variable_get_bool("compile-warnings")) +@@ -362,11 +361,6 @@ + if (jb_variable_get_bool("hotmail")) + jb_group_add_data_file(group, "hotmail.png", "$pkgdatadir"); + +- rule = jb_rule_new(); +- jb_rule_set_install_message(rule, "updating the GTK+ icon cache"); +- jb_rule_add_install_command(rule, "-gtk-update-icon-cache -f -t $datadir/icons/hicolor"); +- jb_group_add_resource(group, JB_GROUP_RESOURCE(rule)); +- + jb_group_add(group); + + /*** data ******************************************************************/ diff --git a/extra/mail-notification/evolution-gtkhtml.patch b/extra/mail-notification/evolution-gtkhtml.patch new file mode 100644 index 000000000..fe9b0ddf8 --- /dev/null +++ b/extra/mail-notification/evolution-gtkhtml.patch @@ -0,0 +1,11 @@ +--- mail-notification-5.4/jbsrc/lib/src/extras/jb-evolution-plugin.c.orig 2009-10-12 23:15:03.000000000 +0200 ++++ mail-notification-5.4/jbsrc/lib/src/extras/jb-evolution-plugin.c 2009-10-12 23:17:26.000000000 +0200 +@@ -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-3.14", minversion); + result = jb_check_packages("Evolution", "evolution-plugin", packages); + g_free(packages); + diff --git a/extra/mail-notification/evolution.patch b/extra/mail-notification/evolution.patch new file mode 100644 index 000000000..073818afe --- /dev/null +++ b/extra/mail-notification/evolution.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/extra/mail-notification/gmime-2.4.patch b/extra/mail-notification/gmime-2.4.patch new file mode 100644 index 000000000..0d16357fb --- /dev/null +++ b/extra/mail-notification/gmime-2.4.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/extra/mail-notification/mail-notification-5.4-camel_headers.patch b/extra/mail-notification/mail-notification-5.4-camel_headers.patch new file mode 100644 index 000000000..861e3d215 --- /dev/null +++ b/extra/mail-notification/mail-notification-5.4-camel_headers.patch @@ -0,0 +1,36 @@ +diff -Nrbu mail-notification-5.4/build/src/mn-evolution-message.c mail-notification-5.4-OK/build/src/mn-evolution-message.c +--- mail-notification-5.4/build/src/mn-evolution-message.c 2008-05-22 19:47:51.000000000 +0400 ++++ mail-notification-5.4-OK/build/src/mn-evolution-message.c 2010-05-04 18:13:31.000000000 +0400 +@@ -25,7 +25,7 @@ + #line 24 "src/mn-evolution-message.gob" + + #include <glib/gi18n.h> +-#include <camel/camel-folder-summary.h> ++#include <camel/camel.h> + #include "mn-evolution-mailbox.h" + #include "mn-message-private.h" + #include "mn-evolution-client.h" +diff -Nrbu mail-notification-5.4/build/src/mn-evolution-server.c mail-notification-5.4-OK/build/src/mn-evolution-server.c +--- mail-notification-5.4/build/src/mn-evolution-server.c 2010-05-04 18:12:56.000000000 +0400 ++++ mail-notification-5.4-OK/build/src/mn-evolution-server.c 2010-05-04 18:13:39.000000000 +0400 +@@ -28,7 +28,7 @@ + #include <libintl.h> + #include <gobject/gvaluecollector.h> + #include <libedataserver/eds-version.h> +-#include <camel/camel-folder.h> ++#include <camel/camel.h> + #if EDS_CHECK_VERSION(2,29,0) + #include <shell/e-shell.h> + #include <mail/e-mail-browser.h> +diff -Nrbu mail-notification-5.4/src/mn-evolution-plugin.c mail-notification-5.4-OK/src/mn-evolution-plugin.c +--- mail-notification-5.4/src/mn-evolution-plugin.c 2010-05-04 18:12:56.000000000 +0400 ++++ mail-notification-5.4-OK/src/mn-evolution-plugin.c 2010-05-04 18:13:20.000000000 +0400 +@@ -24,7 +24,7 @@ + #include <dbus/dbus.h> + #include <dbus/dbus-glib-lowlevel.h> + #include <dbus/dbus-glib-bindings.h> +-#include <camel/camel-folder.h> ++#include <camel/camel.h> + #include <mail/em-event.h> + #include <mail/mail-tools.h> + #include "mn-evolution.h" diff --git a/extra/mail-notification/mail-notification-5.4-icons.patch b/extra/mail-notification/mail-notification-5.4-icons.patch new file mode 100644 index 000000000..66e09b2aa --- /dev/null +++ b/extra/mail-notification/mail-notification-5.4-icons.patch @@ -0,0 +1,36 @@ +Patch by Fedora to use icons that are available in Gnome 2.30+ + +https://bugzilla.redhat.com/show_bug.cgi?id=573809 + +--- src/mn-stock.c.icons 2008-05-22 16:45:35.000000000 +0100 ++++ src/mn-stock.c 2010-05-20 21:53:20.306859177 +0100 +@@ -32,11 +32,11 @@ + const char *icon_name; + const char *source_stock_id; + } icons[] = { +- { MN_STOCK_MAIL, NULL, "stock_mail" }, +- { MN_STOCK_NO_MAIL, NULL, "stock_inbox" }, ++ { MN_STOCK_MAIL, NULL, "mail-notification" }, ++ { MN_STOCK_NO_MAIL, NULL, "mail-notification" }, + { MN_STOCK_LOCAL, NULL, "stock_folder" }, + { MN_STOCK_REMOTE, NULL, "stock_internet" }, +- { MN_STOCK_UNKNOWN, NULL, "stock_unknown" }, ++ { MN_STOCK_UNKNOWN, NULL, "unknown" }, + { MN_STOCK_ERROR, NULL, NULL, GTK_STOCK_DIALOG_ERROR }, + #if WITH_GMAIL + { MN_STOCK_GMAIL, PKGDATADIR G_DIR_SEPARATOR_S "gmail.png" }, +@@ -51,11 +51,11 @@ + { MN_STOCK_SYSTEM_MAILBOX, NULL, "system" }, + #endif + #if WITH_EVOLUTION +- { MN_STOCK_EVOLUTION_MAILBOX, NULL, "evolution" }, ++ { MN_STOCK_EVOLUTION_MAILBOX, NULL, "stock_mail-unread" }, + #endif +- { MN_STOCK_MAIL_READER, NULL, "stock_mail-handling" }, ++ { MN_STOCK_MAIL_READER, NULL, "stock_mail-compose" }, + { MN_STOCK_OPEN_MESSAGE, NULL, "stock_mail-open" }, +- { MN_STOCK_CONSIDER_NEW_MAIL_AS_READ, NULL, "stock_mark" } ++ { MN_STOCK_CONSIDER_NEW_MAIL_AS_READ, NULL, "mail-mark-read" } + }; + GtkIconFactory *factory; + GtkIconTheme *icon_theme; diff --git a/extra/mail-notification/mail-notification.install b/extra/mail-notification/mail-notification.install new file mode 100644 index 000000000..21cd94399 --- /dev/null +++ b/extra/mail-notification/mail-notification.install @@ -0,0 +1,24 @@ +pkgname=mail-notification + +post_install() { + usr/sbin/gconfpkg --install ${pkgname} + kill -s HUP `pidof bonobo-activation-server` > /dev/null 2>&1 + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +pre_upgrade() { + pre_remove $1 +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + usr/sbin/gconfpkg --uninstall ${pkgname} +} + +post_remove() { + kill -s HUP `pidof bonobo-activation-server` > /dev/null 2>&1 + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} diff --git a/extra/mail-notification/remove-ubuntu-special-case.patch b/extra/mail-notification/remove-ubuntu-special-case.patch new file mode 100644 index 000000000..4516f32c6 --- /dev/null +++ b/extra/mail-notification/remove-ubuntu-special-case.patch @@ -0,0 +1,33 @@ +--- jbsrc/lib/src/core/jb-feature.c.~1~ 2008-04-27 16:47:27.000000000 +0200 ++++ jbsrc/lib/src/core/jb-feature.c 2008-07-22 11:40:50.856886210 +0200 +@@ -164,8 +164,6 @@ + static void + gconf_configure (void) + { +- JBVariable *variable; +- + jb_require_program("gconftool-2"); + + if (! strcmp(jb_variable_get_string("gconf-config-source"), "autodetect")) +@@ -178,21 +176,6 @@ + jb_variable_set_string("gconf-config-source", config_source); + g_free(config_source); + } +- +- /* fix the default schemas dir on Ubuntu */ +- variable = jb_variable_get_variable_or_error("gconf-schemas-dir"); +- if (! variable->user_set) +- { +- static const char *ubuntu_dir = "$datadir/gconf/schemas"; +- char *expanded; +- +- expanded = jb_variable_expand(ubuntu_dir, NULL); +- +- if (g_file_test(expanded, G_FILE_TEST_IS_DIR)) +- jb_variable_set_string("gconf-schemas-dir", ubuntu_dir); +- +- g_free(expanded); +- } + } + + static void |