@@ -70,6 +70,9 @@ pkgs.nixComponents2.nix-util.overrideAttrs (
7070
7171 # We use this shell with the local checkout, not unpackPhase.
7272 src = null ;
73+ # Workaround https://sourceware.org/pipermail/gdb-patches/2025-October/221398.html
74+ # Remove when gdb fix is rolled out everywhere.
75+ separateDebugInfo = false ;
7376
7477 env = {
7578 # For `make format`, to work without installing pre-commit
@@ -93,38 +96,44 @@ pkgs.nixComponents2.nix-util.overrideAttrs (
9396 ++ map ( transformFlag "libcmd" ) ( ignoreCrossFile pkgs . nixComponents2 . nix-cmd . mesonFlags ) ;
9497
9598 nativeBuildInputs =
96- attrs . nativeBuildInputs or [ ]
97- ++ pkgs . nixComponents2 . nix-util . nativeBuildInputs
98- ++ pkgs . nixComponents2 . nix-store . nativeBuildInputs
99- ++ pkgs . nixComponents2 . nix-fetchers . nativeBuildInputs
100- ++ pkgs . nixComponents2 . nix-expr . nativeBuildInputs
101- ++ lib . optionals havePerl pkgs . nixComponents2 . nix-perl-bindings . nativeBuildInputs
102- ++ lib . optionals buildCanExecuteHost pkgs . nixComponents2 . nix-manual . externalNativeBuildInputs
103- ++ pkgs . nixComponents2 . nix-internal-api-docs . nativeBuildInputs
104- ++ pkgs . nixComponents2 . nix-external-api-docs . nativeBuildInputs
105- ++ pkgs . nixComponents2 . nix-functional-tests . externalNativeBuildInputs
106- ++ lib . optional (
107- ! buildCanExecuteHost
108- # Hack around https://github.com/nixos/nixpkgs/commit/bf7ad8cfbfa102a90463433e2c5027573b462479
109- && ! ( stdenv . hostPlatform . isWindows && stdenv . buildPlatform . isDarwin )
110- && stdenv . hostPlatform . emulatorAvailable pkgs . buildPackages
111- && lib . meta . availableOn stdenv . buildPlatform ( stdenv . hostPlatform . emulator pkgs . buildPackages )
112- ) pkgs . buildPackages . mesonEmulatorHook
113- ++ [
114- pkgs . buildPackages . cmake
115- pkgs . buildPackages . gnused
116- pkgs . buildPackages . shellcheck
117- pkgs . buildPackages . changelog-d
118- modular . pre-commit . settings . package
119- ( pkgs . writeScriptBin "pre-commit-hooks-install" modular . pre-commit . settings . installationScript )
120- pkgs . buildPackages . nixfmt-rfc-style
121- pkgs . buildPackages . shellcheck
122- pkgs . buildPackages . gdb
123- ]
124- ++ lib . optional ( stdenv . cc . isClang && stdenv . hostPlatform == stdenv . buildPlatform ) (
125- lib . hiPrio pkgs . buildPackages . clang-tools
126- )
127- ++ lib . optional stdenv . hostPlatform . isLinux pkgs . buildPackages . mold-wrapped ;
99+ let
100+ inputs =
101+ attrs . nativeBuildInputs or [ ]
102+ ++ pkgs . nixComponents2 . nix-util . nativeBuildInputs
103+ ++ pkgs . nixComponents2 . nix-store . nativeBuildInputs
104+ ++ pkgs . nixComponents2 . nix-fetchers . nativeBuildInputs
105+ ++ pkgs . nixComponents2 . nix-expr . nativeBuildInputs
106+ ++ lib . optionals havePerl pkgs . nixComponents2 . nix-perl-bindings . nativeBuildInputs
107+ ++ lib . optionals buildCanExecuteHost pkgs . nixComponents2 . nix-manual . externalNativeBuildInputs
108+ ++ pkgs . nixComponents2 . nix-internal-api-docs . nativeBuildInputs
109+ ++ pkgs . nixComponents2 . nix-external-api-docs . nativeBuildInputs
110+ ++ pkgs . nixComponents2 . nix-functional-tests . externalNativeBuildInputs
111+ ++ lib . optional (
112+ ! buildCanExecuteHost
113+ # Hack around https://github.com/nixos/nixpkgs/commit/bf7ad8cfbfa102a90463433e2c5027573b462479
114+ && ! ( stdenv . hostPlatform . isWindows && stdenv . buildPlatform . isDarwin )
115+ && stdenv . hostPlatform . emulatorAvailable pkgs . buildPackages
116+ && lib . meta . availableOn stdenv . buildPlatform ( stdenv . hostPlatform . emulator pkgs . buildPackages )
117+ ) pkgs . buildPackages . mesonEmulatorHook
118+ ++ [
119+ pkgs . buildPackages . cmake
120+ pkgs . buildPackages . gnused
121+ pkgs . buildPackages . shellcheck
122+ pkgs . buildPackages . changelog-d
123+ modular . pre-commit . settings . package
124+ ( pkgs . writeScriptBin "pre-commit-hooks-install" modular . pre-commit . settings . installationScript )
125+ pkgs . buildPackages . nixfmt-rfc-style
126+ pkgs . buildPackages . shellcheck
127+ pkgs . buildPackages . gdb
128+ ]
129+ ++ lib . optional ( stdenv . cc . isClang && stdenv . hostPlatform == stdenv . buildPlatform ) (
130+ lib . hiPrio pkgs . buildPackages . clang-tools
131+ )
132+ ++ lib . optional stdenv . hostPlatform . isLinux pkgs . buildPackages . mold-wrapped ;
133+ in
134+ # FIXME: separateDebugInfo = false doesn't actually prevent -Wa,--compress-debug-sections
135+ # from making its way into NIX_CFLAGS_COMPILE.
136+ lib . filter ( p : ! lib . hasInfix "separate-debug-info" p ) inputs ;
128137
129138 buildInputs = [
130139 pkgs . gbenchmark
0 commit comments