mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-16 17:14:00 +00:00
fetchhg: add option to fetch hg subrepos
This commit is contained in:
parent
066d6146fc
commit
366da9e70f
@ -3,7 +3,7 @@ header "getting $url${rev:+ ($rev)} into $out"
|
|||||||
|
|
||||||
hg clone --insecure "$url" hg-clone
|
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
|
rm -f $out/.hg_archival.txt
|
||||||
|
|
||||||
stopNest
|
stopNest
|
||||||
|
@ -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.
|
# TODO: statically check if mercurial as the https support if the url starts woth https.
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
@ -9,10 +9,12 @@ stdenv.mkDerivation {
|
|||||||
# Nix <= 0.7 compatibility.
|
# Nix <= 0.7 compatibility.
|
||||||
id = md5;
|
id = md5;
|
||||||
|
|
||||||
|
subrepoClause = if fetchSubrepos then "S" else "";
|
||||||
|
|
||||||
outputHashAlgo = if md5 != null then "md5" else "sha256";
|
outputHashAlgo = if md5 != null then "md5" else "sha256";
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
outputHash = if md5 != null then md5 else sha256;
|
outputHash = if md5 != null then md5 else sha256;
|
||||||
|
|
||||||
inherit url rev;
|
inherit url rev;
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,12 @@ if test -z "$url"; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "$fetchSubrepos" == 1; then
|
||||||
|
subrepoClause=S
|
||||||
|
else
|
||||||
|
subrepoClause=
|
||||||
|
fi
|
||||||
|
|
||||||
test -n "$rev" || rev="tip"
|
test -n "$rev" || rev="tip"
|
||||||
|
|
||||||
|
|
||||||
@ -47,7 +53,7 @@ if test -z "$finalPath"; then
|
|||||||
else
|
else
|
||||||
tmpClone=$url
|
tmpClone=$url
|
||||||
fi
|
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
|
rm -f $tmpArchive/.hg_archival.txt
|
||||||
|
|
||||||
echo "hg revision is $(cd $tmpClone; hg id -r "$rev" -i)"
|
echo "hg revision is $(cd $tmpClone; hg id -r "$rev" -i)"
|
||||||
|
Loading…
Reference in New Issue
Block a user