about summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorDan Peebles <pumpkin@me.com>2016-08-19 23:22:14 -0400
committerDan Peebles <pumpkin@me.com>2016-08-19 23:22:22 -0400
commitbddf4e21801d0629b608a8a0a46830c795e35ba4 (patch)
treefbc72d4f5239a8d8a38398ac68021eedb2f8b621 /pkgs/stdenv
parent3b22b8add0f47860b7e64ad77703b43a01a2dd31 (diff)
downloadnixlib-bddf4e21801d0629b608a8a0a46830c795e35ba4.tar
nixlib-bddf4e21801d0629b608a8a0a46830c795e35ba4.tar.gz
nixlib-bddf4e21801d0629b608a8a0a46830c795e35ba4.tar.bz2
nixlib-bddf4e21801d0629b608a8a0a46830c795e35ba4.tar.lz
nixlib-bddf4e21801d0629b608a8a0a46830c795e35ba4.tar.xz
nixlib-bddf4e21801d0629b608a8a0a46830c795e35ba4.tar.zst
nixlib-bddf4e21801d0629b608a8a0a46830c795e35ba4.zip
make-bootstrap-tools.darwin: upgrade to llvm 3.8
This will break part of the bootstrap tools tests because the new tools
need some changes in the stdenv, but if I change them all at once, the
stdenv breaks with the old bootstrap tools. So I'm doing this first, then
will make changes to the stdenv once this bundle is built and I can use
it.

I also added some functionality to let me test one set of bootstrap tools
on another nixpkgs tree, which makes testing a lot more pleasant.
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/darwin/make-bootstrap-tools.nix18
1 files changed, 10 insertions, 8 deletions
diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
index deefb6bbad2d..83e04bb3339a 100644
--- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
@@ -1,8 +1,10 @@
-{ system ? builtins.currentSystem }:
+{ pkgspath ? ../../.., test-pkgspath ? pkgspath }:
 
-with import ../../.. { inherit system; };
+with import pkgspath { system = builtins.currentSystem; };
 
-rec {
+let
+  llvmPackages = llvmPackages_38;
+in rec {
   coreutils_ = coreutils.override (args: {
     # We want coreutils without ACL support.
     aclSupport = false;
@@ -79,11 +81,11 @@ rec {
 
       cp -rL ${llvmPackages.clang-unwrapped}/lib/clang $out/lib
 
-      cp -d ${libcxx}/lib/libc++*.dylib $out/lib
-      cp -d ${libcxxabi}/lib/libc++abi*.dylib $out/lib
+      cp -d ${llvmPackages.libcxx}/lib/libc++*.dylib $out/lib
+      cp -d ${llvmPackages.libcxxabi}/lib/libc++abi*.dylib $out/lib
 
       mkdir $out/include
-      cp -rd ${libcxx}/include/c++     $out/include
+      cp -rd ${llvmPackages.libcxx}/include/c++     $out/include
 
       cp -d ${icu.out}/lib/libicu*.dylib $out/lib
       cp -d ${zlib.out}/lib/libz.*       $out/lib
@@ -295,8 +297,8 @@ rec {
 
   # The ultimate test: bootstrap a whole stdenv from the tools specified above and get a package set out of it
   test-pkgs = let
-    stdenv = import ./. { inherit system bootstrapFiles; };
-  in import ../../.. {
+    stdenv = import "${test-pkgspath}/pkgs/stdenv/darwin" { inherit system bootstrapFiles; };
+  in import test-pkgspath {
     inherit system;
     bootStdenv = stdenv.stdenvDarwin;
   };