From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Guix, Hydra & Nix Date: Fri, 28 Mar 2014 22:26:36 +0100 Message-ID: <8738i2m2ur.fsf@gnu.org> References: <5335768A.3080702@totakura.in> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54395) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WTeIZ-0006pR-Sb for guix-devel@gnu.org; Fri, 28 Mar 2014 17:26:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WTeIR-0002Km-GA for guix-devel@gnu.org; Fri, 28 Mar 2014 17:26:47 -0400 Received: from hera.aquilenet.fr ([2a01:474::1]:51530) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WTeIR-0002KU-AB for guix-devel@gnu.org; Fri, 28 Mar 2014 17:26:39 -0400 In-Reply-To: <5335768A.3080702@totakura.in> (Sree Harsha Totakura's message of "Fri, 28 Mar 2014 14:18:02 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Sree Harsha Totakura Cc: guix-devel Sree Harsha Totakura skribis: > From the sources, I found that build-aux/hydra/*.scm convert packages int= o a > format hydra understands for building them. Yes. Specifically, build-aux/hydra/*.scm return a list of =E2=80=9Cjobs=E2= =80=9D, where each job is represented as an alist with a number of compulsory items, such as =E2=80=98derivation=E2=80=99 (see =E2=80=98package->alist=E2=80=99.) The result of those scripts is then consumed by Hydra=E2=80=99s hydra-eval-guile-jobs: https://github.com/NixOS/hydra/blob/master/src/script/hydra-eval-guile-jo= bs.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 a= s well. > I'm guessing Hydra uses nix-store command to build and retrieve store pat= hs for > packages given to it. Is it true? Yes. =E2=80=98nix-store=E2=80=99 is essentially a client of {guix,nix}-dae= mon, just like =E2=80=98guix build=E2=80=99. Hydra passes =E2=80=98nix-store=E2=80= =99 a .drv file name, a low-level representation of the build process; =E2=80=98nix-store=E2=80=99 = doesn=E2=80=99t have to care whether it was produced by Guix or Nix, and can=E2=80=99t tell the difference. (Similarly, =E2=80=98guix build=E2=80=99 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/Sa= 0bezZc. > Any hints? (Please copy logs inline.) I ignored the Docbook issue, and used a tarball from to work around the Bison issue. HTH! Ludo=E2=80=99.