Change:
gcc-arm-embedded-12 = callPackage ../development/compilers/gcc-arm-embedded/12 { }; gcc-arm-embedded = gcc-arm-embedded-12; <del> # Has to match the default gcc so that there are no linking errors when # using C/C++ libraries in D packages gdc = wrapCC (gcc.cc.override { </del> <ins> # It would be better to match the default gcc so that there are no linking errors # when using C/C++ libraries in D packages, but right now versions >= 12 are broken. gdc = gdc11; gdc11 = wrapCC (gcc11.cc.override { </ins> name = "gdc"; langCC = false; langC = false;

Discussion:
Steps to reproduce the behavior: <details<summaryClick to expand build log</summary<pre<codeerror: … while evaluating the attribute 'buildInputs' of the derivation 'shell' at /nix/var/nix/profiles/per-user/root/channels/nixos/pkgs/stdenv/generic/make- 302 (attrs ? pname && attrs ? version)) { 303| name = | ^ 304| let … while evaluating the attribute 'nativeBuildInputs' of the derivation 'tumiki-fighters-0.21' at /nix/var/nix/profiles/per-user/root/channels/nixos/pkgs/stdenv/generic/make- 302 (attrs ? pname && attrs ? version)) { 303| name = | ^ 304| let … while evaluating call site at «none»:0: (source not available) … while calling 'getOutput' at /nix/var/nix/profiles/per- 891| / 892| getOutput = output: pkg: | ^ 893 !

pkg.outputSpecified … while evaluating call site at «none»:0: (source not available) … while calling anonymous lambda at /nix/var/nix/profiles/per-user/root/channels/nixos/pkgs/stdenv/generic/make- 243| (map (drv: drv.spliced.buildBuild or drv) (checkDependencyList "depsBuildBuild" depsBuildBuild)) 244| (map (drv: drv.spliced.buildHost or drv) (checkDependencyList "nativeBuildInputs" nativeBuildInputs')) | ^ 245| (map (drv: drv.__spliced.buildTarget or drv) (checkDependencyList "depsBuildTarget" depsBuildTarget)) … while evaluating call site at «none»:0: (source not available) … while calling anonymous lambda at /nix/var/nix/profiles/per- 116| / 117| imap1 = f: list: genList (n: f (n + 1) (elemAt list n)) (length list); | ^ 118| … while evaluating call site at /nix/var/nix/profiles/per- 116| / 117| imap1 = f: list: genList (n: f (n + 1) (elemAt list n)) (length list); | ^ 118| … while calling anonymous lambda at /nix/var/nix/profiles/per-user/root/channels/nixos/pkgs/stdenv/generic/make- 215| checkDependencyList = checkDependencyList' []; 216| checkDependencyList' = positions: name: deps: lib.imap1 deps (index: dep: | ^ 217 builtins.typeOf dep == "path" then dep … while evaluating call site at /nix/var/nix/profiles/per-user/root/channels/nixos/pkgs/stdenv/generic/make- 216| checkDependencyList' = positions: name: deps: lib.imap1 deps (index: dep: 217 builtins.typeOf dep == "path" then dep | ^ 218| else if lib.isList dep then checkDependencyList' ([index] ++ positions) name dep … while calling 'isDerivation' at /nix/var/nix/profiles/per- 635| # Value to check.

636| value: or null == "derivation"; | ^ 637| … while evaluating call site at /nix/var/nix/profiles/per-user/root/channels/nixos/pkgs/top-level/all- | # using C/C++ libraries in D packages | gdc = wrapCC ( { | ^ | name = "gdc"; … while calling 'wrapCC' at /nix/var/nix/profiles/per-user/root/channels/nixos/pkgs/top-level/all- | | wrapCC = cc: wrapCCWith { | ^ | inherit cc; … while evaluating call site at /nix/var/nix/profiles/per-user/root/channels/nixos/pkgs/top-level/all- | | wrapCC = cc: wrapCCWith { | ^ | inherit cc; … while calling 'wrapCCWith' at /nix/var/nix/profiles/per-user/root/channels/nixos/pkgs/top-level/all- | wrapCCWith = | { cc | ^ | , # This should be the only bintools runtime dep with this sort of logic. The … while evaluating call site at /nix/var/nix/profiles/per-user/root/channels/nixos/pkgs/top-level/all- | } @ extraArgs: | callPackage ../build-support/cc-wrapper (let self = { | ^ | nativeTools = stdenv.targetPlatform == stdenv.hostPlatform && or false; … while calling 'callPackageWith' at /nix/var/nix/profiles/per- 127| / 128| callPackageWith = autoArgs: fn: args: | ^ 129| let … while evaluating call site at /nix/var/nix/profiles/per- 178| 179| in if missingArgs == [] then makeOverridable f allArgs else abort error; | ^ 180| … while calling 'makeOverridable' at /nix/var/nix/profiles/per- 77| / 78| makeOverridable = f: origArgs: | ^ 79| let … while evaluating call site at /nix/var/nix/profiles/per- 79| let 80| result = f origArgs; | ^ 81| … while calling anonymous lambda at /nix/var/nix/profiles/per-user/root/channels/nixos/pkgs/build-support/cc- 7| 8| { name ? ""

| ^ 9| , lib … while evaluating call site at /nix/var/nix/profiles/per-user/root/channels/nixos/pkgs/top-level/all- | # using C/C++ libraries in D packages | gdc = wrapCC ( { | ^ | name = "gdc"; … while calling anonymous lambda at /nix/var/nix/profiles/per- 87| # Re-call the function but with different arguments 88| overrideArgs = copyArgs (newArgs: makeOverridable f (overrideWith newArgs)); | ^ 89| # Change the result of the function call by applying g to it … while evaluating call site at /nix/var/nix/profiles/per- 87| # Re-call the function but with different arguments 88| overrideArgs = copyArgs (newArgs: makeOverridable f (overrideWith newArgs)); | ^ 89| # Change the result of the function call by applying g to it … while calling 'makeOverridable' at /nix/var/nix/profiles/per- 77| / 78| makeOverridable = f: origArgs: | ^ 79| let … while evaluating call site at /nix/var/nix/profiles/per- 79| let 80| result = f origArgs; | ^ 81| … while calling anonymous lambda at /nix/var/nix/profiles/per- 89| # Change the result of the function call by applying g to it 90| overrideResult = g: makeOverridable (copyArgs (args: g (f args))) origArgs; | ^ 91| in … while evaluating call site at /nix/var/nix/profiles/per- 89| # Change the result of the function call by applying g to it 90| overrideResult = g: makeOverridable (copyArgs (args: g (f args))) origArgs; | ^ 91| in … while calling anonymous lambda at /nix/var/nix/profiles/per- 96| ${if result ?

overrideAttrs then "overrideAttrs" else null} = fdrv: 97| overrideResult (x: x.overrideAttrs fdrv); | ^ 98| } … while evaluating call site at /nix/var/nix/profiles/per- 89| # Change the result of the function call by applying g to it 90| overrideResult = g: makeOverridable (copyArgs (args: g (f args))) origArgs; | ^ 91| in … while calling anonymous lambda at /nix/var/nix/profiles/per- 1| { lib, stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs | ^ 2| , langC ? true, langCC ? true, langFortran ? false error: assertion '(! langD)' failed at /nix/var/nix/profiles/per- 44| # error: GDC is required to build d 45| assert !langD; | ^ 46| </code</pre</details<!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Please run and paste the result.
It's actually gdc that is failing eval, pinging ( doesn't exist anymore??)
See PR gdc seriously lacks someone in nixpkgs who would take care of it.