Commit Graph

13 Commits

Author SHA1 Message Date
Dave Nicponski
7914de9b8c substitute: init at 0
Similar to the colocated `substituteAll` script and derivation, this
PR adds nix-level support for `substitute` directly.  This is useful,
for instance, to be able to easily make tweaks to patch files for an
existing derivation's existing patch files.
2019-11-18 15:55:41 -05:00
volth
18e5db37bf
substituteAll: allowSubstitutes = false;
trivial derivation
2019-02-07 22:20:42 +00:00
Eelco Dolstra
0cb16a6955 Add stdenvNoCC
This is a standard environment that doesn't contain a C/C++
compiler. This is mostly to prevent trivial builders like runCommand
and substituteAll from pulling in gcc for simple configuration changes
on NixOS.
2016-09-29 13:06:41 +02:00
Profpatsch
a2d38bc7fc doc/stdenv.xml document substitution env variables
The filtering of environment variables that start with an uppercase
letter is documented in the manual.
2016-04-23 21:41:35 +02:00
Eelco Dolstra
fa276c45dd * Set preferLocalBuild on a few more trivial builders.
svn path=/nixpkgs/trunk/; revision=33935
2012-04-26 15:17:43 +00:00
Eelco Dolstra
c556a6ea46 * "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointless
function, so obsolete it.

svn path=/nixpkgs/branches/stdenv-updates/; revision=31644
2012-01-18 20:16:00 +00:00
Eelco Dolstra
7558076e10 * Allow post/pre-install hooks.
svn path=/nixpkgs/trunk/; revision=10629
2008-02-12 08:42:33 +00:00
Eelco Dolstra
138c0ae751 * Merge the new generic builder.
* Removed substitute, it's part of the generic builder now.
* stdenv-initial (Linux): use the real generic builder script.  This
  does require that sed is in the path of the builder of the initial
  stdenv.

svn path=/nixpkgs/trunk/; revision=7498
2006-12-27 18:14:57 +00:00
Eelco Dolstra
7dfbf0eba7 * Move the substitution functions into stdenv (not merged yet).
* If the environment variable buildCommand is set, then eval that
  instead of doing the build phases.  This is used by the runCommand
  function in all-packages.nix to allow one-lines like

    foo = runCommand "foo" {} "mkdir $out; echo foo > $out/foo";
    

svn path=/nixpkgs/trunk/; revision=7298
2006-12-10 22:24:42 +00:00
Eelco Dolstra
36b1473e09 * Allow the result to be stored somewhere else than $out.
svn path=/nixpkgs/trunk/; revision=6978
2006-11-08 09:26:18 +00:00
Eelco Dolstra
05c884b471 * Utility: the generic substituter. It substitutes all occurences of
`@var@' in the file `src', writing the result to $out, where `var'
  is any environment variable starting with a lowercase character.
  Example:

    genericSubstituter {
      src = ./file;
      foo = "bla";
      shell = bash + "/bin/sh";
    };

  will replace `@foo@' with `bla' and `@shell@' with
  `/nix/store/...-bash-.../bin/sh'.

svn path=/nixpkgs/trunk/; revision=6928
2006-11-02 22:44:32 +00:00
Eelco Dolstra
2e0380b7a0 * Use the generic substituter in the generation of stdenv and gcc-wrapper.
svn path=/nixpkgs/trunk/; revision=2269
2005-02-22 14:32:56 +00:00
Eelco Dolstra
cbdd91f2a6 * Some utility functions to make performing substitutions in text
files easier.  Examples:

    substitute inputFile outputFile \
      --replace "@bindir@" "$out/bin" \
      --replace "@gcc@" "$GCC/bin/gcc"

    substitute inputFile outputFile --subst-var out

      (this is sugar for --replace "@out@" "$out")

    substituteInPlace file --replace a b

      (input and output are both `file'; the execute bit is preserved)
  

svn path=/nixpkgs/trunk/; revision=2239
2005-02-15 17:44:03 +00:00