aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: f8894167f468e694b2f9824141cf2fa4162b21b9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
Evolution is the integrated mail, calendar and address book
distributed suite from Helix Code, Inc.

See http://www.helixcode.com/apps/evolution.php3 for more information.

Note that Evolution is still pre-alpha. This means even if you manage
to compile and run it, you might not be able to figure out how to tell
it to accidentally delete all of your mail.

If you are interested in hacking on Evolution, you should subscribe to
the Evolution mailing list. Send mail to
"evolution-request@helixcode.com" with the word "subscribe" in the
body of the message. If you are planning to work on any part of
Evolution, please send mail to the mailing list first, to avoid
duplicated effort (and to make sure that you aren't basing your work
on interfaces that are expected to change).

There is a mailing list archive available at
http://lists.helixcode.com/archives/public/evolution/

There is also an #evolution IRC channel on irc.gnome.org.


HOW TO BUILD EVOLUTION
----------------------

    *** READ THIS BEFORE YOU START BUILDING ANYTHING! ***

Evolution depends on a large number of unreleased and rapidly-changing
libraries. Some of these libraries in turn depend on other unreleased
and rapidly-changing libraries.

Building Evolution is HARD, and it's going to stay hard until all of
the libraries it depends on stabilize, and there's nothing we can do
to make it any easier until then.


General Principles
------------------

There are two things you have to decide earlier on: whether or not to
install Evolution in the same prefix as the rest of your GNOME
install, and whether to use GOAD or OAF.

 - Installing everything into the same prefix as the rest of your
   GNOME install will it much easier to run programs, but may make it
   harder to uninstall later.

   If you want to install into the same prefix as the rest of GNOME,
   type:

    gnome-config --prefix
    gnome-config --sysconfdir

   and remember the answers, and pass them to "configure" and
   "autogen" when building the other packages you need. Eg:

    ./configure --prefix=/usr --sysconfdir=/etc


   If you do not do this, you will need to set GNOME_PATH to include
   the prefix you install into. Eg:

        GNOME_PATH=/usr/local


 - There is absolutely no reason to build using OAF unless you are
   also building Nautilus, in which case you should already have it
   installed.


Dependencies
------------

All of these libraries are available in GNOME CVS, under the given
names. Most (but not all) of them are also available as tarballs on
ftp.gnome.org. The (*)ed packages are available in Helix GNOME.
(http://www.helixcode.com/desktop/)

 - gnome-xml - currently, only 1.8.7 works. Earlier versions have a
   bug in code that Evolution needs, and the 2.0 branch is not source
   or binary compatible. If you get this from GNOME CVS, use the tag
   "LIB_XML_1_X". (*)

 - gnome-print (whatever version is currently needed by gtkhtml) (*)

 - gdk-pixbuf - 0.7.0 or later (*)

 - ORBit - 0.5.1 (*)

 - bonobo - Evolution always tracks the latest CVS versions of bonobo.
   Released versions will virtually always be too old (although as of
   May 10, bonobo 0.11 is recent enough).

   *** Note that bonobo must be installed with the same --prefix as
   *** either gnome-libs or evolution for the Makefiles to work
   *** properly.

 - gnome-vfs (released versions are OK currently, but CVS versions are
   better)

 - libunicode = 0.4 or later, available 
   from http://www.pango.org/download.shtml

 - gtkhtml - 0.2 or later

 - libglade (*)

 - pilot-link - only required if you want Pilot support. The pilot
   support does not currently exist, so this is somewhat hypothetical.
   (*)

 - gnome-pilot - see pilot-link (*)




The layout of the source tree is:

addressbook:    the Address Book UI
calendar:   the Calendar UI
camel:      libcamel, a messaging library used by the mailer.
        Camel is inspired by Sun's JavaMail
        (http://java.sun.com/products/javamail/) and the
        IMAPv4 spec (RFC 2060).
wombat:     Has source code that will load in the addressbook
        and calendar backend, and will form the server
        process we'll be using
composer:   the message composer UI
data:       the .desktop file for Evolution
devel-docs: entirely inadequate documentation
doc:        more inadequate documentation, and some nice white
        papers
e-util:     utility code used by various parts of Evolution
filter:     libfilter, a mail filtering library
libibex:    an indexing library used by the mailer
libical:    a library for the iCalendar format (RFC 2445-2446)
libversit:  a library for the vCard (RFC 2425-2426) and vCalendar
        (http://www.imc.org/pdi/vcal-10.txt) formats
mail:       the mail display UI
shell:      the Evolution shell (the main program that launches
        the other components)
tests:      some test programs
widgets:    widgets used by Evolution, including the shortcut bar,
        ETable, and EText