forked from lix-project/hydra
Fix indentation
This commit is contained in:
parent
770bc15848
commit
4ad8912aa3
|
@ -14,13 +14,13 @@
|
||||||
To install and use Hydra you need to have installed the following dependencies:
|
To install and use Hydra you need to have installed the following dependencies:
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>Nix</listitem>
|
<listitem><para>Nix</para></listitem>
|
||||||
<listitem>either PostgreSQL or SQLite</listitem>
|
<listitem><para>either PostgreSQL or SQLite</para></listitem>
|
||||||
<listitem>many Perl packages, notably Catalyst, EmailSender,
|
<listitem><para>many Perl packages, notably Catalyst, EmailSender,
|
||||||
and NixPerl (see the <link
|
and NixPerl (see the <link
|
||||||
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/development/tools/misc/hydra/default.nix">Hydra
|
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/development/tools/misc/hydra/default.nix">Hydra
|
||||||
expression in Nixpkgs</link> for the complete
|
expression in Nixpkgs</link> for the complete
|
||||||
list).</listitem>
|
list)</para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
At the moment, Hydra runs only on GNU/Linux
|
At the moment, Hydra runs only on GNU/Linux
|
||||||
|
@ -46,13 +46,13 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Of course we think it is a good idea to use the <a
|
Of course we think it is a good idea to use the <link
|
||||||
href="http://nixos.org/nixos">NixOS</a> GNU/Linux distribution
|
xlink:href="http://nixos.org/nixos">NixOS</link> GNU/Linux
|
||||||
for your buildfarm server. But this is not a requirement. The
|
distribution for your buildfarm server. But this is not a
|
||||||
Nix software deployment system can be installed on any GNU/Linux
|
requirement. The Nix software deployment system can be
|
||||||
distribution in parallel to the regular package management
|
installed on any GNU/Linux distribution in parallel to the
|
||||||
system. Thus, you can use Hydra on a Debian, Fedora, SuSE, or
|
regular package management system. Thus, you can use Hydra on a
|
||||||
Ubuntu system.
|
Debian, Fedora, SuSE, or Ubuntu system.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -30,9 +30,9 @@
|
||||||
|
|
||||||
Here's what we fill in for the patchelf project:
|
Here's what we fill in for the patchelf project:
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
Identifier: patchelf
|
Identifier: patchelf
|
||||||
</screen>
|
</screen>
|
||||||
|
|
||||||
The <emphasis>identifier</emphasis> is the identity of the
|
The <emphasis>identifier</emphasis> is the identity of the
|
||||||
project. It is used in URLs and in the names of build results.
|
project. It is used in URLs and in the names of build results.
|
||||||
|
@ -54,27 +54,27 @@ DBIx::Class::ResultSet::create(): DBI Exception: DBD::SQLite::st execute failed:
|
||||||
Job sets can be added once the project has been created.
|
Job sets can be added once the project has been created.
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
Display name: Patchelf
|
Display name: Patchelf
|
||||||
</screen>
|
</screen>
|
||||||
|
|
||||||
The <emphasis>display name</emphasis> is used in menus.
|
The <emphasis>display name</emphasis> is used in menus.
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
Description: A tool for modifying ELF binaries
|
Description: A tool for modifying ELF binaries
|
||||||
</screen>
|
</screen>
|
||||||
|
|
||||||
The <emphasis>description</emphasis> is used as short
|
The <emphasis>description</emphasis> is used as short
|
||||||
documentation of the nature of the project.
|
documentation of the nature of the project.
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
Owner: eelco
|
Owner: eelco
|
||||||
</screen>
|
</screen>
|
||||||
|
|
||||||
The <emphasis>owner</emphasis> of a project can create and edit
|
The <emphasis>owner</emphasis> of a project can create and edit
|
||||||
job sets.
|
job sets.
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
Enabled: Yes
|
Enabled: Yes
|
||||||
</screen>
|
</screen>
|
||||||
|
|
||||||
Only if the project is <emphasis>enabled</emphasis> are builds
|
Only if the project is <emphasis>enabled</emphasis> are builds
|
||||||
|
@ -102,9 +102,9 @@ DBIx::Class::ResultSet::create(): DBI Exception: DBD::SQLite::st execute failed:
|
||||||
the following "Information":
|
the following "Information":
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
Identifier: trunk
|
Identifier: trunk
|
||||||
Description: Trunk
|
Description: Trunk
|
||||||
Nix expression: release.nix in input patchelfSrc
|
Nix expression: release.nix in input patchelfSrc
|
||||||
</screen>
|
</screen>
|
||||||
|
|
||||||
This states that in order to build the <literal>trunk</literal>
|
This states that in order to build the <literal>trunk</literal>
|
||||||
|
@ -122,14 +122,14 @@ DBIx::Class::ResultSet::create(): DBI Exception: DBD::SQLite::st execute failed:
|
||||||
be added. For patchelf we declare the following inputs.
|
be added. For patchelf we declare the following inputs.
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
patchelfSrc
|
patchelfSrc
|
||||||
'Subversion checkout' https://svn.nixos.org/repos/nix/patchelf/trunk
|
'Subversion checkout' https://svn.nixos.org/repos/nix/patchelf/trunk
|
||||||
|
|
||||||
nixpkgs 'Subversion checkout' https://svn.nixos.org/repos/nix/nixpkgs/trunk
|
nixpkgs 'Subversion checkout' https://svn.nixos.org/repos/nix/nixpkgs/trunk
|
||||||
|
|
||||||
officialRelease Boolean false
|
officialRelease Boolean false
|
||||||
|
|
||||||
system String value "i686-linux"
|
system String value "i686-linux"
|
||||||
</screen>
|
</screen>
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
@ -207,7 +207,7 @@ let
|
||||||
|
|
||||||
let pkgs = import nixpkgs { inherit system; }; in
|
let pkgs = import nixpkgs { inherit system; }; in
|
||||||
pkgs.releaseTools.nixBuild { <co xml:id='ex-hello-co-nix-build' />
|
pkgs.releaseTools.nixBuild { <co xml:id='ex-hello-co-nix-build' />
|
||||||
name = "hello" ;
|
name = "hello";
|
||||||
src = tarball;
|
src = tarball;
|
||||||
configureFlags = [ "--disable-silent-rules" ];
|
configureFlags = [ "--disable-silent-rules" ];
|
||||||
};
|
};
|
||||||
|
@ -375,16 +375,16 @@ in
|
||||||
To evaluate the <varname>tarball</varname> jobset of <xref
|
To evaluate the <varname>tarball</varname> jobset of <xref
|
||||||
linkend='ex-hello' />, just run:
|
linkend='ex-hello' />, just run:
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
$ nix-build release.nix -A tarball
|
$ nix-build release.nix -A tarball
|
||||||
</screen>
|
</screen>
|
||||||
|
|
||||||
However, doing this with <xref linkend='ex-hello' /> as is will
|
However, doing this with <xref linkend='ex-hello' /> as is will
|
||||||
probably yield an error like this:
|
probably yield an error like this:
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
error: cannot auto-call a function that has an argument without a default value (`nixpkgs')
|
error: cannot auto-call a function that has an argument without a default value (`nixpkgs')
|
||||||
</screen>
|
</screen>
|
||||||
|
|
||||||
This is because no value was specified for the
|
This is because no value was specified for the
|
||||||
<varname>nixpkgs</varname> argument of the Nix expression.
|
<varname>nixpkgs</varname> argument of the Nix expression.
|
||||||
|
@ -407,15 +407,15 @@ in
|
||||||
<filename>$HOME/src/nixpkgs</filename>, the
|
<filename>$HOME/src/nixpkgs</filename>, the
|
||||||
<varname>tarball</varname> jobset can now be evaluated by running:
|
<varname>tarball</varname> jobset can now be evaluated by running:
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
$ nix-build -I ~/src release.nix -A tarball
|
$ nix-build -I ~/src release.nix -A tarball
|
||||||
</screen>
|
</screen>
|
||||||
|
|
||||||
Similarly, the <varname>build</varname> jobset can be evaluated:
|
Similarly, the <varname>build</varname> jobset can be evaluated:
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
$ nix-build -I ~/src release.nix -A build
|
$ nix-build -I ~/src release.nix -A build
|
||||||
</screen>
|
</screen>
|
||||||
|
|
||||||
The <varname>build</varname> job reuses the result of the
|
The <varname>build</varname> job reuses the result of the
|
||||||
<varname>tarball</varname> job, rebuilding it only if it needs to.
|
<varname>tarball</varname> job, rebuilding it only if it needs to.
|
||||||
|
@ -443,18 +443,19 @@ in
|
||||||
produces an HTML code coverage report directly readable from the
|
produces an HTML code coverage report directly readable from the
|
||||||
corresponding Hydra build page:
|
corresponding Hydra build page:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
coverage =
|
coverage =
|
||||||
{ tarball ? jobs.tarball {}
|
{ tarball ? jobs.tarball {}
|
||||||
, system ? builtins.currentSystem
|
, system ? builtins.currentSystem
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let pkgs = import nixpkgs { inherit system; }; in
|
let pkgs = import nixpkgs { inherit system; }; in
|
||||||
pkgs.releaseTools.coverageAnalysis {
|
pkgs.releaseTools.coverageAnalysis {
|
||||||
name = "hello" ;
|
name = "hello";
|
||||||
src = tarball;
|
src = tarball;
|
||||||
configureFlags = [ "--disable-silent-rules" ];
|
configureFlags = [ "--disable-silent-rules" ];
|
||||||
}; </programlisting>
|
};
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
As can be seen, the only difference compared to
|
As can be seen, the only difference compared to
|
||||||
<varname>build</varname> is the use of
|
<varname>build</varname> is the use of
|
||||||
|
@ -479,22 +480,23 @@ in
|
||||||
<emphasis>overrides</emphasis> the relevant arguments passed to
|
<emphasis>overrides</emphasis> the relevant arguments passed to
|
||||||
<varname>nixBuild</varname>:
|
<varname>nixBuild</varname>:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
build_exotic =
|
build_exotic =
|
||||||
{ tarball ? jobs.tarball {}
|
{ tarball ? jobs.tarball {}
|
||||||
, system ? builtins.currentSystem
|
, system ? builtins.currentSystem
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
build = jobs.build { inherit tarball system; };
|
build = jobs.build { inherit tarball system; };
|
||||||
in
|
in
|
||||||
pkgs.lib.overrideDerivation build (attrs: {
|
pkgs.lib.overrideDerivation build (attrs: {
|
||||||
buildInputs = [ pkgs.gcc33 ];
|
buildInputs = [ pkgs.gcc33 ];
|
||||||
preConfigure = "gcc --version";
|
preConfigure = "gcc --version";
|
||||||
configureFlags =
|
configureFlags =
|
||||||
attrs.configureFlags ++ [ "--disable-nls" ];
|
attrs.configureFlags ++ [ "--disable-nls" ];
|
||||||
}); </programlisting>
|
});
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
The <varname>build_exotic</varname> job reuses
|
The <varname>build_exotic</varname> job reuses
|
||||||
<varname>build</varname> and overrides some of its arguments: it
|
<varname>build</varname> and overrides some of its arguments: it
|
||||||
|
|
Loading…
Reference in a new issue