Hello community,

here is the log from the commit of package ghc-conduit-extra for 
openSUSE:Factory checked in at 2019-06-30 10:21:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-conduit-extra (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-conduit-extra.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-conduit-extra"

Sun Jun 30 10:21:32 2019 rev:21 rq:712502 version:1.3.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-conduit-extra/ghc-conduit-extra.changes      
2019-06-19 21:11:58.822718021 +0200
+++ 
/work/SRC/openSUSE:Factory/.ghc-conduit-extra.new.4615/ghc-conduit-extra.changes
    2019-06-30 10:21:32.283623620 +0200
@@ -1,0 +2,8 @@
+Thu Jun 27 02:02:51 UTC 2019 - [email protected]
+
+- Update conduit-extra to version 1.3.3.
+  ## 1.3.3
+
+  * Disable buffering in process modules 
[#402](https://github.com/snoyberg/conduit/issues/402)
+
+-------------------------------------------------------------------

Old:
----
  conduit-extra-1.3.2.tar.gz

New:
----
  conduit-extra-1.3.3.tar.gz

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

Other differences:
------------------
++++++ ghc-conduit-extra.spec ++++++
--- /var/tmp/diff_new_pack.0hPyrN/_old  2019-06-30 10:21:32.759624359 +0200
+++ /var/tmp/diff_new_pack.0hPyrN/_new  2019-06-30 10:21:32.763624365 +0200
@@ -19,7 +19,7 @@
 %global pkg_name conduit-extra
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        1.3.2
+Version:        1.3.3
 Release:        0
 Summary:        Batteries included conduit: adapters for common libraries
 License:        MIT

++++++ conduit-extra-1.3.2.tar.gz -> conduit-extra-1.3.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conduit-extra-1.3.2/ChangeLog.md 
new/conduit-extra-1.3.3/ChangeLog.md
--- old/conduit-extra-1.3.2/ChangeLog.md        2019-06-12 15:52:18.000000000 
+0200
+++ new/conduit-extra-1.3.3/ChangeLog.md        2019-06-19 07:58:06.000000000 
+0200
@@ -1,5 +1,9 @@
 # ChangeLog for conduit-extra
 
+## 1.3.3
+
+* Disable buffering in process modules 
[#402](https://github.com/snoyberg/conduit/issues/402)
+
 ## 1.3.2
 
 * Expose `BuilderInput` and `FlushInput`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conduit-extra-1.3.2/Data/Conduit/Process/Typed.hs 
new/conduit-extra-1.3.3/Data/Conduit/Process/Typed.hs
--- old/conduit-extra-1.3.2/Data/Conduit/Process/Typed.hs       2019-05-13 
15:53:27.000000000 +0200
+++ new/conduit-extra-1.3.3/Data/Conduit/Process/Typed.hs       2019-06-19 
07:57:42.000000000 +0200
@@ -25,18 +25,23 @@
 import Data.IORef (IORef, newIORef, readIORef, modifyIORef)
 import Control.Exception (throwIO, catch)
 import Control.Concurrent.Async (concurrently)
+import System.IO (hSetBuffering, BufferMode (NoBuffering))
 
 -- | Provide input to a process by writing to a conduit.
 --
 -- @since 1.2.1
 createSink :: MonadIO m => StreamSpec 'STInput (ConduitM S.ByteString o m ())
-createSink = CB.sinkHandle `fmap` createPipe
+createSink =
+  (\h -> liftIO (hSetBuffering h NoBuffering) >> CB.sinkHandle h)
+  `fmap` createPipe
 
 -- | Read output from a process by read from a conduit.
 --
 -- @since 1.2.1
 createSource :: MonadIO m => StreamSpec 'STOutput (ConduitM i S.ByteString m 
())
-createSource = CB.sourceHandle `fmap` createPipe
+createSource =
+  (\h -> liftIO (hSetBuffering h NoBuffering) >> CB.sourceHandle h)
+  `fmap` createPipe
 
 -- | Internal function: like 'createSource', but stick all chunks into
 -- the 'IORef'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conduit-extra-1.3.2/Data/Conduit/Process.hs 
new/conduit-extra-1.3.3/Data/Conduit/Process.hs
--- old/conduit-extra-1.3.2/Data/Conduit/Process.hs     2019-06-12 
15:52:18.000000000 +0200
+++ new/conduit-extra-1.3.3/Data/Conduit/Process.hs     2019-06-19 
07:57:42.000000000 +0200
@@ -29,8 +29,9 @@
 import Data.Streaming.Process.Internal
 import System.Exit (ExitCode (..))
 import Control.Monad.IO.Unlift (MonadIO, liftIO, MonadUnliftIO, withRunInIO, 
withUnliftIO, unliftIO)
-import System.IO (hClose)
+import System.IO (hClose, BufferMode (NoBuffering), hSetBuffering)
 import Data.Conduit
+import Data.Functor (($>))
 import Data.Conduit.Binary (sourceHandle, sinkHandle, sinkHandleBuilder, 
sinkHandleFlush)
 import Data.ByteString (ByteString)
 import Data.ByteString.Builder (Builder)
@@ -41,9 +42,9 @@
 #endif
 
 instance (r ~ (), MonadIO m, i ~ ByteString) => InputSource (ConduitM i o m r) 
where
-    isStdStream = (\(Just h) -> return $ sinkHandle h, Just CreatePipe)
+    isStdStream = (\(Just h) -> hSetBuffering h NoBuffering $> sinkHandle h, 
Just CreatePipe)
 instance (r ~ (), r' ~ (), MonadIO m, MonadIO n, i ~ ByteString) => 
InputSource (ConduitM i o m r, n r') where
-    isStdStream = (\(Just h) -> return (sinkHandle h, liftIO $ hClose h), Just 
CreatePipe)
+    isStdStream = (\(Just h) -> hSetBuffering h NoBuffering $> (sinkHandle h, 
liftIO $ hClose h), Just CreatePipe)
 
 -- | Wrapper for input source which accepts 'Data.ByteString.Builder.Builder's.
 -- You can pass 'Data.ByteString.Builder.Extra.flush' to flush the input. Note
@@ -68,9 +69,9 @@
   isStdStream = (\(Just h) -> return (FlushInput $ sinkHandleFlush h, liftIO $ 
hClose h), Just CreatePipe)
 
 instance (r ~ (), MonadIO m, o ~ ByteString) => OutputSink (ConduitM i o m r) 
where
-    osStdStream = (\(Just h) -> return $ sourceHandle h, Just CreatePipe)
+    osStdStream = (\(Just h) -> hSetBuffering h NoBuffering $> sourceHandle h, 
Just CreatePipe)
 instance (r ~ (), r' ~ (), MonadIO m, MonadIO n, o ~ ByteString) => OutputSink 
(ConduitM i o m r, n r') where
-    osStdStream = (\(Just h) -> return (sourceHandle h, liftIO $ hClose h), 
Just CreatePipe)
+    osStdStream = (\(Just h) -> hSetBuffering h NoBuffering $> (sourceHandle 
h, liftIO $ hClose h), Just CreatePipe)
 
 -- | Given a @CreateProcess@, run the process, with its output being used as a
 -- @Source@ to feed the provided @Consumer@. Once the process has completed,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conduit-extra-1.3.2/conduit-extra.cabal 
new/conduit-extra-1.3.3/conduit-extra.cabal
--- old/conduit-extra-1.3.2/conduit-extra.cabal 2019-06-12 15:52:18.000000000 
+0200
+++ new/conduit-extra-1.3.3/conduit-extra.cabal 2019-06-19 07:58:11.000000000 
+0200
@@ -1,5 +1,5 @@
 Name:                conduit-extra
-Version:             1.3.2
+Version:             1.3.3
 Synopsis:            Batteries included conduit: adapters for common libraries.
 Description:
     The conduit package itself maintains relative small dependencies. The 
purpose of this package is to collect commonly used utility functions wrapping 
other library dependencies, without depending on heavier-weight dependencies. 
The basic idea is that this package should only depend on haskell-platform 
packages and conduit.


Reply via email to