summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWulf Krueger <philantrop@gentoo.org>2007-07-10 05:45:11 +0000
committerWulf Krueger <philantrop@gentoo.org>2007-07-10 05:45:11 +0000
commit43daba4833bb557dffdf47331b5c8e35709ab960 (patch)
tree113db79c8c8ff8abd3f2d5c35c41e86d8014981a /kde-base
parentAdd dep for gnome-python even if no gnome USE set. bug #184670 Thanks René 'N... (diff)
downloadgentoo-2-43daba4833bb557dffdf47331b5c8e35709ab960.tar.gz
gentoo-2-43daba4833bb557dffdf47331b5c8e35709ab960.tar.bz2
gentoo-2-43daba4833bb557dffdf47331b5c8e35709ab960.zip
Added a patch to restore KMail's mail filtering capabilities. Fixes bug 180244.
(Portage version: 2.1.3_rc7)
Diffstat (limited to 'kde-base')
-rw-r--r--kde-base/kmail/ChangeLog8
-rw-r--r--kde-base/kmail/files/digest-kmail-3.5.7-r13
-rw-r--r--kde-base/kmail/files/kmail-3.5.7-filters.patch186
-rw-r--r--kde-base/kmail/kmail-3.5.7-r1.ebuild67
4 files changed, 263 insertions, 1 deletions
diff --git a/kde-base/kmail/ChangeLog b/kde-base/kmail/ChangeLog
index c4e214093c9b..04a19b630d03 100644
--- a/kde-base/kmail/ChangeLog
+++ b/kde-base/kmail/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for kde-base/kmail
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kmail/ChangeLog,v 1.111 2007/06/23 21:12:18 philantrop Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kmail/ChangeLog,v 1.112 2007/07/10 05:45:11 philantrop Exp $
+
+*kmail-3.5.7-r1 (10 Jul 2007)
+
+ 10 Jul 2007; Wulf C. Krueger <philantrop@gentoo.org>
+ +files/kmail-3.5.7-filters.patch, +kmail-3.5.7-r1.ebuild:
+ Added a patch to restore KMail's mail filtering capabilities. Fixes bug 180244.
23 Jun 2007; Wulf C. Krueger <philantrop@gentoo.org> kmail-3.5.7.ebuild:
The tests for kmail are broken and therefore deactivated now. Fixes bug 183001.
diff --git a/kde-base/kmail/files/digest-kmail-3.5.7-r1 b/kde-base/kmail/files/digest-kmail-3.5.7-r1
new file mode 100644
index 000000000000..01737c61da89
--- /dev/null
+++ b/kde-base/kmail/files/digest-kmail-3.5.7-r1
@@ -0,0 +1,3 @@
+MD5 8571db6dcf4168614c96bb72c493f931 kdepim-3.5.7.tar.bz2 14166061
+RMD160 14c05d4620abf1eb5421ad434dc63f037069e930 kdepim-3.5.7.tar.bz2 14166061
+SHA256 9d981d372f1822662e102b6f84f046e4df771641fc4d041aae81b8fafd47b32e kdepim-3.5.7.tar.bz2 14166061
diff --git a/kde-base/kmail/files/kmail-3.5.7-filters.patch b/kde-base/kmail/files/kmail-3.5.7-filters.patch
new file mode 100644
index 000000000000..d808de614149
--- /dev/null
+++ b/kde-base/kmail/files/kmail-3.5.7-filters.patch
@@ -0,0 +1,186 @@
+diff -Naur kmail-3.5.7.orig/kmail/folderstorage.cpp kmail-3.5.7/kmail/folderstorage.cpp
+--- kmail-3.5.7.orig/kmail/folderstorage.cpp 2007-05-14 09:54:39.000000000 +0200
++++ kmail-3.5.7/kmail/folderstorage.cpp 2007-07-09 23:01:26.000000000 +0200
+@@ -84,8 +84,6 @@
+
+ mHasChildren = HasNoChildren;
+ mContentsType = KMail::ContentsTypeMail;
+-
+- connect(this, SIGNAL(closed(KMFolder*)), mFolder, SIGNAL(closed()));
+ }
+
+ //-----------------------------------------------------------------------------
+@@ -629,7 +627,7 @@
+ QString oldLoc, oldIndexLoc, oldIdsLoc, newLoc, newIndexLoc, newIdsLoc;
+ QString oldSubDirLoc, newSubDirLoc;
+ QString oldName;
+- int rc=0;
++ int rc=0, openCount=mOpenCount;
+ KMFolderDir *oldParent;
+
+ assert(!newName.isEmpty());
+@@ -699,6 +697,11 @@
+ }
+ }
+
++ if (openCount > 0)
++ {
++ open("rename");
++ mOpenCount = openCount;
++ }
+ writeConfig();
+
+ // delete the old entry as we get two entries with the same ID otherwise
+@@ -708,7 +711,6 @@
+ emit locationChanged( oldLoc, newLoc );
+ emit nameChanged();
+ kmkernel->folderMgr()->contentsChanged();
+- emit closed(folder()); // let the ticket owners regain
+ return rc;
+ }
+
+@@ -736,7 +738,6 @@
+ KConfig* config = KMKernel::config();
+ config->deleteGroup( "Folder-" + folder()->idString() );
+
+- emit closed(folder());
+ emit removed(folder(), (rc ? false : true));
+ }
+
+@@ -744,6 +745,8 @@
+ //-----------------------------------------------------------------------------
+ int FolderStorage::expunge()
+ {
++ int openCount = mOpenCount;
++
+ assert(!folder()->name().isEmpty());
+
+ clearIndex( true, mExportsSernums ); // delete and remove from dict, if needed
+@@ -761,6 +764,12 @@
+ mDirty = false;
+ needsCompact = false; //we're cleared and truncated no need to compact
+
++ if (openCount > 0)
++ {
++ open("expunge");
++ mOpenCount = openCount;
++ }
++
+ mUnreadMsgs = 0;
+ mTotalMsgs = 0;
+ emit numUnreadMsgsChanged( folder() );
+diff -Naur kmail-3.5.7.orig/kmail/folderstorage.h kmail-3.5.7/kmail/folderstorage.h
+--- kmail-3.5.7.orig/kmail/folderstorage.h 2007-05-14 09:54:39.000000000 +0200
++++ kmail-3.5.7/kmail/folderstorage.h 2007-07-09 23:01:26.000000000 +0200
+@@ -418,9 +418,6 @@
+ emmitted first. */
+ void expunged( KMFolder* );
+
+- /** Emitted when the folder was closed and ticket owners have to reopen */
+- void closed( KMFolder* );
+-
+ /** Emitted when the serial numbers of this folder were invalidated. */
+ void invalidated( KMFolder * );
+
+diff -Naur kmail-3.5.7.orig/kmail/kmfolder.cpp kmail-3.5.7/kmail/kmfolder.cpp
+--- kmail-3.5.7.orig/kmail/kmfolder.cpp 2007-05-14 09:54:39.000000000 +0200
++++ kmail-3.5.7/kmail/kmfolder.cpp 2007-07-09 23:01:26.000000000 +0200
+@@ -476,7 +476,6 @@
+
+ void KMFolder::close( const char *owner, bool force )
+ {
+- // do not emit closed() in here - as this would regain too early
+ mStorage->close( owner, force );
+ }
+
+diff -Naur kmail-3.5.7.orig/kmail/kmfolder.h kmail-3.5.7/kmail/kmfolder.h
+--- kmail-3.5.7.orig/kmail/kmfolder.h 2007-05-14 09:54:39.000000000 +0200
++++ kmail-3.5.7/kmail/kmfolder.h 2007-07-09 23:01:26.000000000 +0200
+@@ -537,10 +537,6 @@
+ folder changed. */
+ void changed();
+
+- /** Emitted when the folder is closed for real - ticket holders should
+- * discard any messages */
+- void closed();
+-
+ /** Emitted when the contents of a folder have been cleared
+ (new search in a search folder, for example) */
+ void cleared();
+diff -Naur kmail-3.5.7.orig/kmail/kmfoldermbox.cpp kmail-3.5.7/kmail/kmfoldermbox.cpp
+--- kmail-3.5.7.orig/kmail/kmfoldermbox.cpp 2007-05-14 09:54:39.000000000 +0200
++++ kmail-3.5.7/kmail/kmfoldermbox.cpp 2007-07-09 23:01:26.000000000 +0200
+@@ -264,7 +264,7 @@
+ if (mOpenCount <= 0 || !mStream) { mOpenCount = 0; return; }
+ if (mOpenCount > 0) mOpenCount--;
+ if (mOpenCount > 0 && !aForced) { assert(mStream); return; }
+-
++
+ #if 0 // removed hack that prevented closing system folders (see kmail-devel discussion about mail expiring)
+ if ( (folder() != kmkernel->inboxFolder())
+ && folder()->isSystemFolder() && !aForced )
+@@ -1246,11 +1246,17 @@
+ {
+ // This is called only when the user explicitely requests compaction,
+ // so we don't check needsCompact.
++ int openCount = mOpenCount;
+
+ KMail::MboxCompactionJob* job = new KMail::MboxCompactionJob( folder(), true /*immediate*/ );
+ int rc = job->executeNow( silent );
+ // Note that job autodeletes itself.
+
++ if (openCount > 0)
++ {
++ open("mboxcompact");
++ mOpenCount = openCount;
++ }
+ // If this is the current folder, the changed signal will ultimately call
+ // KMHeaders::setFolderInfoStatus which will override the message, so save/restore it
+ QString statusMsg = BroadcastStatus::instance()->statusMsg();
+diff -Naur kmail-3.5.7.orig/kmail/kmheaders.cpp kmail-3.5.7/kmail/kmheaders.cpp
+--- kmail-3.5.7.orig/kmail/kmheaders.cpp 2007-05-14 09:54:39.000000000 +0200
++++ kmail-3.5.7/kmail/kmheaders.cpp 2007-07-09 23:01:26.000000000 +0200
+@@ -673,8 +673,6 @@
+ this, SLOT(folderCleared()));
+ disconnect(mFolder, SIGNAL(expunged( KMFolder* )),
+ this, SLOT(folderCleared()));
+- disconnect(mFolder, SIGNAL(closed()),
+- this, SLOT(folderClosed()));
+ disconnect( mFolder, SIGNAL( statusMsg( const QString& ) ),
+ BroadcastStatus::instance(), SLOT( setStatusMsg( const QString& ) ) );
+ disconnect(mFolder, SIGNAL(viewConfigChanged()), this, SLOT(reset()));
+@@ -708,8 +706,6 @@
+ this, SLOT(folderCleared()));
+ connect(mFolder, SIGNAL(expunged( KMFolder* )),
+ this, SLOT(folderCleared()));
+- connect(mFolder, SIGNAL(closed()),
+- this, SLOT(folderClosed()));
+ connect(mFolder, SIGNAL(statusMsg(const QString&)),
+ BroadcastStatus::instance(), SLOT( setStatusMsg( const QString& ) ) );
+ connect(mFolder, SIGNAL(numUnreadMsgsChanged(KMFolder*)),
+@@ -2565,13 +2561,6 @@
+ emit selected(0);
+ }
+
+-
+-void KMHeaders::folderClosed()
+-{
+- mFolder->open( "kmheaders" );
+- folderCleared();
+-}
+-
+ bool KMHeaders::writeSortOrder()
+ {
+ QString sortFile = KMAIL_SORT_FILE(mFolder);
+diff -Naur kmail-3.5.7.orig/kmail/kmheaders.h kmail-3.5.7/kmail/kmheaders.h
+--- kmail-3.5.7.orig/kmail/kmheaders.h 2007-05-14 09:54:39.000000000 +0200
++++ kmail-3.5.7/kmail/kmheaders.h 2007-07-09 23:01:26.000000000 +0200
+@@ -221,8 +221,6 @@
+ void msgChanged();
+ /** For when the folder has been cleared */
+ void folderCleared();
+- /** For when the folder has been cleared */
+- void folderClosed();
+ /** For when the message with the given message id has been added to a folder */
+ void msgAdded(int);
+ /** For when the message with the given id has been removed for a folder */
diff --git a/kde-base/kmail/kmail-3.5.7-r1.ebuild b/kde-base/kmail/kmail-3.5.7-r1.ebuild
new file mode 100644
index 000000000000..277d74593a07
--- /dev/null
+++ b/kde-base/kmail/kmail-3.5.7-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kmail/kmail-3.5.7-r1.ebuild,v 1.1 2007/07/10 05:45:11 philantrop Exp $
+
+KMNAME=kdepim
+MAXKDEVER=$PV
+KM_DEPRANGE="$PV $MAXKDEVER"
+inherit kde-meta eutils
+
+RESTRICT="test"
+
+DESCRIPTION="KMail is the email component of Kontact, the integrated personal information manager of KDE."
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="crypt"
+DEPEND="$(deprange $PV $MAXKDEVER kde-base/libkdenetwork)
+ $(deprange $PV $MAXKDEVER kde-base/libkdepim)
+ $(deprange $PV $MAXKDEVER kde-base/libkpimidentities)
+ $(deprange $PV $MAXKDEVER kde-base/mimelib)
+ $(deprange $PV $MAXKDEVER kde-base/libksieve)
+ $(deprange $PV $MAXKDEVER kde-base/certmanager)
+ $(deprange $PV $MAXKDEVER kde-base/libkcal)
+ $(deprange $PV $MAXKDEVER kde-base/kontact)
+ $(deprange 3.5.4 $MAXKDEVER kde-base/libkpgp)
+ $(deprange $PV $MAXKDEVER kde-base/libkmime)"
+RDEPEND="${DEPEND}
+ crypt? ( app-crypt/pinentry )
+ $(deprange $PV $MAXKDEVER kde-base/kdepim-kioslaves)
+ $(deprange 3.5.5 $MAXKDEVER kde-base/kmailcvt)
+ $(deprange-dual $PV $MAXKDEVER kde-base/kdebase-kioslaves)
+ $(deprange-dual $PV $MAXKDEVER kde-base/kcontrol)" # for the "looknfeel" icon, and probably others.
+
+KMCOPYLIB="
+ libkdepim libkdepim/
+ libkpimidentities libkpimidentities/
+ libmimelib mimelib/
+ libksieve libksieve/
+ libkleopatra certmanager/lib/
+ libkcal libkcal
+ libkpinterfaces kontact/interfaces/
+ libkmime libkmime
+ libkpgp libkpgp"
+KMEXTRACTONLY="
+ libkdenetwork/
+ libkdepim/
+ libkpimidentities/
+ libksieve/
+ libkcal/
+ mimelib/
+ certmanager/
+ korganizer/korganizeriface.h
+ kontact/interfaces/
+ libkmime/
+ libkpgp
+ dcopidlng"
+KMCOMPILEONLY="libemailfunctions"
+# the kmail plugins are installed with kmail
+KMEXTRA="plugins/kmail/
+ kontact/plugins/kmail/" # We add here the kontact's plugin instead of compiling it with kontact because it needs a lot of this programs deps.
+
+PATCHES="${FILESDIR}/${P}-filters.patch"
+
+src_install() {
+ kde-meta_src_install
+ # Install KMail icons with libkdepim to work around bug #136810.
+ #find ${D}/${KDEDIR}/share/icons/hicolor/ -name "kmail\.png" -exec rm '{}' \;
+ rm ${D}/${KDEDIR}/share/icons/hicolor/{16x16,22x22,32x32,48x48,64x64,128x128}/apps/kmail.png || die "bääh"
+}