archive-tar 0.2.0.0 → 0.2.2.0
raw patch · 4 files changed
+65/−58 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Archive.Tar: versionInfo :: String
Files
- LICENSE +1/−1
- archive-tar.cabal +25/−23
- src/Archive/Tar.cpphs +39/−0
- src/Archive/Tar.hs +0/−34
LICENSE view
@@ -1,4 +1,4 @@-Copyright Vanessa McHale (c) 2019+Copyright Vanessa McHale (c) 2019-2020 Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
archive-tar.cabal view
@@ -1,34 +1,35 @@-cabal-version: 2.0-name: archive-tar-version: 0.2.0.0-license: BSD3-license-file: LICENSE-copyright: Copyright: (c) 2019 Vanessa McHale-maintainer: vanessa.mchale@iohk.io-author: Vanessa McHale-synopsis: Common interface using the tar package+cabal-version: 2.0+name: archive-tar+version: 0.2.2.0+license: BSD3+license-file: LICENSE+copyright: Copyright: (c) 2019-2020 Vanessa McHale+maintainer: vamchale@gmail.com+author: Vanessa McHale+synopsis: Common interface using the tar package description: Backpack-ified way to use [tar](http://hackage.haskell.org/package/tar) bindings-category: Codec, Tar, Archive-build-type: Simple++category: Codec, Tar, Archive+build-type: Simple extra-doc-files: CHANGELOG.md source-repository head- type: git+ type: git location: https://github.com/vmchale/archive-backpack+ subdir: archive-tar flag development- description:- Enable `-Werror`- default: False- manual: True+ description: Enable `-Werror`+ default: False+ manual: True library- exposed-modules:- Archive.Tar- hs-source-dirs: src- default-language: Haskell2010- ghc-options: -Wall+ exposed-modules: Archive.Tar+ build-tool-depends: cpphs:cpphs -any+ hs-source-dirs: src+ default-language: Haskell2010+ ghc-options: -Wall build-depends: base >=4.3 && <5, tar -any,@@ -39,8 +40,9 @@ ghc-options: -Werror if impl(ghc >=8.0)- ghc-options: -Wincomplete-uni-patterns -Wincomplete-record-updates- -Wredundant-constraints -Widentities+ ghc-options:+ -Wincomplete-uni-patterns -Wincomplete-record-updates+ -Wredundant-constraints -Widentities if impl(ghc >=8.4) ghc-options: -Wmissing-export-lists
+ src/Archive/Tar.cpphs view
@@ -0,0 +1,39 @@+module Archive.Tar ( Entry+ , Error+ , writeArchiveBytes+ , unpackToDir+ , readArchiveBytes+ , packFiles+ , versionInfo+ ) where++import Codec.Archive.Tar (Entries (..))+import qualified Codec.Archive.Tar as Tar+import Control.Composition ((.@))+import qualified Data.ByteString.Lazy as BSL++type Entry = Tar.Entry++type Error = Tar.FormatError++-- this is bad but libarchive's error handling is vaguely fucked+coerceToList :: Entries a -> Either a [Entry]+coerceToList (Next e es) = (e :) <$> coerceToList es+coerceToList Done = Right []+coerceToList (Fail ex) = Left ex++writeArchiveBytes :: [Entry] -> BSL.ByteString+writeArchiveBytes = Tar.write++readArchiveBytes :: BSL.ByteString -> Either Error [Entry]+readArchiveBytes = coerceToList . Tar.read++unpackToDir :: FilePath -> BSL.ByteString -> IO ()+unpackToDir = Tar.read .@ Tar.unpack++packFiles :: [FilePath] -> IO BSL.ByteString+packFiles = fmap Tar.write . Tar.pack "."++-- | @since 0.2.2.0+versionInfo :: String+versionInfo = "tar: " ++ VERSION_tar
− src/Archive/Tar.hs
@@ -1,34 +0,0 @@-module Archive.Tar ( Entry- , Error- , writeArchiveBytes- , unpackToDir- , readArchiveBytes- , packFiles- ) where--import Codec.Archive.Tar (Entries (..))-import qualified Codec.Archive.Tar as Tar-import Control.Composition ((.@))-import qualified Data.ByteString.Lazy as BSL--type Entry = Tar.Entry--type Error = Tar.FormatError---- this is bad but libarchive's error handling is vaguely fucked-coerceToList :: Entries a -> Either a [Entry]-coerceToList (Next e es) = (e :) <$> coerceToList es-coerceToList Done = Right []-coerceToList (Fail ex) = Left ex--writeArchiveBytes :: [Entry] -> BSL.ByteString-writeArchiveBytes = Tar.write--readArchiveBytes :: BSL.ByteString -> Either Error [Entry]-readArchiveBytes = coerceToList . Tar.read--unpackToDir :: FilePath -> BSL.ByteString -> IO ()-unpackToDir = Tar.read .@ Tar.unpack--packFiles :: [FilePath] -> IO BSL.ByteString-packFiles = fmap Tar.write . Tar.pack "."