anchor.diff:        --replace 'armv5' 'armv6'
     '';
   
  -
  -  nativeBuildInputs = [ ronn ];
  -  buildInputs = [ openssl lzo zlib iproute2 ];
  +  nativeBuildInputs = [
  +    pkg-config
  +    ronn
  +    rustPlatform.cargoSetupHook
  +    rustPlatform.rust.cargo
  +    rustPlatform.rust.rustc
  +  ];
  +  buildInputs = [
  +    iproute2
  +    lzo
  +    openssl
  +    zlib
  +  ];
   
     enableParallelBuilding = true;
   
  
positive.code: 
    doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
    checkPhase = ''
      ./zerotier-selftest
    '';
  
    installPhase = ''
      install -Dt "$out/bin/" zerotier-one
      ln -s $out/bin/zerotier-one $out/bin/zerotier-idtool
      ln -s $out/bin/zerotier-one $out/bin/zerotier-cli
  
      mkdir -p $man/share/man/man8
      for cmd in zerotier-one.8 zerotier-cli.1 zerotier-idtool.1; do
        cat doc/$cmd | gzip -9n > $man/share/man/man8/$cmd.gz
      done
    '';
  
    outputs = [ "out" "man" ];
  
negative.code: { lib
  , stdenv
  , rustPlatform
  , fetchFromGitHub
  , fetchurl
  
  , buildPackages
  , iproute2
  , lzo
  , openssl
  , pkg-config
  , ronn
  , zlib
  }:
  
  let
    pname = "zerotierone";
    version = "1.8.9";
  
    src = fetchFromGitHub {
      owner = "zerotier";
      repo = "ZeroTierOne";
      rev = version;
      sha256 = "sha256-N1VqzjaFJRJiSG4qHqRy4Fs8TlkUqyDoq0/3JQdGwfA=";
    };
  in stdenv.mkDerivation {
    inherit pname version src;
  
    cargoDeps = rustPlatform.fetchCargoTarball {
      src = "${src}/zeroidc";
      name = "${pname}-${version}";
      sha256 = "sha256-PDsJtz279P2IpgiL0T92IbcANeGSUnGKhEH1dj9VtbM=";
    };
    postPatch = "cp ${src}/zeroidc/Cargo.lock Cargo.lock";
  
    preConfigure = ''
      patchShebangs ./doc/build.sh
  