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.
This commit is contained in:
Dan Peebles 2016-08-19 23:22:14 -04:00
parent 3b22b8add0
commit bddf4e2180

View File

@ -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;
};