Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Oct 2021 07:43:33 GMT
From:      Koichiro Iwao <meta@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 042847b1b437 - main - lang/mlton: Update to 20210816
Message-ID:  <202110200743.19K7hXYa004269@gitrepo.freebsd.org>

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

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

commit 042847b1b437634da916eb1386273a7fd8777a89
Author:     Timothy Beyer <beyert_freebsd@fastmail.net>
AuthorDate: 2021-10-19 10:24:12 +0000
Commit:     Koichiro Iwao <meta@FreeBSD.org>
CommitDate: 2021-10-20 07:42:18 +0000

    lang/mlton: Update to 20210816
    
    and fix build for FreeBSD 12 and 13.
    
    PR:             259261
---
 lang/mlton/Makefile                            |  280 +-
 lang/mlton/distinfo                            |   21 +-
 lang/mlton/files/add-local-cross               |  191 -
 lang/mlton/files/ml.grm.sig                    |   88 -
 lang/mlton/files/ml.grm.sml                    | 5497 -----------------------
 lang/mlton/files/ml.lex.sml                    | 5660 ------------------------
 lang/mlton/files/mlb.grm.sig                   |   32 -
 lang/mlton/files/mlb.grm.sml                   |  894 ----
 lang/mlton/files/mlb.lex.sml                   | 1854 --------
 lang/mlton/files/patch-Makefile                |   40 +-
 lang/mlton/files/patch-lib_mlrisc-lib_Makefile |   12 +
 lang/mlton/files/patch-runtime-Makefile        |   67 -
 lang/mlton/files/patch-runtime_gc_int-inf.c    |   13 -
 lang/mlton/files/upgrade-basis.sml             |   68 -
 lang/mlton/files/yacc.grm.sig                  |   54 -
 lang/mlton/files/yacc.grm.sml                  | 1053 -----
 lang/mlton/files/yacc.lex.sml                  |  901 ----
 lang/mlton/pkg-plist                           | 1797 +-------
 18 files changed, 416 insertions(+), 18106 deletions(-)

diff --git a/lang/mlton/Makefile b/lang/mlton/Makefile
index 407e3d7cf258..433ebbec281d 100644
--- a/lang/mlton/Makefile
+++ b/lang/mlton/Makefile
@@ -1,187 +1,215 @@
 # Created by: Stephen Weeks <sweeks@sweeks.com>
 
-# Previouly maintained by Jesper Louis Andersen
+# Previously maintained by Jesper Louis Andersen
 # (jesper.louis.andersen@gmail.com) and Geoffrey Mainland
 # (mainland@apeiron.net)
 #
 # Because MLton is written in SML, it needs an SML compiler to build.
 # It is easiest to use another (earlier) binary version of MLton as
 # the SML compiler.  So, this Makefile fetches and installs an
-# alread-built version of MLton, BOOT_DIST, to use for bootstrapping.
-
+# already-built version of MLton, BOOT_DIST, to use for bootstrapping.
 PORTNAME=	mlton
-PORTVERSION=	20100608
-PORTREVISION=	8
+PORTVERSION=	20210816
 CATEGORIES=	lang
-MASTER_SITES=	SF http://www.tbrk.org/distfiles/
-DISTFILES=	${SRC_DIST} ${BOOT_DIST}
-EXTRACT_ONLY=	${SRC_DIST}
+MASTER_SITES+=	https://github.com/beyert/mlton-freebsd_bootstrap/raw/c7371c1/:bootstrap
+DISTFILES+= ${BOOTNAME}.i386-${OPSYS:tl}-13.txz:bootstrap \
+	${BOOTNAME}.amd64-${OPSYS:tl}-13.txz:bootstrap \
+	${BOOTNAME}.i386-${OPSYS:tl}-12.txz:bootstrap \
+	${BOOTNAME}.amd64-${OPSYS:tl}-12.txz:bootstrap \
+	${BOOTNAME}.i386-${OPSYS:tl}-11.txz:bootstrap \
+	${BOOTNAME}.amd64-${OPSYS:tl}-11.txz:bootstrap
 
 MAINTAINER=	beyert@cs.ucr.edu
 COMMENT=	Optimizing Standard ML compiler
 
+LICENSE=	HPND
+LICENSE_GROUPS=	COPYFREE OSI
+LICENSE_NAME=	Historical Permission Notice and Disclaimer
+LICENSE_FILE=	${WRKSRC}/LICENSE
+LICENSE_PERMS=	${_LICENSE_PERMS_DEFAULT}
+
+ONLY_FOR_ARCHS=	amd64 i386
+
+BUILD_DEPENDS=	bash:shells/bash
 LIB_DEPENDS=	libgmp.so:math/gmp
 RUN_DEPENDS=	bash:shells/bash
-BUILD_DEPENDS=	bash:shells/bash
 
-LICENSE_FILE=	doc/license/MLton-LICENSE
+USES=	compiler:c11 gmake
 
-OPTIONS_DEFINE=	SMLNJ MINGW32 DOCS
-SMLNJ_DESC=	Bootstrap with SML/NJ (can take >15 hours)
-MINGW32_DESC=	Add the mingw32 target (requires wine)
+BOOTNAME=	${BOOTNAMEPREFIX}${PORTNAME}${BOOTNAMESUFFIX}-${BOOTVERSIONPREFIX}${BOOTVERSION}${BOOTVERSIONSUFFIX}
+BOOTVERSIONSUFFIX=
+BOOTVERSION=	${PORTVERSION}
+BOOTOSMAJ=	${OSREL:R}
 
-MAKE_JOBS_UNSAFE=	yes
-USES=		gmake shebangfix
-USE_GCC=	yes
+OPTIONS_DEFINE=	DOCS EXAMPLES
+
+OPTIONS_SINGLE=	TARGET BOOTSTRAP
+OPTIONS_SINGLE_TARGET=	NATIVE MINGW32
+OPTIONS_SINGLE_BOOTSTRAP=	MLTON SMLNJ POLYML WINE
+
+OPTIONS_DEFAULT=	NATIVE MLTON
+
+MLTON_DESC=		Bootstrap with MLton (ideal if supported)
+SMLNJ_DESC=		Bootstrap with SML/NJ (can take many hours)
+POLYML_DESC=	Bootstrap with PolyML
+WINE_DESC=		Bootstrap MINGW32 with wine
+
+NATIVE_DESC=	Use default target for given architecture
+MINGW32_DESC=	Add mingw32 Windows target (requires wine)
 
 .include <bsd.port.options.mk>
 
-.if ${PORT_OPTIONS:MDOCS}
-BUILD_DEPENDS+=	gsed:textproc/gsed \
-		htmldoc:textproc/htmldoc
-USE_TEX=	latex:build
-.else
-INSTALL_TARGET=	install-no-docs remove-docs
-ALL_TARGET=	all-no-docs
+.if ${PORT_OPTIONS:MMINGW32}
+BROKEN+=	not yet implemented MINGW32 option in modern versions of ${PORTNAME}
 .endif
 
-SRC_DIST=	${DISTNAME}.src.tgz
+BOOT_WRKSRC=	${WRKSRC}/build
+BOOT_WRKTMP=	${WRKDIR}/mlton-bootstrap
 
-.if ${PORT_OPTIONS:MSMLNJ}
-BROKEN=	${DISTNAME}-${PORTVERSION} does not bootstrap properly with smlnj
+.if ! ${PORT_OPTIONS:MMLTON}
+MAKE_ARGS=	DESTDIR='' MLTON_VERSION=${PORTVERSION} \
+	PATH=${WRKSRC}/build/bin:${WRKDIR}/bin:${PATH} \
+	PREFIX=${PREFIX} \
+	WITH_GMP_DIR=${PREFIX}
+.else
+MAKE_ARGS=	DESTDIR='' MLTON_VERSION=${PORTVERSION} \
+	PATH=${WRKSRC}/build/bin:${BOOT_WRKSRC}/bin:${PATH} \
+	PREFIX=${PREFIX} \
+	SML_LIB=${BOOT_WRKSRC}/lib/sml WITH_GMP_DIR=${PREFIX} \
+	PREFIX=${PREFIX} LIB=${BOOT_WRKSRC}/lib \
+	TDOC=${STAGEDIR}${DOCSDIR} \
+	TEXM=${STAGEDIR}${EXAMPLESDIR}
+.endif
+
+.if ${PORT_OPTIONS:MDOCS}
+BUILD_DEPENDS+=	htmldoc:textproc/htmldoc
+MAKE_ARGS+=	MLTON_BINARY_RELEASE_WITH_DOCS=true
+#USE_TEX=	latex:build
+USE_TEX=	latex:formats
+INSTALL_TARGET=	install-docs install
+ALL_TARGET=	install-docs all
+.else
+MAKE_ARGS+=	MLTON_BINARY_RELEASE_WITH_DOCS=false
+INSTALL_TARGET=	install
+ALL_TARGET=	all
 .endif
 
 .if ${PORT_OPTIONS:MSMLNJ}
 BUILD_DEPENDS+=	smlnj>=110.65:lang/smlnj
 BOOT_DIST=
+MAKE_JOBS_UNSAFE=	yes
 MAKE_ENV+=	SMLNJ_DEVEL=yes
 .if ! ${PORT_OPTIONS:MDOCS}
-ALL_TARGET=	smlnj-mlton all-no-docs
-.else
 ALL_TARGET=	smlnj-mlton all
+.else
+ALL_TARGET=	smlnj-mlton install-docs all
+.endif
+.elif ${PORT_OPTIONS:MPOLYML}
+BUILD_DEPENDS+=	polyc:lang/polyml
+BOOT_DIST=
+MAKE_JOBS_UNSAFE=	yes
+#CPPFLAGS+=	-L/usr/local/lib -lpolyml -lpolymain
+#LDFLAGS+=	-L/usr/local/lib -lpolyml -lpolymain
+.if ! ${PORT_OPTIONS:MDOCS}
+ALL_TARGET=	polyml-mlton all
+.else
+ALL_TARGET=	polyml-mlton install-docs all
 .endif
+.elif ${PORT_OPTIONS:MNATIVE}
+BOOT_DIST=	${BOOTNAME}.${ARCH}-${OPSYS:tl}-${BOOTOSMAJ}.txz
 .else
-BOOT_DIST=	${PORTNAME}-${PORTVERSION}-1.${MACHINE_ARCH}-freebsd${OSRELMAJ}.${BOOT_SUF}
+BOOT_DIST=
 .endif
 
-.if ${PORT_OPTIONS:MMINGW32}
+BOOT_DIST_NEW=	${PKGNAME}${DISTVERSIONSUFFIX}.${ARCH}-${OPSYS:tl}-${OSREL:R}-${HOST}${BOOT_SUFX}
+
+.if ${PORT_OPTIONS:MMINGW32} && ${PORT_OPTIONS:MWINE}
 BUILD_DEPENDS+=	wine:emulators/wine \
 		mingw32-gcc:devel/mingw32-gcc \
 		${LOCALBASE}/mingw32/lib/libgmp.a:math/mingw32-libgmp
 RUN_DEPENDS+=	mingw32-gcc:devel/mingw32-gcc \
 		${LOCALBASE}/mingw32/lib/libgmp.a:math/mingw32-libgmp
-SSP_CFLAGS?=	-fstack-protector # XXX -strong isn't supported by GCC < 4.9
+SSP_CFLAGS?=	-fstack-protector	# XXX -strong isn't supported by GCC < 4.9
 
 PLIST_SUB+=	MINGW32CROSS=""
 .else
 PLIST_SUB+=	MINGW32CROSS="@comment "
 .endif
 
-# MINGW32 requires wine, which doesn't have an official amd64 port
-.if ${PORT_OPTIONS:MSMLNJ} || ${PORT_OPTIONS:MMINGW32}
-ONLY_FOR_ARCHS=	i386
-.else
-ONLY_FOR_ARCHS=	i386 amd64
-.endif
-
-BOOT_WRKSRC=	${WRKDIR}/mlton-bootstrap
+USE_GITHUB=	yes
+GH_ACCOUNT=	MLton
+GH_PROJECT=	mlton
+GH_TAGNAME=	b2fca3d
 
-MAKE_ARGS=	DESTDIR='' \
-		PATH=${WRKSRC}/build/bin:${BOOT_WRKSRC}/bin:${PATH} \
-		PREFIX=${PREFIX}
-
-.if ${ARCH} == "i386"
-MLTON_ARCH=	"x86"
-.elif ${ARCH} == "amd64"
-MLTON_ARCH=	"x64"
-.endif
-
-BOOT_EXTRACT=	--bzip2
-BOOT_SUF=	tbz
+BOOT_CMD=	--xz
+BOOT_SUFX=	.txz
 
 post-extract:
-	@${CP} ${FILESDIR}/add-local-cross ${WRKSRC}/bin/
-	@${CHMOD} 755 ${WRKSRC}/bin/add-local-cross
-.if ${PORT_OPTIONS:MSMLNJ}
-	@${CP} ${FILESDIR}/upgrade-basis.sml ${WRKSRC}/mlton/
-	@for f in `ls ${FILESDIR}/ml.* ${FILESDIR}/mlb.*`; do \
-		${CP} $$f ${WRKSRC}/mlton/front-end/; \
-	done
-	@for f in `ls ${FILESDIR}/yacc.*`; do \
-		${CP} $$f ${WRKSRC}/mlyacc/src/; \
-	done
-.else
 	@${MKDIR} ${BOOT_WRKSRC}
-	@${TAR} xf ${DISTDIR}/${BOOT_DIST} ${BOOT_EXTRACT} -C ${BOOT_WRKSRC}
+.if ${PORT_OPTIONS:MMLTON}
+	@${TAR} xf ${DISTDIR}/${BOOT_DIST} ${BOOT_CMD} -C ${BOOT_WRKSRC}
+	@${REINPLACE_CMD} \
+		's|/usr/local/lib/mlton|${BOOT_WRKSRC}/lib/mlton|g' \
+		${BOOT_WRKSRC}/bin/mlton
+	@${REINPLACE_CMD} 's|$$gcc|$$CC|g' ${BOOT_WRKSRC}/bin/mlton
+.endif
+	@${REINPLACE_CMD} 's/CC := cc/CC := ${CC}/g' ${WRKSRC}/Makefile.config
+	@${REINPLACE_CMD} 's|gcc|${CC}|g' ${WRKSRC}/doc/examples/ffi/Makefile
+	@${REINPLACE_CMD} \
+		's|-lpolymain -lpolyml|-L ${PREFIX}/lib -lpolymain -lpolyml|g' \
+		${WRKSRC}/mlton/Makefile
+.if ${PORT_OPTIONS:MDOCS}
+	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
 .endif
-
-post-patch:
-	@${REINPLACE_CMD} 's/CC := gcc -std=gnu99/CC := ${CC} -std=gnu99/g' \
-		${WRKSRC}/runtime/Makefile \
-		${BOOT_WRKSRC}/lib/mlton/sml/mlnlffi-lib/Makefile
-	@${REINPLACE_CMD} 's/gcc -v/${CC} -v/g' ${WRKSRC}/runtime/util/Makefile
-	@${REINPLACE_CMD} 's/CC = gcc -std=gnu99/CC = ${CC} -std=gnu99/g' ${WRKSRC}/runtime/util/Makefile
 .if ${ARCH} == "i386"
-	@${REINPLACE_CMD} 's/ram-slop 0\.7/max-heap 800m/g' ${WRKSRC}/mlton/Makefile
+.if ${OSREL:R} == 13
+	@${REINPLACE_CMD} -e 's/ram-slop 0\.7/ram-slop 0.8/' \
+		-e 's|COMPILE_XARGS :=|COMPILE_XARGS := -polyvariance false|' \
+		${WRKSRC}/mlton/Makefile
 .else
-	@${REINPLACE_CMD} 's/ram-slop 0\.7/max-heap 2g/g' ${WRKSRC}/mlton/Makefile
+	@${REINPLACE_CMD} -e 's/ram-slop 0\.7/ram-slop 0.7/' \
+		-e 's|COMPILE_XARGS :=|COMPILE_XARGS := -polyvariance false|' \
+		${WRKSRC}/mlton/Makefile
 .endif
-.if ! ${PORT_OPTIONS:MSMLNJ}
-	@${REINPLACE_CMD} -e \
-		"s|/usr/local/lib/mlton|${BOOT_WRKSRC}/lib/mlton|;s|/usr/local|${LOCALBASE}|" \
-		${BOOT_WRKSRC}/bin/mlton
-	@${REINPLACE_CMD} -e "s|"$$"dir/../lib/mlton|${BOOT_WRKSRC}/lib/mlton|" \
-		${BOOT_WRKSRC}/bin/mlton
-	@${REINPLACE_CMD} -e "s|"$$"dir/../lib|${BOOT_WRKSRC}/lib/mlton|" \
-		${WRKSRC}/bin/mlton-script
+	@${REINPLACE_CMD} -e 's/ram-slop 0\.7/ram-slop 0.8/' \
+		-e 's|^OLD_MLTON_RUNTIME_ARGS :=|OLD_MLTON_RUNTIME_ARGS := ram-slop 0.8|' \
+		-e 's|^OLD_MLTON_COMPILE_ARGS :=|OLD_MLTON_COMPILE_ARGS := -polyvariance false|' \
+		${WRKSRC}/Makefile.config
 .endif
-	@${REINPLACE_CMD} -e "s|no-mllex|${BOOT_WRKSRC}/bin/mllex|" \
-		${WRKSRC}/mlton/front-end/Makefile \
-		${WRKSRC}/mlyacc/Makefile
-	@${REINPLACE_CMD} -e "s|no-mlyacc|${BOOT_WRKSRC}/bin/mlyacc|" \
-		${WRKSRC}/mlton/front-end/Makefile \
-		${WRKSRC}/mlyacc/Makefile
-	@${REINPLACE_CMD} -e "s|! mlton |! ${BOOT_WRKSRC}/bin/mlton |" \
-		${WRKSRC}/bin/upgrade-basis
-	@${REINPLACE_CMD} -e \
-		"s|/usr/local|${LOCALBASE}|" \
-		${WRKSRC}/runtime/Makefile \
-		${WRKSRC}/runtime/bytecode/Makefile \
-		${WRKSRC}/runtime/cenv.h \
-		${WRKSRC}/bin/add-cross \
-		${WRKSRC}/bin/add-local-cross \
-		${WRKSRC}/bin/regression \
-		${WRKSRC}/bin/mlton-script \
-		${WRKSRC}/doc/guide/PortingMLton \
-		${WRKSRC}/doc/guide/SelfCompiling \
-		${WRKSRC}/doc/guide/Installation \
-		${WRKSRC}/regression/parse.sml
-	@${REINPLACE_CMD} -e \
-		"s|gcc|${CC}|" \
-		${WRKSRC}/bin/add-cross \
-		${WRKSRC}/bin/regression \
-		${WRKSRC}/lib/mlnlffi-lib/Makefile \
-		${WRKSRC}/mlnlffigen/gen-cppcmd \
-		${WRKSRC}/mlnlffigen/README \
-		${BOOT_WRKSRC}/lib/mlton/sml/mlrisc-lib/c-call/test/Makefile \
-		${BOOT_WRKSRC}/lib/mlton/sml/mlrisc-lib/c-call/varargs/interp/Makefile
-	@${REINPLACE_CMD} -e \
-		"s|'gcc'|'${CC}'|" \
-		${WRKSRC}/bin/mlton-script \
-		${BOOT_WRKSRC}/bin/mlton
-.if ! ${PORT_OPTIONS:MSMLNJ}
-	@${REINPLACE_CMD} -e "s|/usr/local|${LOCALBASE}|" \
-		${BOOT_WRKSRC}/lib/mlton/include/cenv.h
+	@${REINPLACE_CMD} 's|gcc|${CC}|g' ${WRKSRC}/mlnlffigen/gen-cppcmd
+	@${REINPLACE_CMD} 's|"cc"|"${CC}"|g' ${WRKSRC}/bin/mlton-script
+	@${FIND} ${WRKDIR} | ${GREP} '\.bak$$' | ${AWK} '{ system("${RM} "$$0); }'
+
+post-install:
+.if ${PORT_OPTIONS:MDOCS} && ${PORT_OPTIONS:MEXAMPLES}
+	${MV} ${STAGEDIR}${DOCSDIR}/examples/* ${STAGEDIR}${EXAMPLESDIR}/
+.elif ${PORT_OPTIONS:MDOCS}
+	${RM} -r ${STAGEDIR}${DOCSDIR}/examples
+	${RMDIR} ${STAGEDIR}${EXAMPLESDIR}
+.elif ${PORT_OPTIONS:MEXAMPLES}
+#	${MV} ${STAGEDIR}${DOCSDIR}/examples/* ${STAGEDIR}${EXAMPLESDIR}/
+#	${RM} -r ${STAGEDIR}${DOCSDIR}
+	BROKEN+=	In port ${PORTNAME}, EXAMPLES requires DOCS
 .endif
-	@${RM} ${WRKSRC}/doc/guide/PortingMLton.bak \
-		${WRKSRC}/doc/guide/SelfCompiling.bak \
-		${WRKSRC}/doc/guide/Installation.bak
-
-post-build:
-	@${REINPLACE_CMD} -i '' -e '1s|/usr/bin/perl|${perl_CMD}|' \
-		${WRKSRC}/build/lib/sml/mlrisc-lib/cm/makecm \
-		${WRKSRC}/build/lib/sml/mlrisc-lib/cm/makeallcm \
-		${WRKSRC}/build/lib/sml/mlrisc-lib/Doc/html/mltex2html
+	@${FIND} ${WRKDIR} | ${GREP} '\.bak$$' | ${AWK} '{ system("${RM} "$$0); }'
+
+makebootstrap:	all
+	@${ECHO_MSG} "====> Making new bootstrap image (${BOOT_DIST_NEW})"
+#	@${FIND} ${WRKDIR} | ${GREP} '\.bak$$' | ${AWK} '{ system("${RM} "$$0); }'
+	@${MKDIR} ${BOOT_WRKTMP}
+	@cd ${STAGEDIR}${PREFIX} && ${CP} -pR lib bin ${BOOT_WRKTMP}/
+	@${MKDIR} ${BOOT_WRKTMP}/doc && cd ${WRKSRC}/doc && \
+		${CP} -pR license README.adoc CHANGELOG.adoc ${BOOT_WRKTMP}/doc/
+	@cd ${WRKSRC} && ${CP} -pR LICENSE README.adoc CHANGELOG.adoc \
+		${BOOT_WRKTMP}/
+	@cd ${BOOT_WRKTMP} && \
+		${TAR} cfp ${BOOT_WRKTMP}/${BOOT_DIST_NEW} ${BOOT_CMD} \
+			lib bin doc LICENSE README.adoc CHANGELOG.adoc
+	@${ECHO_MSG} "====> Installing new bootstrap image (${BOOT_DIST_NEW})"
+	@${CP} -p ${BOOT_WRKTMP}/${BOOT_DIST_NEW} ${DISTDIR}/
+	@${ECHO_MSG} "====> Backing up new bootstrap image (${BOOT_DIST_NEW})"
+	@${MV} ${BOOT_WRKTMP}/${BOOT_DIST_NEW} ${MASTERDIR}/
+##	@${RMDIR} ${BOOT_WRKTMP}
 
 post-build-MINGW32-on:
 	@${ECHO} Adding mingw32 target...
diff --git a/lang/mlton/distinfo b/lang/mlton/distinfo
index 0406a73a828b..86709166813c 100644
--- a/lang/mlton/distinfo
+++ b/lang/mlton/distinfo
@@ -1,6 +1,15 @@
-SHA256 (mlton-20100608.src.tgz) = f2cb2cf0d6ca8e00331b15e3d23ede05080742895e79e73d2c26a546cd1c0b33
-SIZE (mlton-20100608.src.tgz) = 5785771
-SHA256 (mlton-20100608-1.i386-freebsd.tbz) = 0bf9aee4387dff75540850ab1a77b46b0ddd4687775cc56a9deab00ee3fb3042
-SIZE (mlton-20100608-1.i386-freebsd.tbz) = 10711528
-SHA256 (mlton-20100608-1.amd64-freebsd.tbz) = 1a0721c596a75c27ed4430149a62b9f497d3a8af3f189e36982ef73cd1d61d5d
-SIZE (mlton-20100608-1.amd64-freebsd.tbz) = 11935047
+TIMESTAMP = 1634426635
+SHA256 (mlton-20210816.i386-freebsd-13.txz) = 4faa271b60a82793b7911d8e9863d9831df9bf095badf670ec27c9b86ac1266b
+SIZE (mlton-20210816.i386-freebsd-13.txz) = 4417216
+SHA256 (mlton-20210816.amd64-freebsd-13.txz) = 767ed2fe0e204cd59f9065c9ff96c885d50321f2004cff0a94e84db3e664dc8a
+SIZE (mlton-20210816.amd64-freebsd-13.txz) = 5530224
+SHA256 (mlton-20210816.i386-freebsd-12.txz) = a6d173463c36b2c79ba48c9d94c7857e842ca2c423a952623b7a251390f1d103
+SIZE (mlton-20210816.i386-freebsd-12.txz) = 4582828
+SHA256 (mlton-20210816.amd64-freebsd-12.txz) = d289134bd1371d0c4f090b2945a2fa87052d5e298b9612420dbbb6335440a763
+SIZE (mlton-20210816.amd64-freebsd-12.txz) = 5517216
+SHA256 (mlton-20210816.i386-freebsd-11.txz) = bcc21ef73dcb1eb773cbe076b5a79a9ffad9e431cae4eeac317078741055b91d
+SIZE (mlton-20210816.i386-freebsd-11.txz) = 4613016
+SHA256 (mlton-20210816.amd64-freebsd-11.txz) = b8ddde2adcb08ca76fc6ba3ff6d7186ee7074b3a7b4be6e982a5b1d2fe10eefd
+SIZE (mlton-20210816.amd64-freebsd-11.txz) = 5656260
+SHA256 (MLton-mlton-20210816-b2fca3d_GH0.tar.gz) = 9809f100308c3330803d3d52052ecdc00774b74869f57ec20880c46ba796ea6d
+SIZE (MLton-mlton-20210816-b2fca3d_GH0.tar.gz) = 14307327
diff --git a/lang/mlton/files/add-local-cross b/lang/mlton/files/add-local-cross
deleted file mode 100644
index c76d482ddd5c..000000000000
--- a/lang/mlton/files/add-local-cross
+++ /dev/null
@@ -1,191 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-
-# This script adds a new crosscompiler target for MLton.
-#
-# It takes three arguments.
-#
-# 1. <crossTarget>, which is what MLton would pass via the -b flag to the GCC
-#    cross-compiler tools.  You don't need to have installed these tools in order
-#    to run this script, since it uses ssh and the native gcc on the target.
-#    Examples of $crossTarget are i386-pc-cygwin and sparc-sun-solaris.
-#
-# 2. <crossArch> specifies the target architecture.  
-#    The posibilities are: amd64, hppa, sparc, x86.
-#
-# 3. <crossOS> specifies the target OS.
-#    The possibilities are: aix, cygwin, darwin, freebsd, hpux, linux, mingw, 
-#    netbsd, openbsd, solaris.
-#
-# Here are some example uses of this script.
-#
-#   add-cross mingw32 x86 mingw
-#
-# You also may need to set $libDir, which determines where the$exe.c
-# cross-compiler target will be installed.
-#
-# This script is a modification of add-cross. Rather than ssh into a box
-# running the target platform it uses cross-compiler tools to produce
-# executables and an environment to execute them.
-#
-# It only works with the mingw32 cross-compiler and the wine environment.
-#
-
-MAKE=gmake
-GCC=mingw32-gcc
-RUN=wine
-
-die () {
-        echo >&2 "$1"
-        exit 1
-}
-
-usage () {
-        die "usage: $name <crossTarget> <crossArch> <crossOS>"
-}
-
-case "$#" in
-3)
-        crossTarget="$1"
-        crossArch="$2"
-        crossOS="$3"
-        ;;
-*)
-        usage
-        ;;
-esac
-
-name=`basename "$0"`
-original=`pwd`
-dir=`dirname "$0"`
-src=`cd "$dir/.." && pwd`
-
-PATH="$dir":$PATH
-
-# libDir is the mlton lib directory where you would like the
-# cross-compiler information to be installed.  If you have installed
-# from the rpms, this will usually be /usr/lib/mlton.  You must have
-# write permission there.
-
-lib="$src/build/lib"
-
-# You shouldn't need to change anything below this line.
-
-rm -rf "$lib/$crossTarget"
-mkdir -p "$lib/$crossTarget" || die "Cannot write to $lib."
-
-tmp="$src/cross-$crossTarget"
-#ssh $machine "rm -rf $tmp && mkdir $tmp"
-rm -rf $tmp && mkdir $tmp
-
-$MAKE -C "$src" dirs
-
-echo '* Making runtime.' 
-#( cd "$src" && tar cf - Makefile basis-library bin include runtime ) | 
-#        ssh $machine "cd $tmp && tar xf - && cd runtime &&
-#                ../bin/mmake COMPILE_FAST=yes OMIT_BYTECODE=yes TARGET_ARCH=$crossArch TARGET_OS=$crossOS clean all &&
-#		cd .. && make dirs runtime"
-cd "$src"
-for f in Makefile basis-library bin include runtime; do
-    cp -pfR $f "$tmp"
-done
-
-echo "* Running make clean all in $tmp/runtime."
-cd "$tmp"
-$MAKE -C runtime COMPILE_FAST=yes OMIT_BYTECODE=yes TARGET=$crossTarget    \
-						    TARGET_ARCH=$crossArch \
-						    TARGET_OS=$crossOS     \
-						    clean all
-
-echo "* Running make dirs runtime in $tmp."
-$MAKE TARGET=$crossTarget TARGET_ARCH=$crossArch TARGET_OS=$crossOS dirs runtime
-
-echo "* Copy from tmp to build (build/lib/targets/$crossTarget)."
-# ssh $machine "cd $tmp/build/lib/self && tar cf - ." | 
-#         ( cd "$lib/$crossTarget" && tar xf - )
-mkdir -p "$lib/targets"
-cp -pfR "$tmp/build/lib/targets/$crossTarget" "$lib/targets/"
-
-echo "* Running make mlbpathmap in $src."
-#( cd "$src" &&
-#        mmake TARGET=$crossTarget TARGET_ARCH=$crossArch TARGET_OS=$crossOS \
-#                mlbpathmap targetmap )
-cd "$src"
-$MAKE TARGET=$crossTarget TARGET_ARCH=$crossArch TARGET_OS=$crossOS  \
-      mlbpathmap
-
-case "$crossOS" in
-mingw)
-	#suf='.exe'
-	suf=''
-;;
-*)
-	suf=''
-;;
-esac
-
-# Copied from mlton-script
-case "$crossArch" in
-amd64)
-        archOpts='-m64'
-;;
-hppa)
-        archOpts=''
-;;
-sparc)
-        archOpts='-m32'
-;;
-x86)
-        archOpts=''
-;;
-esac
-
-case "$crossOS" in
-aix)
-        osOpts=''
-;;
-cygwin)
-        osOpts=''
-;;
-darwin)
-        osOpts='-I/opt/local/include -I/sw/include -L/opt/local/lib -L/sw/lib -lgmp'
-;;
-freebsd)
-        osOpts='-I/usr/local/include -L/usr/local/lib/ -lgmp'
-;;
-hpux)
-        osOpts=''
-;;
-linux)
-        osOpts=''
-;;
-mingw)
-	libs='-lws2_32 -lkernel32 -lpsapi -lnetapi32'
-;;
-netbsd)
-        osOpts='-I/usr/pkg/include -Wl,-R/usr/pkg/lib -L/usr/pkg/lib/ -lgmp'
-;;
-openbsd)
-        osOpts='-I/usr/local/include -L/usr/local/lib/ -lgmp'
-;;
-solaris)
-        osOpts='-lnsl -lsocket -lrt'
-;;
-esac
-
-exe='print-constants'
-echo "* Compiling and running print-constants."
-#"$src/build/bin/mlton" -target $crossTarget -build-constants true | 
-#        ssh $machine "cd $tmp/runtime &&
-#                        cat >$exe.c && 
-#                        gcc $archOpts $osOpts -I. -o $exe $exe.c libmlton.a libgdtoa.a -lgmp -lm"
-"$src/build/bin/mlton" -target $crossTarget -build-constants true \
-    > "$tmp/runtime/$exe.c"
-cd "$tmp/runtime/"
-$GCC $archOpts $osOpts -I. -o $exe $exe.c libmlton.a libgdtoa.a -lgmp -lm $libs
-
-#ssh $machine "$tmp/runtime/$exe$suf" >"$lib/$crossTarget/constants"
-$RUN "$tmp/runtime/$exe$suf" > "$lib/targets/$crossTarget/constants"
-#ssh $machine "rm -rf $tmp"
-# rm -rf "$tmp"
diff --git a/lang/mlton/files/ml.grm.sig b/lang/mlton/files/ml.grm.sig
deleted file mode 100644
index 7bf0d2ad39fb..000000000000
--- a/lang/mlton/files/ml.grm.sig
+++ /dev/null
@@ -1,88 +0,0 @@
-signature ML_TOKENS =
-sig
-type ('a,'b) token
-type svalue
-val PRIM:  'a * 'a -> (svalue,'a) token
-val SYMBOL:  'a * 'a -> (svalue,'a) token
-val IMPORT:  'a * 'a -> (svalue,'a) token
-val EXPORT:  'a * 'a -> (svalue,'a) token
-val ADDRESS:  'a * 'a -> (svalue,'a) token
-val CONST:  'a * 'a -> (svalue,'a) token
-val COMMAND_LINE_CONST:  'a * 'a -> (svalue,'a) token
-val BUILD_CONST:  'a * 'a -> (svalue,'a) token
-val WITHTYPE:  'a * 'a -> (svalue,'a) token
-val WITH:  'a * 'a -> (svalue,'a) token
-val WILD:  'a * 'a -> (svalue,'a) token
-val WHILE:  'a * 'a -> (svalue,'a) token
-val WHERE:  'a * 'a -> (svalue,'a) token
-val VAL:  'a * 'a -> (svalue,'a) token
-val TYPE:  'a * 'a -> (svalue,'a) token
-val THEN:  'a * 'a -> (svalue,'a) token
-val STRUCTURE:  'a * 'a -> (svalue,'a) token
-val STRUCT:  'a * 'a -> (svalue,'a) token
-val SIGNATURE:  'a * 'a -> (svalue,'a) token
-val SIG:  'a * 'a -> (svalue,'a) token
-val SHARING:  'a * 'a -> (svalue,'a) token
-val SEMICOLON:  'a * 'a -> (svalue,'a) token
-val RPAREN:  'a * 'a -> (svalue,'a) token
-val REC:  'a * 'a -> (svalue,'a) token
-val RBRACKET:  'a * 'a -> (svalue,'a) token
-val RBRACE:  'a * 'a -> (svalue,'a) token
-val RAISE:  'a * 'a -> (svalue,'a) token
-val OVERLOAD:  'a * 'a -> (svalue,'a) token
-val OPEN:  'a * 'a -> (svalue,'a) token
-val OP:  'a * 'a -> (svalue,'a) token
-val OF:  'a * 'a -> (svalue,'a) token
-val ORELSE:  'a * 'a -> (svalue,'a) token
-val NONFIX:  'a * 'a -> (svalue,'a) token
-val LPAREN:  'a * 'a -> (svalue,'a) token
-val LOCAL:  'a * 'a -> (svalue,'a) token
-val LET:  'a * 'a -> (svalue,'a) token
-val LBRACKET:  'a * 'a -> (svalue,'a) token
-val LBRACE:  'a * 'a -> (svalue,'a) token
-val INFIXR:  'a * 'a -> (svalue,'a) token
-val INFIX:  'a * 'a -> (svalue,'a) token
-val INCLUDE:  'a * 'a -> (svalue,'a) token
-val IN:  'a * 'a -> (svalue,'a) token
-val IF:  'a * 'a -> (svalue,'a) token
-val HASH:  'a * 'a -> (svalue,'a) token
-val HANDLE:  'a * 'a -> (svalue,'a) token
-val FUNCTOR:  'a * 'a -> (svalue,'a) token
-val FUN:  'a * 'a -> (svalue,'a) token
-val FN:  'a * 'a -> (svalue,'a) token
-val DARROW:  'a * 'a -> (svalue,'a) token
-val DO:  'a * 'a -> (svalue,'a) token
-val EXCEPTION:  'a * 'a -> (svalue,'a) token
-val EQTYPE:  'a * 'a -> (svalue,'a) token
-val EQUALOP:  'a * 'a -> (svalue,'a) token
-val EOF:  'a * 'a -> (svalue,'a) token
-val END:  'a * 'a -> (svalue,'a) token
-val ELSE:  'a * 'a -> (svalue,'a) token
-val DOTDOTDOT:  'a * 'a -> (svalue,'a) token
-val DATATYPE:  'a * 'a -> (svalue,'a) token
-val COMMA:  'a * 'a -> (svalue,'a) token
-val COLONGT:  'a * 'a -> (svalue,'a) token
-val COLON:  'a * 'a -> (svalue,'a) token
-val CASE:  'a * 'a -> (svalue,'a) token
-val BAR:  'a * 'a -> (svalue,'a) token
-val ASTERISK:  'a * 'a -> (svalue,'a) token
-val AS:  'a * 'a -> (svalue,'a) token
-val ARROW:  'a * 'a -> (svalue,'a) token
-val ANDALSO:  'a * 'a -> (svalue,'a) token
-val AND:  'a * 'a -> (svalue,'a) token
-val ABSTYPE:  'a * 'a -> (svalue,'a) token
-val WORD: ({ digits:string,radix:StringCvt.radix } ) *  'a * 'a -> (svalue,'a) token
-val TYVAR: (string) *  'a * 'a -> (svalue,'a) token
-val STRING: (IntInf.t vector) *  'a * 'a -> (svalue,'a) token
-val REAL: (string) *  'a * 'a -> (svalue,'a) token
-val LONGID: (string) *  'a * 'a -> (svalue,'a) token
-val INT: ({ digits:string,negate:bool,radix:StringCvt.radix } ) *  'a * 'a -> (svalue,'a) token
-val CHAR: (IntInf.t) *  'a * 'a -> (svalue,'a) token
-end
-signature ML_LRVALS=
-sig
-structure Tokens : ML_TOKENS
-structure ParserData:PARSER_DATA
-sharing type ParserData.Token.token = Tokens.token
-sharing type ParserData.svalue = Tokens.svalue
-end
diff --git a/lang/mlton/files/ml.grm.sml b/lang/mlton/files/ml.grm.sml
deleted file mode 100644
index 86a9cd830154..000000000000
--- a/lang/mlton/files/ml.grm.sml
+++ /dev/null
@@ -1,5497 +0,0 @@
-
-functor MLLrValsFun (structure Token: TOKEN
-                              structure Ast: AST) = 
-struct
-structure ParserData=
-struct
-structure Header = 
-struct
-(* Heavily modified from SML/NJ sources by sweeks@sweeks.com *)
-
-(* ml.grm
- *
- * Copyright 1989,1992 by AT&T Bell Laboratories
- *)
-
-type int = Int.t
-
-fun reg (left, right) = Region.make {left = left, right = right}
-fun error (reg, msg) = Control.error (reg, Layout.str msg, Layout.empty)
-
-open Ast
-structure Field = Record.Field
-structure Srecord = SortedRecord
-
-structure Type =
-   struct
-      open Type
-
-      val tuple = Record o Srecord.tuple
-
-      val unit = tuple (Vector.new0 ())
-
-      fun arrow (t1, t2) = Con (Longtycon.arrow, Vector.new2 (t1, t2))
-   end
-
-structure DatBind =
-   struct
-      open DatBind
-
-      fun make (dbs, withtypes, left, right) =
-         makeRegion' (T {datatypes = dbs, withtypes = withtypes},
-                      left, right)
-   end
-
-structure Pat =
-   struct
-      open Pat
-
-      fun tuple ps =
-         if 1 = Vector.length ps
-            then node (Vector.sub (ps, 0))
-         else Tuple ps
-
-      val unit = tuple (Vector.new0 ())
-
-      val bogus = unit
-
-      fun makeAs (p1: t, p2: t): node =
-         let
-            fun err () =
-               error (Pat.region p1, "must have variable to left in as pattern")
-            fun fixopVar (p : t) =
-               case node p of
-                  FlatApp ps =>
-                     if 1 = Vector.length ps
-                        then (case node (Vector.sub (ps, 0)) of
-                                 Var {fixop,name} =>
-                                    (case Longvid.split name of
-                                        ([], vid) =>
-                                           SOME (fixop, Vid.toVar vid)
-                                      | _ =>
-                                           let
-                                              val () = err ()
-                                           in
-                                              SOME (Fixop.None, Var.bogus)
-                                           end)
-                               | _ => NONE)
-                     else NONE
-                | _ => NONE
-         in
-            case fixopVar p1 of
-               SOME (fixop, var) =>
-                  Layered {fixop = fixop, var = var,
-                           constraint = NONE,
-                           pat = p2}
-             | NONE =>
-                  case node p1 of
-                     Pat.Constraint (p, t) =>
-                        (case fixopVar p of
-                            SOME (fixop, var) =>
-                               Layered {fixop = fixop, var = var,
-                                        constraint = SOME t,
-                                        pat = p2}
-                          | _ => (err (); bogus))
-                   | _ => (err (); bogus)
-         end
-   end
-
-structure Exp =
-   struct
-      open Exp
-
-      fun tuple es =
-         if 1 = Vector.length es
-            then node (Vector.sub (es, 0))
-         else Record (Record.tuple es)
-
-      val unit = tuple (Vector.new0 ())
-   end
-
-structure Dec =
-   struct
-      open Dec
-
-      fun sequence (d1: t, d2: t): t =
-         makeRegion (case (node d1, node d2) of
-                        (SeqDec d1, SeqDec d2) => SeqDec (Vector.concat [d1, d2])
-                      | (SeqDec d1, _) =>
-                           SeqDec (Vector.concat [d1, Vector.new1 d2])
-                      | (_, SeqDec d2) =>
-                           SeqDec (Vector.concat [Vector.new1 d1, d2])
-                      | _ => SeqDec (Vector.new2 (d1, d2)),
-                     Region.append (region d1, region d2))
-   end
-
-structure Spec =
-   struct
-      open Spec
-
-      (* Some of this mess is so that a sharing equation captures as
-       * many specs as possible in its scope.
-       *)
-      fun seq (s: t, s': t): t =
-         let
-            fun reg s'' = makeRegion (s'', Region.append (region s, region s'))
-         in
-            case (node s, node s') of
-               (Empty, _) => s'
-             | (_, Empty) => s
-             | (_, Seq (s1, s2)) => reg (Seq (seq (s, s1), s2))
-             | (_, Sharing {spec, equations}) =>
-                  reg (Sharing {spec = seq (s, spec), equations = equations})
-             | _ => reg (Seq (s, s'))
-         end
-
-(*      val seq = Trace.trace2 ("Spec.seq", layout, layout, layout) seq *)
-   end
-
-fun consTopdec (d, dss) =
-   case dss of
-      [] => [[d]]
-    | ds :: dss => (d :: ds) :: dss
-
-type rule = Pat.t * Exp.t
-type clause = {pats : Pat.t vector,
-               resultType : Type.t option,
-               body : Exp.t}
-type clauses = clause vector
-type eb = Con.t * EbRhs.t
-type db = {tyvars: Tyvar.t vector,
-           tycon: Tycon.t,
-           cons: (Con.t * Type.t option) vector}
-
-type strdesc = Strid.t * Sigexp.t
-
-type wherespec = {tyvars: Tyvar.t vector,
-                  longtycon: Longtycon.t,
-                  ty: Type.t}
-
-type typdesc =  {tyvars: Tyvar.t vector,
-                 tycon: Tycon.t}
-
-type valdesc = Var.t * Type.t
-
-type exndesc = Con.t * Type.t option
-
-type strbind = {name: Strid.t,
-                def: Strexp.t,
-                constraint: SigConst.t}
-
-type sigbind = Sigid.t * Sigexp.t
-
-type funbind = {name : Fctid.t,
-                arg : FctArg.t,
-                result : SigConst.t,
-                body : Strexp.t}
-
-type vb = {pat: Pat.t,
-           exp: Exp.t}
-
-type rvb = {pat: Pat.t,
-            match: Match.t}
-
-fun ensureNonqualified (ss: Symbol.t list, r: Region.t): Symbol.t * Region.t =
-   case ss of
-      [s] => (s, r)
-    | _ => (error (r, "expected nonqualified id")
-            ; (Symbol.bogus, r))
-
-fun cons1 (x, (l, r, y)) = (x :: l, r, y)
-
-fun augment (id, sigexp, (wherespecs, right, binds)) =
-   (id, Sigexp.wheree (sigexp, Vector.fromList wherespecs,
-                       Region.extendRight (Sigexp.region sigexp, right)))
-   :: binds
-
-fun 'a augment1 ((strexp: Strexp.t,
-                  makesigconst: Sigexp.t -> SigConst.t,
-                  sigexp: Sigexp.t),
-                 (wherespecs: wherespec list,
-                  right: SourcePos.t,
-                  z: 'a)): Strexp.t * 'a =
-   (Strexp.makeRegion
-    (Strexp.Constrained
-     (strexp, makesigconst (Sigexp.wheree
-                            (sigexp, Vector.fromList wherespecs,
-                             Region.extendRight (Sigexp.region sigexp, right)))),
-     Region.extendRight (Strexp.region strexp, right)),
-    z)
-
-type 'a whereAnd = wherespec list * SourcePos.t * 'a list
-
-  
-end
-structure LrTable = Token.LrTable
-structure Token = Token
-local open LrTable in 
-val table=let val actionRows =
-"\
-\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\
-\\005\000\061\000\006\000\113\000\007\000\060\000\013\000\058\000\
-\\039\000\112\000\040\000\111\000\043\000\110\000\047\000\109\000\
-\\053\000\108\000\066\000\107\000\000\000\
-\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\
-\\005\000\061\000\006\000\113\000\007\000\060\000\013\000\058\000\
-\\039\000\112\000\040\000\111\000\043\000\110\000\047\000\109\000\
-\\066\000\107\000\000\000\
-\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\
-\\005\000\061\000\007\000\060\000\013\000\058\000\015\000\057\000\
-\\024\000\055\000\029\000\053\000\033\000\050\000\034\000\049\000\
-\\039\000\046\000\040\000\045\000\041\000\044\000\043\000\042\000\
-\\047\000\040\000\050\000\037\000\052\000\151\000\065\000\031\000\
-\\069\000\030\000\070\000\029\000\071\000\028\000\072\000\027\000\
-\\073\000\026\000\074\000\025\000\075\000\024\000\076\000\023\000\000\000\
-\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\
-\\005\000\061\000\007\000\060\000\013\000\058\000\015\000\057\000\
-\\024\000\055\000\029\000\053\000\033\000\050\000\034\000\049\000\
-\\039\000\046\000\040\000\045\000\041\000\044\000\043\000\042\000\
-\\047\000\040\000\050\000\037\000\054\000\138\000\065\000\031\000\
-\\069\000\030\000\070\000\029\000\071\000\028\000\072\000\027\000\
-\\073\000\026\000\074\000\025\000\075\000\024\000\076\000\023\000\000\000\
-\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\
-\\005\000\061\000\007\000\060\000\013\000\058\000\015\000\057\000\
-\\024\000\055\000\029\000\053\000\033\000\050\000\034\000\049\000\
-\\039\000\046\000\040\000\045\000\041\000\044\000\043\000\042\000\
-\\047\000\040\000\050\000\037\000\065\000\031\000\069\000\030\000\
-\\070\000\029\000\071\000\028\000\072\000\027\000\073\000\026\000\
-\\074\000\025\000\075\000\024\000\076\000\023\000\000\000\
-\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\
-\\005\000\061\000\007\000\060\000\013\000\058\000\039\000\112\000\
-\\040\000\111\000\043\000\175\000\047\000\109\000\053\000\108\000\
-\\066\000\107\000\000\000\
-\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\
-\\005\000\061\000\007\000\060\000\013\000\058\000\039\000\112\000\
-\\040\000\111\000\043\000\175\000\047\000\109\000\053\000\228\000\
-\\066\000\107\000\000\000\
-\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\
-\\005\000\061\000\007\000\060\000\013\000\058\000\039\000\112\000\
-\\040\000\111\000\043\000\175\000\047\000\109\000\066\000\107\000\000\000\
-\\001\000\001\000\065\000\002\000\064\000\003\000\063\000\004\000\062\000\
-\\005\000\061\000\007\000\060\000\013\000\076\000\000\000\
-\\001\000\002\000\064\000\003\000\063\000\013\000\076\000\000\000\
-\\001\000\002\000\064\000\003\000\063\000\013\000\076\000\020\000\241\000\000\000\
-\\001\000\002\000\064\000\003\000\063\000\013\000\076\000\020\000\241\000\
-\\051\000\240\000\000\000\
-\\001\000\002\000\064\000\003\000\063\000\013\000\076\000\051\000\157\000\000\000\
-\\001\000\002\000\064\000\003\000\063\000\013\000\076\000\051\000\042\001\000\000\
-\\001\000\003\000\122\003\008\000\121\003\009\000\121\003\010\000\121\003\
-\\011\000\121\003\012\000\121\003\013\000\122\003\014\000\121\003\
-\\016\000\121\003\017\000\121\003\018\000\121\003\019\000\121\003\
-\\021\000\121\003\022\000\121\003\023\000\121\003\024\000\121\003\
-\\025\000\121\003\026\000\121\003\027\000\121\003\028\000\121\003\
*** 18513 LINES SKIPPED ***



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