git: e7fb3d8cf502 - main - lang/smlnj: Update to 110.99.6.1
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 30 Dec 2024 14:12:28 UTC
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