Compile: the GoboLinux compilation system (original) (raw)

Compile downloads source tarballs, unpacks, compiles and installs them, with a single command, using simple compilation scripts called "recipes". Compile was introduced in GoboLinux 011, but already features a considerable (and ever-growing) number of recipes, and is able to compile all kinds of software, including Glibc, GCC, KDE and the Linux kernel.

Some of Compile's distinctive features:

Using Compile

As a user, all you need to do is ask Compile to compile your software:

It will search for an available recipe (doing a case-insensitive search) and do all the work for you. As a potential contributor, you will find Recipes very easy to create. In fact, ease of maintenance was the #1 concern (given that we are still a niche distribution and have limited resources). A real example. This is how a Recipe file for a typical autoconf-based program looks like. Two lines, nothing more:

url=$ftpGnu/gtypist/gtypist-2.7.tar.bz2
recipe_type=configure

A more complex example: Zip uses only makefiles. Compile supports it just as well.

url=ftp.uu.net/pub/archiving/zip/src/zip23.tar.gz
recipe_type=makefile
dir=zip-2.3
makefile=unix/Makefile
build_target=generic_gcc
install_variables=(
"prefix=$target"
)

Documentation of the API is maintained in the wiki.

Contributing Recipes

To send your own recipes, simply run the ContributeRecipe command after a successful build! Your contributions are greatly appreciated by the GoboLinux community! (Be sure to put your name in your Compile.conf file so that MakeRecipe credits you as the author in the recipe!)