* Remove references to __XXX primops.

This commit is contained in:
Eelco Dolstra 2009-04-14 13:03:27 +00:00
parent 8b2a01a8c2
commit 435a93b5d8
2 changed files with 4 additions and 14 deletions

View File

@ -77,18 +77,8 @@ attrValues = attrs: map (name: builtins.getAttr name attrs) (builtins.attrNames
if builtins ? getEnv then builtins.getEnv "PATH" else ""</programlisting> if builtins ? getEnv then builtins.getEnv "PATH" else ""</programlisting>
This allows a Nix expression to fall back gracefully on older Nix This allows a Nix expression to fall back gracefully on older Nix
installations that dont have the desired built-in function. installations that dont have the desired built-in
However, in that case you should not write function.</para></listitem>
<programlisting>
if builtins ? getEnv then __getEnv "PATH" else ""</programlisting>
This Nix expression will trigger an “undefined variable” error on
older Nix versions since <function>__getEnv</function> doesnt
exist. <literal>builtins.getEnv</literal>, on the other hand, is
safe since <literal>builtins</literal> always exists and attribute
selection is lazy, so its only performed if the test
succeeds.</para></listitem>
</varlistentry> </varlistentry>

View File

@ -251,14 +251,14 @@
<programlisting> <programlisting>
{ # The system (e.g., `i686-linux') for which to build the packages. { # The system (e.g., `i686-linux') for which to build the packages.
system ? __currentSystem system ? builtins.currentSystem
<replaceable>...</replaceable> <replaceable>...</replaceable>
}: <replaceable>...</replaceable></programlisting> }: <replaceable>...</replaceable></programlisting>
So if you call this Nix expression (e.g., when you do So if you call this Nix expression (e.g., when you do
<literal>nix-env -i <replaceable>pkgname</replaceable></literal>), <literal>nix-env -i <replaceable>pkgname</replaceable></literal>),
the function will be called automatically using the value <link the function will be called automatically using the value <link
linkend='builtin-currentSystem'><literal>__currentSystem</literal></link> linkend='builtin-currentSystem'><literal>builtins.currentSystem</literal></link>
for the <literal>system</literal> argument. You can override this for the <literal>system</literal> argument. You can override this
using <option>--arg</option>, e.g., <literal>nix-env -i using <option>--arg</option>, e.g., <literal>nix-env -i
<replaceable>pkgname</replaceable> --arg system <replaceable>pkgname</replaceable> --arg system