I recently updated to the latest Propellor and now I'm getting an error building on a remote host:
[86 of 94] Compiling Propellor.Bootstrap ( src/Propellor/Bootstrap.hs, dist/build/propellor-config/propellor-config-tmp/Propellor/Bootstrap.o )
src/Propellor/Bootstrap.hs:237:22:
No instance for (Typeable Bootstrapper)
arising from a use of `fromInfo'
Possible fix:
add an instance declaration for (Typeable Bootstrapper)
In the expression: fromInfo (maybe mempty hostInfo mh)
In a stmt of a 'do' block:
case fromInfo (maybe mempty hostInfo mh) of {
NoInfoVal
-> do { bs <- getGitConfigValue "propellor.buildsystem";
case bs of {
Just "stack" -> ...
_ -> ... } }
InfoVal bs
-> case getBuilder bs of {
Cabal -> cabalBuild msys
Stack -> stackBuild msys } }
In the second argument of `($)', namely
`do { case fromInfo (maybe mempty hostInfo mh) of {
NoInfoVal -> do { ... }
InfoVal bs
-> case getBuilder bs of {
Cabal -> ...
Stack -> ... } } }'
propellor: cabal build failed
I guess I'm missing something, but not sure what?
I tried adding:
But that fails trying to install stack:
That's not really too surprising, of course, since this package isn't in jessie (or stretch, for that matter).
Okay, got it to work:
After that the build was successful; I think that points to the original failure being due to the ancient GHC in jessie, but I'm not 100% sure.
The haskell-stack package is available in Debian stretch https://packages.debian.org/search?keywords=haskell-stack
Interesting that it works on newer ghc without an explict
Typeable Bootstrapper
instance.I've added the missing instance.