pkgsrc-WIP-changes archive

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

nim: trying to use the official guideline for packaging



Module Name:	pkgsrc-wip
Committed By:	arcathrax <ivan%ivanpollak.com@localhost>
Pushed By:	arcathrax
Date:		Sun Nov 1 22:21:43 2026 +0100
Changeset:	2ff73e86c96a1bca29cefd88ff77e3bffb724e54

Modified Files:
	nim/Makefile
	nim/distinfo

Log Message:
nim: trying to use the official guideline for packaging

Found at: https://nim-lang.github.io/Nim/packaging.html

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

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

diffstat:
 nim/Makefile | 135 +++++++++++++++++++++++++----------------------------------
 nim/distinfo |   9 ----
 2 files changed, 56 insertions(+), 88 deletions(-)

diffs:
diff --git a/nim/Makefile b/nim/Makefile
index 5755e3730f..e623553d0c 100644
--- a/nim/Makefile
+++ b/nim/Makefile
@@ -2,7 +2,7 @@
 
 DISTNAME=	nim-2.4.0
 CATEGORIES=	lang
-MASTER_SITES=	http://nim-lang.org/download/
+MASTER_SITES=   ${MASTER_SITE_GITHUB:=nim-lang/nightlies/releases/download/2026-10-28-version-2-4-14991af742d0833503741fd9a0918133d1bcf8a4/}
 EXTRACT_SUFX=	.tar.xz
 
 MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
@@ -12,118 +12,95 @@ LICENSE=	mit
 
 # Taken from:
 # https://github.com/nim-lang/Nim/blob/14991af742d0833503741fd9a0918133d1bcf8a4/koch.nim
-ATLAS_TAG=	aa6fb162006f3015aa84c4305e15cb4d230f5ad6
-SAT_TAG=		9d52513b3c68bfb929dbd687d4fb2836cfee6936
+# ATLAS_TAG=			aa6fb162006f3015aa84c4305e15cb4d230f5ad6
+# SAT_TAG=				9d52513b3c68bfb929dbd687d4fb2836cfee6936
 
-GH_SFX=		.tar.gz
+# GH_SFX=		.tar.gz
 
-ATLAS_DISTNAME=		atlas-${ATLAS_TAG}
-SAT_DISTNAME=			sat-${SAT_TAG}
+# ATLAS_DISTNAME=		atlas-${ATLAS_TAG}
+# SAT_DISTNAME=			sat-${SAT_TAG}
 
-ATLAS_DISTFILE=		${ATLAS_DISTNAME}${GH_SFX}
-SAT_DISTFILE=			${SAT_DISTNAME}${GH_SFX}
+# ATLAS_DISTFILE=		${ATLAS_DISTNAME}${GH_SFX}
+# SAT_DISTFILE=			${SAT_DISTNAME}${GH_SFX}
 
-DISTFILES=		${DEFAULT_DISTFILES}
-DISTFILES+=		${ATLAS_DISTFILE}
-DISTFILES+=		${SAT_DISTFILE}
+# 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}
+# 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}
+# 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
+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'
+# 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'
 
 # 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:/}
+# NIM_FLAGS=	${LDFLAGS:S/^/--passL:/}
+# NIM_FLAGS+=	${CFLAGS:S/^/--passC:/}
 
-post-extract:
+# post-extract:
 	# TODO: csources for cross-building?
 	# ${MV} ${WRKSRC}/csources_v2-${C2VERSION_TAG} ${WRKSRC}/csources_v2
-	${MKDIR} ${WRKSRC}/dist
+	# ${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
+	# ${MV} ${WRKSRC}/atlas-${ATLAS_TAG} ${WRKSRC}/dist/atlas
 
-	${MKDIR} ${WRKSRC}/dist/atlas/dist
-	${MV} ${WRKSRC}/sat-${SAT_TAG} ${WRKSRC}/dist/atlas/dist/sat
+	# ${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} -j${_MAKE_JOBS_N}
+
 	# build koch
-	cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ./bin/nim c \
-		--skipUserCfg \
-		--skipParentCfg \
-		--parallelBuild:${_MAKE_JOBS_N} \
+	cd ${WRKSRC} && ./bin/nim c \
+		-d:release \
 		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 \
+	cd ${WRKSRC} && ./koch \
+		boot \
 		-d:release \
-		--parallelBuild:${_MAKE_JOBS_N} \
-		${NIM_FLAGS} \
-		tools/niminst/niminst.nim
+		--parallelBuild:${_MAKE_JOBS_N}
 
-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
-	${INSTALL} ${WRKSRC}/tools/niminst/niminst ${DESTDIR}${PREFIX}/nim/bin/
+	# Build docs
+	# cd ${WRKSRC} && ./koch \
+		# docs \
+		# --parallelBuild:${_MAKE_JOBS_N}
 
-.for x in nimble nimgrep niminst nimpretty nimsuggest testament
-	${LN} -sf ${DESTDIR}${PREFIX}/nim/bin/${x} ${DESTDIR}${PREFIX}/bin/${x}
-.endfor
+	# Build tools
+	cd ${WRKSRC} && ./koch \
+		tools \
+		--parallelBuild:${_MAKE_JOBS_N}
 
-	# 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-install:
+	cd ${WRKSRC} && sh ./install.sh ${DESTDIR}${PREFIX}
 
-do-test:
-	cd ${WRKSRC} && ./bin/nim compile koch.nim
-	cd ${WRKSRC} && LD_LIBRARY_PATH=${PREFIX}/lib ./koch test all \
-		--parallelBuild:${_MAKE_JOBS_N}
+.for fn in nimble nimsuggest nimgrep
+	${LN} -sf ${DESTDIR}${PREFIX}/nim/bin/${fn} ${DESTDIR}${PREFIX}/bin/${fn}
+.endfor
 
 .include "../../mk/bsd.pkg.mk"
diff --git a/nim/distinfo b/nim/distinfo
index 34ecb267c5..023bcb145c 100644
--- a/nim/distinfo
+++ b/nim/distinfo
@@ -1,14 +1,5 @@
 $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


Home | Main Index | Thread Index | Old Index