This is pretty much a repackaging, because a lot has changed about
zcash in two major versions. Lots of libraries are no longer
necessary, and librustzcash is now part of the zcash package as
opposed to being a library supposed to be built seperately.
The whole thing is a buildRustPackage because that's easier than
trying to emulate buildRustPackage's dependency setup behaviour inside
a normal mkDerivation. So that the normal zcash build process is
followed, the actual configuring and building uses the normal stdenv
behaviour.
Changes the default fetcher in the Rust Platform to be the newer
`fetchCargoTarball`, and changes every application using the current default to
instead opt out.
This commit does not change any hashes or cause any rebuilds. Once integrated,
we will start deleting the opt-outs and recomputing hashes.
See #79975 for details.