From 044e8c4e443c6f5c9e4a8f763c6e6314bf90732c Mon Sep 17 00:00:00 2001 From: Peter Waller Date: Mon, 21 Aug 2023 13:02:04 +0100 Subject: [PATCH] llvmPackages_git: Port stdenv fix for cxx-headers Signed-off-by: Peter Waller --- pkgs/development/compilers/llvm/git/default.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/development/compilers/llvm/git/default.nix b/pkgs/development/compilers/llvm/git/default.nix index 8cf311e9b23a..5ec5d35dcec5 100644 --- a/pkgs/development/compilers/llvm/git/default.nix +++ b/pkgs/development/compilers/llvm/git/default.nix @@ -313,6 +313,19 @@ in let # what stdenv we use here, as long as CMake is happy. cxx-headers = callPackage ./libcxx { inherit llvm_meta; + # Note that if we use the regular stdenv here we'll get cycle errors + # when attempting to use this compiler in the stdenv. + # + # The final stdenv pulls `cxx-headers` from the package set where + # hostPlatform *is* the target platform which means that `stdenv` at + # that point attempts to use this toolchain. + # + # So, we use `stdenv_` (the stdenv containing `clang` from this package + # set, defined below) to sidestep this issue. + # + # Because we only use `cxx-headers` in `libcxxabi` (which depends on the + # clang stdenv _anyways_), this is okay. + stdenv = stdenv_; headersOnly = true; };