anchor.diff: -{ stdenv, lib, buildEnv, makeWrapper, runCommand, fetchzip, zlib, rsync }:
  +{ stdenv, lib, buildEnv, makeWrapper, runCommand, fetchurl, zlib, rsync }:
   
   # rustc and cargo nightly binaries
   
  
positive.code:     '';
    };
  
    rust-std = { date, hash, system ? stdenv.system }: stdenv.mkDerivation rec {
      # Strip install.sh, etc
      pname = "rust-std";
      version = "nightly-${date}";
      name = "${pname}-${version}-${system}";
      src = fetchzip {
        url = mkUrl {
          archive = "https://static.rust-lang.org/dist";
          inherit pname date system;
        };
        sha256 = hash;
      };
      buildCommand= ''
        mkdir -p $out
        cp -r "$src"/*/* $out/
        rm $out/manifest.in
      '';
    };
  
negative.code:   mkUrl = { pname, archive, date, system }:
      "${archive}/${date}/${pname}-nightly-${mkTarget system}.tar.gz";
  
    fetch = args: let
        url = mkUrl { inherit (args) pname archive date system; };
        download = builtins.fetchurl (url + ".sha256");
        contents = builtins.readFile download;
        sha256 = args.hash or lib.head (lib.strings.splitString " " contents);
      in fetchurl { inherit url sha256; };
  
    generic = { pname, archive, exes }:
        { date, system ? stdenv.system, ... } @ args:
        stdenv.mkDerivation rec {
      name = "${pname}-${version}";
      version = "nightly-${date}";
      # TODO meta;
      outputs = [ "out" "doc" ];
      src = fetch (args // { inherit pname archive system; });
      nativeBuildInputs = [ rsync ];
      dontStrip = true;
      installPhase = ''
        rsync --chmod=u+w -r ./*/ $out/
      '';
      preFixup = if stdenv.isLinux then let
        # it's overkill, but fixup will prune
  