tweag/funflow

Nix releases are failing to build

rihardsk opened this issue · 4 comments

Recently i wanted to try out funflow using nix, but it failed to build. The build jobs on nixpkgs's hydra build server are failing as well https://hydra.nixos.org/job/nixpkgs/trunk/haskellPackages.funflow.x86_64-linux

I can provide you with build error outputs that nix is producing if you wish (after a while when i have some time).

Or is this something i should report in the nixpkgs github?

I imagine this is because the testsuite fails because it relies on some external processes. There are no longer any logs on hydra though to verify this.

nc6 commented

Building this and taking a look now...

Here's the output of building a simple project with funflow as the only dependency

funflow-nix-error.log

nc6 commented
/home/nc/topos/pfizer/funflow/funflow/src/Control/Funflow/Exec/Simple.hs:152:11: error:                                                                                    
    * Could not deduce (Control.Monad.Fail.MonadFail m)           
        arising from a do statement
        with the failable pattern `KnownTask _'
      from the context: (Coordinator c, Exception ex,
                         MonadBaseControl IO m, MonadMask m, KatipContext m)
        bound by the type signature for:
                   runFlowEx :: forall (m :: * -> *) c (eff :: * -> * -> *) ex a b.
                                (Coordinator c, Exception ex, MonadIO m, MonadBaseControl IO m,                                                                            
                                 MonadCatch m, MonadMask m, KatipContext m) =>
                                c
                                -> Config c       
                                -> CS.ContentStore
                                -> (eff ~> AsyncA m)
                                -> Int
                                -> Flow eff ex a b
                                -> a 
                                -> m b
        at src/Control/Funflow/Exec/Simple.hs:(53,1)-(65,16)
      or from: b1 ~ CS.Item                      
        bound by a pattern with constructor:
                   External :: forall a (eff :: * -> * -> *).
                               ExternalProperties a -> (a -> ExternalTask) -> Flow' eff a CS.Item,                                                                         
                 in an equation for runFlow'   
        at src/Control/Funflow/Exec/Simple.hs:121:18-38                                                                                                                    
      Possible fix:                                                                                                                                                        
        add (Control.Monad.Fail.MonadFail m) to the context of
          the type signature for:
            runFlow' :: forall a1 b1.

So this is to do with newer versions of GHC requiring MonadFail. I'll push a fix for this.