Merge pull request #42034 from obsidiansystems/darwin-booting-llvm
darwin bootstrapping: Avoid overriding aliases for LLVM
This commit is contained in:
commit
4ad049fba0
@ -16,7 +16,7 @@ let
|
|||||||
compiler-rt_src = fetch "compiler-rt" "10c1mz2q4bdq9bqfgr3dirc6hz1h3sq8573srd5q5lr7m7j6jiwx";
|
compiler-rt_src = fetch "compiler-rt" "10c1mz2q4bdq9bqfgr3dirc6hz1h3sq8573srd5q5lr7m7j6jiwx";
|
||||||
clang-tools-extra_src = fetch "clang-tools-extra" "0sxw2l3q5msbrwxv1ck72arggdw6n5ysi929gi69ikniranfv4aa";
|
clang-tools-extra_src = fetch "clang-tools-extra" "0sxw2l3q5msbrwxv1ck72arggdw6n5ysi929gi69ikniranfv4aa";
|
||||||
|
|
||||||
tools = let
|
tools = stdenv.lib.makeExtensible (tools: let
|
||||||
callPackage = newScope (tools // { inherit stdenv isl version fetch; });
|
callPackage = newScope (tools // { inherit stdenv isl version fetch; });
|
||||||
in {
|
in {
|
||||||
llvm = callPackage ./llvm.nix {
|
llvm = callPackage ./llvm.nix {
|
||||||
@ -41,9 +41,9 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
lldb = callPackage ./lldb.nix {};
|
lldb = callPackage ./lldb.nix {};
|
||||||
};
|
});
|
||||||
|
|
||||||
libraries = let
|
libraries = stdenv.lib.makeExtensible (libraries: let
|
||||||
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv isl version fetch; });
|
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv isl version fetch; });
|
||||||
in {
|
in {
|
||||||
|
|
||||||
@ -54,6 +54,6 @@ let
|
|||||||
libcxx = callPackage ./libc++ {};
|
libcxx = callPackage ./libc++ {};
|
||||||
|
|
||||||
libcxxabi = callPackage ./libc++abi.nix {};
|
libcxxabi = callPackage ./libc++abi.nix {};
|
||||||
};
|
});
|
||||||
|
|
||||||
in { inherit tools libraries; } // libraries // tools
|
in { inherit tools libraries; } // libraries // tools
|
||||||
|
@ -15,7 +15,7 @@ let
|
|||||||
compiler-rt_src = fetch "compiler-rt" "0p0y85c7izndbpg2l816z7z7558axq11d5pwkm4h11sdw7d13w0d";
|
compiler-rt_src = fetch "compiler-rt" "0p0y85c7izndbpg2l816z7z7558axq11d5pwkm4h11sdw7d13w0d";
|
||||||
clang-tools-extra_src = fetch "clang-tools-extra" "15n39r4ssphpaq4a0wzyjm7ilwxb0bch6nrapy8c5s8d49h5qjk6";
|
clang-tools-extra_src = fetch "clang-tools-extra" "15n39r4ssphpaq4a0wzyjm7ilwxb0bch6nrapy8c5s8d49h5qjk6";
|
||||||
|
|
||||||
tools = let
|
tools = stdenv.lib.makeExtensible (tools: let
|
||||||
callPackage = newScope (tools // { inherit stdenv isl version fetch; });
|
callPackage = newScope (tools // { inherit stdenv isl version fetch; });
|
||||||
in {
|
in {
|
||||||
llvm = callPackage ./llvm.nix {
|
llvm = callPackage ./llvm.nix {
|
||||||
@ -41,9 +41,9 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
lldb = callPackage ./lldb.nix {};
|
lldb = callPackage ./lldb.nix {};
|
||||||
};
|
});
|
||||||
|
|
||||||
libraries = let
|
libraries = stdenv.lib.makeExtensible (libraries: let
|
||||||
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv isl version fetch; });
|
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv isl version fetch; });
|
||||||
in {
|
in {
|
||||||
|
|
||||||
@ -54,6 +54,6 @@ let
|
|||||||
libcxx = callPackage ./libc++ {};
|
libcxx = callPackage ./libc++ {};
|
||||||
|
|
||||||
libcxxabi = callPackage ./libc++abi.nix {};
|
libcxxabi = callPackage ./libc++abi.nix {};
|
||||||
};
|
});
|
||||||
|
|
||||||
in { inherit tools libraries; } // libraries // tools
|
in { inherit tools libraries; } // libraries // tools
|
||||||
|
@ -15,7 +15,7 @@ let
|
|||||||
compiler-rt_src = fetch "compiler-rt" "16gc2gdmp5c800qvydrdhsp0bzb97s8wrakl6i8a4lgslnqnf2fk";
|
compiler-rt_src = fetch "compiler-rt" "16gc2gdmp5c800qvydrdhsp0bzb97s8wrakl6i8a4lgslnqnf2fk";
|
||||||
clang-tools-extra_src = fetch "clang-tools-extra" "0d9nh7j7brbh9avigcn69dlaihsl9p3cf9s45mw6fxzzvrdvd999";
|
clang-tools-extra_src = fetch "clang-tools-extra" "0d9nh7j7brbh9avigcn69dlaihsl9p3cf9s45mw6fxzzvrdvd999";
|
||||||
|
|
||||||
tools = let
|
tools = stdenv.lib.makeExtensible (tools: let
|
||||||
callPackage = newScope (tools // { inherit stdenv isl version fetch; });
|
callPackage = newScope (tools // { inherit stdenv isl version fetch; });
|
||||||
in {
|
in {
|
||||||
llvm = callPackage ./llvm.nix {
|
llvm = callPackage ./llvm.nix {
|
||||||
@ -41,9 +41,9 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
lldb = callPackage ./lldb.nix {};
|
lldb = callPackage ./lldb.nix {};
|
||||||
};
|
});
|
||||||
|
|
||||||
libraries = let
|
libraries = stdenv.lib.makeExtensible (libraries: let
|
||||||
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv isl version fetch; });
|
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv isl version fetch; });
|
||||||
in {
|
in {
|
||||||
|
|
||||||
@ -54,6 +54,6 @@ let
|
|||||||
libcxx = callPackage ./libc++ {};
|
libcxx = callPackage ./libc++ {};
|
||||||
|
|
||||||
libcxxabi = callPackage ./libc++abi.nix {};
|
libcxxabi = callPackage ./libc++abi.nix {};
|
||||||
};
|
});
|
||||||
|
|
||||||
in { inherit tools libraries; } // libraries // tools
|
in { inherit tools libraries; } // libraries // tools
|
||||||
|
@ -22,7 +22,7 @@ let
|
|||||||
let drv-manpages = drv.override { enableManpages = true; }; in
|
let drv-manpages = drv.override { enableManpages = true; }; in
|
||||||
drv // { man = drv-manpages.out; /*outputs = drv.outputs ++ ["man"];*/ };
|
drv // { man = drv-manpages.out; /*outputs = drv.outputs ++ ["man"];*/ };
|
||||||
|
|
||||||
tools = let
|
tools = stdenv.lib.makeExtensible (tools: let
|
||||||
callPackage = newScope (tools // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
|
callPackage = newScope (tools // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
|
||||||
in {
|
in {
|
||||||
|
|
||||||
@ -52,9 +52,9 @@ let
|
|||||||
lld = callPackage ./lld.nix {};
|
lld = callPackage ./lld.nix {};
|
||||||
|
|
||||||
lldb = callPackage ./lldb.nix {};
|
lldb = callPackage ./lldb.nix {};
|
||||||
};
|
});
|
||||||
|
|
||||||
libraries = let
|
libraries = stdenv.lib.makeExtensible (libraries: let
|
||||||
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
|
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
|
||||||
in {
|
in {
|
||||||
|
|
||||||
@ -67,6 +67,6 @@ let
|
|||||||
libcxxabi = callPackage ./libc++abi.nix {};
|
libcxxabi = callPackage ./libc++abi.nix {};
|
||||||
|
|
||||||
openmp = callPackage ./openmp.nix {};
|
openmp = callPackage ./openmp.nix {};
|
||||||
};
|
});
|
||||||
|
|
||||||
in { inherit tools libraries; } // libraries // tools
|
in { inherit tools libraries; } // libraries // tools
|
||||||
|
@ -22,7 +22,7 @@ let
|
|||||||
let drv-manpages = drv.override { enableManpages = true; }; in
|
let drv-manpages = drv.override { enableManpages = true; }; in
|
||||||
drv // { man = drv-manpages.out; /*outputs = drv.outputs ++ ["man"];*/ };
|
drv // { man = drv-manpages.out; /*outputs = drv.outputs ++ ["man"];*/ };
|
||||||
|
|
||||||
tools = let
|
tools = stdenv.lib.makeExtensible (tools: let
|
||||||
callPackage = newScope (tools // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
|
callPackage = newScope (tools // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
|
||||||
in {
|
in {
|
||||||
|
|
||||||
@ -53,9 +53,9 @@ let
|
|||||||
lld = callPackage ./lld.nix {};
|
lld = callPackage ./lld.nix {};
|
||||||
|
|
||||||
lldb = callPackage ./lldb.nix {};
|
lldb = callPackage ./lldb.nix {};
|
||||||
};
|
});
|
||||||
|
|
||||||
libraries = let
|
libraries = stdenv.lib.makeExtensible (libraries: let
|
||||||
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
|
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
|
||||||
in {
|
in {
|
||||||
|
|
||||||
@ -68,6 +68,6 @@ let
|
|||||||
libcxxabi = callPackage ./libc++abi.nix {};
|
libcxxabi = callPackage ./libc++abi.nix {};
|
||||||
|
|
||||||
openmp = callPackage ./openmp.nix {};
|
openmp = callPackage ./openmp.nix {};
|
||||||
};
|
});
|
||||||
|
|
||||||
in { inherit tools libraries; } // libraries // tools
|
in { inherit tools libraries; } // libraries // tools
|
||||||
|
@ -21,7 +21,7 @@ let
|
|||||||
let drv-manpages = drv.override { enableManpages = true; }; in
|
let drv-manpages = drv.override { enableManpages = true; }; in
|
||||||
drv // { man = drv-manpages.out; /*outputs = drv.outputs ++ ["man"];*/ };
|
drv // { man = drv-manpages.out; /*outputs = drv.outputs ++ ["man"];*/ };
|
||||||
|
|
||||||
tools = let
|
tools = stdenv.lib.makeExtensible (tools: let
|
||||||
callPackage = newScope (tools // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
|
callPackage = newScope (tools // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
|
||||||
in {
|
in {
|
||||||
|
|
||||||
@ -71,9 +71,9 @@ let
|
|||||||
lld = callPackage ./lld.nix {};
|
lld = callPackage ./lld.nix {};
|
||||||
|
|
||||||
lldb = callPackage ./lldb.nix {};
|
lldb = callPackage ./lldb.nix {};
|
||||||
};
|
});
|
||||||
|
|
||||||
libraries = let
|
libraries = stdenv.lib.makeExtensible (libraries: let
|
||||||
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
|
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; });
|
||||||
in {
|
in {
|
||||||
|
|
||||||
@ -88,6 +88,6 @@ let
|
|||||||
libcxxabi = callPackage ./libc++abi.nix {};
|
libcxxabi = callPackage ./libc++abi.nix {};
|
||||||
|
|
||||||
openmp = callPackage ./openmp.nix {};
|
openmp = callPackage ./openmp.nix {};
|
||||||
};
|
});
|
||||||
|
|
||||||
in { inherit tools libraries; } // libraries // tools
|
in { inherit tools libraries; } // libraries // tools
|
||||||
|
@ -159,6 +159,7 @@ in rec {
|
|||||||
dyld = bootstrapTools;
|
dyld = bootstrapTools;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
llvmPackages_5 = {
|
||||||
libcxx = stdenv.mkDerivation {
|
libcxx = stdenv.mkDerivation {
|
||||||
name = "bootstrap-stage0-libcxx";
|
name = "bootstrap-stage0-libcxx";
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
phases = [ "installPhase" "fixupPhase" ];
|
||||||
@ -178,7 +179,7 @@ in rec {
|
|||||||
ln -s ${bootstrapTools}/lib/libc++abi.dylib $out/lib/libc++abi.dylib
|
ln -s ${bootstrapTools}/lib/libc++abi.dylib $out/lib/libc++abi.dylib
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
extraNativeBuildInputs = [];
|
extraNativeBuildInputs = [];
|
||||||
@ -236,8 +237,11 @@ in rec {
|
|||||||
patchutils m4 scons flex perl bison unifdef unzip openssl python
|
patchutils m4 scons flex perl bison unifdef unzip openssl python
|
||||||
gettext sharutils libarchive pkg-config groff bash subversion
|
gettext sharutils libarchive pkg-config groff bash subversion
|
||||||
openssh sqlite sed serf openldap db cyrus-sasl expat apr-util
|
openssh sqlite sed serf openldap db cyrus-sasl expat apr-util
|
||||||
findfreetype libssh curl cmake autoconf automake libtool cpio
|
findfreetype libssh curl cmake autoconf automake libtool cpio;
|
||||||
libcxx libcxxabi;
|
|
||||||
|
llvmPackages_5 = super.llvmPackages_5 // {
|
||||||
|
inherit (llvmPackages_5) libcxx libcxxabi;
|
||||||
|
};
|
||||||
|
|
||||||
darwin = super.darwin // {
|
darwin = super.darwin // {
|
||||||
inherit (darwin)
|
inherit (darwin)
|
||||||
@ -272,13 +276,18 @@ in rec {
|
|||||||
persistent = self: super: with prevStage; {
|
persistent = self: super: with prevStage; {
|
||||||
inherit
|
inherit
|
||||||
gnumake gzip gnused bzip2 gawk ed xz patch bash
|
gnumake gzip gnused bzip2 gawk ed xz patch bash
|
||||||
libcxxabi libcxx ncurses libffi zlib gmp pcre gnugrep
|
ncurses libffi zlib gmp pcre gnugrep
|
||||||
coreutils findutils diffutils patchutils;
|
coreutils findutils diffutils patchutils;
|
||||||
|
|
||||||
llvmPackages_5 = super.llvmPackages_5 // {
|
llvmPackages_5 = super.llvmPackages_5 // (let
|
||||||
|
tools = super.llvmPackages_5.tools.extend (_: _: {
|
||||||
llvm = llvmPackages_5.llvm.override { inherit libcxxabi; };
|
llvm = llvmPackages_5.llvm.override { inherit libcxxabi; };
|
||||||
clang-unwrapped = llvmPackages_5.clang-unwrapped.override { llvm = self.llvmPackages_5.llvm; };
|
clang-unwrapped = llvmPackages_5.clang-unwrapped.override { llvm = self.llvmPackages_5.llvm; };
|
||||||
};
|
});
|
||||||
|
libraries = super.llvmPackages_5.libraries.extend (_: _: {
|
||||||
|
inherit (llvmPackages_5) libcxx libcxxabi;
|
||||||
|
});
|
||||||
|
in { inherit tools libraries; } // tools // libraries);
|
||||||
|
|
||||||
darwin = super.darwin // {
|
darwin = super.darwin // {
|
||||||
inherit (darwin) dyld Libsystem libiconv locale;
|
inherit (darwin) dyld Libsystem libiconv locale;
|
||||||
@ -310,12 +319,17 @@ in rec {
|
|||||||
persistent = self: super: with prevStage; {
|
persistent = self: super: with prevStage; {
|
||||||
inherit
|
inherit
|
||||||
gnumake gzip gnused bzip2 gawk ed xz patch bash
|
gnumake gzip gnused bzip2 gawk ed xz patch bash
|
||||||
libcxxabi libcxx ncurses libffi zlib llvm gmp pcre gnugrep
|
ncurses libffi zlib llvm gmp pcre gnugrep
|
||||||
coreutils findutils diffutils patchutils;
|
coreutils findutils diffutils patchutils;
|
||||||
|
|
||||||
llvmPackages_5 = super.llvmPackages_5 // {
|
llvmPackages_5 = super.llvmPackages_5 // (let
|
||||||
|
tools = super.llvmPackages_5.tools.extend (_: _: {
|
||||||
inherit (llvmPackages_5) llvm clang-unwrapped;
|
inherit (llvmPackages_5) llvm clang-unwrapped;
|
||||||
};
|
});
|
||||||
|
libraries = super.llvmPackages_5.libraries.extend (_: _: {
|
||||||
|
inherit (llvmPackages_5) libcxx libcxxabi;
|
||||||
|
});
|
||||||
|
in { inherit tools libraries; } // tools // libraries);
|
||||||
|
|
||||||
darwin = super.darwin // {
|
darwin = super.darwin // {
|
||||||
inherit (darwin) dyld ICU Libsystem libiconv;
|
inherit (darwin) dyld ICU Libsystem libiconv;
|
||||||
|
Loading…
Reference in New Issue
Block a user