This is what I've tried so far to get Evolution working on Mac OS X (I'm using OS X 10.3.7). At the moment I have successfully compiled libgnome. This may or may not work for you, and I accept no responsibility if you blow yourself up trying it :)
Uhm, why don't you let Fink do most of this work for you? --AristotlePagaltzis
I think the versions in Fink are out of date -- PerryLorier
What Perry said -- MichaelJager
$ export PATH=$PATH:/evolution/bin $ export LDFLAGS=-L/evolution/lib CPPFLAGS=-I/evolution/include $ mkdir /evolution $ cd /evolution $ wget http://optusnet.dl.sourceforge.net/sourceforge/expat/expat-1.95.8.tar.gz $ tar -zxvf expat-1.95.8.tar.gz $ cd expat-1.95.8 $ ./configure --prefix=/evolution && make && make install $ cd .. $ sudo perl -MCPAN -e shell cpan> get XML::Parser cpan> quit $ sudo su # cd /root/.cpan/build/XML-Parser-2.34 # perl Makefile.PL EXPATLIBPATH=/evolution/lib EXPATINCPATH=/evolution/include # make test # make install # exit $ cd /evolution $ wget http://www.southern-storm.com.au/download/treecc-0.3.4.tar.gz $ tar -zxvf treecc-0.3.4.tar.gz $ cd treecc-0.3.4 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://www.southern-storm.com.au/download/pnet-0.6.10.tar.gz $ tar -zxvf pnet-0.6.10.tar.gz $ cd pnet-0.6.10 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://www.southern-storm.com.au/download/pnetlib-0.6.10.tar.gz $ tar -zxvf pnetlib-0.6.10.tar.gz $ cd pnetlib-0.6.10 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnu.org/gnu/gettext/gettext-0.14.tar.gz $ tar -zxvf gettext-0.14.tar.gz $ cd gettext-0.14 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.1.x/popt-1.7.tar.gz $ tar -zxvf popt-1.7.tar.gz $ cd popt-1.7 $ ./configure --prefix=/evolution
Edit Makefile.am, replace $(lib_LTLIBRARIES)
with $(lib_LTLIBRARIES) -lintl
$ make && make install $ cd .. $ wget http://www.freedesktop.org/software/pkgconfig/releases/pkgconfig-0.15.0.tar.gz $ tar -zxvf pkgconfig-0.15.0.tar.gz $ cd pkgconfig-0.15.0 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/glib-2.4.8.tar.bz2 $ bzcat glib-2.4.28.tar.bz2 | tar -xv $ cd glib-2.4.28 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/libIDL-0.8.4.tar.bz2 $ bzcat libIDL-0.8.4.tar.bz2 | tar -xv $ cd libIDL-0.8.4 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/ORBit2-2.12.0.tar.bz2 $ bzcat ORBit2-2.12.0.tar.bz2 | tar -xv $ cd ORBit2-2.12.0
Edit configure, replace -lpopt
with -lpopt -lintl
Edit configure, find ac_config_files=
. Fix it so there are no line breaks in the middle of it.
$ export LDFLAGS="-L/evolution/lib -lresolv" $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/libxml2-2.6.16.tar.bz2 $ bzcat libxml2-2.6.16.tar.bz2 | tar -xv $ cd libxml2-2.6.16 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/atk-1.8.0.tar.bz2 $ bzcat atk-1.8.0.tar.bz2 | tar -xv $ cd atk-1.8.0 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://fontconfig.org/release/fontconfig-2.2.98.tar.gz $ tar -zxvf fontconfig-2.2.98.tar.gz $ cd fontconfig-2.2.98 $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/pango-1.6.0.tar.bz2 $ bzcat pango-1.6.0.tar.bz2 | tar -xv $ cd pango-1.6.0 $ export PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget ftp://ftp.remotesensing.org/pub/libtiff/tiff-3.7.1.tar.gz $ tar -zxvf tiff-3.7.1.tar.gz $ cd tiff-3.7.1 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://www.ijg.org/files/jpegsrc.v6b.tar.gz $ tar -zxvf jpegsrc.v6b.tar.gz $ cd jpeg-6b $ ./configure --prefix=/evolution && make && make install && make install-lib $ ranlib /evolution/lib/libjpeg.a $ cd .. $ wget http://optusnet.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.8.tar.bz2 $ bunzip libpng-1.2.8.tar.bz2 | tar -xv $ cd libpng-1.2.8 $ cp scripts/makefile.darwin makefile
Edit makefile, replace prefix=/usr/local
with prefix=/evolution
Edit makefile, replace CFLAGS=-I$(ZLIBINC) -Wall -O3 -funroll-loops
with CFLAGS=-I$(ZLIBINC) -Wall -O3 -funroll-loops -I/evolution/include
Edit makefile, replace LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz
with LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz -L/evolution/lib
$ make $ make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/gtk+-2.4.14.tar.bz2 $ bzcat gtk+-2.4.14.tar.bz2 | tar -xv $ cd gtk+-2.4.14 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/GConf-2.8.1.tar.bz2 $ bzcat GConf-2.8.1.tar.bz2 | tar -xv $ cd GConf-2.8.1 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/libbonobo-2.8.0.tar.bz2 $ bzcat libbonobo-2.8.0.tar.bz2 | tar -xv $ cd libbonobo-2.8.0
Edit configure, replace -lpopt
with -lpopt -lintl
Edit configure, find ac_config_files=
. Fix it so there are no line breaks in the middle of it.
$ cat << EOF > bonobo-activation.patch
> --- bonobo-activation/bonobo-activation-client.c.org Sun Apr 4 20:20:35 2004
> +++ bonobo-activation/bonobo-activation-client.c Sun Apr 4 20:22:18 2004
> @@ -197,7 +197,12 @@
> return result;
> }
>
> +#ifdef APPLE
> +# include <crt_externs.h>
> +# define environ (*_NSGetEnviron())
> +#elif
> extern char **environ;
> +#endif
>
> void
> bonobo_activation_register_client (Bonobo_ActivationContext? context,
> EOF
(patch taken from DarwinPorts?)
$ patch -p0 < bonobo-activation.patch $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/sources/gnome-mime-data/2.4/gnome-mime-data-2.4.2.tar.bz2 $ bzcat gnome-mime-data-2.4.2.tar.bz2 | tar -xv $ cd gnome-mime-data-2.4.2 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/gnome-vfs-2.8.3.tar.bz2 $ bzcat gnome-vfs-2.8.3.tar.bz2 | tar -xv $ cd gnome-vfs-2.8.3 $ cat <<EOF > gnome-vfs-cdrom.patch > --- gnome-vfs-cdrom.c.orig Fri Aug 27 01:23:33 2004 > +++ gnome-vfs-cdrom.c Fri Jan 14 23:19:05 2005 > @@ -143,6 +143,7 @@ > #endif /* defined(FreeBSD) */ > return type; > #else > + #if !defined(APPLE) > *fd = open (vol_dev_path, O_RDONLY|O_NONBLOCK); > if (*fd < 0) { > return -1; > @@ -153,6 +154,7 @@ > return -1; > } > return ioctl (*fd, CDROM_DISC_STATUS, CDSL_CURRENT); > + #endif > #endif > } > > EOF
(patch modified from DarwinPorts?)
$ patch -p0 < gnome-vfs-cdrom.patch $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/libgnome-2.8.0.tar.bz2 $ bzcat libgnome-2.8.0.tar.bz2 | tar -xv $ cd libgnome-2.8.0
Edit configure, replace -lpopt
with -lpopt -lintl
Edit configure, find ac_config_files=
. Fix it so there are no line breaks in the middle of it.
Edit configure, find archive_expsym_cmds=
. There are two new lines here that shouldn't be there. (2 occurences of archive_expsym_cmds
, both have the same problem)
Edit configure, find module_expsym_cmds=
. There are two new lines here that shouldn't be there. (2 occurences of module_expsym_cmds
, both have the same problem)
$ cat << EOF > gnome-util.patch > --- gnome-util.c.orig Mon Aug 16 05:27:59 2004 > +++ gnome-util.c Fri Jan 14 23:55:07 2005 > @@ -189,10 +189,11 @@ > void > gnome_unsetenv (const char name) > { > -#if defined (HAVE_UNSETENV) > - unsetenv (name); > -#else > - extern char **environ; > +#ifdef APPLE > +# include <crt_externs.h> > +# define environ (_NSGetEnviron()) > +#elif extern char **environ; > +#endif > int i, len; > > len = strlen (name); > @@ -210,7 +211,6 @@ > environi? = environi + 1?; > i++; > } > -#endif > } > > /** > EOF
(patch modified from DarwinPorts?)
$ patch -p0 < gnome-util.patch $ cat << EOF > gnome-score.patch > --- gnome-score.c.orig Sun May 2 22:06:20 2004 > +++ gnome-score.c Sat Jan 15 00:12:16 2005 > @@ -230,13 +230,6 @@ > gchar *level; > gchar *realname; > gint retval; > -#ifdef HAVE_SETFSGID > - gid_t gid; > - > - gid = getegid (); > - setgid (getgid ()); > - setfsgid (gid); > -#endif > realname = g_strdup (g_get_real_name ()); > if (strlen (realname) == 0) > realname = g_strdup (g_get_user_name ());
(patch modified from DarwinPorts?)
$ patch -p0 < gnome-score.patch $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/libart_lgpl-2.3.16.tar.bz2 $ bzcat libart_lgpl-2.3.16.tar.bz2 | tar -xv $ cd libart_lgpl-2.3.16 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/libglade-2.4.1.tar.bz2 $ bzcat libglade-2.4.1.tar.bz2 | tar -xv $ cd libglade-2.4.1 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/libgnomecanvas-2.8.0.tar.bz2 $ bzcat libgnomecanvas-2.8.0.tar.bz2 | tar -xv $ cd libgnomecanvas-2.8.0 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/libbonoboui-2.8.0.tar.bz2 $ bzcat libbonoboui-2.8.0.tar.bz2 | tar -xv $ cd libbonoboui-2.8.0 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://freedesktop.org/software/icon-theme/releases/hicolor-icon-theme-0.5.tar.gz $ tar -zxvf hicolor-icon-theme-0.5.tar.gz $ cd hicolor-icon-theme-0.5 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/desktop/2.8/2.8.2/sources/gnome-icon-theme-2.8.0.tar.bz2 $ bzcat gnome-icon-theme-2.8.0.tar.bz2 | tar -xv $ cd gnome-icon-theme-2.8.0 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/desktop/2.8/2.8.2/sources/libsoup-2.2.1.tar.bz2 $ bzcat libsoup-2.2.1.tar.bz2 | tar -xv $ cd libsoup-2.2.1 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/desktop/2.8/2.8.2/sources/evolution-data-server-1.0.3.tar.bz2 $ bzcat evolution-data-server-1.0.3.tar.bz2 | tar -xv $ cd evolution-data-server-1.0.3 $ cat << EOF > os_open.patch > --- libdb/os/os_open.c.orig Fri Nov 21 11:13:37 2003 > +++ libdb/os/os_open.c Sat Jan 15 01:39:12 2005 > @@ -106,11 +106,6 @@ > if ((ret = __os_openhandle(dbenv, name, oflags, mode, fhp)) != 0) > return (ret); > > -#ifdef HAVE_DIRECTIO > - if (LF_ISSET(DB_OSO_DIRECT)) > - (void)directio(fhp->fd, DIRECTIO_ON); > -#endif > - > /* > * Delete any temporary file. > * > EOF
(patch modified from DarwinPorts?)
$ patch -p0 < os_open.patch $ cat << EOF > os_spin.patch > --- libdb/os/os_spin.c.orig Sat Jan 15 01:16:11 2005 > +++ libdb/os/os_spin.c Sat Jan 15 01:17:20 2005 > @@ -13,9 +13,6 @@ > > #ifndef NO_SYSTEM_INCLUDES > #include <sys/types.h> > -#if defined(HAVE_PSTAT_GETDYNAMIC) > -#include <sys/pstat.h> > -#endif > > #include <limits.h> > #include <unistd.h> > @@ -23,23 +20,6 @@ > > #include "db_int.h" > > -#if defined(HAVE_PSTAT_GETDYNAMIC) > -static int os_pstat_getdynamic P((void)); > - > -/* > - * os_pstat_getdynamic -- > - * HP/UX. > - */ > -static int > -os_pstat_getdynamic() > -{ > - struct pst_dynamic psd; > - > - return (pstat_getdynamic(&psd, > - sizeof(psd), (size_t)1, 0) == -1 ? 1 : psd.psd_proc_cnt); > -} > -#endif > - > #if defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN) > static int os_sysconf P((void)); > > @@ -79,9 +59,6 @@ > return (dbenv->tas_spins); > > dbenv->tas_spins = 1; > -#if defined(HAVE_PSTAT_GETDYNAMIC) > - dbenv->tas_spins = os_pstat_getdynamic(); > -#endif > #if defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN) > dbenv->tas_spins = os_sysconf(); > #endif > EOF
(patch modified from DarwinPorts?)
$ cat << EOF > mutex.patch > --- evolution-data-server-1.1.0.old/libdb/dbinc/mutex.h 2004-11-02 05:56:41.000000000 +1100 > +++ evolution-data-server-1.1.0.new/libdb/dbinc/mutex.h 2004-11-17 00:34:56.000000000 +1100 > @@ -550,7 +550,6 @@ > }) > #endif > #define MUTEX_UNSET(tsl) ({ \ > - asm volatile("lwsync # MUTEX_UNSET ":::"memory"); \ > (*(tsl) = 0); \ > }) > #define MUTEX_INIT(tsl) MUTEX_UNSET(tsl) > diff -Naur evolution-data-server-1.1.0.old/libdb/dist/configure evolution-data-server-1.1.0.new/libdb/dist/configure > --- evolution-data-server-1.1.0.old/libdb/dist/configure 2004-10-14 00:43:48.000000000 +1000 > +++ evolution-data-server-1.1.0.new/libdb/dist/configure 2004-11-17 00:22:19.000000000 +1100 > @@ -18797,7 +18797,7 @@ > > > > -for ac_func in _fstati64 clock_gettime directio gettimeofday getuid > +for ac_func in _fstati64 clock_gettime gettimeofday getuid > do > as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` > echo "$as_me:$LINENO: checking for $ac_func" >&5 > @@ -18886,7 +18886,7 @@ > > > > -for ac_func in pstat_getdynamic sched_yield select strtoul sysconf yield > +for ac_func in sched_yield select strtoul sysconf yield > do > as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` > echo "$as_me:$LINENO: checking for $ac_func" >&5 > EOF
(patch from Ximian Bugzilla, bug#69051)
$ patch -p1 < mutex.patch $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/gail-1.8.1.tar.bz2 $ bzcat gail-1.8.1.tar.bz2 | tar -xv $ cd gail-1.8.1 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/desktop/2.8/2.8.2/sources/gnome-keyring-0.4.0.tar.bz2 $ bzcat gnome-keyring-0.4.0.tar.bz2 | tar -xv $ cd gnome-keyring-0.4.0 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/libgnomeui-2.8.0.tar.bz2 $ bzcat libgnomeui-2.8.0.tar.bz2 | tar -xv $ cd libgnomeui-2.8.0 $ cat << EOF > gnome-multiscreen.patch > --- libgnomeui/gnome-multiscreen.c.orig Sat Jan 15 10:06:24 2005 > +++ libgnomeui/gnome-multiscreen.c Sat Jan 15 10:07:41 2005 > @@ -26,7 +26,12 @@ > > #include <string.h> > > -extern char **environ; > +#ifdef APPLE > +# include <crt_externs.h> > +# define environ (*_NSGetEnviron()) > +#elif > + extern char **environ; > +#endif > > /** > * make_environment_for_screen: > EOF
(patch modified from DarwinPorts?)
$ patch -p0 < gnome-multiscreen.patch $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.easysw.com/pub/cups/1.1.23/cups-1.1.23-source.tar.bz2 $ bzcat cups-1.1.23-source.tar.bz2 $ cd cups-1.1.23
Edit configure
, replace LIBTIFF="-ltiff"
with LIBTIFF="-L/evolution/lib -ltiff"
$ ./configure --prefix=/evolution && make && make installhdrs $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/sources/libgnomecups/0.1/libgnomecups-0.1.14.tar.bz2 $ bzcat libgnomecups-0.1.14.tar.bz2 | tar -xv $ cd libgnomecups-0.1.14 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/libgnomeprint-2.8.1.tar.bz2 $ bzcat libgnomeprint-2.8.1.tar.bz2 | tar -xv $ cd libgnomeprint-2.8.1 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/platform/2.8/2.8.2/sources/libgnomeprintui-2.8.1.tar.bz2 $ bzcat libgnomeprintui-2.8.1.tar.gz $ cd libgnomeprint-2.8.1 $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/desktop/2.8/2.8.2/sources/gtkhtml-3.2.4.tar.bz2 $ bzcat gtkhtml-3.2.4.tar.bz2 | tar -xv $ cd gtkhtml-3.2.4 $ cd components/html-editor $ mv spell.h spell-1.h $ /evolution/bin/orbit-idl-2 -I/evolution/share/idl/bonobo-2.0 -I/evolution/share/idl/bonobo-activation-2.0 Editor.idl $ /evolution/bin/orbit-idl-2 -I/evolution/share/idl/bonobo-2.0 -I/evolution/share/idl/bonobo-activation-2.0 Spell.idl
Edit edit-control-factory.c
, change #include "spell.h"
to #include "spell-1.h"
$ cd ../.. $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/desktop/2.8/2.8.2/sources/gal-2.2.4.tar.bz2 $ bzcat gal-2.2.4.tar.bz2 | tar -x $ cd gal-2.2.4 $ export PKG_CONFIG_PATH=/lib/pkgconfig $ ./configure --prefix=/evolution && make && make install $ cd .. $ wget http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_9_2_RTM/src/nss-3.9.2.tar.gz $ tar -zxvf nss-3.9.2.tar.gz $ cd nss-3.9.2/mozilla/security/nss $ NS_USE_GCC=1 make nss_build_all $ NS_USE_GCC=1 make install $ find ../../dist//lib -type l -exec cp -L {} /evolution/lib \; $ cp -LR ../../dist/public/ /evolution/include $ cp -LR ../../dist//include/ /evolution/nspr $ cd ../../.. $ wget ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.2.tar.gz $ tar -zxvf aspell-0.60.2.tar.gz $ cd aspell-0.60.2 $ ./configure --prefix=/evolution &&& make && make install $ cd .. $ wget http://ftp.gnome.org/pub/GNOME/sources/gnome-spell/1.0/gnome-spell-1.0.5.tar.gz $ tar -zxvf gnome-spell-1.0.5.tar.gz $ cd gnome-spell-1.0.5 $ ./configure --prefix=/evolution
Edit gnome-spell/Makefile, remove -DGTK_DISABLE_DEPRECATED=1 \
line
$ make && make install
$ cd ..
$ wget http://ftp.gnome.org/pub/gnome/sources/evolution/2.0/evolution-2.0.3.tar.gz $ tar -zxvf evolution-2.0.3.tar.gz $ cd evolution-2.0.3 $ export PKG_CONFIG_PATH=/evolution/lib/pkgconfig $ cat << EOF > /evolution/etc/bonobo-activation/bonobo-activation-config.xml
<?xml version="1.0"?> <oafconfig>
<searchpath>
<item>/evolution/lib/bonobo/servers</item>
</searchpath>
</oafconfig>
$ ./configure --prefix=/evolution --enable-nss --with-nspr-includes=/evolution/include --with-nspr-libs=/evolution/lib --with-nss-includes=/evolution/include/nss --with-nss-libs=/evolution/lib && make && make install $ cd .. </pre>
No page links to EvolutionOnMacOSX.