--- Makefile (revision 543668) +++ Makefile (working copy) @@ -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 @@ ONLY_FOR_ARCHS= amd64 i386 +USES= compiler + NO_WRKSUBDIR= yes SUB_FILES= pkg-install @@ -33,6 +35,15 @@ .include +# 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 @@ .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 @@ 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 --- distinfo (revision 543668) +++ distinfo (working copy) @@ -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 --- files/do-patch-asdl_config.sh (nonexistent) +++ files/do-patch-asdl_config.sh (working copy) @@ -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 --- files/do-patch-asdl_config_check__smlnj__heap__suffix.m4 (revision 543668) +++ files/do-patch-asdl_config_check__smlnj__heap__suffix.m4 (nonexistent) @@ -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 --- files/do-patch-asdl_src_asdlgen_Makefile.in (revision 543668) +++ files/do-patch-asdl_src_asdlgen_Makefile.in (working copy) @@ -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. +@@ -60,8 +60,8 @@ CM_FILES = back-end/sml/sources.cm \ - # 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 \ - 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" --- files/do-patch-base_runtime_objs_mk.amd64-freebsd (revision 543668) +++ files/do-patch-base_runtime_objs_mk.amd64-freebsd (working copy) @@ -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)) --- files/do-patch-base_runtime_objs_mk.x86-freebsd (revision 543668) +++ files/do-patch-base_runtime_objs_mk.x86-freebsd (working copy) @@ -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)) --- files/do-patch-base_system_Basis_Implementation_date.sml (revision 543668) +++ files/do-patch-base_system_Basis_Implementation_date.sml (nonexistent) @@ -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 --- files/do-patch-smlnj-lib_JSON_json-parser.sml (revision 543668) +++ files/do-patch-smlnj-lib_JSON_json-parser.sml (nonexistent) @@ -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)) --- files/do-patch-smlnj-lib_JSON_json-stream-printer.sml (revision 543668) +++ files/do-patch-smlnj-lib_JSON_json-stream-printer.sml (nonexistent) @@ -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) --- files/patch-config_install.sh (revision 543668) +++ files/patch-config_install.sh (working copy) @@ -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 --- pkg-plist (revision 543668) +++ pkg-plist (working copy) @@ -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/.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/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/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 @@ %%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/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/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