anchor.diff:  let
   
     builder = builtins.toFile "fetchurl.sh"
  -    ''
  +    (''
         echo "downloading $url into $out"
         ${curl} --fail --location --max-redirs 20 --insecure "$url" > "$out"
  -    '';
  +    '' + (if executable then "${coreutils}/chmod +x $out" else ""));
   
   in
       
  
positive.code:       if sha256 != "" then "sha256" else if sha1 != "" then "sha1" else "md5";
    outputHash = if outputHash != "" then outputHash else
        if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5;
    
    inherit system url;
  
  
negative.code: with import <nix/config.nix>;
  
  {system ? builtins.currentSystem, url, outputHash ? "", outputHashAlgo ? "", md5 ? "", sha1 ? "", sha256 ? "", executable ? false}:
  
  assert (outputHash != "" && outputHashAlgo != "")
      || md5 != "" || sha1 != "" || sha256 != "";
  