pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

nim: Update to 2.4.0



Module Name:	pkgsrc-wip
Committed By:	arcathrax <ivan%ivanpollak.com@localhost>
Pushed By:	arcathrax
Date:		Sun Nov 1 19:37:05 2026 +0100
Changeset:	be5f103cbfd53523f4e6a96a8174253191c314f7

Added Files:
	nim/DESCR
	nim/Makefile
	nim/PLIST
	nim/buildlink3.mk
	nim/distinfo
	nim/patches/patch-bin_nim-gdb

Log Message:
nim: Update to 2.4.0

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=be5f103cbfd53523f4e6a96a8174253191c314f7

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 nim/DESCR                     |  11 +
 nim/Makefile                  | 128 ++++++++
 nim/PLIST                     | 703 ++++++++++++++++++++++++++++++++++++++++++
 nim/buildlink3.mk             |  14 +
 nim/distinfo                  |  14 +
 nim/patches/patch-bin_nim-gdb |  32 ++
 6 files changed, 902 insertions(+)

diffs:
diff --git a/nim/DESCR b/nim/DESCR
new file mode 100644
index 0000000000..063ab39e40
--- /dev/null
+++ b/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/nim/Makefile b/nim/Makefile
new file mode 100644
index 0000000000..834f4a32ef
--- /dev/null
+++ b/nim/Makefile
@@ -0,0 +1,128 @@
+# $NetBSD: Makefile,v 1.37 2024/05/16 09:59:20 pho Exp $
+
+DISTNAME=	nim-2.4.0
+CATEGORIES=	lang
+MASTER_SITES=	http://nim-lang.org/download/
+EXTRACT_SUFX=	.tar.xz
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://nim-lang.org/
+COMMENT=	The Nim programming language
+LICENSE=	mit
+
+# Taken from:
+# https://github.com/nim-lang/Nim/blob/14991af742d0833503741fd9a0918133d1bcf8a4/koch.nim
+ATLAS_TAG=	aa6fb162006f3015aa84c4305e15cb4d230f5ad6
+SAT_TAG=		9d52513b3c68bfb929dbd687d4fb2836cfee6936
+
+GH_SFX=		.tar.gz
+
+ATLAS_DISTNAME=		atlas-${ATLAS_TAG}
+SAT_DISTNAME=			sat-${SAT_TAG}
+
+ATLAS_DISTFILE=		${ATLAS_DISTNAME}${GH_SFX}
+SAT_DISTFILE=			${SAT_DISTNAME}${GH_SFX}
+
+DISTFILES=		${DEFAULT_DISTFILES}
+DISTFILES+=		${ATLAS_DISTFILE}
+DISTFILES+=		${SAT_DISTFILE}
+
+SITES.${ATLAS_DISTFILE}=	-${MASTER_SITE_GITHUB:=nim-lang/atlas/archive/}${ATLAS_TAG}${GH_SFX}
+SITES.${SAT_DISTFILE}=		-${MASTER_SITE_GITHUB:=nim-lang/sat/archive/}${SAT_TAG}${GH_SFX}
+
+EXTRACT_DIR.${ATLAS_DISTFILE}=		${WRKSRC}
+EXTRACT_DIR.${SAT_DISTFILE}=			${WRKSRC}
+
+#
+# Support NetBSD/aarch64:
+#     https://github.com/nim-lang/Nim/pull/23616
+#
+# Please remove this block once the upstream merges it. Also remove
+# nim-2.0.4+netbsd-aarch64.tar.xz from our LOCAL_PORTS; it is a tarball of
+# updated csources that support this platform.
+#
+.include "../../mk/bsd.prefs.mk"
+.if ${MACHINE_PLATFORM:MNetBSD-*-aarch64} || make(distinfo) || make(makesum) || make(mdi)
+NBAARCH64_DISTFILE=			nim-2.0.4+netbsd-aarch64.tar.xz
+DISTFILES+=				${NBAARCH64_DISTFILE}
+SITES.${NBAARCH64_DISTFILE}=		${MASTER_SITE_LOCAL}
+EXTRACT_DIR.${NBAARCH64_DISTFILE}=	${WRKSRC}/
+.endif
+#
+
+DEPENDS+=	coreutils-[0-9]*:../../sysutils/coreutils
+
+USE_TOOLS+=	bash pax
+REPLACE_BASH+=	bin/nim-gdb
+
+INSTALLATION_DIRS=	bin
+INSTALLATION_DIRS+=	lib/nim/tools/debug
+INSTALLATION_DIRS+=	share/nimble/pkgs/nim-${PKGVERSION_NOREV}/dist/checksums
+INSTALLATION_DIRS+=	share/nim
+INSTALLATION_DIRS+=	include
+INSTALLATION_DIRS+=	lib/nim/nimsuggest
+INSTALLATION_DIRS+=	lib/nim/nimpretty
+
+SUBST_CLASSES+=		paths
+SUBST_STAGE.paths=	pre-configure
+SUBST_FILES.paths=	config/nim.cfg
+SUBST_SED.paths=	-e 's,/usr/pkg,${PREFIX},g'
+
+post-extract:
+	# TODO: csources for cross-building?
+	# ${MV} ${WRKSRC}/csources_v2-${C2VERSION_TAG} ${WRKSRC}/csources_v2
+	${MKDIR} ${WRKSRC}/dist
+	# ${MV} nimble-$_nimbleversion $build_wrksrc/dist/nimble
+	#mv checksums-$_checksumsversion $build_wrksrc/dist/checksums
+	#mkdir -p $build_wrksrc/dist/nimble/dist
+	#cp -r $build_wrksrc/dist/checksums $build_wrksrc/dist/nimble/dist/checksums
+	${MV} ${WRKSRC}/atlas-${ATLAS_TAG} ${WRKSRC}/dist/atlas
+
+	${MKDIR} ${WRKSRC}/dist/atlas/dist
+	${MV} ${WRKSRC}/sat-${SAT_TAG} ${WRKSRC}/dist/atlas/dist/sat
+
+# nim doesn't honor the environment variable LDFLAGS. In order to
+# support PKGSRC_USE_RELRO, we need to translate the flags to compiler
+# options.
+NIM_FLAGS=	${LDFLAGS:S/^/--passL:/}
+NIM_FLAGS=	${CFLAGS:S/^/--passC:/}
+do-build:
+	# build nim csource
+	cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} sh ./build.sh
+	printf '#! %s\nexec %s _=%s/nim/bin/nim %s/nim/bin/nim "$$@"\n' \
+		"${SH}" "${SETENV}" "${PREFIX}" "${PREFIX}" \
+		> ${WRKSRC}/nim-wrapper.sh
+	# build koch
+	cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ./bin/nim c --skipUserCfg --skipParentCfg --parallelBuild:${_MAKE_JOBS_N} koch
+	# build nim
+	cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ./koch boot --parallelBuild:${_MAKE_JOBS_N} -d:release ${NIM_FLAGS}
+	# build tools
+	# TODO: build the 'external' tools, in separate packages
+	# cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ./koch --stable toolsNoExternal --parallelBuild:${_MAKE_JOBS_N} ${NIM_FLAGS}
+	cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ./koch --stable tools --parallelBuild:${_MAKE_JOBS_N} ${NIM_FLAGS}
+	# build niminst
+	cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ./bin/nim compile -d:release --parallelBuild:${_MAKE_JOBS_N} ${NIM_FLAGS} tools/niminst/niminst.nim
+
+do-install:
+	cd ${WRKSRC} && sh ./install.sh ${DESTDIR}${PREFIX}
+	cd ${WRKSRC}/bin && ${PAX} -r -w . ${DESTDIR}${PREFIX}/nim/bin/
+	${INSTALL_SCRIPT} ${WRKSRC}/nim-wrapper.sh ${DESTDIR}${PREFIX}/bin/nim
+	# ${RM} ${DESTDIR}${PREFIX}/nim/bin/nim-gdb.orig
+	${INSTALL} ${WRKSRC}/tools/niminst/niminst ${DESTDIR}${PREFIX}/nim/bin/
+.for x in nim-gdb nim_dbg nimgrep niminst nimpretty nimsuggest testament
+	cd ${DESTDIR}${PREFIX}/bin && ${LN} -sf ${DESTDIR}${PREFIX}/nim/bin/${x} ${x}
+.endfor
+	cd ${WRKSRC}/tools/debug/ && ${PAX} -r -w . ${DESTDIR}${PREFIX}/lib/nim/tools/debug/
+
+	# This is imported from share/nimble/pkgs/nim-*/compiler/nimblecmd.nim.
+	cd ${WRKSRC}/dist/checksums/ && ${PAX} -r -w . ${DESTDIR}${PREFIX}/share/nimble/pkgs/nim-${PKGVERSION_NOREV}/dist/checksums/
+.for d in nimsuggest nimpretty
+	cd ${WRKSRC}/${d} && ${PAX} -r -w . ${DESTDIR}${PREFIX}/lib/nim/${d}/
+	${LN} -sf ${DESTDIR}${PREFIX}/lib/nim/${d} ${DESTDIR}${PREFIX}/share/nim/${d}
+.endfor
+
+do-test:
+	cd ${WRKSRC} && ./bin/nim compile koch.nim
+	cd ${WRKSRC} && LD_LIBRARY_PATH=${PREFIX}/lib ./koch test all --parallelBuild:${_MAKE_JOBS_N}
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/nim/PLIST b/nim/PLIST
new file mode 100644
index 0000000000..eaa468d25d
--- /dev/null
+++ b/nim/PLIST
@@ -0,0 +1,703 @@
+@comment $NetBSD$
+bin/nim
+bin/nim-gdb
+bin/nim_dbg
+bin/nimgrep
+bin/niminst
+bin/nimpretty
+bin/nimsuggest
+bin/testament
+lib/nim/nimpretty/nimpretty.nim
+lib/nim/nimpretty/nimpretty.nim.cfg
+lib/nim/nimpretty/tester.nim
+lib/nim/nimpretty/tests/exhaustive.nim
+lib/nim/nimpretty/tests/expected/exhaustive.nim
+lib/nim/nimpretty/tests/expected/simple.nim
+lib/nim/nimpretty/tests/expected/simple2.nim
+lib/nim/nimpretty/tests/expected/simple3.nim
+lib/nim/nimpretty/tests/expected/simple4.nim
+lib/nim/nimpretty/tests/expected/tevil_spaces.nim
+lib/nim/nimpretty/tests/expected/wrong_ind.nim
+lib/nim/nimpretty/tests/simple.nim
+lib/nim/nimpretty/tests/simple2.nim
+lib/nim/nimpretty/tests/simple3.nim
+lib/nim/nimpretty/tests/simple4.nim
+lib/nim/nimpretty/tests/tevil_spaces.nim
+lib/nim/nimpretty/tests/wrong_ind.nim
+lib/nim/nimsuggest/config.nims
+lib/nim/nimsuggest/crashtester.nim
+lib/nim/nimsuggest/nimsuggest.nim
+lib/nim/nimsuggest/nimsuggest.nim.cfg
+lib/nim/nimsuggest/nimsuggest.nimble
+lib/nim/nimsuggest/procmonitor.nim
+lib/nim/nimsuggest/sexp.nim
+lib/nim/nimsuggest/tester.nim
+lib/nim/nimsuggest/tests/fixtures/mclass_macro.nim
+lib/nim/nimsuggest/tests/fixtures/mdep_v1.nim
+lib/nim/nimsuggest/tests/fixtures/mdep_v2.nim
+lib/nim/nimsuggest/tests/fixtures/mfakeassert.nim
+lib/nim/nimsuggest/tests/fixtures/minclude_import.nim
+lib/nim/nimsuggest/tests/fixtures/minclude_include.nim
+lib/nim/nimsuggest/tests/fixtures/minclude_types.nim
+lib/nim/nimsuggest/tests/fixtures/mstrutils.nim
+lib/nim/nimsuggest/tests/fixtures/munknown_file.nim
+lib/nim/nimsuggest/tests/module_20265.nim
+lib/nim/nimsuggest/tests/module_26307.nim
+lib/nim/nimsuggest/tests/t20265_1.nim
+lib/nim/nimsuggest/tests/t20265_2.nim
+lib/nim/nimsuggest/tests/t20440.nim
+lib/nim/nimsuggest/tests/t20440.nims
+lib/nim/nimsuggest/tests/t21185.nim
+lib/nim/nimsuggest/tests/t21923.nim
+lib/nim/nimsuggest/tests/t22448.nim
+lib/nim/nimsuggest/tests/t26307.nim
+lib/nim/nimsuggest/tests/taccent_highlight.nim
+lib/nim/nimsuggest/tests/tarrowcrash.nim
+lib/nim/nimsuggest/tests/tcallstrlit_highlight.nim
+lib/nim/nimsuggest/tests/tcase.nim
+lib/nim/nimsuggest/tests/tchk1.nim
+lib/nim/nimsuggest/tests/tchk2.nim
+lib/nim/nimsuggest/tests/tchk_compiles.nim
+lib/nim/nimsuggest/tests/tcon1.nim
+lib/nim/nimsuggest/tests/tcon_variable.nim
+lib/nim/nimsuggest/tests/tconcept1.nim
+lib/nim/nimsuggest/tests/tconcept2.nim
+lib/nim/nimsuggest/tests/tconfigerror.nim
+lib/nim/nimsuggest/tests/tconfigerror.nims
+lib/nim/nimsuggest/tests/tcursor_at_end.nim
+lib/nim/nimsuggest/tests/tdef1.nim
+lib/nim/nimsuggest/tests/tdef2.nim
+lib/nim/nimsuggest/tests/tdef_forward.nim
+lib/nim/nimsuggest/tests/tdef_let.nim
+lib/nim/nimsuggest/tests/tdot1.nim
+lib/nim/nimsuggest/tests/tdot2.nim
+lib/nim/nimsuggest/tests/tdot3.nim
+lib/nim/nimsuggest/tests/tdot4.nim
+lib/nim/nimsuggest/tests/tenum_field.nim
+lib/nim/nimsuggest/tests/tfatal1.nim
+lib/nim/nimsuggest/tests/tgeneric_highlight.nim
+lib/nim/nimsuggest/tests/tgenerics.nim
+lib/nim/nimsuggest/tests/tic.nim
+lib/nim/nimsuggest/tests/timport1.nim
+lib/nim/nimsuggest/tests/timport2.nim
+lib/nim/nimsuggest/tests/timport3.nim
+lib/nim/nimsuggest/tests/timport_highlight.nim
+lib/nim/nimsuggest/tests/tinclude.nim
+lib/nim/nimsuggest/tests/tmacro_highlight.nim
+lib/nim/nimsuggest/tests/tmaxmemory.nim
+lib/nim/nimsuggest/tests/tnimscript_project.nims
+lib/nim/nimsuggest/tests/tno_deref.nim
+lib/nim/nimsuggest/tests/tobj_highlight.nim
+lib/nim/nimsuggest/tests/top_highlight.nim
+lib/nim/nimsuggest/tests/tqualified_highlight.nim
+lib/nim/nimsuggest/tests/tsetter_highlight.nim
+lib/nim/nimsuggest/tests/tsi_highlight.nim
+lib/nim/nimsuggest/tests/tsug_accquote.nim
+lib/nim/nimsuggest/tests/tsug_enum.nim
+lib/nim/nimsuggest/tests/tsug_pragmas.nim
+lib/nim/nimsuggest/tests/tsug_recursive.nim
+lib/nim/nimsuggest/tests/tsug_regression.nim
+lib/nim/nimsuggest/tests/tsug_template.nim
+lib/nim/nimsuggest/tests/tsug_typedecl.nim
+lib/nim/nimsuggest/tests/ttempl_inst.nim
+lib/nim/nimsuggest/tests/ttemplate_highlight.nim
+lib/nim/nimsuggest/tests/ttype_decl.nim
+lib/nim/nimsuggest/tests/ttype_highlight.nim
+lib/nim/nimsuggest/tests/tunknown_file.nim
+lib/nim/nimsuggest/tests/tunknown_file_recompile.nim
+lib/nim/nimsuggest/tests/tuse.nim
+lib/nim/nimsuggest/tests/tuse_enum.nim
+lib/nim/nimsuggest/tests/tuse_structure.nim
+lib/nim/nimsuggest/tests/tv3.nim
+lib/nim/nimsuggest/tests/tv3_con.nim
+lib/nim/nimsuggest/tests/tv3_definition.nim
+lib/nim/nimsuggest/tests/tv3_forward_definition.nim
+lib/nim/nimsuggest/tests/tv3_generic_multiple_defs.nim
+lib/nim/nimsuggest/tests/tv3_generic_uninstantiated_defs.nim
+lib/nim/nimsuggest/tests/tv3_generics.nim
+lib/nim/nimsuggest/tests/tv3_globalSymbols.nim
+lib/nim/nimsuggest/tests/tv3_import.nim
+lib/nim/nimsuggest/tests/tv3_outline.nim
+lib/nim/nimsuggest/tests/tv3_outline2.nim
+lib/nim/nimsuggest/tests/tv3_typeDefinition.nim
+lib/nim/nimsuggest/tests/twithin_macro.nim
+lib/nim/nimsuggest/tests/twithin_macro_prefix.nim
+lib/nim/tools/debug/customdebugtype.nim
+lib/nim/tools/debug/nim-gdb.py
+lib/nim/tools/debug/nimlldb.py
+nim/bin/.nifler.nimony-commit
+nim/bin/.nifmake.nimony-commit
+nim/bin/atlas
+nim/bin/nifler
+nim/bin/nifmake
+nim/bin/nim
+nim/bin/nim-gdb
+nim/bin/nim_dbg
+nim/bin/nimble
+nim/bin/nimgrep
+nim/bin/niminst
+nim/bin/nimpretty
+nim/bin/nimsuggest
+nim/bin/testament
+nim/compiler/aliasanalysis.nim
+nim/compiler/aliases.nim
+nim/compiler/ast.nim
+nim/compiler/ast2nif.nim
+nim/compiler/astalgo.nim
+nim/compiler/astdef.nim
+nim/compiler/astmsgs.nim
+nim/compiler/astyaml.nim
+nim/compiler/bitsets.nim
+nim/compiler/btrees.nim
+nim/compiler/cbuilderbase.nim
+nim/compiler/cbuilderdecls.nim
+nim/compiler/cbuilderexprs.nim
+nim/compiler/cbuilderstmts.nim
+nim/compiler/ccgcalls.nim
+nim/compiler/ccgexprs.nim
+nim/compiler/ccgliterals.nim
+nim/compiler/ccgmerge_unused.nim
+nim/compiler/ccgreset.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/closureiters.nim
+nim/compiler/cmdlinehelper.nim
+nim/compiler/cnif.nim
+nim/compiler/commands.nim
+nim/compiler/compiler.nimble
+nim/compiler/concepts.nim
+nim/compiler/concurrency.nim
+nim/compiler/condsyms.nim
+nim/compiler/debuginfo.nim
+nim/compiler/debugutils.nim
+nim/compiler/depends.nim
+nim/compiler/deps.nim
+nim/compiler/dfa.nim
+nim/compiler/docgen.nim
+nim/compiler/docgen2.nim
+nim/compiler/enumtostr.nim
+nim/compiler/errorhandling.nim
+nim/compiler/evaltempl.nim
+nim/compiler/expanddefaults.nim
+nim/compiler/extccomp.nim
+nim/compiler/filter_tmpl.nim
+nim/compiler/filters.nim
+nim/compiler/gorgeimpl.nim
+nim/compiler/guards.nim
+nim/compiler/hlo.nim
+nim/compiler/ic/enum2nif.nim
+nim/compiler/ic/replayer.nim
+nim/compiler/ic/sharedcounters.nim
+nim/compiler/icbif.nim
+nim/compiler/icconfig.nim
+nim/compiler/icmodnames.nim
+nim/compiler/icnifcore.nim
+nim/compiler/icprof.nim
+nim/compiler/idents.nim
+nim/compiler/idetools.nim
+nim/compiler/importer.nim
+nim/compiler/index.nim
+nim/compiler/injectdestructors.nim
+nim/compiler/inliner.nim
+nim/compiler/installer.ini
+nim/compiler/int128.nim
+nim/compiler/isolation_check.nim
+nim/compiler/itemids.nim
+nim/compiler/jsgen.nim
+nim/compiler/jstypes.nim
+nim/compiler/lambdalifting.nim
+nim/compiler/layeredtable.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/llstream.nim
+nim/compiler/lookups.nim
+nim/compiler/lowerings.nim
+nim/compiler/macrocacheimpl.nim
+nim/compiler/magicsys.nim
+nim/compiler/main.nim
+nim/compiler/mangleutils.nim
+nim/compiler/mapping.txt
+nim/compiler/modulegraphs.nim
+nim/compiler/modulepaths.nim
+nim/compiler/modules.nim
+nim/compiler/msgs.nim
+nim/compiler/nifbackend.nim
+nim/compiler/nifgen.nim
+nim/compiler/nifstreams.nim
+nim/compiler/nilcheck.nim
+nim/compiler/nim.cfg
+nim/compiler/nim.nim
+nim/compiler/nimblecmd.nim
+nim/compiler/nimconf.nim
+nim/compiler/nimeval.nim
+nim/compiler/nimlexbase.nim
+nim/compiler/nimpaths.nim
+nim/compiler/nimsets.nim
+nim/compiler/nodejs.nim
+nim/compiler/nodekinds.nim
+nim/compiler/nversion.nim
+nim/compiler/optimizer.nim
+nim/compiler/options.nim
+nim/compiler/packagehandling.nim
+nim/compiler/packages.nim
+nim/compiler/parampatterns.nim
+nim/compiler/parser.nim
+nim/compiler/passaux.nim
+nim/compiler/passes.nim
+nim/compiler/pathutils.nim
+nim/compiler/patterns.nim
+nim/compiler/pipelines.nim
+nim/compiler/pipelineutils.nim
+nim/compiler/platform.nim
+nim/compiler/plugins/active.nim
+nim/compiler/plugins/customast.nim
+nim/compiler/plugins/itersgen.nim
+nim/compiler/plugins/locals.nim
+nim/compiler/plugins/plugins.nimble
+nim/compiler/pluginsupport.nim
+nim/compiler/pragmas.nim
+nim/compiler/prefixmatches.nim
+nim/compiler/procfind.nim
+nim/compiler/pushpoppragmas.nim
+nim/compiler/readme.md
+nim/compiler/renderer.nim
+nim/compiler/renderverbatim.nim
+nim/compiler/reorder.nim
+nim/compiler/rodutils.nim
+nim/compiler/ropes.nim
+nim/compiler/saturate.nim
+nim/compiler/scriptconfig.nim
+nim/compiler/sem.nim
+nim/compiler/semcall.nim
+nim/compiler/semdata.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/semobjconstr.nim
+nim/compiler/semparallel.nim
+nim/compiler/sempass2.nim
+nim/compiler/semstmts.nim
+nim/compiler/semstrictfuncs.nim
+nim/compiler/semtempl.nim
+nim/compiler/semtypes.nim
+nim/compiler/semtypinst.nim
+nim/compiler/sighashes.nim
+nim/compiler/sigmatch.nim
+nim/compiler/sinkparameter_inference.nim
+nim/compiler/sizealignoffsetimpl.nim
+nim/compiler/sourcemap.nim
+nim/compiler/spawn.nim
+nim/compiler/suggest.nim
+nim/compiler/suggestsymdb.nim
+nim/compiler/syntaxes.nim
+nim/compiler/tccgen.nim
+nim/compiler/transf.nim
+nim/compiler/trees.nim
+nim/compiler/treetab.nim
+nim/compiler/typeallowed.nim
+nim/compiler/typekeys.nim
+nim/compiler/types.nim
+nim/compiler/typesrenderer.nim
+nim/compiler/varpartitions.nim
+nim/compiler/vm.nim
+nim/compiler/vmconv.nim
+nim/compiler/vmdef.nim
+nim/compiler/vmdeps.nim
+nim/compiler/vmffi.nim
+nim/compiler/vmgen.nim
+nim/compiler/vmhooks.nim
+nim/compiler/vmlayout.nim
+nim/compiler/vmmarshal.nim
+nim/compiler/vmmem.nim
+nim/compiler/vmops.nim
+nim/compiler/vmprofiler.nim
+nim/compiler/vmvalue.nim
+nim/compiler/vtables.nim
+nim/compiler/wordrecg.nim
+nim/config/config.nims
+nim/config/nim.cfg
+nim/config/nimdoc.cfg
+nim/config/nimdoc.tex.cfg
+nim/config/rename.rules.cfg
+nim/doc/advopt.txt
+nim/doc/basicopt.txt
+nim/doc/nimdoc.cls
+nim/doc/nimdoc.css
+nim/lib/arch/x86/amd64.S
+nim/lib/arch/x86/i386.S
+nim/lib/core/hotcodereloading.nim
+nim/lib/core/locks.nim
+nim/lib/core/macrocache.nim
+nim/lib/core/macros.nim
+nim/lib/core/rlocks.nim
+nim/lib/core/typeinfo.nim
+nim/lib/cycle.h
+nim/lib/deprecated/pure/future.nim
+nim/lib/deprecated/pure/mersenne.nim
+nim/lib/deprecated/pure/ospaths.nim
+nim/lib/deprecated/pure/oswalkdir.nim
+nim/lib/deprecated/pure/sums.nim
+nim/lib/deps.txt
+nim/lib/experimental/diff.nim
+nim/lib/genode/alloc.nim
+nim/lib/genode/constructibles.nim
+nim/lib/genode/entrypoints.nim
+nim/lib/genode/env.nim
+nim/lib/genode/signals.nim
+nim/lib/genode_cpp/signals.h
+nim/lib/genode_cpp/syslocks.h
+nim/lib/genode_cpp/threads.h
+nim/lib/impure/nre.nim
+nim/lib/impure/nre/private/util.nim
+nim/lib/impure/rdstdin.nim
+nim/lib/impure/re.nim
+nim/lib/js/asyncjs.nim
+nim/lib/js/dom.nim
+nim/lib/js/jsconsole.nim
+nim/lib/js/jscore.nim
+nim/lib/js/jsffi.nim
+nim/lib/js/jsre.nim
+nim/lib/nimbase.h
+nim/lib/nimhcr.nim
+nim/lib/nimhcr.nim.cfg
+nim/lib/nimrtl.nim
+nim/lib/nimrtl.nim.cfg
+nim/lib/packages/docutils/dochelpers.nim
+nim/lib/packages/docutils/docutils.nimble.old
+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/packages/docutils/rstidx.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/posix_freertos_consts.nim
+nim/lib/posix/posix_haiku.nim
+nim/lib/posix/posix_linux_amd64.nim
+nim/lib/posix/posix_linux_amd64_consts.nim
+nim/lib/posix/posix_macos_amd64.nim
+nim/lib/posix/posix_nintendoswitch.nim
+nim/lib/posix/posix_nintendoswitch_consts.nim
+nim/lib/posix/posix_openbsd_amd64.nim
+nim/lib/posix/posix_other.nim
+nim/lib/posix/posix_other_consts.nim
+nim/lib/posix/posix_utils.nim
+nim/lib/posix/termios.nim
+nim/lib/pure/algorithm.nim
+nim/lib/pure/async.nim
+nim/lib/pure/asyncdispatch.nim
+nim/lib/pure/asyncdispatch.nim.cfg
+nim/lib/pure/asyncfile.nim
+nim/lib/pure/asyncfutures.nim
+nim/lib/pure/asynchttpserver.nim
+nim/lib/pure/asyncmacro.nim
+nim/lib/pure/asyncnet.nim
+nim/lib/pure/asyncstreams.nim
+nim/lib/pure/base64.nim
+nim/lib/pure/bitops.nim
+nim/lib/pure/browsers.nim
+nim/lib/pure/cgi.nim
+nim/lib/pure/collections/chains.nim
+nim/lib/pure/collections/critbits.nim
+nim/lib/pure/collections/deques.nim
+nim/lib/pure/collections/hashcommon.nim
+nim/lib/pure/collections/heapqueue.nim
+nim/lib/pure/collections/intsets.nim
+nim/lib/pure/collections/lists.nim
+nim/lib/pure/collections/rtarrays.nim
+nim/lib/pure/collections/sequtils.nim
+nim/lib/pure/collections/setimpl.nim
+nim/lib/pure/collections/sets.nim
+nim/lib/pure/collections/sharedlist.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/atomics.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/cstrutils.nim
+nim/lib/pure/distros.nim
+nim/lib/pure/dynlib.nim
+nim/lib/pure/encodings.nim
+nim/lib/pure/endians.nim
+nim/lib/pure/fenv.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/includes/unicode_ranges.nim
+nim/lib/pure/ioselects/ioselectors_epoll.nim
+nim/lib/pure/ioselects/ioselectors_kqueue.nim
+nim/lib/pure/ioselects/ioselectors_poll.nim
+nim/lib/pure/ioselects/ioselectors_select.nim
+nim/lib/pure/json.nim
+nim/lib/pure/lenientops.nim
+nim/lib/pure/lexbase.nim
+nim/lib/pure/logging.nim
+nim/lib/pure/marshal.nim
+nim/lib/pure/math.nim
+nim/lib/pure/md5.nim
+nim/lib/pure/memfiles.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/oids.nim
+nim/lib/pure/options.nim
+nim/lib/pure/os.nim
+nim/lib/pure/osproc.nim
+nim/lib/pure/parsecfg.nim
+nim/lib/pure/parsecsv.nim
+nim/lib/pure/parsejson.nim
+nim/lib/pure/parseopt.nim
+nim/lib/pure/parsesql.nim
+nim/lib/pure/parseutils.nim
+nim/lib/pure/parsexml.nim
+nim/lib/pure/pathnorm.nim
+nim/lib/pure/pegs.nim
+nim/lib/pure/prelude.nim
+nim/lib/pure/random.nim
+nim/lib/pure/rationals.nim
+nim/lib/pure/reservedmem.nim
+nim/lib/pure/ropes.nim
+nim/lib/pure/segfaults.nim
+nim/lib/pure/selectors.nim
+nim/lib/pure/ssl_certs.nim
+nim/lib/pure/ssl_config.nim
+nim/lib/pure/stats.nim
+nim/lib/pure/streams.nim
+nim/lib/pure/streamwrapper.nim
+nim/lib/pure/strformat.nim
+nim/lib/pure/strmisc.nim
+nim/lib/pure/strscans.nim
+nim/lib/pure/strtabs.nim
+nim/lib/pure/strutils.nim
+nim/lib/pure/sugar.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/volatile.nim
+nim/lib/pure/xmlparser.nim
+nim/lib/pure/xmltree.nim
+nim/lib/std/appdirs.nim
+nim/lib/std/assertions.nim
+nim/lib/std/cmdline.nim
+nim/lib/std/compilesettings.nim
+nim/lib/std/decls.nim
+nim/lib/std/dirs.nim
+nim/lib/std/editdistance.nim
+nim/lib/std/effecttraits.nim
+nim/lib/std/enumerate.nim
+nim/lib/std/enumutils.nim
+nim/lib/std/envvars.nim
+nim/lib/std/exitprocs.nim
+nim/lib/std/files.nim
+nim/lib/std/formatfloat.nim
+nim/lib/std/genasts.nim
+nim/lib/std/importutils.nim
+nim/lib/std/isolation.nim
+nim/lib/std/jsbigints.nim
+nim/lib/std/jsfetch.nim
+nim/lib/std/jsformdata.nim
+nim/lib/std/jsheaders.nim
+nim/lib/std/jsonutils.nim
+nim/lib/std/logic.nim
+nim/lib/std/monotimes.nim
+nim/lib/std/nre2.nim
+nim/lib/std/nre2.nims
+nim/lib/std/objectdollar.nim
+nim/lib/std/oserrors.nim
+nim/lib/std/outparams.nim
+nim/lib/std/packedsets.nim
+nim/lib/std/paths.nim
+nim/lib/std/private/asciitables.nim
+nim/lib/std/private/bitops_utils.nim
+nim/lib/std/private/decode_helpers.nim
+nim/lib/std/private/digitsutils.nim
+nim/lib/std/private/dragonbox.nim
+nim/lib/std/private/gitutils.nim
+nim/lib/std/private/globs.nim
+nim/lib/std/private/jsutils.nim
+nim/lib/std/private/miscdollars.nim
+nim/lib/std/private/ntpath.nim
+nim/lib/std/private/osappdirs.nim
+nim/lib/std/private/oscommon.nim
+nim/lib/std/private/osdirs.nim
+nim/lib/std/private/osfiles.nim
+nim/lib/std/private/ospaths2.nim
+nim/lib/std/private/osseps.nim
+nim/lib/std/private/ossymlinks.nim
+nim/lib/std/private/schubfach.nim
+nim/lib/std/private/since.nim
+nim/lib/std/private/strimpl.nim
+nim/lib/std/private/syslocks.nim
+nim/lib/std/private/threadtypes.nim
+nim/lib/std/private/underscored_calls.nim
+nim/lib/std/private/win_getsysteminfo.nim
+nim/lib/std/private/win_setenv.nim
+nim/lib/std/setutils.nim
+nim/lib/std/sha1.nim
+nim/lib/std/socketstreams.nim
+nim/lib/std/stackframes.nim
+nim/lib/std/staticos.nim
+nim/lib/std/strbasics.nim
+nim/lib/std/symlinks.nim
+nim/lib/std/syncio.nim
+nim/lib/std/sysatomics.nim
+nim/lib/std/sysrand.nim
+nim/lib/std/tasks.nim
+nim/lib/std/tempfiles.nim
+nim/lib/std/time_t.nim
+nim/lib/std/typedthreads.nim
+nim/lib/std/varints.nim
+nim/lib/std/vmutils.nim
+nim/lib/std/widestrs.nim
+nim/lib/std/with.nim
+nim/lib/std/wordwrap.nim
+nim/lib/std/wrapnils.nim
+nim/lib/stdlib.nimble
+nim/lib/system.nim
+nim/lib/system/alloc.nim
+nim/lib/system/ansi_c.nim
+nim/lib/system/arc.nim
+nim/lib/system/arithmetics.nim
+nim/lib/system/assign.nim
+nim/lib/system/avltree.nim
+nim/lib/system/basic_types.nim
+nim/lib/system/bitmasks.nim
+nim/lib/system/cellseqs_v1.nim
+nim/lib/system/cellseqs_v2.nim
+nim/lib/system/cellsets.nim
+nim/lib/system/cgprocs.nim
+nim/lib/system/channels_builtin.nim
+nim/lib/system/chcks.nim
+nim/lib/system/comparisons.nim
+nim/lib/system/compilation.nim
+nim/lib/system/coro_detection.nim
+nim/lib/system/countbits_impl.nim
+nim/lib/system/ctypes.nim
+nim/lib/system/cyclebreaker.nim
+nim/lib/system/deepcopy.nim
+nim/lib/system/dollars.nim
+nim/lib/system/dyncalls.nim
+nim/lib/system/embedded.nim
+nim/lib/system/exceptions.nim
+nim/lib/system/excpt.nim
+nim/lib/system/fatal.nim
+nim/lib/system/formatfloat.nim
+nim/lib/system/gc.nim
+nim/lib/system/gc_common.nim
+nim/lib/system/gc_hooks.nim
+nim/lib/system/gc_interface.nim
+nim/lib/system/gc_ms.nim
+nim/lib/system/gc_regions.nim
+nim/lib/system/hti.nim
+nim/lib/system/inclrtl.nim
+nim/lib/system/indexerrors.nim
+nim/lib/system/indices.nim
+nim/lib/system/integerops.nim
+nim/lib/system/iterators.nim
+nim/lib/system/iterators_1.nim
+nim/lib/system/jssys.nim
+nim/lib/system/memalloc.nim
+nim/lib/system/memory.nim
+nim/lib/system/memtracker.nim
+nim/lib/system/mm/boehm.nim
+nim/lib/system/mm/go.nim
+nim/lib/system/mm/malloc.nim
+nim/lib/system/mm/none.nim
+nim/lib/system/mmdisp.nim
+nim/lib/system/nimscript.nim
+nim/lib/system/orc.nim
+nim/lib/system/osalloc.nim
+nim/lib/system/platforms.nim
+nim/lib/system/profiler.nim
+nim/lib/system/ptrarith.nim
+nim/lib/system/rawquits.nim
+nim/lib/system/repr.nim
+nim/lib/system/repr_impl.nim
+nim/lib/system/repr_v2.nim
+nim/lib/system/reprjs.nim
+nim/lib/system/rwlocks.nim
+nim/lib/system/seqs_v2.nim
+nim/lib/system/seqs_v2_reimpl.nim
+nim/lib/system/setops.nim
+nim/lib/system/sets.nim
+nim/lib/system/stacktraces.nim
+nim/lib/system/strmantle.nim
+nim/lib/system/strs_v2.nim
+nim/lib/system/strs_v3.nim
+nim/lib/system/sysmem.nim
+nim/lib/system/sysstr.nim
+nim/lib/system/threadids.nim
+nim/lib/system/threadimpl.nim
+nim/lib/system/threadlocalstorage.nim
+nim/lib/system/timers.nim
+nim/lib/system/yrc.nim
+nim/lib/system/yrc_opt_proof.lean
+nim/lib/system/yrc_proof.lean
+nim/lib/system/yrc_proof.tla
+nim/lib/system/yrc_tarjan_proof.lean
+nim/lib/system_overview.rst
+nim/lib/windows/registry.nim
+nim/lib/windows/winlean.nim
+nim/lib/wrappers/linenoise/LICENSE.txt
+nim/lib/wrappers/linenoise/README.markdown
+nim/lib/wrappers/linenoise/linenoise.c
+nim/lib/wrappers/linenoise/linenoise.h
+nim/lib/wrappers/linenoise/linenoise.nim
+nim/lib/wrappers/openssl.nim
+nim/lib/wrappers/pcre.nim
+nim/lib/wrappers/tinyc.nim
+nim/nim.nimble
+share/nim/nimpretty
+share/nim/nimsuggest
+share/nimble/pkgs/${PKGNAME}/dist/checksums/README.md
+share/nimble/pkgs/${PKGNAME}/dist/checksums/checksums.nimble
+share/nimble/pkgs/${PKGNAME}/dist/checksums/src/checksums/bcrypt.nim
+share/nimble/pkgs/${PKGNAME}/dist/checksums/src/checksums/docutils.nim
+share/nimble/pkgs/${PKGNAME}/dist/checksums/src/checksums/md5.nim
+share/nimble/pkgs/${PKGNAME}/dist/checksums/src/checksums/private/sha_utils.nim
+share/nimble/pkgs/${PKGNAME}/dist/checksums/src/checksums/sha1.nim
+share/nimble/pkgs/${PKGNAME}/dist/checksums/src/checksums/sha2.nim
+share/nimble/pkgs/${PKGNAME}/dist/checksums/src/checksums/sha3.nim
+share/nimble/pkgs/${PKGNAME}/dist/checksums/tests/config.nims
+share/nimble/pkgs/${PKGNAME}/dist/checksums/tests/crypto/tbcrypt.nim
+share/nimble/pkgs/${PKGNAME}/dist/checksums/tests/crypto/tmd5.nim
+share/nimble/pkgs/${PKGNAME}/dist/checksums/tests/crypto/tsha1.nim
+share/nimble/pkgs/${PKGNAME}/dist/checksums/tests/crypto/tsha2.nim
+share/nimble/pkgs/${PKGNAME}/dist/checksums/tests/crypto/tsha3.nim
+@pkgdir nim/data
+@pkgdir include
diff --git a/nim/buildlink3.mk b/nim/buildlink3.mk
new file mode 100644
index 0000000000..acd5b9ef80
--- /dev/null
+++ b/nim/buildlink3.mk
@@ -0,0 +1,14 @@
+# $NetBSD: buildlink3.mk,v 1.5 2024/04/22 13:23:55 nikita Exp $
+
+BUILDLINK_TREE+=	nim
+
+.if !defined(NIM_BUILDLINK3_MK)
+NIM_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.nim+=	nim>=2.0.4
+BUILDLINK_ABI_DEPENDS.nim+=	nim>=2.0.4
+BUILDLINK_PKGSRCDIR.nim?=	../../lang/nim
+
+.endif # NIM_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-nim
diff --git a/nim/distinfo b/nim/distinfo
new file mode 100644
index 0000000000..34ecb267c5
--- /dev/null
+++ b/nim/distinfo
@@ -0,0 +1,14 @@
+$NetBSD$
+
+BLAKE2s (atlas-aa6fb162006f3015aa84c4305e15cb4d230f5ad6.tar.gz) = ea416dc909621edec9b06fa0cc510e3248b9638331055d5b9faaa1dce0f0f0d9
+SHA512 (atlas-aa6fb162006f3015aa84c4305e15cb4d230f5ad6.tar.gz) = 66c37492872dc47105f9c40d3f0c7be105b69e089293996eb9b0ccf441248dce351be2fa8bfbc9ecd7914fd2a6d66f64d83f3280f32561a03a6b4f4d581e7b0b
+Size (atlas-aa6fb162006f3015aa84c4305e15cb4d230f5ad6.tar.gz) = 160714 bytes
+BLAKE2s (nim-2.0.4+netbsd-aarch64.tar.xz) = 51931047f5ed0d2268f0029338b4dc7220a6b10b906bdde904b4f67fbbe7470f
+SHA512 (nim-2.0.4+netbsd-aarch64.tar.xz) = 914c370dccda9e9a06d02e7fc29473b7d0cfcdfde8de41ddaddd149ea17700168314b0eaea0cef79c4e3472346832f279a18f5225e7b12206e47f48155d01bbd
+Size (nim-2.0.4+netbsd-aarch64.tar.xz) = 3393348 bytes
+BLAKE2s (nim-2.4.0.tar.xz) = 79eda24bceb44181b3ccc1828cb38720b3e50c0b16735a2acb1cda6be123aba2
+SHA512 (nim-2.4.0.tar.xz) = 75aaab6903dd2bb7766be722e2a765ffccd035f754e6f08af5049b9ba3cffa2c64a96ad0ff71602daffe4f6ccbec3aa7010f06ba8bd807c44897c9613a2bb550
+Size (nim-2.4.0.tar.xz) = 16957544 bytes
+BLAKE2s (sat-9d52513b3c68bfb929dbd687d4fb2836cfee6936.tar.gz) = e61713da1b17aea1a345df71dc22cd8ec2058623546668a7b9af6db501d1a224
+SHA512 (sat-9d52513b3c68bfb929dbd687d4fb2836cfee6936.tar.gz) = 6dff5f65bb7aaa7c59b7c832e760b35ba6f9aebbc53ef6e4d87ef3dde6308458cd6c27988c309f60f8eca9019e135fb34981704310cb55b5dd5c84de1641b20d
+Size (sat-9d52513b3c68bfb929dbd687d4fb2836cfee6936.tar.gz) = 10247 bytes
diff --git a/nim/patches/patch-bin_nim-gdb b/nim/patches/patch-bin_nim-gdb
new file mode 100644
index 0000000000..74569a3555
--- /dev/null
+++ b/nim/patches/patch-bin_nim-gdb
@@ -0,0 +1,32 @@
+$NetBSD: patch-bin_nim-gdb,v 1.1 2020/06/21 07:43:29 ryoon Exp $
+
+--- bin/nim-gdb.orig	2020-06-20 10:43:35.534552652 +0000
++++ bin/nim-gdb
+@@ -0,0 +1,27 @@
++#!/usr/bin/env bash
++
++# Exit if anything fails
++set -e
++
++which nim > /dev/null || (echo "nim not in PATH"; exit 1)
++which gdb > /dev/null || (echo "gdb not in PATH"; exit 1)
++
++if [[ "$(uname -s)" == "Darwin" || "$(uname -s)" == *"BSD" ]]; then
++  which greadlink > /dev/null || (echo "readlink not in PATH. Please install coreutils from homebrew."; exit 1)
++  READLINK=greadlink
++else
++  which readlink > /dev/null || (echo "readlink not in PATH."; exit 1)
++  READLINK=readlink
++fi
++
++# Find out where the pretty printer Python module is
++NIM_SYSROOT=$(dirname $(dirname $($READLINK -e $(which nim))))
++GDB_PYTHON_MODULE_PATH="$NIM_SYSROOT/tools/nim-gdb.py"
++
++# Run GDB with the additional arguments that load the pretty printers
++# Set the environment variable `NIM_GDB` to overwrite the call to a
++# different/specific command (defaults to `gdb`).
++NIM_GDB="${NIM_GDB:-gdb}"
++# exec replaces the new process of bash with gdb. It is always good to
++# have fewer processes.
++exec "${NIM_GDB}" -eval-command="source $GDB_PYTHON_MODULE_PATH" "$@"


Home | Main Index | Thread Index | Old Index