about summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-02-27 17:35:42 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-02-27 17:35:42 +0000
commitfca769846a4ba4f517f7c60bb1e4cec31c7e38dc (patch)
treebf4770c1d01ae0dc9809c089bfa437e600bf8bb6 /pkgs/stdenv
parent5ca75ac27653307f0982a264a34bdcb7402ecde4 (diff)
Adding a new special attribute for mkDerivation: crossAttrs. It sits next to
"meta" and "passthru", and these attributes will be appended to the usual
mkDerivation attributes only if the package is cross built.
This allows putting some of the cross-building logic in the mkDerivation
nix parameters, and not only in the final builder script, as it was until now.

svn path=/nixpkgs/trunk/; revision=20272
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/adapters.nix2
-rw-r--r--pkgs/stdenv/generic/default.nix2
2 files changed, 2 insertions, 2 deletions
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 33e1f8505d273..f1babf2dfb28c 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -170,7 +170,7 @@ rec {
                     propagatedBuildNativeInputs = propagatedBuildNativeInputsDrvs;
 
                     crossConfig = cross.config;
-                });
+                } // (if args ? crossAttrs then args.crossAttrs else {}));
         in buildDrv // {
             inherit hostDrv buildDrv;
         };
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 191dd54c6aea4..fa9c18b2c3749 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -44,7 +44,7 @@ let
         # stdenv and its shell.
         mkDerivation = attrs:
           (derivation (
-            (removeAttrs attrs ["meta" "passthru"])
+            (removeAttrs attrs ["meta" "passthru" "crossAttrs"])
             // (let
                 buildInputs = if attrs ? buildInputs then attrs.buildInputs
                     else [];