Hello community, here is the log from the commit of package ghc-simple-log for openSUSE:Factory checked in at 2017-03-14 10:05:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-simple-log (Old) and /work/SRC/openSUSE:Factory/.ghc-simple-log.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "ghc-simple-log" Tue Mar 14 10:05:56 2017 rev:2 rq:461681 version:0.5.1 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-simple-log/ghc-simple-log.changes 2016-11-02 12:37:41.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-simple-log.new/ghc-simple-log.changes 2017-03-14 10:05:57.217418687 +0100 @@ -1,0 +2,5 @@ +Sun Feb 12 14:04:22 UTC 2017 - psimons@suse.com + +- Update to version 0.5.1 with cabal2obs. + +------------------------------------------------------------------- Old: ---- simple-log-0.4.0.tar.gz New: ---- simple-log-0.5.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-simple-log.spec ++++++ --- /var/tmp/diff_new_pack.LRywou/_old 2017-03-14 10:05:57.761341668 +0100 +++ /var/tmp/diff_new_pack.LRywou/_new 2017-03-14 10:05:57.765341101 +0100 @@ -1,7 +1,7 @@ # # spec file for package ghc-simple-log # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,15 +18,14 @@ %global pkg_name simple-log Name: ghc-%{pkg_name} -Version: 0.4.0 +Version: 0.5.1 Release: 0 Summary: Simple log for Haskell License: BSD-3-Clause -Group: System/Libraries +Group: Development/Languages/Other Url: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz BuildRequires: ghc-Cabal-devel -# Begin cabal-rpm deps: BuildRequires: ghc-SafeSemaphore-devel BuildRequires: ghc-async-devel BuildRequires: ghc-containers-devel @@ -40,7 +39,6 @@ BuildRequires: ghc-time-devel BuildRequires: ghc-transformers-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build -# End cabal-rpm deps %description Log library for Haskell with removing unnecessary traces. @@ -59,15 +57,12 @@ %prep %setup -q -n %{pkg_name}-%{version} - %build %ghc_lib_build - %install %ghc_lib_install - %post devel %ghc_pkg_recache ++++++ simple-log-0.4.0.tar.gz -> simple-log-0.5.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simple-log-0.4.0/simple-log.cabal new/simple-log-0.5.1/simple-log.cabal --- old/simple-log-0.4.0/simple-log.cabal 2016-05-24 00:27:19.000000000 +0200 +++ new/simple-log-0.5.1/simple-log.cabal 2017-01-21 16:32:22.000000000 +0100 @@ -1,5 +1,5 @@ Name: simple-log -Version: 0.4.0 +Version: 0.5.1 Synopsis: Simple log for Haskell Description: Log library for Haskell with removing unnecessary traces License: BSD3 @@ -23,7 +23,7 @@ async >= 2.0 && < 3.0, containers >= 0.5 && < 0.6, deepseq >= 1.4 && < 1.5, - directory >= 1.2 && < 1.3, + directory >= 1.2 && < 1.4, exceptions >= 0.8 && < 0.9, filepath >= 1.4 && < 1.5, mtl >= 2.2 && < 2.3, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simple-log-0.4.0/src/System/Log/Simple/Base.hs new/simple-log-0.5.1/src/System/Log/Simple/Base.hs --- old/simple-log-0.4.0/src/System/Log/Simple/Base.hs 2016-05-24 00:27:19.000000000 +0200 +++ new/simple-log-0.5.1/src/System/Log/Simple/Base.hs 2017-01-21 16:32:22.000000000 +0100 @@ -173,7 +173,10 @@ -- | Empty log noLog :: Log -noLog = Log (const (return ())) (return ()) (return []) +noLog = Log post' (return ()) (return []) where + post' (EnterScope _ _) = return () + post' (LeaveScope io) = io + post' (PostMessage _) = return () -- | Type to initialize rule updater type RulesLoad = IO (IO Rules) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simple-log-0.4.0/src/System/Log/Simple/Monad.hs new/simple-log-0.5.1/src/System/Log/Simple/Monad.hs --- old/simple-log-0.4.0/src/System/Log/Simple/Monad.hs 2016-05-24 00:27:19.000000000 +0200 +++ new/simple-log-0.5.1/src/System/Log/Simple/Monad.hs 2017-01-21 16:32:22.000000000 +0100 @@ -1,6 +1,7 @@ -{-# LANGUAGE OverloadedStrings, FlexibleInstances, UndecidableInstances, MultiParamTypeClasses #-} +{-# LANGUAGE OverloadedStrings, FlexibleInstances, UndecidableInstances, MultiParamTypeClasses, GeneralizedNewtypeDeriving #-} module System.Log.Simple.Monad ( + LogT(..), withNoLog, withLog, log, @@ -22,6 +23,8 @@ import Control.Concurrent.MSem import Control.Monad.IO.Class import Control.Monad.Reader +import Control.Monad.State +import Control.Monad.Writer import Control.Monad.Except import Control.Monad.Catch import Data.String @@ -33,14 +36,26 @@ class (MonadIO m, MonadMask m) => MonadLog m where askLog :: m Log -instance (MonadIO m, MonadMask m) => MonadLog (ReaderT Log m) where - askLog = ask +instance MonadLog m => MonadLog (ReaderT r m) where + askLog = lift askLog -withNoLog :: ReaderT Log m a -> m a -withNoLog act = runReaderT act noLog +instance MonadLog m => MonadLog (StateT s m) where + askLog = lift askLog -withLog :: Log -> ReaderT Log m a -> m a -withLog l act = runReaderT act l +instance (Monoid w, MonadLog m) => MonadLog (WriterT w m) where + askLog = lift askLog + +newtype LogT m a = LogT { runLogT :: ReaderT Log m a } + deriving (Functor, Applicative, Monad, MonadIO, MonadReader Log, MonadThrow, MonadCatch, MonadMask) + +instance (MonadIO m, MonadMask m) => MonadLog (LogT m) where + askLog = LogT ask + +withNoLog :: LogT m a -> m a +withNoLog act = runReaderT (runLogT act) noLog + +withLog :: Log -> LogT m a -> m a +withLog l act = runReaderT (runLogT act) l log :: (MonadLog m) => Level -> Text -> m () log l msg = do