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.