Distfiles
Ampify makes use of a number of different open source libraries and platforms. Unfortunately, given the use of bleeding edge versions, it's not reasonable to expect users to have the required versions already installed on their systems.
To resolve this issue, the redpill build mechanism is provided to download and compile the various dependencies on demand. This document describes the manner in which the various package distfiles (source tarballs) are generated.
The packages will generally be stripped of things like documentation and examples in order to minimise the bandwidth requirement. And in some cases, the packaged distfiles will have various patches to support functionality that we desire.
bsdiff
The distfile is generated from the bsdiff 4.3 version and has the bspatch.c file patched with the following line:
#include <sys/types.h>The Makefile is also patched to skip the installation — including that of the man pages which have been removed.
bzip2
The distfile is generated from the bzip2 1.0.5 version and has the Makefile patched to:
- Make symlinks appropriately.
- Use the 1.0.5 version number instead of 1.0.4.
- Generate a shared .dylib file on OS X.
cacerts
The distfile consists of the ca.cert file which is generated from Mozilla's Root Certificates file using Adam Langley's extract-nss-root-certs utility.
go
The distfile is generated from the Go repository on Google Code which is checked out with the command:
$ hg clone https://code.google.com/p/go/The following files and directories are then stripped:
.hg/ .hgignore .hgtags doc testThe src/cmd/dist/build.c file is then patched to comment out the line:
// xremove(bpathf(&b, "%s/VERSION.cache", goroot));And, finally, the output of dist version is saved to a VERSION.cache file in the root directory before the distfile is tarballed.
ucd
The distfile is generated from the public Unicode Character Database files.




