channable / hoff

A gatekeeper for your commits
Apache License 2.0
41 stars 3 forks source link

Switch from Stack to Cabal #225

Closed robbert-vdh closed 1 year ago

robbert-vdh commented 1 year ago

This switches everything over form Stack to Cabal, removing the dependency on Stack and improving compatibility with hls. For consistency's sake I also modified the Nix build and the Semaphore prologue to match the more modern overlay setup used by other projects. Lastly I also added missing changelog entries for Hoff 29.1 and up since I noticed those were missing.

The one thing that is now go after this change ne is the license check in the CI. Stack had a ls dependencies option that could list every (transitive) dependency's license. cabal-plan seems reasonably popular and it also has a similar option, but after spending a bit too much time getting that to build with Nix I gave up for now. I now know how to get this to build, but it requires packaging a different version of the cabal-install-parsers package than the version packaged on nixpkgs. So instead of getting stuck in the sunk costs fallacy I decided to forego it for now. If having automated license checks is important important enough I can package the older cabal-install-parsers version in our Haskell overlay and configure cabal-plan with the license report feature so we can add this back in.

robbert-vdh commented 1 year ago

Then let's merge this! @OpsBotPrime merge

OpsBotPrime commented 1 year ago

Pull request approved for merge by @robbert-vdh, rebasing now.

OpsBotPrime commented 1 year ago

Rebased as b591f73b61e27c64373e5ad5399792394c83b4d2, waiting for CI …

OpsBotPrime commented 1 year ago

CI job :yellow_circle: started.