To use sam, apart from a working rock, you need git.
Also, you have to create a special directory that is writable for you, which will
later contain all ooc packages cloned from their git repositories. This directory
is called the ooc library path – you also have to specify its location in the special
OOC_LIBS environment variable. On most unixes, you can do that like this:
mkdir ~/development/ooc export OOC_LIBS=~/development/ooc
As a first step, you can use git to clone sam itself. You should clone sam into a subdirectory of the newly created directory. Since sam does not have any dependencies apart from rock, you can just go ahead and compile it from the usefile:
cd $OOC_LIBS git clone https://github.com/ooc-lang/sam.git cd sam/ rock -v sam.use
This should produce a
sam executable. Just add it to the path:
You should now be able to invoke sam just by typing
When invoked without arguments, sam displays its version and a short usage guide.
sam has a very simple update mechanism for both itself and its grimoire.
sam will attempt to find its repository, pull it, and recompile itself.
Should anything go wrong and you end up with a broken build of sam, you
can always go into the directory yourself, clean with
rock -x, switch
to whichever commit last worked for you and run
rock -v sam.use again.
Since formulas (ooc libraries you can install with sam) are just YAML files
in a folder of sam’s repo, pulling the repo from git updates all formula
definitions at the same time. However, it doesn’t fetch them until
is ran in a project that depends on them.