aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/manual/release-notes.xml22
-rw-r--r--doc/manual/writing-nix-expressions.xml162
2 files changed, 22 insertions, 162 deletions
diff --git a/doc/manual/release-notes.xml b/doc/manual/release-notes.xml
index 3559b1247..112ffabd7 100644
--- a/doc/manual/release-notes.xml
+++ b/doc/manual/release-notes.xml
@@ -14,6 +14,9 @@
<listitem><para>TODO: Berkeley DB no longer needed.</para></listitem>
+ <listitem><para>New substituter to copy from remotely mounted Nix
+ stores (TODO: document).</para></listitem>
+
<listitem><para><command>nix-store --dump-db / --load-db</command>.</para></listitem>
<listitem><para>New primops:
@@ -25,6 +28,25 @@
<varname>builtins.genericClosure</varname>.
</para></listitem>
+ <listitem><para>GC options: <option>--max-freed</option>,
+ <option>--max-links</option>.</para></listitem>
+
+ <listitem><para>TODO: Optimistic profile locking.</para></listitem>
+
+ <listitem><para>The option <option>--dry-run</option> is now
+ supported by <command>nix-store -r</command> and
+ <command>nix-build</command>.</para></listitem>
+
+ <listitem><para>The information previously shown by
+ <option>--dry-run</option> (i.e., which derivations will be built
+ and which paths will be substituted) is now always shown by
+ <command>nix-env</command>, <command>nix-store -r</command> and
+ <command>nix-build</command>. The total download size of
+ substitutable paths is now also shown.</para></listitem>
+
+ <listitem><para><command>nix-prefetch-url</command> now supports
+ <literal>mirror://</literal> URLs.</para></listitem>
+
</itemizedlist>
</section>
diff --git a/doc/manual/writing-nix-expressions.xml b/doc/manual/writing-nix-expressions.xml
index 60e8a2f34..53b5f06a8 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>