aboutsummaryrefslogtreecommitdiff
path: root/lang/nim
diff options
context:
space:
mode:
authorSteve Wills <swills@FreeBSD.org>2019-06-07 23:07:57 +0000
committerSteve Wills <swills@FreeBSD.org>2019-06-07 23:07:57 +0000
commit343db3284fee7e93ae8b1a66151608ec31f1f72c (patch)
treef60ae8b438ff566557dd680adae1103485fcf491 /lang/nim
parent099500f0bab2b59cb262cad377d08e313fc4d7b6 (diff)
downloadports-343db3284fee7e93ae8b1a66151608ec31f1f72c.tar.gz
ports-343db3284fee7e93ae8b1a66151608ec31f1f72c.zip
lang/nim: update to 0.20
PR: 238390 Submitted by: Neal Nelson <ports@nicandneal.net> (maintainer)
Notes
Notes: svn path=/head/; revision=503670
Diffstat (limited to 'lang/nim')
-rw-r--r--lang/nim/Makefile2
-rw-r--r--lang/nim/distinfo6
-rw-r--r--lang/nim/files/patch-install.sh6
-rw-r--r--lang/nim/files/patch-koch.nim133
-rw-r--r--lang/nim/pkg-plist63
5 files changed, 167 insertions, 43 deletions
diff --git a/lang/nim/Makefile b/lang/nim/Makefile
index b3b798cc158b..94916f155299 100644
--- a/lang/nim/Makefile
+++ b/lang/nim/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= nim
-PORTVERSION= 0.19.6
+PORTVERSION= 0.20.0
CATEGORIES= lang
MASTER_SITES= https://nim-lang.org/download/
diff --git a/lang/nim/distinfo b/lang/nim/distinfo
index e792301ff8d0..6441650f92e4 100644
--- a/lang/nim/distinfo
+++ b/lang/nim/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1557828859
-SHA256 (nim-0.19.6.tar.xz) = a09f0c58d29392434d4fd6d15d4059cf7e013ae948413cb9233b8233d67e3a29
-SIZE (nim-0.19.6.tar.xz) = 4166952
+TIMESTAMP = 1559898379
+SHA256 (nim-0.20.0.tar.xz) = 51f479b831e87b9539f7264082bb6a64641802b54d2691b3c6e68ac7e2699a90
+SIZE (nim-0.20.0.tar.xz) = 4997088
diff --git a/lang/nim/files/patch-install.sh b/lang/nim/files/patch-install.sh
index 0f8e3a11b531..106566e248dc 100644
--- a/lang/nim/files/patch-install.sh
+++ b/lang/nim/files/patch-install.sh
@@ -19,7 +19,7 @@
- libdir=/usr/lib/nim
- docdir=/usr/share/nim/doc
- datadir=/usr/share/nim/data
-- nimbleDir="/opt/nimble/pkgs/compiler-0.19.6"
+- nimbleDir="/opt/nimble/pkgs/compiler-0.20.0"
- ;;
- "/usr/local/bin")
- bindir=/usr/local/bin
@@ -27,7 +27,7 @@
- libdir=/usr/local/lib/nim
- docdir=/usr/local/share/nim/doc
- datadir=/usr/local/share/nim/data
-- nimbleDir="/opt/nimble/pkgs/compiler-0.19.6"
+- nimbleDir="/opt/nimble/pkgs/compiler-0.20.0"
- ;;
- "/opt")
- bindir="/opt/nim/bin"
@@ -35,7 +35,7 @@
- libdir="/opt/nim/lib"
- docdir="/opt/nim/doc"
- datadir="/opt/nim/data"
-- nimbleDir="/opt/nimble/pkgs/compiler-0.19.6"
+- nimbleDir="/opt/nimble/pkgs/compiler-0.20.0"
- mkdir -p /opt/nim
- mkdir -p $bindir
- mkdir -p $configdir
diff --git a/lang/nim/files/patch-koch.nim b/lang/nim/files/patch-koch.nim
index 9c1c074e6106..780bab435c52 100644
--- a/lang/nim/files/patch-koch.nim
+++ b/lang/nim/files/patch-koch.nim
@@ -1,12 +1,127 @@
---- koch.nim.orig 2018-03-14 15:15:05.712810000 +0000
-+++ koch.nim 2018-03-14 15:15:42.575087000 +0000
-@@ -265,7 +265,8 @@
+--- koch.nim.orig 2019-06-06 19:33:01 UTC
++++ koch.nim
+@@ -9,9 +9,6 @@
+ # See doc/koch.txt for documentation.
+ #
- #nimexec "c -o:" & ("bin/nimresolve".exe) & " tools/nimresolve.nim"
+-const
+- NimbleStableCommit = "d15c8530cb7480ce39ffa85a2dd9819d2d4fc645" # 0.10.2
+-
+ when defined(gcc) and defined(windows):
+ when defined(x86):
+ {.link: "icons/koch.res".}
+@@ -43,15 +40,11 @@ Usage:
+ koch [options] command [options for command]
+ Options:
+ --help, -h shows this help and quits
+- --latest bundle the installers with a bleeding edge Nimble
+- --stable bundle the installers with a stable Nimble (default)
+ Possible Commands:
+ boot [options] bootstraps with given command line options
+ distrohelper [bindir] helper for distro packagers
+- tools builds Nim related tools
+- toolsNoNimble builds Nim related tools (except nimble)
++ tools builds Nim related tools (except nimble)
+ doesn't require network connectivity
+- nimble builds the Nimble tool
+ Boot options:
+ -d:release produce a release version of the compiler
+ -d:useLinenoise use the linenoise library for interactive mode
+@@ -126,39 +119,6 @@ proc bundleC2nim() =
+ exec("git clone https://github.com/nim-lang/c2nim.git dist/c2nim")
+ nimCompile("dist/c2nim/c2nim", options = "--noNimblePath --path:.")
-- buildNimble(latest)
-+ # Don't build Nimble here. Use the port instead.
-+ #buildNimble(latest)
+-proc bundleNimbleExe(latest: bool) =
+- 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) =
+- # if koch is used for a tar.xz, build the dist/nimble we shipped
+- # with the tarball:
+- var installDir = "dist/nimble"
+- 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")
+- exec("git pull")
+- else:
+- exec("git fetch")
+- exec("git checkout " & NimbleStableCommit)
+- nimCompile(installDir / "src/nimble.nim", options = "--noNimblePath --nilseqs:on -d:release")
+-
+ proc bundleNimsuggest() =
+ nimCompileFold("Compile nimsuggest", "nimsuggest/nimsuggest.nim", options = "-d:release -d:danger")
- proc nsis(args: string) =
- bundleNimbleExe()
+@@ -177,7 +137,6 @@ proc bundleWinTools() =
+ nimCompile(r"tools\downloader.nim", options = r"--cc:vcc --app:gui -d:ssl --noNimblePath --path:..\ui")
+
+ proc zip(latest: bool; args: string) =
+- bundleNimbleExe(latest)
+ bundleNimsuggest()
+ bundleWinTools()
+ nimexec("cc -r $2 --var:version=$1 --var:mingw=none --main:compiler/nim.nim scripts compiler/installer.ini" %
+@@ -211,7 +170,6 @@ proc buildTools() =
+ nimCompileFold("Compile nimfind", "tools/nimfind.nim", options = "-d:release")
+
+ proc nsis(latest: bool; args: string) =
+- bundleNimbleExe(latest)
+ bundleNimsuggest()
+ bundleWinTools()
+ # make sure we have generated the niminst executables:
+@@ -457,17 +415,14 @@ proc runCI(cmd: string) =
+ # boot without -d:nimHasLibFFI to make sure this still works
+ kochExecFold("Boot in release mode", "boot -d:release -d:danger")
+
+- ## build nimble early on to enable remainder to depend on it if needed
+- kochExecFold("Build Nimble", "nimble")
+
+ when false:
+- execFold("nimble install -y libffi", "nimble install -y libffi")
+ kochExecFold("boot -d:release -d:nimHasLibFFI", "boot -d:release -d:nimHasLibFFI")
+
+ if getEnv("NIM_TEST_PACKAGES", "false") == "true":
+ execFold("Test selected Nimble packages", "nim c -r testament/tester cat nimble-packages")
+ else:
+- buildTools() # altenatively, kochExec "tools --toolsNoNimble"
++ buildTools()
+
+ ## run tests
+ execFold("Test nimscript", "nim e tests/test_nimscript.nims")
+@@ -579,8 +534,6 @@ when isMainModule:
+ case op.kind
+ of cmdLongOption, cmdShortOption:
+ case normalize(op.key)
+- of "latest": latest = true
+- of "stable": latest = false
+ else: showHelp()
+ of cmdArgument:
+ case normalize(op.key)
+@@ -604,13 +557,9 @@ when isMainModule:
+ of "temp": temp(op.cmdLineRest)
+ of "xtemp": xtemp(op.cmdLineRest)
+ of "wintools": bundleWinTools()
+- of "nimble": buildNimble(latest)
+ of "nimsuggest": bundleNimsuggest()
+- of "toolsnonimble":
+- buildTools()
+ of "tools":
+ buildTools()
+- buildNimble(latest)
+ of "pushcsource", "pushcsources": pushCsources()
+ of "valgrind": valgrind(op.cmdLineRest)
+ of "c2nim": bundleC2nim()
diff --git a/lang/nim/pkg-plist b/lang/nim/pkg-plist
index f65335531355..6d617b158c38 100644
--- a/lang/nim/pkg-plist
+++ b/lang/nim/pkg-plist
@@ -5,24 +5,22 @@ etc/nim/nimdoc.tex.cfg
lib/arch/x86/amd64.S
lib/arch/x86/i386.S
lib/core/allocators.nim
+lib/core/hotcodereloading.nim
lib/core/locks.nim
lib/core/macrocache.nim
lib/core/macros.nim
lib/core/refs.nim
lib/core/rlocks.nim
+lib/core/runtime_v2.nim
lib/core/seqs.nim
lib/core/strs.nim
lib/core/typeinfo.nim
lib/core/typelayouts.nim
lib/cycle.h
-lib/deprecated/core/unsigned.nim
-lib/deprecated/pure/actors.nim
-lib/deprecated/pure/actors.nim.cfg
-lib/deprecated/pure/asyncio.nim
-lib/deprecated/pure/ftpclient.nim
-lib/deprecated/pure/parseurl.nim
-lib/deprecated/pure/rawsockets.nim
-lib/deprecated/pure/sockets.nim
+lib/deprecated/pure/ospaths.nim
+lib/deprecated/pure/parseopt2.nim
+lib/deprecated/pure/securehash.nim
+lib/experimental/diff.nim
lib/genode/alloc.nim
lib/genode/env.nim
lib/genode_cpp/syslocks.h
@@ -37,13 +35,14 @@ lib/impure/osinfo_posix.nim
lib/impure/osinfo_win.nim
lib/impure/rdstdin.nim
lib/impure/re.nim
-lib/impure/ssl.nim
lib/js/asyncjs.nim
lib/js/dom.nim
lib/js/jsconsole.nim
lib/js/jscore.nim
lib/js/jsffi.nim
lib/nimbase.h
+lib/nimhcr.nim
+lib/nimhcr.nim.cfg
lib/nimrtl.nim
lib/nimrtl.nim.cfg
lib/nintendoswitch/switch_memory.nim
@@ -52,7 +51,6 @@ lib/packages/docutils/highlite.nim
lib/packages/docutils/rst.nim
lib/packages/docutils/rstast.nim
lib/packages/docutils/rstgen.nim
-lib/packages/fsmonitor.nim
lib/posix/epoll.nim
lib/posix/inotify.nim
lib/posix/kqueue.nim
@@ -64,6 +62,7 @@ lib/posix/posix_nintendoswitch.nim
lib/posix/posix_nintendoswitch_consts.nim
lib/posix/posix_other.nim
lib/posix/posix_other_consts.nim
+lib/posix/posix_utils.nim
lib/posix/termios.nim
lib/prelude.nim
lib/pure/algorithm.nim
@@ -85,12 +84,13 @@ lib/pure/collections/LockFreeHash.nim
lib/pure/collections/chains.nim
lib/pure/collections/critbits.nim
lib/pure/collections/deques.nim
+lib/pure/collections/hashcommon.nim
lib/pure/collections/heapqueue.nim
lib/pure/collections/intsets.nim
lib/pure/collections/lists.nim
-lib/pure/collections/queues.nim
lib/pure/collections/rtarrays.nim
lib/pure/collections/sequtils.nim
+lib/pure/collections/setimpl.nim
lib/pure/collections/sets.nim
lib/pure/collections/sharedlist.nim
lib/pure/collections/sharedstrings.nim
@@ -99,6 +99,7 @@ lib/pure/collections/tableimpl.nim
lib/pure/collections/tables.nim
lib/pure/colors.nim
lib/pure/complex.nim
+lib/pure/concurrency/atomics.nim
lib/pure/concurrency/cpuinfo.nim
lib/pure/concurrency/cpuload.nim
lib/pure/concurrency/threadpool.nim
@@ -110,7 +111,6 @@ lib/pure/cstrutils.nim
lib/pure/db_common.nim
lib/pure/distros.nim
lib/pure/dynlib.nim
-lib/pure/editdistance.nim
lib/pure/encodings.nim
lib/pure/endians.nim
lib/pure/events.nim
@@ -121,10 +121,10 @@ lib/pure/htmlgen.nim
lib/pure/htmlparser.nim
lib/pure/httpclient.nim
lib/pure/httpcore.nim
-lib/pure/httpserver.nim
-lib/pure/includes/asynccommon.nim
lib/pure/includes/osenv.nim
lib/pure/includes/oserr.nim
+lib/pure/includes/osseps.nim
+lib/pure/includes/unicode_ranges.nim
lib/pure/ioselects/ioselectors_epoll.nim
lib/pure/ioselects/ioselectors_kqueue.nim
lib/pure/ioselects/ioselectors_poll.nim
@@ -134,7 +134,6 @@ lib/pure/lenientops.nim
lib/pure/lexbase.nim
lib/pure/logging.nim
lib/pure/marshal.nim
-lib/pure/matchers.nim
lib/pure/math.nim
lib/pure/md5.nim
lib/pure/memfiles.nim
@@ -148,24 +147,22 @@ lib/pure/nimtracker.nim
lib/pure/oids.nim
lib/pure/options.nim
lib/pure/os.nim
-lib/pure/ospaths.nim
lib/pure/osproc.nim
lib/pure/oswalkdir.nim
lib/pure/parsecfg.nim
lib/pure/parsecsv.nim
lib/pure/parsejson.nim
lib/pure/parseopt.nim
-lib/pure/parseopt2.nim
lib/pure/parsesql.nim
lib/pure/parseutils.nim
lib/pure/parsexml.nim
+lib/pure/pathnorm.nim
lib/pure/pegs.nim
lib/pure/punycode.nim
lib/pure/random.nim
lib/pure/rationals.nim
+lib/pure/reservedmem.nim
lib/pure/ropes.nim
-lib/pure/scgi.nim
-lib/pure/securehash.nim
lib/pure/segfaults.nim
lib/pure/selectors.nim
lib/pure/smtp.nim
@@ -177,7 +174,6 @@ lib/pure/strmisc.nim
lib/pure/strscans.nim
lib/pure/strtabs.nim
lib/pure/strutils.nim
-lib/pure/subexes.nim
lib/pure/sugar.nim
lib/pure/terminal.nim
lib/pure/times.nim
@@ -189,17 +185,20 @@ lib/pure/unidecode/unidecode.nim
lib/pure/unittest.nim
lib/pure/uri.nim
lib/pure/volatile.nim
-lib/pure/xmldom.nim
-lib/pure/xmldomparser.nim
lib/pure/xmlparser.nim
lib/pure/xmltree.nim
+lib/std/editdistance.nim
lib/std/sha1.nim
+lib/std/sums.nim
+lib/std/time_t.nim
lib/std/varints.nim
+lib/std/wordwrap.nim
lib/stdlib.nimble
lib/system.nim
lib/system/alloc.nim
lib/system/ansi_c.nim
lib/system/arithm.nim
+lib/system/assertions.nim
lib/system/assign.nim
lib/system/atomics.nim
lib/system/avltree.nim
@@ -209,18 +208,23 @@ lib/system/channels.nim
lib/system/chcks.nim
lib/system/debugger.nim
lib/system/deepcopy.nim
+lib/system/dollars.nim
lib/system/dyncalls.nim
lib/system/embedded.nim
lib/system/endb.nim
lib/system/excpt.nim
+lib/system/fatal.nim
lib/system/gc.nim
lib/system/gc2.nim
lib/system/gc_common.nim
lib/system/gc_ms.nim
lib/system/gc_regions.nim
-lib/system/helpers.nim
lib/system/hti.nim
lib/system/inclrtl.nim
+lib/system/indexerrors.nim
+lib/system/io.nim
+lib/system/io.nim.cfg
+lib/system/iterators.nim
lib/system/jssys.nim
lib/system/memory.nim
lib/system/memtracker.nim
@@ -233,13 +237,14 @@ lib/system/repr.nim
lib/system/reprjs.nim
lib/system/sets.nim
lib/system/strmantle.nim
-lib/system/sysio.nim
lib/system/syslocks.nim
lib/system/sysspawn.nim
lib/system/sysstr.nim
+lib/system/threadlocalstorage.nim
lib/system/threads.nim
lib/system/timers.nim
lib/system/widestrs.nim
+lib/system_overview.rst
lib/windows/registry.nim
lib/windows/winlean.nim
lib/wrappers/iup.nim
@@ -257,6 +262,7 @@ lib/wrappers/sqlite3.nim
lib/wrappers/tinyc.nim
nim/compiler.nimble
nim/compiler/aliases.nim
+nim/compiler/asciitables.nim
nim/compiler/ast.nim
nim/compiler/astalgo.nim
nim/compiler/bitsets.nim
@@ -279,12 +285,13 @@ nim/compiler/cmdlinehelper.nim
nim/compiler/commands.nim
nim/compiler/condsyms.nim
nim/compiler/configuration.nim
+nim/compiler/cursors.nim
nim/compiler/debuginfo.nim
nim/compiler/depends.nim
-nim/compiler/destroyer.nim
nim/compiler/dfa.nim
nim/compiler/docgen.nim
nim/compiler/docgen2.nim
+nim/compiler/enumtostr.nim
nim/compiler/evalffi.nim
nim/compiler/evaltempl.nim
nim/compiler/extccomp.nim
@@ -298,16 +305,17 @@ nim/compiler/idents.nim
nim/compiler/idgen.nim
nim/compiler/importer.nim
nim/compiler/incremental.nim
+nim/compiler/injectdestructors.nim
nim/compiler/installer.ini
nim/compiler/jsgen.nim
nim/compiler/jstypes.nim
nim/compiler/lambdalifting.nim
nim/compiler/layouter.nim
nim/compiler/lexer.nim
+nim/compiler/liftdestructors.nim
nim/compiler/liftlocals.nim
nim/compiler/lineinfos.nim
nim/compiler/linter.nim
-nim/compiler/lists.nim
nim/compiler/llstream.nim
nim/compiler/lookups.nim
nim/compiler/lowerings.nim
@@ -358,7 +366,6 @@ nim/compiler/ropes.nim
nim/compiler/saturate.nim
nim/compiler/scriptconfig.nim
nim/compiler/sem.nim
-nim/compiler/semasgn.nim
nim/compiler/semcall.nim
nim/compiler/semdata.nim
nim/compiler/semexprs.nim
@@ -377,6 +384,7 @@ nim/compiler/semtypes.nim
nim/compiler/semtypinst.nim
nim/compiler/sighashes.nim
nim/compiler/sigmatch.nim
+nim/compiler/sizealignoffsetimpl.nim
nim/compiler/suggest.nim
nim/compiler/syntaxes.nim
nim/compiler/tccgen.nim
@@ -385,6 +393,7 @@ nim/compiler/trees.nim
nim/compiler/treetab.nim
nim/compiler/types.nim
nim/compiler/typesrenderer.nim
+nim/compiler/unittest_light.nim
nim/compiler/vm.nim
nim/compiler/vmdef.nim
nim/compiler/vmdeps.nim