summary refs log tree commit diff
path: root/pkgs/build-support/fetchgit/default.nix
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2015-03-10 12:40:19 +0100
committerPeter Simons <simons@cryp.to>2015-03-10 13:14:00 +0100
commit5d02f0e854a82a664ea798261d1dd069fec0801e (patch)
tree895a210ba16f439a34c4d1b44e583adc391a88ba /pkgs/build-support/fetchgit/default.nix
parent8196130a1d922f24e77026d88859b824b15e40ba (diff)
downloadnixpkgs-5d02f0e854a82a664ea798261d1dd069fec0801e.tar
nixpkgs-5d02f0e854a82a664ea798261d1dd069fec0801e.tar.gz
nixpkgs-5d02f0e854a82a664ea798261d1dd069fec0801e.tar.bz2
nixpkgs-5d02f0e854a82a664ea798261d1dd069fec0801e.tar.lz
nixpkgs-5d02f0e854a82a664ea798261d1dd069fec0801e.tar.xz
nixpkgs-5d02f0e854a82a664ea798261d1dd069fec0801e.tar.zst
nixpkgs-5d02f0e854a82a664ea798261d1dd069fec0801e.zip
fetchgit: add 'deepClone' argument to disable shallow fetching
This patch resolves https://github.com/NixOS/nixpkgs/issues/6395. Deep
cloning is useful in combination with 'leaveDotGit' for builds that want
to run "git describe" to obtain a proper version string, etc., like the
'haskellngPackages.cabal2nix' package does.
Diffstat (limited to 'pkgs/build-support/fetchgit/default.nix')
-rw-r--r--pkgs/build-support/fetchgit/default.nix8
1 files changed, 4 insertions, 4 deletions
diff --git a/pkgs/build-support/fetchgit/default.nix b/pkgs/build-support/fetchgit/default.nix
index 7dd179f4c8b..bb89a8f5532 100644
--- a/pkgs/build-support/fetchgit/default.nix
+++ b/pkgs/build-support/fetchgit/default.nix
@@ -11,8 +11,8 @@
       else "";
   in "${if matched == null then base else builtins.head matched}${appendShort}";
 in
-{ url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? false
-, fetchSubmodules ? true
+{ url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? deepClone
+, fetchSubmodules ? true, deepClone ? false
 , name ? urlToName url rev
 }:
 
@@ -39,6 +39,7 @@ in
 */
 
 assert md5 != "" || sha256 != "";
+assert deepClone -> leaveDotGit;
 
 stdenv.mkDerivation {
   inherit name;
@@ -50,7 +51,7 @@ stdenv.mkDerivation {
   outputHashMode = "recursive";
   outputHash = if sha256 == "" then md5 else sha256;
 
-  inherit url rev leaveDotGit fetchSubmodules;
+  inherit url rev leaveDotGit fetchSubmodules deepClone;
 
   GIT_SSL_CAINFO = "${cacert}/etc/ca-bundle.crt";
 
@@ -64,4 +65,3 @@ stdenv.mkDerivation {
 
   preferLocalBuild = true;
 }
-