git: 3e7a9d805014 - main - devel/nimble: Update to 0.24.1

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Fri, 04 Sep 2026 01:37:57 UTC
The branch main has been updated by tagattie:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3e7a9d80501452f7237be9a0aed71077aee8eb56

commit 3e7a9d80501452f7237be9a0aed71077aee8eb56
Author:     Neal Nelson <ports@nicandneal.net>
AuthorDate: 2026-09-04 01:35:11 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-09-04 01:35:11 +0000

    devel/nimble: Update to 0.24.1
    
    Changelog:
    - https://github.com/nim-lang/nimble/releases/tag/v0.20.1
    - https://github.com/nim-lang/nimble/releases/tag/v0.22.0
    - https://github.com/nim-lang/nimble/releases/tag/v0.22.1
    - https://github.com/nim-lang/nimble/releases/tag/v0.22.2
    - https://github.com/nim-lang/nimble/releases/tag/v0.22.3
    - https://github.com/nim-lang/nimble/releases/tag/v0.24.0
    - https://github.com/nim-lang/nimble/releases/tag/v0.24.1
    
    PR:             297661
    Reported by:    Neal Nelson <ports@nicandneal.net> (maintainer)
---
 devel/nimble/Makefile | 125 +++++++++++++++++++++++++++++++++++++++++++++-----
 devel/nimble/distinfo |  26 ++++++++---
 2 files changed, 133 insertions(+), 18 deletions(-)

diff --git a/devel/nimble/Makefile b/devel/nimble/Makefile
index 1a0208f6f70a..7dd85d59c65b 100644
--- a/devel/nimble/Makefile
+++ b/devel/nimble/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	nimble
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.20.0
+DISTVERSION=	0.24.1
 CATEGORIES=	devel
 
 MAINTAINER=	ports@nicandneal.net
@@ -16,29 +16,132 @@ RUN_DEPENDS=	${LOCALBASE}/nim/bin/nim:lang/nim
 NIMVER=		2.2.4
 
 USE_GITHUB=	yes
-GH_ACCOUNT=	nim-lang guzba:zippy
-GH_PROJECT=	sat:sat checksums:checksums nim:nim zippy:zippy
-GH_TAGNAME=	faf1617f44d7632ee9601ebc13887644925dcc01:sat \
+GH_ACCOUNT=	nim-lang guzba:zippy status-im:bearssl status-im:bearsslc status-im:chronos status-im:httputils arnetheduck:results status-im:stew
+GH_PROJECT=	sat:sat checksums:checksums nim-bearssl:bearssl BearSSL:bearsslc nim-chronos:chronos nim-http-utils:httputils nim:nim nim-results:results nim-stew:stew zippy:zippy
+GH_TAGNAME=	e63eaea8baf00bed8bcd5a29ffd8823abb265b39:sat \
+		25197fec8a3988d1153be7a1a79890b70e69d6db:bearssl \
+		7bea48e5e850ab4cafbe68d3765cdaba13a86d6f:bearsslc \
 		f8f6bd34bfa3fe12c64b919059ad856a96efcba0:checksums \
-		a99f6a7d8a8e3e0213b3cad0daf0ea974bf58e3f:zippy \
+		bd92f8e089ccd391b9762b7035215bea2307dbc9:chronos \
+		f142cb2e8bd812dd002a6493b6082827bb248592:httputils \
+		b319652e98a198fa881ca70a76754c2dd6f09804:results \
+		83eb1157963b7f49351dbdd858355fa990bbe23c:stew \
+		bcb8c1e1be6abb0a0e35a3c6040cdd9391cc993f:zippy \
 		v${NIMVER}:nim
 
 post-extract:
 	# Nim gets extracted with a different name to WRKSRC_nim!
 	@${MV} ${WRKDIR}/Nim-${NIMVER} ${WRKSRC_nim}
+	@${LN} -sF ${WRKSRC_bearsslc} ${WRKSRC_bearssl}/bearssl/csources
 
 post-patch:
-	@${REINPLACE_CMD} -e 's|import sat/sat|import "${WRKSRC_sat}"/src/sat/sat|g' ${WRKSRC}/src/nimble.nim
-	@${REINPLACE_CMD} -e 's|import pkg/checksums/sha1|import "${WRKSRC_checksums}"/src/checksums/sha1|g' ${WRKSRC}/src/nimblepkg/sha1hashes.nim
+	# Nimble
+	@${REINPLACE_CMD} -e 's|import chronos|import "${WRKSRC_chronos}"/chronos|g' ${WRKSRC}/src/nimble.nim
+
+	@${REINPLACE_CMD} -e 's|import sat/|import "${WRKSRC_sat}"/src/sat/|g' ${WRKSRC}/src/nimble.nim
+
+	@${REINPLACE_CMD} -e 's|import pkg/checksums/|import "${WRKSRC_checksums}"/src/checksums/|g' ${WRKSRC}/src/nimblepkg/checksums.nim
+
+	@${REINPLACE_CMD} -e 's|import chronos|import "${WRKSRC_chronos}"/chronos|g' ${WRKSRC}/src/nimblepkg/download.nim
+
+	@${REINPLACE_CMD} -e 's|import zippy/|import "${WRKSRC_zippy}"/src/zippy/|g' ${WRKSRC}/src/nimblepkg/downloadnim.nim
+	@${REINPLACE_CMD} -e 's|import chronos|import "${WRKSRC_chronos}"/chronos|g' ${WRKSRC}/src/nimblepkg/downloadnim.nim
+
+	@${REINPLACE_CMD} -e 's|import chronos|import "${WRKSRC_chronos}"/chronos|g' ${WRKSRC}/src/nimblepkg/install.nim
+
+	@${REINPLACE_CMD} -e 's|import chronos|import "${WRKSRC_chronos}"/chronos|g' ${WRKSRC}/src/nimblepkg/nimenv.nim
+
+	@${REINPLACE_CMD} -e 's|import chronos|import "${WRKSRC_chronos}"/chronos|g' ${WRKSRC}/src/nimblepkg/nimresolution.nim
+
+	@${REINPLACE_CMD} -e 's|import chronos|import "${WRKSRC_chronos}"/chronos|g' ${WRKSRC}/src/nimblepkg/nimblesat.nim
+	@${REINPLACE_CMD} -e 's|import sat/|import "${WRKSRC_sat}"/src/sat/|g' ${WRKSRC}/src/nimblepkg/nimblesat.nim
+
+	@${REINPLACE_CMD} -e 's|import chronos|import "${WRKSRC_chronos}"/chronos|g' ${WRKSRC}/src/nimblepkg/options.nim
+
+	@${REINPLACE_CMD} -e 's|import chronos/apps/http/httpclient|import "${WRKSRC_chronos}"/chronos/apps/http/httpclient|g' ${WRKSRC}/src/nimblepkg/packageinfo.nim
+
+	@${REINPLACE_CMD} -e 's|import zippy|import "${WRKSRC_zippy}"/src/zippy|g' ${WRKSRC}/src/nimblepkg/packageinfo.nim
+
+	@${REINPLACE_CMD} -e 's|import chronos|import "${WRKSRC_chronos}"/chronos|g' ${WRKSRC}/src/nimblepkg/publish.nim
+
+	@${REINPLACE_CMD} -e 's|import pkg/checksums/|import "${WRKSRC_checksums}"/src/checksums/|g' ${WRKSRC}/src/nimblepkg/sha1hashes.nim
+
 	@${REINPLACE_CMD} -e 's|from "$$nim" / compiler/nimblecmd|from "${WRKSRC_nim}"/compiler/nimblecmd|g' ${WRKSRC}/src/nimblepkg/tools.nim
+
+	@${REINPLACE_CMD} -e 's|, chronos, chronos/|, "${WRKSRC_chronos}"/chronos, "${WRKSRC_chronos}"/chronos/|g' ${WRKSRC}/src/nimblepkg/tools.nim
+
+	@${REINPLACE_CMD} -e 's|import chronos|import "${WRKSRC_chronos}"/chronos|g' ${WRKSRC}/src/nimblepkg/versiondiscovery.nim
+
+	# BearSSL
+	@${REINPLACE_CMD} -e 's|{.compile: bearPath & "/../certs/cacert.c".}|{.compile: "${WRKSRC_bearssl}/bearssl/certs/cacert.c".}|g' ${WRKSRC_bearssl}/bearssl/certs/cacert.nim
+
+	# Chronos
+	@${REINPLACE_CMD} -e 's|import stew/|import "${WRKSRC_stew}"/stew/|g' ${WRKSRC_chronos}/chronos/apps/http/httpclient.nim
+	@${REINPLACE_CMD} -e 's|\], httputils, results|\], "${WRKSRC_httputils}"/httputils, "${WRKSRC_results}"/results|g' ${WRKSRC_chronos}/chronos/apps/http/httpclient.nim
+
+	@${REINPLACE_CMD} -e 's|import results, httputils, stew/base64|import "${WRKSRC_results}"/results, "${WRKSRC_httputils}"/httputils,"${WRKSRC_stew}"/stew/base64|g' ${WRKSRC_chronos}/chronos/apps/http/httpcommon.nim
+
+	@${REINPLACE_CMD} -e 's|import results, httputils|import "${WRKSRC_results}"/results, "${WRKSRC_httputils}"/httputils|g' ${WRKSRC_chronos}/chronos/apps/http/multipart.nim
+
+	@${REINPLACE_CMD} -e 's|import stew/|import "${WRKSRC_stew}"/stew/|g' ${WRKSRC_chronos}/chronos/apps/http/httptable.nim
+
+	@${REINPLACE_CMD} -e 's|import stew/\[byteutils\], results|import "${WRKSRC_stew}"/stew/\[byteutils\], "${WRKSRC_results}"/results|g' ${WRKSRC_chronos}/chronos/asyncproc.nim
+
+	@${REINPLACE_CMD} -e 's|import stew/|import "${WRKSRC_stew}"/stew/|g' ${WRKSRC_chronos}/chronos/bipbuffer.nim
+
+	@${REINPLACE_CMD} -e 's|import results|import "${WRKSRC_results}"/results|g' ${WRKSRC_chronos}/chronos/handles.nim
+
+	@${REINPLACE_CMD} -e 's|import results|import "${WRKSRC_results}"/results|g' ${WRKSRC_chronos}/chronos/internal/asyncengine.nim
+
+	@${REINPLACE_CMD} -e 's|import stew/|import "${WRKSRC_stew}"/stew/|g' ${WRKSRC_chronos}/chronos/internal/asyncfutures.nim
+
+	@${REINPLACE_CMD} -e 's|import stew/|import "${WRKSRC_stew}"/stew/|g' ${WRKSRC_chronos}/chronos/ioselects/ioselectors_kqueue.nim
+
+	@${REINPLACE_CMD} -e 's|import results|import "${WRKSRC_results}"/results|g' ${WRKSRC_chronos}/chronos/osutils.nim
+
+	@${REINPLACE_CMD} -e 's|import results|import "${WRKSRC_results}"/results|g' ${WRKSRC_chronos}/chronos/selectors2.nim
+
+	@${REINPLACE_CMD} -e 's|import stew/|import "${WRKSRC_stew}"/stew/|g' ${WRKSRC_chronos}/chronos/srcloc.nim
+
+	@${REINPLACE_CMD} -e 's|import stew/|import "${WRKSRC_stew}"/stew/|g' ${WRKSRC_chronos}/chronos/streams/asyncstream.nim
+
+	@${REINPLACE_CMD} -e 's|import results|import "${WRKSRC_results}"/results|g' ${WRKSRC_chronos}/chronos/streams/boundstream.nim
+	@${REINPLACE_CMD} -e 's|import stew/|import "${WRKSRC_stew}"/stew/|g' ${WRKSRC_chronos}/chronos/streams/boundstream.nim
+
+	@${REINPLACE_CMD} -e 's|import results|import "${WRKSRC_results}"/results|g' ${WRKSRC_chronos}/chronos/streams/chunkstream.nim
+
+	@${REINPLACE_CMD} -e 's| bearssl/| "${WRKSRC_bearssl}"/bearssl/|g' ${WRKSRC_chronos}/chronos/streams/tlsstream.nim
+	@${REINPLACE_CMD} -e 's|import stew/|import "${WRKSRC_stew}"/stew/|g' ${WRKSRC_chronos}/chronos/streams/tlsstream.nim
+
+	@${REINPLACE_CMD} -e 's|import stew/|import "${WRKSRC_stew}"/stew/|g' ${WRKSRC_chronos}/chronos/timer.nim
+
+	@${REINPLACE_CMD} -e 's|import results|import "${WRKSRC_results}"/results|g' ${WRKSRC_chronos}/chronos/transports/common.nim
+	@${REINPLACE_CMD} -e 's|import stew/|import "${WRKSRC_stew}"/stew/|g' ${WRKSRC_chronos}/chronos/transports/common.nim
+
+	@${REINPLACE_CMD} -e 's|import results|import "${WRKSRC_results}"/results|g' ${WRKSRC_chronos}/chronos/transports/datagram.nim
+	@${REINPLACE_CMD} -e 's|import stew/|import "${WRKSRC_stew}"/stew/|g' ${WRKSRC_chronos}/chronos/transports/datagram.nim
+
+	@${REINPLACE_CMD} -e 's|import stew/|import "${WRKSRC_stew}"/stew/|g' ${WRKSRC_chronos}/chronos/transports/ipnet.nim
+
+	@${REINPLACE_CMD} -e 's|import results|import "${WRKSRC_results}"/results|g' ${WRKSRC_chronos}/chronos/transports/stream.nim
+	@${REINPLACE_CMD} -e 's|import stew/|import "${WRKSRC_stew}"/stew/|g' ${WRKSRC_chronos}/chronos/transports/stream.nim
+
+	# HTTPUtils
+	@${REINPLACE_CMD} -e 's|import results|import "${WRKSRC_results}"/results|g' ${WRKSRC_httputils}/httputils.nim
+
+	# Nim
 	@${REINPLACE_CMD} -e 's|import ../dist/checksums/src/checksums/sha1|import "${WRKSRC_checksums}"/src/checksums/sha1|g' ${WRKSRC_nim}/compiler/nimblecmd.nim
-	@${REINPLACE_CMD} -e 's|import pkg/checksums/sha1|import "${WRKSRC_checksums}"/src/checksums/sha1|g' ${WRKSRC}/src/nimblepkg/checksums.nim
-	@${REINPLACE_CMD} -e 's|import sat/|import "${WRKSRC_sat}"/src/sat/|g' ${WRKSRC}/src/nimblepkg/nimblesat.nim
-	@${REINPLACE_CMD} -e 's|import zippy/|import "${WRKSRC_zippy}"/src/zippy/|g' ${WRKSRC}/src/nimblepkg/downloadnim.nim
+
+	# Stew
+	@${REINPLACE_CMD} -e 's|import pkg/results|import "${WRKSRC_results}"/results|g' ${WRKSRC_stew}/stew/base10.nim
+
+	# Zippy
 	@${REINPLACE_CMD} -e 's|, zippy|, ../zippy|g' ${WRKSRC_zippy}/src/zippy/tarballs_v1.nim
-	@${REINPLACE_CMD} -e 's|, zippy|, ../zippy|g' ${WRKSRC_zippy}/src/zippy/ziparchives_v1.nim
+
 	@${REINPLACE_CMD} -e 's|, zippy|, ../zippy|g' ${WRKSRC_zippy}/src/zippy/ziparchives.nim
 
+	@${REINPLACE_CMD} -e 's|, zippy|, ../zippy|g' ${WRKSRC_zippy}/src/zippy/ziparchives_v1.nim
+
 do-build:
 	@cd ${WRKSRC} && ${LOCALBASE}/nim/bin/nim c -d:release --noNimblePath -d:nimNimbleBootstrap --parallelBuild=${MAKE_JOBS_NUMBER} --path:${LOCALBASE}/nim --nimcache:${WRKSRC}/nimcache src/nimble
 
diff --git a/devel/nimble/distinfo b/devel/nimble/distinfo
index 351d3677a8ff..a5c9261cf9e9 100644
--- a/devel/nimble/distinfo
+++ b/devel/nimble/distinfo
@@ -1,10 +1,22 @@
-TIMESTAMP = 1752241568
-SHA256 (nim-lang-nimble-v0.20.0_GH0.tar.gz) = 5272bce904b9f7f0dc011c5a294c3924b843ead77b06525d5e1e47f590ef3d7e
-SIZE (nim-lang-nimble-v0.20.0_GH0.tar.gz) = 689060
-SHA256 (guzba-zippy-a99f6a7d8a8e3e0213b3cad0daf0ea974bf58e3f_GH0.tar.gz) = 4e694b1e699b2589a531c81f63f0164f500a5f52bd105ecf4572dea982f1da6b
-SIZE (guzba-zippy-a99f6a7d8a8e3e0213b3cad0daf0ea974bf58e3f_GH0.tar.gz) = 29504190
-SHA256 (nim-lang-sat-faf1617f44d7632ee9601ebc13887644925dcc01_GH0.tar.gz) = dfb90aa7fa629bb7bd395ae041410362439492600d06978d29ba726c16ef4077
-SIZE (nim-lang-sat-faf1617f44d7632ee9601ebc13887644925dcc01_GH0.tar.gz) = 9736
+TIMESTAMP = 1785318929
+SHA256 (nim-lang-nimble-v0.24.1_GH0.tar.gz) = dfa8e7bbbe7b05f8cff9bffd5aa25ddb5d73d92e85b752711df844456724e58c
+SIZE (nim-lang-nimble-v0.24.1_GH0.tar.gz) = 805740
+SHA256 (guzba-zippy-bcb8c1e1be6abb0a0e35a3c6040cdd9391cc993f_GH0.tar.gz) = d2283a8de48af729d46e78ec240449e26e32f49b566988fb6e8969fe53e0e135
+SIZE (guzba-zippy-bcb8c1e1be6abb0a0e35a3c6040cdd9391cc993f_GH0.tar.gz) = 21329585
+SHA256 (status-im-nim-bearssl-25197fec8a3988d1153be7a1a79890b70e69d6db_GH0.tar.gz) = 551c2c386fb8dd38e0f569204f148d850c05d6ae14c34601e35d4b840aa25970
+SIZE (status-im-nim-bearssl-25197fec8a3988d1153be7a1a79890b70e69d6db_GH0.tar.gz) = 141817
+SHA256 (status-im-BearSSL-7bea48e5e850ab4cafbe68d3765cdaba13a86d6f_GH0.tar.gz) = 8f02ff853b88477a760df9c963a3feea8fa057328f50ebdb94a7be6886b862cd
+SIZE (status-im-BearSSL-7bea48e5e850ab4cafbe68d3765cdaba13a86d6f_GH0.tar.gz) = 867205
+SHA256 (status-im-nim-chronos-bd92f8e089ccd391b9762b7035215bea2307dbc9_GH0.tar.gz) = 5458d8a01e1e9ae6141afe693339b0a943cb5951ab20642d0408bdc947748f45
+SIZE (status-im-nim-chronos-bd92f8e089ccd391b9762b7035215bea2307dbc9_GH0.tar.gz) = 683005
+SHA256 (status-im-nim-http-utils-f142cb2e8bd812dd002a6493b6082827bb248592_GH0.tar.gz) = cb097e61678f2366116d4743b8d26691d09c02b569eb131aa7b4dafc26c4c8c2
+SIZE (status-im-nim-http-utils-f142cb2e8bd812dd002a6493b6082827bb248592_GH0.tar.gz) = 35438
+SHA256 (arnetheduck-nim-results-b319652e98a198fa881ca70a76754c2dd6f09804_GH0.tar.gz) = 1e2569e47d3916cd6ffc67f5da1c36c3fd928bb38e215fb2a8a1695453c28820
+SIZE (arnetheduck-nim-results-b319652e98a198fa881ca70a76754c2dd6f09804_GH0.tar.gz) = 24023
+SHA256 (status-im-nim-stew-83eb1157963b7f49351dbdd858355fa990bbe23c_GH0.tar.gz) = bd4c60b25f7e99497a59e8f4bf14178229d3597002fee85a4e15336a063819bf
+SIZE (status-im-nim-stew-83eb1157963b7f49351dbdd858355fa990bbe23c_GH0.tar.gz) = 122652
+SHA256 (nim-lang-sat-e63eaea8baf00bed8bcd5a29ffd8823abb265b39_GH0.tar.gz) = 0846607e21cc2980ce68325fc3b4acbf2ebe4c74cbc5ee1c459fbc2abaf72856
+SIZE (nim-lang-sat-e63eaea8baf00bed8bcd5a29ffd8823abb265b39_GH0.tar.gz) = 10245
 SHA256 (nim-lang-checksums-f8f6bd34bfa3fe12c64b919059ad856a96efcba0_GH0.tar.gz) = 9cd0625ae8860ed1d6a20cff3dab81325a923c27789fc2bed82625a7c5763975
 SIZE (nim-lang-checksums-f8f6bd34bfa3fe12c64b919059ad856a96efcba0_GH0.tar.gz) = 47503
 SHA256 (nim-lang-nim-v2.2.4_GH0.tar.gz) = f19df9192f7c9efd638f8bbf630cc184cc9950613235c7a23d99593269b1e2de