From bddf4e21801d0629b608a8a0a46830c795e35ba4 Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Fri, 19 Aug 2016 23:22:14 -0400 Subject: [PATCH] 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. --- pkgs/stdenv/darwin/make-bootstrap-tools.nix | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix index deefb6bbad2..83e04bb3339 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; };