archive-tar 0.2.2.1 → 1.0.0.0
raw patch · 3 files changed
+23/−9 lines, 3 filesdep ~tarPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: tar
API changes (from Hackage documentation)
- Archive.Tar: packFiles :: [FilePath] -> IO ByteString
- Archive.Tar: unpackToDir :: FilePath -> ByteString -> IO ()
+ Archive.Tar: packFilesRaw :: [FP] -> IO ByteString
+ Archive.Tar: toFP :: FilePath -> FP
+ Archive.Tar: type FP = FilePath
+ Archive.Tar: unpackToDirRaw :: FP -> ByteString -> IO ()
Files
- CHANGELOG.md +4/−0
- archive-tar.cabal +5/−2
- src/Archive/Tar.cpphs +14/−7
CHANGELOG.md view
@@ -1,3 +1,7 @@+# 1.0.0.0++ * Conform to `archive-sig` 1.0.0.0+ # 0.2.2.1 * Improved `versionInfo`
archive-tar.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.0 name: archive-tar-version: 0.2.2.1+version: 1.0.0.0 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2019-2020 Vanessa McHale@@ -34,7 +34,7 @@ ghc-options: -Wall build-depends: base >=4.3 && <5,- tar -any,+ tar >=0.6.0.0, bytestring -any, composition-prelude >=2.0.3.0 @@ -48,3 +48,6 @@ if impl(ghc >=8.4) ghc-options: -Wmissing-export-lists++ if impl(ghc >=8.10)+ ghc-options: -Wunused-packages
src/Archive/Tar.cpphs view
@@ -1,13 +1,15 @@ module Archive.Tar ( Entry , Error+ , FP , writeArchiveBytes- , unpackToDir+ , unpackToDirRaw , readArchiveBytes- , packFiles+ , packFilesRaw , versionInfo+ , toFP ) where -import Codec.Archive.Tar (Entries (..))+import Codec.Archive.Tar (Entries, GenEntries (..)) import qualified Codec.Archive.Tar as Tar import Control.Composition ((.@)) import qualified Data.ByteString.Lazy as BSL@@ -18,6 +20,11 @@ type Error = Tar.FormatError +type FP = FilePath++toFP :: FilePath -> FP+toFP = id+ -- this is bad but libarchive's error handling is vaguely fucked coerceToList :: Entries a -> Either a [Entry] coerceToList (Next e es) = (e :) <$> coerceToList es@@ -30,11 +37,11 @@ readArchiveBytes :: BSL.ByteString -> Either Error [Entry] readArchiveBytes = coerceToList . Tar.read -unpackToDir :: FilePath -> BSL.ByteString -> IO ()-unpackToDir = Tar.read .@ Tar.unpack+unpackToDirRaw :: FP -> BSL.ByteString -> IO ()+unpackToDirRaw = Tar.read .@ Tar.unpack -packFiles :: [FilePath] -> IO BSL.ByteString-packFiles = fmap Tar.write . Tar.pack "."+packFilesRaw :: [FP] -> IO BSL.ByteString+packFilesRaw = fmap Tar.write . Tar.pack "." -- | @since 0.2.2.0 versionInfo :: String