summary refs log tree commit diff stats
path: root/koch.nim
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2019-06-06 19:57:54 +0200
committerAndreas Rumpf <rumpf_a@web.de>2019-06-06 19:57:54 +0200
commite7471cebae2a404f3e4239f199f5a0c422484aac (patch)
tree8c355961156a0e336a1a76c5a6504fe8825330e5 /koch.nim
parentabaa42fd8a239ea62ddb39f6f58c3180137d750c (diff)
downloadNim-e7471cebae2a404f3e4239f199f5a0c422484aac.tar.gz
koch.nim: hotfix for nightly builds
Diffstat (limited to 'koch.nim')
-rw-r--r--koch.nim33
1 files changed, 12 insertions, 21 deletions
diff --git a/koch.nim b/koch.nim
index 3d52d6f38..a2c1f1673 100644
--- a/koch.nim
+++ b/koch.nim
@@ -9,6 +9,9 @@
 #    See doc/koch.txt for documentation.
 #
 
+const
+  NimbleStableCommit = "d15c8530cb7480ce39ffa85a2dd9819d2d4fc645" # 0.10.2
+
 when defined(gcc) and defined(windows):
   when defined(x86):
     {.link: "icons/koch.res".}
@@ -118,31 +121,22 @@ proc csource(args: string) =
            "--main:compiler/nim.nim compiler/installer.ini $1") %
        [args, VersionAsString, compileNimInst])
 
-proc bundleNimbleSrc(latest: bool) =
-  ## bunldeNimbleSrc() bundles a specific Nimble commit with the tarball. We
-  ## always bundle the latest official release.
-  if not dirExists("dist/nimble/.git"):
-    exec("git clone https://github.com/nim-lang/nimble.git dist/nimble")
-  if not latest:
-    withDir("dist/nimble"):
-      exec("git checkout -f stable")
-      exec("git pull")
-
 proc bundleC2nim() =
   if not dirExists("dist/c2nim/.git"):
     exec("git clone https://github.com/nim-lang/c2nim.git dist/c2nim")
   nimCompile("dist/c2nim/c2nim", options = "--noNimblePath --path:.")
 
 proc bundleNimbleExe(latest: bool) =
-  bundleNimbleSrc(latest)
+  if not dirExists("dist/nimble/.git"):
+    exec("git clone https://github.com/nim-lang/nimble.git dist/nimble")
+  if not latest:
+    withDir("dist/nimble"):
+      exec("git fetch")
+      exec("git checkout " & NimbleStableCommit)
   # installer.ini expects it under $nim/bin
   nimCompile("dist/nimble/src/nimble.nim", options = "-d:release --nilseqs:on")
 
 proc buildNimble(latest: bool) =
-  # old installations created nim/nimblepkg/*.nim files. We remove these
-  # 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"
@@ -162,7 +156,7 @@ proc buildNimble(latest: bool) =
         exec("git pull")
       else:
         exec("git fetch")
-        exec("git checkout tags/v0.10.2")
+        exec("git checkout " & NimbleStableCommit)
   nimCompile(installDir / "src/nimble.nim", options = "--noNimblePath --nilseqs:on -d:release")
 
 proc bundleNimsuggest() =
@@ -200,9 +194,6 @@ proc ensureCleanGit() =
 
 proc xz(latest: bool; args: string) =
   ensureCleanGit()
-  bundleNimbleSrc(latest)
-  when false:
-    bundleNimsuggest()
   nimexec("cc -r $2 --var:version=$1 --var:mingw=none --main:compiler/nim.nim scripts compiler/installer.ini" %
        [VersionAsString, compileNimInst])
   exec("$# --var:version=$# --var:mingw=none --main:compiler/nim.nim xz compiler/installer.ini" %
@@ -383,7 +374,7 @@ proc winReleaseArch(arch: string) =
     inFold "winrelease koch":
       nimexec "c --cpu:$# koch" % cpu
     kochExecFold("winrelease boot", "boot -d:release --cpu:$#" % cpu)
-    kochExecFold("winrelease zip", "--latest zip -d:release")
+    kochExecFold("winrelease zip", "zip -d:release")
     overwriteFile r"build\nim-$#.zip" % VersionAsString,
              r"web\upload\download\nim-$#_x$#.zip" % [VersionAsString, arch]
 
@@ -545,7 +536,7 @@ proc testUnixInstall(cmdLineRest: string) =
       # check the docs build:
       execCleanPath("./koch docs", destDir / "bin")
       # check nimble builds:
-      execCleanPath("./koch --latest tools")
+      execCleanPath("./koch tools")
       # check the tests work:
       putEnv("NIM_EXE_NOT_IN_PATH", "NOT_IN_PATH")
       execCleanPath("./koch tests --nim:./bin/nim cat megatest", destDir / "bin")