From 5d02f0e854a82a664ea798261d1dd069fec0801e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 10 Mar 2015 12:40:19 +0100 Subject: [PATCH] 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. --- pkgs/build-support/fetchgit/builder.sh | 1 + pkgs/build-support/fetchgit/default.nix | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/build-support/fetchgit/builder.sh b/pkgs/build-support/fetchgit/builder.sh index 9050cce6ee8..71374d1f238 100644 --- a/pkgs/build-support/fetchgit/builder.sh +++ b/pkgs/build-support/fetchgit/builder.sh @@ -8,6 +8,7 @@ header "exporting $url (rev $rev) into $out" $fetcher --builder --url "$url" --out "$out" --rev "$rev" \ ${leaveDotGit:+--leave-dotGit} \ + ${deepClone:+--deepClone} \ ${fetchSubmodules:+--fetch-submodules} stopNest 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; } -