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