unison icon indicating copy to clipboard operation
unison copied to clipboard

Nix support for GHC upgrade

Open sellout opened this issue 1 year ago • 5 comments

Bumped some versions around, but they’re negotiable.

  • ormolu 0.5.2.0 → 0.7.2.0
  • hls 2.9.0.0 → 2.8.0.0
  • stack 2.15.5 → 2.15.7

sellout avatar Jun 27 '24 23:06 sellout

Most of the commits here are part of #5154, which simplifies the flake on trunk. This PR consists of just a single commit.

Also, there is one test that fails under nix flake check:

clearWatchCache.CodebaseFormat2 EXCEPTION!!!: security: createProcess: posix_spawnp: does not exist (No such file or directory)
💥  clearWatchCache.CodebaseFormat2

@ceedubs has a workaround for this in https://github.com/ceedubs/unison-nix/blob/trunk/nix/darwin-security-hack.nix, but I also think it’s not critical for now, since we don’t run nix flake check in CI yet.

sellout avatar Jun 28 '24 03:06 sellout

If we change the ormolu version in nix, we should change it in CI also. And then I don't know how to get non-nix users to match; the vs code haskell plugin pulls down some version of ormolu (embedded in some version of HLS), but I don't even know how to find out what version it is.

aryairani avatar Jun 28 '24 03:06 aryairani

also we should figure out between #5155 and #5142 which versions of hls and stack to standardize on too

aryairani avatar Jun 28 '24 03:06 aryairani

If we change the ormolu version in nix, we should change it in CI also. And then I don't know how to get non-nix users to match; the vs code haskell plugin pulls down some version of ormolu (embedded in some version of HLS), but I don't even know how to find out what version it is.

Yeah, this is one of the use cases for pulling the versions out into a JSON file[^1], then read that into the flake, workflows, etc.

[^1]: Or probably YAML, so we can have comments like “this is set to match the version of Ormolu included in the VSCode Haskell plugin.”

also we should figure out between #5155 and #5142 which versions of hls and stack to standardize on too

Yeah, my inclination is to use the ones here unless @ChrisPenner has a strong preference, only because it reduces the overrides needed by Nix and less Nix code is better Nix code.

sellout avatar Jun 28 '24 03:06 sellout

The “Nix development cache / ubuntu-20.04” check is failing because it runs out of space trying to build GHC 9.6.5 😕

I should try building that locally and pushing it to the cache.

sellout avatar Jun 28 '24 03:06 sellout

Given @ChrisPenner’s comment, I think the only question is whether it’s ok to bump Ormolu here.

If so, does that mean this PR also needs to run it across the code base?

sellout avatar Jul 01 '24 21:07 sellout

If ormolu has a lot of changes then I'd really love to NOT do that right now, as it'll cause a ton of merge conflicts with my project root stuff 😓 ; if it's not too bad maybe it's fine?

ChrisPenner avatar Jul 01 '24 22:07 ChrisPenner