diff options
-rw-r--r-- | .github/workflows/ci_docs.yml | 4 | ||||
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | changelog.md | 3 | ||||
-rw-r--r-- | compiler/installer.ini | 1 | ||||
-rw-r--r-- | koch.nim | 21 | ||||
-rw-r--r-- | tools/kochdocs.nim | 2 |
6 files changed, 13 insertions, 20 deletions
diff --git a/.github/workflows/ci_docs.yml b/.github/workflows/ci_docs.yml index fcc89dfc1..22d425b10 100644 --- a/.github/workflows/ci_docs.yml +++ b/.github/workflows/ci_docs.yml @@ -126,10 +126,6 @@ jobs: shell: bash run: ./koch boot -d:release - - name: 'Clone fusion' - shell: bash - run: ./koch fusion - - name: 'Build documentation' shell: bash run: ./koch doc --git.commit:devel diff --git a/.gitignore b/.gitignore index 5adaa5e88..e71fdf352 100644 --- a/.gitignore +++ b/.gitignore @@ -66,7 +66,7 @@ testament.db /tests/**/*.js /csources /dist/ -/lib/fusion +# /lib/fusion # fusion is now unbundled; `git status` should reveal if it's there so users can act on it # Private directories and files (IDEs) .*/ diff --git a/changelog.md b/changelog.md index 7fe5a4ffc..51df5d226 100644 --- a/changelog.md +++ b/changelog.md @@ -187,3 +187,6 @@ with other backends. see #9125. Use `-d:nimLegacyJsRound` for previous behavior. - cell alignment is not supported, i.e. alignment annotations in a delimiter row (`:---`, `:--:`, `---:`) are ignored, - every table row must start with `|`, e.g. `| cell 1 | cell 2 |`. + +- `fusion` is now un-bundled from nim, `./koch fusion` will + install it via nimble at a fixed hash. diff --git a/compiler/installer.ini b/compiler/installer.ini index 2f11d0df9..fb5081117 100644 --- a/compiler/installer.ini +++ b/compiler/installer.ini @@ -76,7 +76,6 @@ Files: "lib" [Other] Files: "examples" Files: "dist/nimble" -Files: "dist/fusion" Files: "tests" diff --git a/koch.nim b/koch.nim index 91e0fbdf0..5f5791b86 100644 --- a/koch.nim +++ b/koch.nim @@ -11,8 +11,9 @@ const NimbleStableCommit = "324de9202fb3db82b266e7350731d1ec41013a2b" # master - FusionStableCommit = "372ee4313827ef9f2ea388840f7d6b46c2b1b014" - + # examples of possible values: #head, #ea82b54, 1.2.3 + FusionStableHash = "#372ee4313827ef9f2ea388840f7d6b46c2b1b014" + HeadHash = "#head" when not defined(windows): const Z3StableCommit = "65de3f748a6812eecd7db7c478d5fc54424d368b" # the version of Z3 that DrNim uses @@ -66,7 +67,8 @@ Possible Commands: e.g. nimble) doesn't require network connectivity nimble builds the Nimble tool - fusion clone fusion into the working tree + fusion installs fusion via Nimble + Boot options: -d:release produce a release version of the compiler -d:nimUseLinenoise use the linenoise library for interactive mode @@ -180,14 +182,7 @@ proc bundleWinTools(args: string) = nimCompile(r"tools\downloader.nim", options = r"--cc:vcc --app:gui -d:ssl --noNimblePath --path:..\ui " & args) -proc bundleFusion(latest: bool) = - let commit = if latest: "HEAD" else: FusionStableCommit - cloneDependency(distDir, "https://github.com/nim-lang/fusion.git", commit, - allowBundled = true) - copyDir(distDir / "fusion" / "src" / "fusion", "lib" / "fusion") - proc zip(latest: bool; args: string) = - bundleFusion(latest) bundleNimbleExe(latest, args) bundleNimsuggest(args) bundleNimpretty(args) @@ -227,7 +222,6 @@ proc buildTools(args: string = "") = options = "-d:release " & args) proc nsis(latest: bool; args: string) = - bundleFusion(latest) bundleNimbleExe(latest, args) bundleNimsuggest(args) bundleWinTools(args) @@ -694,12 +688,13 @@ when isMainModule: of "tools": buildTools(op.cmdLineRest) bundleNimbleExe(latest, op.cmdLineRest) - bundleFusion(latest) of "pushcsource", "pushcsources": pushCsources() of "valgrind": valgrind(op.cmdLineRest) of "c2nim": bundleC2nim(op.cmdLineRest) of "drnim": buildDrNim(op.cmdLineRest) - of "fusion": bundleFusion(latest) + of "fusion": + let suffix = if latest: HeadHash else: FusionStableHash + exec("nimble install -y fusion@$#" % suffix) else: showHelp() break of cmdEnd: break diff --git a/tools/kochdocs.nim b/tools/kochdocs.nim index 8ae0b6ed4..992725a2e 100644 --- a/tools/kochdocs.nim +++ b/tools/kochdocs.nim @@ -190,7 +190,7 @@ lib/system/widestrs.nim proc follow(a: PathEntry): bool = result = a.path.lastPathPart notin ["nimcache", htmldocsDirname, "includes", "deprecated", "genode"] and - not a.path.isRelativeTo("lib/fusion") + not a.path.isRelativeTo("lib/fusion") # fusion was un-bundled but we need to keep this in case user has it installed for entry in walkDirRecFilter("lib", follow = follow): let a = entry.path if entry.kind != pcFile or a.splitFile.ext != ".nim" or |