aboutsummaryrefslogtreecommitdiffstats
path: root/lang/smlnj
diff options
context:
space:
mode:
authorSteve Wills <swills@FreeBSD.org>2020-08-02 21:30:50 +0800
committerSteve Wills <swills@FreeBSD.org>2020-08-02 21:30:50 +0800
commit09b003ee490209c7b211af1a413aacbc2b87c324 (patch)
tree49a6a75ec277bcad2706678ba661a97ae537da21 /lang/smlnj
parent4d73b9a2a6aa6594aa23b8c27a2f928542a8bfca (diff)
downloadfreebsd-ports-gnome-09b003ee490209c7b211af1a413aacbc2b87c324.tar.gz
freebsd-ports-gnome-09b003ee490209c7b211af1a413aacbc2b87c324.tar.zst
freebsd-ports-gnome-09b003ee490209c7b211af1a413aacbc2b87c324.zip
lang/smlnj: Update to 110.98, unbreak build with Clang >= 10
PR: 248431 Submitted by: Johannes 5 <joemann@beefree.free.de> (maintainer)
Diffstat (limited to 'lang/smlnj')
-rw-r--r--lang/smlnj/Makefile17
-rw-r--r--lang/smlnj/distinfo98
-rw-r--r--lang/smlnj/files/do-patch-asdl_config.sh13
-rw-r--r--lang/smlnj/files/do-patch-asdl_config_check__smlnj__heap__suffix.m410
-rw-r--r--lang/smlnj/files/do-patch-asdl_src_asdlgen_Makefile.in28
-rw-r--r--lang/smlnj/files/do-patch-base_runtime_objs_mk.amd64-freebsd8
-rw-r--r--lang/smlnj/files/do-patch-base_runtime_objs_mk.x86-freebsd6
-rw-r--r--lang/smlnj/files/do-patch-base_system_Basis_Implementation_date.sml11
-rw-r--r--lang/smlnj/files/do-patch-smlnj-lib_JSON_json-parser.sml102
-rw-r--r--lang/smlnj/files/do-patch-smlnj-lib_JSON_json-stream-printer.sml25
-rw-r--r--lang/smlnj/files/patch-config_install.sh20
-rw-r--r--lang/smlnj/pkg-plist15
12 files changed, 110 insertions, 243 deletions
diff --git a/lang/smlnj/Makefile b/lang/smlnj/Makefile
index 7779a16ee1ff..048ae12bb0a0 100644
--- a/lang/smlnj/Makefile
+++ b/lang/smlnj/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= smlnj
-PORTVERSION= 110.96
+PORTVERSION= 110.98
CATEGORIES= lang
MASTER_SITES= http://smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/ \
ftp://mirror.free.de/http/smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/
@@ -20,6 +20,8 @@ LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
ONLY_FOR_ARCHS= amd64 i386
+USES= compiler
+
NO_WRKSUBDIR= yes
SUB_FILES= pkg-install
@@ -33,6 +35,15 @@ RECOMPILE_DESC= recompile the SML compiler - implies EVERYTHING
.include <bsd.port.pre.mk>
+# XXX see FreeBSD PR 247421
+.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 100
+RUNTIME_SO=
+PLIST_SUB+= RUNTIME_SO="@comment "
+.else
+RUNTIME_SO= "${STAGEDIR}${MLBIN}/.run/run.$${ARCH}-$${OPSYS}.so"
+PLIST_SUB+= RUNTIME_SO=
+.endif
+
.if (${ARCH} == "i386")
MLARCH= x86
MLSIZE= 32
@@ -120,7 +131,7 @@ do-configure:
.if defined(MLTARGETS)
${ECHO_CMD} -n > "${WRKDIR}/.tmp.sed"
.for t in ${MLTARGETS}
- ${ECHO_CMD} '/^#request[ ]+${t}$$/s/^#//' >> "${WRKDIR}/.tmp.sed"
+ ${ECHO_CMD} '/^#[ ]*request[ ]+${t}$$/s/^#//' >> "${WRKDIR}/.tmp.sed"
.endfor
${SED} -i .default -E -f "${WRKDIR}/.tmp.sed" "${WRKSRC}/config/targets"
.endif
@@ -332,7 +343,7 @@ do-install:
MLARCHOPSYS=`${STAGEDIR}${MLBIN}/.arch-n-opsys` && \
( eval $${MLARCHOPSYS} ; \
${STRIP_CMD} "${STAGEDIR}${MLBIN}/.run/run.$${ARCH}-$${OPSYS}" \
- "${STAGEDIR}${MLBIN}/.run/run.$${ARCH}-$${OPSYS}.so" )
+ ${RUNTIME_SO} )
.if ${PORT_OPTIONS:MEVERYTHING}
@${ECHO} '(* Cleaning base/runtime: *)'
cd ${WRKSRC}/base/runtime/objs && ${MAKE_CMD} clean
diff --git a/lang/smlnj/distinfo b/lang/smlnj/distinfo
index 8f1e987ad807..90b8e54f640a 100644
--- a/lang/smlnj/distinfo
+++ b/lang/smlnj/distinfo
@@ -1,49 +1,49 @@
-TIMESTAMP = 1576341142
-SHA256 (smlnj/110.96/MLRISC.tgz) = 193c29217e592d3e5a67cd0bde14ebfed2a2c3e4bcfae1e151e8fbe148fbe69e
-SIZE (smlnj/110.96/MLRISC.tgz) = 1460365
-SHA256 (smlnj/110.96/asdl.tgz) = 2a521d8ba66ba1f2fc1c4b315bd43567ece21969026ce45b6f50d9132726724e
-SIZE (smlnj/110.96/asdl.tgz) = 205907
-SHA256 (smlnj/110.96/boot.amd64-unix.tgz) = 605a118476d251bd77e312f303df3039adea6ace521d9ac140e2187b904ec807
-SIZE (smlnj/110.96/boot.amd64-unix.tgz) = 6031590
-SHA256 (smlnj/110.96/boot.x86-unix.tgz) = ab08f260137fb68492d747b96d5be8ce49e8eda55a358094fd9018efd32341bd
-SIZE (smlnj/110.96/boot.x86-unix.tgz) = 6034356
-SHA256 (smlnj/110.96/ckit.tgz) = 8b9301e3a2975be6877ce22edc27445630d57f51afbb77a950f386c9b3193bbf
-SIZE (smlnj/110.96/ckit.tgz) = 201009
-SHA256 (smlnj/110.96/cm.tgz) = 19e4f8096f5c8af64f20e57c5b48dacf9054c90ec14db4908a9e8c5bc505c568
-SIZE (smlnj/110.96/cm.tgz) = 220256
-SHA256 (smlnj/110.96/cml.tgz) = ec2b2d08343a32d911f30f34fb506fd0fed21b21378592e568107a68abc6ed8a
-SIZE (smlnj/110.96/cml.tgz) = 105379
-SHA256 (smlnj/110.96/compiler.tgz) = 1382181001e0cf8d751c3d1707331f305e1ab3e41ca07af1349a73ef16df4a4c
-SIZE (smlnj/110.96/compiler.tgz) = 848920
-SHA256 (smlnj/110.96/config.tgz) = b2bda33c1fb1472b4ca69827463b1b1b7b8a86bed72db959a558d9e4fe65de18
-SIZE (smlnj/110.96/config.tgz) = 517305
-SHA256 (smlnj/110.96/doc.tgz) = 24243d3a58b50973d151304f878bd2e80a6ce71cefced114cb694b89e039641a
-SIZE (smlnj/110.96/doc.tgz) = 2134988
-SHA256 (smlnj/110.96/eXene.tgz) = 0c5d642c57380b0a427d4ce9f6af84c2bb76859089b36a4f5da3a2149d7fb2bf
-SIZE (smlnj/110.96/eXene.tgz) = 721127
-SHA256 (smlnj/110.96/heap2asm.tgz) = 1cb94d9ba56c58cb122f7f9d548824e6a7fed155acd17ac4d10fb028ca7a4a50
-SIZE (smlnj/110.96/heap2asm.tgz) = 1395
-SHA256 (smlnj/110.96/ml-burg.tgz) = 4286a4aa01f2063bdbea10ab1c7299b7a41a4a822a96d4a040ce404b1b3276b1
-SIZE (smlnj/110.96/ml-burg.tgz) = 40552
-SHA256 (smlnj/110.96/ml-lex.tgz) = 02971b9026d2c6df8b425b8ac78c4065439a62e09b36fc974a98b5062874b8f0
-SIZE (smlnj/110.96/ml-lex.tgz) = 27879
-SHA256 (smlnj/110.96/ml-lpt.tgz) = 3736cd60daad7510467ee2f31462cffbb43890bc4499b3efc7d671829f68e141
-SIZE (smlnj/110.96/ml-lpt.tgz) = 267441
-SHA256 (smlnj/110.96/ml-yacc.tgz) = 3a8d4d345ec3832b30bde1a7b0c0f97f209f40afd80e6ff6e1c78f365a77b0e9
-SIZE (smlnj/110.96/ml-yacc.tgz) = 101727
-SHA256 (smlnj/110.96/nlffi.tgz) = fb08f68da401382396fe0cb676b0f81eda27e9360c69fbeb3d473dec3452e8ee
-SIZE (smlnj/110.96/nlffi.tgz) = 75084
-SHA256 (smlnj/110.96/old-basis.tgz) = c3fea6a6b14d3c4cfad92944bd259f6b104a76f4b7ee8dd999275dcab8336199
-SIZE (smlnj/110.96/old-basis.tgz) = 1215
-SHA256 (smlnj/110.96/pgraph.tgz) = 73f0a34fc2ac5ec9ba1aa10bb732300b0aea0a63d32154c108ce42b28d1d72a6
-SIZE (smlnj/110.96/pgraph.tgz) = 5430
-SHA256 (smlnj/110.96/runtime.tgz) = 46ab1f6f4282ab46f117f8b8673e70180b8b4cbc6d9afdfa305aa8510258bf69
-SIZE (smlnj/110.96/runtime.tgz) = 336178
-SHA256 (smlnj/110.96/smlnj-c.tgz) = 3c1064ba53990abf278ebe80f68b62dad14d9f6a044ac72c6f2cf602c6aaa28c
-SIZE (smlnj/110.96/smlnj-c.tgz) = 10620
-SHA256 (smlnj/110.96/smlnj-lib.tgz) = 7ff7e8008bc08f32f2080e83afa7c609171d9856ec46fcccaec7f44c309057fb
-SIZE (smlnj/110.96/smlnj-lib.tgz) = 457923
-SHA256 (smlnj/110.96/system.tgz) = 8f33d350c4027e326f4b910cba2c50ae215a0b6ce93fed380b02f48c19ce3161
-SIZE (smlnj/110.96/system.tgz) = 274076
-SHA256 (smlnj/110.96/trace-debug-profile.tgz) = 5f24d0ae00fb8dde2cec660ca66395fcfcc417ee56faec7f5f420af18cabb80d
-SIZE (smlnj/110.96/trace-debug-profile.tgz) = 3935
+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
diff --git a/lang/smlnj/files/do-patch-asdl_config.sh b/lang/smlnj/files/do-patch-asdl_config.sh
new file mode 100644
index 000000000000..e688167614cc
--- /dev/null
+++ b/lang/smlnj/files/do-patch-asdl_config.sh
@@ -0,0 +1,13 @@
+--- asdl/config.sh.orig 2019-10-27 12:44:07 UTC
++++ asdl/config.sh
+@@ -40,4 +40,10 @@ fi
+ SMLNJ_CMD=$INSTALLDIR/bin/sml
+ export SMLNJ_CMD
+
++# "convert" gmake -> bmake
++find . -name Makefile.in | \
++xargs sed -E -i "" \
++ -e 's/^include[[:space:]]+(.+)/.include "\1"/' \
++ -e 's@\$\(patsubst %,%/([^,]+),\$\(([^)]+)\)\)@${\2:C/(.+)\/\\1\\\/\1/}@' \
++ -e 's@\$\(patsubst %([^,]+),%([^,]+),\$\(([^)]+)\)\)@${\3:C/\1/\2/}@'
+ ./configure $SIZE_OPT --prefix=$INSTALLDIR
diff --git a/lang/smlnj/files/do-patch-asdl_config_check__smlnj__heap__suffix.m4 b/lang/smlnj/files/do-patch-asdl_config_check__smlnj__heap__suffix.m4
deleted file mode 100644
index e5e4e2391ae4..000000000000
--- a/lang/smlnj/files/do-patch-asdl_config_check__smlnj__heap__suffix.m4
+++ /dev/null
@@ -1,10 +0,0 @@
---- asdl/config/check_smlnj_heap_suffix.m4.orig 2019-10-21 18:02:45 UTC
-+++ asdl/config/check_smlnj_heap_suffix.m4
-@@ -45,6 +45,7 @@ AC_DEFUN([CHECK_SMLNJ_HEAP_SUFFIX], [
- sparc:solaris3*) SMLNJ_ARCH=sparc; SMLNJ_OPSYS=solaris;;
- x86_64:linux*) SMLNJ_ARCH=x86_64; SMLNJ_OPSYS=linux;;
- x86_64:darwin*) SMLNJ_ARCH=x86_64; SMLNJ_OPSYS=darwin;;
-+ x86_64:freebsd*) SMLNJ_ARCH=x86_64; SMLNJ_OPSYS=freebsd;;
- *) $1 ;;
- esac
- if test z$SMLNJ_ARCH != z -a z$SMLNJ_OPSYS != z ; then
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 807546457571..f326f3b0d438 100644
--- a/lang/smlnj/files/do-patch-asdl_src_asdlgen_Makefile.in
+++ b/lang/smlnj/files/do-patch-asdl_src_asdlgen_Makefile.in
@@ -1,33 +1,17 @@
---- asdl/src/asdlgen/Makefile.in.orig 2019-10-21 18:02:45 UTC
+--- asdl/src/asdlgen/Makefile.in.orig 2019-12-22 02:16:49 UTC
+++ asdl/src/asdlgen/Makefile.in
-@@ -35,10 +35,11 @@ INSTALL_WRAPPER = @ASDL_ROOT@/bin/install-sml-wrapper.
-
- # if specified, include the size option as an argument to ml-build
- #
--ifneq (@HOSTSIZE@,)
-+#ifneq (@HOSTSIZE@,)
-+.if defined(@HOSTSIZE@)
- ML_BUILD_FLAGS += -@HOSTSIZE@
- ML_MAKEDEPEND_FLAGS += -@HOSTSIZE@
--endif
-+.endif
-
- #
- # generator tools
-@@ -62,8 +63,10 @@ CM_FILES = back-end/sml/sources.cm \
+@@ -60,8 +60,8 @@ CM_FILES = back-end/sml/sources.cm \
CODE_FRAG_DIRS = back-end/sml
-CODE_FRAG_FILES = $(patsubst %,%/fragments.sml,$(CODE_FRAG_DIRS))
-CODE_FRAG_MKFILES = $(patsubst %,%/fragments.gmk,$(CODE_FRAG_DIRS))
-+#CODE_FRAG_FILES = $(patsubst %,%/fragments.sml,$(CODE_FRAG_DIRS))
-+#CODE_FRAG_MKFILES = $(patsubst %,%/fragments.gmk,$(CODE_FRAG_DIRS))
+CODE_FRAG_FILES = ${CODE_FRAG_DIRS:C/(.+)/\1\/fragments.sml/}
+CODE_FRAG_MKFILES = ${CODE_FRAG_DIRS:C/(.+)/\1\/fragments.gmk/}
SRCDIR = @ASDLGEN_SRCDIR@
-@@ -102,14 +105,18 @@ back-end/sml/fragments.sml:
+@@ -100,14 +100,18 @@ back-end/sml/fragments.sml:
touch .depend
$(ML_MAKEDEPEND) $(ML_MAKEDEPEND_FLAGS) -n -f .depend $(ROOT_CM) $(HEAP) || rm -f .depend
@@ -54,3 +38,9 @@
#################### Cleanup ####################
+@@ -125,4 +129,4 @@ DISTCLEAN_FILES += Makefile \
+
+ DEVCLEAN_FILES =
+
+-include @ASDL_MKDIR@/clean-rules.gmk
++.include "@ASDL_MKDIR@/clean-rules.gmk"
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 1d28d72f24ea..e1dd50843d0f 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,11 +1,5 @@
--- base/runtime/objs/mk.amd64-freebsd.orig 2019-11-14 19:33:11 UTC
+++ base/runtime/objs/mk.amd64-freebsd
-@@ -1,4 +1,4 @@
--# mk.amd64-freebst
-+# mk.amd64-freebsd
- #
- # makefile for "Free BSD" on the amd64 architecture, which is a BSD 4.4 clone.
- #
@@ -6,9 +6,10 @@
SHELL = /bin/sh
@@ -28,5 +22,5 @@
-# ($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared" $(RUNTIME_SO))
-# ($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A))
+ ($(MAKE) CHECK_HEAP=$(CHECK_HEAP) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" $(RUNTIME))
-+ ($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared -Wl,-z,notext" $(RUNTIME_SO))
++ -($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared -Wl,-z,notext" $(RUNTIME_SO))
+ ($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A))
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 81cd6a59f7d6..08e1747155f8 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
@@ -18,8 +18,8 @@
-
XOBJS =
XLIBS = ../c-libs/dl/libunix-dynload.a
--LD_LIBS =
-+LD_LIBS = -ldl
+-LD_LIBS = -lm
++LD_LIBS = -ldl -lm
+#CHECK_HEAP = check-heap.o
+XDEFS = -DASSERT_ON
BASE_DEFS =
@@ -39,5 +39,5 @@
-# ($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared" $(RUNTIME_SO))
-# ($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A))
+ ($(MAKE) CHECK_HEAP=$(CHECK_HEAP) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" $(RUNTIME))
-+ ($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared -Wl,-z,notext" $(RUNTIME_SO))
++ -($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared -Wl,-z,notext" $(RUNTIME_SO))
+ ($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A))
diff --git a/lang/smlnj/files/do-patch-base_system_Basis_Implementation_date.sml b/lang/smlnj/files/do-patch-base_system_Basis_Implementation_date.sml
deleted file mode 100644
index d28364771f7e..000000000000
--- a/lang/smlnj/files/do-patch-base_system_Basis_Implementation_date.sml
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/system/Basis/Implementation/date.sml.orig 2019-06-12 21:16:48 UTC
-+++ base/system/Basis/Implementation/date.sml
-@@ -70,7 +70,7 @@ structure Date : DATE =
- = wrap (CInterface.c_function "SMLNJ-Date" "strfTime")
-
- (* conversions between integer numbers of seconds (used by runtime) and Time.time values *)
-- fun nsToTime s = Time.fromSeconds (Word64.toLargeInt s)
-+ fun nsToTime s = Time.fromNanoseconds (Word64.toLargeInt s)
- fun timeToNs t = Word64.fromLargeInt (Time.toNanoseconds t)
-
- val localTime = localTime' o timeToNs
diff --git a/lang/smlnj/files/do-patch-smlnj-lib_JSON_json-parser.sml b/lang/smlnj/files/do-patch-smlnj-lib_JSON_json-parser.sml
deleted file mode 100644
index 52282ea50379..000000000000
--- a/lang/smlnj/files/do-patch-smlnj-lib_JSON_json-parser.sml
+++ /dev/null
@@ -1,102 +0,0 @@
---- smlnj-lib/JSON/json-parser.sml.orig 2011-05-10 18:58:08 UTC
-+++ smlnj-lib/JSON/json-parser.sml
-@@ -22,6 +22,26 @@ structure JSONParser : sig
- msg, ", found '", JSONTokens.toString tok, "'"
- ])
- val lexer = Lex.lex srcMap
-+ fun parse_sequence (is_tok_end, parse_item) (strm : Lex.strm, itms) = let
-+ fun is_tok_sep tok = case tok of T.COMMA => true | _ => false
-+ val (tok, pos, strm') = lexer strm
-+ in if is_tok_sep tok
-+ then error (pos, "parsing sequence", tok)
-+ else if is_tok_end tok
-+ then (strm', itms)
-+ else let val (strm'', itm) = parse_item strm
-+ val (tok', pos', strm''') = lexer strm''
-+ in if is_tok_end tok'
-+ then (strm''', itm :: itms)
-+ else if is_tok_sep tok'
-+ then let val (tok'', pos'', _) = lexer strm'''
-+ in if is_tok_end tok''
-+ then error (pos'', "parsing sequence", tok'')
-+ else parse_sequence (is_tok_end, parse_item) (strm''', itm :: itms)
-+ end
-+ else error (pos', "parsing sequence", tok')
-+ end
-+ end
- fun parseValue (strm : Lex.strm) = let
- val (tok, pos, strm) = lexer strm
- in
-@@ -37,50 +57,29 @@ structure JSONParser : sig
- | _ => error (pos, "parsing value", tok)
- (* end case *)
- end
-- and parseArray (strm : Lex.strm) = (case lexer strm
-- of (T.RB, _, strm) => (strm, J.ARRAY[])
-- | _ => let
-- fun loop (strm, items) = let
-- val (strm, v) = parseValue strm
-- (* expect either a "," or a "]" *)
-- val (tok, pos, strm) = lexer strm
-- in
-- case tok
-- of T.RB => (strm, v::items)
-- | T.COMMA => loop (strm, v::items)
-- | _ => error (pos, "parsing array", tok)
-- (* end case *)
-- end
-- val (strm, items) = loop (strm, [])
-- in
-- (strm, J.ARRAY(List.rev items))
-- end
-- (* end case *))
-+ and parseArray (strm : Lex.strm) = let
-+ fun is_RB tok = case tok of T.RB => true | _ => false
-+ val (strm', elmnts) = parse_sequence (is_RB, parseValue) (strm, [])
-+ in (strm', J.ARRAY(List.rev elmnts))
-+ end
- and parseObject (strm : Lex.strm) = let
-- fun parseField strm = (case lexer strm
-- of (T.STRING s, pos, strm) => (case lexer strm
-- of (T.COLON, _, strm) => let
-- val (strm, v) = parseValue strm
-- in
-- SOME(strm, (s, v))
-- end
-- | (tok, pos, _) => error (pos, "parsing field", tok)
-- (* end case *))
-- | _ => NONE
-- (* end case *))
-- fun loop (strm, flds) = (case parseField strm
-- of SOME(strm, fld) => (
-- (* expect either "," or "}" *)
-- case lexer strm
-- of (T.RCB, pos, strm) => (strm, fld::flds)
-- | (T.COMMA, pos, strm) => loop (strm, fld::flds)
-- | (tok, pos, _) => error (pos, "parsing object", tok)
-- (* end case *))
-- | NONE => (strm, flds)
-- (* end case *))
-- val (strm, flds) = loop (strm, [])
-- in
-- (strm, J.OBJECT(List.rev flds))
-+ fun is_RCB tok = case tok of T.RCB => true | _ => false
-+ fun parse_field strm = let
-+ val (tok, pos, strm') = lexer strm
-+ in case tok
-+ of T.STRING s =>
-+ (case lexer strm'
-+ of (T.COLON, _, strm'') => let
-+ val (strm''', v) = parseValue strm''
-+ in (strm''', (s, v))
-+ end
-+ | (tok', pos', _) => error (pos', "parsing field", tok')
-+ (* end case *))
-+ | _ => error (pos, "parsing field", tok)
-+ (* end case *)
-+ end
-+ val (strm', flds) = parse_sequence (is_RCB, parse_field) (strm, [])
-+ in (strm', J.OBJECT(List.rev flds))
- end
- in
- #2 (parseValue (Lex.streamifyInstream inStrm))
diff --git a/lang/smlnj/files/do-patch-smlnj-lib_JSON_json-stream-printer.sml b/lang/smlnj/files/do-patch-smlnj-lib_JSON_json-stream-printer.sml
deleted file mode 100644
index 51c8c0526de5..000000000000
--- a/lang/smlnj/files/do-patch-smlnj-lib_JSON_json-stream-printer.sml
+++ /dev/null
@@ -1,25 +0,0 @@
---- smlnj-lib/JSON/json-stream-printer.sml.orig 2017-07-14 20:32:40 UTC
-+++ smlnj-lib/JSON/json-stream-printer.sml
-@@ -103,14 +103,14 @@ structure JSONStreamPrinter : sig
- fun tr (i, chrs) = (case getWChar i
- of SOME(wchr, i) => if (wchr <= 0w126)
- then (case UTF8.toAscii wchr
-- of #"\"" => "\\\""
-- | #"\\" => "\\\\"
-- | #"/" => "\\/"
-- | #"\b" => "\\b"
-- | #"\f" => "\\f"
-- | #"\n" => "\\n"
-- | #"\r" => "\\r"
-- | #"\t" => "\\t"
-+ of #"\"" => tr(i, "\\\"" :: chrs)
-+ | #"\\" => tr(i, "\\\\" :: chrs)
-+ | #"/" => tr(i, "\\/" :: chrs)
-+ | #"\b" => tr(i, "\\b" :: chrs)
-+ | #"\f" => tr(i, "\\f" :: chrs)
-+ | #"\n" => tr(i, "\\n" :: chrs)
-+ | #"\r" => tr(i, "\\r" :: chrs)
-+ | #"\t" => tr(i, "\\t" :: chrs)
- | c => if (wchr < 0w32)
- then tr(i, F.format "\\u%04x" [F.WORD wchr] :: chrs)
- else tr(i, str c :: chrs)
diff --git a/lang/smlnj/files/patch-config_install.sh b/lang/smlnj/files/patch-config_install.sh
index c5b35e6f34c7..30136bb39e5c 100644
--- a/lang/smlnj/files/patch-config_install.sh
+++ b/lang/smlnj/files/patch-config_install.sh
@@ -1,4 +1,4 @@
---- config/install.sh.orig 2019-11-23 16:06:59 UTC
+--- config/install.sh.orig 2020-04-03 02:04:40 UTC
+++ config/install.sh
@@ -56,11 +56,36 @@ if [ x"$SIZE_OPT" = x ] ; then
SIZE_OPT="-"$DEFAULT_SIZE
@@ -67,7 +67,7 @@
#
# the release version that we are installing
#
-@@ -403,7 +449,12 @@ esac
+@@ -407,7 +453,12 @@ esac
# the name of the bin files directory
#
BOOT_ARCHIVE=boot.$ARCH-unix
@@ -81,7 +81,7 @@
#
# build the run-time system
-@@ -412,9 +463,15 @@ if [ -x "$RUNDIR"/run.$ARCH-$OPSYS ]; then
+@@ -416,9 +467,15 @@ if [ -x "$RUNDIR"/run.$ARCH-$OPSYS ]; then
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
-@@ -426,7 +483,7 @@ else
+@@ -430,7 +487,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
-@@ -452,7 +509,7 @@ if [ -r "$HEAPDIR"/sml.$HEAP_SUFFIX ]; then
+@@ -456,7 +513,7 @@ if [ -r "$HEAPDIR"/sml.$HEAP_SUFFIX ]; then
complain "$this !!! Unable to re-create heap image (sml.$HEAP_SUFFIX)."
fi
else
@@ -116,7 +116,7 @@
fish "$ROOT"/"$BOOT_FILES"/smlnj/basis
-@@ -487,7 +544,7 @@ else
+@@ -491,7 +548,7 @@ else
cd "$ROOT"/"$BOOT_FILES"
for anchor in * ; do
if [ -d $anchor ] ; then
@@ -125,7 +125,7 @@
move $anchor "$LIBDIR"/$anchor
fi
done
-@@ -510,6 +567,18 @@ installdriver _ml-build ml-build
+@@ -514,6 +571,18 @@ installdriver _ml-build ml-build
cd "$ROOT"
@@ -144,7 +144,7 @@
#
# Now do all the rest using the precompiled installer
# (see base/system/smlnj/installer for details)
-@@ -519,6 +588,12 @@ if [ $nolib = false ] ; then
+@@ -523,6 +592,12 @@ if [ $nolib = false ] ; then
export ROOT INSTALLDIR CONFIGDIR BINDIR
CM_TOLERATE_TOOL_FAILURES=true
export CM_TOLERATE_TOOL_FAILURES
@@ -156,8 +156,8 @@
+ [ -z "$STAGEDIR" ] || CM_PATHCONFIG=$CM_LOCAL_PATHCONFIG
if "$BINDIR"/sml $SIZE_OPT -m \$smlnj/installer.cm
then
- vsay $this: Installation complete.
-@@ -526,5 +601,20 @@ if [ $nolib = false ] ; then
+ # because we create heap2exec without knowing if heap2asm is going
+@@ -536,5 +611,20 @@ if [ $nolib = false ] ; then
complain "$this: !!! Installation of libraries and programs failed."
fi
fi
diff --git a/lang/smlnj/pkg-plist b/lang/smlnj/pkg-plist
index 2125a02627a6..0edd5e600acb 100644
--- a/lang/smlnj/pkg-plist
+++ b/lang/smlnj/pkg-plist
@@ -1,7 +1,13 @@
+man/man1/asdlgen.1.gz
+man/man1/heap2exec.1.gz
man/man1/ml-antlr.1.gz
man/man1/ml-build.1.gz
+man/man1/ml-burg.1.gz
+man/man1/ml-lex.1.gz
man/man1/ml-makedepend.1.gz
+man/man1/ml-nlffigen.1.gz
man/man1/ml-ulex.1.gz
+man/man1/ml-yacc.1.gz
man/man1/sml.1.gz
man/man7/smlnj.7.gz
smlnj/bin/.arch-n-opsys
@@ -18,7 +24,7 @@ smlnj/bin/.heap/sml.%%MLARCH%%-bsd
smlnj/bin/.link-sml
smlnj/bin/.run/run.%%MLARCH%%-freebsd
smlnj/bin/.run/run.%%MLARCH%%-freebsd.a
-smlnj/bin/.run/run.%%MLARCH%%-freebsd.so
+%%RUNTIME_SO%%smlnj/bin/.run/run.%%MLARCH%%-freebsd.so
smlnj/bin/.run-sml
smlnj/bin/asdlgen
smlnj/bin/heap2asm
@@ -36,7 +42,6 @@ smlnj/bin/sml
smlnj/lib/SMLNJ-BASIS/.cm/%%MLARCH%%-unix/basis-common.cm
smlnj/lib/SMLNJ-BASIS/.cm/%%MLARCH%%-unix/basis.cm
smlnj/lib/SMLNJ-LIB/Controls/.cm/%%MLARCH%%-unix/controls-lib.cm
-smlnj/lib/SMLNJ-LIB/HTML/.cm/%%MLARCH%%-unix/html-lib.cm
smlnj/lib/SMLNJ-LIB/PP/.cm/%%MLARCH%%-unix/pp-lib.cm
smlnj/lib/SMLNJ-LIB/Util/.cm/%%MLARCH%%-unix/smlnj-lib.cm
smlnj/lib/SMLNJ-ML-YACC-LIB/.cm/%%MLARCH%%-unix/ml-yacc-lib.cm
@@ -80,11 +85,12 @@ smlnj/lib/cml/.cm/%%MLARCH%%-unix/trace-cml.cm
smlnj/lib/cml/.cm/%%MLARCH%%-unix/unix-lib.cm
smlnj/lib/cml-lib/.cm/%%MLARCH%%-unix/smlnj-lib.cm
smlnj/lib/cml-lib/.cm/%%MLARCH%%-unix/trace-cml.cm
-smlnj/lib/compiler/MiscUtil/const-arith/.cm/%%MLARCH%%-unix/sources.cm
+smlnj/lib/compiler/Library/const-arith/.cm/%%MLARCH%%-unix/sources.cm
smlnj/lib/dir-tool.cm/.cm/%%MLARCH%%-unix/dir-tool.cm
%%EVERYTHING%%smlnj/lib/eXene.cm/.cm/%%MLARCH%%-unix/eXene.cm
smlnj/lib/grm-ext.cm/.cm/%%MLARCH%%-unix/grm-ext.cm
smlnj/lib/hash-cons-lib.cm/.cm/%%MLARCH%%-unix/hash-cons-lib.cm
+smlnj/lib/html-lib.cm/.cm/%%MLARCH%%-unix/html-lib.cm
smlnj/lib/html4-lib.cm/.cm/%%MLARCH%%-unix/html4-lib.cm
smlnj/lib/inet-lib.cm/.cm/%%MLARCH%%-unix/inet-lib.cm
smlnj/lib/json-lib.cm/.cm/%%MLARCH%%-unix/json-lib.cm
@@ -108,6 +114,7 @@ smlnj/lib/pathconfig
%%EVERYTHING%%smlnj/lib/pgraph-util.cm/.cm/%%MLARCH%%-unix/pgraph-util.cm
smlnj/lib/pgraph.cm/.cm/%%MLARCH%%-unix/pgraph.cm
smlnj/lib/pickle-lib.cm/.cm/%%MLARCH%%-unix/pickle-lib.cm
+smlnj/lib/pp-extras-lib.cm/.cm/%%MLARCH%%-unix/pp-extras-lib.cm
smlnj/lib/reactive-lib.cm/.cm/%%MLARCH%%-unix/reactive-lib.cm
smlnj/lib/regexp-lib.cm/.cm/%%MLARCH%%-unix/regexp-lib.cm
smlnj/lib/sexp-lib.cm/.cm/%%MLARCH%%-unix/sexp-lib.cm
@@ -158,7 +165,6 @@ smlnj/lib/smlnj/internal/.cm/%%MLARCH%%-unix/smlnj-version.cm
smlnj/lib/smlnj/internal/.cm/%%MLARCH%%-unix/srcpath-lib.cm
smlnj/lib/smlnj/ml-yacc/.cm/%%MLARCH%%-unix/ml-yacc-lib.cm
smlnj/lib/smlnj/smlnj-lib/.cm/%%MLARCH%%-unix/controls-lib.cm
-smlnj/lib/smlnj/smlnj-lib/.cm/%%MLARCH%%-unix/html-lib.cm
smlnj/lib/smlnj/smlnj-lib/.cm/%%MLARCH%%-unix/pp-lib.cm
smlnj/lib/smlnj/smlnj-lib/.cm/%%MLARCH%%-unix/smlnj-lib.cm
smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/amd64.cm
@@ -173,4 +179,5 @@ smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/ppc.cm
smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/sparc.cm
smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/x86.cm
smlnj/lib/unix-lib.cm/.cm/%%MLARCH%%-unix/unix-lib.cm
+smlnj/lib/uuid-lib.cm/.cm/%%MLARCH%%-unix/uuid-lib.cm
smlnj/lib/xml-lib.cm/.cm/%%MLARCH%%-unix/xml-lib.cm