README 5.46 KB
Newer Older
Ettore Perazzoli's avatar
Ettore Perazzoli committed
1
Evolution is the integrated mail, calendar and address book suite from
JP Rosevear's avatar
JP Rosevear committed
2
the Evolution Team.
3

Piotr Drąg's avatar
Piotr Drąg committed
4
See https://wiki.gnome.org/Apps/Evolution for more information.
5 6

If you are using Evolution, you may wish to subscribe to the Evolution
Ettore Perazzoli's avatar
Ettore Perazzoli committed
7
users mailing list.  If you are interested in contributing to
8
development on it, you should certainly subscribe to the Evolution
Ettore Perazzoli's avatar
Ettore Perazzoli committed
9
Hackers mailing list.  Visit
10

Milan Crha's avatar
Milan Crha committed
11
        https://mail.gnome.org/mailman/listinfo
12

Piotr Drąg's avatar
Piotr Drąg committed
13
to subscribe or view archives of the Evolution mailing lists.
Ettore Perazzoli's avatar
Ettore Perazzoli committed
14 15 16 17 18 19 20

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 also a #evolution IRC channel on irc.gnome.org.
21

22
Help for Evolution is available in the user manual (select "Help" from
Milan Crha's avatar
Milan Crha committed
23 24 25
the menu after running the application), at the GNOME users help site
(https://help.gnome.org/users/evolution/stable/), and in the --help strings
(run "evolution --help" at the command line).
26

27 28
The rest of this file is dedicated to building Evolution.

29

Ettore Perazzoli's avatar
Ettore Perazzoli committed
30 31
DEPENDENCIES
------------
32

Milan Crha's avatar
Milan Crha committed
33
In order to build Evolution you need to have the full set of GNOME 3
JP Rosevear's avatar
JP Rosevear committed
34
(or greater) development libraries installed.
35

Milan Crha's avatar
Milan Crha committed
36
GNOME 3 or greater comes with most of the modern distributions, so
JP Rosevear's avatar
JP Rosevear committed
37 38
in most cases it should be enough to just install all the devel
packages from your distribution.
39

Ettore Perazzoli's avatar
Ettore Perazzoli committed
40 41
Please make sure you have the most recent versions of the libraries
installed, since bugs in the libraries can cause bugs in Evolution.
42

Ettore Perazzoli's avatar
Ettore Perazzoli committed
43 44
Additional dependencies, besides the stock GNOME libraries (the
dependencies should be compiled in the order they are listed here):
45

Milan Crha's avatar
Milan Crha committed
46
        * evolution-data-server of the same version as the Evolution is
47

Milan Crha's avatar
Milan Crha committed
48
             ftp://ftp.gnome.org/pub/gnome/sources/evolution-data-server
49

Milan Crha's avatar
Milan Crha committed
50
        * libsoup 2.42 or later
51

Milan Crha's avatar
Milan Crha committed
52
             ftp://ftp.gnome.org/pub/gnome/sources/libsoup
53

54
        * WebKitGTK+ 2.13.0
55

Milan Crha's avatar
Milan Crha committed
56
             http://webkitgtk.org/releases/
57

Milan Crha's avatar
Milan Crha committed
58
        * Mozilla NSPR/NSS libraries
JP Rosevear's avatar
JP Rosevear committed
59

Milan Crha's avatar
Milan Crha committed
60 61
          These are needed if you want to compile Evolution with SSL and S/MIME
          support.
JP Rosevear's avatar
JP Rosevear committed
62

Milan Crha's avatar
Milan Crha committed
63
             http://www.mozilla.org/
Dan Winship's avatar
Dan Winship committed
64

Ettore Perazzoli's avatar
Ettore Perazzoli committed
65 66
          Many distributions ship these as Mozilla development
          packages.
Ettore Perazzoli's avatar
Ettore Perazzoli committed
67

68 69
Other dependencies are claimed during the configure phase. If these are
optional, also a parameter for the CMake configure to not use that dependency
Milan Crha's avatar
Milan Crha committed
70
is shown.
71

Ettore Perazzoli's avatar
Ettore Perazzoli committed
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
CONFIGURING EVOLUTION
---------------------

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.  Also, it increases the chance
that something goes wrong and your GNOME installation gets ruined.

If you want to install in a different prefix, you need to do the
following things:

Milan Crha's avatar
Milan Crha committed
88 89 90 91
        * Set the environment variables to contain a colon-separated list
          of all the directories that will be involved in the build.
          The environment variables are ACLOCAL_FLAGS, GSETTINGS_SCHEMA_DIR,
          LD_LIBRARY_PATH, PATH and PKG_CONFIG_PATH.
Ettore Perazzoli's avatar
Ettore Perazzoli committed
92

Milan Crha's avatar
Milan Crha committed
93
          For example, if you have GNOME installed in /usr and you
Ettore Perazzoli's avatar
Ettore Perazzoli committed
94 95 96 97
          are installing Evolution and its dependencies in
          /opt/evolution, you want to do something like the following
          (assuming you are using Bash):

Milan Crha's avatar
Milan Crha committed
98 99 100 101 102
                export ACLOCAL_FLAGS="-I /opt/evolution/share/aclocal"
                export GSETTINGS_SCHEMA_DIR="/opt/evolution/share/glib-2.0/schemas"
                export LD_LIBRARY_PATH=/opt/evolution/lib:$LD_LIBRARY_PATH
                export PATH=/opt/evolution/bin:$PATH
                export PKG_CONFIG_PATH=/opt/evolution/lib/pkgconfig:$PKG_CONFIG_PATH
Ettore Perazzoli's avatar
Ettore Perazzoli committed
103

Milan Crha's avatar
Milan Crha committed
104 105
        * Edit the D-Bus session-local.conf file (which is normally
          search for by D-Bus in /etc/dbus-1/) to include the
Ettore Perazzoli's avatar
Ettore Perazzoli committed
106 107
          location where you are installing Evolution.

Milan Crha's avatar
Milan Crha committed
108
          In the example given above (GNOME in /usr, Evolution and
Ettore Perazzoli's avatar
Ettore Perazzoli committed
109
          dependencies in /opt/evolution), your
Milan Crha's avatar
Milan Crha committed
110
          session-local.conf will have to look like this:
Ettore Perazzoli's avatar
Ettore Perazzoli committed
111

Milan Crha's avatar
Milan Crha committed
112 113 114 115 116 117 118
                <!DOCTYPE busconfig PUBLIC
                 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
                 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
                <busconfig>
                  <!-- Search for .service files in /usr/local -->
                  <servicedir>/opt/evolution/share/dbus-1/services</servicedir>
                </busconfig>
Ettore Perazzoli's avatar
Ettore Perazzoli committed
119

120
        * Pass an appropriate CMAKE_INSTALL_PREFIX parameter to the configure
Ettore Perazzoli's avatar
Ettore Perazzoli committed
121
          scripts of Evolution and its dependencies, eg:
122

123 124 125 126 127 128 129
                cd ..../sources/evolution
                mkdir build
                cd build
                cmake -G "Unix Makefiles" \
                      -DCMAKE_INSTALL_PREFIX=/opt/evolution \
                      -DCMAKE_BUILD_TYPE=Release \
                      ..
130

131 132
        * Run `cmake --help` to get list of available generators (the -G argument)
          on your platform.
133

Ettore Perazzoli's avatar
Ettore Perazzoli committed
134 135
OPTIONAL FEATURES
-----------------
136

Ettore Perazzoli's avatar
Ettore Perazzoli committed
137
Some optional features can be enabled at compilation time by passing
138 139
appropriate flags to the CMake. These options are shown at the end
of the successful configure phase.
140

Milan Crha's avatar
Milan Crha committed
141 142
BUILDING EVOLUTION
------------------
143

Milan Crha's avatar
Milan Crha committed
144
After the Evolution is properly configured, run:
145

146 147
                make -j
                make -j install
Ettore Perazzoli's avatar
Ettore Perazzoli committed
148

Milan Crha's avatar
Milan Crha committed
149
to build it.