hstar: Haskell version of tar CLI utility

[ archive, bsd3, codec, program, tar ] [ Propose Tags ] [ Report a vulnerability ]

Haskell implementation of the tar utility, demonstrating backpack


[Skip to Readme]

Flags

Manual Flags

NameDescriptionDefault
development

Enable `-Werror`

Disabled
Automatic Flags
NameDescriptionDefault
pure

Use Haskell backend instead of libarchive

Disabled
tar-bytestring

Use tar-bytestring

Disabled
with-brotli

Enable brotli compression support

Enabled

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

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.5, 0.1.0.6, 0.1.0.7
Change log CHANGELOG.md
Dependencies archive-libarchive, archive-sig (>=0.2.1.2), archive-tar, archive-tar-bytestring, base (>=4.11 && <5), brotli, bytestring, bz2 (>=1.0.0.0), lz4-hs (>=0.1.1.0), lzlib (>=1.0.1.0), lzma, optparse-applicative, zlib, zstd [details]
License BSD-3-Clause
Copyright Copyright: (c) 2019-2020 Vanessa McHale
Author Vanessa McHale
Maintainer vamchale@gmail.com
Category Codec, Tar, Archive
Source repo head: git clone https://github.com/vmchale/archive-backpack(hstar)
Uploaded by vmchale at 2020-04-17T13:32:50Z
Distributions
Executables hstar
Downloads 1327 total (32 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2020-04-17 [all 3 reports]

Readme for hstar-0.1.0.2

[back to package description]

hstar

hstar is a command-line tool like tar, but written in Haskell and taking advantage of backpack.

It can be built with a libarchive backend wrapping the C library, or the tar library written in Haskell.

Use

To generate bash shell completions:

hstar --bash-completion-script hstar

Performance

Benchmarks run on Linux.

hstar built with the libarchive backend.

Program Compression Command Time
bsdtar lz4 bsdtar -xf ghc-8.8.2-x86_64-deb9-linux.tar.lz4 2.411 s
hstar lz4 hstar unpack ghc-8.8.2-x86_64-deb9-linux.tar.lz4 2.529 s
GNU tar lz4 lz4 -cd ghc-8.8.2-x86_64-deb9-linux.tar.lz4 | tar -xf - 2.539 s
Schily tar lz4 lz4 -cd ghc-8.8.2-x86_64-deb9-linux.tar.lz4 | star -xf - 1.572 s
bsdtar gzip bsdtar -xf ghc-8.8.2-x86_64-deb9-linux.tar.gz 4.625 s
hstar gzip hstar unpack ghc-8.8.2-x86_64-deb9-linux.tar.gz 6.378 s
GNU tar gzip tar xf ghc-8.8.2-x86_64-deb9-linux.tar.gz 8.335 s
Schily tar gzip star xf ghc-8.8.2-x86_64-deb9-linux.tar.gz 8.379 s
bsdtar lzip bsdtar -xf ghc-8.8.2-x86_64-deb9-linux.tar.lz 12.49 s
hstar lzip hstar unpack ghc-8.8.2-x86_64-deb9-linux.tar.lz 16.12 s
GNU tar lzip tar xf ghc-8.8.2-x86_64-deb9-linux.tar.lz 16.71 s
Schily tar lzip star xf ghc-8.8.2-x86_64-deb9-linux.tar.lz 15.81 s
bsdtar lzma bsdtar -xf ghc-8.8.2-x86_64-deb9-linux.tar.xz 14.95 s
hstar lzma hstar unpack ghc-8.8.2-x86_64-deb9-linux.tar.xz 15.37 s
GNU tar lzma tar xf ghc-8.8.2-x86_64-deb9-linux.tar.xz 14.32 s
Schily tar lzma star xf ghc-8.8.2-x86_64-deb9-linux.tar.xz 14.37 s
bsdtar bzip2 bsdtar -xf ghc-8.8.2-x86_64-deb9-linux.tar.bz2 37.85 s
hstar bzip2 hstar unpack ghc-8.8.2-x86_64-deb9-linux.tar.bz2 38.99 s
GNU tar bzip2 tar xf ghc-8.8.2-x86_64-deb9-linux.tar.bz2 37.90 s
Schily tar bzip2 star xf ghc-8.8.2-x86_64-deb9-linux.tar.bz2 38.27 s
bsdtar zstd bsdtar -xf ghc-8.8.2-x86_64-deb9-linux.tar.zst 2.232 s
hstar zstd hstar unpack ghc-8.8.2-x86_64-deb9-linux.tar.zst 3.053 s
GNU tar zstd tar xf ghc-8.8.2-x86_64-deb9-linux.tar.zst 2.644 s
Schily tar zstd star xf ghc-8.8.2-x86_64-deb9-linux.tar.zst 2.237 s