neovimhaskell / nvim-hs

Neovim API for Haskell plugins as well as the plugin provider
Other
267 stars 18 forks source link

nvim-hs build failure with resourcet-1.2, conduit-1.3 #63

Closed DanBurton closed 6 years ago

DanBurton commented 6 years ago

As seen on the Stackage build server:

[ 9 of 29] Compiling Neovim.Context.Internal ( library/Neovim/Context/Internal.h
s, dist/build/Neovim/Context/Internal.o )

library/Neovim/Context/Internal.hs:76:52: error:
    • No instance for (MonadUnliftIO
                         (StateT st (ReaderT (Config r st) IO)))
        arising from a use of ‘runResourceT’
    • In the first argument of ‘runStateT’, namely ‘(runResourceT a)’
      In the first argument of ‘runReaderT’, namely
        ‘(runStateT (runResourceT a) s)’
      In the second argument of ‘($)’, namely
        ‘runReaderT
           (runStateT (runResourceT a) s)
           (r {customConfig = f (customConfig r)})’
   |
76 |         fmap fst . liftIO $ runReaderT (runStateT (runResourceT a) s)
   |                                                    ^^^^^^^^^^^^^^

library/Neovim/Context/Internal.hs:117:35: error:
    • No instance for (MonadUnliftIO
                         (StateT st (ReaderT (Config r st) IO)))
        arising from a use of ‘runResourceT’
    • In the first argument of ‘runStateT’, namely ‘(runResourceT a)’
      In the first argument of ‘runReaderT’, namely
        ‘(runStateT (runResourceT a) st)’
      In the second argument of ‘(.)’, namely
        ‘runReaderT (runStateT (runResourceT a) st)’
    |
117 |     (try . runReaderT (runStateT (runResourceT a) st)) r >>= \case
    |                                   ^^^^^^^^^^^^^^

I was able to reproduce the build failure locally like so:

stack unpack nvim-hs-0.2.5 && cd nvim-hs-0.2.5
edit stack.yaml # add the following stack.yaml
stack build
# stack.yaml
resolver: nightly-2018-03-10
extra-deps:
- resourcet-1.2.0
- conduit-1.3.0
- conduit-extra-1.3.0
- cereal-conduit-0.8.0
DanBurton commented 6 years ago

I've removed nvim-hs, nvim-hs-contrib, and nvim-hs-ghcid from the Stackage nightly build plan, and unfortunately they won't appear in the initial LTS 11 release.

To get back into nightly, open a PR on the Stackage repo as usual. To get into LTS 11, open an issue on https://github.com/fpco/lts-haskell/issues.

saep commented 6 years ago

Maybe it's time to finally go forward with #56 and do a 1.0.0.0 release. :-)

Hopefully I'll have a PR ready by sunday.

saep commented 6 years ago

Unfortunately it is not ready. Probably sometime in the next 7 days.