From 77d67d4b7646a82ddb27b76056a930b1425e9928 Mon Sep 17 00:00:00 2001 From: Aliaksandr Date: Sun, 5 Apr 2026 02:51:21 +0300 Subject: [PATCH] cc-wrapper: replace // optionalAttrs with nullable attr names Inline optionalAttrs for Go passthru attrs and fallback_sdk. Replace mapAttrs+optionalString for Darwin env vars with direct optionalString calls, eliminating intermediate attrset and // merge. --- pkgs/build-support/cc-wrapper/default.nix | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 103e5e9f5994..fd857d0c152d 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -453,13 +453,12 @@ stdenvNoCC.mkDerivation { inherit nixSupport; inherit defaultHardeningFlags; - } - // optionalAttrs cc.langGo or false { + # So gccgo looks more like go for buildGoModule - - inherit (targetPlatform.go) GOOS GOARCH GOARM; - - CGO_ENABLED = 1; + ${if cc.langGo or false then "GOOS" else null} = targetPlatform.go.GOOS; + ${if cc.langGo or false then "GOARCH" else null} = targetPlatform.go.GOARCH; + ${if cc.langGo or false then "GOARM" else null} = targetPlatform.go.GOARM; + ${if cc.langGo or false then "CGO_ENABLED" else null} = 1; }; dontBuild = true; @@ -995,14 +994,12 @@ stdenvNoCC.mkDerivation { inherit darwinPlatformForCC; default_hardening_flags_str = toString defaultHardeningFlags; inherit useMacroPrefixMap; - } - // lib.mapAttrs (_: lib.optionalString targetPlatform.isDarwin) { # These will become empty strings when not targeting Darwin. - inherit (targetPlatform) darwinMinVersion darwinMinVersionVariable; - } - // lib.optionalAttrs (stdenvNoCC.targetPlatform.isDarwin && apple-sdk != null) { + darwinMinVersion = lib.optionalString targetPlatform.isDarwin targetPlatform.darwinMinVersion; + darwinMinVersionVariable = lib.optionalString targetPlatform.isDarwin targetPlatform.darwinMinVersionVariable; # Wrapped compilers should do something useful even when no SDK is provided at `DEVELOPER_DIR`. - fallback_sdk = apple-sdk.__spliced.buildTarget or apple-sdk; + ${if stdenvNoCC.targetPlatform.isDarwin && apple-sdk != null then "fallback_sdk" else null} = + apple-sdk.__spliced.buildTarget or apple-sdk; }; meta =