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   * 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 . cvs -d :pserver:anonymous@cvs.gnu-designs.com:/cvs/pilot-link co pilot-link ./configure --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= --with-pisock= make make install 3) evolution in your evo source dir do ./autogen.sh --prefix= --with-pisock= --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= --with-nspr-includes= --with-nspr-libs= --with-nss-includes= --with-nss-libs= 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 d> * OpenDBX is an extremely lightweight but extensible C library foritetcu2006-07-091-0/+1 * Add new port for python sqlite3 module.perky2006-06-231-0/+1 * Add fpc-sqlite , free Pascal interface to SQLite.garga2006-06-211-0/+1 * Add fpc-gdbm , free Pascal interface to the GNU database system.garga2006-06-211-0/+1 * Add p5-Class-DBI-Plugin-Senna 0.01, add Instant Fulltext Searchkuriyama2006-06-171-0/+1 * Remove expired leaf ports:vd2006-06-141-1/+0 * Rose::DB::Object is a base class for objects that encapsulate a single rowerwin2006-06-101-0/+1 * Rose::DB is a wrapper and abstraction layer for DBI-related functionality.erwin2006-06-101-0/+1 * This is a simple module for doing very very simple quick tests on aerwin2006-06-071-0/+1 * Add flamerobin 0.7.2, an GUI administration tool for Firebird database.skv2006-06-071-0/+1 * Add erlang-mysql 1.0, native MySQL driver for Erlang.aaron2006-06-061-0/+1 * Add libzdb, it's a thread-safe connection pool library.vanilla2006-06-031-0/+1 * Add new port databases/pgtop - Display PostgreSQL performance info like top(1)vd2006-05-311-0/+1 * Adding port databases/p5-Data-Pageset, a module for manipulating multiple pag...aaron2006-05-311-0/+1 * databases/gnomedb -> databases/gnome-dbmezz2006-05-281-1/+1 * Add port databases/p5-DBIx-SQLite-Simple:sat2006-05-261-0/+1 * Move the libgnomedb programming reference to the libgnomedb-reference port.jylefort2006-05-121-0/+1 * Move the libgda3 programming reference to the libgda3-reference port.jylefort2006-05-111-0/+1 * Move the libgda2 programming reference to the libgda2-reference port.jylefort2006-05-111-0/+1 * * Makefilemnag2006-05-031-0/+1 * Update to KOffice 1.5.0lofi2006-04-291-0/+1 * MySQL Query Browser is a database querying tool that combines the simplicitysem2006-04-191-0/+1 * [NEW PORT] databases/py24-axiom: Axion is an object database in python using ...edwin2006-04-141-0/+1 * re-add databases/mantisedwin2006-04-011-0/+1 * Remove databases/mantis; has been marked FORBIDDEN for more than 3 months.linimon2006-03-311-1/+0 * Repocopy libgda2 to libgda3 in order to resurrect the 1.2.x version ofmarcus2006-03-271-0/+1 * This module wraps most methods of most Xapian classes.sem2006-03-271-0/+1 * Since we have a native Net8, resurrect TOra.thierry2006-03-231-0/+1 * Add p5-Class-DBI-Plugin-Iterator 0.13, new iterator for p5-Class-DBI.kuriyama2006-03-221-0/+1 * Add php5-creole 1.0.2, database abstraction layer for PHP5.kuriyama2006-03-221-0/+1 * Add php5-propel 1.1.1, full-service object persistence and query toolkitkuriyama2006-03-221-0/+1 * Add p5-DBIx-MySQLSequence 1.00, proper and correct (emulated) sequencelth2006-03-181-0/+1 * Oryx is an object persistence framework which supports both object-relationalerwin2006-02-201-0/+1 * Adding port databases/p5-Iterator-DBI, An iterator for returning DBI query re...aaron2006-02-191-0/+1 * HSQLDB is the leading SQL relational database engine written in Java. It has ahq2006-02-171-0/+1 * DbUtils is a small set of classes designed to make working with JDBC easier.hq2006-02-161-0/+1 * Paradox is an extension to read and write Paradox .DB and .PX files.garga2006-02-141-0/+1 * Add p5-DBIx-Class-WebForm 0.02, CRUD methods for DBIx::Class.erwin2006-02-121-0/+1 * Add p5-Class-DBI-LazyInflate 0.06, defer inflating of columns until theylth2006-02-061-0/+1 * Connect mysql51-* ports to the build.ale2006-02-051-0/+3 * Add DBD slave port for mysql51-scripts package.ale2006-02-051-0/+1 * DBIx::Class::Schema::Loader automates the definition of aerwin2006-02-051-0/+1 * New Ruby MemCached client memcache-client from the Robotcoop. It is a pure Rubypav2006-01-291-0/+1 * * MOVEDmnag2006-01-281-1/+2 * Move databases/myodbc -> databases/mysql-connector-odbcmnag2006-01-181-1/+1 * - Move databases/pecl-hash to security/pecl-hashpav2006-01-131-1/+0 * New port: security/pecl-hash pHASH Message Digest Framework for PHP (PECL mod...edwin2006-01-071-0/+1 * IP4R is a contributed PostgreSQL module that embraces and extends theade2006-01-071-0/+1 * New port databases/p5-DBIx-Sequenceedwin2006-01-061-0/+1 * New port databases/p5-DBIx-Abstractedwin2006-01-061-0/+1 * Remove just added port. pbl is already available under databases/libpbl.ehaupt2006-01-061-1/+0 * Add pbl, a highly portable database library.ehaupt2006-01-061-0/+1 * NEW PORTS: databases/py-dbutils, database connection pool for multithread app...edwin2006-01-041-0/+1 * New port: databases/libpbl - Peter Graf's Program Base Libraryedwin2006-01-041-0/+1 * The Cache::Memcached::Managed module provides an API to values, cached inerwin2006-01-021-0/+1 * New port: databases/ipa_sdb IPA simple database moduleedwin2005-12-291-0/+1 * Add databases/p5-Jifty-DBI 0.08, an object-relational persistencetobez2005-12-271-0/+1 * [New Port] databases/db4o-mono A database engine for storing object into file...edwin2005-12-211-0/+1 * New port: databases/pydbx Simple SQL database abstraction layer for Pythonedwin2005-12-211-0/+1 * * databases/mysql++mnag2005-12-161-0/+1 * DBIx::Simple module aims to be a simplified object oriented interface to Perlerwin2005-12-111-0/+1 * pxlib is shared C library to read various Paradox files.sem2005-12-111-0/+1 * Finally update to PHP 5.1.1 release! (And remove unsupported extensions)ale2005-12-101