[arch-commits] Commit in kdepim/trunk (PKGBUILD asynchronous-start.patch)

Andrea Scarpino andrea at archlinux.org
Wed Apr 6 08:33:32 UTC 2011


    Date: Wednesday, April 6, 2011 @ 04:33:32
  Author: andrea
Revision: 118254

Patch to fix kmail 4.4.x start using KDE 4.6.x

Added:
  kdepim/trunk/asynchronous-start.patch
Modified:
  kdepim/trunk/PKGBUILD

--------------------------+
 PKGBUILD                 |   13 ++++--
 asynchronous-start.patch |   87 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 96 insertions(+), 4 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-04-06 08:24:48 UTC (rev 118253)
+++ PKGBUILD	2011-04-06 08:33:32 UTC (rev 118254)
@@ -21,18 +21,23 @@
          'kdepim-libkdepim'
          'kdepim-wizards')
 pkgver=4.4.10
-pkgrel=1
+pkgrel=2
 arch=('i686' 'x86_64')
 url='http://www.kde.org'
 license=('GPL' 'LGPL' 'FDL')
 groups=('kde' 'kdepim')
 makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'kdepim-runtime' 'libxss'
 	'pilot-link' 'kde-agent' 'docbook-xsl')
-source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('b9c45e80dddc3bff201df6ddd76fdf4f1f18d5c3')
+source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2"
+        'asynchronous-start.patch')
+sha1sums=('b9c45e80dddc3bff201df6ddd76fdf4f1f18d5c3'
+          '3816d618026b85500a21753395712cd91de6e31b')
 
 build() {
-	cd ${srcdir}
+	cd ${srcdir}/${pkgbase}-${pkgver}
+    patch -Np1 -i ${srcdir}/asynchronous-start.patch
+
+    cd ${srcdir}
 	mkdir build
 	cd build
 	cmake ../${pkgbase}-${pkgver} \

Added: asynchronous-start.patch
===================================================================
--- asynchronous-start.patch	                        (rev 0)
+++ asynchronous-start.patch	2011-04-06 08:33:32 UTC (rev 118254)
@@ -0,0 +1,87 @@
+commit cfa404b7188e4c26bddbc9579728f6d25f8cd214
+Author: Stephen Kelly <steveire at gmail.com>
+Date:   Tue Apr 5 11:09:43 2011 +0200
+
+    Start kdepim 4.4 asynchronously if built against 4.6.
+    
+    The synchronous mechanism doesn't have enough time to start
+    before it reports failure.
+
+diff --git a/kaddressbook/main.cpp b/kaddressbook/main.cpp
+index 4c8ca42..200f8ec 100644
+--- a/kaddressbook/main.cpp
++++ b/kaddressbook/main.cpp
+@@ -49,11 +49,13 @@ int main( int argc, char **argv )
+   MainWindow *window = new MainWindow;
+   window->show();
+ 
++#if !KDE_IS_VERSION(4,6,0)
+   if ( !Akonadi::Control::start( window ) ) {
+     //TODO: add message box after string freeze
+     kWarning() << "Unable to start Akonadi server, exit application";
+     return 1;
+   }
++#endif
+ 
+   return app.exec();
+ }
+diff --git a/kmail/kmmainwidget.cpp b/kmail/kmmainwidget.cpp
+index a31973a..10b14e4 100644
+--- a/kmail/kmmainwidget.cpp
++++ b/kmail/kmmainwidget.cpp
+@@ -165,6 +165,9 @@ using KMail::TemplateParser;
+ 
+ #include <errno.h> // ugh
+ 
++#include <akonadi/control.h>
++#include <akonadi/servermanager.h>
++
+ #include "kmmainwidget.moc"
+ 
+ K_GLOBAL_STATIC( KMMainWidget::PtrList, theMainWidgetList )
+@@ -186,6 +189,10 @@ KMMainWidget::KMMainWidget( QWidget *parent, KXMLGUIClient *aGUIClient,
+     mVacationIndicatorActive( false ),
+     mGoToFirstUnreadMessageInSelectedFolder( false )
+ {
++#if KDE_IS_VERSION(4,6,0)
++  Akonadi::Control::widgetNeedsAkonadi(this);
++  Akonadi::ServerManager::start();
++#endif
+   // must be the first line of the constructor:
+   mStartupDone = false;
+   mWasEverShown = false;
+diff --git a/kmail/main.cpp b/kmail/main.cpp
+index f39ca5f..c2dd1c3 100644
+--- a/kmail/main.cpp
++++ b/kmail/main.cpp
+@@ -145,12 +145,14 @@ int main(int argc, char *argv[])
+   app.setEventLoopReached();
+   app.delayedInstanceCreation();
+ 
++#if !KDE_IS_VERSION(4,6,0)
+   // Start Akonadi
+   if ( !Akonadi::Control::start( kmkernel->getKMMainWidget() ) ) {
+     //TODO: add message box after string freeze
+     kWarning() << "Unable to start Akonadi server, exit application";
+     return 1;
+   }
++#endif
+ 
+   // Go!
+   int ret = qApp->exec();
+diff --git a/kontact/src/main.cpp b/kontact/src/main.cpp
+index 356aa57..cb4a235 100644
+--- a/kontact/src/main.cpp
++++ b/kontact/src/main.cpp
+@@ -199,9 +199,11 @@ int main( int argc, char **argv )
+ 
+   KontactApp app;
+ 
++#if !KDE_IS_VERSION(4,6,0)
+   // KDE 4.4: do akonadi startup before creating any window, since creating
+   // the window loads kmail. In 4.5 we'll do this startup async instead.
+   Akonadi::Control::start( 0 );
++#endif
+ 
+   // Qt doesn't treat the system tray as a window, and therefore Qt would quit
+   // the event loop when an error message is clicked away while Kontact is in the




More information about the arch-commits mailing list