diff options
Diffstat (limited to 'mail-client')
-rw-r--r-- | mail-client/evolution/ChangeLog | 8 | ||||
-rw-r--r-- | mail-client/evolution/evolution-2.22.2-r2.ebuild | 156 | ||||
-rw-r--r-- | mail-client/evolution/files/evolution-2.22.2-deleted-mails.patch | 82 |
3 files changed, 245 insertions, 1 deletions
diff --git a/mail-client/evolution/ChangeLog b/mail-client/evolution/ChangeLog index 7e6a628fe385..525420b93c6c 100644 --- a/mail-client/evolution/ChangeLog +++ b/mail-client/evolution/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for mail-client/evolution # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/mail-client/evolution/ChangeLog,v 1.237 2008/06/04 13:24:36 leio Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-client/evolution/ChangeLog,v 1.238 2008/06/07 12:22:56 eva Exp $ + +*evolution-2.22.2-r2 (07 Jun 2008) + + 07 Jun 2008; Gilles Dartiguelongue <eva@gentoo.org> + +files/evolution-2.22.2-deleted-mails.patch, +evolution-2.22.2-r2.ebuild: + leaves last deleted mail strike-through, bug #224991. *evolution-2.22.2-r1 (04 Jun 2008) *evolution-2.12.3-r2 (04 Jun 2008) diff --git a/mail-client/evolution/evolution-2.22.2-r2.ebuild b/mail-client/evolution/evolution-2.22.2-r2.ebuild new file mode 100644 index 000000000000..d2d72437e068 --- /dev/null +++ b/mail-client/evolution/evolution-2.22.2-r2.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-client/evolution/evolution-2.22.2-r2.ebuild,v 1.1 2008/06/07 12:22:57 eva Exp $ + +inherit gnome2 flag-o-matic + +DESCRIPTION="Integrated mail, addressbook and calendaring functionality" +HOMEPAGE="http://www.gnome.org/projects/evolution/" +SRC_URI="${SRC_URI}" + +LICENSE="GPL-2 FDL-1.1" +SLOT="2.0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="crypt dbus debug hal ipv6 kerberos krb4 ldap mono networkmanager nntp pda profile spell ssl" + +# Pango dependency required to avoid font rendering problems +RDEPEND=">=dev-libs/glib-2.15.3 + >=x11-libs/gtk+-2.12 + >=gnome-extra/evolution-data-server-2.21.92 + >=x11-themes/gnome-icon-theme-2.20 + >=gnome-base/gnome-vfs-2.4 + >=gnome-base/libbonobo-2.20.3 + >=gnome-base/libbonoboui-2.4.2 + >=gnome-extra/gtkhtml-3.17.5 + >=gnome-base/gconf-2 + >=gnome-base/libglade-2 + >=gnome-base/libgnomecanvas-2 + >=gnome-base/libgnomeui-2 + >=dev-libs/libxml2-2 + dbus? ( dev-libs/dbus-glib ) + hal? ( >=sys-apps/hal-0.5.4 ) + x11-libs/libnotify + pda? ( + >=app-pda/gnome-pilot-2.0.15 + >=app-pda/gnome-pilot-conduits-2 ) + dev-libs/atk + ssl? ( + >=dev-libs/nspr-4.6.1 + >=dev-libs/nss-3.11 ) + networkmanager? ( net-misc/networkmanager ) + >=net-libs/libsoup-2.4 + kerberos? ( virtual/krb5 ) + krb4? ( virtual/krb5 ) + >=gnome-base/orbit-2.9.8 + spell? ( >=app-text/gnome-spell-1.0.5 ) + crypt? ( || ( >=app-crypt/gnupg-2.0.1-r2 =app-crypt/gnupg-1.4* ) ) + ldap? ( >=net-nds/openldap-2 ) + mono? ( >=dev-lang/mono-1 )" +# gstreamer? ( +# >=media-libs/gstreamer-0.10 +# >=media-libs/gst-plugins-base-0.10 ) + +DEPEND="${RDEPEND} + >=dev-util/pkgconfig-0.16 + >=dev-util/intltool-0.35.5 + sys-devel/gettext + sys-devel/bison + app-text/scrollkeeper + >=gnome-base/gnome-common-2.12.0 + >=app-text/gnome-doc-utils-0.9.1" + +DOCS="AUTHORS ChangeLog* HACKING MAINTAINERS NEWS* README" +ELTCONF="--reverse-deps" + +pkg_setup() { + G2CONF="--without-kde-applnk-path + --enable-plugins=experimental + $(use_enable ssl nss) + $(use_enable ssl smime) + $(use_enable ipv6) + $(use_enable mono) + $(use_enable nntp) + $(use_enable pda pilot-conduits) + $(use_enable profile profiling) + $(use_with ldap openldap) + $(use_with kerberos krb5 /usr)" + + # We need a graphical pinentry frontend to be able to ask for the GPG + # password from inside evolution, bug 160302 + if use crypt && has_version '>=app-crypt/gnupg-2.0.1-r2'; then + if ! built_with_use -o app-crypt/pinentry gtk qt3; then + die "You must build app-crypt/pinentry with GTK or QT3 support" + fi + fi + + if use krb4 && ! built_with_use virtual/krb5 krb4; then + ewarn + ewarn "In order to add kerberos 4 support, you have to emerge" + ewarn "virtual/krb5 with the 'krb4' USE flag enabled as well." + ewarn + ewarn "Skipping for now." + ewarn + G2CONF="${G2CONF} --without-krb4" + else + G2CONF="${G2CONF} $(use_with krb4 krb4 /usr)" + fi + + # 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. +} + +src_unpack() { + gnome2_src_unpack + + # Fix timezone offsets on fbsd. bug #183708 + epatch "${FILESDIR}"/${PN}-2.21.3-fbsd.patch + + # Fix tests, bug #216478 + epatch "${FILESDIR}/${PN}-2.22.0-mk-doc.patch" + + # Fix security issues, bug #223963 + epatch "${FILESDIR}/${P}-CVE-2008-1108.patch" + epatch "${FILESDIR}/${P}-CVE-2008-1109.patch" + + # Leaves last deleted mail strike-through, bug #224991 + epatch "${FILESDIR}/${P}-deleted-mails.patch" +} + +src_compile() { + # Use NSS/NSPR only if 'ssl' is enabled. + if use ssl ; then + sed -i -e "s|mozilla-nss|nss| + s|mozilla-nspr|nspr|" "${S}"/configure + G2CONF="${G2CONF} --enable-nss=yes" + else + G2CONF="${G2CONF} --without-nspr-libs --without-nspr-includes \ + --without-nss-libs --without-nss-includes" + fi + + # problems with -O3 on gcc-3.3.1 + replace-flags -O3 -O2 + + if [ "${ARCH}" = "hppa" ]; then + append-flags "-fPIC -ffunction-sections" + export LDFLAGS="-ffunction-sections -Wl,--stub-group-size=25000" + fi + + gnome2_src_compile +} + +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 'mozilla %s'" + elog "gconftool-2 --set /desktop/gnome/url-handlers/https/command -t string 'mozilla %s'" + elog "" + elog "Replace 'mozilla %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.22.2-deleted-mails.patch b/mail-client/evolution/files/evolution-2.22.2-deleted-mails.patch new file mode 100644 index 000000000000..ce3efe052e8b --- /dev/null +++ b/mail-client/evolution/files/evolution-2.22.2-deleted-mails.patch @@ -0,0 +1,82 @@ +Fix for bug: evolution leaves deleted messages strike through +http://bugzilla.gnome.org/show_bug.cgi?id=535749 + +--- branches/gnome-2-22/mail/message-list.c 2008/06/04 10:47:09 35595 ++++ branches/gnome-2-22/mail/message-list.c 2008/06/04 14:37:00 35596 +@@ -3889,19 +3889,31 @@ + if (expr == NULL) { + uids = camel_folder_get_uids (m->folder); + } else { +- char *tmp_expr = NULL; ++ searchuids = uids = camel_folder_search_by_expression (m->folder, expr, &m->base.ex); + + /* If m->changes is not NULL, then it means we are called from folder_changed event, + thus we will keep the selected message to be sure it doesn't disappear because + it no longer belong to our search filter. */ +- if (m->changes && m->ml->search && m->ml->cursor_uid) { +- tmp_expr = g_strdup_printf ("(or %s (match-all (uid \"%s\")))", expr, m->ml->cursor_uid); +- expr = tmp_expr; +- } ++ if (m->changes && m->ml->search && m->ml->cursor_uid && uids) { ++ for (i = 0; i < uids->len; i++) { ++ if (g_str_equal (m->ml->cursor_uid, uids->pdata [i])) ++ break; ++ } + +- searchuids = uids = camel_folder_search_by_expression (m->folder, expr, &m->base.ex); ++ /* cursor_uid has been filtered out */ ++ if (i == uids->len) { ++ gboolean was_deleted = (camel_folder_get_message_flags (m->folder, m->ml->cursor_uid) & CAMEL_MESSAGE_DELETED) != 0; ++ ++ /* I would really like to check for CAMEL_MESSAGE_FOLDER_FLAGGED on a message, ++ so I would know whether it was changed locally, and then just check the changes ++ struct whether change came from the server, but with periodical save it doesn't ++ matter. So here just check whether the file was deleted and we show it based ++ on the flag whether we can view deleted messages or not. */ + +- g_free (tmp_expr); ++ if (!was_deleted || (was_deleted && !m->hidedel)) ++ g_ptr_array_add (uids, g_strdup (m->ml->cursor_uid)); ++ } ++ } + } + + if (camel_exception_is_set (&m->base.ex)) +@@ -4182,6 +4194,10 @@ + struct _regen_list_msg *m; + GConfClient *gconf; + ++ /* report empty search as NULL, not as one/two-space string */ ++ if (search && (strcmp (search, " ") == 0 || strcmp (search, " ") == 0)) ++ search = NULL; ++ + if (ml->folder == NULL) { + if (ml->search != search) { + g_free(ml->search); +--- branches/gnome-2-22/widgets/misc/e-filter-bar.c 2008/06/04 10:47:09 35595 ++++ branches/gnome-2-22/widgets/misc/e-filter-bar.c 2008/06/04 14:37:00 35596 +@@ -592,8 +592,11 @@ + ESearchBar *esb = E_SEARCH_BAR (object); + + switch (property_id) { +- case PROP_QUERY: +- if (efb->current_query) { ++ case PROP_QUERY: { ++ char *text = e_search_bar_get_text (E_SEARCH_BAR (efb)); ++ ++ /* empty search text means searching turned off */ ++ if (efb->current_query && text && *text) { + GString *out = g_string_new (""); + + filter_rule_build_code (efb->current_query, out); +@@ -602,7 +605,9 @@ + } else { + g_value_set_string (value, NULL); + } +- break; ++ ++ g_free (text); ++ break; } + case PROP_STATE: { + /* FIXME: we should have ESearchBar save its own state to the xmlDocPtr */ + xmlChar *xmlbuf; |