diff options
Diffstat (limited to 'pkgs/stdenv/adapters.nix')
-rw-r--r-- | pkgs/stdenv/adapters.nix | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 84d3258949ebb..2ec6a6c07c3ee 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -50,19 +50,18 @@ rec { # because older compilers may not be able to parse the headers from the default stdenvās libc++. overrideLibcxx = stdenv: assert stdenv.cc.libcxx != null; + assert pkgs.stdenv.cc.libcxx != null; + # only unified libcxx / libcxxabi stdenv's are supported + assert lib.versionAtLeast pkgs.stdenv.cc.libcxx.version "12"; + assert lib.versionAtLeast stdenv.cc.libcxx.version "12"; let llvmLibcxxVersion = lib.getVersion llvmLibcxx; - stdenvLibcxxVersion = lib.getVersion stdenvLibcxx; stdenvLibcxx = pkgs.stdenv.cc.libcxx; - stdenvCxxabi = pkgs.stdenv.cc.libcxx.cxxabi; - llvmLibcxx = stdenv.cc.libcxx; - llvmCxxabi = stdenv.cc.libcxx.cxxabi; libcxx = pkgs.runCommand "${stdenvLibcxx.name}-${llvmLibcxxVersion}" { outputs = [ "out" "dev" ]; - inherit cxxabi; isLLVM = true; } '' mkdir -p "$dev/nix-support" @@ -70,21 +69,10 @@ rec { echo '${stdenvLibcxx}' > "$dev/nix-support/propagated-build-inputs" ln -s '${lib.getDev llvmLibcxx}/include' "$dev/include" ''; - - cxxabi = pkgs.runCommand "${stdenvCxxabi.name}-${llvmLibcxxVersion}" { - outputs = [ "out" "dev" ]; - inherit (stdenvCxxabi) libName; - } '' - mkdir -p "$dev/nix-support" - ln -s '${stdenvCxxabi}' "$out" - echo '${stdenvCxxabi}' > "$dev/nix-support/propagated-build-inputs" - ln -s '${lib.getDev llvmCxxabi}/include' "$dev/include" - ''; in overrideCC stdenv (stdenv.cc.override { inherit libcxx; extraPackages = [ - cxxabi pkgs.buildPackages.targetPackages."llvmPackages_${lib.versions.major llvmLibcxxVersion}".compiler-rt ]; }); |