What you need to do to get the cutting edge of Spicebird (I wanted to try out the upcoming “blog” feature) is, if you haven’t done any gimmi-the-source-luke-compile-yourself-ing yet, quite a bit. I’ll list it one by one:
- Get Spicebird’s sources via subversion (I used subclipse in Aptana but command line shouldn’t be any different in effect)
- Since Spicebird builds on mozilla code base just like Thunderbird one needs to get the compatible Mozilla source code. The table in that wiki tells you really what you need (the linked tar ball is the one). I was new to Mozilla coding/compiling so I got a little confused. Subversion told me I had gotten “revision 763” so that matches “702 and above” 🙂
- Get all Mozilla dependencies which are quite a bit since I like to use aptitude over apt-get but aptitude doesn’t know the build-dep command here is the full command line including with the list of (Ubuntu) packages I needed:
sudo aptitude install autoconf2.13 cdbs diffstat fdupes intltool libart-2.0-dev libatk1.0-dev libaudiofile-dev libavahi-client-dev libavahi-common-dev libavahi-glib-dev libbonobo2-dev libbonoboui2-dev libcairo2-dev libdbus-1-dev libdbus-glib-1-dev libesd0-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgail-dev libgconf2-dev libgcrypt11-dev libglade2-dev libglib2.0-dev libgnome-keyring-dev libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomevfs2-dev libgnutls-dev libgnutlsxx13 libgpg-error-dev libgtk2.0-dev libhunspell-dev libice-dev libidl-dev libjpeg62-dev liblzo2-dev libnspr4-dev libnss3-dev libopencdk10-dev liborbit2-dev libpango1.0-dev libpixman-1-dev libpng12-dev libpopt-dev libpthread-stubs0 libpthread-stubs0-dev libselinux1-dev libsepol1-dev libsm-dev libtasn1-3-dev libx11-dev libxau-dev libxcb-xlib0-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxml-xpath-perl libxml2-dev libxrandr-dev libxrender-dev libxt-dev mozilla-devscripts patchutils quilt sharutils x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-xext-dev x11proto-xinerama-dev xtrans-dev xulrunner-1.9-dev zlib1g-dev libdbus-glib-1-dev curl libcurl4-openssl-dev automake make build-essential cvs
To double-check run
sudo apt-get build-deb firefox
. If you would use aptitude normally you should cancel this command (Ctrl+c) after apt-get has shown you the necessary packages. Copy-paste the list (might need manual editing to remove line breaks) to sudo aptitude install … If you would like to keep this bunch of packages only to compile spicebird run the same command after you’re done compiling but withmarkauto
in place ofinstall
. This will remove all packages that are only installed to satisfy this build-dependency. - Now you should really have everything you need. Now move spicebird’s trunk folder as “collab” into the mozilla folder.
- Then you need to create your .mozconfig file in your home directory. In the suggested line
echo ". ${topsrcdir}/collab/config/mozconfig" > $HOME/.mozconfig
${topsrcdir}
must be replaced by the absolute path to the newly created mozilla folder. - Now everything should be set to actually compile the sources as suggested in Spicebird’s wiki. Be prepared to let it run for quite some time (> 1 hour depending on CPU speed and memory; that’s why I have time to write this post 😉 ); the code uses about 500 MB disk space.
If you are interested in building a deb package have a look at inkscape’s nice walk-through. Mind you it’s written for Inkscape. See also: how to compile deb packages by hand.
Ressources
- Source handling with apt
- Spicebird wiki