From f52c0010dcf9c6127cd4cb533637070363dc41fb Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 16 Mar 2015 15:37:10 +0200 Subject: [PATCH] Replace runUploadState with mapM liftIO --- Data/Hackage.hs | 6 ++---- stackage-server.cabal | 3 +++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Data/Hackage.hs b/Data/Hackage.hs index 17cf101..358a732 100644 --- a/Data/Hackage.hs +++ b/Data/Hackage.hs @@ -50,7 +50,7 @@ loadCabalFiles :: ( MonadActive m -> Bool -- ^ force updates regardless of hash value? -> HashMap PackageName (Version, ByteString) -> m (UploadState Metadata) -loadCabalFiles dbUpdates forceUpdate metadata0 = (>>= runUploadState) $ flip execStateT (UploadState metadata1 mempty) $ do +loadCabalFiles dbUpdates forceUpdate metadata0 = (>>= T.mapM liftIO) $ flip execStateT (UploadState metadata1 mempty) $ do HackageRoot root <- liftM getHackageRoot ask $logDebug $ "Entering loadCabalFiles, root == " ++ root req <- parseUrl $ unpack $ root ++ "/00-index.tar.gz" @@ -114,9 +114,6 @@ readVersion v = (dv, _):_ -> Just $ pack $ Data.Version.versionBranch dv [] -> Nothing -runUploadState :: MonadIO m => UploadState (IO a) -> m (UploadState a) -runUploadState (UploadState y z) = liftIO $ UploadState y <$> T.sequence z - tarSource :: (Exception e, MonadThrow m) => Tar.Entries e -> Producer m Tar.Entry @@ -128,6 +125,7 @@ data UploadState md = UploadState { usMetadata :: !(HashMap PackageName MetaSig) , usMetaChanges :: (HashMap PackageName md) } + deriving (Functor, Foldable, Traversable) data MetaSig = MetaSig {-# UNPACK #-} !Version diff --git a/stackage-server.cabal b/stackage-server.cabal index 1e5e931..7035fae 100644 --- a/stackage-server.cabal +++ b/stackage-server.cabal @@ -85,6 +85,9 @@ library BangPatterns TupleSections DeriveGeneric + DeriveFunctor + DeriveFoldable + DeriveTraversable build-depends: base >= 4