git: a516093a0aac - main - lang/nim: Update to 1.6.0

From: Yasuhiro Kimura <yasu_at_FreeBSD.org>
Date: Thu, 28 Oct 2021 11:18:09 UTC
The branch main has been updated by yasu:

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

commit a516093a0aac59570a7fd186bb6eda4261fc02cf
Author:     Neal Nelson <ports@nicandneal.net>
AuthorDate: 2021-10-28 11:13:54 +0000
Commit:     Yasuhiro Kimura <yasu@FreeBSD.org>
CommitDate: 2021-10-28 11:17:11 +0000

    lang/nim: Update to 1.6.0
    
    * Switch to DISTVERSION
    * Pet portlint and portclippy
    * Reformat Makefile with portfmt
    
    PR:             259341
---
 lang/nim/Makefile                   |  24 ++---
 lang/nim/distinfo                   |   6 +-
 lang/nim/files/patch-config-nim.cfg |  38 +++----
 lang/nim/files/patch-koch.nim       | 198 ++++++++++++++++++++++++++++++++++--
 lang/nim/pkg-plist                  | 127 ++++++++++++++++-------
 5 files changed, 315 insertions(+), 78 deletions(-)

diff --git a/lang/nim/Makefile b/lang/nim/Makefile
index ff8a94c9d852..b19db2e98670 100644
--- a/lang/nim/Makefile
+++ b/lang/nim/Makefile
@@ -1,7 +1,7 @@
 # Created by: Neal Nelson <ports@nicandneal.net>
 
 PORTNAME=	nim
-PORTVERSION=	1.4.8
+DISTVERSION=	1.6.0
 CATEGORIES=	lang
 MASTER_SITES=	https://nim-lang.org/download/
 
@@ -11,7 +11,7 @@ COMMENT=	Nim programming language
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/copying.txt
 
-BROKEN_sparc64=		fails to build: build.sh: clang: not found
+BROKEN_sparc64=	fails to build: build.sh: clang: not found
 
 LIB_DEPENDS=	libpcre.so:devel/pcre
 TEST_DEPENDS=	node>=0:www/node
@@ -20,23 +20,20 @@ USES=		compiler:c11 cpe tar:xz
 
 CPE_VENDOR=	nim-lang
 
-CONFLICTS_INSTALL=	nimble
-
-TOOLS_DESC=	Build and install nim tools, including nimble
+MAKE_JOBS_UNSAFE=	yes
 
-OPTIONS_DEFINE=	DOCS TOOLS
-OPTIONS_DEFAULT=	DOCS TOOLS
+OPTIONS_DEFINE=		DOCS TOOLS
+OPTIONS_DEFAULT=	TOOLS
 OPTIONS_EXCLUDE_powerpc64=	DOCS
+OPTIONS_SUB=		yes
 
-TEST_BINARY_ALIAS=	node=nodejs
-
-OPTIONS_SUB=	yes
+TOOLS_DESC=	Build and install nim tools, not including nimble nor nimfind
 
-MAKE_JOBS_UNSAFE=	yes
+TEST_BINARY_ALIAS=	node=nodejs
 
 .include <bsd.port.pre.mk>
 
-TLIST=	nimble nimfind nimgrep nimpretty nimsuggest testament
+TLIST=		nimgrep nimpretty nimsuggest testament
 
 .if ${CHOSEN_COMPILER_TYPE} == "gcc"
 EXTRA_PATCHES=	${PATCHDIR}/elfv1-patch-build.sh
@@ -72,9 +69,6 @@ do-build-TOOLS-on:
 		-d:release --nimcache=${WRKSRC}/nimcache
 
 do-install:
-	# Revert hack to build docs
-	@${REINPLACE_CMD} -e '/%%NIMCACHE%%/d' \
-		${WRKSRC}/config/nim.cfg
 	# Install nim compiler
 	${INSTALL_PROGRAM} ${WRKSRC}/bin/nim ${STAGEDIR}${PREFIX}/bin
 	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/nim
diff --git a/lang/nim/distinfo b/lang/nim/distinfo
index 0063501771fd..e51ba49d5c26 100644
--- a/lang/nim/distinfo
+++ b/lang/nim/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1621903432
-SHA256 (nim-1.4.8.tar.xz) = b798c577411d7d95b8631261dbb3676e9d1afd9e36740d044966a0555b41441a
-SIZE (nim-1.4.8.tar.xz) = 4786360
+TIMESTAMP = 1634741355
+SHA256 (nim-1.6.0.tar.xz) = 52065d48d72a72702ec1afe5f7a9831e11673531e279cdff9caec01a07eec63d
+SIZE (nim-1.6.0.tar.xz) = 5272976
diff --git a/lang/nim/files/patch-config-nim.cfg b/lang/nim/files/patch-config-nim.cfg
index 2c2a4e7cbd5b..ba75436b6b0c 100644
--- a/lang/nim/files/patch-config-nim.cfg
+++ b/lang/nim/files/patch-config-nim.cfg
@@ -1,24 +1,26 @@
---- config/nim.cfg.orig	2020-10-25 07:25:40 UTC
+--- config/nim.cfg.orig	2021-10-20 15:37:06 UTC
 +++ config/nim.cfg
-@@ -10,6 +10,8 @@
+@@ -107,10 +107,7 @@ nimblepath="$home/.nimble/pkgs/"
+ @end
  
- cc = clang
- 
-+nimcache="%%NIMCACHE%%"
-+
- # additional options always passed to the compiler:
- --parallel_build: "0" # 0 to auto-detect number of processors
- 
-@@ -118,12 +120,6 @@ path="$lib/pure"
-     clang.options.linker = "-ldl"
-     clang.cpp.options.linker = "-ldl"
-     tcc.options.linker = "-ldl"
--  @end
+ @if unix:
 -  @if bsd:
 -    # BSD got posix_spawn only recently, so we deactivate it for osproc:
 -    define:useFork
--    # at least NetBSD has problems with thread local storage:
--    tlsEmulation:on
-   @end
-   @if haiku:
+-  @elif haiku:
++  @if haiku:
      gcc.options.linker = "-Wl,--as-needed -lnetwork"
+     gcc.cpp.options.linker = "-Wl,--as-needed -lnetwork"
+     clang.options.linker = "-Wl,--as-needed -lnetwork"
+@@ -160,11 +157,6 @@ nimblepath="$home/.nimble/pkgs/"
+ @end
+ 
+ gcc.maxerrorsimpl = "-fmax-errors=3"
+-
+-@if bsd:
+-  # at least NetBSD has problems with thread local storage:
+-  tlsEmulation:on
+-@end
+ 
+ @if macosx or freebsd or openbsd:
+   cc = clang
diff --git a/lang/nim/files/patch-koch.nim b/lang/nim/files/patch-koch.nim
index 8f15bb1142d9..7c03a13acc90 100644
--- a/lang/nim/files/patch-koch.nim
+++ b/lang/nim/files/patch-koch.nim
@@ -1,11 +1,195 @@
---- koch.nim.orig	2020-11-03 05:15:11 UTC
+--- koch.nim.orig	2021-10-19 00:39:28 UTC
 +++ koch.nim
-@@ -687,7 +687,7 @@ when isMainModule:
+@@ -139,18 +139,18 @@ proc csource(args: string) =
+            "--main:compiler/nim.nim compiler/installer.ini $1") %
+        [args, VersionAsString, compileNimInst])
+ 
+-proc bundleC2nim(args: string) =
+-  cloneDependency(distDir, "https://github.com/nim-lang/c2nim.git")
+-  nimCompile("dist/c2nim/c2nim",
+-             options = "--noNimblePath --path:. " & args)
++#proc bundleC2nim(args: string) =
++#  cloneDependency(distDir, "https://github.com/nim-lang/c2nim.git")
++#  nimCompile("dist/c2nim/c2nim",
++#             options = "--noNimblePath --path:. " & args)
+ 
+-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)
+-  # installer.ini expects it under $nim/bin
+-  nimCompile("dist/nimble/src/nimble.nim",
+-             options = "-d:release --noNimblePath " & args)
++#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)
++#  # installer.ini expects it under $nim/bin
++#  nimCompile("dist/nimble/src/nimble.nim",
++#             options = "-d:release --noNimblePath " & args)
+ 
+ proc bundleNimsuggest(args: string) =
+   nimCompileFold("Compile nimsuggest", "nimsuggest/nimsuggest.nim",
+@@ -182,7 +182,7 @@ proc bundleWinTools(args: string) =
+                options = r"--cc:vcc --app:gui -d:ssl --noNimblePath --path:..\ui " & args)
+ 
+ proc zip(latest: bool; args: string) =
+-  bundleNimbleExe(latest, args)
++  #bundleNimbleExe(latest, args)
+   bundleNimsuggest(args)
+   bundleNimpretty(args)
+   bundleWinTools(args)
+@@ -191,15 +191,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])
+ 
+-proc ensureCleanGit() =
+-  let (outp, status) = osproc.execCmdEx("git diff")
+-  if outp.len != 0:
+-    quit "Not a clean git repository; 'git diff' not empty!"
+-  if status != 0:
+-    quit "Not a clean git repository; 'git diff' returned non-zero!"
++#proc ensureCleanGit() =
++#  let (outp, status) = osproc.execCmdEx("git diff")
++#  if outp.len != 0:
++#    quit "Not a clean git repository; 'git diff' not empty!"
++#  if status != 0:
++#    quit "Not a clean git repository; 'git diff' returned non-zero!"
+ 
+ proc xz(latest: bool; args: string) =
+-  ensureCleanGit()
++  #ensureCleanGit()
+   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" %
+@@ -231,7 +231,7 @@ proc buildTools(args: string = "") =
+ 
+ 
+ proc nsis(latest: bool; args: string) =
+-  bundleNimbleExe(latest, args)
++  #bundleNimbleExe(latest, args)
+   bundleNimsuggest(args)
+   bundleWinTools(args)
+   # make sure we have generated the niminst executables:
+@@ -503,27 +503,27 @@ proc icTest(args: string) =
+     exec(cmd)
+     inc i
+ 
+-proc buildDrNim(args: string) =
+-  if not dirExists("dist/nimz3"):
+-    exec("git clone https://github.com/zevv/nimz3.git dist/nimz3")
+-  when defined(windows):
+-    if not dirExists("dist/dlls"):
+-      exec("git clone -q https://github.com/nim-lang/dlls.git dist/dlls")
+-    copyExe("dist/dlls/libz3.dll", "bin/libz3.dll")
+-    execFold("build drnim", "nim c -o:$1 $2 drnim/drnim" % ["bin/drnim".exe, args])
+-  else:
+-    if not dirExists("dist/z3"):
+-      exec("git clone -q https://github.com/Z3Prover/z3.git dist/z3")
+-      withDir("dist/z3"):
+-        exec("git fetch")
+-        exec("git checkout " & Z3StableCommit)
+-        createDir("build")
+-        withDir("build"):
+-          exec("""cmake -DZ3_BUILD_LIBZ3_SHARED=FALSE -G "Unix Makefiles" ../""")
+-          exec("make -j4")
+-    execFold("build drnim", "nim cpp --dynlibOverride=libz3 -o:$1 $2 drnim/drnim" % ["bin/drnim".exe, args])
+-  # always run the tests for now:
+-  exec("testament/testament".exe & " --nim:" & "drnim".exe & " pat drnim/tests")
++#proc buildDrNim(args: string) =
++#  if not dirExists("dist/nimz3"):
++#    exec("git clone https://github.com/zevv/nimz3.git dist/nimz3")
++#  when defined(windows):
++#    if not dirExists("dist/dlls"):
++#      exec("git clone -q https://github.com/nim-lang/dlls.git dist/dlls")
++#    copyExe("dist/dlls/libz3.dll", "bin/libz3.dll")
++#    execFold("build drnim", "nim c -o:$1 $2 drnim/drnim" % ["bin/drnim".exe, args])
++#  else:
++#    if not dirExists("dist/z3"):
++#      exec("git clone -q https://github.com/Z3Prover/z3.git dist/z3")
++#      withDir("dist/z3"):
++#        exec("git fetch")
++#        exec("git checkout " & Z3StableCommit)
++#        createDir("build")
++#        withDir("build"):
++#          exec("""cmake -DZ3_BUILD_LIBZ3_SHARED=FALSE -G "Unix Makefiles" ../""")
++#          exec("make -j4")
++#    execFold("build drnim", "nim cpp --dynlibOverride=libz3 -o:$1 $2 drnim/drnim" % ["bin/drnim".exe, args])
++#  # always run the tests for now:
++#  exec("testament/testament".exe & " --nim:" & "drnim".exe & " pat drnim/tests")
+ 
+ 
+ proc hostInfo(): string =
+@@ -535,9 +535,9 @@ proc installDeps(dep: string, commit = "") =
+   # and tied to a nim release (mimicking git submodules)
+   var commit = commit
+   case dep
+-  of "tinyc":
+-    if commit.len == 0: commit = "916cc2f94818a8a382dd8d4b8420978816c1dfb3"
+-    cloneDependency(distDir, "https://github.com/timotheecour/nim-tinyc-archive", commit)
++  #of "tinyc":
++  #  if commit.len == 0: commit = "916cc2f94818a8a382dd8d4b8420978816c1dfb3"
++  #  cloneDependency(distDir, "https://github.com/timotheecour/nim-tinyc-archive", commit)
+   else: doAssert false, "unsupported: " & dep
+   # xxx: also add linenoise, niminst etc, refs https://github.com/nim-lang/RFCs/issues/206
+ 
+@@ -599,7 +599,7 @@ proc runCI(cmd: string) =
+       execFold("build nimsuggest_testing", "nim c -o:bin/nimsuggest_testing -d:release nimsuggest/nimsuggest")
+       execFold("Run nimsuggest tests", "nim r nimsuggest/tester")
+ 
+-    execFold("Run atlas tests", "nim c -r -d:atlasTests tools/atlas/atlas.nim clone https://github.com/disruptek/balls")
++    #execFold("Run atlas tests", "nim c -r -d:atlasTests tools/atlas/atlas.nim clone https://github.com/disruptek/balls")
+ 
+   when not defined(bsd):
+     if not doUseCpp:
+@@ -662,12 +662,12 @@ proc showHelp(success: bool) =
+   quit(HelpText % [VersionAsString & spaces(44-len(VersionAsString)),
+                    CompileDate, CompileTime], if success: QuitSuccess else: QuitFailure)
+ 
+-proc branchDone() =
+-  let thisBranch = execProcess("git symbolic-ref --short HEAD").strip()
+-  if thisBranch != "devel" and thisBranch != "":
+-    exec("git checkout devel")
+-    exec("git branch -D " & thisBranch)
+-    exec("git pull --rebase")
++#proc branchDone() =
++#  let thisBranch = execProcess("git symbolic-ref --short HEAD").strip()
++#  if thisBranch != "devel" and thisBranch != "":
++#    exec("git checkout devel")
++#    exec("git branch -D " & thisBranch)
++#    exec("git pull --rebase")
+ 
+ when isMainModule:
+   var op = initOptParser()
+@@ -712,24 +712,24 @@ when isMainModule:
+       of "temp": temp(op.cmdLineRest)
+       of "xtemp": xtemp(op.cmdLineRest)
+       of "wintools": bundleWinTools(op.cmdLineRest)
+-      of "nimble": bundleNimbleExe(latest, op.cmdLineRest)
++      #of "nimble": bundleNimbleExe(latest, op.cmdLineRest)
+       of "nimsuggest": bundleNimsuggest(op.cmdLineRest)
+       # toolsNoNimble is kept for backward compatibility with build scripts
+       of "toolsnonimble", "toolsnoexternal":
+         buildTools(op.cmdLineRest)
        of "tools":
          buildTools(op.cmdLineRest)
-         bundleNimbleExe(latest, op.cmdLineRest)
--        bundleFusion(latest)
-+      #  bundleFusion(latest)
-       of "pushcsource", "pushcsources": pushCsources()
+-        bundleNimbleExe(latest, op.cmdLineRest)
+-      of "pushcsource":
+-        quit "use this instead: https://github.com/nim-lang/csources_v1/blob/master/push_c_code.nim"
++        #bundleNimbleExe(latest, op.cmdLineRest)
++      #of "pushcsource":
++      #  quit "use this instead: https://github.com/nim-lang/csources_v1/blob/master/push_c_code.nim"
        of "valgrind": valgrind(op.cmdLineRest)
-       of "c2nim": bundleC2nim(op.cmdLineRest)
+-      of "c2nim": bundleC2nim(op.cmdLineRest)
+-      of "drnim": buildDrNim(op.cmdLineRest)
++      #of "c2nim": bundleC2nim(op.cmdLineRest)
++      #of "drnim": buildDrNim(op.cmdLineRest)
+       of "fusion":
+         let suffix = if latest: HeadHash else: FusionStableHash
+         exec("nimble install -y fusion@$#" % suffix)
+       of "ic": icTest(op.cmdLineRest)
+-      of "branchdone": branchDone()
++      #of "branchdone": branchDone()
+       else: showHelp(success = false)
+       break
+     of cmdEnd:
diff --git a/lang/nim/pkg-plist b/lang/nim/pkg-plist
index 5f6ce1031299..3f1189d33154 100644
--- a/lang/nim/pkg-plist
+++ b/lang/nim/pkg-plist
@@ -1,6 +1,4 @@
 bin/nim
-%%TOOLS%%bin/nimble
-%%TOOLS%%bin/nimfind
 %%TOOLS%%bin/nimgrep
 %%TOOLS%%bin/nimpretty
 %%TOOLS%%bin/nimsuggest
@@ -12,16 +10,15 @@ lib/libnimrtl.so
 lib/nim/arch/x86/amd64.S
 lib/nim/arch/x86/i386.S
 lib/nim/compiler/aliases.nim
-lib/nim/compiler/asciitables.nim
 lib/nim/compiler/ast.nim
 lib/nim/compiler/astalgo.nim
+lib/nim/compiler/astmsgs.nim
 lib/nim/compiler/bitsets.nim
 lib/nim/compiler/btrees.nim
-lib/nim/compiler/canonicalizer.nim
 lib/nim/compiler/ccgcalls.nim
 lib/nim/compiler/ccgexprs.nim
 lib/nim/compiler/ccgliterals.nim
-lib/nim/compiler/ccgmerge.nim
+lib/nim/compiler/ccgmerge_unused.nim
 lib/nim/compiler/ccgreset.nim
 lib/nim/compiler/ccgstmts.nim
 lib/nim/compiler/ccgthreadvars.nim
@@ -34,13 +31,16 @@ lib/nim/compiler/cgmeth.nim
 lib/nim/compiler/closureiters.nim
 lib/nim/compiler/cmdlinehelper.nim
 lib/nim/compiler/commands.nim
+lib/nim/compiler/concepts.nim
 lib/nim/compiler/condsyms.nim
 lib/nim/compiler/debuginfo.nim
+lib/nim/compiler/debugutils.nim
 lib/nim/compiler/depends.nim
 lib/nim/compiler/dfa.nim
 lib/nim/compiler/docgen.nim
 lib/nim/compiler/docgen2.nim
 lib/nim/compiler/enumtostr.nim
+lib/nim/compiler/errorhandling.nim
 lib/nim/compiler/evalffi.nim
 lib/nim/compiler/evaltempl.nim
 lib/nim/compiler/extccomp.nim
@@ -49,10 +49,18 @@ lib/nim/compiler/filters.nim
 lib/nim/compiler/gorgeimpl.nim
 lib/nim/compiler/guards.nim
 lib/nim/compiler/hlo.nim
+lib/nim/compiler/ic/bitabs.nim
+lib/nim/compiler/ic/cbackend.nim
+lib/nim/compiler/ic/dce.nim
+lib/nim/compiler/ic/design.rst
+lib/nim/compiler/ic/ic.nim
+lib/nim/compiler/ic/integrity.nim
+lib/nim/compiler/ic/navigator.nim
+lib/nim/compiler/ic/packed_ast.nim
+lib/nim/compiler/ic/replayer.nim
+lib/nim/compiler/ic/rodfiles.nim
 lib/nim/compiler/idents.nim
-lib/nim/compiler/idgen.nim
 lib/nim/compiler/importer.nim
-lib/nim/compiler/incremental.nim
 lib/nim/compiler/index.nim
 lib/nim/compiler/injectdestructors.nim
 lib/nim/compiler/installer.ini
@@ -79,6 +87,7 @@ lib/nim/compiler/modulepaths.nim
 lib/nim/compiler/modules.nim
 lib/nim/compiler/msgs.nim
 lib/nim/compiler/ndi.nim
+lib/nim/compiler/nilcheck.nim
 lib/nim/compiler/nim.cfg
 lib/nim/compiler/nim.nim
 lib/nim/compiler/nimblecmd.nim
@@ -113,8 +122,6 @@ lib/nim/compiler/readme.md
 lib/nim/compiler/renderer.nim
 lib/nim/compiler/renderverbatim.nim
 lib/nim/compiler/reorder.nim
-lib/nim/compiler/rod.nim
-lib/nim/compiler/rodimpl.nim
 lib/nim/compiler/rodutils.nim
 lib/nim/compiler/ropes.nim
 lib/nim/compiler/saturate.nim
@@ -176,14 +183,8 @@ lib/nim/deprecated/pure/ospaths.nim
 lib/nim/deprecated/pure/parseopt2.nim
 lib/nim/deprecated/pure/securehash.nim
 lib/nim/deprecated/pure/sharedstrings.nim
+lib/nim/deps.txt
 lib/nim/experimental/diff.nim
-lib/nim/fusion/btreetables.nim
-lib/nim/fusion/compat.nim
-lib/nim/fusion/filepermissions.nim
-lib/nim/fusion/htmlparser.nim
-lib/nim/fusion/htmlparser/parsexml.nim
-lib/nim/fusion/htmlparser/xmltree.nim
-lib/nim/fusion/pools.nim
 lib/nim/genode/alloc.nim
 lib/nim/genode/env.nim
 lib/nim/genode_cpp/syslocks.h
@@ -208,8 +209,7 @@ lib/nim/nimhcr.nim
 lib/nim/nimhcr.nim.cfg
 lib/nim/nimrtl.nim
 lib/nim/nimrtl.nim.cfg
-lib/nim/nintendoswitch/switch_memory.nim
-lib/nim/packages/docutils/docutils.nimble
+lib/nim/packages/docutils/docutils.nimble.old
 lib/nim/packages/docutils/highlite.nim
 lib/nim/packages/docutils/rst.nim
 lib/nim/packages/docutils/rstast.nim
@@ -231,7 +231,6 @@ lib/nim/posix/posix_other.nim
 lib/nim/posix/posix_other_consts.nim
 lib/nim/posix/posix_utils.nim
 lib/nim/posix/termios.nim
-lib/nim/prelude.nim
 lib/nim/pure/algorithm.nim
 lib/nim/pure/async.nim
 lib/nim/pure/asyncdispatch.nim
@@ -285,7 +284,6 @@ lib/nim/pure/htmlgen.nim
 lib/nim/pure/htmlparser.nim
 lib/nim/pure/httpclient.nim
 lib/nim/pure/httpcore.nim
-lib/nim/pure/includes/decode_helpers.nim
 lib/nim/pure/includes/osenv.nim
 lib/nim/pure/includes/oserr.nim
 lib/nim/pure/includes/osseps.nim
@@ -323,6 +321,7 @@ lib/nim/pure/parseutils.nim
 lib/nim/pure/parsexml.nim
 lib/nim/pure/pathnorm.nim
 lib/nim/pure/pegs.nim
+lib/nim/pure/prelude.nim
 lib/nim/pure/punycode.nim
 lib/nim/pure/random.nim
 lib/nim/pure/rationals.nim
@@ -360,20 +359,44 @@ lib/nim/std/decls.nim
 lib/nim/std/editdistance.nim
 lib/nim/std/effecttraits.nim
 lib/nim/std/enumerate.nim
+lib/nim/std/enumutils.nim
 lib/nim/std/exitprocs.nim
+lib/nim/std/genasts.nim
+lib/nim/std/importutils.nim
 lib/nim/std/isolation.nim
+lib/nim/std/jsbigints.nim
+lib/nim/std/jsfetch.nim
+lib/nim/std/jsformdata.nim
+lib/nim/std/jsheaders.nim
 lib/nim/std/jsonutils.nim
 lib/nim/std/logic.nim
 lib/nim/std/monotimes.nim
+lib/nim/std/packedsets.nim
+lib/nim/std/private/asciitables.nim
+lib/nim/std/private/bitops_utils.nim
+lib/nim/std/private/dbutils.nim
+lib/nim/std/private/decode_helpers.nim
+lib/nim/std/private/digitsutils.nim
+lib/nim/std/private/gitutils.nim
 lib/nim/std/private/globs.nim
+lib/nim/std/private/jsutils.nim
 lib/nim/std/private/miscdollars.nim
 lib/nim/std/private/since.nim
+lib/nim/std/private/strimpl.nim
 lib/nim/std/private/underscored_calls.nim
+lib/nim/std/private/win_setenv.nim
+lib/nim/std/setutils.nim
 lib/nim/std/sha1.nim
+lib/nim/std/socketstreams.nim
 lib/nim/std/stackframes.nim
+lib/nim/std/strbasics.nim
 lib/nim/std/sums.nim
+lib/nim/std/sysrand.nim
+lib/nim/std/tasks.nim
+lib/nim/std/tempfiles.nim
 lib/nim/std/time_t.nim
 lib/nim/std/varints.nim
+lib/nim/std/vmutils.nim
 lib/nim/std/with.nim
 lib/nim/std/wordwrap.nim
 lib/nim/std/wrapnils.nim
@@ -394,12 +417,15 @@ lib/nim/system/cellseqs_v1.nim
 lib/nim/system/cellseqs_v2.nim
 lib/nim/system/cellsets.nim
 lib/nim/system/cgprocs.nim
-lib/nim/system/channels.nim
+lib/nim/system/channels_builtin.nim
 lib/nim/system/chcks.nim
 lib/nim/system/comparisons.nim
+lib/nim/system/coro_detection.nim
+lib/nim/system/countbits_impl.nim
 lib/nim/system/cyclebreaker.nim
 lib/nim/system/deepcopy.nim
 lib/nim/system/dollars.nim
+lib/nim/system/dragonbox.nim
 lib/nim/system/dyncalls.nim
 lib/nim/system/embedded.nim
 lib/nim/system/exceptions.nim
@@ -435,8 +461,10 @@ lib/nim/system/osalloc.nim
 lib/nim/system/platforms.nim
 lib/nim/system/profiler.nim
 lib/nim/system/repr.nim
+lib/nim/system/repr_impl.nim
 lib/nim/system/repr_v2.nim
 lib/nim/system/reprjs.nim
+lib/nim/system/schubfach.nim
 lib/nim/system/seqs_v2.nim
 lib/nim/system/seqs_v2_reimpl.nim
 lib/nim/system/setops.nim
@@ -454,7 +482,6 @@ lib/nim/system/widestrs.nim
 lib/nim/system_overview.rst
 lib/nim/windows/registry.nim
 lib/nim/windows/winlean.nim
-lib/nim/wrappers/iup.nim
 lib/nim/wrappers/linenoise/LICENSE.txt
 lib/nim/wrappers/linenoise/README.markdown
 lib/nim/wrappers/linenoise/linenoise.c
@@ -488,6 +515,7 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/hcr.rst
 %%PORTDOCS%%%%DOCSDIR%%/html/algorithm.html
 %%PORTDOCS%%%%DOCSDIR%%/html/apis.html
+%%PORTDOCS%%%%DOCSDIR%%/html/asciitables.html
 %%PORTDOCS%%%%DOCSDIR%%/html/assertions.html
 %%PORTDOCS%%%%DOCSDIR%%/html/async.html
 %%PORTDOCS%%%%DOCSDIR%%/html/asyncdispatch.html
@@ -503,20 +531,18 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/html/backends.html
 %%PORTDOCS%%%%DOCSDIR%%/html/base64.html
 %%PORTDOCS%%%%DOCSDIR%%/html/bitops.html
+%%PORTDOCS%%%%DOCSDIR%%/html/bitops_utils.html
 %%PORTDOCS%%%%DOCSDIR%%/html/browsers.html
-%%PORTDOCS%%%%DOCSDIR%%/html/btreetables.html
 %%PORTDOCS%%%%DOCSDIR%%/html/cgi.html
 %%PORTDOCS%%%%DOCSDIR%%/html/chains.html
-%%PORTDOCS%%%%DOCSDIR%%/html/channels.html
+%%PORTDOCS%%%%DOCSDIR%%/html/channels_builtin.html
 %%PORTDOCS%%%%DOCSDIR%%/html/colors.html
-%%PORTDOCS%%%%DOCSDIR%%/html/compat.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/aliases.html
-%%PORTDOCS%%%%DOCSDIR%%/html/compiler/asciitables.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/ast.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/astalgo.html
+%%PORTDOCS%%%%DOCSDIR%%/html/compiler/astmsgs.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/bitsets.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/btrees.html
-%%PORTDOCS%%%%DOCSDIR%%/html/compiler/ccgmerge.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/ccgutils.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/cgen.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/cgendata.html
@@ -524,6 +550,7 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/closureiters.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/cmdlinehelper.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/commands.html
+%%PORTDOCS%%%%DOCSDIR%%/html/compiler/concepts.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/condsyms.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/depends.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/dfa.html
@@ -531,16 +558,24 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/docgen2.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/dochack.js
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/enumtostr.html
+%%PORTDOCS%%%%DOCSDIR%%/html/compiler/errorhandling.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/evaltempl.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/extccomp.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/filter_tmpl.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/filters.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/gorgeimpl.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/guards.html
+%%PORTDOCS%%%%DOCSDIR%%/html/compiler/ic/bitabs.html
+%%PORTDOCS%%%%DOCSDIR%%/html/compiler/ic/cbackend.html
+%%PORTDOCS%%%%DOCSDIR%%/html/compiler/ic/dce.html
+%%PORTDOCS%%%%DOCSDIR%%/html/compiler/ic/ic.html
+%%PORTDOCS%%%%DOCSDIR%%/html/compiler/ic/integrity.html
+%%PORTDOCS%%%%DOCSDIR%%/html/compiler/ic/navigator.html
+%%PORTDOCS%%%%DOCSDIR%%/html/compiler/ic/packed_ast.html
+%%PORTDOCS%%%%DOCSDIR%%/html/compiler/ic/replayer.html
+%%PORTDOCS%%%%DOCSDIR%%/html/compiler/ic/rodfiles.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/idents.html
-%%PORTDOCS%%%%DOCSDIR%%/html/compiler/idgen.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/importer.html
-%%PORTDOCS%%%%DOCSDIR%%/html/compiler/incremental.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/index.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/injectdestructors.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/int128.html
@@ -563,6 +598,7 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/modules.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/msgs.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/ndi.html
+%%PORTDOCS%%%%DOCSDIR%%/html/compiler/nilcheck.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/nim.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/nimblecmd.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/nimconf.html
@@ -592,7 +628,6 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/renderer.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/renderverbatim.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/reorder.html
-%%PORTDOCS%%%%DOCSDIR%%/html/compiler/rod.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/rodutils.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/ropes.html
 %%PORTDOCS%%%%DOCSDIR%%/html/compiler/saturate.html
@@ -640,10 +675,13 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/html/db_odbc.html
 %%PORTDOCS%%%%DOCSDIR%%/html/db_postgres.html
 %%PORTDOCS%%%%DOCSDIR%%/html/db_sqlite.html
+%%PORTDOCS%%%%DOCSDIR%%/html/dbutils.html
 %%PORTDOCS%%%%DOCSDIR%%/html/decls.html
+%%PORTDOCS%%%%DOCSDIR%%/html/decode_helpers.html
 %%PORTDOCS%%%%DOCSDIR%%/html/deques.html
 %%PORTDOCS%%%%DOCSDIR%%/html/destructors.html
 %%PORTDOCS%%%%DOCSDIR%%/html/diff.html
+%%PORTDOCS%%%%DOCSDIR%%/html/digitsutils.html
 %%PORTDOCS%%%%DOCSDIR%%/html/distros.html
 %%PORTDOCS%%%%DOCSDIR%%/html/docgen.html
 %%PORTDOCS%%%%DOCSDIR%%/html/docgen_sample.html
@@ -659,13 +697,15 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/html/encodings.html
 %%PORTDOCS%%%%DOCSDIR%%/html/endians.html
 %%PORTDOCS%%%%DOCSDIR%%/html/enumerate.html
+%%PORTDOCS%%%%DOCSDIR%%/html/enumutils.html
 %%PORTDOCS%%%%DOCSDIR%%/html/epoll.html
 %%PORTDOCS%%%%DOCSDIR%%/html/estp.html
 %%PORTDOCS%%%%DOCSDIR%%/html/exitprocs.html
 %%PORTDOCS%%%%DOCSDIR%%/html/fenv.html
-%%PORTDOCS%%%%DOCSDIR%%/html/filepermissions.html
 %%PORTDOCS%%%%DOCSDIR%%/html/filters.html
 %%PORTDOCS%%%%DOCSDIR%%/html/gc.html
+%%PORTDOCS%%%%DOCSDIR%%/html/genasts.html
+%%PORTDOCS%%%%DOCSDIR%%/html/gitutils.html
 %%PORTDOCS%%%%DOCSDIR%%/html/globs.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hashes.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hcr.html
@@ -677,6 +717,7 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/html/httpclient.html
 %%PORTDOCS%%%%DOCSDIR%%/html/httpcore.html
 %%PORTDOCS%%%%DOCSDIR%%/html/idetools.html
+%%PORTDOCS%%%%DOCSDIR%%/html/importutils.html
 %%PORTDOCS%%%%DOCSDIR%%/html/index.html
 %%PORTDOCS%%%%DOCSDIR%%/html/inotify.html
 %%PORTDOCS%%%%DOCSDIR%%/html/intern.html
@@ -684,13 +725,17 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/html/io.html
 %%PORTDOCS%%%%DOCSDIR%%/html/isolation.html
 %%PORTDOCS%%%%DOCSDIR%%/html/iterators.html
-%%PORTDOCS%%%%DOCSDIR%%/html/iup.html
+%%PORTDOCS%%%%DOCSDIR%%/html/jsbigints.html
 %%PORTDOCS%%%%DOCSDIR%%/html/jsconsole.html
 %%PORTDOCS%%%%DOCSDIR%%/html/jscore.html
+%%PORTDOCS%%%%DOCSDIR%%/html/jsfetch.html
 %%PORTDOCS%%%%DOCSDIR%%/html/jsffi.html
+%%PORTDOCS%%%%DOCSDIR%%/html/jsformdata.html
+%%PORTDOCS%%%%DOCSDIR%%/html/jsheaders.html
 %%PORTDOCS%%%%DOCSDIR%%/html/json.html
 %%PORTDOCS%%%%DOCSDIR%%/html/jsonutils.html
 %%PORTDOCS%%%%DOCSDIR%%/html/jsre.html
+%%PORTDOCS%%%%DOCSDIR%%/html/jsutils.html
 %%PORTDOCS%%%%DOCSDIR%%/html/koch.html
 %%PORTDOCS%%%%DOCSDIR%%/html/kqueue.html
 %%PORTDOCS%%%%DOCSDIR%%/html/lenientops.html
@@ -706,6 +751,7 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/html/macros.html
 %%PORTDOCS%%%%DOCSDIR%%/html/manual.html
 %%PORTDOCS%%%%DOCSDIR%%/html/manual_experimental.html
+%%PORTDOCS%%%%DOCSDIR%%/html/manual_experimental_strictnotnil.html
 %%PORTDOCS%%%%DOCSDIR%%/html/marshal.html
 %%PORTDOCS%%%%DOCSDIR%%/html/math.html
 %%PORTDOCS%%%%DOCSDIR%%/html/md5.html
@@ -739,6 +785,7 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/html/oswalkdir.html
 %%PORTDOCS%%%%DOCSDIR%%/html/overview.html
 %%PORTDOCS%%%%DOCSDIR%%/html/packaging.html
+%%PORTDOCS%%%%DOCSDIR%%/html/packedsets.html
 %%PORTDOCS%%%%DOCSDIR%%/html/parsecfg.html
 %%PORTDOCS%%%%DOCSDIR%%/html/parsecsv.html
 %%PORTDOCS%%%%DOCSDIR%%/html/parsejson.html
@@ -749,7 +796,6 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/html/pathnorm.html
 %%PORTDOCS%%%%DOCSDIR%%/html/pcre.html
 %%PORTDOCS%%%%DOCSDIR%%/html/pegs.html
-%%PORTDOCS%%%%DOCSDIR%%/html/pools.html
 %%PORTDOCS%%%%DOCSDIR%%/html/posix.html
 %%PORTDOCS%%%%DOCSDIR%%/html/posix_utils.html
 %%PORTDOCS%%%%DOCSDIR%%/html/postgres.html
@@ -765,35 +811,42 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/html/ropes.html
 %%PORTDOCS%%%%DOCSDIR%%/html/rst.html
 %%PORTDOCS%%%%DOCSDIR%%/html/rstast.html
+%%PORTDOCS%%%%DOCSDIR%%/html/rstcommon.html
 %%PORTDOCS%%%%DOCSDIR%%/html/rstgen.html
 %%PORTDOCS%%%%DOCSDIR%%/html/rtarrays.html
 %%PORTDOCS%%%%DOCSDIR%%/html/segfaults.html
 %%PORTDOCS%%%%DOCSDIR%%/html/selectors.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sequtils.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sets.html
+%%PORTDOCS%%%%DOCSDIR%%/html/setutils.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sexp.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sha1.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sharedlist.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sharedtables.html
 %%PORTDOCS%%%%DOCSDIR%%/html/since.html
 %%PORTDOCS%%%%DOCSDIR%%/html/smtp.html
+%%PORTDOCS%%%%DOCSDIR%%/html/socketstreams.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sqlite3.html
 %%PORTDOCS%%%%DOCSDIR%%/html/ssl_certs.html
 %%PORTDOCS%%%%DOCSDIR%%/html/ssl_config.html
 %%PORTDOCS%%%%DOCSDIR%%/html/stackframes.html
 %%PORTDOCS%%%%DOCSDIR%%/html/stats.html
+%%PORTDOCS%%%%DOCSDIR%%/html/strbasics.html
 %%PORTDOCS%%%%DOCSDIR%%/html/streams.html
 %%PORTDOCS%%%%DOCSDIR%%/html/streamwrapper.html
 %%PORTDOCS%%%%DOCSDIR%%/html/strformat.html
+%%PORTDOCS%%%%DOCSDIR%%/html/strimpl.html
 %%PORTDOCS%%%%DOCSDIR%%/html/strmisc.html
 %%PORTDOCS%%%%DOCSDIR%%/html/strscans.html
 %%PORTDOCS%%%%DOCSDIR%%/html/strtabs.html
 %%PORTDOCS%%%%DOCSDIR%%/html/strutils.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sugar.html
 %%PORTDOCS%%%%DOCSDIR%%/html/sums.html
-%%PORTDOCS%%%%DOCSDIR%%/html/switch_memory.html
+%%PORTDOCS%%%%DOCSDIR%%/html/sysrand.html
 %%PORTDOCS%%%%DOCSDIR%%/html/system.html
 %%PORTDOCS%%%%DOCSDIR%%/html/tables.html
+%%PORTDOCS%%%%DOCSDIR%%/html/tasks.html
+%%PORTDOCS%%%%DOCSDIR%%/html/tempfiles.html
 %%PORTDOCS%%%%DOCSDIR%%/html/terminal.html
 %%PORTDOCS%%%%DOCSDIR%%/html/termios.html
 %%PORTDOCS%%%%DOCSDIR%%/html/testament.html
@@ -817,8 +870,10 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/html/util.html
 %%PORTDOCS%%%%DOCSDIR%%/html/var_t_return.html
 %%PORTDOCS%%%%DOCSDIR%%/html/varints.html
+%%PORTDOCS%%%%DOCSDIR%%/html/vmutils.html
 %%PORTDOCS%%%%DOCSDIR%%/html/volatile.html
 %%PORTDOCS%%%%DOCSDIR%%/html/widestrs.html
+%%PORTDOCS%%%%DOCSDIR%%/html/win_setenv.html
 %%PORTDOCS%%%%DOCSDIR%%/html/winlean.html
 %%PORTDOCS%%%%DOCSDIR%%/html/with.html
 %%PORTDOCS%%%%DOCSDIR%%/html/wordwrap.html
@@ -833,21 +888,23 @@ lib/nim/wrappers/tinyc.nim
 %%PORTDOCS%%%%DOCSDIR%%/manual.rst
 %%PORTDOCS%%%%DOCSDIR%%/manual/var_t_return.rst
 %%PORTDOCS%%%%DOCSDIR%%/manual_experimental.rst
+%%PORTDOCS%%%%DOCSDIR%%/manual_experimental_strictnotnil.rst
 %%PORTDOCS%%%%DOCSDIR%%/mytest.cfg
 %%PORTDOCS%%%%DOCSDIR%%/nep1.rst
 %%PORTDOCS%%%%DOCSDIR%%/nimc.rst
 %%PORTDOCS%%%%DOCSDIR%%/nimdoc.css
 %%PORTDOCS%%%%DOCSDIR%%/nimfix.rst
 %%PORTDOCS%%%%DOCSDIR%%/nimgrep.rst
+%%PORTDOCS%%%%DOCSDIR%%/nimgrep_cmdline.txt
 %%PORTDOCS%%%%DOCSDIR%%/niminst.rst
 %%PORTDOCS%%%%DOCSDIR%%/nims.rst
 %%PORTDOCS%%%%DOCSDIR%%/nimsuggest.rst
 %%PORTDOCS%%%%DOCSDIR%%/overview.rst
 %%PORTDOCS%%%%DOCSDIR%%/packaging.rst
 %%PORTDOCS%%%%DOCSDIR%%/pegdocs.txt
-%%PORTDOCS%%%%DOCSDIR%%/prelude.rst
 %%PORTDOCS%%%%DOCSDIR%%/readme.txt
 %%PORTDOCS%%%%DOCSDIR%%/regexprs.txt
+%%PORTDOCS%%%%DOCSDIR%%/rstcommon.rst
 %%PORTDOCS%%%%DOCSDIR%%/sets_fragment.txt
 %%PORTDOCS%%%%DOCSDIR%%/spawn.txt
 %%PORTDOCS%%%%DOCSDIR%%/subexes.txt