Open Fuuzetsu opened 3 years ago
Currently we are forced to use gunzip to make tar.gz archives.
gunzip
tar.gz
I'd like to use zstd because it's just better: notably, it's much faster. This can make a big difference in CI when syncing down packages.
zstd
I think if we are able to give flags like
--compressor=zstd
--compressor-extension=zst
The changes to code ought to be fairly minimal:
compressor
-I <compressor>
tar
tar.<compressor-extension>
gz
-z
Maybe instead of --compressor, multiple --tar-flag are much more flexible.
--compressor
--tar-flag
This approach relies on the compressor binary being installed and doesn't add any new dependency to cabal-cache itself.
cabal-cache
Apparently tar itself has some zstd support via the --zstd flag but at least on my system, but it's probably a much newer flag than just using -I.
--zstd
-I
Currently we are forced to use
gunzip
to maketar.gz
archives.I'd like to use
zstd
because it's just better: notably, it's much faster. This can make a big difference in CI when syncing down packages.I think if we are able to give flags like
--compressor=zstd
--compressor-extension=zst
The changes to code ought to be fairly minimal:
compressor
is set, pass-I <compressor>
totar
.tar.gz
, usetar.<compressor-extension>
.gz
if not set. Don't pass-z
totar
unless we're using gunzip.Maybe instead of
--compressor
, multiple--tar-flag
are much more flexible.This approach relies on the compressor binary being installed and doesn't add any new dependency to
cabal-cache
itself.Apparently
tar
itself has somezstd
support via the--zstd
flag but at least on my system, but it's probably a much newer flag than just using-I
.