diff options
author | Daiderd Jordan <daiderd@gmail.com> | 2017-03-25 09:45:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-25 09:45:11 +0100 |
commit | 7dc489d95ac9ce47ca07bfeafd4943a6af35e935 (patch) | |
tree | ff874ddcbd42b786eebfeb6fe2c364db351b541b /pkgs/build-support | |
parent | 6e0b7273a230b55433fe9ae2799fc53f2b33f8dc (diff) | |
parent | 00f472a563c030d0232bfd39af8b3f5411169a5d (diff) | |
download | nixlib-7dc489d95ac9ce47ca07bfeafd4943a6af35e935.tar nixlib-7dc489d95ac9ce47ca07bfeafd4943a6af35e935.tar.gz nixlib-7dc489d95ac9ce47ca07bfeafd4943a6af35e935.tar.bz2 nixlib-7dc489d95ac9ce47ca07bfeafd4943a6af35e935.tar.lz nixlib-7dc489d95ac9ce47ca07bfeafd4943a6af35e935.tar.xz nixlib-7dc489d95ac9ce47ca07bfeafd4943a6af35e935.tar.zst nixlib-7dc489d95ac9ce47ca07bfeafd4943a6af35e935.zip |
Merge pull request #24275 from spacekitteh/fetchFromGitRepo
fetchRepoProject: Fix buildCommand
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/fetchrepoproject/default.nix | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/pkgs/build-support/fetchrepoproject/default.nix b/pkgs/build-support/fetchrepoproject/default.nix index 01d7fe1d0f55..78a46d4ac9bd 100644 --- a/pkgs/build-support/fetchrepoproject/default.nix +++ b/pkgs/build-support/fetchrepoproject/default.nix @@ -1,24 +1,34 @@ -{stdenv, git, gitRepo, gnupg ? null, cacert}: +{ stdenv, git, gitRepo, gnupg ? null, cacert }: -{name, manifest, rev ? "HEAD", sha256 ? "", repoRepoURL ? "", repoRepoRev ? "", referenceDir ? "", -localManifests ? [] }: +{ name, manifest, rev ? "HEAD", sha256 ? "", repoRepoURL ? "", repoRepoRev ? "", referenceDir ? "" +, localManifests ? [] +}: assert repoRepoRev != "" -> repoRepoURL != ""; +with stdenv.lib; + +let + extraRepoInitFlags = [ + (optionalString (repoRepoURL != "") "--repo-url=${repoRepoURL}") + (optionalString (repoRepoRev != "") "--repo-branch=${repoRepoRev}") + (optionalString (referenceDir != "") "--reference=${referenceDir}") + ]; +in + stdenv.mkDerivation { - buildCommand = with stdenv.lib; '' + buildCommand = '' mkdir ./.repo mkdir ./.repo/local_manifests - for local_manifest in ${concatMapStringsSep " " (x: "${x}") localManifests} + for local_manifest in ${concatMapStringsSep " " toString localManifests} do cp $local_manifest ./.repo/local_manifests/$(stripHash $local_manifest; echo $strippedName) done export HOME=.repo - repo init --manifest-url=${manifest} --manifest-branch=${rev} --depth=1 --no-clone-bundle - ${optionalString (repoRepoURL != "") " --repo-url=${repoRepoURL}"} - ${optionalString (repoRepoRev != "") " --repo-branch=${repoRepoRev}"} - ${optionalString (referenceDir != "") " --reference=${referenceDir}"} + repo init --manifest-url=${manifest} --manifest-branch=${rev} --depth=1 --no-clone-bundle \ + ${concatStringsSep " " extraRepoInitFlags} + repo sync --jobs=$NIX_BUILD_CORES --current-branch rm -rf $out/.repo ''; @@ -29,7 +39,7 @@ stdenv.mkDerivation { "GIT_PROXY_COMMAND" "SOCKS_SERVER" ]; - buildInputs = [git gitRepo cacert] ++ stdenv.lib.optional (gnupg != null) [gnupg] ; + buildInputs = [git gitRepo cacert] ++ optional (gnupg != null) [gnupg] ; outputHashAlgo = "sha256"; outputHashMode = "recursive"; |