diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2008-08-05T11·03+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2008-08-05T11·03+0000 |
commit | 72f3ea7358f2c85ced46da3b958505951657f9d4 (patch) | |
tree | 333a90c82ba18f6192d991b9ba985b442c453555 /doc/manual/writing-nix-expressions.xml | |
parent | 98b07466fbb9fc736bba0b93731117fd650e7349 (diff) |
* Moved some stuff to the Nixpkgs manual.
* Updated the release notes.
Diffstat (limited to 'doc/manual/writing-nix-expressions.xml')
-rw-r--r-- | doc/manual/writing-nix-expressions.xml | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/doc/manual/writing-nix-expressions.xml b/doc/manual/writing-nix-expressions.xml index 60e8a2f34cf7..53b5f06a8ad8 100644 --- a/doc/manual/writing-nix-expressions.xml +++ b/doc/manual/writing-nix-expressions.xml @@ -1644,59 +1644,6 @@ impureEnvVars = ["http_proxy" "https_proxy" <replaceable>...</replaceable>]; <section xml:id='sec-standard-environment'><title>The standard environment</title> -<para>The standard build environment in the Nix Packages collection -provides a basic environment for building Unix packages. It consists -of the following packages: - -<itemizedlist> - - <listitem><para>The GNU C Compiler, configured with C and C++ - support. On Linux, the compiler has been patched to provide greater - <quote>purity</quote> assurance. For instance, the compiler doesn't - search in locations such as <filename>/usr/include</filename>. In - fact, attempts to add such directories through the - <option>-I</option> flag are filtered out. Likewise, the linker - (from GNU binutils) doesn't search in standard locations such as - <filename>/usr/lib</filename>. Programs built on Linux are linked - against a GNU C Library that likewise doesn't search in the default - system locations.</para></listitem> - - <listitem><para>GNU coreutils (contains a few dozen standard Unix - commands).</para></listitem> - - <listitem><para>GNU findutils (contains - <command>find</command>).</para></listitem> - - <listitem><para>GNU diffutils (contains <command>diff</command>, - <command>cmp</command>).</para></listitem> - - <listitem><para>GNU <command>sed</command>.</para></listitem> - - <listitem><para>GNU <command>grep</command>.</para></listitem> - - <listitem><para>GNU <command>awk</command>.</para></listitem> - - <listitem><para>GNU <command>tar</command>.</para></listitem> - - <listitem><para><command>gzip</command> and - <command>bzip2</command>.</para></listitem> - - <listitem><para>GNU Make. It has been patched to provide - <quote>nested</quote> output that can be fed into the - <command>nix-log2xml</command> command and - <command>log2html</command> stylesheet to create a structured, - readable output of the build steps performed by - Make.</para></listitem> - - <listitem><para>Bash. This is the shell used for all builders in - the Nix Packages collection. Not using <command>/bin/sh</command> - removes a large source of portability problems.</para></listitem> - - <listitem><para>Patch.</para></listitem> - -</itemizedlist> - -</para> <para>The standard environment is used by passing it as an input called <envar>stdenv</envar> to the derivation, and then doing @@ -1765,115 +1712,6 @@ myPostInstall() { </para> -<para>The generic builder has a number of <emphasis>phases</emphasis>, -each of which can be override in its entirety by setting the indicated -variable. The phases are: - -<itemizedlist> - - <listitem> - - <para><function>unpackPhase</function> unpacks the source files - listed in the <envar>src</envar> environment variable to the - current directory. It supports <filename>tar</filename> files, - optionally compressed with <command>gzip</command> or - <command>bzip2</command>; Zip files (but note that the - <command>unzip</command> command is not a part of the standard - environment; you should add it as a build input yourself); and - unpacked source trees (i.e., directories; they are copied - verbatim). You can add support for other file types by setting - the <varname>findUnpacker</varname> hook. This hook should set - the variable <varname>unpackCmd</varname> to contain the command - to be executed to unpack the file.</para> - - <para>After unpacking all source files, - <function>unpackPhase</function> changes the current directory to - the directory created by unpacking the sources. If there are - multiple source directories, you should set - <varname>sourceRoot</varname> to the name of the intended - directory.</para> - - <para>It also calls the hook <varname>postUnpack</varname> after - unpacking.</para> - - </listitem> - - <listitem><para><function>patchPhase</function> calls the - <command>patch</command> command with the <option>-p1</option> - option for each patch file listed in the <envar>patches</envar> - variable.</para></listitem> - - <listitem> - - <para><function>configurePhase</function> runs the script called - <filename>configure</filename> in the current directory with a - <option>--prefix</option> set to the output path. You can add - additional flags through the <varname>configureFlags</varname> - variable. If <filename>configure</filename> does not exist, - nothing happens.</para> - - <para>Before and after running <filename>configure</filename>, the - hooks <varname>preConfigure</varname> and - <varname>postConfigure</varname> are called, respectively.</para> - - </listitem> - - <listitem> - - <para><function>buildPhase</function> calls - <command>make</command>. You can set flags for - <command>make</command> through the <varname>makeFlags</varname> - variable.</para> - - <para>Before and after running <command>make</command>, the hooks - <varname>preBuild</varname> and <varname>postBuild</varname> are - called, respectively.</para> - - </listitem> - - <listitem><para><function>checkPhase</function> calls <command>make - check</command>, but only if the <varname>doCheck</varname> variable - is set to <literal>1</literal>. Additional flags can be set through - the <varname>checkFlags</varname> variable.</para></listitem> - - <listitem> - - <para><function>installPhase</function> calls <command>make - install</command>. Additional flags can be set through the - <varname>installFlags</varname> variable. It also strips any - static libraries in the output path of debug information unless - <varname>dontStrip</varname> is set to - <literal>1</literal>.</para> - - <para>Before and after running <command>make install</command>, - the hooks <varname>preInstall</varname> and - <varname>postInstall</varname> are called, respectively.</para> - - </listitem> - - <listitem> - - <para><function>distPhase</function> calls <command>make - dist</command>, but only if the <varname>doDist</varname> variable - is set to <literal>1</literal>. Additional flags can be set - through the <varname>distFlags</varname> variable. The resulting - tarball is copied to the <filename>/tarballs</filename> - subdirectory of the output path.</para> - - <para>Before and after running <command>make dist</command>, the - hooks <varname>preDist</varname> and <varname>postDist</varname> - are called, respectively.</para> - - </listitem> - -</itemizedlist> - -</para> - -<para>You can change the order in which phases are executed, or add -new phases, by setting the <varname>phases</varname> variable. The -default is <literal>patchPhase configurePhase buildPhase checkPhase -installPhase distPhase</literal>.</para> </section> |