Index: Makefile =================================================================== --- Makefile (revision 487898) +++ Makefile (working copy) @@ -1,7 +1,7 @@ # $FreeBSD$ PORTNAME= smlnj -PORTVERSION= 110.77 +PORTVERSION= 110.84 CATEGORIES= lang MASTER_SITES= http://smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/ \ ftp://mirror.free.de/http/smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/ @@ -18,7 +18,7 @@ http://www.smlnj.org/license.html LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept -ONLY_FOR_ARCHS= i386 amd64 +ONLY_FOR_ARCHS= amd64 i386 LLD_UNSAFE= yes NO_WRKSUBDIR= yes @@ -27,54 +27,39 @@ SUB_LIST= EXEBINDIR=${MLBINRELATIVE} EXENAMES="${MLEXE}" PKGDEINSTALL= ${PKGINSTALL} -# Calm portlint -CALM= - -OPTIONS_RADIO= RG1 -OPTIONS_RADIO_RG1= EVERYTHING RECOMPILE POSITION64 +OPTIONS_DEFINE= EVERYTHING RECOMPILE POSITION64 +RECOMPILE_IMPLIES= EVERYTHING +POSITION64_IMPLIES= RECOMPILE +# Recompiling the compiler currently fails on amd64 OPTIONS_EXCLUDE_amd64= RECOMPILE POSITION64 -EVERYTHING_DESC= install${CALM} everything from the SML/NJ distribution +EVERYTHING_DESC= install everything from the SML/NJ distribution RECOMPILE_DESC= recompile the SML compiler - implies EVERYTHING -POSITION64_DESC= use 64bit file${CALM} positions - implies RECOMPILE +POSITION64_DESC= use 64bit file positions - implies RECOMPILE .include -# Recompiling the compiler currently fails on amd64 -.if ${ARCH} == "i386" -ML_RECOMPILE_OPTIONS= RECOMPILE POSITION64 -.endif - .if (${ARCH} == "amd64") CFLAGS+= -m32 AS?= as -AS+= --32 +ASFLAGS+= --32 .endif .if (${ARCH} == "i386" || ${ARCH} == "amd64") MLARCH= x86 DISTFILES+= boot.x86-unix.tgz .endif -DISTFILES+= MLRISC.tgz ckit.tgz cml.tgz doc.tgz heap2asm.tgz \ - ml-burg.tgz ml-lpt.tgz ml-lex.tgz ml-yacc.tgz nlffi.tgz \ - smlnj-lib.tgz trace-debug-profile.tgz +DISTFILES+= MLRISC.tgz asdl.tgz ckit.tgz cml.tgz doc.tgz heap2asm.tgz \ + ml-burg.tgz ml-lex.tgz ml-lpt.tgz ml-yacc.tgz nlffi.tgz \ + old-basis.tgz smlnj-lib.tgz trace-debug-profile.tgz PLIST_SUB+= MLARCH=${MLARCH} -.if ${PORT_OPTIONS:MPOSITION64} || defined(ML_POSITION64) -ML_POSITION64?= ${PORT_OPTIONS:MPOSITION64} -ML_RECOMPILE?= ${ML_POSITION64} -ML_EVERYTHING?= ${ML_POSITION64} +.if ${PORT_OPTIONS:MPOSITION64} CMB_COMMAND= '(\#set o CMB.symval) "USE_64_BIT_POSITIONS" (SOME 1);' .else CMB_COMMAND= .endif -.if ${PORT_OPTIONS:MRECOMPILE} || defined(ML_RECOMPILE) -ML_RECOMPILE?= ${PORT_OPTIONS:MRECOMPILE} -ML_EVERYTHING?= ${ML_RECOMPILE} -.endif - -.if ${PORT_OPTIONS:MEVERYTHING} || defined(ML_EVERYTHING) -ML_EVERYTHING?= ${PORT_OPTIONS:MEVERYTHING} +.if ${PORT_OPTIONS:MEVERYTHING} DISTFILES+= cm.tgz compiler.tgz eXene.tgz \ pgraph.tgz smlnj-c.tgz system.tgz PLIST_SUB+= EVERYTHING="" @@ -87,7 +72,8 @@ MLBINRELATIVE= ${MLROOTRELATIVE}/bin MLBIN= ${MLROOT}/bin MLLIB= ${MLROOT}/lib -MLSTDSRCDIRS= cml doc heap2asm ml-burg ml-lex ml-lpt ml-yacc nlffi smlnj-lib +MLSTDSRCDIRS= asdl cml doc heap2asm ml-burg ml-lex ml-lpt ml-yacc \ + nlffi smlnj-lib MLSRCDIRS= base ${MLSTDSRCDIRS} \ ckit eXene pgraph smlnj-c MLSRCS= @@ -95,9 +81,9 @@ MLSRCS+= ${MLROOT}/${srcdir} .endfor MLTARGETS= heap2asm -MLEXE= heap2exec ml-antlr ml-build ml-burg ml-lex ml-makedepend \ - ml-nlffigen ml-ulex ml-yacc sml -.if defined(ML_EVERYTHING) +MLEXE= asdlgen heap2exec ml-antlr ml-build ml-burg ml-lex \ + ml-makedepend ml-nlffigen ml-ulex ml-yacc sml +.if ${PORT_OPTIONS:MEVERYTHING} MLTARGETS+= eXene mlrisc-tools nowhere pgraph-util src-smlnj MLEXE+= nowhere PLIST= ${WRKDIR}/.PLIST @@ -108,20 +94,22 @@ pre-fetch: @${ECHO} -.if ! defined(ML_EVERYTHING) - @${ECHO} 'Use make ML_EVERYTHING=yes to also build/install' +.if ! ${PORT_OPTIONS:MEVERYTHING} + @${ECHO} 'Use port option EVERYTHING to also build/install' @${ECHO} ' eXene (X Windows toolkit),' @${ECHO} ' nowhere (preprocessor for conditional patterns),' @${ECHO} ' various libraries, and all the sources.' .endif -.if !empty(ML_RECOMPILE_OPTIONS:MRECOMPILE) && !defined(ML_RECOMPILE) - @${ECHO} 'Use make ML_RECOMPILE=yes to recompile the compiler.' - @${ECHO} ' This implies ML_EVERYTHING.' +.if (${ARCH} == "i386") +.if ! ${PORT_OPTIONS:MRECOMPILE} + @${ECHO} 'Use port option RECOMPILE to recompile the compiler.' + @${ECHO} ' This implies EVERYTHING.' .endif -.if !empty(ML_RECOMPILE_OPTIONS:MPOSITION64) && !defined(ML_POSITION64) - @${ECHO} 'Use make ML_POSITION64=yes to use 64bit file positions.' - @${ECHO} ' This implies ML_RECOMPILE.' +.if ! ${PORT_OPTIONS:MPOSITION64} + @${ECHO} 'Use port option POSITION64 to use 64bit file positions.' + @${ECHO} ' This implies RECOMPILE.' .endif +.endif @${ECHO} # make symlinks to the dist files @@ -145,7 +133,7 @@ # Recompilation requires ml-lex and ml-yacc. All requested targets # will be built later using the recompiled core system after # removing targets.customized. See "do-build" below. -.if defined(ML_RECOMPILE) +.if ${PORT_OPTIONS:MRECOMPILE} ( ${ECHO_CMD} "request ml-yacc" && \ ${ECHO_CMD} "request ml-lex" && \ ${ECHO_CMD} "request ml-lex-mllex-tool" && \ @@ -158,7 +146,7 @@ # a subsequent make install. # See base/system/README for information on recompiling the compiler. -.if defined(ML_RECOMPILE) +.if ${PORT_OPTIONS:MRECOMPILE} RECOMPILEDIR= base/system .else RECOMPILEDIR= @@ -174,9 +162,9 @@ MLSTANDARDPATCHDIRS_CMD= cd ${FILESDIR} && \ ( for srcdir in ${MLSTDSRCDIRS} ; \ do if ${LS} do-patch-$${srcdir}_* 1>&- 2>&- ; \ - then ${ECHO_CMD} -n $${srcdir} " " ; break ; fi ; \ + then ${ECHO_CMD} -n $${srcdir} " " ; fi ; \ done ) || ${TRUE} -.if defined(ML_EVERYTHING) +.if ${PORT_OPTIONS:MEVERYTHING} MLSOURCEPATCHES_CMD= cd ${FILESDIR} && \ ( ${LS} do-patch-* 2>&- || \ ${TRUE} ) @@ -192,9 +180,10 @@ MLSTANDARDPATCHES=`${MLSTANDARDPATCHES_CMD}` \ MLSTANDARDPATCHDIRS=`${MLSTANDARDPATCHDIRS_CMD}` \ MLSOURCEPATCHES=`${MLSOURCEPATCHES_CMD}` \ - CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' AS='${AS}' EXTRA_DEFS='${EXTRA_DEFS}' \ + CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \ + AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \ ./config/install.sh -.if defined(ML_RECOMPILE) +.if ${PORT_OPTIONS:MRECOMPILE} -${RM} ${WRKSRC}/config/targets.customized @${ECHO} '(* Recompiling the core system: *)' cd ${WRKSRC}/${RECOMPILEDIR} && ( \ @@ -215,9 +204,11 @@ ./installml @${ECHO} '(* Building requested targets: *)' cd ${WRKSRC} && unset PWD && \ - FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="-d ${PATCH_WRKSRC} ${PATCH_ARGS}" \ + FILESDIR="${FILESDIR}" PATCH="${PATCH}" \ + PATCH_ARGS="-d ${PATCH_WRKSRC} ${PATCH_ARGS}" \ MLNORUNTIMECLEAN=yes RECOMPILEDIR="${RECOMPILEDIR}" \ - CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' AS='${AS}' EXTRA_DEFS='${EXTRA_DEFS}' \ + CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \ + AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \ ./config/install.sh .endif @@ -233,13 +224,17 @@ post-build: ${FIND} ${WRKSRC} -type f -name '\._*' -delete +.if ${PORT_OPTIONS:MEVERYTHING} + ${CHMOD} a-x ${WRKSRC}/eXene/examples/basicwin/test.sh \ + ${WRKSRC}/smlnj-lib/HTML4/helper.py +.endif # Nowadays PLIST has to be computed before installation. We do it in # "pre-install" because source extraction happens during "build". -.if defined(ML_EVERYTHING) +.if ${PORT_OPTIONS:MEVERYTHING} MLNOINSTALL= .cm -.if defined(ML_RECOMPILE) +.if ${PORT_OPTIONS:MRECOMPILE} MLNOINSTALL+= sml.bin.${MLARCH}-unix sml.boot.${MLARCH}-unix \ sml.lib sml.${MLARCH}-bsd .endif @@ -252,7 +247,7 @@ .endif pre-install: -.if defined(ML_EVERYTHING) +.if ${PORT_OPTIONS:MEVERYTHING} @${ECHO} -n '(* Computing package list ...' @${TAR} -tzf ${WRKSRC}/runtime.tgz | \ ${GREP} -E -v '(^|/)\._.*' | \ @@ -274,6 +269,7 @@ ${AWK} '{ print "${MLROOTRELATIVE}/" $$0 }' ) ; \ ( ${FIND} -s -d ${MLSRCDIRS} -type d -empty | \ ${AWK} '{ print "@dir ${MLROOTRELATIVE}/" $$0 }' ) ) | \ + ${EGREP} -v "^${MLROOTRELATIVE}/base/runtime" | \ ${EGREP} -v ${MLSRCEXCLUDEREGEX} > ${MLSRCPLIST} @${SED} -e 's/^%%EVERYTHING%%//' ${MLPLISTFILES} | \ ${GREP} -h -v "^@dir" | ${SORT} -u > ${PLIST} @@ -304,7 +300,7 @@ # When staging CM_PATHCONFIG has to point to the final # ${MLLIB}/pathconfig (in ${PREFIX}) while building the compiler. -.if defined(ML_EVERYTHING) +.if ${PORT_OPTIONS:MEVERYTHING} MLSRCEXCLUDES= .for excl in ${MLNOINSTALL} MLSRCEXCLUDES+= --exclude "${excl}" @@ -313,12 +309,13 @@ do-install: ${MKDIR} "${STAGEDIR}${MLROOT}" -.if ! defined(ML_RECOMPILE) +.if ! ${PORT_OPTIONS:MRECOMPILE} cd ${WRKSRC} && unset PWD && \ FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="-d ${PATCH_WRKSRC} ${PATCH_ARGS}" \ STAGEDIR="${STAGEDIR}" MLLIB="${MLLIB}" \ INSTALLDIR="${STAGEDIR}${MLROOT}" \ - CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' AS='${AS}' EXTRA_DEFS='${EXTRA_DEFS}' \ + CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \ + AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \ ./config/install.sh .else @${ECHO} '(* Rebuilding the recompiled libs: *)' @@ -335,7 +332,8 @@ FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="-d ${PATCH_WRKSRC} ${PATCH_ARGS}" \ STAGEDIR="${STAGEDIR}" MLLIB="${MLLIB}" \ INSTALLDIR="${STAGEDIR}${MLROOT}" RECOMPILEDIR="${RECOMPILEDIR}" \ - CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' AS='${AS}' EXTRA_DEFS='${EXTRA_DEFS}' \ + CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' \ + AS='${AS}' ASFLAGS='${ASFLAGS}' EXTRA_DEFS='${EXTRA_DEFS}' \ ./config/install.sh .endif [ ! -d ${STAGEDIR} ] || \ @@ -352,7 +350,7 @@ ( eval $${MLARCHOPSYS} ; \ ${STRIP_CMD} "${STAGEDIR}${MLBIN}/.run/run.$${ARCH}-$${OPSYS}" \ "${STAGEDIR}${MLBIN}/.run/run.$${ARCH}-$${OPSYS}.so" ) -.if defined(ML_EVERYTHING) +.if ${PORT_OPTIONS:MEVERYTHING} @${ECHO} '(* Cleaning base/runtime: *)' cd ${WRKSRC}/base/runtime/objs && ${MAKE_CMD} clean @${ECHO} -n '(* Installing sources into ${STAGEDIR}${MLROOT} ...' @@ -360,20 +358,13 @@ ${TAR} -xf - -C "${STAGEDIR}${MLROOT}" @${ECHO} ' done. *)' .endif - # Only execute ${PKGINSTALL} when installing to ${PREFIX}, # but not when staging. -.ifmake install${CALM} +.ifmake install${CALM_PORTLINT} PKG_PREFIX=${PREFIX} MULTIEXEC_WRAPPER_VERBOSE=yes \ ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL .endif - ${FIND} ${STAGEDIR} -type f -name '\._*' -delete - MLARCHOPSYS=`${STAGEDIR}${MLBIN}/.arch-n-opsys` && \ - ( eval $${MLARCHOPSYS} ; \ - ${STRIP_CMD} "${STAGEDIR}${MLBIN}/.run/run.$${ARCH}-$${OPSYS}" \ - "${STAGEDIR}${MLBIN}/.run/run.$${ARCH}-$${OPSYS}.so" ) - .ifndef MULTIEXEC_WRAPPER_VERBOSE deinstall: export MULTIEXEC_WRAPPER_VERBOSE=yes && \ Index: distinfo =================================================================== --- distinfo (revision 487898) +++ distinfo (working copy) @@ -1,42 +1,47 @@ -SHA256 (smlnj/110.77/MLRISC.tgz) = 4b443ee9e27bc8d2010bdce5724302c7d338e8eba0051d45cb4e384204488a76 -SIZE (smlnj/110.77/MLRISC.tgz) = 1479104 -SHA256 (smlnj/110.77/boot.x86-unix.tgz) = 9982a36d9fb3d2d15590d0d8bb15a30d3e684ad49f56d69eef8684f4eaf3bf02 -SIZE (smlnj/110.77/boot.x86-unix.tgz) = 5905482 -SHA256 (smlnj/110.77/ckit.tgz) = 29145b1739d46173cbaa87456b2bed35977c4ae7e83c48134a591459939b3966 -SIZE (smlnj/110.77/ckit.tgz) = 206672 -SHA256 (smlnj/110.77/cm.tgz) = 1c60316b3f16ae1a93cb87e281edcf2a84a554ac0415f010b8d565c2ae3a0a82 -SIZE (smlnj/110.77/cm.tgz) = 209949 -SHA256 (smlnj/110.77/cml.tgz) = bc4548eda9531c52029ed68a7988985b62ad17e95841c04dbbe32b4b30df4ef7 -SIZE (smlnj/110.77/cml.tgz) = 119083 -SHA256 (smlnj/110.77/compiler.tgz) = fcc7388167ee2d0048644bb2147bbca3e16f60be326dd724407e0f51e254e52f -SIZE (smlnj/110.77/compiler.tgz) = 841677 -SHA256 (smlnj/110.77/config.tgz) = 6bed2026e05367f247e2fcfa918edb835bdab24182f02f3253c1baf2f301b552 -SIZE (smlnj/110.77/config.tgz) = 514900 -SHA256 (smlnj/110.77/doc.tgz) = 8301bccdc1e99e8865e905070f7719d94a0ae39b44733d961a3e3002d97dd27e -SIZE (smlnj/110.77/doc.tgz) = 10240 -SHA256 (smlnj/110.77/eXene.tgz) = d4d3ccbde1bc11943054fb093a34c8531c9e8f56731293ca2470eab21602ea33 -SIZE (smlnj/110.77/eXene.tgz) = 729294 -SHA256 (smlnj/110.77/heap2asm.tgz) = f3f5c26d11dbe8019e6b3349ab07c04ffe553780a3a6ca0b000fe8084886ada5 -SIZE (smlnj/110.77/heap2asm.tgz) = 1606 -SHA256 (smlnj/110.77/ml-burg.tgz) = 9bc7bb014d34a63cb3ac8c42104bd579e8990ab2803c32a6a4410fcf8cfcbd4c -SIZE (smlnj/110.77/ml-burg.tgz) = 37604 -SHA256 (smlnj/110.77/ml-lex.tgz) = c4c0e108bf166f77e083692a27f9231d730c5b2a73a2f9f5409e55928c679553 -SIZE (smlnj/110.77/ml-lex.tgz) = 34081 -SHA256 (smlnj/110.77/ml-lpt.tgz) = eff30e6a3c4afb7f8265650e3e1cc83a8ff252ed19f22b30c2c431c9beca126e -SIZE (smlnj/110.77/ml-lpt.tgz) = 266511 -SHA256 (smlnj/110.77/ml-yacc.tgz) = 24a2b1d955e990c6f2a64d6be4df0c7d9bf430f56501587ecf95d30732cf266c -SIZE (smlnj/110.77/ml-yacc.tgz) = 103554 -SHA256 (smlnj/110.77/nlffi.tgz) = 8729d2aa203329fa76f9a7dccafe6fe88d0f397f1238727fea8fa1c67ae38cf0 -SIZE (smlnj/110.77/nlffi.tgz) = 79026 -SHA256 (smlnj/110.77/pgraph.tgz) = 5b46d4d9668f27b7538b5a8f6b62d9cd2c5797118e303aa691266df67f6e818c -SIZE (smlnj/110.77/pgraph.tgz) = 5907 -SHA256 (smlnj/110.77/runtime.tgz) = 8e40aa7d39c806d36360174d36bc376fa53662b5ac4f0a4add120c8c2fe67f2b -SIZE (smlnj/110.77/runtime.tgz) = 349470 -SHA256 (smlnj/110.77/smlnj-c.tgz) = 6de6f0d5a41e7fe097f3fae2815829c4bb14729145efa293fc74bd138180f01d -SIZE (smlnj/110.77/smlnj-c.tgz) = 11462 -SHA256 (smlnj/110.77/smlnj-lib.tgz) = 9232f7cf61a9a7a859dc9249a47a77b954a746137e8d8f6e57236f8c030677e7 -SIZE (smlnj/110.77/smlnj-lib.tgz) = 434946 -SHA256 (smlnj/110.77/system.tgz) = 367cce5e0ab848d28bc019862a30c2b5b774fd4733301bb72fec811d8e9d7f54 -SIZE (smlnj/110.77/system.tgz) = 246164 -SHA256 (smlnj/110.77/trace-debug-profile.tgz) = e6c7a4ed96de076b8d27af44eb8bfc1121e32f915d9a0b8fc356b5a27c761908 -SIZE (smlnj/110.77/trace-debug-profile.tgz) = 4329 +TIMESTAMP = 1545084427 +SHA256 (smlnj/110.84/MLRISC.tgz) = da3c5236018fa7608863c2fe1f3c57b60013df98b5a249fb3d4edc738cdfd072 +SIZE (smlnj/110.84/MLRISC.tgz) = 1458550 +SHA256 (smlnj/110.84/asdl.tgz) = 8be712200dc186b8bbe79b3ae111f2c490bf74f4709882d3459ac061f66b5b8e +SIZE (smlnj/110.84/asdl.tgz) = 193047 +SHA256 (smlnj/110.84/boot.x86-unix.tgz) = a29e3b0ca623da197e9c18ea64db4c2a08fe5e6add85c0d053c4ecfa653ace82 +SIZE (smlnj/110.84/boot.x86-unix.tgz) = 5762714 +SHA256 (smlnj/110.84/ckit.tgz) = 7e2534e393d2372cad8ff9ddd306881db91bbbcc2b0e0538e76868c86c658c36 +SIZE (smlnj/110.84/ckit.tgz) = 198419 +SHA256 (smlnj/110.84/cm.tgz) = 7055c60481a887f27a5135ac1f33233565b99a7c99c4aa73e023e28e629b0663 +SIZE (smlnj/110.84/cm.tgz) = 220278 +SHA256 (smlnj/110.84/cml.tgz) = 556110c746db863211ac8a97e1bf097b0e5d45dfea4b3e8194b6c389ac2b569a +SIZE (smlnj/110.84/cml.tgz) = 105655 +SHA256 (smlnj/110.84/compiler.tgz) = 6d23aff2e75727bf6969b05a070128f187e06f60408aabf6a71e0475326fee87 +SIZE (smlnj/110.84/compiler.tgz) = 862298 +SHA256 (smlnj/110.84/config.tgz) = 1810d3ca768222e120c7a3f2f93aafd652705371fc73929423c671dce3cef832 +SIZE (smlnj/110.84/config.tgz) = 514275 +SHA256 (smlnj/110.84/doc.tgz) = 0ed69456e4c2b851f475057a94da406c80f46cdd02a5d9077670be33122c7020 +SIZE (smlnj/110.84/doc.tgz) = 2029114 +SHA256 (smlnj/110.84/eXene.tgz) = 3fe1c6a1a334e7d7359fbcfd053066c88cb7705a90975b60fff946554aa0019c +SIZE (smlnj/110.84/eXene.tgz) = 720713 +SHA256 (smlnj/110.84/heap2asm.tgz) = 3d33c52b650536762d47534f07709e749cc821ce515aef2fb9a746db11433e95 +SIZE (smlnj/110.84/heap2asm.tgz) = 1343 +SHA256 (smlnj/110.84/ml-burg.tgz) = 62ea37b13788078e3ea77d3b870da42788153c348009f827f2c0b05cfc07d918 +SIZE (smlnj/110.84/ml-burg.tgz) = 40510 +SHA256 (smlnj/110.84/ml-lex.tgz) = cc7e045aa9667f1eed055db1defca0e830eed34c08f3dfdf37f698964fe04070 +SIZE (smlnj/110.84/ml-lex.tgz) = 27833 +SHA256 (smlnj/110.84/ml-lpt.tgz) = 2f60e1467a69fd4fb5501354244337926bc2a65225dde328f6aa3883b14fb3a5 +SIZE (smlnj/110.84/ml-lpt.tgz) = 267076 +SHA256 (smlnj/110.84/ml-yacc.tgz) = cfebaeb5f08810fcc93c49bf171834b7bf14b5f7e76d206e0afa35e18887bdb9 +SIZE (smlnj/110.84/ml-yacc.tgz) = 101692 +SHA256 (smlnj/110.84/nlffi.tgz) = 8b96a82a3d63b000b70a1b982aab9750ce9caa77f316f6a923969e86b0133f31 +SIZE (smlnj/110.84/nlffi.tgz) = 75036 +SHA256 (smlnj/110.84/old-basis.tgz) = cf15fe5c242f19f0605cd38a7bef3c1ebc89d5204c4cf68fac479198dd9fed93 +SIZE (smlnj/110.84/old-basis.tgz) = 1080 +SHA256 (smlnj/110.84/pgraph.tgz) = aa2f14de13a540dbc370b45757156c0b03516a5b8f97b5759292841d7b7ac1cb +SIZE (smlnj/110.84/pgraph.tgz) = 5432 +SHA256 (smlnj/110.84/runtime.tgz) = 5fcf4bbdeaddb247f69a333d2295f5f5c0be55b1f86ff4fbffb63f0021d84d6c +SIZE (smlnj/110.84/runtime.tgz) = 355339 +SHA256 (smlnj/110.84/smlnj-c.tgz) = 145a513becb4c98991af7eae81ae19b8fff336458f1f011eafdc283cb76deee9 +SIZE (smlnj/110.84/smlnj-c.tgz) = 10623 +SHA256 (smlnj/110.84/smlnj-lib.tgz) = 3356924655277416d8a491c1d601a0f567ab3d15cb17e243620e85cb28f0e9dd +SIZE (smlnj/110.84/smlnj-lib.tgz) = 456254 +SHA256 (smlnj/110.84/system.tgz) = f46b1de790000a98f4aa9830325d39cb1e4867338d4db6b8a102084db1512218 +SIZE (smlnj/110.84/system.tgz) = 261237 +SHA256 (smlnj/110.84/trace-debug-profile.tgz) = ecc54281b8654c75f8b9d4ebdf1ff67de71ef31297cf1b14115cd75645e46a5a +SIZE (smlnj/110.84/trace-debug-profile.tgz) = 3939 Index: files/do-patch-asdl_configure =================================================================== --- files/do-patch-asdl_configure (nonexistent) +++ files/do-patch-asdl_configure (working copy) @@ -0,0 +1,9 @@ ++++ asdl/configure 2018-12-17 15:01:00.142964000 +0100 +@@ -4893,6 +4893,7 @@ + sparc:solaris2*) SMLNJ_ARCH=sparc; SMLNJ_OPSYS=sunos;; + sparc:solaris3*) SMLNJ_ARCH=sparc; SMLNJ_OPSYS=solaris;; + x86_64:linux*) SMLNJ_ARCH=x86; SMLNJ_OPSYS=linux;; ++ x86_64:freebsd*) SMLNJ_ARCH=x86; SMLNJ_OPSYS=freebsd;; + x86_64:darwin*) SMLNJ_ARCH=x86; SMLNJ_OPSYS=darwin;; + *) + as_fn_error $? "unsupported configuration ${host_cpu}-${host_os}" "$LINENO" 5 ;; Index: files/do-patch-asdl_src_asdlgen_Makefile.in =================================================================== --- files/do-patch-asdl_src_asdlgen_Makefile.in (nonexistent) +++ files/do-patch-asdl_src_asdlgen_Makefile.in (working copy) @@ -0,0 +1,42 @@ +--- asdl/src/asdlgen/Makefile.in.orig 2018-08-28 17:36:58.000000000 +0200 ++++ asdl/src/asdlgen/Makefile.in 2018-12-17 21:42:50.793253000 +0100 +@@ -54,8 +54,10 @@ + + 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@ + +@@ -94,14 +96,18 @@ + touch .depend + $(ML_MAKEDEPEND) $(ML_MAKEDEPEND_FLAGS) -n -f .depend $(ROOT_CM) $(HEAP) || rm -f .depend + +-ifneq ($(MAKECMDGOALS),clean) +-ifneq ($(MAKECMDGOALS),devclean) +-ifneq ($(MAKECMDGOALS),distclean) +-sinclude .depend +-sinclude back-end/sml/fragments.gmk +-endif +-endif +-endif ++.ifmake ! ( clean || devclean || distclean ) ++.sinclude ".depend" ++.sinclude "back-end/sml/fragments.gmk" ++.endif ++#ifneq ($(MAKECMDGOALS),clean) ++#ifneq ($(MAKECMDGOALS),devclean) ++#ifneq ($(MAKECMDGOALS),distclean) ++#sinclude .depend ++#sinclude back-end/sml/fragments.gmk ++#endif ++#endif ++#endif + + #################### Cleanup #################### + Index: files/do-patch-base_compiler_Parse_lex_ml.lex =================================================================== --- files/do-patch-base_compiler_Parse_lex_ml.lex (nonexistent) +++ files/do-patch-base_compiler_Parse_lex_ml.lex (working copy) @@ -0,0 +1,10 @@ +--- base/compiler/Parse/lex/ml.lex.orig 2018-05-28 19:11:09.000000000 +0200 ++++ base/compiler/Parse/lex/ml.lex 2018-07-27 17:27:36.367358000 +0200 +@@ -66,7 +66,7 @@ + real=(~?)(({num}{frac}?{exp})|({num}{frac}{exp}?)); + xdigit=[0-9a-fA-F]; + hexnum={xdigit}+; +-bad_escape="\\"[\000-\008\011\012\014-\031 !#$%&'()*+,\-./:;<=>?@A-Z\[\]_`c-eg-mo-qsuw-z{}|~\127]; ++bad_escape=\\(]|[-\000-\008\011\012\014-\031 !#$%&'()*+,./:;<=>?@A-Z\[_`c-eg-mo-qsuw-z{}|~\127]); + + %% Index: files/do-patch-base_compiler_Parse_lex_sml.lex =================================================================== --- files/do-patch-base_compiler_Parse_lex_sml.lex (nonexistent) +++ files/do-patch-base_compiler_Parse_lex_sml.lex (working copy) @@ -0,0 +1,11 @@ +--- base/compiler/Parse/lex/sml.lex.orig 2018-05-28 19:11:09.000000000 +0200 ++++ base/compiler/Parse/lex/sml.lex 2018-07-27 17:58:18.054955000 +0200 +@@ -114,7 +114,7 @@ + frac="."{num}; + exp=[eE](~?){num}; + real=(~?)(({num}{frac}?{exp})|({num}{frac}{exp}?)); +-bad_escape="\\"[\000-\008\011\012\014-\031 !#$%&'()*+,\-./:;<=>?@A-Z\[\]_`c-eg-mo-qsuw-z{}|~\127]; ++bad_escape=\\(]|[-\000-\008\011\012\014-\031 !#$%&'()*+,./:;<=>?@A-Z\[_`c-eg-mo-qsuw-z{}|~\127]); + + %% + Index: files/do-patch-base_runtime_mach-dep_signal-sysdep.h =================================================================== --- files/do-patch-base_runtime_mach-dep_signal-sysdep.h (revision 487898) +++ files/do-patch-base_runtime_mach-dep_signal-sysdep.h (working copy) @@ -1,6 +1,6 @@ ---- base/runtime/mach-dep/signal-sysdep.h.orig 2018-03-16 11:21:38.240870000 -0700 -+++ base/runtime/mach-dep/signal-sysdep.h 2018-03-16 11:22:06.398280000 -0700 -@@ -447,8 +447,8 @@ extern void SetFSR(); +--- base/runtime/mach-dep/signal-sysdep.h.orig 2017-08-27 15:28:34.000000000 +0200 ++++ base/runtime/mach-dep/signal-sysdep.h 2018-03-17 18:49:11.672602000 +0100 +@@ -447,8 +447,8 @@ # elif defined(OPSYS_FREEBSD) /** x86, FreeBSD **/ # define SIG_FAULT1 SIGFPE @@ -11,3 +11,14 @@ # define SIG_GetCode(info, scp) (info) # define SIG_GetPC(scp) ((scp)->sc_pc) +@@ -568,8 +568,8 @@ + # elif defined(OPSYS_FREEBSD) + /** amd64, FreeBSD **/ + # define SIG_FAULT1 SIGFPE +-# define INT_DIVZERO(s, c) (((s) == SIGFPE) && ((c) == FPE_INTDIV_TRAP)) +-# define INT_OVFLW(s, c) (((s) == SIGFPE) && ((c) == FPE_INTOVF_TRAP)) ++# define INT_DIVZERO(s, c) (((s) == SIGFPE) && ((c) == FPE_INTDIV)) ++# define INT_OVFLW(s, c) (((s) == SIGFPE) && ((c) == FPE_INTOVF)) + + # define SIG_GetCode(info, scp) (info) + # define SIG_GetPC(scp) ((scp)->sc_pc) Index: files/do-patch-base_runtime_objs_makefile =================================================================== --- files/do-patch-base_runtime_objs_makefile (revision 487898) +++ files/do-patch-base_runtime_objs_makefile (working copy) @@ -1,6 +1,6 @@ --- base/runtime/objs/makefile.orig 2012-04-18 02:28:08.000000000 +0200 -+++ base/runtime/objs/makefile 2014-06-30 20:25:38.000000000 +0200 -@@ -5,10 +5,10 @@ ++++ base/runtime/objs/makefile 2018-12-20 21:57:09.499392000 +0100 +@@ -5,10 +5,11 @@ SHELL = /bin/sh MAKE = make @@ -11,10 +11,11 @@ LD_LIBS = -AS = as +AS ?= as ++ASFLAGS ?= AR = ar ARFLAGS = rcv RANLIB = ranlib -@@ -38,7 +38,7 @@ +@@ -38,7 +39,7 @@ CLIB_DIR = $(ROOT_DIR)/c-libs CONFIG_DIR = $(ROOT_DIR)/config @@ -23,7 +24,25 @@ INCLUDES = -I$(OBJS_DIR) -I$(INC_DIR) GC_INCLUDES = $(INCLUDES) -I$(GC_DIR) -@@ -329,7 +329,7 @@ +@@ -275,7 +276,7 @@ + $(INC_DIR)/asm-base.h \ + mlstate-offsets.h + $(CPP) -D_ASM_ $(DEFS) -I$(BC_DIR) $(INCLUDES) $(MACH_DIR)/$(TARGET).prim.asm > prim.s +- $(AS) -o prim.o prim.s ++ $(AS) ${ASFLAGS} -o prim.o prim.s + + $(MACH_DIR)/BYTECODE.prim.asm: bc-instr-def.h $(BC_DIR)/bc-instrs.h $(BC_DIR)/bc.h + +@@ -317,7 +318,7 @@ + primops.o: $(BC_DIR)/primops.asm \ + $(INC_DIR)/asm-base.h + $(CPP) -D_ASM_ $(DEFS) $(INCLUDES) $(BC_DIR)/primops.asm > primops.s +- $(AS) -o primops.o primops.s ++ $(AS) $(ASFLAGS) -o primops.o primops.s + + bc-instr-def.h: gen-bc-instr-def \ + $(BC_DIR)/bc.h $(BC_DIR)/print-bc.h +@@ -329,7 +330,7 @@ # MK_ARGS = VERSION="$(VERSION)" \ MAKE="$(MAKE)" \ @@ -32,7 +51,7 @@ AR="$(AR)" ARFLAGS="$(ARFLAGS)" \ RANLIB="$(RANLIB)" \ INCLUDES="$(GC_INCLUDES) -I../bytecode" -@@ -420,7 +420,7 @@ +@@ -420,7 +421,7 @@ # LIB_MK_ARGS = VERSION="$(VERSION)" \ MAKE="$(MAKE)" \ Index: files/do-patch-base_runtime_objs_mk.x86-freebsd =================================================================== --- files/do-patch-base_runtime_objs_mk.x86-freebsd (revision 487898) +++ files/do-patch-base_runtime_objs_mk.x86-freebsd (working copy) @@ -1,5 +1,5 @@ ---- base/runtime/objs/mk.x86-freebsd.orig 2006-04-20 15:28:53 UTC -+++ base/runtime/objs/mk.x86-freebsd +--- base/runtime/objs/mk.x86-freebsd.orig 2006-04-20 17:28:53.000000000 +0200 ++++ base/runtime/objs/mk.x86-freebsd 2018-12-20 21:55:00.154477000 +0100 @@ -5,19 +5,19 @@ SHELL = /bin/sh @@ -13,7 +13,7 @@ -CPP = gcc -x assembler-with-cpp -E -P +CC ?= gcc -ansi +CFLAGS ?= -O2 -+CPP = ${CC} -x assembler-with-cpp -E -P ++CPP = $(CC) -x assembler-with-cpp -E -P #CPP = /usr/bin/cpp -P XOBJS = @@ -25,7 +25,7 @@ TARGET = X86 VERSION = v-x86-freebsd RUNTIME = run.x86-freebsd -@@ -25,6 +25,6 @@ RUNTIME_SO = run.x86-freebsd.so +@@ -25,6 +25,6 @@ RUNTIME_A = run.x86-freebsd.a all: @@ -32,6 +32,6 @@ - ($(MAKE) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" MAKE="$(MAKE)" 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)" MAKE="$(MAKE)" 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)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A)) -+ ($(MAKE) RUNTIME="$(RUNTIME)" 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="$(LDFLAGS)" $(RUNTIME)) -+ ($(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 $(LDFLAGS)" $(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="$(LDFLAGS)" $(RUNTIME_A)) ++ ($(MAKE) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="$(LDFLAGS)" $(RUNTIME)) ++ ($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared $(LDFLAGS)" $(RUNTIME_SO)) ++ ($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" ASFLAGS="$(ASFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="$(LDFLAGS)" $(RUNTIME_A)) Index: files/do-patch-base_system_smlnj_installer_generic-install.sml =================================================================== --- files/do-patch-base_system_smlnj_installer_generic-install.sml (revision 487898) +++ files/do-patch-base_system_smlnj_installer_generic-install.sml (nonexistent) @@ -1,49 +0,0 @@ ---- base/system/smlnj/installer/generic-install.sml.orig 2014-08-23 04:18:09.000000000 +0200 -+++ base/system/smlnj/installer/generic-install.sml 2014-08-28 21:51:06.000000000 +0200 -@@ -233,28 +233,26 @@ - (* ------------------------------ *) - - (* parse the targets file *) -- fun loop (ml, srcReqs, allsrc) = -+ fun loop (ml, allsrc) = - case getInputTokens s of -- NONE => (TextIO.closeIn s; (ml, srcReqs, allsrc)) -+ NONE => (TextIO.closeIn s; (ml, allsrc)) - | SOME [x as ("dont_move_libraries" | "move_libraries")] => - (warn ["\"", x, "\" no longer supported", - " (installer always moves libraries)\n"]; -- loop (ml, srcReqs, allsrc)) -- | SOME ["request", "src-smlnj"] => loop (ml, srcReqs, true) -- | SOME ["request", module] => if SS.member(allmoduleset, module) -- then loop (ml, module :: srcReqs, allsrc) -- else loop (module :: ml, srcReqs, allsrc) -- | SOME [] => loop (ml, srcReqs, allsrc) -+ loop (ml, allsrc)) -+ | SOME ["request", "src-smlnj"] => loop (ml, true) -+ | SOME ["request", module] => loop (module :: ml, allsrc) -+ | SOME [] => loop (ml, allsrc) - | SOME l => fail ["ill-formed targets line: ", tokenLine l, "\n"] - -- val (modules, srcReqs, allsrc) = loop ([], [], false) -+ val (modules, allsrc) = loop ([], false) - - (* now resolve dependencies; get full list of modules - * in correct build order: *) - val modules = resolve (modules, depfile) - val moduleset = SS.addList (SS.empty, modules) - val srcmoduleset = if allsrc then SS.union (moduleset, allmoduleset) -- else SS.addList (moduleset, srcReqs) -+ else moduleset - - (* fetch and unpack source trees, using auxiliary helper command - * which takes the root directory as its first and the module -@@ -386,7 +384,8 @@ - salist := (fn () => standalone args) :: (!salist) - in case SM.find (actions, module) of - SOME al => app perform (rev al) -- | NONE => fail ["unknown module: ", module, "\n"] -+ | NONE => if SS.member(allmoduleset, module) then () -+ else fail ["unknown module: ", module, "\n"] - end - in - (command_pathconfig "bindir"; (* dummy -- for CM make tool *) Index: files/do-patch-smlnj-lib_JSON_json-parser.sml =================================================================== --- files/do-patch-smlnj-lib_JSON_json-parser.sml (nonexistent) +++ files/do-patch-smlnj-lib_JSON_json-parser.sml (working copy) @@ -0,0 +1,102 @@ +--- smlnj-lib/JSON/json-parser.sml.orig 2011-05-10 20:58:08.000000000 +0200 ++++ smlnj-lib/JSON/json-parser.sml 2017-10-03 22:49:26.569924000 +0200 +@@ -22,6 +22,26 @@ + 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 @@ + | _ => 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)) Index: files/do-patch-smlnj-lib_JSON_json-stream-printer.sml =================================================================== --- files/do-patch-smlnj-lib_JSON_json-stream-printer.sml (nonexistent) +++ files/do-patch-smlnj-lib_JSON_json-stream-printer.sml (working copy) @@ -0,0 +1,25 @@ +--- smlnj-lib/JSON/json-stream-printer.sml.orig 2017-07-14 22:32:40.000000000 +0200 ++++ smlnj-lib/JSON/json-stream-printer.sml 2017-10-25 20:33:53.541874000 +0200 +@@ -103,14 +103,14 @@ + 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) Index: files/do-patch-smlnj-lib_JSON_json-util.sml =================================================================== --- files/do-patch-smlnj-lib_JSON_json-util.sml (nonexistent) +++ files/do-patch-smlnj-lib_JSON_json-util.sml (working copy) @@ -0,0 +1,29 @@ +--- smlnj-lib/JSON/json-util.sml.orig 2017-04-29 17:39:27.000000000 +0200 ++++ smlnj-lib/JSON/json-util.sml 2017-10-04 00:40:39.574909000 +0200 +@@ -133,7 +133,7 @@ + + fun lookupField (v as J.OBJECT fields) = let + fun find lab = (case List.find (fn (l, v) => (l = lab)) fields +- of NONE => raise FieldNotFound(v, concat["no definition for field \"", lab, "\""]) ++ of NONE => raise FieldNotFound(v, lab) + | SOME(_, v) => v + (* end case *)) + in +@@ -197,7 +197,7 @@ + fun get (v, []) = v + | get (v as J.OBJECT fields, SEL lab :: rest) = + (case List.find (fn (l, v) => (l = lab)) fields +- of NONE => raise raise FieldNotFound(v, concat["no definition for field \"", lab, "\""]) ++ of NONE => raise FieldNotFound(v, lab) + | SOME(_, v) => get (v, rest) + (* end case *)) + | get (v, SEL _ :: _) = raise NotObject v +@@ -222,7 +222,7 @@ + (* follow a path into a JSON value while constructing a zipper *) + fun unzip (v, []) = (ZNIL, v) + | unzip (v as J.OBJECT fields, SEL lab :: rest) = let +- fun find (_, []) = raise FieldNotFound(v, concat["no definition for field \"", lab, "\""]) ++ fun find (_, []) = raise FieldNotFound(v, lab) + | find (pre, (l, v)::flds) = if (l = lab) + then let + val (zipper, v) = unzip (v, rest) Index: files/patch-config___arch-n-opsys =================================================================== --- files/patch-config___arch-n-opsys (revision 487898) +++ files/patch-config___arch-n-opsys (working copy) @@ -1,6 +1,6 @@ ---- config/_arch-n-opsys.orig 2014-08-22 15:20:03.000000000 +0200 -+++ config/_arch-n-opsys 2014-08-23 14:19:47.056122710 +0200 -@@ -85,6 +85,8 @@ +--- config/_arch-n-opsys.orig 2017-06-07 22:53:28 UTC ++++ config/_arch-n-opsys +@@ -89,6 +89,8 @@ case `uname -s` in HEAP_OPSYS=bsd case `uname -m` in *86) ARCH=x86;; Index: files/patch-config___heap2exec =================================================================== --- files/patch-config___heap2exec (revision 487898) +++ files/patch-config___heap2exec (working copy) @@ -1,6 +1,6 @@ ---- config/_heap2exec.orig 2006-04-20 17:28:53.000000000 +0200 -+++ config/_heap2exec 2013-06-14 22:18:55.050990989 +0200 -@@ -83,6 +83,7 @@ +--- config/_heap2exec.orig 2006-04-20 15:28:53 UTC ++++ config/_heap2exec +@@ -83,6 +83,7 @@ SO_LIBS= A_PROG= A_FLAGS= A_LIBS= @@ -8,7 +8,7 @@ case ${OPSYS} in darwin) -@@ -96,6 +97,13 @@ +@@ -96,6 +97,13 @@ case ${OPSYS} in A_PROG=${CC} A_FLAGS=-Wl,--export-dynamic A_LIBS=-lm @@ -22,7 +22,7 @@ ;; linux) SO_PROG=${CC} -@@ -116,7 +124,7 @@ +@@ -116,7 +124,7 @@ fi RESULT=0 if ${H2A} "$heapfile" "$execfile".s ; then if [ -f "$execfile".s ] ; then Index: files/patch-config_install.sh =================================================================== --- files/patch-config_install.sh (revision 487898) +++ files/patch-config_install.sh (working copy) @@ -1,6 +1,6 @@ ---- config/install.sh.orig 2014-08-22 13:20:03 UTC -+++ config/install.sh -@@ -17,6 +17,8 @@ else +--- config/install.sh.orig 2018-08-28 17:30:41.000000000 +0200 ++++ config/install.sh 2018-12-20 22:10:22.418848000 +0100 +@@ -17,6 +17,8 @@ nolib=false fi @@ -9,7 +9,7 @@ if [ x${INSTALL_QUIETLY} = xtrue ] ; then export CM_VERBOSE CM_VERBOSE=false -@@ -37,6 +39,28 @@ complain() { +@@ -37,6 +39,28 @@ exit 1 } @@ -38,7 +38,7 @@ this=$0 -@@ -96,7 +120,28 @@ trap 'cd "$ROOT"; rm -f $tmpfiles' 0 1 2 3 15 +@@ -96,7 +120,28 @@ # Especially important is CM_PATHCONFIG. # export CM_PATHCONFIG @@ -68,7 +68,7 @@ # # the release version that we are installing # -@@ -326,7 +371,12 @@ fi +@@ -344,7 +389,12 @@ # the name of the bin files directory # BOOT_ARCHIVE=boot.$ARCH-unix @@ -82,7 +82,7 @@ # # build the run-time system -@@ -335,9 +385,15 @@ if [ -x "$RUNDIR"/run.$ARCH-$OPSYS ]; then +@@ -353,9 +403,15 @@ vsay $this: Run-time system already exists. else "$CONFIGDIR"/unpack "$ROOT" runtime @@ -94,12 +94,12 @@ cd "$BASEDIR"/runtime/objs echo $this: Compiling the run-time system. - $MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS -+ echo "$MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS AS=\""$AS\"" CFLAGS=\"$CFLAGS\" LDFLAGS=\"$LDFLAGS\"" -+ $MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS AS="$AS" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" ++ echo "$MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS AS=\"$AS\" ASFLAGS=\"$ASFLAGS\" CFLAGS=\"$CFLAGS\" LDFLAGS=\"$LDFLAGS\"" ++ $MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS AS="$AS" ASFLAGS="$ASFLAGS" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" if [ -x run.$ARCH-$OPSYS ]; then mv run.$ARCH-$OPSYS "$RUNDIR" if [ -f runx.$ARCH-$OPSYS ]; then -@@ -349,7 +405,7 @@ else +@@ -367,7 +423,7 @@ if [ -f run.$ARCH-$OPSYS.a ]; then mv run.$ARCH-$OPSYS.a "$RUNDIR" fi @@ -108,7 +108,7 @@ else complain "$this: !!! Run-time system build failed for some reason." fi -@@ -375,7 +431,7 @@ if [ -r "$HEAPDIR"/sml.$HEAP_SUFFIX ]; then +@@ -393,7 +449,7 @@ complain "$this !!! Unable to re-create heap image (sml.$HEAP_SUFFIX)." fi else @@ -117,7 +117,7 @@ fish "$ROOT"/"$BOOT_FILES"/smlnj/basis -@@ -410,7 +466,7 @@ else +@@ -428,7 +484,7 @@ cd "$ROOT"/"$BOOT_FILES" for anchor in * ; do if [ -d $anchor ] ; then @@ -126,7 +126,7 @@ move $anchor "$LIBDIR"/$anchor fi done -@@ -433,6 +489,18 @@ installdriver _ml-build ml-build +@@ -451,6 +507,18 @@ cd "$ROOT" @@ -145,7 +145,7 @@ # # Now do all the rest using the precompiled installer # (see base/system/smlnj/installer for details) -@@ -442,6 +510,12 @@ if [ $nolib = false ] ; then +@@ -460,6 +528,12 @@ export ROOT INSTALLDIR CONFIGDIR BINDIR CM_TOLERATE_TOOL_FAILURES=true export CM_TOLERATE_TOOL_FAILURES @@ -158,7 +158,7 @@ if "$BINDIR"/sml -m \$smlnj/installer.cm then vsay $this: Installation complete. -@@ -449,5 +523,20 @@ if [ $nolib = false ] ; then +@@ -467,5 +541,20 @@ complain "$this: !!! Installation of libraries and programs failed." fi fi Index: files/patch-config_unpack =================================================================== --- files/patch-config_unpack (nonexistent) +++ files/patch-config_unpack (working copy) @@ -0,0 +1,12 @@ +--- config/unpack.orig 2016-08-04 16:38:24.000000000 +0200 ++++ config/unpack 2018-12-17 16:32:53.263533000 +0100 +@@ -291,6 +291,9 @@ + # cd $ROOT/doc + # build $ROOT + ;; ++ asdl) ++ unpack "Abstract Syntax Description Library" "$ROOT" asdl asdl ++ ;; + *) + echo Unknown package: ${i}. + echo Trying default method... Index: pkg-plist =================================================================== --- pkg-plist (revision 487898) +++ pkg-plist (working copy) @@ -5,6 +5,7 @@ man/man1/sml.1.gz man/man7/smlnj.7.gz smlnj/bin/.arch-n-opsys +smlnj/bin/.heap/asdlgen.%%MLARCH%%-bsd smlnj/bin/.heap/heap2asm.%%MLARCH%%-bsd smlnj/bin/.heap/ml-antlr.%%MLARCH%%-bsd smlnj/bin/.heap/ml-burg.%%MLARCH%%-bsd @@ -19,6 +20,7 @@ smlnj/bin/.run/run.%%MLARCH%%-freebsd.a smlnj/bin/.run/run.%%MLARCH%%-freebsd.so smlnj/bin/.run-sml +smlnj/bin/asdlgen smlnj/bin/heap2asm smlnj/bin/heap2exec smlnj/bin/ml-antlr @@ -31,6 +33,7 @@ smlnj/bin/ml-yacc %%EVERYTHING%%smlnj/bin/nowhere 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 @@ -59,6 +62,10 @@ smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/SPARC.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/StagedAlloc.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Visual.cm +%%EVERYTHING%%smlnj/lib/basis-2004.cm/.cm/%%MLARCH%%-unix/basis-2004.cm +smlnj/lib/asdl-ext.cm/.cm/%%MLARCH%%-unix/asdl-ext.cm +smlnj/lib/asdl-lib.cm/.cm/%%MLARCH%%-unix/asdl-lib.cm +smlnj/lib/asdlgen-tool.cm/.cm/%%MLARCH%%-unix/asdlgen-tool.cm smlnj/lib/burg-ext.cm/.cm/%%MLARCH%%-unix/burg-ext.cm smlnj/lib/c/.cm/%%MLARCH%%-unix/c.cm smlnj/lib/c/internals/.cm/%%MLARCH%%-unix/c-int.cm @@ -75,6 +82,7 @@ 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/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 @@ -115,7 +123,6 @@ smlnj/lib/smlnj/.cm/%%MLARCH%%-unix/installer.cm smlnj/lib/smlnj/.cm/%%MLARCH%%-unix/library-install.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/ALPHA.cm -smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/AMD64.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/Control.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/Graphs.cm smlnj/lib/smlnj/MLRISC/.cm/%%MLARCH%%-unix/HPPA.cm @@ -130,7 +137,6 @@ smlnj/lib/smlnj/cm/.cm/%%MLARCH%%-unix/cm.cm smlnj/lib/smlnj/cm/.cm/%%MLARCH%%-unix/tools.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/alpha32-unix.cm -smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/amd64-unix.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/current.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/hppa-unix.cm smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/ppc-macos.cm @@ -140,7 +146,6 @@ smlnj/lib/smlnj/cmb/.cm/%%MLARCH%%-unix/x86-win32.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/all.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/alpha32.cm -smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/amd64.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/compiler.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/current.cm smlnj/lib/smlnj/compiler/.cm/%%MLARCH%%-unix/hppa.cm @@ -163,7 +168,6 @@ 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/alpha32.cm -smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/amd64.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/basics.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/core.cm smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/debugprof.cm