Commit 5953ae56 authored by Zhaofeng Li's avatar Zhaofeng Li
Browse files

Don't trigger the evaluation of apple-sdk in Linux stdenv

During the Apple SDK revamp of #346043, cc-wrapper and bintools-wrapper
were modified to automatically add a fallback SDK if $DEVELOPER_DIR is
not set [^1]. However, because of the order of the && operands,
apple-sdk is always evaluated even when it's not needed.

Flip the && operands so we only trigger the evaluation when targeting
Darwin.

[^1]: 51755b0c
parent 2795c506
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -492,7 +492,7 @@ stdenvNoCC.mkDerivation {
        darwinMinVersionVariable
        ;
    }
    // lib.optionalAttrs (apple-sdk != null && stdenvNoCC.targetPlatform.isDarwin) {
    // lib.optionalAttrs (stdenvNoCC.targetPlatform.isDarwin && apple-sdk != null) {
      # Wrapped compilers should do something useful even when no SDK is provided at `DEVELOPER_DIR`.
      fallback_sdk = apple-sdk.__spliced.buildTarget or apple-sdk;
    };
+1 −1
Original line number Diff line number Diff line
@@ -889,7 +889,7 @@ stdenvNoCC.mkDerivation {
      # These will become empty strings when not targeting Darwin.
      inherit (targetPlatform) darwinMinVersion darwinMinVersionVariable;
    }
    // lib.optionalAttrs (apple-sdk != null && stdenvNoCC.targetPlatform.isDarwin) {
    // lib.optionalAttrs (stdenvNoCC.targetPlatform.isDarwin && apple-sdk != null) {
      # Wrapped compilers should do something useful even when no SDK is provided at `DEVELOPER_DIR`.
      fallback_sdk = apple-sdk.__spliced.buildTarget or apple-sdk;
    };