You can build monotone from source yourself on a number of platforms, and several pages in the wiki describe the process in some detail for various platforms. Monotone itself is pretty easy to compile, most of the detail on these pages deals with getting the various dependencies (like boost) installed first. You might like to try using pkgsrc to take care of all of these steps for you.
About pkgsrc
The pkgsrc framework supports building third-party application software packages on a large number of platforms. It is the default package management system for NetBSD and DragonFlyBSD, and supports many other platforms as well, including Linux, Solaris, Irix and other Unix variants, and Interix (Microsoft Windows Services for Unix).
If you're having trouble getting monotone for your particular system, either from the binaries provided by the monotone project, or from your platform's default packaging system if it has one, pkgsrc may well help. It might help with a lot of other tools as well!
By default, pkgsrc sources are installed in /usr/pkgsrc
and all tools and packages in /usr/pkg
(of course these can be changed), so they don't interfere with other files and packages on your base system. This can be valuable even if your platform's packaging system does include a monotone package, but because of other operational reasons you need to maintain the system with older libraries and dependencies than monotone needs. By using pkgsrc, you can maintain parallel sets of dependencies for each purpose.
Pre-built binary packages for a selection of platforms are maintained by volunteers, and these can save you some compile time if one happens to be available for you, but otherwise pkgsrc will fetch and build the package and all its dependencies from source for you.
Bootstrapping pkgsrc
If you're running on ?NetBSD or ?DragonFlyBSD, your system already comes with the base pkgsrc infrastructure (and you're probably already familiar with using it).
On other systems, pkgsrc needs to be bootstrapped. This process creates the tools used by the pkgsrc infrastructure to build and manage installed packages on your system. Unless you're already on a system very similar to ?NetBSD, one of these tools is likely to be the ?NetBSD make, which will be installed as bmake
to keep it distinct from whatever make variant your platform has by default. On most platforms, you need to use bmake
when working with pkgsrc Makefiles and packages.
Bootstrapping pkgsrc on other platforms is described in detail in the pkgsrc guide. Bootstrapping can be done from source from within a pkgsrc source tree, or using a prebuilt binary kit.
After bootstrapping, there are some basic configuration steps to do (though mostly the defaults will be fine), and then you can use pkgsrc to build and install thousands of useful third-party applications and tools.
Building monotone
Once you have pkgsrc set up, installing the monotone pkg and its dependencies is easy:
# cd /usr/pkgsrc/devel/monotone
# bmake install
There are also packages for many other InterfacesFrontendsAndTools that work with monotone.
NetBSD is known for its broad portability, and strives for the same principle in pkgsrc. However, not all packages build on all platforms (though a surprising and ever-increasing number do), almost always because of underlying portability problems in the third-party software packages and dependencies themselves. Regular bulk builds of all packages are done on a number of platforms to catch such problems, but you may be unlucky. If you find a platform where the monotone package doesn't build, please submit a bug report in the pkg category.
using pkg_chk
Rather than adding and updating packages individually, the pkg_chk utility can be used to remember which packages you want installed and keep them up to date.