anchor.diff:  
     configureFlags = [
       "--disable-tests"
  -    "--with-boost-libdir=${lib.getLib boost177}/lib"
  +    "--with-boost-libdir=${lib.getLib boost178}/lib"
       "CXXFLAGS=-I${lib.getDev utf8cpp}/include/utf8cpp"
       "RUST_TARGET=${rust.toRustTargetSpec stdenv.hostPlatform}"
     ] ++ lib.optional (!withWallet) "--disable-wallet"
  
positive.code: { rust, rustPlatform, stdenv, lib, fetchFromGitHub, autoreconfHook, makeWrapper
  , cargo, pkg-config, curl, coreutils, boost177, db62, hexdump, libsodium
  , libevent, utf8cpp, util-linux, withDaemon ? true, withMining ? true
  , withUtils ? true, withWallet ? true, withZmq ? true, zeromq
  }:
  
  rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
    pname = "zcash";
    version = "4.6.0-2";
  
    src = fetchFromGitHub {
      owner = "zcash";
      repo  = "zcash";
      rev = "v${version}";
      sha256 = "sha256-RvUa8CKPBFfsqzrJkPHePZMqpCfyVafrUbftMdTviHA=";
    };
  
    cargoSha256 = "sha256-qWimataBZ/rLDOLgetNfFAzi/psXcJV54b3WGm9k+b4=";
  
    nativeBuildInputs = [ autoreconfHook cargo hexdump makeWrapper pkg-config ];
    buildInputs = [ boost177 libevent libsodium utf8cpp ]
      ++ lib.optional withWallet db62
      ++ lib.optional withZmq zeromq;
  
  
negative.code:   meta = with lib; {
      description = "Peer-to-peer, anonymous electronic cash system";
      homepage = "https://z.cash/";
      maintainers = with maintainers; [ rht tkerber centromere ];
      license = licenses.mit;
      platforms = platforms.linux ++ platforms.darwin;
    };
  }
  