callum-oakley / gotta-go-fast

A command line utility for practicing typing and measuring your WPM and accuracy.
BSD 3-Clause "New" or "Revised" License
285 stars 16 forks source link

Cannot build gotta-go-fast with stack due to Brick change #19

Open traytonwhite opened 1 year ago

traytonwhite commented 1 year ago

Trying to install via stack using 2.11.1, I receive the below error messages when Compiling UI:

gotta-go-fast> [2 of 3] Compiling UI
gotta-go-fast>
gotta-go-fast> /tmp/stack-3aa31ed64d0d84e1/gotta-go-fast-0.3.0.8/src/UI.hs:6:65: error: Module ‘Brick’ does not export ‘Next’
gotta-go-fast>   |
gotta-go-fast> 6 |                                          EventM, Location (..), Next,
gotta-go-fast>   |                                                                 ^^^^
gotta-go-fast>
gotta-go-fast> /tmp/stack-3aa31ed64d0d84e1/gotta-go-fast-0.3.0.8/src/UI.hs:8:52: error: Module ‘Brick’ does not export ‘continue’
gotta-go-fast>   |
gotta-go-fast> 8 |                                          attrName, continue, defaultMain,
gotta-go-fast>   |                                                    ^^^^^^^^

It appears at v1 Brick moved away from Next and continue to a different control flow mechanism: https://github.com/jtdaugherty/brick/blob/master/CHANGELOG.md#10

Not sure if you'd prefer to add a version cap to the gotta-go-fast.cabal file: https://github.com/callum-oakley/gotta-go-fast/blob/195b736b4a54261f01353150df9ff5dd5b3ad21f/gotta-go-fast.cabal#L24

Or update to use the new control flow mechanism.

kenranunderscore commented 1 year ago

FWIW, I just successfully built it after cloning, with stack build, and stack --version showing 2.13.1. The difference lies in the LTS version: the committed stack.yaml definitely still works, but the stack install gotta-go-fast command without being in the project directory uses the latest snapshot, lts-21.22, with which it stops working.