mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-14 23:33:28 +00:00
koch.nim: critical fix for the tar.xz installations
This commit is contained in:
32
koch.nim
32
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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user