[[TableOfContents()]] = Prerequisites = == Compilers == To compile the standalone DomTool tools, you will need the [http://mlton.org/ MLton] [http://www.standardml.org/ Standard ML] compiler. It's available as Debian package "mlton". The version in Debian testing works fine, but the stable version is too old, so grab the Debian stable version of the latest release from [http://mlton.org/Download the MLton download page]. To use DomTool from an interactive SML REPL session, you will need a recent version of [http://www.smlnj.org/ Standard ML of New Jersey]. The SML/NJ packages in non-experimental Debian are so old that I don't bother using them, opting to install SML/NJ manually following the directions on the SML/NJ web site. Chances are you can get by just fine without support for interactive REPL use and can skip installing SML/NJ if you don't want it for some other purpose. Why am I referencing two different compilers here? Well, developing with SML/NJ and building release binaries with MLton is standard practice in the SML world. SML/NJ supports separate compilation and interactive use, which are very helpful during development. MLton is a whole-program optimizing compiler that produces extremely efficient binaries, at the cost of much greater compile-time time and memory usage than SML/NJ. == Libraries == You will need the OpenSSL C library with development files, available in Debian package "libssl-dev". == Utilities == If you plan to run a server (dispatcher or slave), you'll need rsync, which is available in Debian package "rsync". = Getting the source code = You can obtain the approximately-latest version of the DomTool source code from [http://sourceforge.net/cvs/?group_id=99567 SourceForge anonymous CVS]. The module name is `portal`. I write "approximately" because it can take about a day for the latest changes to propagate from developer CVS to anonymous CVS. I'll duplicate the directions from that Source``Forge help page and tell you that you can check out this module by running: {{{cvs -d:pserver:anonymous@hcoop.cvs.sourceforge.net:/cvsroot/hcoop login cvs -z3 -d:pserver:anonymous@hcoop.cvs.sourceforge.net:/cvsroot/hcoop co -P portal}}} Just press enter when prompted for a password. If you have been granted write permission to the repository and plan to commit code changes, then you'll want to check the repo out from developer CVS, like so: {{{export CVS_RSH=ssh cvs -z3 -d:ext:developername@hcoop.cvs.sourceforge.net:/cvsroot/hcoop co -P portal}}} = Building the standalone tools = First, change to the `portal` directory that you have checked out and run{{{ # something for adamc to fill out}}} == Reinstalling the standalone tools == If you want to reinstall the portal on machines that are running it already, then it is best to use a slightly modified set of instructions. = Building for SML/NJ = After following the same procedure as above for `config.sml`, run{{{ make smlnj}}} followed by{{{ make install}}} as root. Now you should be able to run `sml` in the base `domtool2` directory and run `CM.make "src/domtool.cm";`. If you don't see any error messages, then the DomTool modules are loaded and you can start poking them. For instance, running `open Main;` should print information on the primary entry-points.