summary refs log tree commit diff
path: root/pkgs/build-support/fetchhg/default.nix
blob: 2516f79f65b16e79b9559f115b9a86fb17a13d63 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{stdenv, mercurial, nix}: {name ? null, url, rev ? null, md5 ? null, sha256 ? null, fetchSubrepos ? false}:

if md5 != null then
  throw "fetchhg does not support md5 anymore, please use sha256"
else
# TODO: statically check if mercurial as the https support if the url starts woth https.
stdenv.mkDerivation {
  name = "hg-archive" + (if name != null then "-${name}" else "");
  builder = ./builder.sh;
  nativeBuildInputs = [mercurial];

  impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars;

  subrepoClause = if fetchSubrepos then "S" else "";

  outputHashAlgo = "sha256";
  outputHashMode = "recursive";
  outputHash = sha256;

  inherit url rev;
  preferLocalBuild = true;
}