Build #2 for mergeful-persistent-0.1.0.0

[all reports]

Package mergeful-persistent-0.1.0.0
Install BuildFailed
Docs NotTried
Tests NotTried
Time submitted 2021-11-21 13:07:50.451939079 UTC
Compiler ghc-8.10.2
OS linux
Arch x86_64
Dependencies base-4.14.1.0, containers-0.6.2.1, mergeful-0.2.0.0, microlens-0.4.12.0, mtl-2.2.2, persistent-2.13.2.1
Flags none

Code Coverage

No Code Coverage was submitted for this report.

Build log

[view raw]

Resolving dependencies...
Starting     base64-bytestring-1.2.1.0
Starting     auto-update-0.1.6
Starting     base-orphans-0.8.6
Starting     base-compat-0.12.1
Building     auto-update-0.1.6
Building     base-orphans-0.8.6
Building     base64-bytestring-1.2.1.0
Building     base-compat-0.12.1
Completed    auto-update-0.1.6
Starting     blaze-builder-0.4.2.2
Building     blaze-builder-0.4.2.2
Completed    base64-bytestring-1.2.1.0
Starting     data-default-class-0.1.2.0
Building     data-default-class-0.1.2.0
Completed    data-default-class-0.1.2.0
Starting     dlist-1.0
Building     dlist-1.0
Completed    base-orphans-0.8.6
Starting     easy-file-0.2.2
Completed    blaze-builder-0.4.2.2
Starting     hashable-1.3.5.0
Building     easy-file-0.2.2
Completed    base-compat-0.12.1
Starting     indexed-traversable-0.1.2
Building     hashable-1.3.5.0
Building     indexed-traversable-0.1.2
Completed    easy-file-0.2.2
Starting     integer-logarithms-1.0.3.1
Building     integer-logarithms-1.0.3.1
Completed    dlist-1.0
Starting     lift-type-0.1.0.1
Building     lift-type-0.1.0.1
Completed    hashable-1.3.5.0
Starting     microlens-0.4.12.0
Completed    integer-logarithms-1.0.3.1
Starting     monad-loops-0.4.3
Completed    lift-type-0.1.0.1
Starting     network-3.1.2.5
Building     microlens-0.4.12.0
Building     monad-loops-0.4.3
Completed    indexed-traversable-0.1.2
Starting     old-locale-1.0.0.7
Building     old-locale-1.0.0.7
Completed    monad-loops-0.4.3
Starting     path-pieces-0.2.1
Completed    old-locale-1.0.0.7
Starting     primitive-0.7.3.0
Building     path-pieces-0.2.1
Building     primitive-0.7.3.0
Building     network-3.1.2.5
Completed    microlens-0.4.12.0
Starting     silently-1.2.5.2
Building     silently-1.2.5.2
Completed    path-pieces-0.2.1
Starting     split-0.2.3.4
Building     split-0.2.3.4
Completed    silently-1.2.5.2
Starting     splitmix-0.1.0.4
Building     splitmix-0.1.0.4
Completed    split-0.2.3.4
Starting     stm-chans-3.0.0.6
Building     stm-chans-3.0.0.6
Completed    splitmix-0.1.0.4
Starting     tagged-0.8.6.1
Building     tagged-0.8.6.1
Completed    stm-chans-3.0.0.6
Starting     th-abstraction-0.4.3.0
Building     th-abstraction-0.4.3.0
Completed    tagged-0.8.6.1
Starting     transformers-compat-0.7.1
Building     transformers-compat-0.7.1
Completed    network-3.1.2.5
Starting     unix-compat-0.5.3
Building     unix-compat-0.5.3
Completed    th-abstraction-0.4.3.0
Starting     unliftio-core-0.2.0.1
Building     unliftio-core-0.2.0.1
Completed    transformers-compat-0.7.1
Starting     validity-0.12.0.0
Completed    primitive-0.7.3.0
Starting     zlib-0.6.2.3
Building     validity-0.12.0.0
Completed    unix-compat-0.5.3
Starting     cookie-0.4.5
Building     zlib-0.6.2.3
Completed    unliftio-core-0.2.0.1
Starting     blaze-markup-0.8.2.8
Building     cookie-0.4.5
Building     blaze-markup-0.8.2.8
Completed    validity-0.12.0.0
Starting     unordered-containers-0.2.15.0
Completed    cookie-0.4.5
Starting     time-compat-1.9.6.1
Building     unordered-containers-0.2.15.0
Building     time-compat-1.9.6.1
Completed    blaze-markup-0.8.2.8
Starting     data-fix-0.3.2
Building     data-fix-0.3.2
Completed    zlib-0.6.2.3
Starting     case-insensitive-1.2.1.0
Building     case-insensitive-1.2.1.0
Completed    time-compat-1.9.6.1
Starting     async-2.2.4
Completed    data-fix-0.3.2
Starting     OneTuple-0.3.1
Building     async-2.2.4
Completed    case-insensitive-1.2.1.0
Starting     old-time-1.1.0.3
Building     OneTuple-0.3.1
Building     old-time-1.1.0.3
Completed    async-2.2.4
Starting     random-1.2.1
Completed    OneTuple-0.3.1
Starting     distributive-0.6.2.1
Building     random-1.2.1
Building     distributive-0.6.2.1
Completed    old-time-1.1.0.3
Starting     th-lift-0.8.2
Completed    unordered-containers-0.2.15.0
Starting     transformers-base-0.4.6
Completed    distributive-0.6.2.1
Starting     vector-0.12.3.1
Building     th-lift-0.8.2
Building     transformers-base-0.4.6
Building     vector-0.12.3.1
Completed    transformers-base-0.4.6
Starting     scientific-0.3.7.0
Completed    th-lift-0.8.2
Starting     resourcet-1.2.4.3
Building     scientific-0.3.7.0
Building     resourcet-1.2.4.3
Completed    resourcet-1.2.4.3
Starting     validity-time-0.4.0.0
Completed    random-1.2.1
Starting     validity-containers-0.5.0.4
Building     validity-time-0.4.0.0
Completed    scientific-0.3.7.0
Starting     blaze-html-0.9.1.2
Building     validity-containers-0.5.0.4
Building     blaze-html-0.9.1.2
Completed    validity-time-0.4.0.0
Starting     http-types-0.12.3
Completed    validity-containers-0.5.0.4
Starting     unliftio-0.2.20
Building     http-types-0.12.3
Building     unliftio-0.2.20
Completed    http-types-0.12.3
Starting     typed-process-0.2.7.0
Building     typed-process-0.2.7.0
Completed    typed-process-0.2.7.0
Starting     base-compat-batteries-0.12.1
Building     base-compat-batteries-0.12.1
Completed    unliftio-0.2.20
Starting     unix-time-0.4.7
Building     unix-time-0.4.7
Completed    base-compat-batteries-0.12.1
Starting     comonad-5.0.8
Completed    unix-time-0.4.7
Starting     monad-control-1.0.3.1
Building     comonad-5.0.8
Building     monad-control-1.0.3.1
Completed    blaze-html-0.9.1.2
Starting     uuid-types-1.0.5
Building     uuid-types-1.0.5
Completed    monad-control-1.0.3.1
Starting     streaming-commons-0.2.2.2
Building     streaming-commons-0.2.2.2
Completed    comonad-5.0.8
Starting     attoparsec-0.14.2
Building     attoparsec-0.14.2
Completed    uuid-types-1.0.5
Starting     fast-logger-3.0.5
Building     fast-logger-3.0.5
Completed    fast-logger-3.0.5
Starting     lifted-base-0.2.3.12
Building     lifted-base-0.2.3.12
Completed    streaming-commons-0.2.2.2
Starting     bifunctors-5.5.11
Building     bifunctors-5.5.11
Completed    lifted-base-0.2.3.12
Completed    attoparsec-0.14.2
Starting     attoparsec-iso8601-1.0.2.0
Completed    vector-0.12.3.1
Starting     th-lift-instances-0.1.18
Starting     vector-algorithms-0.8.0.4
Building     attoparsec-iso8601-1.0.2.0
Building     th-lift-instances-0.1.18
Building     vector-algorithms-0.8.0.4
Completed    attoparsec-iso8601-1.0.2.0
Starting     resource-pool-0.2.3.2
Completed    th-lift-instances-0.1.18
Starting     http-api-data-0.4.3
Building     resource-pool-0.2.3.2
Building     http-api-data-0.4.3
Completed    resource-pool-0.2.3.2
Completed    bifunctors-5.5.11
Starting     assoc-1.0.2
Building     assoc-1.0.2
Completed    http-api-data-0.4.3
Completed    vector-algorithms-0.8.0.4
Starting     mono-traversable-1.0.15.3
Completed    assoc-1.0.2
Starting     these-1.1.1.1
Building     mono-traversable-1.0.15.3
Building     these-1.1.1.1
Completed    these-1.1.1.1
Starting     strict-0.4.0.1
Building     strict-0.4.0.1
Completed    strict-0.4.0.1
Starting     aeson-1.5.6.0
Building     aeson-1.5.6.0
Completed    mono-traversable-1.0.15.3
Starting     conduit-1.3.4.2
Building     conduit-1.3.4.2
Completed    conduit-1.3.4.2
Starting     conduit-extra-1.3.5
Building     conduit-extra-1.3.5
Completed    conduit-extra-1.3.5
Starting     monad-logger-0.3.36
Building     monad-logger-0.3.36
Completed    aeson-1.5.6.0
Starting     mergeful-0.2.0.0
Building     mergeful-0.2.0.0
Completed    monad-logger-0.3.36
Starting     persistent-2.13.2.1
Building     persistent-2.13.2.1
Completed    mergeful-0.2.0.0
Completed    persistent-2.13.2.1
Starting     mergeful-persistent-0.1.0.0
Building     mergeful-persistent-0.1.0.0
Failed to install mergeful-persistent-0.1.0.0
Build log ( /home/builder/.cabal/logs/ghc-8.10.2/mergeful-persistent-0.1.0.0-6bZJGqD4Cg9AI6aEmwTz1X.log ):
cabal: Entering directory '/tmp/cabal-tmp-30428/mergeful-persistent-0.1.0.0'
Configuring mergeful-persistent-0.1.0.0...
Preprocessing library for mergeful-persistent-0.1.0.0..
Building library for mergeful-persistent-0.1.0.0..
[1 of 2] Compiling Data.Mergeful.Persistent ( src/Data/Mergeful/Persistent.hs, dist/build/Data/Mergeful/Persistent.o, dist/build/Data/Mergeful/Persistent.dyn_o )

src/Data/Mergeful/Persistent.hs:207:19: error:
    " Constructor ClientSyncProcessor does not have the required strict field(s): clientSyncProcessorSyncMergedConflict
    " In the expression: ClientSyncProcessor {..}
      In an equation for clientSyncProcessor:
          clientSyncProcessor
            serverIdField
            serverTimeField
            changedField
            deletedField
            makeSyncedClientThing
            unmakeSyncedClientThing
            recordUpdates
            = ClientSyncProcessor {..}
            where
                clientSyncProcessorQuerySyncedButChangedValues ::
                  Set sid -> SqlPersistT m (Map sid (Timed a))
                clientSyncProcessorQuerySyncedButChangedValues si
                  = fmap
                      (M.fromList
                         . map (\ (Entity _ r) -> unmakeSyncedClientThing r) . catMaybes)
                      $ forM (S.toList si) $ \ sid -> selectFirst ... []
                clientSyncProcessorSyncClientAdded ::
                  Map (Key record) (ClientAddition sid) -> SqlPersistT m ()
                clientSyncProcessorSyncClientAdded m
                  = forM_ (M.toList m)
                      $ \ (cid, ClientAddition {..}) -> update cid ...
                ....
    |
207 |   recordUpdates = ClientSyncProcessor {..}
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Mergeful/Persistent.hs:419:26: error:
    " Couldn't match type a
                           -> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
                                backend0 m0 (Maybe (Key record))
                     with transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
                             SqlBackend m (Key record)
      Expected type: a -> SqlPersistT m (Key record)
        Actual type: cid
                     -> a
                     -> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
                          backend0 m0 (Maybe (Key record))
    " Probable cause: serverSyncProcessorAddItem is applied to too few arguments
      In the serverSyncProcessorAddItem field of a record
      In the expression:
          ServerSyncProcessor {..} ::
            ServerSyncProcessor cid (Key record) a (SqlPersistT m)
      In an equation for serverSyncProcessor:
          serverSyncProcessor
            serverTimeField
            filters
            unmakeFunc
            makeFunc
            recordUpdates
            = ServerSyncProcessor {..} ::
                ServerSyncProcessor cid (Key record) a (SqlPersistT m)
            where
                serverSyncProcessorRead
                  = M.fromList . map (\ (Entity i r) -> (i, unmakeFunc r))
                      <$> selectList filters []
                serverSyncProcessorAddItem cid a
                  = fmap Just $ insert $ makeFunc cid a
                serverSyncProcessorChangeItem si st a
                  = update si $ (serverTimeField =. st) : recordUpdates a
                serverSyncProcessorDeleteItem = delete
    " Relevant bindings include
        serverSyncProcessorRead :: transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
                                     SqlBackend m (Map (Key record) (Timed a))
          (bound at src/Data/Mergeful/Persistent.hs:421:7)
        serverSyncProcessorAddItem :: cid
                                      -> a
                                      -> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
                                           backend0 m0 (Maybe (Key record))
          (bound at src/Data/Mergeful/Persistent.hs:422:7)
        serverSyncProcessorChangeItem :: Key record
                                         -> ServerTime
                                         -> a
                                         -> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
                                              SqlBackend m ()
          (bound at src/Data/Mergeful/Persistent.hs:423:7)
        serverSyncProcessorDeleteItem :: Key record
                                         -> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
                                              SqlBackend m ()
          (bound at src/Data/Mergeful/Persistent.hs:424:7)
        recordUpdates :: a -> [Update record]
          (bound at src/Data/Mergeful/Persistent.hs:418:3)
        makeFunc :: cid -> a -> record
          (bound at src/Data/Mergeful/Persistent.hs:417:3)
        (Some bindings suppressed; use -fmax-relevant-binds=N or -fno-max-relevant-binds)
    |
419 |     ServerSyncProcessor {..} :: ServerSyncProcessor cid (Key record) a (SqlPersistT m)
    |                          ^^

src/Data/Mergeful/Persistent.hs:506:40: error:
    " Couldn't match type a
                           -> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
                                SqlBackend m (Maybe sid)
                     with transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
                             SqlBackend m sid
      Expected type: a -> SqlPersistT m sid
        Actual type: cid
                     -> a
                     -> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
                          SqlBackend m (Maybe sid)
    " Probable cause: serverSyncProcessorAddItem is applied to too few arguments
      In the serverSyncProcessorAddItem field of a record
      In the expression:
          ServerSyncProcessor {..} ::
            ServerSyncProcessor cid sid a (SqlPersistT m)
      In an equation for serverSyncWithCustomIdProcessor:
          serverSyncWithCustomIdProcessor
            idField
            uuidGen
            serverTimeField
            filters
            unmakeFunc
            makeFunc
            recordUpdates
            = ServerSyncProcessor {..} ::
                ServerSyncProcessor cid sid a (SqlPersistT m)
            where
                serverSyncProcessorRead
                  = M.fromList . map (\ (Entity _ record) -> unmakeFunc record)
                      <$> selectList filters []
                serverSyncProcessorAddItem cid a
                  = do uuid <- uuidGen
                       ....
                serverSyncProcessorChangeItem si st a
                  = updateWhere [idField ==. si]
                      $ (serverTimeField =. st) : recordUpdates a
                serverSyncProcessorDeleteItem si = deleteWhere [idField ==. si]
    " Relevant bindings include
        serverSyncProcessorRead :: transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
                                     SqlBackend m (Map sid (Timed a))
          (bound at src/Data/Mergeful/Persistent.hs:508:7)
        serverSyncProcessorAddItem :: cid
                                      -> a
                                      -> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
                                           SqlBackend m (Maybe sid)
          (bound at src/Data/Mergeful/Persistent.hs:509:7)
        serverSyncProcessorChangeItem :: sid
                                         -> ServerTime
                                         -> a
                                         -> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
                                              SqlBackend m ()
          (bound at src/Data/Mergeful/Persistent.hs:513:7)
        serverSyncProcessorDeleteItem :: sid
                                         -> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
                                              SqlBackend m ()
          (bound at src/Data/Mergeful/Persistent.hs:514:7)
        recordUpdates :: a -> [Update record]
          (bound at src/Data/Mergeful/Persistent.hs:506:3)
        makeFunc :: cid -> sid -> a -> record
          (bound at src/Data/Mergeful/Persistent.hs:505:3)
        (Some bindings suppressed; use -fmax-relevant-binds=N or -fno-max-relevant-binds)
    |
506 |   recordUpdates = ServerSyncProcessor {..} :: ServerSyncProcessor cid sid a (SqlPersistT m)
    |                                        ^^
cabal: Leaving directory '/tmp/cabal-tmp-30428/mergeful-persistent-0.1.0.0'
cabal: Error: some packages failed to install:
mergeful-persistent-0.1.0.0-6bZJGqD4Cg9AI6aEmwTz1X failed during the building
phase. The exception was:
ExitFailure 1

Test log

No test log was submitted for this report.