aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: 62efb3c5ada8fb94ea3c715213b2124a4afdbd81 (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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
Evolution is the integrated mail, calendar and address book
distributed suite from Ximian, Inc.

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

Note that Evolution is still beta. This means it may delete all of
your mail if you give it the chance.

If you are using Evolution, you should subscribe to the Evolution
mailing list. If you are interested in hacking on it, you should
subscribe to the Evolution Hackers mailing list. Send mail to
"evolution-request@ximian.com" or
"evolution-hackers-request@ximian.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 are mailing list archives available at
http://lists.ximian.com/archives/public/evolution/     and
http://lists.ximian.com/archives/public/evolution-hackers/

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


IF IT DOESN'T WORK
------------------

Did you read the "How to build" section below?

If the configure script complains that you don't have a library that
you know you have installed, it usually means either that you've
installed things into multiple prefixes (see the bits on GNOME_PATH
below) or (if you're on Linux) that you installed the "foo" package
but forgot the "foo-devel" package.


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
------------------

First you have to decide whether you want to install Evolution (and
its dependencies) into the same prefix as the rest of your GNOME
install, or into a new prefix. Installing everything into the same
prefix as the rest of your GNOME install will make it much easier to
build and run programs, and easier to switch between using packages
and building it yourself, but it may also 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" or "autogen.sh"
when building the other packages you need. Eg:

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


If you build in another prefix instead, you will need to set the
GNOME_PATH environment variable (and ACLOCAL_FLAGS as well if building
from CVS) to include the prefix you install into. Eg:

        export GNOME_PATH=/usr/local
    export ACLOCAL_FLAGS="-I /usr/local/share/aclocal"

(Assuming your shell is bash, and you installed into /usr/local.) You
need to set GNOME_PATH both during compiling AND when you run
evolution. Remember also that if you're installing into an odd prefix
such as /evolution, that you also need to make sure to put
${prefix}/bin in your PATH and ${prefix}/lib in your LD_LIBRARY_PATH.


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 Ximian GNOME
(http://www.ximian.com/desktop/) Other packages may be available from
the Ximian GNOME evolution preview mirror.

If installing from packages, remember that you need both the runtime
and -devel packages for each library.

 - xml-i18n-tools - lates from xml-i18n-tools-stable-1-x branch in
   GNOME CVS (0.8.2 is too old)

 - gnome-xml - 1.8.10 or later in the 1.0 series, but not from the 2.0
   series (If you get this from GNOME CVS, use the tag "LIB_XML_1_BRANCH".)
   (*)

 - gnome-print - 0.25 or later (*)

 - gdk-pixbuf - 0.9.0 or later (*)

 - ORBit - 0.5.8 or later (*) (If you get this from GNOME CVS, use the
   tag "orbit-stable-0-5".)

 - oaf - 0.6.2 or later (If you get this from GNOME CVS, use the tag
   "oaf-stable-0-6")

   *** If you are using oaf from CVS, you should use the flag
   *** "--disable-more-warnings" when configure, or it may fail to
   *** build.

 - gconf - 0.6 or later.

 - gnome-vfs - 1.0.0 or later (If you get this from GNOME CVS, use
   the tag "gnome-vfs-1-0")

   *** If you are using gnome-vfs from CVS, you should use the flag
   *** "--disable-more-warnings" when configuring, or it may fail to
   *** build.

 - libglade - 0.14 or later

 - bonobo - 1.0.3 or later

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

 - gal (GNOME Application Library) - 0.7.99.3 or later

 - gtkhtml - later than 0.9.3

 - Berkeley's libdb - 3.1.17

   db3 is available from www.sleepycat.com.  Make sure to get 3.1.17,
   it isn't the newest version.


Compiling Berkeley DB
---------------------

If you don't have 3.1.17 installed on your system or Evolution doesn't
detect it for some reason, here is a way to get Evolution to link to
it without messing up your system installation.

  * Get the Sleepycat tarball from:

      http://www.sleepycat.com/update/3.1.17/db-3.1.17.tar.gz

  * Install the content somewhere _other_ than the evolution source tree.
     e.g: NOT evolution/db-3.1.17

  * Compile according to instructions, but installing into some custom
    prefix, e.g:

      ../dist/configure --prefix=/home/user/berkeleydb-3.1.17

  * Autogen Evolution specifying that it has to look for the DB
    library there, eg.:

      ./autogen.sh --prefix=/opt/gnome
      --with-db3-includes=/home/user/berkeleydb-3.1.17/include
      --with-db3-libs=/home/user/berkeleydb-3.1.17/lib


Compiling Palm Pilot support
----------------------------

If you want support for PalmPilot syncing (currently experimental so
please back up your pilot) you will also need to do the following:

1) pilot-link
cvs -d :pserver:anonymous@cvs.gnu-designs.com:/cvs/pilot-link login
The password is just <ENTER>.
cvs -d :pserver:anonymous@cvs.gnu-designs.com:/cvs/pilot-link co pilot-link
./configure --prefix=<pilot-link-prefix> --with-perl=no --with-java=no
--with-tcl=no --with-python=no
make
make install

2) gnome-pilot
cvs -z3 co gnome-pilot
./autogen.sh --prefix=<gnome-pilot-prefix> --with-pisock=<pilot-link-prefix>
make
make install

3) evolution
in your evo source dir do ./autogen.sh --prefix=<evo-prefix> 
--with-pisock=<pilot-link-prefix> --enable-pilot-conduits=yes
make
make install


If you want support SSL (and someday S/MIME), you will also need libnspr4 and
libnss3 which can be found at http://www.mozilla.org.

Once you have libnspr4 and libnss3 (and their respective includes) installed,
in your evolution source dir do:
./autogen.sh --prefix=<evo-prefix> --with-nspr-includes=<nspr-includes-prefix>
--with-nspr-libs=<nspr-libs-prefix> --with-nss-includes=<nss-includes-prefix>
--with-nss-libs=<nss-libs-prefix>

You'll need to `cp ~/.mozilla/default/*.db ~/evolution` on you've
installed Evolution in order to get a functional SSL-enabled
Evolution.


SOURCE TREE LAYOUT
------------------

addressbook:    the Address Book UI
art:        graphics used by evolution
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).
composer:   the message composer UI
data:       the .desktop file for Evolution
default_user:   initial Evolution config files for new users
devel-docs: entirely inadequate documentation
doc:        more adequate documentation
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
tools:      utilities, notably "killev", a script to kill of all
        of the Evolution components
widgets:    widgets used by Evolution, including the shortcut bar
wombat:     Has source code that will load in the addressbook
        and calendar backend, and will form the server
        process we'll be using
/files/lodash-4.17.19&id=721c21e23320ba131782cade3baf4608d6961fbf'>2012-11-28 editors/glimmer: Depends on the expired gtkglarea through py-gtkbapt2012-11-284-29/+0 * Deprecate a bunch of ports that are either abandonware and/or for which no morebapt2012-10-261-5/+4 * 2012-10-20 security/sscep: No more public distfilesbapt2012-10-2610-359/+0 * Force numerous ports that fail to build with clang over to instead alwayslinimon2012-10-101-0/+1 * use USE_PKGCONFIG= buildbapt2012-10-061-2/+2 * Convert to new options frameworkbapt2012-10-041-10/+10 * - Reassign to the heap at maintainer's requesttabthorpe2012-09-221-6/+2 * Deprecate a bunch a ports with no more public distfiles (thanks ehaupt's dist...bapt2012-09-211-0/+3 * - Register conflicts in my portspav2012-06-041-0/+2 * - update png to 1.5.10dinoex2012-06-019-8/+9 * Remove expired ports:ak2012-05-1913-348/+0 * Mark as deprecated and set expiration to 2012-05-10 for ports that are mark a...bapt2012-04-101-0/+3 * At the moment 1385 ports use BUILD_DEPENDS= ${RUN_DEPENDS} and 450eadler2012-01-221-1/+1 * - fix small typos in COMMENTeadler2011-11-151-1/+1 * Mark as broken on powerpc: does not compile.linimon2011-11-111-0/+4 * - Remove WITH_FBSD10_FIX, is no longer neededmiwi2011-11-091-1/+0 * Standardize WWW: tags a bit more:dougb2011-11-071-1/+2 * - Fix build on FreeBSD 10miwi2011-10-301-0/+1 * The vast majority of pkg-descr files had the following format when theydougb2011-10-241-3/+0 * Remove more tags from pkg-descr files fo the form:dougb2011-10-243-11/+1 * - Add LDFLAGS to CONFIGURE_ENV and MAKE_ENV (as it was done with LDFLAGS)amdmi32011-09-248-13/+8 * 2012-09-20 www/ruby-http-access: Deprecated upstream, please use www/rubygem-...bapt2011-09-2221-2607/+0 * - Track dependencies after databases/gdbm updategabor2011-09-121-2/+2 * Chase libnotify, libproxy and webkit-gtk2 shlib changes, and fix build where ...kwm2011-08-242-2/+13 * Remove USE_GNOME=gnometarget from ports. It has been a empty keyword sincekwm2011-08-126-6/+5 * - Adjust WWW line with link to new author's sitefluffy2011-08-041-1/+1 * Deprecate some ports where I can't find distfiles and upstreambapt2011-08-032-0/+6 * Now that the Java 1.3 and Java 1.4 ports are deprecated and will expire soon,linimon2011-07-212-2/+2 * - kick MD5miwi2011-07-021-1/+0 * - Update to 1.8.1pav2011-06-234-15/+16 * Remove unmaintain expired ports from palmbapt2011-05-0222-1047/+0 * Remove most expired ports:rene2011-04-196-60/+0 * - Mark BROKEN: does not compilepav2011-03-271-0/+2 * - Get Rid MD5 supportmiwi2011-03-1938-42/+0 * - Mark ports that have been broken for six month or more, or never compiled onpav2011-03-171-11/+5 * Deprecate unmaintained ports from palm where upstream disapear and/orbapt2011-03-144-0/+12 * Add -I${LOCALBASE}/include to CFLAGS. [1] Sort pkg-plist.gerald2011-01-263-12/+11 * Reset ijliao@FreeBSD.org due to maintainer-timeouts and long absence.linimon2010-12-285-7/+4 * Use the $SRC_BASE Makevar instead of hard-coding.linimon2010-12-171-2/+2