tar-conduit 0.2.2 → 0.2.3
raw patch · 4 files changed
+43/−38 lines, 4 filesdep ~conduit-combinators
Dependency ranges changed: conduit-combinators
Files
- ChangeLog.md +4/−0
- src/Data/Conduit/Tar.hs +3/−3
- tar-conduit.cabal +12/−11
- tests/Spec.hs +24/−24
ChangeLog.md view
@@ -1,3 +1,7 @@+## 0.2.3 - 2018-02-10++ * Fixed compatibility with new `conduit >= 1.3.0`+ ## 0.2.2 - 2018-02-06 * Fixed proper unicode filepaths handling.
src/Data/Conduit/Tar.hs view
@@ -345,7 +345,7 @@ unless (0 < pSize && pSize <= 4096) $ throwM $ FileTypeError (headerPayloadOffset h) 'L' $ "Filepath is too long: " ++ show pSize- longFileNameBuilder <- payloadsConduit .| sinkBuilder+ longFileNameBuilder <- payloadsConduit .| foldMapC byteString let longFileName = SL.toStrict . SL.init . toLazyByteString $ longFileNameBuilder mcNext <- await case mcNext of@@ -771,7 +771,7 @@ -- content. All paths will be decended into recursively. -- -- @since 0.2.0-filePathConduit :: MonadResource m =>+filePathConduit :: (MonadThrow m, MonadResource m) => ConduitM FilePath (Either FileInfo ByteString) m () filePathConduit = do mfp <- await@@ -803,7 +803,7 @@ -- `filePath`, would be another approach to handling the file paths. -- -- @since 0.2.0-tarFilePath :: MonadResource m => ConduitM FilePath ByteString m FileOffset+tarFilePath :: (MonadThrow m, MonadResource m) => ConduitM FilePath ByteString m FileOffset tarFilePath = filePathConduit .| tar
tar-conduit.cabal view
@@ -1,5 +1,5 @@ name: tar-conduit-version: 0.2.2+version: 0.2.3 synopsis: Extract and create tar files using conduit for streaming description: Please see README.md. This is just filler to avoid warnings. homepage: https://github.com/snoyberg/tar-conduit#readme@@ -17,6 +17,7 @@ exposed-modules: Data.Conduit.Tar, Data.Conduit.Tar.Types build-depends: base >= 4.7 && < 5 , bytestring+ , conduit , conduit-combinators >= 1.0.8.1 , filepath , text@@ -42,7 +43,7 @@ , base , bytestring , conduit- , conduit-combinators+ , conduit-combinators >= 1.0.8.1 , directory , filepath , hspec@@ -57,16 +58,16 @@ main-is: Space.hs hs-source-dirs: tests build-depends: base- , weigh- , deepseq- , containers , bytestring+ , conduit+ , conduit-combinators >= 1.0.8.1+ , containers+ , deepseq , directory , filepath , hspec , tar-conduit- , conduit-combinators- , conduit+ , weigh benchmark time default-language: Haskell2010@@ -75,16 +76,16 @@ main-is: Time.hs hs-source-dirs: tests build-depends: base+ , bytestring+ , conduit+ , conduit-combinators >= 1.0.8.1+ , containers , criterion , deepseq- , containers- , bytestring , directory , filepath , hspec , tar-conduit- , conduit-combinators- , conduit source-repository head type: git
tests/Spec.hs view
@@ -1,30 +1,31 @@-{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE CPP #-}+{-# LANGUAGE RecordWildCards #-} module Main where -import Prelude as P-import Conduit-import Control.Monad (void, when, zipWithM_)-import Data.Conduit.List-import Test.Hspec-import Test.QuickCheck-import Data.Conduit.Tar-import System.Directory-import Data.ByteString as S-import Data.ByteString.Char8 as S8-import Data.Int-import Data.Monoid-import System.IO-import System.FilePath-import System.IO (hSetBuffering, stdout, BufferMode(LineBuffering))-import Control.Exception+import Conduit+import Control.Exception+import Control.Monad (void, when, zipWithM_)+import Data.ByteString as S+import Data.ByteString.Char8 as S8+import Data.Conduit.List+import Data.Conduit.Tar+import Data.Int+import Data.Monoid+import Prelude as P+import System.Directory+import System.FilePath+import System.IO+import System.IO (BufferMode (LineBuffering),+ hSetBuffering, stdout)+import Test.Hspec+import Test.QuickCheck #if !MIN_VERSION_base(4,8,0)-import Control.Applicative ((<$>), pure)-import Data.Word+import Control.Applicative (pure, (<$>))+import Data.Word #endif @@ -220,8 +221,7 @@ readTarball- :: (MonadIO m, MonadThrow m, MonadBaseControl IO m) =>- FilePath -> m [(FileInfo, Maybe ByteString)]+ :: FilePath -> IO [(FileInfo, Maybe ByteString)] readTarball fp = runConduitRes $ sourceFileBS fp .| untar grabBoth .| sinkList where grabBoth fi =