{ lib, stdenv, curl, }: lib.fetchers.withNormalizedHash { hashTypes = [ "sha1" "sha256" "sha512" ]; } ( { ipfs, url ? "", curlOpts ? "", outputHash, outputHashAlgo, meta ? { }, port ? "8080", postFetch ? "", preferLocalBuild ? true, }: stdenv.mkDerivation { name = ipfs; builder = ./builder.sh; nativeBuildInputs = [ curl ]; # New-style output content requirements. inherit outputHash outputHashAlgo; outputHashMode = "recursive"; inherit curlOpts postFetch ipfs url port meta ; # Doing the download on a remote machine just duplicates network # traffic, so don't do that. inherit preferLocalBuild; } )