git: 87ee9f493e78 - main - lang/nim: update to 2.2.2

From: Robert Clausecker <fuz_at_FreeBSD.org>
Date: Tue, 18 Feb 2025 14:26:14 UTC
The branch main has been updated by fuz:

URL: https://cgit.FreeBSD.org/ports/commit/?id=87ee9f493e7834313b253206dad10e20bd922861

commit 87ee9f493e7834313b253206dad10e20bd922861
Author:     Neal Nelson <ports@nicandneal.net>
AuthorDate: 2025-02-13 11:03:38 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-02-18 14:16:13 +0000

    lang/nim: update to 2.2.2
    
    Changelog: https://nim-lang.org/blog/2025/02/05/nim-222.html
    
    PR:             284739
---
 lang/nim/Makefile                       |  2 +-
 lang/nim/distinfo                       |  6 ++--
 lang/nim/files/patch-koch.nim           | 59 ++++++++++++---------------------
 lang/nim/files/patch-tools_deps.nim     |  7 ++--
 lang/nim/files/patch-tools_kochdocs.nim |  6 ++--
 lang/nim/pkg-plist                      |  5 +--
 6 files changed, 37 insertions(+), 48 deletions(-)

diff --git a/lang/nim/Makefile b/lang/nim/Makefile
index b37d4ae39f30..9dc636e707b5 100644
--- a/lang/nim/Makefile
+++ b/lang/nim/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	nim
-DISTVERSION=	2.2.0
+DISTVERSION=	2.2.2
 CATEGORIES=	lang
 MASTER_SITES=	https://nim-lang.org/download/
 
diff --git a/lang/nim/distinfo b/lang/nim/distinfo
index 4ba8ae2cd26d..be7564dd85ad 100644
--- a/lang/nim/distinfo
+++ b/lang/nim/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1727970846
-SHA256 (nim-2.2.0.tar.xz) = ce9842849c9760e487ecdd1cdadf7c0f2844cafae605401c7c72ae257644893c
-SIZE (nim-2.2.0.tar.xz) = 7896912
+TIMESTAMP = 1739285871
+SHA256 (nim-2.2.2.tar.xz) = 7fcc9b87ac9c0ba5a489fdc26e2d8480ce96a3ca622100d6267ef92135fd8a1f
+SIZE (nim-2.2.2.tar.xz) = 8188616
diff --git a/lang/nim/files/patch-koch.nim b/lang/nim/files/patch-koch.nim
index 7ad9dcf4be47..d6e6ef39e3b3 100644
--- a/lang/nim/files/patch-koch.nim
+++ b/lang/nim/files/patch-koch.nim
@@ -1,19 +1,6 @@
---- koch.nim.orig	2024-10-02 01:48:48 UTC
+--- koch.nim.orig	2025-02-06 01:49:40 UTC
 +++ koch.nim
-@@ -11,9 +11,9 @@ const
- 
- const
-   # examples of possible values for repos: Head, ea82b54
--  NimbleStableCommit = "4fb6f8e6c33963f6f510fe82d09ad2a61b5e4265" # 0.16.1
--  AtlasStableCommit = "5faec3e9a33afe99a7d22377dd1b45a5391f5504"
--  ChecksumsStableCommit = "bd9bf4eaea124bf8d01e08f92ac1b14c6879d8d3"
-+  NimbleStableCommit = "f8bd7b5fa6ea7a583b411b5959b06e6b5eb23667" # master
-+  AtlasStableCommit = "7b780811a168f3f32bff4822369dda46a7f87f9a"
-+  ChecksumsStableCommit = "b4c73320253f78e3a265aec6d9e8feb83f97c77b"
-   SatStableCommit = "faf1617f44d7632ee9601ebc13887644925dcc01"
- 
-   # examples of possible values for fusion: #head, #ea82b54, 1.2.3
-@@ -150,32 +150,32 @@ proc csource(args: string) =
+@@ -150,31 +150,31 @@ proc csource(args: string) =
             "--main:compiler/nim.nim compiler/installer.ini $1") %
         [args, VersionAsString, compileNimInst])
  
@@ -30,24 +17,22 @@
 -  let commit = if latest: "HEAD" else: NimbleStableCommit
 -  cloneDependency(distDir, "https://github.com/nim-lang/nimble.git",
 -                  commit = commit, allowBundled = true)
--  cloneDependency(distDir / "nimble" / distDir, "https://github.com/nim-lang/checksums.git",
--                commit = ChecksumsStableCommit, allowBundled = true) # or copy it from dist?
--  cloneDependency(distDir / "nimble" / distDir, "https://github.com/nim-lang/sat.git",
--                commit = SatStableCommit, allowBundled = true)
--  # installer.ini expects it under $nim/bin
+-  updateSubmodules(distDir / "nimble", allowBundled = true)
 -  nimCompile("dist/nimble/src/nimble.nim",
--             options = "-d:release -d:nimNimbleBootstrap --noNimblePath " & args)
+-             options = "-d:release --noNimblePath " & args)
+-  const zippyTests = "dist/nimble/vendor/zippy/tests"
+-  if dirExists(zippyTests):
+-    removeDir(zippyTests)
 +#proc bundleNimbleExe(latest: bool, args: string) =
 +#  let commit = if latest: "HEAD" else: NimbleStableCommit
 +#  cloneDependency(distDir, "https://github.com/nim-lang/nimble.git",
 +#                  commit = commit, allowBundled = true)
-+#  cloneDependency(distDir / "nimble" / distDir, "https://github.com/nim-lang/checksums.git",
-+#                commit = ChecksumsStableCommit, allowBundled = true) # or copy it from dist?
-+#  cloneDependency(distDir / "nimble" / distDir, "https://github.com/nim-lang/sat.git",
-+#                commit = SatStableCommit, allowBundled = true)
-+#  # installer.ini expects it under $nim/bin
++#  updateSubmodules(distDir / "nimble", allowBundled = true)
 +#  nimCompile("dist/nimble/src/nimble.nim",
-+#             options = "-d:release -d:nimNimbleBootstrap --noNimblePath " & args)
++#             options = "-d:release --noNimblePath " & args)
++#  const zippyTests = "dist/nimble/vendor/zippy/tests"
++#  if dirExists(zippyTests):
++#    removeDir(zippyTests)
  
 -proc bundleAtlasExe(latest: bool, args: string) =
 -  let commit = if latest: "HEAD" else: AtlasStableCommit
@@ -70,7 +55,7 @@
  
  proc bundleNimsuggest(args: string) =
    nimCompileFold("Compile nimsuggest", "nimsuggest/nimsuggest.nim",
-@@ -206,14 +206,14 @@ proc bundleWinTools(args: string) =
+@@ -205,14 +205,14 @@ proc bundleWinTools(args: string) =
      nimCompile(r"tools\downloader.nim",
                 options = r"--cc:vcc --app:gui -d:ssl --noNimblePath --path:..\ui " & args)
  
@@ -91,7 +76,7 @@
    bundleNimsuggest(args)
    bundleNimpretty(args)
    bundleWinTools(args)
-@@ -222,15 +222,15 @@ proc zip(latest: bool; args: string) =
+@@ -221,15 +221,15 @@ proc zip(latest: bool; args: string) =
    exec("$# --var:version=$# --var:mingw=none --main:compiler/nim.nim zip compiler/installer.ini" %
         ["tools/niminst/niminst".exe, VersionAsString])
  
@@ -114,7 +99,7 @@
    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" %
-@@ -265,9 +265,9 @@ proc nsis(latest: bool; args: string) =
+@@ -264,9 +264,9 @@ proc nsis(latest: bool; args: string) =
    nimCompileFold("Compile testament", "testament/testament.nim", options = "-d:release " & args)
  
  proc nsis(latest: bool; args: string) =
@@ -127,7 +112,7 @@
    bundleNimsuggest(args)
    bundleWinTools(args)
    # make sure we have generated the niminst executables:
-@@ -287,21 +287,21 @@ proc install(args: string) =
+@@ -286,21 +286,21 @@ proc install(args: string) =
    geninstall()
    exec("sh ./install.sh $#" % args)
  
@@ -164,7 +149,7 @@
  
  # -------------- boot ---------------------------------------------------------
  
-@@ -345,11 +345,11 @@ proc boot(args: string, skipIntegrityCheck: bool) =
+@@ -344,11 +344,11 @@ proc boot(args: string, skipIntegrityCheck: bool) =
    let smartNimcache = (if "release" in args or "danger" in args: "nimcache/r_" else: "nimcache/d_") &
                        hostOS & "_" & hostCPU
  
@@ -179,7 +164,7 @@
  
    let nimStart = findStartNim().quoteShell()
    let times = 2 - ord(skipIntegrityCheck)
-@@ -508,7 +508,7 @@ proc temp(args: string) =
+@@ -507,7 +507,7 @@ proc temp(args: string) =
        result[1].add " " & quoteShell(args[i])
        inc i
  
@@ -188,7 +173,7 @@
  
    let d = getAppDir()
    let output = d / "compiler" / "nim".exe
-@@ -552,27 +552,27 @@ proc icTest(args: string) =
+@@ -551,27 +551,27 @@ proc icTest(args: string) =
      exec(cmd)
      inc i
  
@@ -237,7 +222,7 @@
  
  
  proc hostInfo(): string =
-@@ -620,14 +620,14 @@ proc runCI(cmd: string) =
+@@ -619,14 +619,14 @@ proc runCI(cmd: string) =
      # BUG: with initOptParser, `--batch:'' all` interprets `all` as the argument of --batch, pending bug #14343
      execFold("Run tester", "nim c -r --putenv:NIM_TESTAMENT_REMOTE_NETWORKING:1 -d:nimStrictMode testament/testament $# all -d:nimCoroutines" % batchParam)
  
@@ -260,7 +245,7 @@
  
      execFold("Run nimdoc tests", "nim r nimdoc/tester")
      execFold("Run rst2html tests", "nim r nimdoc/rsttester")
-@@ -699,18 +699,18 @@ proc showHelp(success: bool) =
+@@ -698,18 +698,18 @@ proc showHelp(success: bool) =
    quit(HelpText % [VersionAsString & spaces(44-len(VersionAsString)),
                     CompileDate, CompileTime], if success: QuitSuccess else: QuitFailure)
  
@@ -286,7 +271,7 @@
      localDocsOut = ""
      skipIntegrityCheck = false
    while true:
-@@ -746,34 +746,34 @@ when isMainModule:
+@@ -745,34 +745,34 @@ when isMainModule:
        of "distrohelper": geninstall()
        of "install": install(op.cmdLineRest)
        of "testinstall": testUnixInstall(op.cmdLineRest)
diff --git a/lang/nim/files/patch-tools_deps.nim b/lang/nim/files/patch-tools_deps.nim
index 7ced3335f283..ab6d46bf2e34 100644
--- a/lang/nim/files/patch-tools_deps.nim
+++ b/lang/nim/files/patch-tools_deps.nim
@@ -1,6 +1,6 @@
---- tools/deps.nim.orig	2023-08-02 16:00:39 UTC
+--- tools/deps.nim.orig	2025-02-06 01:49:40 UTC
 +++ tools/deps.nim
-@@ -20,25 +20,26 @@ proc execRetry(cmd: string) =
+@@ -20,28 +20,29 @@ proc cloneDependency*(destDirBase: string, url: string
  
  proc cloneDependency*(destDirBase: string, url: string, commit = commitHead,
                        appendRepoName = true, allowBundled = false) =
@@ -47,3 +47,6 @@
 +  #else:
 +  #  quit "FAILURE: " & destdir & " already exists but is not a git repo"
 +  quit "FAILURE: git operations now allowed!: " & destDirBase
+ 
+ proc updateSubmodules*(dir: string, allowBundled = false) =
+   if isGitRepo(dir):
diff --git a/lang/nim/files/patch-tools_kochdocs.nim b/lang/nim/files/patch-tools_kochdocs.nim
index f52d6cdde677..91ecde3a7ae4 100644
--- a/lang/nim/files/patch-tools_kochdocs.nim
+++ b/lang/nim/files/patch-tools_kochdocs.nim
@@ -1,6 +1,6 @@
---- tools/kochdocs.nim.orig	2024-10-02 01:48:48 UTC
+--- tools/kochdocs.nim.orig	2025-02-06 01:49:40 UTC
 +++ tools/kochdocs.nim
-@@ -94,7 +94,6 @@ const officialPackagesMarkdown = """
+@@ -93,7 +93,6 @@ const officialPackagesMarkdown = """
    execFold(desc, cmd)
  
  const officialPackagesMarkdown = """
@@ -37,7 +37,7 @@
  """.splitWhitespace()
  
  when (NimMajor, NimMinor) < (1, 1) or not declared(isRelativeTo):
-@@ -348,7 +328,7 @@ proc buildDocsDir*(args: string, dir: string) =
+@@ -349,7 +329,7 @@ proc buildDocsDir*(args: string, dir: string) =
  proc buildDocsDir*(args: string, dir: string) =
    let args = nimArgs & " " & args
    let docHackJsSource = buildJS()
diff --git a/lang/nim/pkg-plist b/lang/nim/pkg-plist
index 9638623a4e9e..e2be8fb64f7d 100644
--- a/lang/nim/pkg-plist
+++ b/lang/nim/pkg-plist
@@ -97,6 +97,7 @@ nim/config/nimdoc.tex.cfg
 %%DOCS%%nim/doc/html/compiler/isolation_check.html
 %%DOCS%%nim/doc/html/compiler/jsgen.html
 %%DOCS%%nim/doc/html/compiler/lambdalifting.html
+%%DOCS%%nim/doc/html/compiler/layeredtable.html
 %%DOCS%%nim/doc/html/compiler/lexer.html
 %%DOCS%%nim/doc/html/compiler/liftdestructors.html
 %%DOCS%%nim/doc/html/compiler/liftlocals.html
@@ -113,7 +114,6 @@ nim/config/nimdoc.tex.cfg
 %%DOCS%%nim/doc/html/compiler/modulepaths.html
 %%DOCS%%nim/doc/html/compiler/modules.html
 %%DOCS%%nim/doc/html/compiler/msgs.html
-%%DOCS%%nim/doc/html/compiler/ndi.html
 %%DOCS%%nim/doc/html/compiler/nilcheck.html
 %%DOCS%%nim/doc/html/compiler/nim.html
 %%DOCS%%nim/doc/html/compiler/nimblecmd.html
@@ -327,6 +327,7 @@ nim/config/nimdoc.tex.cfg
 %%DOCS%%nim/doc/html/re.html
 %%DOCS%%nim/doc/html/refc.html
 %%DOCS%%nim/doc/html/registry.html
+%%DOCS%%nim/doc/html/repr_v2.html
 %%DOCS%%nim/doc/html/reservedmem.html
 %%DOCS%%nim/doc/html/rlocks.html
 %%DOCS%%nim/doc/html/ropes.html
@@ -509,6 +510,7 @@ nim/lib/compiler/isolation_check.nim
 nim/lib/compiler/jsgen.nim
 nim/lib/compiler/jstypes.nim
 nim/lib/compiler/lambdalifting.nim
+nim/lib/compiler/layeredtable.nim
 nim/lib/compiler/layouter.nim
 nim/lib/compiler/lexer.nim
 nim/lib/compiler/liftdestructors.nim
@@ -527,7 +529,6 @@ nim/lib/compiler/modulegraphs.nim
 nim/lib/compiler/modulepaths.nim
 nim/lib/compiler/modules.nim
 nim/lib/compiler/msgs.nim
-nim/lib/compiler/ndi.nim
 nim/lib/compiler/nilcheck.nim
 nim/lib/compiler/nim.cfg
 nim/lib/compiler/nim.nim