summary refs log tree commit diff
path: root/pkgs/build-support/fetchhg
diff options
context:
space:
mode:
authorEdward Tjörnhammar <ed@cflags.cc>2015-05-04 18:20:32 +0200
committerEdward Tjörnhammar <ed@cflags.cc>2015-05-04 18:20:32 +0200
commit655eed7a9309d909914d32867cecf6bada1dc3db (patch)
tree017e33889eeb5c17570fbeb46f7fd3827b1b1dc7 /pkgs/build-support/fetchhg
parentf9e31617a39b21e88726496c22f84851ba42864b (diff)
parent366da9e70f46bd42a62bdcd9a0aa7b891c54760d (diff)
downloadnixpkgs-655eed7a9309d909914d32867cecf6bada1dc3db.tar
nixpkgs-655eed7a9309d909914d32867cecf6bada1dc3db.tar.gz
nixpkgs-655eed7a9309d909914d32867cecf6bada1dc3db.tar.bz2
nixpkgs-655eed7a9309d909914d32867cecf6bada1dc3db.tar.lz
nixpkgs-655eed7a9309d909914d32867cecf6bada1dc3db.tar.xz
nixpkgs-655eed7a9309d909914d32867cecf6bada1dc3db.tar.zst
nixpkgs-655eed7a9309d909914d32867cecf6bada1dc3db.zip
Merge pull request #7235 from risicle/fetchhgsubrepo
fetchhg: add option to fetch hg subrepos
Diffstat (limited to 'pkgs/build-support/fetchhg')
-rw-r--r--pkgs/build-support/fetchhg/builder.sh2
-rw-r--r--pkgs/build-support/fetchhg/default.nix4
-rwxr-xr-xpkgs/build-support/fetchhg/nix-prefetch-hg8
3 files changed, 11 insertions, 3 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 26426ce7d83..214e9b1387b 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 {
@@ -13,6 +13,8 @@ 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;
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)"