hstar 0.1.0.3 → 0.1.0.4
raw patch · 6 files changed
+23/−5 lines, 6 filesdep +lzo
Dependencies added: lzo
Files
- CHANGELOG.md +4/−0
- hstar.cabal +3/−2
- man/hstar.1 +4/−0
- src/Compression.cpphs +6/−0
- src/Main.hs +3/−3
- src/Version.cpphs +3/−0
CHANGELOG.md view
@@ -1,3 +1,7 @@+# 0.1.0.4++ * Add support for lzo (`.lzo`, `.tzo`) compression+ # 0.1.0.3 * Add support for snappy (`.sz`) compressed archive with `with-snappy` flag
hstar.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.0 name: hstar-version: 0.1.0.3+version: 0.1.0.4 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2019-2020 Vanessa McHale@@ -68,7 +68,8 @@ zlib -any, zstd -any, lz4-hs >=0.1.1.0,- lzlib >=1.0.1.0+ lzlib >=1.0.1.0,+ lzo >=0.1.1.0 if flag(with-snappy) build-depends: snappy-lazy -any
man/hstar.1 view
@@ -48,9 +48,13 @@ .IP \[bu] 2 lz4 .IP \[bu] 2+lzo+.IP \[bu] 2 deflate .IP \[bu] 2 brotli (optional)+.IP \[bu] 2+snappy (optional) .SH SHELL COMPLETIONS .PP To get shell completions in your current session:
src/Compression.cpphs view
@@ -9,6 +9,7 @@ import qualified Codec.Compression.BZip as BZip import qualified Codec.Compression.GZip as GZip import qualified Codec.Compression.Lzma as Lzma+import qualified Codec.Compression.Lzo as Lzo #ifdef SNAPPY import qualified Codec.Compression.Snappy.BSL as Snappy #endif@@ -26,6 +27,7 @@ | Zstd | Deflate | Lz4+ | Lzo #ifdef BROTLI | Brotli #endif@@ -48,6 +50,8 @@ | ".tar.zst" `isSuffixOf` fp = Zstd | ".tar.Z" `isSuffixOf` fp = Deflate | ".tar.lz4" `isSuffixOf` fp = Lz4+ | ".tar.lzo" `isSuffixOf` fp = Lzo+ | ".tzo" `isSuffixOf` fp = Lzo #ifdef BROTLI | ".tbr" `isSuffixOf` fp = Brotli | ".tar.br" `isSuffixOf` fp = Brotli@@ -66,6 +70,7 @@ decompressor Zstd = Zstd.decompress decompressor Deflate = Zlib.decompress decompressor Lz4 = Lz4.decompress+decompressor Lzo = Lzo.decompressFile #ifdef BROTLI decompressor Brotli = Brotli.decompress #endif@@ -76,6 +81,7 @@ compressor :: Compressor -> (BSL.ByteString -> BSL.ByteString) compressor Lzma = Lzma.compress+compressor Lzo = Lzo.compressFile compressor Bz2 = BZip.compress compressor GZip = GZip.compress compressor Lz = Lzip.compress
src/Main.hs view
@@ -22,9 +22,9 @@ sanitize :: FilePath -> IO () sanitize fp = do let enc = compressionByFileExt fp- contents <- decompressor enc <$> BSL.readFile fp- forceBSL contents- let es = either throw id $ readArchiveBytes contents+ contents <- BSL.readFile fp+ decoded <- decompressor enc contents <$ forceBSL contents+ let es = either throw id $ readArchiveBytes decoded paxContents = writeArchiveBytes es BSL.writeFile fp (compressor enc paxContents)
src/Version.cpphs view
@@ -3,6 +3,7 @@ import Archive import Archive.Generic import Codec.Compression.BZip+import Codec.Compression.Lzo (lzoVersionString) import Codec.Lz4 (lZ4VersionString) import Codec.Lzip import qualified Data.Version as V@@ -21,6 +22,8 @@ ++ "lz4-hs: " ++ VERSION_lz4_hs ++ "\n" ++ "lz4: " ++ lZ4VersionString ++ "\n" ++ "zstd-hs: " ++ VERSION_zstd ++ "\n"+ ++ "lzo: " ++ lzoVersionString ++ "\n"+ ++ "lzo-hs: " ++ VERSION_lzo ++ "\n" #ifdef BROTLI ++ "brotli-hs: " ++ VERSION_brotli ++ "\n" #endif