So here’s my naive suggestion: We should have a MAKE-CLANG-TOOLCHAIN procedure that, given a clang package, a libc package, and a libc++ package (either libc++ or libstdc++), returns a fully-working clang toolchain.
I did encounter some problems while attempting this as you can see here: https://lists.gnu.org/archive/html/bug-guix/2019-11/msg00042.html As Mathieu pointed out in that thread, the problem is probably that clang cannot find libstdc++ headers. My first instinct is to use C{,PLUS}_INCLUDE_PATH and friends to solve this, but I remember trying this and it not working… Perhaps this needs to be a flag at compile/configure time for clang? By the way, getting clang to work is the last piece I need to get Bitcoin Core release builds fully working on Guix, so I’ll be focusing on this and would appreciate any help I can get from you wizards! Cheers, Carl Dong