pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/lang/nim
Module Name: pkgsrc
Committed By: wiz
Date: Sat Nov 7 22:43:07 UTC 2026
Modified Files:
pkgsrc/lang/nim: Makefile PLIST distinfo
Added Files:
pkgsrc/lang/nim/patches:
patch-dist_nimble_src_nimblepkg_downloadnim.nim
patch-dist_nimble_vendor_chronos_chronos_sendfile.nim
Removed Files:
pkgsrc/lang/nim/patches: patch-bin_nim-gdb
Log Message:
nim: update to 2.4.0.
Provided via wip by arcathrax with help from ci4ic4.
2 years of development.
To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 pkgsrc/lang/nim/Makefile
cvs rdiff -u -r1.20 -r1.21 pkgsrc/lang/nim/PLIST
cvs rdiff -u -r1.30 -r1.31 pkgsrc/lang/nim/distinfo
cvs rdiff -u -r1.1 -r0 pkgsrc/lang/nim/patches/patch-bin_nim-gdb
cvs rdiff -u -r0 -r1.1 \
pkgsrc/lang/nim/patches/patch-dist_nimble_src_nimblepkg_downloadnim.nim \
pkgsrc/lang/nim/patches/patch-dist_nimble_vendor_chronos_chronos_sendfile.nim
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/lang/nim/Makefile
diff -u pkgsrc/lang/nim/Makefile:1.37 pkgsrc/lang/nim/Makefile:1.38
--- pkgsrc/lang/nim/Makefile:1.37 Thu May 16 09:59:20 2024
+++ pkgsrc/lang/nim/Makefile Sat Nov 7 22:43:07 2026
@@ -1,6 +1,29 @@
-# $NetBSD: Makefile,v 1.37 2024/05/16 09:59:20 pho Exp $
+# $NetBSD: Makefile,v 1.38 2026/11/07 22:43:07 wiz Exp $
-DISTNAME= nim-2.0.4
+# Nim is quite a weird language to package, meaning that the official packaging
+# guideline recommends using a tarball that is created via a CI and also
+# because the bootstrap script uses git to clone some submodules. It however
+# seems that both of those weridinesses can be bypassed, for once because
+# just downloading the nim from the homepage is the same version as the one
+# that the CI created (checksums matched) and the git clone only happens if
+# the submodules are not already present. Because of this, we pull not only
+# the nim tarball but also the ones for:
+#
+# - Atlas (Package cloner, that manages project dependencies in an isolated
+# deps/ directory)
+# - sat (SAT solver written in nim)
+#
+# When taking a look at `koch.nim` in the source tree of nim, we can see, that
+# these packages are not pinned to a version but rather a commit hash. We do
+# the same with the `*_TAG` variables. Afterwards we add the needed
+# `*_DISTFILE`'s to the distfiles and extract them into the root. Furthermore
+# we then move the extracted folders to the correct location in `post-extract`.
+#
+# Helpful sources:
+# - https://nim-lang.github.io/Nim/packaging.html
+# - `koch.nim` in the source tree
+
+DISTNAME= nim-2.4.0
CATEGORIES= lang
MASTER_SITES= http://nim-lang.org/download/
EXTRACT_SUFX= .tar.xz
@@ -10,125 +33,98 @@ HOMEPAGE= https://nim-lang.org/
COMMENT= The Nim programming language
LICENSE= mit
-# C2VERSION_TAG= 86742fb02c6606ab01a532a0085784effb2e753e
-# NIMBLE_TAG= 168416290e49023894fc26106799d6f1fc964a2d
-# CHECKSUMS_TAG= b4c73320253f78e3a265aec6d9e8feb83f97c77b
-ATLAS_TAG= 7b780811a168f3f32bff4822369dda46a7f87f9a
+ATLAS_TAG= aa6fb162006f3015aa84c4305e15cb4d230f5ad6
+SAT_TAG= 9d52513b3c68bfb929dbd687d4fb2836cfee6936
GH_SFX= .tar.gz
-# C2VERSION_DISTNAME= c2version-${C2VERSION_TAG}
-# NIMBLE_DISTNAME= nimble-${NIMBLE_TAG}
-# CHECKSUMS_DISTNAME= checksums-${CHECKSUMS_TAG}
-ATLAS_DISTNAME= atlas-${ATLAS_TAG}
-
-# C2VERSION_DISTFILE= ${C2VERSION_DISTNAME}${GH_SFX}
-# NIMBLE_DISTFILE= ${NIMBLE_DISTNAME}${GH_SFX}
-# CHECKSUMS_DISTFILE= ${CHECKSUMS_DISTNAME}${GH_SFX}
-ATLAS_DISTFILE= ${ATLAS_DISTNAME}${GH_SFX}
+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+= ${C2VERSION_DISTFILE}
-# DISTFILES+= ${NIMBLE_DISTFILE}
-# DISTFILES+= ${CHECKSUMS_DISTFILE}
DISTFILES+= ${ATLAS_DISTFILE}
+DISTFILES+= ${SAT_DISTFILE}
-# SITES.${C2VERSION_DISTFILE}= -${MASTER_SITE_GITHUB:=nim-lang/csources_v2/archive/}${C2VERSION_TAG}${GH_SFX}
-# SITES.${NIMBLE_DISTFILE}= -${MASTER_SITE_GITHUB:=nim-lang/nimble/archive/}${NIMBLE_TAG}${GH_SFX}
-# SITES.${CHECKSUMS_DISTFILE}= -${MASTER_SITE_GITHUB:=nim-lang/checksums/archive/}${CHECKSUMS_TAG}${GH_SFX}
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.${C2VERSION_DISTFILE}= ${WRKSRC}/
-# EXTRACT_DIR.${NIMBLE_DISTFILE}= ${WRKSRC}/dist/
-# EXTRACT_DIR.${CHECKSUMS_DISTFILE}= ${WRKSRC}/dist/
-EXTRACT_DIR.${ATLAS_DISTFILE}= ${WRKSRC}/dist/
-
-#
-# 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
-#
+EXTRACT_DIR.${ATLAS_DISTFILE}= ${WRKSRC}
+EXTRACT_DIR.${SAT_DISTFILE}= ${WRKSRC}
DEPENDS+= coreutils-[0-9]*:../../sysutils/coreutils
-USE_TOOLS+= bash pax
+USE_TOOLS+= bash gmake
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'
+USE_LANGUAGES= c
+
+# SUBST_CLASSES+= paths
+# SUBST_STAGE.paths= pre-configure
+# SUBST_FILES.paths= config/nim.cfg
+# SUBST_SED.paths= -e 's,/usr/pkg,${PREFIX},g'
+
+# Nim doesn't automatically passes LDFLAGS/CFLAGS variables to the compiler
+# but rather uses its own --passL/--passC flags. The two lines below translate
+# the flags so the nim compiler actually uses them.
+NIM_FLAGS= ${LDFLAGS:S/^/--passL:/}
+NIM_FLAGS+= ${CFLAGS:S/^/--passC:/}
+
+INSTALLATION_DIRS+= bin
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}/dist/atlas-${ATLAS_TAG} ${WRKSRC}/dist/atlas
-
-# 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:/}
+ ${MV} ${WRKSRC}/atlas-${ATLAS_TAG} ${WRKSRC}/dist/atlas
+
+ ${MKDIR} ${WRKSRC}/dist/atlas/dist
+ ${MV} ${WRKSRC}/sat-${SAT_TAG} ${WRKSRC}/dist/atlas/dist/sat
+
+
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
+ cd ${WRKSRC} && ${GMAKE}
+
# 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
+ cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ./bin/nim c \
+ -d:release \
+ --parallelBuild:${_MAKE_JOBS_N} \
+ koch
+
+ cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ./koch \
+ boot \
+ -d:release \
+ --parallelBuild:${_MAKE_JOBS_N} \
+ ${NIM_FLAGS}
+
+ # Build tools
+ cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ./koch \
+ tools \
+ -d:release \
+ --parallelBuild:${_MAKE_JOBS_N} \
+ ${NIM_FLAGS}
+
+
+# The test suite will fail, however it may work in the future. For now, this
+# is commented out.
+# do-test:
+# cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ./koch \
+# tests \
+# --pedantic \
+# --targets="c js" \
+# all
+
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/
+ cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ./install.sh \
+ ${DESTDIR}${PREFIX}
- # 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}
+.for fn in nim nimble nimsuggest nimgrep
+ ${LN} -sf ${DESTDIR}${PREFIX}/nim/bin/${fn} ${DESTDIR}${PREFIX}/bin/${fn}
.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 "options.mk"
.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/lang/nim/PLIST
diff -u pkgsrc/lang/nim/PLIST:1.20 pkgsrc/lang/nim/PLIST:1.21
--- pkgsrc/lang/nim/PLIST:1.20 Mon Apr 22 13:23:55 2024
+++ pkgsrc/lang/nim/PLIST Sat Nov 7 22:43:07 2026
@@ -1,122 +1,23 @@
-@comment $NetBSD: PLIST,v 1.20 2024/04/22 13:23:55 nikita Exp $
+@comment $NetBSD: PLIST,v 1.21 2026/11/07 22:43:07 wiz Exp $
bin/nim
-bin/nim-gdb
-bin/nim_dbg
+bin/nimble
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/module_20265.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/taccent_highlight.nim
-lib/nim/nimsuggest/tests/tcallstrlit_highlight.nim
-lib/nim/nimsuggest/tests/tcase.nim
-lib/nim/nimsuggest/tests/tchk1.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/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/tfatal1.nim
-lib/nim/nimsuggest/tests/tgeneric_highlight.nim
-lib/nim/nimsuggest/tests/tinclude.nim
-lib/nim/nimsuggest/tests/tmacro_highlight.nim
-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_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/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_globalSymbols.nim
-lib/nim/nimsuggest/tests/tv3_import.nim
-lib/nim/nimsuggest/tests/tv3_outline.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/atlas
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/backendpragmas.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
@@ -132,46 +33,51 @@ 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/evalffi.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/bitabs.nim
-nim/compiler/ic/cbackend.nim
-nim/compiler/ic/dce.nim
-nim/compiler/ic/design.rst
-nim/compiler/ic/ic.nim
-nim/compiler/ic/integrity.nim
-nim/compiler/ic/navigator.nim
-nim/compiler/ic/packed_ast.nim
+nim/compiler/ic/enum2nif.nim
nim/compiler/ic/replayer.nim
-nim/compiler/ic/rodfiles.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
@@ -184,12 +90,15 @@ 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/ndi.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
@@ -200,6 +109,7 @@ 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
@@ -215,12 +125,15 @@ 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
@@ -254,12 +167,14 @@ 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
@@ -267,11 +182,16 @@ 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
@@ -280,6 +200,7 @@ 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
@@ -479,6 +400,8 @@ 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
@@ -513,6 +436,7 @@ 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
@@ -585,11 +509,13 @@ 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
@@ -597,11 +523,18 @@ 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
@@ -614,22 +547,4 @@ 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
Index: pkgsrc/lang/nim/distinfo
diff -u pkgsrc/lang/nim/distinfo:1.30 pkgsrc/lang/nim/distinfo:1.31
--- pkgsrc/lang/nim/distinfo:1.30 Thu May 16 09:59:20 2024
+++ pkgsrc/lang/nim/distinfo Sat Nov 7 22:43:07 2026
@@ -1,12 +1,13 @@
-$NetBSD: distinfo,v 1.30 2024/05/16 09:59:20 pho Exp $
+$NetBSD: distinfo,v 1.31 2026/11/07 22:43:07 wiz Exp $
-BLAKE2s (atlas-7b780811a168f3f32bff4822369dda46a7f87f9a.tar.gz) = 88f21b8c524da0db89f53d3233040be6a9a021157e04d6d24f5516fdc03421ef
-SHA512 (atlas-7b780811a168f3f32bff4822369dda46a7f87f9a.tar.gz) = 392c4149ceec9918ff0277afd02d89cb13ce98c326744119b9bc9fe439e187cdb9230c3b300a6a48f93b0b2378ffc10e1a3a6990df31f4d36dd392dd7aa83797
-Size (atlas-7b780811a168f3f32bff4822369dda46a7f87f9a.tar.gz) = 49221 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.0.4.tar.xz) = e81586f329ba76f4891c68dc2c5d352c812fc66223c869278d44a5d3f17bf0da
-SHA512 (nim-2.0.4.tar.xz) = 1918b3d4a4fc02714677b2ca5051dc69e1d1daead2cf4dcc9b997076540d07d58ee4fe3049de86a37faa3143de1d3b95bedfa31f31d8463987bb267107459793
-Size (nim-2.0.4.tar.xz) = 7620508 bytes
-SHA1 (patch-bin_nim-gdb) = 0d4e9ae4cc8687ca7821891b63808fa1d175069c
+BLAKE2s (atlas-aa6fb162006f3015aa84c4305e15cb4d230f5ad6.tar.gz) = ea416dc909621edec9b06fa0cc510e3248b9638331055d5b9faaa1dce0f0f0d9
+SHA512 (atlas-aa6fb162006f3015aa84c4305e15cb4d230f5ad6.tar.gz) = 66c37492872dc47105f9c40d3f0c7be105b69e089293996eb9b0ccf441248dce351be2fa8bfbc9ecd7914fd2a6d66f64d83f3280f32561a03a6b4f4d581e7b0b
+Size (atlas-aa6fb162006f3015aa84c4305e15cb4d230f5ad6.tar.gz) = 160714 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
+SHA1 (patch-dist_nimble_src_nimblepkg_downloadnim.nim) = 499197b81265ecf16d4c6baeca54673aead052c6
+SHA1 (patch-dist_nimble_vendor_chronos_chronos_sendfile.nim) = da30276501e0521056267c28f35e14949f5a2f96
Added files:
Index: pkgsrc/lang/nim/patches/patch-dist_nimble_src_nimblepkg_downloadnim.nim
diff -u /dev/null pkgsrc/lang/nim/patches/patch-dist_nimble_src_nimblepkg_downloadnim.nim:1.1
--- /dev/null Sat Nov 7 22:43:08 2026
+++ pkgsrc/lang/nim/patches/patch-dist_nimble_src_nimblepkg_downloadnim.nim Sat Nov 7 22:43:07 2026
@@ -0,0 +1,16 @@
+$NetBSD: patch-dist_nimble_src_nimblepkg_downloadnim.nim,v 1.1 2026/11/07 22:43:07 wiz Exp $
+
+Add NetBSD to nimble's nightly-OS detection. Without a matching branch the
+`when` expression in getNightliesUrl is empty on NetBSD and the compiler
+rejects it with "expression '' has no type (or is ambiguous)".
+
+--- dist/nimble/src/nimblepkg/downloadnim.nim.orig
++++ dist/nimble/src/nimblepkg/downloadnim.nim
+@@ -146,5 +146,7 @@
+ elif defined(openbsd):
+ "openbsd"
+ elif defined(haiku):
+ "haiku"
++ elif defined(netbsd):
++ "netbsd"
+ for jn in parsedContents.getElems():
Index: pkgsrc/lang/nim/patches/patch-dist_nimble_vendor_chronos_chronos_sendfile.nim
diff -u /dev/null pkgsrc/lang/nim/patches/patch-dist_nimble_vendor_chronos_chronos_sendfile.nim:1.1
--- /dev/null Sat Nov 7 22:43:08 2026
+++ pkgsrc/lang/nim/patches/patch-dist_nimble_vendor_chronos_chronos_sendfile.nim Sat Nov 7 22:43:07 2026
@@ -0,0 +1,19 @@
+$NetBSD: patch-dist_nimble_vendor_chronos_chronos_sendfile.nim,v 1.1 2026/11/07 22:43:07 wiz Exp $
+
+NetBSD does not provide sendfile(2) (no libc symbol, no header declaration,
+no man page). chronos grouped NetBSD with the BSDs that do, so the generated
+code called an implicitly-declared function, which the pkgsrc compiler
+wrapper turns into an error. Treat NetBSD like emscripten/haiku instead.
+
+--- dist/nimble/vendor/chronos/chronos/sendfile.nim.orig
++++ dist/nimble/vendor/chronos/chronos/sendfile.nim
+@@ -41,3 +41,3 @@
+-elif defined(emscripten) or defined(haiku):
++elif defined(emscripten) or defined(haiku) or defined(netbsd):
+
+ proc sendfile*(outfd, infd: int, offset: int, count: var int): int =
+@@ -67,3 +67,2 @@
+-elif defined(freebsd) or defined(openbsd) or defined(netbsd) or
+- defined(dragonflybsd):
++elif defined(freebsd) or defined(openbsd) or defined(dragonflybsd):
+ import oserrno
Home |
Main Index |
Thread Index |
Old Index