Hello community, here is the log from the commit of package ghc-glazier-pipes for openSUSE:Factory checked in at 2017-08-31 20:47:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-glazier-pipes (Old) and /work/SRC/openSUSE:Factory/.ghc-glazier-pipes.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-glazier-pipes" Thu Aug 31 20:47:18 2017 rev:2 rq:513257 version:0.1.5.1 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-glazier-pipes/ghc-glazier-pipes.changes 2017-05-10 20:47:29.856415309 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-glazier-pipes.new/ghc-glazier-pipes.changes 2017-08-31 20:47:19.512412258 +0200 @@ -1,0 +2,5 @@ +Thu Jul 27 14:08:15 UTC 2017 - psim...@suse.com + +- Update to version 0.1.5.1. + +------------------------------------------------------------------- Old: ---- glazier-pipes-0.1.4.0.tar.gz New: ---- glazier-pipes-0.1.5.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-glazier-pipes.spec ++++++ --- /var/tmp/diff_new_pack.xJxXEG/_old 2017-08-31 20:47:20.692246651 +0200 +++ /var/tmp/diff_new_pack.xJxXEG/_new 2017-08-31 20:47:20.696246089 +0200 @@ -18,21 +18,17 @@ %global pkg_name glazier-pipes Name: ghc-%{pkg_name} -Version: 0.1.4.0 +Version: 0.1.5.1 Release: 0 -Summary: Converts Glazier widgets into a Pipe +Summary: A threaded rendering framework using glaizer and pipes License: BSD-3-Clause 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 BuildRequires: ghc-glazier-devel -BuildRequires: ghc-lens-devel BuildRequires: ghc-mmorph-devel -BuildRequires: ghc-mtl-devel -BuildRequires: ghc-pipes-concurrency-devel BuildRequires: ghc-pipes-devel -BuildRequires: ghc-pipes-misc-devel BuildRequires: ghc-rpm-macros BuildRequires: ghc-stm-devel BuildRequires: ghc-stm-extras-devel @@ -40,7 +36,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build %description -Converts Glazier widgets into a Pipe. +A threaded rendering framework using glaizer and pipes. %package devel Summary: Haskell %{pkg_name} library development files ++++++ glazier-pipes-0.1.4.0.tar.gz -> glazier-pipes-0.1.5.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glazier-pipes-0.1.4.0/LICENSE new/glazier-pipes-0.1.5.1/LICENSE --- old/glazier-pipes-0.1.4.0/LICENSE 2017-01-14 04:53:33.000000000 +0100 +++ new/glazier-pipes-0.1.5.1/LICENSE 2017-03-06 21:31:29.000000000 +0100 @@ -1,4 +1,4 @@ -Copyright Author name here (c) 2017 +Copyright Louis Pan (c) 2017 All rights reserved. @@ -13,7 +13,7 @@ disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Author name here nor the names of other + * Neither the name of Louis Pan nor the names of other contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -27,4 +27,4 @@ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glazier-pipes-0.1.4.0/glazier-pipes.cabal new/glazier-pipes-0.1.5.1/glazier-pipes.cabal --- old/glazier-pipes-0.1.4.0/glazier-pipes.cabal 2017-02-03 22:31:12.000000000 +0100 +++ new/glazier-pipes-0.1.5.1/glazier-pipes.cabal 2017-03-06 21:39:36.000000000 +0100 @@ -1,6 +1,6 @@ name: glazier-pipes -version: 0.1.4.0 -synopsis: Converts Glazier widgets into a Pipe. +version: 0.1.5.1 +synopsis: A threaded rendering framework using glaizer and pipes description: Please see README.md homepage: https://github.com/louispan/glazier-pipes#readme license: BSD3 @@ -16,17 +16,11 @@ library hs-source-dirs: src - exposed-modules: Glazier.Pipes.Lazy - Glazier.Pipes.Strict - Glazier.Pipes.Ui + exposed-modules: Glazier.Pipes.Ui build-depends: base >= 4.7 && < 5 - , glazier >= 0.7 && < 1 - , lens >= 4 && < 5 + , glazier >= 0.8 && < 1 , mmorph >= 1 && < 2 - , mtl >= 2 && < 3 , pipes >= 4 && < 5 - , pipes-concurrency >= 2 && < 3 - , pipes-misc >= 0.2.3 && < 1 , stm >= 2.4 && < 3 , stm-extras > 0.1 && < 1 , transformers >= 0.4 && < 0.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glazier-pipes-0.1.4.0/src/Glazier/Pipes/Lazy.hs new/glazier-pipes-0.1.5.1/src/Glazier/Pipes/Lazy.hs --- old/glazier-pipes-0.1.4.0/src/Glazier/Pipes/Lazy.hs 2017-02-02 11:13:33.000000000 +0100 +++ new/glazier-pipes-0.1.5.1/src/Glazier/Pipes/Lazy.hs 1970-01-01 01:00:00.000000000 +0100 @@ -1,35 +0,0 @@ -{-# LANGUAGE RankNTypes #-} - -module Glazier.Pipes.Lazy where - -import Control.Concurrent -import Control.Concurrent.STM -import Control.Concurrent.STM.TMVar.Extras as STE -import Control.Lens -import Control.Monad.Morph -import Control.Monad.State.Lazy -import Control.Monad.Trans.Maybe -import qualified Glazier.Gadget.Lazy as G -import qualified Pipes as P -import qualified Pipes.Concurrent as PC -import qualified Pipes.Lift as PL -import qualified Pipes.Misc.Concurrent as PM -import qualified Pipes.Misc.State.Lazy as PM - --- | Converts a 'Glazier.Gadget' into a 'Pipes.Pipe' -gadgetToPipe :: (Monad m, MonadTrans t, MonadState s (t m)) => G.Gadget s m a c -> P.Pipe a c (t m) r -gadgetToPipe g = forever $ do - a <- P.await - s <- get - -- This is the only line that is different between the Strict and Lazy version - ~(c, s') <- lift . lift $ view G._Gadget g a s - put s' - P.yield c -{-# INLINABLE gadgetToPipe #-} - --- | Convert a 'Pipes.Concurrent.Input' and a 'Glazier.Gadget' into a stateful 'Pipes.Producer' of commands to interpret. -gadgetToProducer :: - (MonadState s (t STM), MonadTrans t) => - PC.Input a -> G.Gadget s STM a c -> P.Producer' c (t STM) () -gadgetToProducer input g = hoist lift (PM.fromInputSTM input) P.>-> gadgetToPipe g -{-# INLINABLE gadgetToProducer #-} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glazier-pipes-0.1.4.0/src/Glazier/Pipes/Strict.hs new/glazier-pipes-0.1.5.1/src/Glazier/Pipes/Strict.hs --- old/glazier-pipes-0.1.4.0/src/Glazier/Pipes/Strict.hs 2017-02-03 22:30:33.000000000 +0100 +++ new/glazier-pipes-0.1.5.1/src/Glazier/Pipes/Strict.hs 1970-01-01 01:00:00.000000000 +0100 @@ -1,38 +0,0 @@ -{-# LANGUAGE RankNTypes #-} - -module Glazier.Pipes.Strict where - -import Control.Concurrent -import Control.Concurrent.STM -import Control.Concurrent.STM.TMVar.Extras as STE -import Control.Lens -import Control.Monad.Morph -import Control.Monad.State.Strict -import Control.Monad.Trans.Maybe -import qualified Glazier.Gadget.Strict as G -import qualified Pipes as P -import qualified Pipes.Concurrent as PC -import qualified Pipes.Lift as PL -import qualified Pipes.Misc.Concurrent as PM -import qualified Pipes.Misc.State.Strict as PM -import qualified Pipes.Prelude as PP -import qualified Pipes.Internal as PI - - --- | Converts a 'Glazier.Gadget' into a 'Pipes.Pipe' -gadgetToPipe :: (Monad m, MonadTrans t, MonadState s (t m)) => G.Gadget s m a c -> P.Pipe a c (t m) r -gadgetToPipe g = forever $ do - a <- P.await - s <- get - -- This is the only line that is different between the Strict and Lazy version - (c, s') <- lift . lift $ view G._Gadget g a s - put s' - P.yield c -{-# INLINABLE gadgetToPipe #-} - --- | Convert a 'Pipes.Concurrent.Input' and a 'Glazier.Gadget' into a stateful 'Pipes.Producer' of commands to interpret. -gadgetToProducer :: - (MonadState s (t STM), MonadTrans t) => - PC.Input a -> G.Gadget s STM a c -> P.Producer' c (t STM) () -gadgetToProducer input g = hoist lift (PM.fromInputSTM input) P.>-> gadgetToPipe g -{-# INLINABLE gadgetToProducer #-} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glazier-pipes-0.1.4.0/src/Glazier/Pipes/Ui.hs new/glazier-pipes-0.1.5.1/src/Glazier/Pipes/Ui.hs --- old/glazier-pipes-0.1.4.0/src/Glazier/Pipes/Ui.hs 2017-02-03 22:38:47.000000000 +0100 +++ new/glazier-pipes-0.1.5.1/src/Glazier/Pipes/Ui.hs 2017-02-22 22:21:37.000000000 +0100 @@ -15,6 +15,8 @@ -- | This is similar to part of the Elm startApp. -- This is responsible for running the Glazier Gadget update tick until it quits. -- This is also responsible for rendering the frame. +-- This function is only required if you are not using another application framework which +-- already takes care of rendering and processing user input. runUi :: (MonadIO io) => Int -> (s -> IO ()) -- render @@ -57,10 +59,11 @@ lift $ render s) (const . atomically $ putTMVar finishedRenderThread ()) - -- This is different between the Strict and Lazy version + -- application run s' <- P.runEffect $ appSignal P.>-> PP.mapM (liftIO . atomically . void . STE.forceSwapTMVar latestState) P.>-> PP.drain + -- cleanup -- allow rendering of the frame one last time liftIO . atomically $ takeTMVar enableRenderThread