summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorkamil <kamil@pkgsrc.org>2016-09-18 01:02:43 +0000
committerkamil <kamil@pkgsrc.org>2016-09-18 01:02:43 +0000
commit0a0b409c7c153204664ea85b057a7b5380538435 (patch)
tree28f00ab0a749b332ed117b44c68b513c4bd24e3f /lang
parentc1b78024bba8b3784f92c02c6ea90f61f3f1fecc (diff)
downloadpkgsrc-0a0b409c7c153204664ea85b057a7b5380538435.tar.gz
Import nim-0.14.2 as lang/nim
Nim (formerly known as "Nimrod") is a statically typed, imperative programming language that tries to give the programmer ultimate power without compromises on runtime efficiency. This means it focuses on compile-time mechanisms in all their various forms. Beneath a nice infix/indentation based syntax with a powerful (AST based, hygienic) macro system lies a semantic model that supports a soft realtime GC on thread local heaps. Asynchronous message passing is used between threads, so no "stop the world" mechanism is necessary. An unsafe shared memory heap is also provided for the increased efficiency that results from that model. Originally packaged in pkgsrc-wip by: - Christian Koch - Roland Illig and - myself.
Diffstat (limited to 'lang')
-rw-r--r--lang/nim/DESCR11
-rw-r--r--lang/nim/Makefile28
-rw-r--r--lang/nim/PLIST349
-rw-r--r--lang/nim/distinfo6
4 files changed, 394 insertions, 0 deletions
diff --git a/lang/nim/DESCR b/lang/nim/DESCR
new file mode 100644
index 00000000000..063ab39e40e
--- /dev/null
+++ b/lang/nim/DESCR
@@ -0,0 +1,11 @@
+Nim (formerly known as "Nimrod") is a statically typed, imperative
+programming language that tries to give the programmer ultimate power
+without compromises on runtime efficiency. This means it focuses on
+compile-time mechanisms in all their various forms.
+
+Beneath a nice infix/indentation based syntax with a powerful (AST based,
+hygienic) macro system lies a semantic model that supports a soft realtime
+GC on thread local heaps. Asynchronous message passing is used between
+threads, so no "stop the world" mechanism is necessary. An unsafe shared
+memory heap is also provided for the increased efficiency that results from
+that model.
diff --git a/lang/nim/Makefile b/lang/nim/Makefile
new file mode 100644
index 00000000000..3f2240aed3e
--- /dev/null
+++ b/lang/nim/Makefile
@@ -0,0 +1,28 @@
+# $NetBSD: Makefile,v 1.1 2016/09/18 01:02:43 kamil Exp $
+
+DISTNAME= nim-0.14.2
+CATEGORIES= lang
+MASTER_SITES= http://nim-lang.org/download/
+EXTRACT_SUFX= .tar.xz
+
+MAINTAINER= cfkoch@edgebsd.org
+COMMENT= The Nim programming language
+LICENSE= mit
+
+AUTO_MKDIRS= yes
+
+do-build:
+ cd ${WRKSRC} && sh ./build.sh
+ printf '#! %s\nexec %s _=%s/nim/bin/nim %s/nim/bin/nim "$$@"\n' \
+ "${SH}" "${SETENV}" "${PREFIX}" "${PREFIX}" \
+ > ${WRKSRC}/nim-wrapper.sh
+
+do-install:
+ cd ${WRKSRC} && sh ./install.sh ${DESTDIR}${PREFIX}
+ ${INSTALL_SCRIPT} ${WRKSRC}/nim-wrapper.sh ${DESTDIR}${PREFIX}/bin/nim
+
+do-test:
+ cd ${WRKSRC} && ./bin/nim compile koch.nim
+ cd ${WRKSRC} && LD_LIBRARY_PATH=$PREFIX/lib ./koch tests
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/lang/nim/PLIST b/lang/nim/PLIST
new file mode 100644
index 00000000000..9f826a33dfc
--- /dev/null
+++ b/lang/nim/PLIST
@@ -0,0 +1,349 @@
+@comment $NetBSD: PLIST,v 1.1 2016/09/18 01:02:43 kamil Exp $
+bin/nim
+nim/bin/nim
+nim/compiler.nimble
+nim/compiler/aliases.nim
+nim/compiler/ast.nim
+nim/compiler/astalgo.nim
+nim/compiler/bitsets.nim
+nim/compiler/canonicalizer.nim
+nim/compiler/ccgcalls.nim
+nim/compiler/ccgexprs.nim
+nim/compiler/ccgmerge.nim
+nim/compiler/ccgstmts.nim
+nim/compiler/ccgthreadvars.nim
+nim/compiler/ccgtrav.nim
+nim/compiler/ccgtypes.nim
+nim/compiler/ccgutils.nim
+nim/compiler/cgen.nim
+nim/compiler/cgendata.nim
+nim/compiler/cgmeth.nim
+nim/compiler/commands.nim
+nim/compiler/condsyms.nim
+nim/compiler/debuginfo.nim
+nim/compiler/depends.nim
+nim/compiler/docgen.nim
+nim/compiler/docgen2.nim
+nim/compiler/evalffi.nim
+nim/compiler/evaltempl.nim
+nim/compiler/extccomp.nim
+nim/compiler/filter_tmpl.nim
+nim/compiler/filters.nim
+nim/compiler/forloops.nim
+nim/compiler/guards.nim
+nim/compiler/hlo.nim
+nim/compiler/idents.nim
+nim/compiler/idgen.nim
+nim/compiler/importer.nim
+nim/compiler/installer.ini
+nim/compiler/jsgen.nim
+nim/compiler/jstypes.nim
+nim/compiler/lambdalifting.nim
+nim/compiler/lexer.nim
+nim/compiler/lists.nim
+nim/compiler/llstream.nim
+nim/compiler/lookups.nim
+nim/compiler/lowerings.nim
+nim/compiler/magicsys.nim
+nim/compiler/main.nim
+nim/compiler/mapping.txt
+nim/compiler/modules.nim
+nim/compiler/msgs.nim
+nim/compiler/nim.cfg
+nim/compiler/nim.nim
+nim/compiler/nimblecmd.nim
+nim/compiler/nimconf.nim
+nim/compiler/nimeval.nim
+nim/compiler/nimfix/nimfix.nim
+nim/compiler/nimfix/nimfix.nim.cfg
+nim/compiler/nimfix/pretty.nim
+nim/compiler/nimfix/prettybase.nim
+nim/compiler/nimlexbase.nim
+nim/compiler/nimsets.nim
+nim/compiler/nimsuggest/nimsuggest.nim
+nim/compiler/nodejs.nim
+nim/compiler/nversion.nim
+nim/compiler/options.nim
+nim/compiler/parampatterns.nim
+nim/compiler/parser.nim
+nim/compiler/passaux.nim
+nim/compiler/passes.nim
+nim/compiler/patterns.nim
+nim/compiler/pbraces.nim
+nim/compiler/platform.nim
+nim/compiler/plugins/active.nim
+nim/compiler/plugins/itersgen.nim
+nim/compiler/plugins/locals/locals.nim
+nim/compiler/pluginsupport.nim
+nim/compiler/pragmas.nim
+nim/compiler/procfind.nim
+nim/compiler/readme.txt
+nim/compiler/renderer.nim
+nim/compiler/rodread.nim
+nim/compiler/rodutils.nim
+nim/compiler/rodwrite.nim
+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/semdestruct.nim
+nim/compiler/semexprs.nim
+nim/compiler/semfields.nim
+nim/compiler/semfold.nim
+nim/compiler/semgnrc.nim
+nim/compiler/seminst.nim
+nim/compiler/semmacrosanity.nim
+nim/compiler/semmagic.nim
+nim/compiler/semparallel.nim
+nim/compiler/sempass2.nim
+nim/compiler/semprepass.nim
+nim/compiler/semstmts.nim
+nim/compiler/semtempl.nim
+nim/compiler/semtypes.nim
+nim/compiler/semtypinst.nim
+nim/compiler/service.nim
+nim/compiler/sigmatch.nim
+nim/compiler/suggest.nim
+nim/compiler/syntaxes.nim
+nim/compiler/tccgen.nim
+nim/compiler/testability.nim
+nim/compiler/transf.nim
+nim/compiler/trees.nim
+nim/compiler/treetab.nim
+nim/compiler/types.nim
+nim/compiler/typesrenderer.nim
+nim/compiler/vm.nim
+nim/compiler/vmdef.nim
+nim/compiler/vmdeps.nim
+nim/compiler/vmgen.nim
+nim/compiler/vmhooks.nim
+nim/compiler/vmmarshal.nim
+nim/compiler/vmops.nim
+nim/compiler/wordrecg.nim
+nim/compiler/writetracking.nim
+nim/config/nim.cfg
+nim/config/nimdoc.cfg
+nim/config/nimdoc.tex.cfg
+nim/doc/advopt.txt
+nim/doc/basicopt.txt
+nim/doc/overview.html
+nim/lib/arch/arch.nim
+nim/lib/arch/i386.asm
+nim/lib/arch/ms_amd64.asm
+nim/lib/arch/ms_i386.asm
+nim/lib/arch/unix_amd64.asm
+nim/lib/arch/unix_i386.asm
+nim/lib/core/locks.nim
+nim/lib/core/macros.nim
+nim/lib/core/rlocks.nim
+nim/lib/core/typeinfo.nim
+nim/lib/cycle.h
+nim/lib/deprecated/core/unsigned.nim
+nim/lib/deprecated/pure/actors.nim
+nim/lib/deprecated/pure/actors.nim.cfg
+nim/lib/deprecated/pure/asyncio.nim
+nim/lib/deprecated/pure/ftpclient.nim
+nim/lib/deprecated/pure/parseurl.nim
+nim/lib/deprecated/pure/rawsockets.nim
+nim/lib/deprecated/pure/sockets.nim
+nim/lib/impure/db_mysql.nim
+nim/lib/impure/db_odbc.nim
+nim/lib/impure/db_postgres.nim
+nim/lib/impure/db_sqlite.nim
+nim/lib/impure/nre.nim
+nim/lib/impure/nre/private/util.nim
+nim/lib/impure/osinfo_posix.nim
+nim/lib/impure/osinfo_win.nim
+nim/lib/impure/rdstdin.nim
+nim/lib/impure/re.nim
+nim/lib/impure/ssl.nim
+nim/lib/js/dom.nim
+nim/lib/libnimrtl.dylib
+nim/lib/nimbase.h
+nim/lib/nimrtl.nim
+nim/lib/nimrtl.nim.cfg
+nim/lib/packages/docutils/docutils.babel
+nim/lib/packages/docutils/highlite.nim
+nim/lib/packages/docutils/rst.nim
+nim/lib/packages/docutils/rstast.nim
+nim/lib/packages/docutils/rstgen.nim
+nim/lib/posix/epoll.nim
+nim/lib/posix/inotify.nim
+nim/lib/posix/kqueue.nim
+nim/lib/posix/linux.nim
+nim/lib/posix/posix.nim
+nim/lib/posix/termios.nim
+nim/lib/prelude.nim
+nim/lib/pure/algorithm.nim
+nim/lib/pure/asyncdispatch.nim
+nim/lib/pure/asyncdispatch.nim.cfg
+nim/lib/pure/asyncfile.nim
+nim/lib/pure/asyncftpclient.nim
+nim/lib/pure/asynchttpserver.nim
+nim/lib/pure/asyncnet.nim
+nim/lib/pure/base64.nim
+nim/lib/pure/basic2d.nim
+nim/lib/pure/basic3d.nim
+nim/lib/pure/browsers.nim
+nim/lib/pure/cgi.nim
+nim/lib/pure/collections/LockFreeHash.nim
+nim/lib/pure/collections/chains.nim
+nim/lib/pure/collections/critbits.nim
+nim/lib/pure/collections/heapqueue.nim
+nim/lib/pure/collections/intsets.nim
+nim/lib/pure/collections/lists.nim
+nim/lib/pure/collections/queues.nim
+nim/lib/pure/collections/rtarrays.nim
+nim/lib/pure/collections/sequtils.nim
+nim/lib/pure/collections/sets.nim
+nim/lib/pure/collections/sharedlist.nim
+nim/lib/pure/collections/sharedstrings.nim
+nim/lib/pure/collections/sharedtables.nim
+nim/lib/pure/collections/tableimpl.nim
+nim/lib/pure/collections/tables.nim
+nim/lib/pure/colors.nim
+nim/lib/pure/complex.nim
+nim/lib/pure/concurrency/cpuinfo.nim
+nim/lib/pure/concurrency/cpuload.nim
+nim/lib/pure/concurrency/threadpool.nim
+nim/lib/pure/concurrency/threadpool.nim.cfg
+nim/lib/pure/cookies.nim
+nim/lib/pure/coro.nim
+nim/lib/pure/coro.nimcfg
+nim/lib/pure/db_common.nim
+nim/lib/pure/dynlib.nim
+nim/lib/pure/encodings.nim
+nim/lib/pure/endians.nim
+nim/lib/pure/etcpriv.nim
+nim/lib/pure/events.nim
+nim/lib/pure/fenv.nim
+nim/lib/pure/fsmonitor.nim
+nim/lib/pure/future.nim
+nim/lib/pure/gentabs.nim
+nim/lib/pure/hashes.nim
+nim/lib/pure/htmlgen.nim
+nim/lib/pure/htmlparser.nim
+nim/lib/pure/httpclient.nim
+nim/lib/pure/httpcore.nim
+nim/lib/pure/httpserver.nim
+nim/lib/pure/json.nim
+nim/lib/pure/lexbase.nim
+nim/lib/pure/logging.nim
+nim/lib/pure/marshal.nim
+nim/lib/pure/matchers.nim
+nim/lib/pure/math.nim
+nim/lib/pure/md5.nim
+nim/lib/pure/memfiles.nim
+nim/lib/pure/mersenne.nim
+nim/lib/pure/mimetypes.nim
+nim/lib/pure/nativesockets.nim
+nim/lib/pure/net.nim
+nim/lib/pure/nimprof.nim
+nim/lib/pure/nimprof.nim.cfg
+nim/lib/pure/numeric.nim
+nim/lib/pure/oids.nim
+nim/lib/pure/options.nim
+nim/lib/pure/os.nim
+nim/lib/pure/ospaths.nim
+nim/lib/pure/osproc.nim
+nim/lib/pure/oswalkdir.nim
+nim/lib/pure/parsecfg.nim
+nim/lib/pure/parsecsv.nim
+nim/lib/pure/parseopt.nim
+nim/lib/pure/parseopt2.nim
+nim/lib/pure/parsesql.nim
+nim/lib/pure/parseutils.nim
+nim/lib/pure/parsexml.nim
+nim/lib/pure/pegs.nim
+nim/lib/pure/poly.nim
+nim/lib/pure/punycode.nim
+nim/lib/pure/random.nim
+nim/lib/pure/rationals.nim
+nim/lib/pure/romans.nim
+nim/lib/pure/ropes.nim
+nim/lib/pure/scgi.nim
+nim/lib/pure/securehash.nim
+nim/lib/pure/selectors.nim
+nim/lib/pure/smtp.nim
+nim/lib/pure/smtp.nim.cfg
+nim/lib/pure/stats.nim
+nim/lib/pure/streams.nim
+nim/lib/pure/strscans.nim
+nim/lib/pure/strtabs.nim
+nim/lib/pure/strutils.nim
+nim/lib/pure/subexes.nim
+nim/lib/pure/terminal.nim
+nim/lib/pure/times.nim
+nim/lib/pure/typetraits.nim
+nim/lib/pure/unicode.nim
+nim/lib/pure/unidecode/gen.py
+nim/lib/pure/unidecode/unidecode.dat
+nim/lib/pure/unidecode/unidecode.nim
+nim/lib/pure/unittest.nim
+nim/lib/pure/uri.nim
+nim/lib/pure/xmldom.nim
+nim/lib/pure/xmldomparser.nim
+nim/lib/pure/xmlparser.nim
+nim/lib/pure/xmltree.nim
+nim/lib/stdlib.nimble
+nim/lib/system.nim
+nim/lib/system/alloc.nim
+nim/lib/system/ansi_c.nim
+nim/lib/system/arithm.nim
+nim/lib/system/assign.nim
+nim/lib/system/atomics.nim
+nim/lib/system/avltree.nim
+nim/lib/system/cellsets.nim
+nim/lib/system/cgprocs.nim
+nim/lib/system/channels.nim
+nim/lib/system/chcks.nim
+nim/lib/system/debugger.nim
+nim/lib/system/deepcopy.nim
+nim/lib/system/dyncalls.nim
+nim/lib/system/embedded.nim
+nim/lib/system/endb.nim
+nim/lib/system/excpt.nim
+nim/lib/system/gc.nim
+nim/lib/system/gc2.nim
+nim/lib/system/gc_common.nim
+nim/lib/system/gc_ms.nim
+nim/lib/system/gc_stack.nim
+nim/lib/system/hti.nim
+nim/lib/system/inclrtl.nim
+nim/lib/system/jssys.nim
+nim/lib/system/mmdisp.nim
+nim/lib/system/nimscript.nim
+nim/lib/system/osalloc.nim
+nim/lib/system/platforms.nim
+nim/lib/system/profiler.nim
+nim/lib/system/repr.nim
+nim/lib/system/reprjs.nim
+nim/lib/system/sets.nim
+nim/lib/system/sysio.nim
+nim/lib/system/syslocks.nim
+nim/lib/system/sysspawn.nim
+nim/lib/system/sysstr.nim
+nim/lib/system/threads.nim
+nim/lib/system/timers.nim
+nim/lib/system/widestrs.nim
+nim/lib/windows/winlean.nim
+nim/lib/wrappers/iup.nim
+nim/lib/wrappers/joyent_http_parser.nim
+nim/lib/wrappers/libsvm.nim
+nim/lib/wrappers/libuv.nim
+nim/lib/wrappers/linenoise/LICENSE.txt
+nim/lib/wrappers/linenoise/README.markdown
+nim/lib/wrappers/linenoise/clinenoise.c
+nim/lib/wrappers/linenoise/clinenoise.h
+nim/lib/wrappers/linenoise/linenoise.nim
+nim/lib/wrappers/mysql.nim
+nim/lib/wrappers/odbcsql.nim
+nim/lib/wrappers/openssl.nim
+nim/lib/wrappers/pcre.nim
+nim/lib/wrappers/pdcurses.nim
+nim/lib/wrappers/postgres.nim
+nim/lib/wrappers/sqlite3.nim
+nim/lib/wrappers/tinyc.nim
diff --git a/lang/nim/distinfo b/lang/nim/distinfo
new file mode 100644
index 00000000000..6c614eebd86
--- /dev/null
+++ b/lang/nim/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2016/09/18 01:02:43 kamil Exp $
+
+SHA1 (nim-0.14.2.tar.xz) = 6a5a4c6804cd58d2412827feee8f94121b163d62
+RMD160 (nim-0.14.2.tar.xz) = 26ebeb69a9867317761236a638766bca9cbc6150
+SHA512 (nim-0.14.2.tar.xz) = 34afd07fafd066f6b4acc423c21e1cc275dce00f575d01f0d1edc147946930cf13c772abe0c4a081e2e0091ad41f6ae5cead20cc4d9a7cb3bc628ad7469f6459
+Size (nim-0.14.2.tar.xz) = 4778444 bytes