diff options
author | Wulf Krueger <philantrop@gentoo.org> | 2007-07-10 05:45:11 +0000 |
---|---|---|
committer | Wulf Krueger <philantrop@gentoo.org> | 2007-07-10 05:45:11 +0000 |
commit | 43daba4833bb557dffdf47331b5c8e35709ab960 (patch) | |
tree | 113db79c8c8ff8abd3f2d5c35c41e86d8014981a /kde-base | |
parent | Add dep for gnome-python even if no gnome USE set. bug #184670 Thanks René 'N... (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | kde-base/kmail/files/digest-kmail-3.5.7-r1 | 3 | ||||
-rw-r--r-- | kde-base/kmail/files/kmail-3.5.7-filters.patch | 186 | ||||
-rw-r--r-- | kde-base/kmail/kmail-3.5.7-r1.ebuild | 67 |
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" +} |