Building Evolution-scalix for Mandriva 2009 x86_64 and Evolution 2.24.2-1
Table of contents
Extract Sourcefiles:
Using tarball from Scalix distribution evolution-scalix-11.4.2.105.tar.gz
All operations done as root.
tar xvzf evolution-scalix-11.4.2.105.tar.gz
Rename the directory:
This step is critical for upcoming patching to work:
mv evolution-scalix-11.4.2.105 evolution-scalix-11.4.2.105.evo-2.24.2
Patch your sourcetree:
You'll need to get the patch file; I've reposted it here, but I got it from this post on the Scalix forums:
http://www.scalix.com/forums/viewtopic.php?p=56173&sid=adaccd5a7dfa28e162fca88798db7c4b
Patch source:
diff -crB evolution-scalix-11.4.2.105/addressbook/e-book-backend-scalix-factory.c evolution-scalix-11.4.2.evo-2.24.2/addressbook/e-book-backend-scalix-factory.c
*** evolution-scalix-11.4.2.105/addressbook/e-book-backend-scalix-factory.c 2008-09-16 23:58:01.000000000 +0200
--- evolution-scalix-11.4.2.evo-2.24.2/addressbook/e-book-backend-scalix-factory.c 2009-01-09 11:43:02.000000000 +0100
***************
*** 23,29 ****
#endif
#include <glib-object.h>
! #include <libedataserver/e-data-server-module.h>
#include <libedata-book/e-book-backend-factory.h>
#include <libescalix/scalix.h>
--- 23,29 ----
#endif
#include <glib-object.h>
! #include <libedataserver/e-data-server-util.h>
#include <libedata-book/e-book-backend-factory.h>
#include <libescalix/scalix.h>
diff -crB evolution-scalix-11.4.2.105/camel/camel-scalix-journal.h evolution-scalix-11.4.2.evo-2.24.2/camel/camel-scalix-journal.h
*** evolution-scalix-11.4.2.105/camel/camel-scalix-journal.h 2008-09-16 23:58:00.000000000 +0200
--- evolution-scalix-11.4.2.evo-2.24.2/camel/camel-scalix-journal.h 2009-01-09 11:22:31.000000000 +0100
***************
*** 30,35 ****
--- 30,36 ----
#include <camel/camel-offline-journal.h>
#include <camel/camel-mime-message.h>
+ #include <libedataserver/e-msgport.h>
#ifdef __cplusplus
extern "C" {
Only in evolution-scalix-11.4.2.evo-2.24.2/camel: camel-scalix-journal.h~
diff -crB evolution-scalix-11.4.2.105/camel/camel-scalix-summary.c evolution-scalix-11.4.2.evo-2.24.2/camel/camel-scalix-summary.c
*** evolution-scalix-11.4.2.105/camel/camel-scalix-summary.c 2008-09-16 23:58:00.000000000 +0200
--- evolution-scalix-11.4.2.evo-2.24.2/camel/camel-scalix-summary.c 2009-01-09 11:38:08.000000000 +0100
***************
*** 890,897 ****
/* we already have this message envelope cached -
* server is probably notifying us of a FLAGS change
* by another client? */
! g_assert (index < summary->messages->len);
! iinfo = (CamelSCALIXMessageInfo *)(info = summary->messages->pdata[index - 1]);
g_assert (info != NULL);
} else {
if (index > (added->len + fetch->first - 1))
--- 890,897 ----
/* we already have this message envelope cached -
* server is probably notifying us of a FLAGS change
* by another client? */
! g_assert (index < summary->uids->len);
! iinfo = (CamelSCALIXMessageInfo *)(info = summary->uids->pdata[index - 1]);
g_assert (info != NULL);
} else {
if (index > (added->len + fetch->first - 1))
Only in evolution-scalix-11.4.2.evo-2.24.2/camel: camel-scalix-summary.c~
diff -crB evolution-scalix-11.4.2.105/camel/camel-scalix-utils.c evolution-scalix-11.4.2.evo-2.24.2/camel/camel-scalix-utils.c
*** evolution-scalix-11.4.2.105/camel/camel-scalix-utils.c 2008-09-16 23:58:00.000000000 +0200
--- evolution-scalix-11.4.2.evo-2.24.2/camel/camel-scalix-utils.c 2009-01-09 11:38:57.000000000 +0100
***************
*** 237,243 ****
static int
uidset_add (struct _uidset *uidset, CamelMessageInfo *info)
{
! GPtrArray *messages = uidset->summary->messages;
struct _uidset_range *node, *tail = uidset->tail;
const char *iuid = camel_message_info_uid (info);
size_t uidlen, len;
--- 237,243 ----
static int
uidset_add (struct _uidset *uidset, CamelMessageInfo *info)
{
! GPtrArray *messages = uidset->summary->uids;
struct _uidset_range *node, *tail = uidset->tail;
const char *iuid = camel_message_info_uid (info);
size_t uidlen, len;
Only in evolution-scalix-11.4.2.evo-2.24.2/camel: camel-scalix-utils.c~
diff -crB evolution-scalix-11.4.2.105/configure evolution-scalix-11.4.2.evo-2.24.2/configure
*** evolution-scalix-11.4.2.105/configure 2008-09-17 00:37:11.000000000 +0200
--- evolution-scalix-11.4.2.evo-2.24.2/configure 2009-01-09 10:46:57.000000000 +0100
***************
*** 19833,19838 ****
--- 19833,19847 ----
CFLAGS="$CFLAGS -DHANDLE_LIBICAL_MEMORY"
;;
+ 2.24)
+ EVOLUTION_API_VERSION=2.24
+ EAPI_MAJOR_VERSION=2
+ EAPI_MINOR_VERSION=24
+ CAMEL_API_VERSION=1.2
+ EDS_API_VERSION=1.2
+ CFLAGS="$CFLAGS -DHANDLE_LIBICAL_MEMORY"
+ ;;
+
esacRun configure:
Configure should complete successfully at this point. Make, however is a different story...
./configure
Run Make:
make
You will almost certainly be missing things that will make the build fail, here are a few hints at packates taht you'll need:
- mono-devel
- evolution-devel
- autoconf
- automake
- gcc
- gnome-pilot-devel
Set up your account:
At this point you should be able to launch Evolution, and be presented with the Account Setup Druid. I found that I had to run through it about 4 times before it completed successfully: It got stuck on synchronizing my Calendar, then again on my Contacts. Once that completed, however, Evolution launched and ran reasonably well.
I find that it does crash fairly regularly, which is deeply annoying, but I haven't sleuthed out why yet.
Done!
I hope this is helpful, please feel free to contact us if you get stuck!
