I think this was a rebase mishap and causes a ton of rebuilds.
Not sure if we actually need the Darwin condition any more (or to be
using the older `isl` version?), but `master` isn’t the place to
find out :)
Fixes: 90474914ee
When `gcc` is cross-built (`build` != `target` && `host` == `target`)
`gcc` assumes that it has a compatible cross-compiler in the environment
that can build target libraries. Version of a cross-compiler has to
match the compiler being cross-built as libraries frequently use fresh
compiler features, like `-std=c++26` or target-specific types like
`_Bfloat16`.
Version mismatch causes build failures like:
https://github.com/NixOS/nixpkgs/issues/351905
Similar problems (but on a smaller scale) happen when a `gcc`
cross-compiler is built (`build` == `host` && `host` != `target`) built
by a mismatching version of a native compiler (`build` == `host` &&
`host` == `target`). That was worked around by forcing `gcc9Stdenv` for
older compiler versions.
Let's fix both problems by requiring the same compiler version for
cross-case.
Closes: https://github.com/NixOS/nixpkgs/issues/351905
Release branch from 6½ years ago, no update in 3½ years, unsupported
upstream, and unused in tree.
This finally resolves the tangled conditionals in `all.nix`, albeit in
a way I assume amjoseph wouldn’t have been too fond of. `default.nix`
still has some gnarly stuff in there. So it goes…
PR #350299 broke Flutter's update script with how it handled getting the
platform. Furthermore, the problem was made worse in the last update to
Flutter which had to work around that problem. We'll just revert it for
now and do a proper fix once we can figure out how to satify setting the
different platforms without causing any more problems.