Fetchzip or fetchurl, which should I use?

For most tarballs, fetchurl can unpack them in uppackPhase, and fetchzip unpacks them directly. Which one is prefered?

I prefer fetchzip in this case because you could theoretically substitute it with any other method of fetching the same tree and get the same hash. If you used a compressed tarball, this tree would need the exact same mtimes aswell as the same tar and compressor version used to generate the tarball.

The only downside is that the stdenv can’t guess SOURCE_DATE_EPOCH based on the newest mtime. That’s a bit of a hack anyways.

3 Likes