Sree Harsha Totakura <sreehar...@totakura.in> skribis: > From the sources, I found that build-aux/hydra/*.scm convert packages into a > format hydra understands for building them.
Yes. Specifically, build-aux/hydra/*.scm return a list of “jobs”, where each job is represented as an alist with a number of compulsory items, such as ‘derivation’ (see ‘package->alist’.) The result of those scripts is then consumed by Hydra’s hydra-eval-guile-jobs: https://github.com/NixOS/hydra/blob/master/src/script/hydra-eval-guile-jobs.in hydra-eval-guile-jobs is itself called by hydra-evaluator, from here: https://github.com/NixOS/hydra/blob/master/src/lib/Hydra/Helper/AddBuilds.pm > Hydra refuses to install without nix-store. So Nix has to be installed as > well. > I'm guessing Hydra uses nix-store command to build and retrieve store paths > for > packages given to it. Is it true? Yes. ‘nix-store’ is essentially a client of {guix,nix}-daemon, just like ‘guix build’. Hydra passes ‘nix-store’ a .drv file name, a low-level representation of the build process; ‘nix-store’ doesn’t have to care whether it was produced by Guix or Nix, and can’t tell the difference. (Similarly, ‘guix build’ can be passed a .drv produced by Nix.) > If so, how can hydra nix-store compile Guix packages? Just like this. :-) > Also, does Hydra serve the narinfo files automatically for packages which are > built through it? Or does it serve those files for all packages present in > the > store, even the ones present in store before Hydra was installed? The latter, it serves everything; see: https://github.com/NixOS/hydra/blob/master/src/lib/Hydra/View/NARInfo.pm > The current git master of Hydra requires current git master of Nix. But, it > FTBS for me. See http://pastebin.com/3bdCUrJw and > http://pastebin.com/Sa0bezZc. > Any hints? (Please copy logs inline.) I ignored the Docbook issue, and used a tarball from <http://hydra.nixos.org/job/nix/trunk/tarball/latest> to work around the Bison issue. HTH! Ludo’.