about summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorJude Taylor <me@jude.bio>2015-07-10 14:00:47 -0700
committerJude Taylor <me@jude.bio>2015-07-10 14:00:47 -0700
commita2b3fe28a883c3d4695d250262c39bba1b34f966 (patch)
tree580f976639c274095636082ce03f88bfc8b2e12b /pkgs/stdenv
parent5b3e50dedc0a1f03bddd7bc82f1d615300b7b0c5 (diff)
make bootstrap files buildable in sandbox
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/pure-darwin/default.nix32
1 files changed, 17 insertions, 15 deletions
diff --git a/pkgs/stdenv/pure-darwin/default.nix b/pkgs/stdenv/pure-darwin/default.nix
index 79925a2edfdd9..92c6f321d36bf 100644
--- a/pkgs/stdenv/pure-darwin/default.nix
+++ b/pkgs/stdenv/pure-darwin/default.nix
@@ -5,11 +5,26 @@
 }:
 
 let
-  fetch = { file, sha256 }: import <nix/fetchurl.nix> {
+  # libSystem and its transitive dependencies. Get used to this; it's a recurring theme in darwin land
+  libSystemClosure = [
+    "/usr/lib/libSystem.dylib"
+    "/usr/lib/libSystem.B.dylib"
+    "/usr/lib/libobjc.A.dylib"
+    "/usr/lib/libobjc.dylib"
+    "/usr/lib/libauto.dylib"
+    "/usr/lib/libc++abi.dylib"
+    "/usr/lib/libc++.1.dylib"
+    "/usr/lib/libDiagnosticMessagesClient.dylib"
+    "/usr/lib/system"
+  ];
+
+  fetch = { file, sha256 }: derivation ((import <nix/fetchurl.nix> {
     url = "https://dl.dropboxusercontent.com/u/2857322/${file}";
     inherit sha256;
     executable = true;
-  };
+  }).drvAttrs // {
+    __impureHostDeps = libSystemClosure;
+  });
 
   bootstrapFiles = {
     sh    = fetch { file = "sh";    sha256 = "1qakpg37vl61jnkplz13m3g1csqr85cg8ybp6jwiv6apmg26isnm"; };
@@ -30,19 +45,6 @@ in rec {
     export CMAKE_OSX_ARCHITECTURES=x86_64
   '';
 
-  # libSystem and its transitive dependencies. Get used to this; it's a recurring theme in darwin land
-  libSystemClosure = [
-    "/usr/lib/libSystem.dylib"
-    "/usr/lib/libSystem.B.dylib"
-    "/usr/lib/libobjc.A.dylib"
-    "/usr/lib/libobjc.dylib"
-    "/usr/lib/libauto.dylib"
-    "/usr/lib/libc++abi.dylib"
-    "/usr/lib/libc++.1.dylib"
-    "/usr/lib/libDiagnosticMessagesClient.dylib"
-    "/usr/lib/system"
-  ];
-
   # The one dependency of /bin/sh :(
   binShClosure = [ "/usr/lib/libncurses.5.4.dylib" ];