diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2017-01-07 10:39:00 +0100 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2017-01-07 13:27:16 +0100 |
commit | 5ce414141ed2141591006da4b0261d51d9be32d6 (patch) | |
tree | 407d6e5216ea81300c5bab9895580c57e0aaec20 /koch.nim | |
parent | 86c73cdfc25ae6e0eff2427ac69e7ab729376ac5 (diff) | |
download | Nim-5ce414141ed2141591006da4b0261d51d9be32d6.tar.gz |
koch.nim: critical fix for the tar.xz installations
Diffstat (limited to 'koch.nim')
-rw-r--r-- | koch.nim | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/koch.nim b/koch.nim index f117f136c..d5b756420 100644 --- a/koch.nim +++ b/koch.nim @@ -188,21 +188,25 @@ proc buildNimble(latest: bool) = # here so that it cannot cause problems (nimble bug #306): if dirExists("bin/nimblepkg"): removeDir("bin/nimblepkg") + # if koch is used for a tar.xz, build the dist/nimble we shipped + # with the tarball: var installDir = "dist/nimble" - if not dirExists("dist/nimble/.git"): - # if dist/nimble exist, but is not a git repo, don't mess with it: - if dirExists(installDir): - var id = 0 - while dirExists("dist/nimble" & $id): - inc id - installDir = "dist/nimble" & $id - exec("git clone https://github.com/nim-lang/nimble.git " & installDir) - withDir(installDir): - if latest: - exec("git checkout -f master") - else: - exec("git checkout -f stable") - exec("git pull") + if not latest and dirExists(installDir) and not dirExists("dist/nimble/.git"): + discard "don't do the git dance" + else: + if not dirExists("dist/nimble/.git"): + if dirExists(installDir): + var id = 0 + while dirExists("dist/nimble" & $id): + inc id + installDir = "dist/nimble" & $id + exec("git clone https://github.com/nim-lang/nimble.git " & installDir) + withDir(installDir): + if latest: + exec("git checkout -f master") + else: + exec("git checkout -f stable") + exec("git pull") nimexec("c --noNimblePath -p:compiler " & installDir / "src/nimble.nim") copyExe(installDir / "src/nimble".exe, "bin/nimble".exe) |