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 beta. This means it may delete all of your mail if you give it the chance. 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. IF IT DOESN'T WORK ------------------ Did you read the "How to build" section below? :-) If you have built Evolution and it doesn't work, or you can't get it or one of its dependencies to compile, try running the "verify-evolution-install.sh" script in the tools/ subdirectory. It may be able to figure out what went wrong. 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, 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 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. If you install Evolution into a different prefix from OAF, you will also need to set OAF_INFO_PATH to include the directory where the oafinfo files are installed (${prefix}/share/oaf). (OAF will eventually obey the GNOME_PATH variable, but it does not do so currently.) Eg: export OAF_INFO_PATH=/usr/local/share/oaf If you are already running an oafd, you will need to kill it after setting that variable so it gets restarted later with that in its environment. 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 - 1.8.7 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_X".) (*) - gnome-print - 0.20 (*). The gnome-print CVS HEAD will NOT work, nor will 0.21. - gdk-pixbuf - 0.7.0 or later (*) - ORBit - 0.5.3 or later (*) - oaf - 0.5 or later *** If you are using oaf from CVS, you should use the flag *** "--disable-more-warnings" when configure, or it may fail to *** build. - gnome-vfs - 0.3 or later *** If you are using gnome-vfs from CVS, you should use the flag *** "--disable-more-warnings" when configuring, or it may fail to *** build. - bonobo - 0.17 or later *** Note that bonobo must be installed with the same --prefix as *** either gnome-libs or evolution for the Makefiles to work *** properly. - libunicode - 0.4 or later, available from http://www.pango.org/download.shtml - gconf - 0.6 or later - gtkhtml - 0.5 or later - libglade (*) If you want support for PalmPilot syncing (currently only supported by the calendar and not yet very stable/functional), you will also need the following packages: - pilot-link (*) - gnome-pilot - from CVS, with --enable-oaf The layout of the source tree is: 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, ETable, and EText wombat: Has source code that will load in the addressbook and calendar backend, and will form the server process we'll be using