From 635880a17aa3efb14869ba80a5785f8663dee6e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Wed, 26 Dec 2012 21:38:58 +0100 Subject: [PATCH] 2nd approach at getting a check for /niximpure in stdenv-updates --- pkgs/stdenv/generic/builder.sh | 4 ++++ pkgs/stdenv/generic/default.nix | 3 ++- pkgs/stdenv/generic/setup.sh | 1 + pkgs/stdenv/linux/default.nix | 4 +++- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/generic/builder.sh b/pkgs/stdenv/generic/builder.sh index fd4c17ca2519..81e11c2df650 100644 --- a/pkgs/stdenv/generic/builder.sh +++ b/pkgs/stdenv/generic/builder.sh @@ -13,6 +13,10 @@ sed -e "s^@initialPath@^$initialPath^g" \ -e "s^@gcc@^$gcc^g" \ -e "s^@shell@^$shell^g" \ < $out/setup > $out/setup.tmp +if [ -n "$withNixImpure" ]; then + sed -i -e 's^@niximpure@^test -f /niximupure/impure.sh && . /niximpure/impure.sh^g' \ + $out/setup.tmp +fi mv $out/setup.tmp $out/setup # Allow the user to install stdenv using nix-env and get the packages diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 20cbb1b455ca..0494d6f00f5d 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -1,5 +1,6 @@ { system, name ? "stdenv", preHook ? "", initialPath, gcc, shell , extraAttrs ? {}, overrides ? (pkgs: {}) +, withNixImpure ? false , # The `fetchurl' to use for downloading curl and its dependencies # (see all-packages.nix). @@ -26,7 +27,7 @@ let setup = setupScript; - inherit preHook initialPath gcc shell; + inherit preHook initialPath gcc shell withNixImpure; propagatedUserEnvPkgs = [gcc] ++ lib.filter lib.isDerivation initialPath; diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index e30b0656e623..230694ccf35c 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -270,6 +270,7 @@ elif [ "$NIX_BUILD_CORES" -le 0 ]; then fi export NIX_BUILD_CORES +@niximpure@ ###################################################################### # Misc. helper functions. diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 3105e76f8177..df89b3714f8a 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -264,7 +264,7 @@ rec { inherit system; preHook = commonPreHook; - + initialPath = ((import ../common-path.nix) {pkgs = stdenvLinuxBoot4Pkgs;}) ++ [stdenvLinuxBoot4Pkgs.patchelf]; @@ -281,6 +281,8 @@ rec { shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash"; fetchurlBoot = fetchurl; + + withNixImpure = if platform ? nixImpure then platform.nixImpure else false; extraAttrs = { inherit (stdenvLinuxBoot3Pkgs) glibc;