packages.nix
(e.g. fooFront
)
releases.nix
(e.g. fooFrontUnstable
), referring to fooFront in packages.nix
jobs.nix
(e.g. fooFrontTrunk
), referring to fooFront in packages.nix
See the other package descriptions for examples. Important are:
"foo-front"
)
"fooFront"
)
[aterm sdf2Bundle strategoxt]
)
release-info.xml
.
requires
)
[pkgs.pkgconfig]
)
systemSupported
(e.g. systemSupport pkgs commonSystemsSupported
)
Make sure that the file is syntactically correct before committing: packages.nix
is imported by the jobs configuration. If there is a syntactic problem in packages.nix
, then the entire buildfarm will go down. You can use nix-instantiate to check the syntax of packages.nix
, or (better) you can evaluate the entire jobs.nix
file (see Jobs).
Just copy one of the examples.
This file is somewhat documented. Adding a job without strange dependencies should be fairly easy.
Make sure to check if the job you added is syntactically correct, otherwise the entire buildfarm will go down. For that, instantiate the main jobs.nix file (which is one level up from the strategoxt directory).
$ pwd /home/martin/wc/supervisor/strategoxt $ /nix/bin/nix-instantiate ../jobs.nix --eval-only --strict --xml
You can also test your job. First you have check out a couple of directories:
$ svn co https://svn.nixos.org/repos/nix/release/trunk release $ svn co https://svn.nixos.org/repos/nix/configurations/trunk/tud/buildfarm
After this, you must update the file release/jobs/strategoxt/test/generate-test.sh
and make it point to the release
directory you checked out. After this, you're ready to start building:
$ cd release/jobs/strategoxt/test $ ./generate-test.sh fooFrontTrunk $ ./fetch-inputs.sh $ nix-build test.nix
where fooFrontTrunk
should be substitued with your favourite package.
If you don't want to use the system of packages.nix and dependencies on releases produced by the buildfarm, then you can take a look at the Nix jobs: