diff options
author | Gergely Risko <errge@nilcons.com> | 2014-08-27T14·46+0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-08-28T16·23+0200 |
commit | fd61069a42289da195532bf68d15dc695cca7236 (patch) | |
tree | c0bc88b587aa590d7cdd58146e63af663e1917cf /doc | |
parent | 3f0a4bf0e7254edddaa864d23893d98da23c2977 (diff) |
Introduce allowedRequisites feature
Diffstat (limited to 'doc')
-rw-r--r-- | doc/manual/release-notes.xml | 14 | ||||
-rw-r--r-- | doc/manual/writing-nix-expressions.xml | 19 |
2 files changed, 33 insertions, 0 deletions
diff --git a/doc/manual/release-notes.xml b/doc/manual/release-notes.xml index 426078b829de..36e345ecf273 100644 --- a/doc/manual/release-notes.xml +++ b/doc/manual/release-notes.xml @@ -11,6 +11,20 @@ <para>TODO</para> +<itemizedlist> + + <listitem><para>Derivations can specify the new special attribute + <varname>allowedRequisites</varname>, which has a similar meaning to + <varname>allowedReferences</varname>. But instead of only enforcing + to explicitly specify the immediate references, it requires the + derivation to specify all the dependencies recursively (hence the + name, requisites) that are used by the resulting output. This is + used in NixOS when rebuilding the stdenv on Linux to ensure that the + resulting stdenv doesn't have any surprising dependency, e.g. on + bootstrapTools.</para></listitem> + +</itemizedlist> + </section> diff --git a/doc/manual/writing-nix-expressions.xml b/doc/manual/writing-nix-expressions.xml index 0470625ff6d3..2c9b4a633271 100644 --- a/doc/manual/writing-nix-expressions.xml +++ b/doc/manual/writing-nix-expressions.xml @@ -1569,6 +1569,25 @@ allowedReferences = []; </varlistentry> + <varlistentry><term><varname>allowedRequisites</varname></term> + + <listitem><para>This attribute is similar to + <varname>allowedReferences</varname>, but it specifies the legal + requisites of the whole closure, so all the dependencies + recursively. For example, + +<programlisting> +allowedReferences = [ foobar ]; +</programlisting> + + enforces that the output of a derivation cannot have any other + runtime dependency than <varname>foobar</varname>, and in addition + it enforces that <varname>foobar</varname> itself doesn't + introduce any other dependency itself. This is used in NixOS when + rebuilding the stdenv on Linux to ensure that the resulting stdenv + doesn't have any surprising dependency, e.g. on bootstrapTools. + + </varlistentry> <varlistentry><term><varname>exportReferencesGraph</varname></term> |