ztar: Creating and extracting arbitrary archives

[ bsd3, codec, library ] [ Propose Tags ]

Creating and extracting arbitrary archives.

[Skip to Readme]
Versions [RSS] [faq] 0.0.1, 0.0.2, 0.0.3, 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.2.0, 1.0.0, 1.0.1, 1.0.2
Change log CHANGELOG.md
Dependencies base (>=4.7 && <5), bytestring (>=0.10.8 && <0.11), deepseq, directory (==1.3.*), filepath (>=1.4.1 && <1.5), path (>=0.5 && <0.8), process, text, unix-compat, zip (>=1.0 && <1.4), zlib (==0.6.*) [details]
License BSD-3-Clause
Author Brandon Chinn <brandonchinn178@gmail.com>
Maintainer Brandon Chinn <brandonchinn178@gmail.com>
Category Codec
Home page https://github.com/brandonchinn178/ztar#readme
Bug tracker https://github.com/brandonchinn178/ztar/issues
Source repo head: git clone https://github.com/brandonchinn178/ztar
Uploaded by brandonchinn178 at 2020-05-03T21:13:31Z
Distributions NixOS:1.0.2
Downloads 4057 total (13 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2020-05-04 [all 2 reports]


  • Codec
    • Archive
      • Codec.Archive.Tar
      • Codec.Archive.ZTar
        • Codec.Archive.ZTar.GZip
        • Codec.Archive.ZTar.Tar
        • Codec.Archive.ZTar.Zip

Manual Flags


Turn on development settings.

Automatic Flags

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees


Readme for ztar-1.0.2

[back to package description]


Reading and writing arbitrary archives.

An extension of the tar library that, similar to the tar UNIX executable, can create an archive with a given compression algorithm and automatically detect the compression algorithm of an archive when extracting.

import Codec.Archive.ZTar

-- equivalent to `Codec.Archive.Tar.create "archive.tar" "dist/" ["."]`
createFrom NoCompression "archive.tar" "dist/" ["."]

-- helper to compress a single directory; equivalent to previous line
create NoCompression "archive.tar" "dist/"

-- compress with GZip
create GZip "archive.tar.gz" "dist/"

-- compress with Zip
create Zip "archive.zip" "dist/"

-- automatically determines compression
extract "archive.tar" "archive-tar/"
extract "archive.tar.gz" "archive-gz/"
extract "archive.zip" "archive-zip/"

-- can also use Path types
import Path
import Path.IO
home <- getHomeDir
let archive = home </> [relfile|archive.tgz|]
dir <- resolveDir "dist/"
create' GZip archive dir