Add an option ‘stdenv.userHook’ to set a global stdenv setup hook

This allows various applications.  It allows users to set global
optimisation flags, e.g.

  stdenv.userHook = ''NIX_CFLAGS_COMPILE+=" -funroll-loops"'';

But the impetus is as an alternative to issue #229, allowing impure
stdenv setup for people who want to use distcc:

  stdenv.userHook = "source /my/impure/setup-script.sh";

This is probably a bad idea, but at least now it's a bad idea in
people's configuration and not in Nixpkgs. :-)
This commit is contained in:
Eelco Dolstra
2012-12-28 16:36:09 +01:00
parent 6fd4f63530
commit cf8daf6312
7 changed files with 21 additions and 11 deletions
+3 -3
View File
@@ -7,7 +7,7 @@
# The function defaults are for easy testing.
{ system ? builtins.currentSystem
, allPackages ? import ../../top-level/all-packages.nix
, platform ? null }:
, platform ? null, config }:
rec {
@@ -81,7 +81,7 @@ rec {
{gcc, extraAttrs ? {}, overrides ? (pkgs: {}), extraPath ? [], fetchurl}:
import ../generic {
inherit system;
inherit system config;
name = "stdenv-linux-boot";
preHook =
''
@@ -261,7 +261,7 @@ rec {
# dependency (`nix-store -qR') on bootstrapTools or the
# first binutils built.
stdenvLinux = import ../generic rec {
inherit system;
inherit system config;
preHook = commonPreHook;