If you are trying to install Haskell packages that depend on Gtk2Hs or build tools (e.g., alex, happy, gtk2hs-buildtools), and the download is failing or "hot" (meaning stuck, slow, or corrupted cache):
Here’s a comparison for building a medium-sized project (like pandoc or hakyll): gtools cabal download hot
| Method | Time (first run) | Time (cached run) | Network Traces |
|--------|------------------|--------------------|----------------|
| cabal build --only-dependencies | 12 min 30 sec | 2 min 10 sec | 870 MB fetched |
| gtools cabal with --jobs=8 | 6 min 15 sec | 1 min 50 sec | 870 MB (parallel) |
| gtools + Nix binary cache | 2 min 20 sec | 12 sec | < 10 MB (metadata only) |
| gtools + local Hackage mirror | 1 min 10 sec | 45 sec | 0 (over LAN) | If you are trying to install Haskell packages
The hottest result: Local mirror + Nix cache = nearly instant builds. gtools cabal download hot
In multi-threaded environments, a "hot" download may lock the file handle exclusively during the transfer to prevent other processes from reading a partially downloaded cabinet file, which would result in a checksum error.