1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-26 09:46:09 +00:00

lang/nim: update to 0.20

PR:		238390
Submitted by:	Neal Nelson <ports@nicandneal.net> (maintainer)
This commit is contained in:
Steve Wills 2019-06-07 23:07:57 +00:00
parent 099500f0ba
commit 343db3284f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=503670
5 changed files with 167 additions and 43 deletions

View File

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= nim
PORTVERSION= 0.19.6
PORTVERSION= 0.20.0
CATEGORIES= lang
MASTER_SITES= https://nim-lang.org/download/

View File

@ -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

View File

@ -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

View File

@ -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()

View File

@ -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