summary refs log tree commit diff
path: root/pkgs/stdenv/adapters.nix
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2009-11-20 16:38:01 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2009-11-20 16:38:01 +0000
commit28d9e73d34a686409de74a8f16c3b40cec5a3fc0 (patch)
tree53bd0cabc6e244926ced3dca281751a247935870 /pkgs/stdenv/adapters.nix
parent4497215410f169a58a593ef2e90fb0517b78ac55 (diff)
downloadnixlib-28d9e73d34a686409de74a8f16c3b40cec5a3fc0.tar
nixlib-28d9e73d34a686409de74a8f16c3b40cec5a3fc0.tar.gz
nixlib-28d9e73d34a686409de74a8f16c3b40cec5a3fc0.tar.bz2
nixlib-28d9e73d34a686409de74a8f16c3b40cec5a3fc0.tar.lz
nixlib-28d9e73d34a686409de74a8f16c3b40cec5a3fc0.tar.xz
nixlib-28d9e73d34a686409de74a8f16c3b40cec5a3fc0.tar.zst
nixlib-28d9e73d34a686409de74a8f16c3b40cec5a3fc0.zip
Adding a new mkDerivation flag for the cross stdenv, selfNativeBuildInput =
true/false, which tells whether the derivation needs itself as
buildNativeInput.
For example, in order to build cross ncurses, we need the a native build
ncurses.
(As libtool does not work in stdenv, I have not tested this change, to check
whether finally ncurses cross-build)


svn path=/nixpkgs/branches/stdenv-updates/; revision=18489
Diffstat (limited to 'pkgs/stdenv/adapters.nix')
-rw-r--r--pkgs/stdenv/adapters.nix6
1 files changed, 4 insertions, 2 deletions
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 011bede0d545..e21a9e02d292 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -111,7 +111,8 @@ rec {
   # builds.
   makeStdenvCross = stdenv: cross: binutilsCross: gccCross: stdenv //
     { mkDerivation = {name ? "", buildInputs ? [], buildNativeInputs ? [],
-            propagatedBuildInputs ? [], propagatedBuildNativeInputs ? [], ...}@args: let
+            propagatedBuildInputs ? [], propagatedBuildNativeInputs ? [],
+            selfNativeBuildInput ? false, ...}@args: let
 
             # *BuildInputs exists temporarily as another name for
             # *HostInputs.
@@ -135,7 +136,8 @@ rec {
                 stdenv.mkDerivation (args // {
                     name = name + "-" + cross.config;
                     buildNativeInputs = buildNativeInputsDrvs
-                      ++ [ gccCross binutilsCross ];
+                      ++ [ gccCross binutilsCross ] ++
+                      stdenv.lib.optional selfNativeBuildInput buildDrv;
                     buildInputs = buildInputsDrvs;
                     propagatedBuildInputs = propagatedBuildInputsDrvs;
                     propagatedBuildNativeInputs = propagatedBuildNativeInputsDrvs;