blob: efd477d59889c41afc1d30d433e19553b86d78e2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
{ 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;
}
|