I
have taken the liberty to make an initial start _expression_ which is
available here:
https://svn.nixos.org/repos/nix/hydra-config/gnu/trunk/emacs/release.nix . Note that this might not be the easiest _expression_ to grasp for a newcomer to nix, I advise you to read the nix manual to get the basics covered.
I have used a function gnu-job.nix that abstract over the structure of the jobset for GNU builds. A GNU jobset typically consists of a few jobs:
The 'tarball' job, which gets the source tree as input, and is usually just a 'make dist' after some autoconf/-make or bootstrap script
The 'build' job, which gets the result of the tarball job as input, together with system identifier, this job basically does a normal make, make check, make install.
The 'coverage' job, which is like the build job, only difference is that it generates a code coverage report with gcov.
It can also have a cross-build job for Hurd however I have not enabled this.
Note that I am talking about 'inputs'. The inputs are the arguments of the functions that describe a jobset. The inputs (or arguments) for the jobset are not declared in these _expression_, we define them in the web interface of Hydra. E.g. the _expression_ does not really 'know' where to get the source code from (bazaar in this case).
The result of this _expression_ can be seen at:
http://hydra.nixos.org/jobset/gnu/emacs-trunkThe darwin builds fail atm, maybe you know more of this? And the coverage build doesn't seem to produce a lot of information, do you ever run code coverage reports, and if so how?