diff options
author | Robert Scott <code@humanleg.org.uk> | 2015-04-01 15:02:07 +0100 |
---|---|---|
committer | Robert Scott <code@humanleg.org.uk> | 2015-05-04 16:18:26 +0100 |
commit | 366da9e70f46bd42a62bdcd9a0aa7b891c54760d (patch) | |
tree | d5c854f1a583aa12ca98b3f0b5793748b7fe2b1f /pkgs | |
parent | 066d6146fc4d84848095b2633d4a82330c271121 (diff) | |
download | nixpkgs-366da9e70f46bd42a62bdcd9a0aa7b891c54760d.tar nixpkgs-366da9e70f46bd42a62bdcd9a0aa7b891c54760d.tar.gz nixpkgs-366da9e70f46bd42a62bdcd9a0aa7b891c54760d.tar.bz2 nixpkgs-366da9e70f46bd42a62bdcd9a0aa7b891c54760d.tar.lz nixpkgs-366da9e70f46bd42a62bdcd9a0aa7b891c54760d.tar.xz nixpkgs-366da9e70f46bd42a62bdcd9a0aa7b891c54760d.tar.zst nixpkgs-366da9e70f46bd42a62bdcd9a0aa7b891c54760d.zip |
fetchhg: add option to fetch hg subrepos
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/build-support/fetchhg/builder.sh | 2 | ||||
-rw-r--r-- | pkgs/build-support/fetchhg/default.nix | 6 | ||||
-rwxr-xr-x | pkgs/build-support/fetchhg/nix-prefetch-hg | 8 |
3 files changed, 12 insertions, 4 deletions
diff --git a/pkgs/build-support/fetchhg/builder.sh b/pkgs/build-support/fetchhg/builder.sh index 0b51ef79b23..847f18fa597 100644 --- a/pkgs/build-support/fetchhg/builder.sh +++ b/pkgs/build-support/fetchhg/builder.sh @@ -3,7 +3,7 @@ header "getting $url${rev:+ ($rev)} into $out" hg clone --insecure "$url" hg-clone -hg archive -q -y ${rev:+-r "$rev"} --cwd hg-clone $out +hg archive -q$subrepoClause -y ${rev:+-r "$rev"} --cwd hg-clone $out rm -f $out/.hg_archival.txt stopNest diff --git a/pkgs/build-support/fetchhg/default.nix b/pkgs/build-support/fetchhg/default.nix index 4675cbe6ec8..afff9d36883 100644 --- a/pkgs/build-support/fetchhg/default.nix +++ b/pkgs/build-support/fetchhg/default.nix @@ -1,4 +1,4 @@ -{stdenv, mercurial, nix}: {name ? null, url, rev ? null, md5 ? null, sha256 ? null}: +{stdenv, mercurial, nix}: {name ? null, url, rev ? null, md5 ? null, sha256 ? null, fetchSubrepos ? false}: # TODO: statically check if mercurial as the https support if the url starts woth https. stdenv.mkDerivation { @@ -9,10 +9,12 @@ stdenv.mkDerivation { # Nix <= 0.7 compatibility. id = md5; + subrepoClause = if fetchSubrepos then "S" else ""; + outputHashAlgo = if md5 != null then "md5" else "sha256"; outputHashMode = "recursive"; outputHash = if md5 != null then md5 else sha256; - + inherit url rev; preferLocalBuild = true; } diff --git a/pkgs/build-support/fetchhg/nix-prefetch-hg b/pkgs/build-support/fetchhg/nix-prefetch-hg index a8916176f8a..a877b217125 100755 --- a/pkgs/build-support/fetchhg/nix-prefetch-hg +++ b/pkgs/build-support/fetchhg/nix-prefetch-hg @@ -17,6 +17,12 @@ if test -z "$url"; then exit 1 fi +if test "$fetchSubrepos" == 1; then + subrepoClause=S +else + subrepoClause= +fi + test -n "$rev" || rev="tip" @@ -47,7 +53,7 @@ if test -z "$finalPath"; then else tmpClone=$url fi - hg archive -q -y -r "$rev" --cwd $tmpClone $tmpArchive + hg archive -q$subrepoClause -y -r "$rev" --cwd $tmpClone $tmpArchive rm -f $tmpArchive/.hg_archival.txt echo "hg revision is $(cd $tmpClone; hg id -r "$rev" -i)" |