Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Dec 2024 14:12:28 GMT
From:      Zsolt Udvari <uzsolt@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: e7fb3d8cf502 - main - lang/smlnj: Update to 110.99.6.1
Message-ID:  <202412301412.4BUECSAt090299@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by uzsolt:

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

commit e7fb3d8cf50264127c8058c251618ad310d71b23
Author:     Johannes 5 <joemann@beefree.free.de>
AuthorDate: 2024-12-30 13:39:44 +0000
Commit:     Zsolt Udvari <uzsolt@FreeBSD.org>
CommitDate: 2024-12-30 14:12:08 +0000

    lang/smlnj: Update to 110.99.6.1
    
    Add python:env and shebangfix to USES.
    Use target-OPTION-{on,off} instead of if-statements.
    Add targets-recompile.customized file instead of echo commands.
    Switch to DISTVERSION.
    Pet portfmt.
    
    Changelogs:
    https://www.smlnj.org/dist/working/110.99.6.1/110.99.6.1-README.html
    https://www.smlnj.org/dist/working/110.99.6/110.99.6-README.html
    https://www.smlnj.org/dist/working/2024.1/2024.1-README.html
    https://www.smlnj.org/dist/working/110.99.5/110.99.5-README.html
    https://www.smlnj.org/dist/working/2023.1/2023.1-README.html
    https://www.smlnj.org/dist/working/110.99.4/110.99.4-README.html
    https://www.smlnj.org/dist/working/2022.1/2022.1-README.html
    https://www.smlnj.org/dist/working/110.99.3/110.99.3-README.html
    https://www.smlnj.org/dist/working/2021.1/2021.1-README.html
    https://www.smlnj.org/dist/working/110.99.2/110.99.2-README.html
    https://www.smlnj.org/dist/working/110.99.1/110.99.1-README.html
    https://www.smlnj.org/dist/working/110.99/110.99-README.html
    
    PR:             283301
    Reported by:    Alexey Vyskubov <alexey@ocaml.nl>
    Approved by:    submitter is maintainer
---
 lang/smlnj/Makefile                                | 158 +++++++++------------
 lang/smlnj/distinfo                                |  98 ++++++-------
 lang/smlnj/files/do-patch-asdl_config.sh           |   4 +-
 .../files/do-patch-asdl_src_asdlgen_Makefile.in    |   6 +-
 .../files/do-patch-base_compiler_Parse_lex_ml.lex  |   4 +-
 .../files/do-patch-base_compiler_Parse_lex_sml.lex |   4 +-
 .../do-patch-base_runtime_include_ml-unixdep.h     |   2 +-
 .../files/do-patch-base_runtime_objs_makefile      |   8 +-
 .../do-patch-base_runtime_objs_mk.amd64-freebsd    |   6 +-
 .../do-patch-base_runtime_objs_mk.x86-freebsd      |  16 +--
 .../files/do-patch-smlnj-lib_JSON_json-util.sml    |  29 ----
 lang/smlnj/files/patch-config_install.sh           |  22 +--
 lang/smlnj/files/patch-config_unpack               |  24 +++-
 lang/smlnj/files/targets-recompile.customized      |   7 +
 lang/smlnj/pkg-plist                               |  12 +-
 15 files changed, 187 insertions(+), 213 deletions(-)

diff --git a/lang/smlnj/Makefile b/lang/smlnj/Makefile
index ab657d1e1cfc..47003f0d1fa4 100644
--- a/lang/smlnj/Makefile
+++ b/lang/smlnj/Makefile
@@ -1,11 +1,10 @@
 PORTNAME=	smlnj
-PORTVERSION=	110.98
-PORTREVISION=	1
+DISTVERSION=	110.99.6.1
 CATEGORIES=	lang
-MASTER_SITES=	http://smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/ \
-		ftp://mirror.free.de/http/smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/
+MASTER_SITES=	http://smlnj.cs.uchicago.edu/dist/working/${DISTVERSION}/ \
+		ftp://mirror.free.de/http/smlnj.cs.uchicago.edu/dist/working/${DISTVERSION}/
 DISTFILES=	config.tgz runtime.tgz
-DIST_SUBDIR=	smlnj/${PORTVERSION}
+DIST_SUBDIR=	smlnj/${DISTVERSION}
 EXTRACT_ONLY=	config.tgz
 
 MAINTAINER=	joemann@beefree.free.de
@@ -20,7 +19,7 @@ LICENSE_PERMS=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
 
 ONLY_FOR_ARCHS=	amd64 i386
 
-USES=		compiler
+USES=		compiler python:env shebangfix
 
 SUB_FILES=	pkg-install
 SUB_LIST=	EXEBINDIR=${MLBINRELATIVE} EXENAMES="${MLEXE}"
@@ -29,16 +28,18 @@ NO_WRKSUBDIR=	yes
 
 PKGDEINSTALL=	${PKGINSTALL}
 
-OPTIONS_DEFINE=		EVERYTHING RECOMPILE
+OPTIONS_DEFINE=	EVERYTHING RECOMPILE
 
 EVERYTHING_DESC=	install everything from the SML/NJ distribution
 RECOMPILE_DESC=		recompile the SML compiler - implies EVERYTHING
 
-RECOMPILE_IMPLIES=	EVERYTHING
+EVERYTHING_PLIST_SUB=		EVERYTHING=""
+EVERYTHING_PLIST_SUB_OFF=	EVERYTHING="@comment "
+RECOMPILE_IMPLIES=		EVERYTHING
 
 .include <bsd.port.pre.mk>
 
-.if ${COMPILER_TYPE} == "clang"
+.if ${COMPILER_TYPE} == "clang" && ${ARCH} == "amd64"
 RUNTIME_SO=
 PLIST_SUB+=	RUNTIME_SO="@comment "
 .else
@@ -50,11 +51,11 @@ PLIST_SUB+=	RUNTIME_SO=
 CFLAGS+=	-Wno-error=incompatible-function-pointer-types
 .endif
 
-.if (${ARCH} == "i386")
+.if ${ARCH} == "i386"
 MLARCH=		x86
 MLSIZE=		32
 PLIST_SUB+=	MLSIZE32=""
-.elif  (${ARCH} == "amd64")
+.elif ${ARCH} == "amd64"
 MLARCH=		amd64
 MLSIZE=		64
 PLIST_SUB+=	MLSIZE32="@comment "
@@ -65,19 +66,14 @@ CFLAGS+=	-fPIC
 AS=		${CC} -x assembler -c
 ASFLAGS+=	-fPIC
 DISTFILES+=	boot.${MLARCH}-unix.tgz
-DISTFILES+=	MLRISC.tgz asdl.tgz ckit.tgz cml.tgz doc.tgz heap2asm.tgz \
+DISTFILES+=	MLRISC.tgz ckit.tgz cml.tgz doc.tgz heap2asm.tgz \
 		ml-burg.tgz ml-lex.tgz ml-lpt.tgz ml-yacc.tgz nlffi.tgz \
 		old-basis.tgz smlnj-lib.tgz trace-debug-profile.tgz
-
-# Useful for tuning recompilation.
-CMB_COMMAND=
-
 .if ${PORT_OPTIONS:MEVERYTHING}
-DISTFILES+=	cm.tgz compiler.tgz eXene.tgz \
+DISTFILES+=	asdl.tgz cm.tgz compiler.tgz eXene.tgz \
 		pgraph.tgz smlnj-c.tgz system.tgz
-PLIST_SUB+=	EVERYTHING=""
-.else
-PLIST_SUB+=	EVERYTHING="@comment "
+SHEBANG_FILES=	smlnj-lib/HTML4/helper.py \
+		eXene/examples/basicwin/test.sh
 .endif
 
 MLROOTRELATIVE=	smlnj
@@ -85,42 +81,40 @@ MLROOT=		${PREFIX}/${MLROOTRELATIVE}
 MLBINRELATIVE=	${MLROOTRELATIVE}/bin
 MLBIN=		${MLROOT}/bin
 MLLIB=		${MLROOT}/lib
-MLSTDSRCDIRS=	asdl cml doc heap2asm ml-burg ml-lex ml-lpt ml-yacc \
-		nlffi smlnj-lib
+MLSTDSRCDIRS=	cml doc heap2asm ml-burg ml-lex ml-lpt ml-yacc nlffi smlnj-lib
 MLSRCDIRS=	base ${MLSTDSRCDIRS} \
 		ckit eXene pgraph smlnj-c
-MLSRCS=
-.for srcdir in ${MLSRCDIRS}
-MLSRCS+=	${MLROOT}/${srcdir}
-.endfor
 MLTARGETS=	heap2asm
-MLEXE=		asdlgen heap2exec ml-antlr ml-build ml-burg ml-lex \
-		ml-makedepend ml-ulex ml-yacc sml
+MLEXE=		heap2exec ml-antlr ml-build ml-burg ml-lex ml-makedepend \
+		ml-ulex ml-yacc sml
 .if defined(MLSIZE) && ${MLSIZE} == 32
 MLEXE+=		ml-nlffigen
 .endif
 .if ${PORT_OPTIONS:MEVERYTHING}
-MLSTDSRCDIRS+=	eXene pgraph smlnj-c
-MLTARGETS+=	eXene mlrisc-tools nowhere pgraph-util src-smlnj
-MLEXE+=		nowhere
+MLSTDSRCDIRS+=	asdl eXene pgraph smlnj-c
+MLTARGETS+=	asdl eXene mlrisc-tools nowhere pgraph-util src-smlnj
+MLEXE+=		asdlgen nowhere
 PLIST=		${WRKDIR}/.PLIST
 MLRUNTIMEPLIST=	${WRKDIR}/.PLIST-runtime
 MLSRCPLIST=	${WRKDIR}/.PLIST-src
 MLPLISTFILES=	${.CURDIR}/pkg-plist ${MLRUNTIMEPLIST} ${MLSRCPLIST}
 .endif
 
-pre-fetch:
+# Useful for tuning recompilation.
+CMB_COMMAND?=
+
+pre-fetch-EVERYTHING-off:
 	@${ECHO}
-.if ! ${PORT_OPTIONS:MEVERYTHING}
 	@${ECHO} 'Use port option EVERYTHING to also build/install'
+	@${ECHO} ' asdl (Abstract Syntax Description Language),'
 	@${ECHO} ' eXene (X Windows toolkit),'
 	@${ECHO} ' nowhere (preprocessor for conditional patterns),'
 	@${ECHO} ' various libraries, and all the sources.'
-.endif
-.if ! ${PORT_OPTIONS:MRECOMPILE}
+
+pre-fetch-RECOMPILE-off:
+	@${ECHO}
 	@${ECHO} 'Use port option RECOMPILE to recompile the compiler.'
-	@${ECHO} ' This implies EVERYTHING.'
-.endif
+	@${ECHO} ' This implies option EVERYTHING.'
 	@${ECHO}
 
 # make symlinks to the dist files
@@ -134,23 +128,19 @@ post-extract:
 # config/actions.
 
 do-configure:
-.if defined(MLTARGETS)
 	${ECHO_CMD} -n > "${WRKDIR}/.tmp.sed"
 .for t in ${MLTARGETS}
 	${ECHO_CMD} '/^#[ 	]*request[ 	]+${t}$$/s/^#//' >> "${WRKDIR}/.tmp.sed"
 .endfor
 	${SED} -i .default -E -f "${WRKDIR}/.tmp.sed" "${WRKSRC}/config/targets"
-.endif
+
 # Recompilation requires ml-lex and ml-yacc. All requested targets
 # will be built later using the recompiled core system after
 # removing targets.customized. See "do-build" below.
-.if ${PORT_OPTIONS:MRECOMPILE}
-	( ${ECHO_CMD} "request	ml-yacc" && \
-	  ${ECHO_CMD} "request	ml-lex" && \
-	  ${ECHO_CMD} "request	ml-lex-mllex-tool" && \
-	  ${ECHO_CMD} "request	src-smlnj" ) \
-	> "${WRKSRC}/config/targets.customized"
-.endif
+
+do-configure-RECOMPILE-on:
+	${CP} "${FILESDIR}/targets-recompile.customized" \
+	      "${WRKSRC}/config/targets.customized"
 
 # The build target patches, builds, and installs the system within WRKDIR.
 # base/runtime is not cleaned afterwards to avoid its recompilation during
@@ -191,13 +181,15 @@ do-build:
 	MLSTANDARDPATCHES=`${MLSTANDARDPATCHES_CMD}` \
 	MLSTANDARDPATCHDIRS=`${MLSTANDARDPATCHDIRS_CMD}` \
 	MLSOURCEPATCHES=`${MLSOURCEPATCHES_CMD}` \
-	CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \
+	CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \
 	AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \
 	./config/install.sh -default ${MLSIZE}
-.if ${PORT_OPTIONS:MRECOMPILE}
+
+do-build-RECOMPILE-on:
 	-${RM} ${WRKSRC}/config/targets.customized
 	@${ECHO} '(* Recompiling the core system: *)'
-	cd ${WRKSRC}/${RECOMPILEDIR} && ( \
+	cd ${WRKSRC}/${RECOMPILEDIR} && \
+	export PATH="${WRKSRC}/bin:$$PATH" && ( \
 	${ECHO_CMD} 'CM.autoload "$$smlnj/cmb.cm";' ; \
 	${ECHO_CMD} ${CMB_COMMAND} ; \
 	${ECHO_CMD} 'CMB.make ();' ) | \
@@ -218,22 +210,37 @@ do-build:
 	FILESDIR="${FILESDIR}" PATCH="${PATCH}" \
 	PATCH_ARGS="-d ${PATCH_WRKSRC} ${PATCH_ARGS}" \
 	MLNORUNTIMECLEAN=yes RECOMPILEDIR="${RECOMPILEDIR}" \
-	CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \
+	CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \
 	AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \
 	./config/install.sh -default ${MLSIZE}
-.endif
 
-.if ${PORT_OPTIONS:MEVERYTHING}
-post-build:
-	${CHMOD} a-x ${WRKSRC}/eXene/examples/basicwin/test.sh \
-		${WRKSRC}/smlnj-lib/HTML4/helper.py
+post-build-EVERYTHING-on:
+	${MAKE} SHEBANG_FILES="${SHEBANG_FILES}" fix-shebang
 	@${ECHO} '(* Cleaning asdl: *)'
 	${FIND} ${WRKSRC}/asdl -type f \
 		-exec ${GREP} -F -l "${WRKDIR}" {} \; -delete
-.endif
+
+# ${PKGINSTALL} contains multiexec-wrapper, which is used to select
+# between executables of the same name that have been installed by
+# different packages (like smlnj and smlnj-devel). The source of
+# multiexec-wrapper is extracted from ${PKGINSTALL}, and inserted
+# into ${PKGINSTALL} in compressed and encoded form. So it is still
+# available when being installed from a binary package, even if
+# ${PKGINSTALL} is no file at that time (but only input to a shell).
+
+pre-install:
+	@${SED} -e '/^#%%PKG-INSTALL-START%%$$/,/^#%%PKG-INSTALL-END%%$$/d' \
+	       ${PKGINSTALL} > ${PKGINSTALL}.script
+	@${GZIP_CMD} ${PKGINSTALL}.script
+	@b64encode ${PKGINSTALL}.script.gz script.gz > ${PKGINSTALL}.script.gz.b64
+	@${SED} -n -e '1,/~EOF~.$$/p' ${PKGINSTALL} > ${PKGINSTALL}.pre
+	@${SED} -n -e '/^~EOF~$$/,$$p' ${PKGINSTALL} > ${PKGINSTALL}.post
+	@${CAT} ${PKGINSTALL}.pre ${PKGINSTALL}.script.gz.b64 ${PKGINSTALL}.post > ${PKGINSTALL}.full
+	@${DIFF} -q ${PKGINSTALL} ${PKGINSTALL}.full >/dev/null || ${CP} ${PKGINSTALL}.full ${PKGINSTALL}
 
 # Nowadays PLIST has to be computed before installation. We do it in
-# "pre-install" because source extraction happens during "build".
+# "pre-install-EVERYTHING-on" because source extraction happened during
+# "build".
 
 .if ${PORT_OPTIONS:MEVERYTHING}
 MLNOINSTALL=	.cm
@@ -241,16 +248,14 @@ MLNOINSTALL=	.cm
 MLNOINSTALL+=	sml.bin.${MLARCH}-unix sml.boot.${MLARCH}-unix \
 		sml.lib sml.${MLARCH}-bsd
 .endif
-.for excl in ${MLNOINSTALL}
-MLSRCEXCLUDEREGEX+=	-e '/${excl}$$' -e '/${excl}/'
-.endfor
+MLSRCEXCLUDES=		${MLNOINSTALL:@.excl.@--exclude "${.excl.}"@}
+MLSRCEXCLUDEREGEX=	${MLNOINSTALL:@.excl.@-e '/${.excl.}$$' -e '/${.excl.}/'@}
 MLPATCHPATHREGEX=	-E -e 's%(^|[^_])_([^_]|$$)%\1/\2%g' \
 			   -e 's%(^|[^_])__([^_]|$$)%\1_\2%g' \
 			   -e 's%(^|[^_])___([^_]|$$)%\1/_\2%g'
 .endif
 
-pre-install:
-.if ${PORT_OPTIONS:MEVERYTHING}
+pre-install-EVERYTHING-on:
 	@${ECHO} -n '(* Computing package list ...'
 	@${TAR} -tzf ${WRKSRC}/runtime.tgz | \
 	${SED} -E -n -e 's%^(.*[^/])$$%${MLROOTRELATIVE}/base/\1%p' \
@@ -278,22 +283,6 @@ pre-install:
 	@${SED} -e 's/^%%EVERYTHING%%//' ${MLPLISTFILES} | \
 	${GREP} -h "^@dir" | ${SORT} -r -u >> ${PLIST}
 	@${ECHO} ' done. *)'
-.endif
-# ${PKGINSTALL} contains multiexec-wrapper, which is used to select
-# between executables of the same name that have been installed by
-# different packages (like smlnj and smlnj-devel). The source of
-# multiexec-wrapper is extracted from ${PKGINSTALL}, and inserted
-# into ${PKGINSTALL} in compressed and encoded form. So it is still
-# available when being installed from a binary package, even if
-# ${PKGINSTALL} is no file at that time (but only input to a shell).
-	@${SED} -e '/^#%%PKG-INSTALL-START%%$$/,/^#%%PKG-INSTALL-END%%$$/d' \
-	       ${PKGINSTALL} > ${PKGINSTALL}.script
-	@${GZIP_CMD} ${PKGINSTALL}.script
-	@b64encode ${PKGINSTALL}.script.gz script.gz > ${PKGINSTALL}.script.gz.b64
-	@${SED} -n -e '1,/~EOF~.$$/p' ${PKGINSTALL} > ${PKGINSTALL}.pre
-	@${SED} -n -e '/^~EOF~$$/,$$p' ${PKGINSTALL} > ${PKGINSTALL}.post
-	@${CAT} ${PKGINSTALL}.pre ${PKGINSTALL}.script.gz.b64 ${PKGINSTALL}.post > ${PKGINSTALL}.full
-	@${DIFF} -q ${PKGINSTALL} ${PKGINSTALL}.full >/dev/null || ${CP} ${PKGINSTALL}.full ${PKGINSTALL}
 
 # The install target installs the heaps and libraries to their final
 # location in ${MLBIN} and ${MLLIB}.
@@ -302,21 +291,14 @@ pre-install:
 # When staging CM_PATHCONFIG has to point to the final
 # ${MLLIB}/pathconfig (in ${PREFIX}) while building the compiler.
 
-.if ${PORT_OPTIONS:MEVERYTHING}
-MLSRCEXCLUDES=
-.for excl in ${MLNOINSTALL}
-MLSRCEXCLUDES+=	--exclude "${excl}"
-.endfor
-.endif
-
 do-install:
 	${MKDIR} "${STAGEDIR}${MLROOT}"
-.if ! ${PORT_OPTIONS:MRECOMPILE}
+.if !${PORT_OPTIONS:MRECOMPILE}
 	cd ${WRKSRC} && unset PWD && \
 	FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="-d ${PATCH_WRKSRC} ${PATCH_ARGS}" \
 	STAGEDIR="${STAGEDIR}" MLLIB="${MLLIB}" \
 	INSTALLDIR="${STAGEDIR}${MLROOT}" \
-	CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \
+	CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \
 	AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \
 	./config/install.sh -default ${MLSIZE}
 .else
@@ -334,7 +316,7 @@ do-install:
 	FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="-d ${PATCH_WRKSRC} ${PATCH_ARGS}" \
 	STAGEDIR="${STAGEDIR}" MLLIB="${MLLIB}" \
 	INSTALLDIR="${STAGEDIR}${MLROOT}" RECOMPILEDIR="${RECOMPILEDIR}" \
-	CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \
+	CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \
 	AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \
 	./config/install.sh -default ${MLSIZE}
 .endif
diff --git a/lang/smlnj/distinfo b/lang/smlnj/distinfo
index 90b8e54f640a..7895f660fed2 100644
--- a/lang/smlnj/distinfo
+++ b/lang/smlnj/distinfo
@@ -1,49 +1,49 @@
-TIMESTAMP = 1595416789
-SHA256 (smlnj/110.98/MLRISC.tgz) = 208fb9c8cbcfc1c90ab14267e28038a390200002e2bcf3ee5670dcb643ceda11
-SIZE (smlnj/110.98/MLRISC.tgz) = 1460273
-SHA256 (smlnj/110.98/asdl.tgz) = c368bb213caa9b6c198b3cebabad577f3d01a64642046eaf9625ff403c49e59a
-SIZE (smlnj/110.98/asdl.tgz) = 212714
-SHA256 (smlnj/110.98/boot.amd64-unix.tgz) = 39e460e94063b3c85b944c86d29c91ce3995e6fab242a2f77c71d7b04c8e7a7a
-SIZE (smlnj/110.98/boot.amd64-unix.tgz) = 5921092
-SHA256 (smlnj/110.98/boot.x86-unix.tgz) = 1451adf5b9230aaf74d1d28438e4f8126dc56f333bb00b0fc52ff1b596a35281
-SIZE (smlnj/110.98/boot.x86-unix.tgz) = 5912407
-SHA256 (smlnj/110.98/ckit.tgz) = 17c4254b7c1e696591932bc46f1b390c05174b26927fdbab0fa6b0fd9b7baa1a
-SIZE (smlnj/110.98/ckit.tgz) = 201005
-SHA256 (smlnj/110.98/cm.tgz) = f02776bbe417d48a469abd8d3496ce87e6cd7fd8440101cb23ce3b28b8b0fba3
-SIZE (smlnj/110.98/cm.tgz) = 220284
-SHA256 (smlnj/110.98/cml.tgz) = 7ba1063146e419e1ecebfd420b45eeb641bb8f79802cfc45a0c7e3958ad59e4f
-SIZE (smlnj/110.98/cml.tgz) = 104490
-SHA256 (smlnj/110.98/compiler.tgz) = d7a7e6f9e32af242b3a600fd75830b923698db8f4d2318a7cc67512b01663344
-SIZE (smlnj/110.98/compiler.tgz) = 1109928
-SHA256 (smlnj/110.98/config.tgz) = 2ab4a5dff211d84359a50c5d48d607bd4c4f221fee65ac0bcf982f4508692e11
-SIZE (smlnj/110.98/config.tgz) = 517538
-SHA256 (smlnj/110.98/doc.tgz) = 74b7461bc7d1043f3ca1ba55bb64cbd6508b2b3e51c06e5b4eb9db819ec5aa34
-SIZE (smlnj/110.98/doc.tgz) = 2424911
-SHA256 (smlnj/110.98/eXene.tgz) = b48613fe9de6941899d26517cd9c1d4a5779d8a1816ce39d1441481bee8db7e7
-SIZE (smlnj/110.98/eXene.tgz) = 721110
-SHA256 (smlnj/110.98/heap2asm.tgz) = 6a6b4b33e765c0e5dad52232a544c16f1b632d532e2413c6838160beb610061a
-SIZE (smlnj/110.98/heap2asm.tgz) = 1799
-SHA256 (smlnj/110.98/ml-burg.tgz) = bd84ce5671fd1b1156f6779f81dfaabf0801e0c3f476f36e2f2fdb4311d496aa
-SIZE (smlnj/110.98/ml-burg.tgz) = 40552
-SHA256 (smlnj/110.98/ml-lex.tgz) = e47e0144547a04aaa2d4ee63bafb6a40a294e7acc8e072cc9569b9a08942ca86
-SIZE (smlnj/110.98/ml-lex.tgz) = 28167
-SHA256 (smlnj/110.98/ml-lpt.tgz) = 4055ea0bb388893a58453ff8588e1de72a15be94257715bcd66e7a870c08c3d8
-SIZE (smlnj/110.98/ml-lpt.tgz) = 267606
-SHA256 (smlnj/110.98/ml-yacc.tgz) = cf2c6cdbfae352585a59214d2e6a377191504334bf4dfc092e3a0e64667124a1
-SIZE (smlnj/110.98/ml-yacc.tgz) = 101728
-SHA256 (smlnj/110.98/nlffi.tgz) = fb6c671d071c31e50e6792fb015492d8aec6f12b0cea2cd00e0b303c8ce1d98f
-SIZE (smlnj/110.98/nlffi.tgz) = 75095
-SHA256 (smlnj/110.98/old-basis.tgz) = 2952d96a3f6fc9b63e7fdab998916588490ffb65214adf227cf8c3b737ddb17f
-SIZE (smlnj/110.98/old-basis.tgz) = 1215
-SHA256 (smlnj/110.98/pgraph.tgz) = 44f65f685627186e0bd334b1ce6d6bf85262673dfa2b8310e213a570c2216ebd
-SIZE (smlnj/110.98/pgraph.tgz) = 5432
-SHA256 (smlnj/110.98/runtime.tgz) = 36e9fff81baecf8f770efa20b5e56e6f67e71705d8692142d53a590c133183ba
-SIZE (smlnj/110.98/runtime.tgz) = 336383
-SHA256 (smlnj/110.98/smlnj-c.tgz) = caca7a72cc96f5ef00feaadc1ca1329a9e264c070363d88c22b58f0fd4f46b67
-SIZE (smlnj/110.98/smlnj-c.tgz) = 10622
-SHA256 (smlnj/110.98/smlnj-lib.tgz) = 63d25c1c38791ae6d8f34cfcff600bc4c4ad6a166adb8af6402105bd98e444ba
-SIZE (smlnj/110.98/smlnj-lib.tgz) = 631261
-SHA256 (smlnj/110.98/system.tgz) = 555950477c86c0c43b3b6bb7ef907d7690cd214fb19c09a1a735ec9be1dbfa1e
-SIZE (smlnj/110.98/system.tgz) = 278110
-SHA256 (smlnj/110.98/trace-debug-profile.tgz) = e494dc37e39bcdc1e506d5b3b31422488dfd0400184ca5fb7005438253d7fa17
-SIZE (smlnj/110.98/trace-debug-profile.tgz) = 3936
+TIMESTAMP = 1734105334
+SHA256 (smlnj/110.99.6.1/config.tgz) = f4124fa5aff1a2eaa2de3dfd5ac7f3951cace33d72c5375b62db47179570095c
+SIZE (smlnj/110.99.6.1/config.tgz) = 23321
+SHA256 (smlnj/110.99.6.1/runtime.tgz) = 2623737ee667a7579640f35905bf523e6417b708249e9a0697edfc8aa514dd6e
+SIZE (smlnj/110.99.6.1/runtime.tgz) = 335071
+SHA256 (smlnj/110.99.6.1/boot.amd64-unix.tgz) = 91469b2b4dcc7526154568562a5de44b7d92131518a4cdccb4b534982c6189a4
+SIZE (smlnj/110.99.6.1/boot.amd64-unix.tgz) = 5994405
+SHA256 (smlnj/110.99.6.1/boot.x86-unix.tgz) = db2058d30199f01d63602e68b3d49f1fa78a2685a5438ac0725042dcf9da7287
+SIZE (smlnj/110.99.6.1/boot.x86-unix.tgz) = 5946836
+SHA256 (smlnj/110.99.6.1/MLRISC.tgz) = 30f369621adbb086d510ecc9ec62044029bfec5fc99f18f45174bb15e4e9fbba
+SIZE (smlnj/110.99.6.1/MLRISC.tgz) = 1457420
+SHA256 (smlnj/110.99.6.1/ckit.tgz) = be2e9d4992122fe296929a7f8f12cf08d067a3ea9361386f6c4c59e51e4bed67
+SIZE (smlnj/110.99.6.1/ckit.tgz) = 200761
+SHA256 (smlnj/110.99.6.1/cml.tgz) = e6b673a792148ffc595f47f27a834ca21c93cf589f758e809eefc7834b290d0c
+SIZE (smlnj/110.99.6.1/cml.tgz) = 103972
+SHA256 (smlnj/110.99.6.1/doc.tgz) = 3e5896c427df2123eb00eed96a7df7ade7052d1986a2a64b2873b34843f43c49
+SIZE (smlnj/110.99.6.1/doc.tgz) = 2748425
+SHA256 (smlnj/110.99.6.1/heap2asm.tgz) = 38734f304acda0ba58b9ab606e062553f98c078257438680e74599d811edb772
+SIZE (smlnj/110.99.6.1/heap2asm.tgz) = 1721
+SHA256 (smlnj/110.99.6.1/ml-burg.tgz) = e2bb968468f19f2f7b7940fd1a4e056a4a84673347c09a7bb926bdec44f6d29d
+SIZE (smlnj/110.99.6.1/ml-burg.tgz) = 40296
+SHA256 (smlnj/110.99.6.1/ml-lex.tgz) = 6703b7c50503683d9fed3b2ba3a9246a14fbbd237526f41b2e4c18fe6ef1488b
+SIZE (smlnj/110.99.6.1/ml-lex.tgz) = 28039
+SHA256 (smlnj/110.99.6.1/ml-lpt.tgz) = 6916054c4125e2d77b2d0d0b86c5c62ed27fa6dc020d5d66f46783b4cefebe5a
+SIZE (smlnj/110.99.6.1/ml-lpt.tgz) = 267376
+SHA256 (smlnj/110.99.6.1/ml-yacc.tgz) = 0c1478c662a2480e689fbf980f3ed9afca8103a683d5f4bae3e83af6e912a6b7
+SIZE (smlnj/110.99.6.1/ml-yacc.tgz) = 101379
+SHA256 (smlnj/110.99.6.1/nlffi.tgz) = 59f6265fb761ac1aad1388ee0d53728ee16db09d47f81eeb258d815c962d28d3
+SIZE (smlnj/110.99.6.1/nlffi.tgz) = 74692
+SHA256 (smlnj/110.99.6.1/old-basis.tgz) = 23a0c945f231fb4f729c529767addd0d6469bf4a4496359c8806ab2bf12143fb
+SIZE (smlnj/110.99.6.1/old-basis.tgz) = 1365
+SHA256 (smlnj/110.99.6.1/smlnj-lib.tgz) = d6da79c1a3e5ecc0964b89085059bfc2841e7917c28e4a604b11e919bfb29933
+SIZE (smlnj/110.99.6.1/smlnj-lib.tgz) = 666400
+SHA256 (smlnj/110.99.6.1/trace-debug-profile.tgz) = 003f4a5acb244648d31588910889b4aa3d36b080471ba1ed04ce7028c06a7976
+SIZE (smlnj/110.99.6.1/trace-debug-profile.tgz) = 3892
+SHA256 (smlnj/110.99.6.1/asdl.tgz) = 3bafe0db4fe1b0c4c6dc2bcc039f5bb631bee147546c684c1e48b31122890c40
+SIZE (smlnj/110.99.6.1/asdl.tgz) = 241731
+SHA256 (smlnj/110.99.6.1/cm.tgz) = 03772b0b91165f890407aa25c1d68e6e095082404136a7014828bfa5047959dc
+SIZE (smlnj/110.99.6.1/cm.tgz) = 220336
+SHA256 (smlnj/110.99.6.1/compiler.tgz) = 713824739a296845ec91dcede7262c763c85e66f7ce3ab764b2122c18e96dc75
+SIZE (smlnj/110.99.6.1/compiler.tgz) = 888655
+SHA256 (smlnj/110.99.6.1/eXene.tgz) = 7394278c0413b65060604e8318530d0dbbbd20b484559833b3fbb46c8a307c77
+SIZE (smlnj/110.99.6.1/eXene.tgz) = 714459
+SHA256 (smlnj/110.99.6.1/pgraph.tgz) = 903c9a00c07a3eddc27409daf95f1a2df4f1f138fa6b9bcf7ee4b1b6981ad3cc
+SIZE (smlnj/110.99.6.1/pgraph.tgz) = 5367
+SHA256 (smlnj/110.99.6.1/smlnj-c.tgz) = 56eadeea1d132aa9dee7ee4c2415fd711901826ac9fe42952d4ceb208887ee51
+SIZE (smlnj/110.99.6.1/smlnj-c.tgz) = 10592
+SHA256 (smlnj/110.99.6.1/system.tgz) = 1d49fc602c652deebe7b91fda0c2632281b6dc6045ded84c9471244862d94eeb
+SIZE (smlnj/110.99.6.1/system.tgz) = 295678
diff --git a/lang/smlnj/files/do-patch-asdl_config.sh b/lang/smlnj/files/do-patch-asdl_config.sh
index e688167614cc..065049f7cf84 100644
--- a/lang/smlnj/files/do-patch-asdl_config.sh
+++ b/lang/smlnj/files/do-patch-asdl_config.sh
@@ -1,6 +1,6 @@
---- asdl/config.sh.orig	2019-10-27 12:44:07 UTC
+--- asdl/config.sh.orig	2024-10-25 16:47:17 UTC
 +++ asdl/config.sh
-@@ -40,4 +40,10 @@ fi
+@@ -40,4 +40,10 @@ export SMLNJ_CMD
  SMLNJ_CMD=$INSTALLDIR/bin/sml
  export SMLNJ_CMD
  
diff --git a/lang/smlnj/files/do-patch-asdl_src_asdlgen_Makefile.in b/lang/smlnj/files/do-patch-asdl_src_asdlgen_Makefile.in
index f326f3b0d438..eb7a0f5ed041 100644
--- a/lang/smlnj/files/do-patch-asdl_src_asdlgen_Makefile.in
+++ b/lang/smlnj/files/do-patch-asdl_src_asdlgen_Makefile.in
@@ -1,6 +1,6 @@
---- asdl/src/asdlgen/Makefile.in.orig	2019-12-22 02:16:49 UTC
+--- asdl/src/asdlgen/Makefile.in.orig	2024-10-25 16:47:17 UTC
 +++ asdl/src/asdlgen/Makefile.in
-@@ -60,8 +60,8 @@ CM_FILES =		back-end/sml/sources.cm \
+@@ -60,8 +60,8 @@ CODE_FRAG_DIRS =	back-end/sml
  
  CODE_FRAG_DIRS =	back-end/sml
  
@@ -38,7 +38,7 @@
  
  #################### Cleanup ####################
  
-@@ -125,4 +129,4 @@ DISTCLEAN_FILES +=      Makefile \
+@@ -125,4 +129,4 @@ DEVCLEAN_FILES =
  
  DEVCLEAN_FILES =
  
diff --git a/lang/smlnj/files/do-patch-base_compiler_Parse_lex_ml.lex b/lang/smlnj/files/do-patch-base_compiler_Parse_lex_ml.lex
index a3920d4cb624..abac5a956584 100644
--- a/lang/smlnj/files/do-patch-base_compiler_Parse_lex_ml.lex
+++ b/lang/smlnj/files/do-patch-base_compiler_Parse_lex_ml.lex
@@ -1,6 +1,6 @@
---- base/compiler/Parse/lex/ml.lex.orig	2018-05-28 17:11:09 UTC
+--- base/compiler/Parse/lex/ml.lex.orig	2024-10-25 16:47:18 UTC
 +++ base/compiler/Parse/lex/ml.lex
-@@ -66,7 +66,7 @@ exp=[eE](~?){num};
+@@ -66,7 +66,7 @@ hexnum={xdigit}+;
  real=(~?)(({num}{frac}?{exp})|({num}{frac}{exp}?));
  xdigit=[0-9a-fA-F];
  hexnum={xdigit}+;
diff --git a/lang/smlnj/files/do-patch-base_compiler_Parse_lex_sml.lex b/lang/smlnj/files/do-patch-base_compiler_Parse_lex_sml.lex
index 083869374ba8..6d7499398fed 100644
--- a/lang/smlnj/files/do-patch-base_compiler_Parse_lex_sml.lex
+++ b/lang/smlnj/files/do-patch-base_compiler_Parse_lex_sml.lex
@@ -1,6 +1,6 @@
---- base/compiler/Parse/lex/sml.lex.orig	2018-05-28 17:11:09 UTC
+--- base/compiler/Parse/lex/sml.lex.orig	2024-10-25 16:47:18 UTC
 +++ base/compiler/Parse/lex/sml.lex
-@@ -114,7 +114,7 @@ hexnum={xdigit}("_"*{xdigit})*;
+@@ -114,7 +114,7 @@ real=(~?)(({num}{frac}?{exp})|({num}{frac}{exp}?));
  frac="."{num};
  exp=[eE](~?){num};
  real=(~?)(({num}{frac}?{exp})|({num}{frac}{exp}?));
diff --git a/lang/smlnj/files/do-patch-base_runtime_include_ml-unixdep.h b/lang/smlnj/files/do-patch-base_runtime_include_ml-unixdep.h
index 6fa30f7f315e..32f0357efcc2 100644
--- a/lang/smlnj/files/do-patch-base_runtime_include_ml-unixdep.h
+++ b/lang/smlnj/files/do-patch-base_runtime_include_ml-unixdep.h
@@ -1,4 +1,4 @@
---- base/runtime/include/ml-unixdep.h.orig	2019-11-14 19:24:04 UTC
+--- base/runtime/include/ml-unixdep.h.orig	2024-10-25 16:47:18 UTC
 +++ base/runtime/include/ml-unixdep.h
 @@ -33,9 +33,10 @@
   *   HAS_UCONTEXT		if signal handlers have a ucontext_t argument.
diff --git a/lang/smlnj/files/do-patch-base_runtime_objs_makefile b/lang/smlnj/files/do-patch-base_runtime_objs_makefile
index ddd887f5d610..7ceadbeeb400 100644
--- a/lang/smlnj/files/do-patch-base_runtime_objs_makefile
+++ b/lang/smlnj/files/do-patch-base_runtime_objs_makefile
@@ -1,6 +1,6 @@
---- base/runtime/objs/makefile.orig	2019-11-10 14:00:54 UTC
+--- base/runtime/objs/makefile.orig	2024-10-25 16:47:18 UTC
 +++ base/runtime/objs/makefile
-@@ -5,10 +5,12 @@
+@@ -7,10 +7,12 @@ MAKE =		make
  
  SHELL =		/bin/sh
  MAKE =		make
@@ -17,7 +17,7 @@
  AR =		ar
  ARFLAGS =	rcv
  RANLIB =	ranlib
-@@ -37,8 +39,6 @@ MP_DIR =	$(ROOT_DIR)/mp
+@@ -39,8 +41,6 @@ CONFIG_DIR =	$(ROOT_DIR)/config
  CLIB_DIR =	$(ROOT_DIR)/c-libs
  CONFIG_DIR =	$(ROOT_DIR)/config
  
@@ -26,7 +26,7 @@
  INCLUDES =	-I$(OBJS_DIR) -I$(INC_DIR)
  GC_INCLUDES =	$(INCLUDES) -I$(GC_DIR)
  GEN_INCLUDES =	-I$(CONFIG_DIR) $(INCLUDES)
-@@ -275,7 +275,7 @@ prim.o:		$(MACH_DIR)/$(TARGET).prim.asm \
+@@ -277,7 +277,7 @@ prim.o:		$(MACH_DIR)/$(TARGET).prim.asm \
  		$(MACH_DIR)/x86-syntax.h \
  		mlstate-offsets.h
  	$(CPP) -D_ASM_ $(DEFS) $(INCLUDES) $(MACH_DIR)/$(TARGET).prim.asm > prim.s
diff --git a/lang/smlnj/files/do-patch-base_runtime_objs_mk.amd64-freebsd b/lang/smlnj/files/do-patch-base_runtime_objs_mk.amd64-freebsd
index e1dd50843d0f..a3adff6c9131 100644
--- a/lang/smlnj/files/do-patch-base_runtime_objs_mk.amd64-freebsd
+++ b/lang/smlnj/files/do-patch-base_runtime_objs_mk.amd64-freebsd
@@ -1,6 +1,6 @@
---- base/runtime/objs/mk.amd64-freebsd.orig	2019-11-14 19:33:11 UTC
+--- base/runtime/objs/mk.amd64-freebsd.orig	2024-10-25 16:47:18 UTC
 +++ base/runtime/objs/mk.amd64-freebsd
-@@ -6,9 +6,10 @@
+@@ -6,9 +6,10 @@ MAKE =		make
  SHELL =		/bin/sh
  
  MAKE =		make
@@ -14,7 +14,7 @@
  CPP =		cc -x assembler-with-cpp -E -P
  XOBJS =
  XLIBS =		../c-libs/dl/libunix-dynload.a
-@@ -26,6 +27,6 @@ RUNTIME_SO =	run.amd64-freebsd.so
+@@ -26,6 +27,6 @@ all:
  RUNTIME_A =	run.amd64-freebsd.a
  
  all:
diff --git a/lang/smlnj/files/do-patch-base_runtime_objs_mk.x86-freebsd b/lang/smlnj/files/do-patch-base_runtime_objs_mk.x86-freebsd
index 08e1747155f8..d0fcd0a64695 100644
--- a/lang/smlnj/files/do-patch-base_runtime_objs_mk.x86-freebsd
+++ b/lang/smlnj/files/do-patch-base_runtime_objs_mk.x86-freebsd
@@ -1,6 +1,6 @@
---- base/runtime/objs/mk.x86-freebsd.orig	2019-11-14 19:19:39 UTC
+--- base/runtime/objs/mk.x86-freebsd.orig	2024-10-25 16:47:18 UTC
 +++ base/runtime/objs/mk.x86-freebsd
-@@ -6,20 +6,20 @@
+@@ -6,20 +6,20 @@ MAKE =		make
  SHELL =		/bin/sh
  
  MAKE =		make
@@ -23,15 +23,15 @@
 +#CHECK_HEAP =	check-heap.o
 +XDEFS =		-DASSERT_ON
  BASE_DEFS =
--DEFS =		$(BASE_DEFS) -DARCH_X86 -DDSIZE_32 -DOPSYS_UNIX -DOPSYS_FREEBSD \
--		-DGNU_ASSEMBLER -DDLOPEN -DINDIRECT_CFUNC
-+DEFS =		$(XDEFS) $(BASE_DEFS) -DARCH_X86 -DSIZE_32 \
-+		-DOPSYS_UNIX -DOPSYS_FREEBSD -D_GNU_SOURCE -DGNU_ASSEMBLER -DDLOPEN \
-+		-DINDIRECT_CFUNC
+-DEFS =		$(BASE_DEFS) -DARCH_X86 -DDSIZE_32 -DALIGN_STACK_16 \
+-		-DOPSYS_UNIX -DOPSYS_FREEBSD -DGNU_ASSEMBLER -DDLOPEN -DINDIRECT_CFUNC
++DEFS =		$(XDEFS) $(BASE_DEFS) -DARCH_X86 -DSIZE_32 -DALIGN_STACK_16 \
++		-DOPSYS_UNIX -DOPSYS_FREEBSD -D_GNU_SOURCE -DGNU_ASSEMBLER \
++		-DDLOPEN -DINDIRECT_CFUNC
  TARGET =	X86
  VERSION =	v-x86-freebsd
  RUNTIME =	run.x86-freebsd
-@@ -27,6 +27,6 @@ RUNTIME_SO =	run.x86-freebsd.so
+@@ -27,6 +27,6 @@ all:
  RUNTIME_A =	run.x86-freebsd.a
  
  all:
diff --git a/lang/smlnj/files/do-patch-smlnj-lib_JSON_json-util.sml b/lang/smlnj/files/do-patch-smlnj-lib_JSON_json-util.sml
deleted file mode 100644
index 899d29638aad..000000000000
--- a/lang/smlnj/files/do-patch-smlnj-lib_JSON_json-util.sml
+++ /dev/null
@@ -1,29 +0,0 @@
---- smlnj-lib/JSON/json-util.sml.orig	2017-04-29 15:39:27 UTC
-+++ smlnj-lib/JSON/json-util.sml
-@@ -133,7 +133,7 @@ structure JSONUtil : sig
- 
-     fun lookupField (v as J.OBJECT fields) = let
- 	  fun find lab = (case List.find (fn (l, v) => (l = lab)) fields
--		 of NONE => raise FieldNotFound(v, concat["no definition for field \"", lab, "\""])
-+		 of NONE => raise FieldNotFound(v, lab)
- 		  | SOME(_, v) => v
- 		(* end case *))
- 	  in
-@@ -197,7 +197,7 @@ structure JSONUtil : sig
-     fun get (v, []) = v
-       | get (v as J.OBJECT fields, SEL lab :: rest) =
- 	  (case List.find (fn (l, v) => (l = lab)) fields
--	   of NONE => raise raise FieldNotFound(v, concat["no definition for field \"", lab, "\""])
-+	   of NONE => raise FieldNotFound(v, lab)
- 	    | SOME(_, v) => get (v, rest)
- 	  (* end case *))
-       | get (v, SEL _ :: _) = raise NotObject v
-@@ -222,7 +222,7 @@ structure JSONUtil : sig
-   (* follow a path into a JSON value while constructing a zipper *)
-     fun unzip (v, []) = (ZNIL, v)
-       | unzip (v as J.OBJECT fields, SEL lab :: rest) = let
--          fun find (_, []) = raise FieldNotFound(v, concat["no definition for field \"", lab, "\""])
-+          fun find (_, []) = raise FieldNotFound(v, lab)
-             | find (pre, (l, v)::flds) = if (l = lab)
-                 then let
- 		  val (zipper, v) = unzip (v, rest)
diff --git a/lang/smlnj/files/patch-config_install.sh b/lang/smlnj/files/patch-config_install.sh
index 30136bb39e5c..0603795215d0 100644
--- a/lang/smlnj/files/patch-config_install.sh
+++ b/lang/smlnj/files/patch-config_install.sh
@@ -1,6 +1,6 @@
---- config/install.sh.orig	2020-04-03 02:04:40 UTC
+--- config/install.sh.orig	2024-10-25 16:47:18 UTC
 +++ config/install.sh
-@@ -56,11 +56,36 @@ if [ x"$SIZE_OPT" = x ] ; then
+@@ -52,11 +52,36 @@ fi
      SIZE_OPT="-"$DEFAULT_SIZE
  fi
  
@@ -37,7 +37,7 @@
  vsay() {
      if [ x${INSTALL_DEBUG} = xtrue ] ; then
  	echo "$@"
-@@ -128,7 +153,28 @@ trap 'cd "$ROOT"; rm -f $tmpfiles' 0 1 2 3 15
+@@ -124,7 +149,28 @@ export CM_PATHCONFIG
  # Especially important is CM_PATHCONFIG.
  #
  export CM_PATHCONFIG
@@ -67,7 +67,7 @@
  #
  # the release version that we are installing
  #
-@@ -407,7 +453,12 @@ esac
+@@ -403,7 +449,12 @@ BOOT_ARCHIVE=boot.$ARCH-unix
  # the name of the bin files directory
  #
  BOOT_ARCHIVE=boot.$ARCH-unix
@@ -81,7 +81,7 @@
  
  #
  # build the run-time system
-@@ -416,9 +467,15 @@ if [ -x "$RUNDIR"/run.$ARCH-$OPSYS ]; then
+@@ -412,9 +463,15 @@ else
      vsay $this: Run-time system already exists.
  else
      "$CONFIGDIR"/unpack "$ROOT" runtime
@@ -98,7 +98,7 @@
      if [ -x run.$ARCH-$OPSYS ]; then
  	mv run.$ARCH-$OPSYS "$RUNDIR"
  	if [ -f runx.$ARCH-$OPSYS ]; then
-@@ -430,7 +487,7 @@ else
+@@ -426,7 +483,7 @@ else
  	if [ -f run.$ARCH-$OPSYS.a ]; then
  	    mv run.$ARCH-$OPSYS.a "$RUNDIR"
  	fi
@@ -107,7 +107,7 @@
      else
  	complain "$this: !!! Run-time system build failed for some reason."
      fi
-@@ -456,7 +513,7 @@ if [ -r "$HEAPDIR"/sml.$HEAP_SUFFIX ]; then
+@@ -452,7 +509,7 @@ else
  	complain "$this !!! Unable to re-create heap image (sml.$HEAP_SUFFIX)."
      fi
  else
@@ -116,7 +116,7 @@
  
      fish "$ROOT"/"$BOOT_FILES"/smlnj/basis
  
-@@ -491,7 +548,7 @@ else
+@@ -487,7 +544,7 @@ else
  	    cd "$ROOT"/"$BOOT_FILES"
  	    for anchor in * ; do
  		if [ -d $anchor ] ; then
@@ -125,7 +125,7 @@
  		    move $anchor "$LIBDIR"/$anchor
  		fi
  	    done
-@@ -514,6 +571,18 @@ installdriver _ml-build ml-build
+@@ -510,6 +567,18 @@ cd "$ROOT"
  
  cd "$ROOT"
  
@@ -144,7 +144,7 @@
  #
  # Now do all the rest using the precompiled installer
  # (see base/system/smlnj/installer for details)
-@@ -523,6 +592,12 @@ if [ $nolib = false ] ; then
+@@ -519,6 +588,12 @@ if [ $nolib = false ] ; then
      export ROOT INSTALLDIR CONFIGDIR BINDIR
      CM_TOLERATE_TOOL_FAILURES=true
      export CM_TOLERATE_TOOL_FAILURES
@@ -157,7 +157,7 @@
      if "$BINDIR"/sml $SIZE_OPT -m \$smlnj/installer.cm
      then
  	# because we create heap2exec without knowing if heap2asm is going
-@@ -536,5 +611,20 @@ if [ $nolib = false ] ; then
+@@ -532,5 +607,20 @@ fi
  	complain "$this: !!! Installation of libraries and programs failed."
      fi
  fi
diff --git a/lang/smlnj/files/patch-config_unpack b/lang/smlnj/files/patch-config_unpack
index e53f3531c3d6..b42beab8b840 100644
--- a/lang/smlnj/files/patch-config_unpack
+++ b/lang/smlnj/files/patch-config_unpack
@@ -1,12 +1,26 @@
---- config/unpack.orig	2019-10-28 14:53:16 UTC
+--- config/unpack.orig	2024-10-25 16:47:18 UTC
 +++ config/unpack
-@@ -291,6 +291,9 @@ do
+@@ -204,6 +204,13 @@ unpack() {
+     tryfetch=yes
+     if [ -d "$2"/"$3" ]; then
+ 	vsay "$this: The $1 tree already exists."
++    elif [ x`uname` = xFreeBSD ]; then 
++	# XXX Mac OS X resource files (._*) cause tar to fail with
++	# "Cannot restore extended attributes: com.apple.metadata:..."
++	# We dont't have to use fetch_n_unpack here because the port
++	# already fetched the upstream tarballs to $ROOT.
++    	vsay "$this: Un-TAR-ing $1 archive."
++	tar -x -C "$2" --exclude "._*" -f "$ROOT"/"$4".t* || true
+     else
+ 	fetch_n_unpack "$1" "$2" "$3" "$4"
+     fi
+@@ -290,6 +297,9 @@ do
+ 	unpack "documentation" "$ROOT" doc doc
          # cd $ROOT/doc
  	# build $ROOT
- 	;;
++	;;
 +      asdl)
 +	unpack "Abstract Syntax Description Library" "$ROOT" asdl asdl
-+	;;
+ 	;;
        *)
  	echo Unknown package: ${i}.
- 	echo Trying default method...
diff --git a/lang/smlnj/files/targets-recompile.customized b/lang/smlnj/files/targets-recompile.customized
new file mode 100644
index 000000000000..099a1099d5b8
--- /dev/null
+++ b/lang/smlnj/files/targets-recompile.customized
@@ -0,0 +1,7 @@
+# This file is installed to config/targets.customized by
+# do-configure-RECOMPILE-on in the port's Makefile, because the
+# following targets are required before recompiling the compiler.
+request	ml-lex
+request	ml-yacc
+request	ml-lex-mllex-tool
+request	src-smlnj
diff --git a/lang/smlnj/pkg-plist b/lang/smlnj/pkg-plist
index 7dfc689692dd..7bb7723b01a7 100644
--- a/lang/smlnj/pkg-plist
+++ b/lang/smlnj/pkg-plist
@@ -1,4 +1,4 @@
-share/man/man1/asdlgen.1.gz
+%%EVERYTHING%%share/man/man1/asdlgen.1.gz
 share/man/man1/heap2exec.1.gz
 share/man/man1/ml-antlr.1.gz
 share/man/man1/ml-build.1.gz
@@ -11,7 +11,7 @@ share/man/man1/ml-yacc.1.gz
 share/man/man1/sml.1.gz
 share/man/man7/smlnj.7.gz
 smlnj/bin/.arch-n-opsys
-smlnj/bin/.heap/asdlgen.%%MLARCH%%-bsd
+%%EVERYTHING%%smlnj/bin/.heap/asdlgen.%%MLARCH%%-bsd
 smlnj/bin/.heap/heap2asm.%%MLARCH%%-bsd
 smlnj/bin/.heap/ml-antlr.%%MLARCH%%-bsd
 smlnj/bin/.heap/ml-burg.%%MLARCH%%-bsd
@@ -26,7 +26,7 @@ smlnj/bin/.run/run.%%MLARCH%%-freebsd
 smlnj/bin/.run/run.%%MLARCH%%-freebsd.a
 %%RUNTIME_SO%%smlnj/bin/.run/run.%%MLARCH%%-freebsd.so
 smlnj/bin/.run-sml
-smlnj/bin/asdlgen
+%%EVERYTHING%%smlnj/bin/asdlgen
 smlnj/bin/heap2asm
 smlnj/bin/heap2exec
 smlnj/bin/ml-antlr
@@ -66,9 +66,9 @@ smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/SPARC.cm
 smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/StagedAlloc.cm
 smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Visual.cm
 %%EVERYTHING%%smlnj/lib/basis-2004.cm/.cm/%%MLARCH%%-unix/basis-2004.cm
-smlnj/lib/asdl-ext.cm/.cm/%%MLARCH%%-unix/asdl-ext.cm
-smlnj/lib/asdl-lib.cm/.cm/%%MLARCH%%-unix/asdl-lib.cm
-smlnj/lib/asdlgen-tool.cm/.cm/%%MLARCH%%-unix/asdlgen-tool.cm
+%%EVERYTHING%%smlnj/lib/asdl-ext.cm/.cm/%%MLARCH%%-unix/asdl-ext.cm
+%%EVERYTHING%%smlnj/lib/asdl-lib.cm/.cm/%%MLARCH%%-unix/asdl-lib.cm
+%%EVERYTHING%%smlnj/lib/asdlgen-tool.cm/.cm/%%MLARCH%%-unix/asdlgen-tool.cm
 smlnj/lib/burg-ext.cm/.cm/%%MLARCH%%-unix/burg-ext.cm
 %%MLSIZE32%%smlnj/lib/c/.cm/%%MLARCH%%-unix/c.cm
 %%MLSIZE32%%smlnj/lib/c/internals/.cm/%%MLARCH%%-unix/c-int.cm



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202412301412.4BUECSAt090299>