From nobody Wed Oct 20 07:43:33 2021
X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 5A3F5180194A;
Wed, 20 Oct 2021 07:43:34 +0000 (UTC)
(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
client-signature RSA-PSS (4096 bits) client-digest SHA256)
(Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK))
by mx1.freebsd.org (Postfix) with ESMTPS id 4HZ2fZ1rzZz3F3P;
Wed, 20 Oct 2021 07:43:34 +0000 (UTC)
(envelope-from git@FreeBSD.org)
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(Client did not present a certificate)
by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 207B8237E5;
Wed, 20 Oct 2021 07:43:34 +0000 (UTC)
(envelope-from git@FreeBSD.org)
Received: from gitrepo.freebsd.org ([127.0.1.44])
by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 19K7hYw1004270;
Wed, 20 Oct 2021 07:43:34 GMT
(envelope-from git@gitrepo.freebsd.org)
Received: (from git@localhost)
by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 19K7hXYa004269;
Wed, 20 Oct 2021 07:43:33 GMT
(envelope-from git)
Date: Wed, 20 Oct 2021 07:43:33 GMT
Message-Id: <202110200743.19K7hXYa004269@gitrepo.freebsd.org>
To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org,
dev-commits-ports-main@FreeBSD.org
From: Koichiro Iwao
Subject: git: 042847b1b437 - main - lang/mlton: Update to 20210816
List-Id: Commits to the main branch of the FreeBSD ports repository
List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main
List-Help:
List-Post:
List-Subscribe:
List-Unsubscribe:
Sender: owner-dev-commits-ports-main@freebsd.org
X-BeenThere: dev-commits-ports-main@freebsd.org
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: meta
X-Git-Repository: ports
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: 042847b1b437634da916eb1386273a7fd8777a89
Auto-Submitted: auto-generated
X-ThisMailContainsUnwantedMimeParts: N
The branch main has been updated by meta:
URL: https://cgit.FreeBSD.org/ports/commit/?id=042847b1b437634da916eb1386273a7fd8777a89
commit 042847b1b437634da916eb1386273a7fd8777a89
Author: Timothy Beyer
AuthorDate: 2021-10-19 10:24:12 +0000
Commit: Koichiro Iwao
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
-# 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
-.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. , 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. specifies the target architecture.
-# The posibilities are: amd64, hppa, sparc, x86.
-#
-# 3. 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 "
-}
-
-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 ***