mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 08:23:09 +00:00
stdenvAdapters.useLibsFrom: use targetStdenv.cc.override
As @SomeoneSerge pointed out in https://github.com/NixOS/nixpkgs/pull/281371#discussion_r1531174155, by avoiding `wrapCCWith` and using `targetStdenv.cc.override`, we avoid roundtrip wrapping and are able to use `coreutils` from `targetStdenv`.
This commit is contained in:
parent
f252205323
commit
e871fcf859
@ -237,14 +237,18 @@ rec {
|
||||
});
|
||||
});
|
||||
|
||||
/* Copy the libstdc++ from the model stdenv to the target stdenv.
|
||||
*
|
||||
* TODO(@connorbaker):
|
||||
* This interface provides behavior which should be revisited prior to the
|
||||
* release of 24.05. For a more detailed explanation and discussion, see
|
||||
* https://github.com/NixOS/nixpkgs/issues/283517. */
|
||||
useLibsFrom = modelStdenv: targetStdenv:
|
||||
let
|
||||
ccForLibs = modelStdenv.cc.cc;
|
||||
cc = pkgs.wrapCCWith {
|
||||
/* NOTE: cc.cc is the unwrapped compiler. Should we respect the old
|
||||
* wrapper instead? */
|
||||
cc = targetStdenv.cc.cc;
|
||||
|
||||
/* NOTE(@connorbaker):
|
||||
* This assumes targetStdenv.cc is a cc-wrapper. */
|
||||
cc = targetStdenv.cc.override {
|
||||
/* NOTE(originally by rrbutani):
|
||||
* Normally the `useCcForLibs`/`gccForLibs` mechanism is used to get a
|
||||
* clang based `cc` to use `libstdc++` (from gcc).
|
||||
|
Loading…
Reference in New Issue
Block a user