two interesting changes here:
first, 0.19.2 needs to be built with GHC 9.8 rather than GHC 9.6. So,
we move it and ansi-wl-pprint from packages/ghc9_6/ to
packages/ghc9_8/, adding the elmPkgs attributes to
packages/ghc9_8/default.nix. however, elm-format does *not* want the
older ansi-wl-pprint, so we push its use down inside the 'callPackage
./elm {}' scope.
second, we're picking up a newer version of ansi-terminal than
upstream uses, which has introduced a couple of new
underlining-related constructors. so, we patch in cases for them
where necessary. (I was a bit surprised that the existing
SingleUnderline and DoubleUnderline cases in the 'isUnderline'
function did not both evaluate to 'True', so I'm taking my best guess
as to the real intent here; easy enough to fix if we discover these
new cases should be 'True'.)
we also manually preserve the 'description' attribute in
elm/default.nix. (the update script clobbered it.)
other than the above, the update script as modified here produced all
these changes.
This release officially supports GHC 9.6.
To avoid dependency conflicts with the elm compiler (see ansi-wl-pprint), elm-format is now built with GHC 9.8.
The GHC 9.4 elm package overrides have been removed.
This allows dropping elmi-to-json, which in turn allows dropping GHC
8.10.7. Along with elmi-to-json, we can remove the patchBinwrap utility,
which was only used for that purpose.
Along with elm-coverage, we can also drop elm-instrument, which was only
used as a dependency of the former, and it's reverse dependency indents.
Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:
nix-build ci -A fmt.check
This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).
This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).
Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](8616af08d9/maintainers/scripts/auto-rebase).
If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
Our Haskell package set for 8.10.7 violates the following bounds of
aeson 1.5:
hashable-time >=0.2.1 && <0.3,
primitive >=0.7.0.1 && <0.8,
vector >=0.12.0.1 && <0.13
Seems like it still compiles in spite of that…
Follow-up to #230543, we were still using nodejs_14 for some packages.
I also turned the node dependency into an input, so that it can be
overriden, which is handy for local testing.