37 lines
778 B
Nix
37 lines
778 B
Nix
|
{ 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;
|
||
|
}
|
||
|
)
|