diff options
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) |