From 8f277e153794cdab0b676e09a6ed67d88e583cc4 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Tue, 7 Oct 2025 14:49:58 -0700 Subject: [PATCH] nixComponents: gate GCC flags on Nix 2.32+ This is based on advice from @xokdvium on Matrix. --- .../package-management/nix/modular/packaging/components.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/package-management/nix/modular/packaging/components.nix b/pkgs/tools/package-management/nix/modular/packaging/components.nix index f140fb4a9f49..2a8b5e12a4c4 100644 --- a/pkgs/tools/package-management/nix/modular/packaging/components.nix +++ b/pkgs/tools/package-management/nix/modular/packaging/components.nix @@ -154,7 +154,10 @@ let }; mesonLibraryLayer = finalAttrs: prevAttrs: { - preConfigure = + # See https://github.com/NixOS/nix/pull/14105 -- enabling this only for Nix 2.32+ as there are + # reports of undefined behavior on previous versions. Note that this does //not// use + # `finalAttrs.version` in order to avoid infinite recursion. + ${if lib.versionOlder version "2.32" then null else "preConfigure"} = let interpositionFlags = [ "-fno-semantic-interposition"