Hello community,

here is the log from the commit of package ghc-conduit-combinators for 
openSUSE:Factory checked in at 2016-10-24 14:44:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-conduit-combinators (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-conduit-combinators.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-conduit-combinators"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/ghc-conduit-combinators/ghc-conduit-combinators.changes
  2016-07-21 08:11:23.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.ghc-conduit-combinators.new/ghc-conduit-combinators.changes
     2016-10-24 14:44:32.000000000 +0200
@@ -1,0 +2,15 @@
+Sat Oct  1 17:18:13 UTC 2016 - [email protected]
+
+- Update to version 1.0.8 with cabal2obs.
+
+-------------------------------------------------------------------
+Mon Sep 26 06:52:07 UTC 2016 - [email protected]
+
+- Update to version 1.0.7 with cabal2obs.
+
+-------------------------------------------------------------------
+Thu Sep 15 06:35:11 UTC 2016 - [email protected]
+
+- Update to version 1.0.6 revision 0 with cabal2obs.
+
+-------------------------------------------------------------------

Old:
----
  conduit-combinators-1.0.4.tar.gz

New:
----
  conduit-combinators-1.0.8.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-conduit-combinators.spec ++++++
--- /var/tmp/diff_new_pack.AaZJ1U/_old  2016-10-24 14:44:33.000000000 +0200
+++ /var/tmp/diff_new_pack.AaZJ1U/_new  2016-10-24 14:44:33.000000000 +0200
@@ -19,15 +19,14 @@
 %global pkg_name conduit-combinators
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        1.0.4
+Version:        1.0.8
 Release:        0
 Summary:        Commonly used conduit functions, for both chunked and 
unchunked data
 License:        MIT
-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-base16-bytestring-devel
 BuildRequires:  ghc-base64-bytestring-devel
 BuildRequires:  ghc-bytestring-devel
@@ -58,7 +57,6 @@
 BuildRequires:  ghc-safe-devel
 BuildRequires:  ghc-silently-devel
 %endif
-# End cabal-rpm deps
 
 %description
 Provides a replacement for Data.Conduit.List, as well as a convenient Conduit
@@ -79,20 +77,14 @@
 %prep
 %setup -q -n %{pkg_name}-%{version}
 
-
 %build
 %ghc_lib_build
 
-
 %install
 %ghc_lib_install
 
-
 %check
-%if %{with tests}
-%{cabal} test
-%endif
-
+%cabal_test
 
 %post devel
 %ghc_pkg_recache

++++++ conduit-combinators-1.0.4.tar.gz -> conduit-combinators-1.0.8.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conduit-combinators-1.0.4/ChangeLog.md 
new/conduit-combinators-1.0.8/ChangeLog.md
--- old/conduit-combinators-1.0.4/ChangeLog.md  2016-07-04 18:48:05.000000000 
+0200
+++ new/conduit-combinators-1.0.8/ChangeLog.md  2016-09-27 13:52:55.000000000 
+0200
@@ -1,3 +1,20 @@
+# 1.0.8
+
+* Add lower bound on conduit 1.2.8 (make it easier to follow [the
+  reskin](http://www.snoyman.com/blog/2016/09/proposed-conduit-reskin).
+
+# 1.0.7
+
+* Add `sourceFileBS` and `sinkFileBS`
+
+# 1.0.6
+
+* Add `peekForeverE` combinator
+
+# 1.0.5
+
+* Add head, headDef and lastDef combinators
+
 # 1.0.4
 
 * Move into mono-traversable repo, support mono-traversable 1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/conduit-combinators-1.0.4/Data/Conduit/Combinators/Unqualified.hs 
new/conduit-combinators-1.0.8/Data/Conduit/Combinators/Unqualified.hs
--- old/conduit-combinators-1.0.4/Data/Conduit/Combinators/Unqualified.hs       
2016-07-04 18:48:05.000000000 +0200
+++ new/conduit-combinators-1.0.8/Data/Conduit/Combinators/Unqualified.hs       
2016-09-27 13:52:55.000000000 +0200
@@ -25,6 +25,7 @@
 
       -- *** I\/O
     , sourceFile
+    , CC.sourceFileBS
     , sourceHandle
     , sourceIOHandle
     , stdinC
@@ -75,10 +76,13 @@
     , sinkLazyBuilder
     , sinkNull
     , awaitNonNull
+    , headC
+    , headDefC
     , headCE
     , peekC
     , peekCE
     , lastC
+    , lastDefC
     , lastCE
     , lengthC
     , lengthCE
@@ -106,6 +110,7 @@
 
       -- *** I\/O
     , sinkFile
+    , CC.sinkFileBS
     , sinkHandle
     , sinkIOHandle
     , printC
@@ -171,6 +176,7 @@
     , vectorBuilderC
     , CC.mapAccumS
     , CC.peekForever
+    , CC.peekForeverE
     ) where
 
 -- BEGIN IMPORTS
@@ -183,6 +189,8 @@
 import qualified Data.Traversable
 #if ! MIN_VERSION_base(4,8,0)
 import           Control.Applicative         ((<$>))
+#else
+import           Prelude                     ((<$>))
 #endif
 import           Control.Monad.Base          (MonadBase (..))
 import           Control.Monad.IO.Class      (MonadIO (..))
@@ -191,6 +199,7 @@
 import           Data.Conduit
 import qualified Data.Conduit.List           as CL
 import           Data.IOData
+import           Data.Maybe                  (fromMaybe)
 import           Data.Monoid                 (Monoid (..))
 import           Data.MonoTraversable
 import qualified Data.Sequences              as Seq
@@ -777,6 +786,18 @@
 awaitNonNull = CC.awaitNonNull
 {-# INLINE awaitNonNull #-}
 
+-- | Take a single value from the stream, if available.
+--
+-- Since 1.0.5
+headC :: Monad m => Consumer a m (Maybe a)
+headC = CC.head
+
+-- | Same as 'headC', but returns a default value if none are available from 
the stream.
+--
+-- Since 1.0.5
+headDefC :: Monad m => a -> Consumer a m a
+headDefC = CC.headDef
+
 -- | Get the next element in the chunked stream.
 --
 -- Since 1.0.0
@@ -805,6 +826,12 @@
 lastC = CC.last
 {-# INLINE lastC #-}
 
+-- | Same as 'lastC', but returns a default value if none are available from 
the stream.
+--
+-- Since 1.0.5
+lastDefC :: Monad m => a -> Consumer a m a
+lastDefC = CC.lastDef
+
 -- | Retrieve the last element in the chunked stream, if present.
 --
 -- Since 1.0.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/conduit-combinators-1.0.4/Data/Conduit/Combinators.hs 
new/conduit-combinators-1.0.8/Data/Conduit/Combinators.hs
--- old/conduit-combinators-1.0.4/Data/Conduit/Combinators.hs   2016-07-04 
18:48:05.000000000 +0200
+++ new/conduit-combinators-1.0.8/Data/Conduit/Combinators.hs   2016-09-27 
13:52:55.000000000 +0200
@@ -38,6 +38,7 @@
 
       -- ** I\/O
     , sourceFile
+    , sourceFileBS
     , sourceHandle
     , sourceIOHandle
     , stdin
@@ -89,10 +90,13 @@
     , sinkLazyBuilder
     , sinkNull
     , awaitNonNull
+    , head
+    , headDef
     , headE
     , peek
     , peekE
     , last
+    , lastDef
     , lastE
     , length
     , lengthE
@@ -120,6 +124,7 @@
 
       -- ** I\/O
     , sinkFile
+    , sinkFileBS
     , sinkHandle
     , sinkIOHandle
     , print
@@ -187,6 +192,7 @@
     , vectorBuilder
     , mapAccumS
     , peekForever
+    , peekForeverE
     ) where
 
 -- BEGIN IMPORTS
@@ -212,7 +218,7 @@
 import           Data.Conduit.Internal       (ConduitM (..), Pipe (..))
 import qualified Data.Conduit.List           as CL
 import           Data.IOData
-import           Data.Maybe                  (isNothing, isJust)
+import           Data.Maybe                  (fromMaybe, isNothing, isJust)
 import           Data.Monoid                 (Monoid (..))
 import           Data.MonoTraversable
 import qualified Data.Sequences              as Seq
@@ -419,6 +425,14 @@
 sourceFile fp = sourceIOHandle (SIO.openFile fp SIO.ReadMode)
 {-# INLINE sourceFile #-}
 
+-- | 'sourceFile' specialized to 'ByteString' to help with type
+-- inference.
+--
+-- @since 1.0.7
+sourceFileBS :: MonadResource m => FilePath -> Producer m ByteString
+sourceFileBS = sourceFile
+{-# INLINE sourceFileBS #-}
+
 -- | Read all data from the given @Handle@.
 --
 -- Does not close the @Handle@ at any point.
@@ -1029,6 +1043,18 @@
     go' = maybe go (return . Just) . NonNull.fromNullable
 {-# INLINE awaitNonNull #-}
 
+-- | Take a single value from the stream, if available.
+--
+-- Since 1.0.5
+head :: Monad m => Consumer a m (Maybe a)
+head = CL.head
+
+-- | Same as 'head', but returns a default value if none are available from 
the stream.
+--
+-- Since 1.0.5
+headDef :: Monad m => a -> Consumer a m a
+headDef a = fromMaybe a <$> head
+
 -- | Get the next element in the chunked stream.
 --
 -- Since 1.0.0
@@ -1080,6 +1106,12 @@
     loop prev = await >>= maybe (return $ Just prev) loop
 STREAMING0(last, lastC, lastS)
 
+-- | Same as 'last', but returns a default value if none are available from 
the stream.
+--
+-- Since 1.0.5
+lastDef :: Monad m => a -> Consumer a m a
+lastDef a = fromMaybe a <$> last
+
 -- | Retrieve the last element in the chunked stream, if present.
 --
 -- Subject to fusion
@@ -1300,6 +1332,14 @@
 sinkFile fp = sinkIOHandle (SIO.openFile fp SIO.WriteMode)
 {-# INLINE sinkFile #-}
 
+-- | 'sinkFile' specialized to 'ByteString' to help with type
+-- inference.
+--
+-- @since 1.0.7
+sinkFileBS :: MonadResource m => FilePath -> Consumer ByteString m ()
+sinkFileBS = sinkFile
+{-# INLINE sinkFileBS #-}
+
 -- | Print all incoming values to stdout.
 --
 -- Subject to fusion
@@ -2130,3 +2170,24 @@
         case mx of
             Nothing -> return ()
             Just _ -> inner >> loop
+
+-- | Run a consuming conduit repeatedly, only stopping when there is no more
+-- data available from upstream.
+--
+-- In contrast to 'peekForever', this function will ignore empty
+-- chunks of data. So for example, if a stream of data contains an
+-- empty @ByteString@, it is still treated as empty, and the consuming
+-- function is not called.
+--
+-- @since 1.0.6
+peekForeverE :: (Monad m, MonoFoldable i)
+             => ConduitM i o m ()
+             -> ConduitM i o m ()
+peekForeverE inner =
+    loop
+  where
+    loop = do
+        mx <- peekE
+        case mx of
+            Nothing -> return ()
+            Just _ -> inner >> loop
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conduit-combinators-1.0.4/conduit-combinators.cabal 
new/conduit-combinators-1.0.8/conduit-combinators.cabal
--- old/conduit-combinators-1.0.4/conduit-combinators.cabal     2016-07-04 
18:48:05.000000000 +0200
+++ new/conduit-combinators-1.0.8/conduit-combinators.cabal     2016-09-27 
13:52:55.000000000 +0200
@@ -1,5 +1,5 @@
 name:                conduit-combinators
-version:             1.0.4
+version:             1.0.8
 synopsis:            Commonly used conduit functions, for both chunked and 
unchunked data
 description:         Provides a replacement for Data.Conduit.List, as well as 
a convenient Conduit module.
 homepage:            https://github.com/snoyberg/mono-traversable
@@ -20,7 +20,7 @@
   other-modules:       Data.Conduit.Combinators.Unqualified
   build-depends:       base >= 4 && < 5
                      , chunked-data
-                     , conduit >= 1.2.2
+                     , conduit >= 1.2.8
                      , conduit-extra >= 1.1.1
                      , transformers
                      , transformers-base
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conduit-combinators-1.0.4/test/Spec.hs 
new/conduit-combinators-1.0.8/test/Spec.hs
--- old/conduit-combinators-1.0.4/test/Spec.hs  2016-07-04 18:48:05.000000000 
+0200
+++ new/conduit-combinators-1.0.8/test/Spec.hs  2016-09-27 13:52:55.000000000 
+0200
@@ -668,6 +668,10 @@
         res1 <- yieldMany strs $$ linesUnboundedC =$ sinkList
         res2 <- yieldMany strs $$ peekForever (lineC $ foldC >>= yield) =$ 
sinkList
         res2 `shouldBe` res1
+    prop "peekForeverE" $ \(strs :: [String]) -> do
+        res1 <- yieldMany strs $$ linesUnboundedC =$ sinkList
+        res2 <- yieldMany strs $$ peekForeverE (lineC $ foldC >>= yield) =$ 
sinkList
+        res2 `shouldBe` res1
     StreamSpec.spec
 
 evenInt :: Int -> Bool


Reply via email to