You are looking at historical revision 44142 of this page. It may differ significantly from its current revision.
How to obtain the source code of eggs
There are multiple ways to obtain the source of eggs. This document shows the most common possibilities.
Individual eggs
Using chicken-install
chicken-install provides the -retrieve (short: -r) option to retrieve the source code of eggs given as argument. Use the -test option to obtain the source code of the test suite of eggs too, if available.
Example:
$ chicken-install -r -test spiffy
The same invocation works for chicken-install from both CHICKEN 4 and CHICKEN 5.
Using any HTTP client
Eggs are also available as tarballs that can be downloaded with any HTTP[S] client from code.call-cc.org/egg-tarballs/.
Egg tarballs are generated by egg-tarballs.
Fetching the original egg source
If you want to get the source code of an egg from its original source repository, you can find most of them here:
All eggs
Using git
The source code of all available eggs is available via git. At the moment we provide four git repositories which contain source code of eggs:
- eggs-5-latest
- only the latest version of all eggs for CHICKEN 5
- eggs-5-all
- all versions of all eggs for CHICKEN 5
- eggs-4-latest
- only the latest version of all eggs for CHICKEN 4
- eggs-4-all
- all versions of all eggs for CHICKEN 4
To clone these repositories, use your favorite git client and git://code.call-cc.org/<repo> as URL. <repo> is one of the repositories listed above. Example:
$ git clone git://code.call-cc.org/eggs-5-latest
Note that the history of those git repositories does not reflect the development history of eggs. They are just a representation of the cache of the egg servers as git repositories. You can see the history of releases, but not the history of development.
Using henrietta-cache
henrietta-cache is the software used to build up egg caches in the egg servers. henrietta-cache periodically scans the source repositories of all eggs and incrementally updates the caches in egg servers. It uses as input the index of eggs for a given CHICKEN major version. The egg indexes, called egg-locations files, are available in the CHICKEN central Subversion server.
You can otain a copy of the egg-location files here:
To use henrietta-cache to fetch eggs you can run it like:
$ henrietta-cache -r 5 -c chicken-5-eggs -e egg-locations
Where 5 is the CHICKEN major release, chicken-5-eggs is the directory where the source code of eggs is going to be downloaded to and egg-locations is the egg-locations file.
Note that for some eggs, those available via HTTPS, you might need to install the openssl egg additionally to henrieta-cache, as it is an optional dependency.
You also need some external programs to extract the archives obtained by henrietta-cache. See its documentation for more information.