SeaMonkey Building & Source Code
Even though we are independent from Mozilla, as we're based on the same framework as Firefox, most of the mozilla.org developer pages also apply to SeaMonkey. You will need to read the source code section for information on how to download all the relevant code.
For getting into contact with the SeaMonkey development community, for example if you want to help us and have questions, try the development group/list and IRC chat as listed on the community page.
The SeaMonkey project and source code is divided into several areas, we have a list of SeaMonkey project areas available that also contains people ("owners" and "peers") responsible for those.
If you have already submitted patches to Bugzilla, you might be interested in our review and flag policies that apply to such patches.
Build Prerequisites
You will need to complete the relevant instructions for preparing your OS for building SeaMonkey.
- Windows Build Prerequisites
- Linux Build Prerequisites The following packages are required:
- macOS Build Prerequisites The following packages are required:
autoconf-2.13, python-2.7.18, python-3.6.6, nasm-2.14.x, clang-5, gcc-7, rustc-1.61.0, unzip-6.0 and zip-3.0
Note: For 2.53.x even though 1.61.0 is the minimum rustc version, 1.66.1 is the preferred one. We also recommend using at least gcc 8.3.1 or clang 9 for building.
The following development packages are required:
alsa-lib, dbus-glib, GConf2, gtk+-3.24.x, libXt, pulseaudio-libs and yasm-1.3.0
macOS SDK 10.15
Getting the Source Code
There are currently two branches being worked on:
2.53.x repo Branches
2.53.x is considered to be the stable repo. It contains branches from which Betas and Releases are build from. Anything that lands in this repo needs to be tested in a prerelease version first. Any changes for the suite directory will land on the central branch first too. There are a few exceptions for code which will never be usable in the upstream version later but these are decided on a per case base by the build peers.
The latest version of the released code can be downloaded using the following commands:
git clone https://gitlab.com/seamonkey-project/seamonkey-2.53-mozilla.git mozilla-253
cd mozilla-253
git clone https://gitlab.com/seamonkey-project/seamonkey-2.53-comm.git comm
Make sure you download from the latest branch here. The master version is incomplete and needs additional changes because of ongoing backports from upstream.
Central Branch
Central is the very latest code. The builds from this branch are currently not working but we try to keep it building. Work is ongoing to have the built code running in the future but needs lots of work. Any new features need to land on this branch and not break building.
The latest version of the code for the central branch can be downloaded using the following commands:
hg clone https://hg.mozilla.org/mozilla-central/ mozilla-central
cd mozilla-central
hg clone https://hg.mozilla.org/comm-central/ comm
Building SeaMonkey
Once you have downloaded the source code, you can move onto building SeaMonkey. You will need to create a basic .mozconfig file in the root of your source code (e.g. in mozilla-253).
export CC=clang
export CXX=clang++
ac_add_options --enable-application=comm/suite
ac_add_options --enable-calendar
ac_add_options --enable-irc
ac_add_options --enable-dominspector
mk_add_options MOZ_OBJDIR=/path/to/objdir-sm253
ac_add_options --enable-optimize
ac_add_options --enable-js-shell
ac_add_options --enable-elf-hack
ac_add_options --disable-debug-symbols
ac_add_options --disable-tests
# Disable checking that add-ons are signed by the trusted root
MOZ_ADDON_SIGNING=0
# Disable enforcing that add-ons are signed by the trusted root
MOZ_REQUIRE_SIGNING=0
# Package js shell
export MOZ_PACKAGE_JSSHELL=1
On the Linux platform you can also make use of ccache by adding to your .mozconfig file:
# Use ccache
ac_add_options --with-ccache=/usr/bin/ccache
The build can then be started by typing the following command in the root of your source code:
./mach build
Note DOM Inspector is only available in 2.53.x. Calendar and irc are integrated in the central builds so the relevant lines need to be removed from your .mozconfig file when building the central branch. If you want to contribute to SeaMonkey we recommend to skip building central for now.