haskell-works / cabal-cache

CI assistant
BSD 3-Clause "New" or "Revised" License
44 stars 11 forks source link

Ability to use different compressor #153

Open Fuuzetsu opened 3 years ago

Fuuzetsu commented 3 years ago

Currently we are forced to use gunzip to make tar.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

The changes to code ought to be fairly minimal:

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 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.