packages feed

conduit-extra 1.3.3 → 1.3.4

raw patch · 3 files changed

+12/−7 lines, 3 filesdep ~typed-processPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: typed-process

API changes (from Hackage documentation)

- Data.Conduit.Process.Typed: ByteStringOutputException :: SomeException -> ProcessConfig () () () -> ByteStringOutputException
- Data.Conduit.Process.Typed: ExitCodeException :: ExitCode -> ProcessConfig () () () -> ByteString -> ByteString -> ExitCodeException
- Data.Conduit.Process.Typed: STInput :: StreamType
- Data.Conduit.Process.Typed: STOutput :: StreamType
- Data.Conduit.Process.Typed: [eceExitCode] :: ExitCodeException -> ExitCode
- Data.Conduit.Process.Typed: [eceProcessConfig] :: ExitCodeException -> ProcessConfig () () ()
- Data.Conduit.Process.Typed: [eceStderr] :: ExitCodeException -> ByteString
- Data.Conduit.Process.Typed: [eceStdout] :: ExitCodeException -> ByteString
- Data.Conduit.Process.Typed: byteStringInput :: ByteString -> StreamSpec STInput ()
- Data.Conduit.Process.Typed: byteStringOutput :: StreamSpec STOutput (STM ByteString)
- Data.Conduit.Process.Typed: checkExitCode :: MonadIO m => Process stdin stdout stderr -> m ()
- Data.Conduit.Process.Typed: checkExitCodeSTM :: () => Process stdin stdout stderr -> STM ()
- Data.Conduit.Process.Typed: closed :: () => StreamSpec anyStreamType ()
- Data.Conduit.Process.Typed: createPipe :: () => StreamSpec anyStreamType Handle
- Data.Conduit.Process.Typed: data ByteStringOutputException
- Data.Conduit.Process.Typed: data ExitCodeException
- Data.Conduit.Process.Typed: data Process stdin stdout stderr
- Data.Conduit.Process.Typed: data ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: data StreamSpec (streamType :: StreamType) a
- Data.Conduit.Process.Typed: data StreamType
- Data.Conduit.Process.Typed: getExitCode :: MonadIO m => Process stdin stdout stderr -> m (Maybe ExitCode)
- Data.Conduit.Process.Typed: getExitCodeSTM :: () => Process stdin stdout stderr -> STM (Maybe ExitCode)
- Data.Conduit.Process.Typed: getStderr :: () => Process stdin stdout stderr -> stderr
- Data.Conduit.Process.Typed: getStdin :: () => Process stdin stdout stderr -> stdin
- Data.Conduit.Process.Typed: getStdout :: () => Process stdin stdout stderr -> stdout
- Data.Conduit.Process.Typed: inherit :: () => StreamSpec anyStreamType ()
- Data.Conduit.Process.Typed: mkStreamSpec :: () => StdStream -> (ProcessConfig () () () -> Maybe Handle -> IO (a, IO ())) -> StreamSpec streamType a
- Data.Conduit.Process.Typed: nullStream :: () => StreamSpec anyStreamType ()
- Data.Conduit.Process.Typed: proc :: FilePath -> [String] -> ProcessConfig () () ()
- Data.Conduit.Process.Typed: readProcess :: MonadIO m => ProcessConfig stdin stdoutIgnored stderrIgnored -> m (ExitCode, ByteString, ByteString)
- Data.Conduit.Process.Typed: readProcessInterleaved :: MonadIO m => ProcessConfig stdin stdoutIgnored stderrIgnored -> m (ExitCode, ByteString)
- Data.Conduit.Process.Typed: readProcessInterleaved_ :: MonadIO m => ProcessConfig stdin stdoutIgnored stderrIgnored -> m ByteString
- Data.Conduit.Process.Typed: readProcessStderr :: MonadIO m => ProcessConfig stdin stdout stderrIgnored -> m (ExitCode, ByteString)
- Data.Conduit.Process.Typed: readProcessStderr_ :: MonadIO m => ProcessConfig stdin stdout stderrIgnored -> m ByteString
- Data.Conduit.Process.Typed: readProcessStdout :: MonadIO m => ProcessConfig stdin stdoutIgnored stderr -> m (ExitCode, ByteString)
- Data.Conduit.Process.Typed: readProcessStdout_ :: MonadIO m => ProcessConfig stdin stdoutIgnored stderr -> m ByteString
- Data.Conduit.Process.Typed: readProcess_ :: MonadIO m => ProcessConfig stdin stdoutIgnored stderrIgnored -> m (ByteString, ByteString)
- Data.Conduit.Process.Typed: runProcess :: MonadIO m => ProcessConfig stdin stdout stderr -> m ExitCode
- Data.Conduit.Process.Typed: runProcess_ :: MonadIO m => ProcessConfig stdin stdout stderr -> m ()
- Data.Conduit.Process.Typed: setChildGroup :: () => GroupID -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setChildGroupInherit :: () => ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setChildUser :: () => UserID -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setChildUserInherit :: () => ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setCloseFds :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setCreateGroup :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setCreateNewConsole :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setDelegateCtlc :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setDetachConsole :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setEnv :: () => [(String, String)] -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setEnvInherit :: () => ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setNewSession :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setStderr :: () => StreamSpec STOutput stderr -> ProcessConfig stdin stdout stderr0 -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setStdin :: () => StreamSpec STInput stdin -> ProcessConfig stdin0 stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setStdout :: () => StreamSpec STOutput stdout -> ProcessConfig stdin stdout0 stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setWorkingDir :: () => FilePath -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setWorkingDirInherit :: () => ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: shell :: String -> ProcessConfig () () ()
- Data.Conduit.Process.Typed: startProcess :: MonadIO m => ProcessConfig stdin stdout stderr -> m (Process stdin stdout stderr)
- Data.Conduit.Process.Typed: stopProcess :: MonadIO m => Process stdin stdout stderr -> m ()
- Data.Conduit.Process.Typed: unsafeProcessHandle :: () => Process stdin stdout stderr -> ProcessHandle
- Data.Conduit.Process.Typed: useHandleClose :: () => Handle -> StreamSpec anyStreamType ()
- Data.Conduit.Process.Typed: useHandleOpen :: () => Handle -> StreamSpec anyStreamType ()
- Data.Conduit.Process.Typed: waitExitCode :: MonadIO m => Process stdin stdout stderr -> m ExitCode
- Data.Conduit.Process.Typed: waitExitCodeSTM :: () => Process stdin stdout stderr -> STM ExitCode
- Data.Conduit.Process.Typed: withProcess :: MonadUnliftIO m => ProcessConfig stdin stdout stderr -> (Process stdin stdout stderr -> m a) -> m a
- Data.Conduit.Process.Typed: withProcessTerm :: () => ProcessConfig stdin stdout stderr -> (Process stdin stdout stderr -> IO a) -> IO a
- Data.Conduit.Process.Typed: withProcessTerm_ :: () => ProcessConfig stdin stdout stderr -> (Process stdin stdout stderr -> IO a) -> IO a
- Data.Conduit.Process.Typed: withProcessWait :: () => ProcessConfig stdin stdout stderr -> (Process stdin stdout stderr -> IO a) -> IO a
- Data.Conduit.Process.Typed: withProcessWait_ :: () => ProcessConfig stdin stdout stderr -> (Process stdin stdout stderr -> IO a) -> IO a
- Data.Conduit.Process.Typed: withProcess_ :: MonadUnliftIO m => ProcessConfig stdin stdout stderr -> (Process stdin stdout stderr -> m a) -> m a

Files

ChangeLog.md view
@@ -1,5 +1,9 @@ # ChangeLog for conduit-extra +## 1.3.4++* Use `MonadUnliftIO`-generalized versions of `withProcess`-style functions now provided by `typed-process`+ ## 1.3.3  * Disable buffering in process modules [#402](https://github.com/snoyberg/conduit/issues/402)
Data/Conduit/Process/Typed.hs view
@@ -6,15 +6,13 @@   ( -- * Conduit specific stuff     createSink   , createSource-    -- * Generalized functions-  , withProcess -- FIXME import from rio instead-  , withProcess_+    -- * Running a process with logging   , withLoggedProcess_     -- * Reexports   , module System.Process.Typed   ) where -import System.Process.Typed hiding (withProcess, withProcess_)+import System.Process.Typed import qualified System.Process.Typed as P import Data.Conduit (ConduitM, (.|), runConduit) import qualified Data.Conduit.Binary as CB@@ -97,7 +95,10 @@   stderrBuffer <- newIORef id   let pc' = setStdout (createSourceLogged stdoutBuffer)           $ setStderr (createSourceLogged stderrBuffer) pc-  P.withProcess pc' $ \p -> do+  -- withProcessWait vs Term doesn't actually matter here, since we+  -- call checkExitCode inside regardless. But still, Wait is the+  -- safer function to use in general.+  P.withProcessWait pc' $ \p -> do     a <- unliftIO u $ inner p     let drain src = unliftIO u (runConduit (src .| CL.sinkNull))     ((), ()) <- drain (getStdout p) `concurrently`
conduit-extra.cabal view
@@ -1,5 +1,5 @@ Name:                conduit-extra-Version:             1.3.3+Version:             1.3.4 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.@@ -56,7 +56,7 @@                      , stm                      , streaming-commons        >= 0.1.16                      , unliftio-core-                     , typed-process            >= 0.2+                     , typed-process            >= 0.2.6    ghc-options:     -Wall