nixpkgs/pkgs/build-support/fetchadc/default.nix

45 lines
1.1 KiB
Nix
Raw Normal View History

{ stdenv, curl, adc_user, adc_pass }:
let
impureEnvVars = [
# We borrow these environment variables from the caller to allow
# easy proxy configuration. This is impure, but a fixed-output
# derivation like fetchurl is allowed to do so since its result is
# by definition pure.
"http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
];
in
{ # URL to fetch.
url
# Hash of the downloaded file
, sha256
, # Additional curl options needed for the download to succeed.
curlOpts ? ""
, # Name of the file. If empty, use the basename of `url' (or of the
# first element of `urls').
name ? ""
}:
stdenv.mkDerivation {
name = if name != "" then name else baseNameOf (toString url);
builder = ./builder.sh;
buildInputs = [ curl ];
meta = {
# Password-guarded files from ADC are certainly unfree, as far as we're concerned!
license = stdenv.lib.licenses.unfree;
};
outputHashAlgo = "sha256";
outputHash = sha256;
outputHashMode = "flat";
inherit curlOpts url adc_user adc_pass;
preferLocalBuild = true;
}