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)
downloadnixlib-fca769846a4ba4f517f7c60bb1e4cec31c7e38dc.tar
nixlib-fca769846a4ba4f517f7c60bb1e4cec31c7e38dc.tar.gz
nixlib-fca769846a4ba4f517f7c60bb1e4cec31c7e38dc.tar.bz2
nixlib-fca769846a4ba4f517f7c60bb1e4cec31c7e38dc.tar.lz
nixlib-fca769846a4ba4f517f7c60bb1e4cec31c7e38dc.tar.xz
nixlib-fca769846a4ba4f517f7c60bb1e4cec31c7e38dc.tar.zst
nixlib-fca769846a4ba4f517f7c60bb1e4cec31c7e38dc.zip
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 33e1f8505d27..f1babf2dfb28 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 191dd54c6aea..fa9c18b2c374 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 [];