about summary refs log tree commit diff
path: root/pkgs/stdenv/darwin/default.nix
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-11-04 14:30:43 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-11-04 14:30:43 +0100
commit7495c61d49208a9fc90b937bca548d9005ff17c8 (patch)
tree5eec5f802d3146b8b1f788aa1275ea1c44a24d31 /pkgs/stdenv/darwin/default.nix
parented867a50eb89a90db3b1741bf4c0bf0cd4557dba (diff)
parent899d81b37ba6dc26431b82b40300505f19504e03 (diff)
downloadnixlib-7495c61d49208a9fc90b937bca548d9005ff17c8.tar
nixlib-7495c61d49208a9fc90b937bca548d9005ff17c8.tar.gz
nixlib-7495c61d49208a9fc90b937bca548d9005ff17c8.tar.bz2
nixlib-7495c61d49208a9fc90b937bca548d9005ff17c8.tar.lz
nixlib-7495c61d49208a9fc90b937bca548d9005ff17c8.tar.xz
nixlib-7495c61d49208a9fc90b937bca548d9005ff17c8.tar.zst
nixlib-7495c61d49208a9fc90b937bca548d9005ff17c8.zip
Merge remote-tracking branch 'origin/darwin-clang-stdenv' into staging
Conflicts:
	pkgs/applications/editors/vim/macvim.nix
Diffstat (limited to 'pkgs/stdenv/darwin/default.nix')
-rw-r--r--pkgs/stdenv/darwin/default.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
new file mode 100644
index 000000000000..9131f0742d00
--- /dev/null
+++ b/pkgs/stdenv/darwin/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, pkgs, config
+, haveLibCxx ? true
+, useClang33 ? true }:
+
+import ../generic rec {
+  inherit config;
+
+  preHook =
+    ''
+      export NIX_ENFORCE_PURITY=
+      export NIX_IGNORE_LD_THROUGH_GCC=1
+      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.9
+      export SDKROOT=$(/usr/bin/xcrun --sdk macosx10.9 --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"
+    '';
+
+  initialPath = (import ../common-path.nix) {pkgs = pkgs;};
+
+  system = stdenv.system;
+
+  gcc = import ../../build-support/gcc-wrapper {
+    nativeTools = false;
+    nativeLibc = true;
+    inherit stdenv;
+    extraPackages = stdenv.lib.optional haveLibCxx pkgs.libcxx;
+    binutils = import ../../build-support/native-darwin-cctools-wrapper {inherit stdenv;};
+    gcc = if useClang33 then pkgs.clang_33.gcc else pkgs.clang.gcc;
+    coreutils = pkgs.coreutils;
+    shell = pkgs.bash + "/bin/sh";
+  };
+
+  shell = pkgs.bash + "/bin/sh";
+
+  fetchurlBoot = stdenv.fetchurlBoot;
+
+  overrides = pkgs_: {
+    inherit gcc;
+    inherit (gcc) binutils;
+    inherit (pkgs)
+      gzip bzip2 xz bash coreutils diffutils findutils gawk
+      gnumake gnused gnutar gnugrep gnupatch perl libcxx libcxxabi;
+  };
+}