about summary refs log tree commit diff
path: root/pkgs/stdenv/nix/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/stdenv/nix/default.nix')
-rw-r--r--pkgs/stdenv/nix/default.nix22
1 files changed, 13 insertions, 9 deletions
diff --git a/pkgs/stdenv/nix/default.nix b/pkgs/stdenv/nix/default.nix
index d0f7d60f101c..a496a819a6df 100644
--- a/pkgs/stdenv/nix/default.nix
+++ b/pkgs/stdenv/nix/default.nix
@@ -7,15 +7,18 @@ import ../generic rec {
     ''
       export NIX_ENFORCE_PURITY=1
       export NIX_IGNORE_LD_THROUGH_GCC=1
-
-      if [ "$system" = "i686-darwin" -o "$system" = "powerpc-darwin" -o "$system" = "x86_64-darwin" ]; then
-        export NIX_DONT_SET_RPATH=1
-        export NIX_NO_SELF_RPATH=1
-        dontFixLibtool=1
-        stripAllFlags=" " # the Darwin "strip" command doesn't know "-s"
-        xargsFlags=" "
-      fi
-    '';
+    '' + (if stdenv.isDarwin then ''
+      export NIX_ENFORCE_PURITY=
+      export NIX_DONT_SET_RPATH=1
+      export NIX_NO_SELF_RPATH=1
+      dontFixLibtool=1
+      stripAllFlags=" " # the Darwin "strip" command doesn't know "-s"
+      xargsFlags=" "
+      export MACOSX_DEPLOYMENT_TARGET=10.6
+      export SDKROOT=$(/usr/bin/xcrun --show-sdk-path 2> /dev/null || true)
+      export NIX_CFLAGS_COMPILE+=" --sysroot=/var/empty -idirafter $SDKROOT/usr/include -F$SDKROOT/System/Library/Frameworks -Wno-multichar -Wno-deprecated-declarations"
+      export NIX_LDFLAGS_AFTER+=" -L$SDKROOT/usr/lib"
+    '' else "");
 
   initialPath = (import ../common-path.nix) {pkgs = pkgs;};
 
@@ -23,6 +26,7 @@ import ../generic rec {
 
   gcc = import ../../build-support/gcc-wrapper {
     nativeTools = false;
+    nativePrefix = stdenv.lib.optionalString stdenv.isSunOS "/usr";
     nativeLibc = true;
     inherit stdenv;
     binutils =