doc: Untabify so that the examples are correctly rendered.

[?]
Oct 12, 2011, 9:42 PM
NXO2ZIBUSCY5RSM6IFVU2PDHM3X66F3TH6PI6DSJGUQ3DTBJEWRAC

Dependencies

  • [2] 2LTNY56W doc: Add preliminary section about `release.nix'.
  • [3] LW755CJK doc: Write "Adding More Jobs".
  • [4] AVU7BQ7W doc: Fix typo in callout ID.
  • [5] EE53ECTS doc: Write "Building from the Command Line".
  • [6] PKE6I67S doc: Import the "Creating Projects" chapter by Visser & Dolstra.

Change contents

  • replacement in doc/manual/projects.xml at line 228
    [2.2764][2.2764:3230]()
    <listitem>it uses the GNU Build System, namely GNU Autoconf,
    and GNU Automake; for users, it means it can be installed
    using the <link
    xlink:href="http://www.gnu.org/prep/standards/html_node/Managing-Releases.html">usual
    <literal>./configure &amp;&amp; make install</literal>
    procedure</link>;
    </listitem>
    <listitem>it uses Gettext for internationalization;</listitem>
    <listitem>it has a Texinfo manual, which can be rendered as PDF
    with TeX.</listitem>
    [2.2764]
    [2.3230]
    <listitem>it uses the GNU Build System, namely GNU Autoconf,
    and GNU Automake; for users, it means it can be installed
    using the <link
    xlink:href="http://www.gnu.org/prep/standards/html_node/Managing-Releases.html">usual
    <literal>./configure &amp;&amp; make install</literal>
    procedure</link>;
    </listitem>
    <listitem>it uses Gettext for internationalization;</listitem>
    <listitem>it has a Texinfo manual, which can be rendered as PDF
    with TeX.</listitem>
  • replacement in doc/manual/projects.xml at line 247
    [2.3484][2.3484:4478]()
    <callout arearefs='ex-hello-co-nixpkgs'>
    <para>
    This specifies a function of one named arguments,
    <varname>nixpkgs</varname>. This function and those
    defined below is called by Hydra. Here the
    <varname>nixpkgs</varname> argument is meant to be a
    checkout of the <link
    xlink:href="http://nixos.org/nixpkgs/">Nixpkgs</link>
    software distribution.
    </para>
    <para>
    Hydra inspects the formal argument list of the function
    (here, the <varname>nixpkgs</varname> argument) and passes
    it the corresponding parameter specified as a build input
    on Hydra's web interface. In this case, the web interface
    should show a <varname>nixpkgs</varname> build input,
    which is a checkout of the Nixpkgs source code repository.
    </para>
    </callout>
    <callout arearefs='ex-hello-co-import-nixpkgs'>
    <para>
    This defines a variable <varname>pkgs</varname> holding
    the set of packages provided by Nixpkgs.
    </para>
    </callout>
    [2.3484]
    [2.4478]
    <callout arearefs='ex-hello-co-nixpkgs'>
    <para>
    This specifies a function of one named arguments,
    <varname>nixpkgs</varname>. This function and those
    defined below is called by Hydra. Here the
    <varname>nixpkgs</varname> argument is meant to be a
    checkout of the <link
    xlink:href="http://nixos.org/nixpkgs/">Nixpkgs</link>
    software distribution.
    </para>
    <para>
    Hydra inspects the formal argument list of the function
    (here, the <varname>nixpkgs</varname> argument) and passes
    it the corresponding parameter specified as a build input
    on Hydra's web interface. In this case, the web interface
    should show a <varname>nixpkgs</varname> build input,
    which is a checkout of the Nixpkgs source code repository.
    </para>
    </callout>
    <callout arearefs='ex-hello-co-import-nixpkgs'>
    <para>
    This defines a variable <varname>pkgs</varname> holding
    the set of packages provided by Nixpkgs.
    </para>
    </callout>
  • replacement in doc/manual/projects.xml at line 273
    [2.4479][2.4479:4660]()
    <callout arearefs='ex-hello-co-jobs'>
    <para>
    This defines a variable holding the two Hydra
    jobs–an <emphasis>attribute set</emphasis> in Nix.
    </para>
    </callout>
    [2.4479]
    [2.4660]
    <callout arearefs='ex-hello-co-jobs'>
    <para>
    This defines a variable holding the two Hydra
    jobs–an <emphasis>attribute set</emphasis> in Nix.
    </para>
    </callout>
  • replacement in doc/manual/projects.xml at line 280
    [2.4661][2.4661:5616]()
    <callout arearefs='ex-hello-co-tarball'>
    <para>
    This is the definition of the first job, named
    <varname>tarball</varname>. The purpose of this job is to
    produce a usable source code tarball.
    </para>
    </callout>
    <callout arearefs='ex-hello-co-tarball-args'>
    <para>
    The <varname>tarball</varname> takes an additional
    argument called <varname>helloSrc</varname>. Again, this
    argument is passed by Hydra and is meant to be a checkout
    of GNU Hello's source code repository.
    </para>
    </callout>
    <callout arearefs='ex-hello-co-source-tarball'>
    <para>
    The <varname>tarball</varname> job calls the
    <varname>sourceTarball</varname> function, which (roughly)
    runs <command>autoreconf &amp;&amp; ./configure &amp;&amp;
    make dist</command> on the checkout. The
    <varname>buildInputs</varname> attribute specifies
    additional software dependencies for the job.
    </para>
    </callout>
    [2.4661]
    [2.5616]
    <callout arearefs='ex-hello-co-tarball'>
    <para>
    This is the definition of the first job, named
    <varname>tarball</varname>. The purpose of this job is to
    produce a usable source code tarball.
    </para>
    </callout>
    <callout arearefs='ex-hello-co-tarball-args'>
    <para>
    The <varname>tarball</varname> takes an additional
    argument called <varname>helloSrc</varname>. Again, this
    argument is passed by Hydra and is meant to be a checkout
    of GNU Hello's source code repository.
    </para>
    </callout>
    <callout arearefs='ex-hello-co-source-tarball'>
    <para>
    The <varname>tarball</varname> job calls the
    <varname>sourceTarball</varname> function, which (roughly)
    runs <command>autoreconf &amp;&amp; ./configure &amp;&amp;
    make dist</command> on the checkout. The
    <varname>buildInputs</varname> attribute specifies
    additional software dependencies for the job.
    </para>
    </callout>
  • replacement in doc/manual/projects.xml at line 306
    [2.5617][2.5617:7128]()
    <callout arearefs='ex-hello-co-build'>
    <para>
    This is the definition of the <varname>build</varname>
    job, whose purpose is to build Hello from the tarball
    produced above.
    </para>
    </callout>
    <callout arearefs='ex-hello-co-build-args'>
    <para>
    The <varname>build</varname> function takes two additional
    parameter: <varname>tarball</varname>, which is meant to
    be the result of the <varname>tarball</varname> job, and
    <varname>system</varname>, which should be a string
    defining the Nix system type–e.g.,
    <literal>"x86_64-linux"</literal>.
    </para>
    <para>
    Again, these parameters are passed by Hydra when it calls
    <varname>build</varname>. Thus, they must be defined as
    build inputs in Hydra: <varname>tarball</varname> should
    have type <literal>Build Output</literal>, its value being
    the latest output of the <varname>tarball</varname> job,
    and <varname>system</varname> should be a string.
    </para>
    <para>
    The question mark after <literal>tarball</literal> and
    <literal>system</literal> defines default values for these
    arguments, and is only useful for debugging.
    </para>
    </callout>
    <callout arearefs='ex-hello-co-nix-build'>
    <para>
    The <varname>build</varname> job calls the
    <varname>nixBuild</varname> function, which unpacks the
    tarball, then runs <command>./configure &amp;&amp; make
    &amp;&amp; make check &amp;&amp; make install</command>.
    </para>
    </callout>
    [2.5617]
    [2.7128]
    <callout arearefs='ex-hello-co-build'>
    <para>
    This is the definition of the <varname>build</varname>
    job, whose purpose is to build Hello from the tarball
    produced above.
    </para>
    </callout>
    <callout arearefs='ex-hello-co-build-args'>
    <para>
    The <varname>build</varname> function takes two additional
    parameter: <varname>tarball</varname>, which is meant to
    be the result of the <varname>tarball</varname> job, and
    <varname>system</varname>, which should be a string
    defining the Nix system type–e.g.,
    <literal>"x86_64-linux"</literal>.
    </para>
    <para>
    Again, these parameters are passed by Hydra when it calls
    <varname>build</varname>. Thus, they must be defined as
    build inputs in Hydra: <varname>tarball</varname> should
    have type <literal>Build Output</literal>, its value being
    the latest output of the <varname>tarball</varname> job,
    and <varname>system</varname> should be a string.
    </para>
    <para>
    The question mark after <literal>tarball</literal> and
    <literal>system</literal> defines default values for these
    arguments, and is only useful for debugging.
    </para>
    </callout>
    <callout arearefs='ex-hello-co-nix-build'>
    <para>
    The <varname>build</varname> job calls the
    <varname>nixBuild</varname> function, which unpacks the
    tarball, then runs <command>./configure &amp;&amp; make
    &amp;&amp; make check &amp;&amp; make install</command>.
    </para>
    </callout>
  • replacement in doc/manual/projects.xml at line 345
    [2.7129][2.7129:7282]()
    <callout arearefs='ex-hello-co-body'>
    <para>
    Finally, the set of jobs is returned to Hydra, as a Nix
    attribute set.
    </para>
    </callout>
    [2.7129]
    [2.7282]
    <callout arearefs='ex-hello-co-body'>
    <para>
    Finally, the set of jobs is returned to Hydra, as a Nix
    attribute set.
    </para>
    </callout>
  • replacement in doc/manual/projects.xml at line 371
    [4.507][4.507:543]()
    $ nix-build release.nix -A tarball
    [4.507]
    [4.543]
    $ nix-build release.nix -A tarball
  • replacement in doc/manual/projects.xml at line 378
    [4.687][4.687:780]()
    error: cannot auto-call a function that has an argument without a default value (`nixpkgs')
    [4.687]
    [4.780]
    error: cannot auto-call a function that has an argument without a default value (`nixpkgs')
  • replacement in doc/manual/projects.xml at line 403
    [4.1756][4.1756:1801]()
    $ nix-build -I ~/src release.nix -A tarball
    [4.1756]
    [4.1801]
    $ nix-build -I ~/src release.nix -A tarball
  • replacement in doc/manual/projects.xml at line 409
    [4.1905][4.1905:1948]()
    $ nix-build -I ~/src release.nix -A build
    [4.1905]
    [4.1948]
    $ nix-build -I ~/src release.nix -A build
  • replacement in doc/manual/projects.xml at line 486
    [3.2591][3.2591:2696]()
    preConfigure = "gcc --version";
    configureFlags =
    attrs.configureFlags ++ [ "--disable-nls" ];
    [3.2591]
    [3.2696]
    preConfigure = "gcc --version";
    configureFlags =
    attrs.configureFlags ++ [ "--disable-nls" ];
  • edit in doc/manual/projects.xml at line 509
    [4.5264]
    <!--
    Local Variables:
    indent-tabs-mode: nil
    ispell-local-dictionary: "american"
    End:
    -->