diff options
author | Ian-Woo Kim <ianwookim@gmail.com> | 2015-09-28 06:02:52 +0000 |
---|---|---|
committer | Ian-Woo Kim <ianwookim@gmail.com> | 2015-09-28 06:02:52 +0000 |
commit | b3eebcd93c27039e1800dece22e40f18ce4c582b (patch) | |
tree | 530da5a58da905c0598737aa252c9029743d61fe /pkgs/build-support/fetchgit | |
parent | c6b031d32bae47f497050f5586ecd3f5ed3740b6 (diff) | |
parent | e8ebf051a9ecd812df563fd45bdf607e882da814 (diff) | |
download | nixlib-b3eebcd93c27039e1800dece22e40f18ce4c582b.tar nixlib-b3eebcd93c27039e1800dece22e40f18ce4c582b.tar.gz nixlib-b3eebcd93c27039e1800dece22e40f18ce4c582b.tar.bz2 nixlib-b3eebcd93c27039e1800dece22e40f18ce4c582b.tar.lz nixlib-b3eebcd93c27039e1800dece22e40f18ce4c582b.tar.xz nixlib-b3eebcd93c27039e1800dece22e40f18ce4c582b.tar.zst nixlib-b3eebcd93c27039e1800dece22e40f18ce4c582b.zip |
Merge branch 'master' into extra-binds
Diffstat (limited to 'pkgs/build-support/fetchgit')
-rw-r--r-- | pkgs/build-support/fetchgit/builder.sh | 3 | ||||
-rw-r--r-- | pkgs/build-support/fetchgit/default.nix | 5 | ||||
-rwxr-xr-x | pkgs/build-support/fetchgit/nix-prefetch-git | 16 |
3 files changed, 16 insertions, 8 deletions
diff --git a/pkgs/build-support/fetchgit/builder.sh b/pkgs/build-support/fetchgit/builder.sh index 71374d1f2383..64eea4ae1000 100644 --- a/pkgs/build-support/fetchgit/builder.sh +++ b/pkgs/build-support/fetchgit/builder.sh @@ -9,6 +9,7 @@ header "exporting $url (rev $rev) into $out" $fetcher --builder --url "$url" --out "$out" --rev "$rev" \ ${leaveDotGit:+--leave-dotGit} \ ${deepClone:+--deepClone} \ - ${fetchSubmodules:+--fetch-submodules} + ${fetchSubmodules:+--fetch-submodules} \ + ${branchName:+--branch-name "$branchName"} stopNest diff --git a/pkgs/build-support/fetchgit/default.nix b/pkgs/build-support/fetchgit/default.nix index bb89a8f55329..8ddb6a85d0c2 100644 --- a/pkgs/build-support/fetchgit/default.nix +++ b/pkgs/build-support/fetchgit/default.nix @@ -13,6 +13,7 @@ in { url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? deepClone , fetchSubmodules ? true, deepClone ? false +, branchName ? null , name ? urlToName url rev }: @@ -51,9 +52,9 @@ stdenv.mkDerivation { outputHashMode = "recursive"; outputHash = if sha256 == "" then md5 else sha256; - inherit url rev leaveDotGit fetchSubmodules deepClone; + inherit url rev leaveDotGit fetchSubmodules deepClone branchName; - GIT_SSL_CAINFO = "${cacert}/etc/ca-bundle.crt"; + GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt"; impureEnvVars = [ # We borrow these environment variables from the caller to allow diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git index 486fd3acafb7..22d46257075e 100755 --- a/pkgs/build-support/fetchgit/nix-prefetch-git +++ b/pkgs/build-support/fetchgit/nix-prefetch-git @@ -8,6 +8,7 @@ deepClone=$NIX_PREFETCH_GIT_DEEP_CLONE leaveDotGit=$NIX_PREFETCH_GIT_LEAVE_DOT_GIT fetchSubmodules= builder= +branchName=$NIX_PREFETCH_GIT_BRANCH_NAME if test -n "$deepClone"; then deepClone=true @@ -31,6 +32,7 @@ for arg; do --url) argfun=set_url;; --rev) argfun=set_rev;; --hash) argfun=set_hashType;; + --branch-name) argfun=set_branchName;; --deepClone) deepClone=true;; --no-deepClone) deepClone=false;; --leave-dotGit) leaveDotGit=true;; @@ -107,8 +109,8 @@ checkout_hash(){ hash=$(hash_from_ref $ref) fi - git fetch ${builder:+--progress} origin || return 1 - git checkout -b fetchgit $hash || return 1 + git fetch -t ${builder:+--progress} origin || return 1 + git checkout -b $branchName $hash || return 1 } # Fetch only a branch/tag and checkout it. @@ -131,7 +133,7 @@ checkout_ref(){ if test -n "$ref"; then # --depth option is ignored on http repository. git fetch ${builder:+--progress} --depth 1 origin +"$ref" || return 1 - git checkout -b fetchgit FETCH_HEAD || return 1 + git checkout -b $branchName FETCH_HEAD || return 1 else return 1 fi @@ -222,7 +224,7 @@ make_deterministic_repo(){ fi done - # Do a full repack. Must run single-threaded, or else we loose determinism. + # Do a full repack. Must run single-threaded, or else we lose determinism. git config pack.threads 1 git repack -A -d -f rm -f .git/config @@ -251,7 +253,7 @@ clone_user_rev() { fi;; esac - local full_revision=$(cd $dir && (git rev-parse $rev 2> /dev/null || git rev-parse refs/heads/fetchgit) | tail -n1) + local full_revision=$(cd $dir && (git rev-parse $rev 2> /dev/null || git rev-parse refs/heads/$branchName) | tail -n1) echo "git revision is $full_revision" echo "git human-readable version is $(cd $dir && (git describe $full_revision 2> /dev/null || git describe --tags $full_revision 2> /dev/null || echo -- none --))" >&2 echo "Commit date is $(cd $dir && git show --no-patch --pretty=%ci $full_revision)" @@ -268,6 +270,10 @@ clone_user_rev() { fi } +if test -z "$branchName"; then + branchName=fetchgit +fi + if test -n "$builder"; then test -n "$out" -a -n "$url" -a -n "$rev" || usage mkdir $out |