To build all of the Moonshot components, you need various packages installed. To install all of these, see below.
Get the required packages on macOS El Capitan
To get all of the requirements on El Capitan, you will need to install Xcode, the Xcode command-line extensions, and several GNU tools:
Add the Wheezy-backports repository.
Install Xcode from the Mac App Store.
Open a Terminal, then install the Xcode Command Line Tools.
$ echo "deb http://ftp.us.debian.org/debian wheezy-backports main" >> /etc/apt/sources.list
Refresh local package information
$ apt-get update
- Install a whole load of packages from the normal Wheezy repo
You will be prompted with a dialog to install the Command Line Tools after a 130MB download.
Install the GNU tools that are required for Moonshot by following the instructions at How to install Autoconf, Automake and related tools on Mac OS X from source?
Install GNU GetText:
Install a package from the Wheezy-backports repo
$ apt-get install libxml-security-c-dev libxerces-c-dev libcurl4-openssl-dev liblog4cpp5-dev autotools-dev doxygen libtool libconfuse-dev autoconf automake python libsqlite3-dev libtalloc-dev fakeroot libkrb5-dev libevent-dev build-essential libboost-all-dev libxmltooling-dev liblog4shib-dev xmltooling-schemas autopoint libgtk2.0-dev libgee-dev libdbus-glib-1-dev valac libgnome-keyring-dev desktop-file-utils
curl -O -L http://ftpmirror.gnu.org/gettext/gettext-latest.tar.gz
$ tar -xzf gettext-latest.tar.gz
$ cd gettext-*
$ make && sudo install
Install MacPorts by downloading the latest install package from MacPorts.org, then update it:
$ sudo port -v selfupdate
Install Makedepend from MacPorts:
$ apt-getsudo port install -t wheezy-backports libsaml2-devmakedepend
Update CPAN and install JSON:
$ sudo cpan install JSON
Download the required dependencies:
Checkout the Moonshot source
The Moonshot source code is all stored in a GIT repository. To fetch it, issue the following command.
$ git clone --recursive http://www.project-moonshot.org/git/moonshot.git
To build Moonshot, simply enter the moonshot directory of the git repo that you just checked out, and run the builder script. In the --prefix option, you can specify where the code will be installed to. Note that you will need to build as a user who has permission to install in the target directory, because the builder script installs during the build, instead of doing an install after the build has finished (so you can't build first as an underprivileged user and install as a superuser as you would normally do).
$ cd moonshot && ./builder --prefix=/opt/moonshot
You probably know this, but if you stuck your installation into an unusual location, you may need to do the following (as root) - where, here, /opt/moonshot is the install path you used for the prefix option above:
# echo /opt/moonshot/lib >/etc/ld.so.conf.d/moonshot.conf
(TODO: document /etc/init.d/ stuff?)