unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Sree Harsha Totakura <sreeharsha@totakura.in>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Guix, Hydra & Nix
Date: Fri, 28 Mar 2014 22:26:36 +0100	[thread overview]
Message-ID: <8738i2m2ur.fsf@gnu.org> (raw)
In-Reply-To: <5335768A.3080702@totakura.in> (Sree Harsha Totakura's message of "Fri, 28 Mar 2014 14:18:02 +0100")

Sree Harsha Totakura <sreeharsha@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’.

  reply	other threads:[~2014-03-28 21:26 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-28 13:18 Guix, Hydra & Nix Sree Harsha Totakura
2014-03-28 21:26 ` Ludovic Courtès [this message]
2014-03-31  8:36   ` Sree Harsha Totakura
2014-03-31 11:58     ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8738i2m2ur.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=sreeharsha@totakura.in \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).