pkgs/build-support/trivial-builders: remove runCommandCCLocal

We shouldn’t force the user to have a C compiler in scope, just
because the derivation is forced to build locally. That can’t be
counted as “lightweight” anymore.

Co-Authored-By: Silvan Mosberger<contact@infinisil.com>
This commit is contained in:
Profpatsch 2019-12-03 19:09:58 +01:00
parent 64bfaad977
commit c5c5465fe4
2 changed files with 4 additions and 4 deletions

View File

@ -52,11 +52,11 @@
</varlistentry>
<varlistentry xml:id="trivial-builder-runCommandLocal">
<term>
<literal>runCommandLocal</literal>, <literal>runCommandCCLocal</literal>
<literal>runCommandLocal</literal>
</term>
<listitem>
<para>
Variants of <literal>runCommand</literal> and <literal>runCommandCC</literal> that force the derivation to be built locally, it is not substituted. This is intended for very cheap commands (&lt;1s execution time). It saves on the network roundrip and can speed up a build.
Variant of <literal>runCommand</literal> that forces the derivation to be built locally, it is not substituted. This is intended for very cheap commands (&lt;1s execution time). It saves on the network roundrip and can speed up a build.
</para>
<note><para>
This sets <link xlink:href="https://nixos.org/nix/manual/#adv-attr-allowSubstitutes"><literal>allowSubstitutes</literal> to <literal>false</literal></link>, so only use <literal>runCommandLocal</literal> if you are certain the user will always have a builder for the <literal>system</literal> of the derivation. This should be true for most trivial use cases (e.g. just copying some files to a different location or adding symlinks), because there the <literal>system</literal> is usually the same as <literal>builtins.currentSystem</literal>.

View File

@ -45,8 +45,8 @@ rec {
runCommandNoCCLocal = runCommand' true stdenvNoCC;
runCommandCC = runCommand' false stdenv;
runCommandCCLocal = runCommand' true stdenv;
# `runCommandCCLocal` left out on purpose.
# We shouldnt force the user to have a cc in scope.
/* Writes a text file to the nix store.
* The contents of text is added to the file in the store.