aboutsummaryrefslogtreecommitdiff
path: root/lang/sml-nj-devel
diff options
context:
space:
mode:
authorJoseph Koshy <jkoshy@FreeBSD.org>2004-11-15 09:16:14 +0000
committerJoseph Koshy <jkoshy@FreeBSD.org>2004-11-15 09:16:14 +0000
commit5e701826cd9468e1c77d37e33d2251bcb0e9e928 (patch)
tree5701314e7e8b0f0e4a3ae9bbd1f2c6da0b2cbb80 /lang/sml-nj-devel
parent6e6d09c449f7723b8eccfb7377eff9b436650053 (diff)
downloadports-5e701826cd9468e1c77d37e33d2251bcb0e9e928.tar.gz
ports-5e701826cd9468e1c77d37e33d2251bcb0e9e928.zip
Notes
Diffstat (limited to 'lang/sml-nj-devel')
-rw-r--r--lang/sml-nj-devel/Makefile87
-rw-r--r--lang/sml-nj-devel/distinfo68
-rw-r--r--lang/sml-nj-devel/files/do-patch-src::runtime::objs::mk.x86-freebsd15
-rw-r--r--lang/sml-nj-devel/files/do-patch-src::system::smlnj::installer::libinstall.sml53
-rw-r--r--lang/sml-nj-devel/files/optional-patch-src::compiler::core.cm26
-rw-r--r--lang/sml-nj-devel/files/patch-config::install.sh32
-rw-r--r--lang/sml-nj-devel/files/patch-config::targets11
-rw-r--r--lang/sml-nj-devel/pkg-plist10
8 files changed, 95 insertions, 207 deletions
diff --git a/lang/sml-nj-devel/Makefile b/lang/sml-nj-devel/Makefile
index e4682443efee..895338f1a3da 100644
--- a/lang/sml-nj-devel/Makefile
+++ b/lang/sml-nj-devel/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= smlnj
-PORTVERSION= 110.48
+PORTVERSION= 110.50
CATEGORIES= lang
MASTER_SITES= http://smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/
DISTFILES= config.tgz runtime.tgz
@@ -16,12 +16,12 @@ DISTFILES+= boot.x86-unix.tgz
#.elif (${ARCH} == "alpha")
#DISTFILES+= boot.alpha32-unix.tgz
.endif
-DISTFILES+= ml-yacc.tgz ml-lex.tgz smlnj-lib.tgz cml.tgz
-.if defined(WITH_EVERYTHING) || defined(WITH_RECOMPILE) || defined(WITH_FLINT)
+DISTFILES+= ml-yacc.tgz ml-lex.tgz smlnj-lib.tgz cml.tgz MLRISC.tgz
+.if defined(WITH_EVERYTHING) || defined(WITH_RECOMPILE)
DISTFILES+= ml-burg.tgz \
ckit.tgz ml-nlffi-lib.tgz ml-nlffigen.tgz smlnj-c.tgz \
eXene.tgz \
- MLRISC.tgz cm.tgz compiler.tgz system.tgz
+ cm.tgz compiler.tgz system.tgz
.endif
EXTRACT_ONLY= config.tgz
@@ -45,9 +45,6 @@ MLARCH= x86
PLIST_SUB= MLARCH=${MLARCH}
-.if defined(WITH_FLINT)
-WITH_RECOMPILE?= ${WITH_FLINT}
-.endif
.if defined(WITH_RECOMPILE)
WITH_EVERYTHING?= ${WITH_RECOMPILE}
.endif
@@ -70,50 +67,8 @@ MLSRCPLIST= ${WRKDIR}/.PLIST-src
MLPLISTFILES= ${.CURDIR}/pkg-plist ${FILESDIR}/plist-everything \
${MLRUNTIMEPLIST} ${MLSRCPLIST}
.endif
-.if defined(WITH_FLINT)
-MLFLINTPATCH= optional-patch-src::compiler::core.cm
-.endif
-
-# This is an ugly hack to find out if we need to patch and
-# recompile the core system, because src/system/smlnj/installer
-# currently fails on cross device installs, i.e. if ${WRKDIR}
-# and ${MLROOT} are not on the same partition.
-
-.if !make(describe) && !defined(WITH_RECOMPILE)
-.if defined(WRKDIR)
-MLWRKDIR= ${WRKDIR}
-.else
-MLWRKDIR!= cd ${.CURDIR} && ${MAKE} describe -V WRKDIR
-.endif
-.if !defined(DF)
-DF!= ${WHICH} df
-.endif
-MLCHROOT!= ${DF} / | ${TAIL} -1 | \
- ${AWK} '{ if ($$NF == "/") pri''ntf "" ; \
- else pri''ntf "%s", $$NF }'
-MLFINDMOUNT= '{ if (P == $$NF) MAXMOUNT = P ; else \
- if (index(P "/", $$NF) == 1) \
- if (length($$NF) > length(MAXMOUNT)) MAXMOUNT = $$NF } \
- END { print MAXMOUNT }'
-MLWRKDIRMOUNT!= ${DF} | ${AWK} -v P="${MLCHROOT}${MLWRKDIR}" ${MLFINDMOUNT}
-MLROOTMOUNT!= ${DF} | ${AWK} -v P="${MLCHROOT}${MLROOT}" ${MLFINDMOUNT}
-.if ${MLWRKDIRMOUNT} != ${MLROOTMOUNT}
-FORCE_RECOMPILE= yes
-.if !defined(WITH_EVERYTHING)
-DISTFILES+= MLRISC.tgz cm.tgz compiler.tgz system.tgz
-.endif
-.endif
-.endif
pre-fetch:
-.if defined(FORCE_RECOMPILE)
- @${ECHO}
- @${ECHO} '***** Recompilation enforced because of an installer bug'
- @${ECHO} '***** for cross device installs. This increases time'
- @${ECHO} '***** and space required to build the port.'
- @${ECHO} '***** To avoid this, let WRKDIR (or WRKDIRPREFIX)'
- @${ECHO} '***** point to the same partition as ${MLROOT}.'
-.endif
@${ECHO}
.if !defined(WITH_EVERYTHING)
@${ECHO} 'Use make WITH_EVERYTHING=yes to also build ml-burg'
@@ -126,15 +81,6 @@ pre-fetch:
@${ECHO} 'Use make WITH_RECOMPILE=yes to recompile the compiler.'
@${ECHO} ' This implies WITH_EVERYTHING.'
.endif
-.if !defined(WITH_FLINT)
- @${ECHO} 'Use make WITH_FLINT=yes to apply a p''atch w''hich makes'
- @${ECHO} ' the compiler'"'"'s FLINT structures visible (see'
- @${ECHO} ' http://flint.cs.yale.edu/flint/publications/tcif.html),'
- @${ECHO} ' use it with CM.autoload "$$smlnj/viscomp/core.cm";'
- @${ECHO} ' or see http://offshore.free.de/~5/FLINTerpreter/sml2flint/'
- @${ECHO} ' for code that should help you to get started.'
- @${ECHO} ' This implies WITH_RECOMPILE.'
-.endif
@${ECHO}
# make symlinks to the dist files
@@ -146,19 +92,17 @@ post-extract:
# lines of config/targets. Dependency details are handled by
# src/system/smlnj/installer using config/dependencies.
-.if defined(WITH_EVERYTHING) || defined(FORCE_RECOMPILE)
-do-configure:
.if defined(WITH_EVERYTHING)
+do-configure:
${ECHO_CMD} -n > ${WRKDIR}/.tmp.sed
.for t in ${MLTARGETS}
${ECHO_CMD} '/^#request[ ]+${t}$$/s/^#//' >> ${WRKDIR}/.tmp.sed
.endfor
${SED} -i .default -E -f ${WRKDIR}/.tmp.sed "${WRKDIR}/config/targets"
-.endif
# 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(WITH_RECOMPILE) || defined(FORCE_RECOMPILE)
+.if defined(WITH_RECOMPILE)
( ${ECHO_CMD} "request ml-yacc" && \
${ECHO_CMD} "request ml-lex" ) \
> "${WRKDIR}/config/targets.customized"
@@ -170,18 +114,16 @@ do-configure:
# a subsequent make install.
# See src/system/README for information on recompiling the compiler.
-.if defined(WITH_RECOMPILE) || defined(FORCE_RECOMPILE)
+.if defined(WITH_RECOMPILE)
RECOMPILEDIR= src/system
.else
RECOMPILEDIR=
.endif
-.if defined(WITH_EVERYTHING) || defined(FORCE_RECOMPILE)
+MLRUNTIMEPATCHES!= cd ${FILESDIR} && ${LS} do-patch-src::runtime::*
+.if defined(WITH_EVERYTHING)
MLSOURCEUNPACKTARGETS= cm compiler mlrisc smlnj-lib system
MLSOURCEPATCHES!= cd ${FILESDIR} && ${LS} do-patch-src::*
-.if defined(WITH_FLINT)
-MLSOURCEPATCHES+= ${MLFLINTPATCH}
-.endif
.else
MLSOURCEUNPACKTARGETS=
MLSOURCEPATCHES=
@@ -192,8 +134,9 @@ do-build:
FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \
MLNORUNTIMECLEAN=yes \
MLSOURCEUNPACKTARGETS="${MLSOURCEUNPACKTARGETS}" \
+ MLRUNTIMEPATCHES="${MLRUNTIMEPATCHES}" \
MLSOURCEPATCHES="${MLSOURCEPATCHES}" ./config/install.sh
-.if defined(WITH_RECOMPILE) || defined(FORCE_RECOMPILE)
+.if defined(WITH_RECOMPILE)
${RM} ${WRKDIR}/config/targets.customized
@${ECHO} '(* Recompiling the core system: *)'
cd ${WRKDIR}/${RECOMPILEDIR} && ( \
@@ -223,7 +166,7 @@ do-build:
.if defined(WITH_EVERYTHING)
MLNOINSTALL= .cm
-.if defined(WITH_RECOMPILE) || defined(FORCE_RECOMPILE)
+.if defined(WITH_RECOMPILE)
MLNOINSTALL+= sml.bin.${MLARCH}-unix sml.boot.${MLARCH}-unix \
sml.lib sml.${MLARCH}-bsd
.endif
@@ -238,6 +181,10 @@ pre-install:
${SED} -E -e 's%^(.*[^/])$$%${MLROOTRELATIVE}/src/\1%' \
-e 's%^(.*)/$$%@dirrm\ ${MLROOTRELATIVE}/src/\1%' \
> ${MLRUNTIMEPLIST}
+ -@cd ${FILESDIR} && ${LS} do-patch-src::runtime::* | \
+ ${SED} -e 's%::%/%g' | \
+ ${SED} -E -e 's%^do-patch-(.*)%${MLROOTRELATIVE}/\1.orig%' \
+ >> ${MLRUNTIMEPLIST}
@cd "${WRKDIR}" && ( \
( ${FIND} -s -d ${MLSRCSBASE} \! -type d | \
${AWK} '{ print "${MLROOTRELATIVE}/" $$0 }' ) ; \
@@ -263,7 +210,7 @@ MLSRCEXCLUDES+= --exclude "${excl}"
do-install:
${MKDIR} "${MLROOT}"
-.if !defined(WITH_RECOMPILE) && !defined(FORCE_RECOMPILE)
+.if !defined(WITH_RECOMPILE)
cd ${WRKDIR} && unset PWD && \
FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \
INSTALLDIR="${MLROOT}" ./config/install.sh
diff --git a/lang/sml-nj-devel/distinfo b/lang/sml-nj-devel/distinfo
index 84298ee3232c..f5fcbf5acfd9 100644
--- a/lang/sml-nj-devel/distinfo
+++ b/lang/sml-nj-devel/distinfo
@@ -1,34 +1,34 @@
-MD5 (sml-nj/110.48/MLRISC.tgz) = be5634989f8552d06b8ef759a894a0ff
-SIZE (sml-nj/110.48/MLRISC.tgz) = 1225014
-MD5 (sml-nj/110.48/boot.x86-unix.tgz) = e17f1ec4ceffae893737ab4bfc11184b
-SIZE (sml-nj/110.48/boot.x86-unix.tgz) = 5340737
-MD5 (sml-nj/110.48/ckit.tgz) = 96718e9bbc38e84048c872f47d1e932c
-SIZE (sml-nj/110.48/ckit.tgz) = 168181
-MD5 (sml-nj/110.48/cm.tgz) = 246df99f105f5b8140f54867a17a7e62
-SIZE (sml-nj/110.48/cm.tgz) = 204169
-MD5 (sml-nj/110.48/cml.tgz) = 206d84049bd9b640ee41699e7fe17433
-SIZE (sml-nj/110.48/cml.tgz) = 103610
-MD5 (sml-nj/110.48/compiler.tgz) = db1b043d74b39869f991753f722a96c7
-SIZE (sml-nj/110.48/compiler.tgz) = 736220
-MD5 (sml-nj/110.48/config.tgz) = c839eb70b6e1bdb1081ad35d55ad3b18
-SIZE (sml-nj/110.48/config.tgz) = 13225
-MD5 (sml-nj/110.48/eXene.tgz) = eee26540c5b51f80ab40bfb5452096b0
-SIZE (sml-nj/110.48/eXene.tgz) = 695314
-MD5 (sml-nj/110.48/ml-burg.tgz) = 913445e9430387647a9a9fdc4af1bbd3
-SIZE (sml-nj/110.48/ml-burg.tgz) = 31550
-MD5 (sml-nj/110.48/ml-lex.tgz) = f4ac4548b717eca6f050927ef8b7356f
-SIZE (sml-nj/110.48/ml-lex.tgz) = 32383
-MD5 (sml-nj/110.48/ml-nlffi-lib.tgz) = 084f88460e1d71af423677c8687cac39
-SIZE (sml-nj/110.48/ml-nlffi-lib.tgz) = 42621
-MD5 (sml-nj/110.48/ml-nlffigen.tgz) = 09eba0bb0dfe21c28b74f2d5e0563d86
-SIZE (sml-nj/110.48/ml-nlffigen.tgz) = 29419
-MD5 (sml-nj/110.48/ml-yacc.tgz) = 3deb41bc31101f20d3b7b299205983ca
-SIZE (sml-nj/110.48/ml-yacc.tgz) = 95044
-MD5 (sml-nj/110.48/runtime.tgz) = 6fcabe42b728d0846331ecb420582623
-SIZE (sml-nj/110.48/runtime.tgz) = 322353
-MD5 (sml-nj/110.48/smlnj-c.tgz) = b1c88b648dd2bb06a8216d87b0d389e6
-SIZE (sml-nj/110.48/smlnj-c.tgz) = 10538
-MD5 (sml-nj/110.48/smlnj-lib.tgz) = 5fa9f377e0450f3fdbd00b9ad47b3c28
-SIZE (sml-nj/110.48/smlnj-lib.tgz) = 217133
-MD5 (sml-nj/110.48/system.tgz) = ed75414a1faa4c645fd4368f9e2f9894
-SIZE (sml-nj/110.48/system.tgz) = 209886
+MD5 (sml-nj/110.50/MLRISC.tgz) = c17fff195cb162ec3c08cb3f6bdd7af8
+SIZE (sml-nj/110.50/MLRISC.tgz) = 1225557
+MD5 (sml-nj/110.50/boot.x86-unix.tgz) = 5d92c683ac7f239020f3d772dd594347
+SIZE (sml-nj/110.50/boot.x86-unix.tgz) = 5361836
+MD5 (sml-nj/110.50/ckit.tgz) = d0c0f13863f98b0b87d0608154cfe480
+SIZE (sml-nj/110.50/ckit.tgz) = 168215
+MD5 (sml-nj/110.50/cm.tgz) = 0af8143363c5f3610b0c78f664c972c8
+SIZE (sml-nj/110.50/cm.tgz) = 206106
+MD5 (sml-nj/110.50/cml.tgz) = ff93ac1c6f63d7302c670d076f488677
+SIZE (sml-nj/110.50/cml.tgz) = 103673
+MD5 (sml-nj/110.50/compiler.tgz) = ab6b1cec261d0811c553db809544fec1
+SIZE (sml-nj/110.50/compiler.tgz) = 732954
+MD5 (sml-nj/110.50/config.tgz) = 683026b935aaf79a0fcdcfcee78061e9
+SIZE (sml-nj/110.50/config.tgz) = 13329
+MD5 (sml-nj/110.50/eXene.tgz) = a8281c8a1fd5d59dad2a58f17c63db5f
+SIZE (sml-nj/110.50/eXene.tgz) = 695319
+MD5 (sml-nj/110.50/ml-burg.tgz) = d6870fa140da70cc4196424793f75831
+SIZE (sml-nj/110.50/ml-burg.tgz) = 31548
+MD5 (sml-nj/110.50/ml-lex.tgz) = c39f9c6cf6ffbd2ff330f6ebc94a5be3
+SIZE (sml-nj/110.50/ml-lex.tgz) = 32388
+MD5 (sml-nj/110.50/ml-nlffi-lib.tgz) = 216b4b4691d88cc1f96527a361da5041
+SIZE (sml-nj/110.50/ml-nlffi-lib.tgz) = 42653
+MD5 (sml-nj/110.50/ml-nlffigen.tgz) = 11d00cd2044fef6830527a3f5b35adc0
+SIZE (sml-nj/110.50/ml-nlffigen.tgz) = 29421
+MD5 (sml-nj/110.50/ml-yacc.tgz) = 0cd9ad9c4158538407cdb87eaec376be
+SIZE (sml-nj/110.50/ml-yacc.tgz) = 95064
+MD5 (sml-nj/110.50/runtime.tgz) = 073e3e36f13d68f9fefaa1971d564a5c
+SIZE (sml-nj/110.50/runtime.tgz) = 322462
+MD5 (sml-nj/110.50/smlnj-c.tgz) = d51a69fb30c7cf2f32c3bb3162825dd8
+SIZE (sml-nj/110.50/smlnj-c.tgz) = 10540
+MD5 (sml-nj/110.50/smlnj-lib.tgz) = 7c47c5980ae3346706c3e2bd71aa3455
+SIZE (sml-nj/110.50/smlnj-lib.tgz) = 220832
+MD5 (sml-nj/110.50/system.tgz) = 88771d8aa98743ecf290f28afbf1ec93
+SIZE (sml-nj/110.50/system.tgz) = 213175
diff --git a/lang/sml-nj-devel/files/do-patch-src::runtime::objs::mk.x86-freebsd b/lang/sml-nj-devel/files/do-patch-src::runtime::objs::mk.x86-freebsd
new file mode 100644
index 000000000000..f2331cb36243
--- /dev/null
+++ b/lang/sml-nj-devel/files/do-patch-src::runtime::objs::mk.x86-freebsd
@@ -0,0 +1,15 @@
+--- src/runtime/objs/mk.x86-freebsd.orig Sat Jan 31 15:24:42 2004
++++ src/runtime/objs/mk.x86-freebsd Wed Sep 29 04:10:12 2004
+@@ -14,10 +14,10 @@
+ #CPP = /usr/bin/cpp -P
+
+ XOBJS =
+-XLIBS =
++XLIBS = ../c-libs/dl/libunix-dynload.a
+ LD_LIBS =
+ BASE_DEFS =
+-DEFS = $(BASE_DEFS) -DHOST_X86 -DTARGET_X86 -DOPSYS_UNIX -DOPSYS_FREEBSD
++DEFS = $(BASE_DEFS) -DHOST_X86 -DTARGET_X86 -DOPSYS_UNIX -DOPSYS_FREEBSD -DDLOPEN
+ TARGET = X86
+ VERSION = v-x86-freebsd
+ RUNTIME = run.x86-freebsd
diff --git a/lang/sml-nj-devel/files/do-patch-src::system::smlnj::installer::libinstall.sml b/lang/sml-nj-devel/files/do-patch-src::system::smlnj::installer::libinstall.sml
deleted file mode 100644
index 1ffa5bd5647e..000000000000
--- a/lang/sml-nj-devel/files/do-patch-src::system::smlnj::installer::libinstall.sml
+++ /dev/null
@@ -1,53 +0,0 @@
---- src/system/smlnj/installer/libinstall.sml.orig Tue Jul 13 20:49:54 2004
-+++ src/system/smlnj/installer/libinstall.sml Thu Aug 12 01:23:08 2004
-@@ -78,9 +78,40 @@
- fun mkdir "" = ()
- | mkdir d = if fexists d then () else (mkdir (P.dir d); F.mkDir d)
-
-+ (* hack for cross-device moves *)
-+ val move = if isUnix
-+ then fn args as { old : string, new : string } =>
-+ let val xdev_exnName = "SysErr\000"
-+ val xdev_exnMessage_substring = "xdev"
-+ in F.rename args
-+ handle exn =>
-+ if exnName exn = xdev_exnName
-+ then if String.isSubstring xdev_exnMessage_substring
-+ (exnMessage exn)
-+ then if OS.Process.system
-+ ("mv '" ^ old ^ "' '" ^ new ^ "'")
-+ = OS.Process.success
-+ then print ("(* cross device mv of \"" ^ old
-+ ^ "\" to \"" ^ new
-+ ^ "\" done. *)\n")
-+ else fail ["move: mv " ^ old ^ " " ^ new
-+ ^ " failed.\n"]
-+ else ( print ("(* move: \""
-+ ^ xdev_exnMessage_substring
-+ ^ "\" not found in \""
-+ ^ (exnMessage exn)
-+ ^ "\". *)\n") ;
-+ raise exn )
-+ else ( print ("(* move: \"" ^ xdev_exnName
-+ ^ "\" != \""
-+ ^ (exnName exn) ^ "\". *)\n") ;
-+ raise exn )
-+ end
-+ else F.rename
-+
- (* move a stable library file to its final location *)
- fun movelib src dst () =
-- (mkdir (P.dir dst); F.rename { old = src, new = dst })
-+ (mkdir (P.dir dst); move { old = src, new = dst })
-
- (* register a temporary anchor-value binding *)
- fun localanchor { anchor, path } =
-@@ -325,7 +356,7 @@
- F.chDir treedir;
- if OS.Process.system buildcmd = OS.Process.success then
- if fexists targetheaploc then
-- (F.rename { old = targetheaploc,
-+ (move { old = targetheaploc,
- new = finalheaploc };
- instcmd target;
- #set (CM.Anchor.anchor target) (SOME bindir))
diff --git a/lang/sml-nj-devel/files/optional-patch-src::compiler::core.cm b/lang/sml-nj-devel/files/optional-patch-src::compiler::core.cm
deleted file mode 100644
index 9b800c89ca0d..000000000000
--- a/lang/sml-nj-devel/files/optional-patch-src::compiler::core.cm
+++ /dev/null
@@ -1,26 +0,0 @@
---- src/compiler/core.cm.orig Fri Jul 16 05:26:38 2004
-+++ src/compiler/core.cm Fri Aug 6 00:23:27 2004
-@@ -109,6 +109,23 @@
- signature PPTYPE
- signature ACCESS
- signature UNIFY
-+
-+ (* export of structures required to use FLINT directly -5- *)
-+ structure Translate
-+ structure LtyKernel
-+ structure PrimTyc
-+ structure LtyDef
-+ structure LtyExtern
-+ structure PPFlint
-+ structure LContract
-+ (* currently unused?: structure FContract *)
-+ structure Specialize
-+ structure PrimOp
-+ structure LambdaVar
-+ structure ChkFlint
-+ (* accessible via GenericVC: structure Symbol *)
-+ structure DebIndex
-+
- is
-
- TopLevel/environ/environ.sig
diff --git a/lang/sml-nj-devel/files/patch-config::install.sh b/lang/sml-nj-devel/files/patch-config::install.sh
index d37984e2c11b..f295a2931418 100644
--- a/lang/sml-nj-devel/files/patch-config::install.sh
+++ b/lang/sml-nj-devel/files/patch-config::install.sh
@@ -1,5 +1,5 @@
---- config/install.sh.orig Sat Jul 31 00:55:23 2004
-+++ config/install.sh Thu Aug 12 16:14:55 2004
+--- config/install.sh.orig Thu Oct 28 17:44:01 2004
++++ config/install.sh Wed Nov 3 13:36:09 2004
@@ -12,6 +12,8 @@
# Author: Matthias Blume (blume@tti-c.org)
#
@@ -52,7 +52,17 @@
#
# build the run-time system
-@@ -313,7 +342,7 @@
+@@ -308,12 +337,17 @@
+ vsay $this: Run-time system already exists.
+ else
+ $CONFIGDIR/unpack $ROOT runtime
++ [ -n "$MLRUNTIMEPATCHES" ] && \
++ for p in $MLRUNTIMEPATCHES
++ do
++ do_patch $p
++ done
+ cd $SRCDIR/runtime/objs
+ echo $this: Compiling the run-time system.
$MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS
if [ -x run.$ARCH-$OPSYS ]; then
mv run.$ARCH-$OPSYS $RUNDIR
@@ -61,7 +71,7 @@
else
complain "$this: !!! Run-time system build failed for some reason."
fi
-@@ -330,7 +359,7 @@
+@@ -330,7 +364,7 @@
export CM_DIR_ARC
CM_DIR_ARC=$ORIG_CM_DIR_ARC
else
@@ -70,26 +80,22 @@
fish $ROOT/$BOOT_FILES/basis.cm
-@@ -399,5 +428,22 @@
+@@ -399,5 +433,18 @@
else
complain "$this: !!! Installation of libraries and programs failed."
fi
+
+# extract required sources
-+while [ -n "$MLSOURCEUNPACKTARGETS" ]
++[ -n "$MLSOURCEUNPACKTARGETS" ] && \
++for t in $MLSOURCEUNPACKTARGETS
+do
-+ t=`echo "$MLSOURCEUNPACKTARGETS" | cut -f 1 -d " "`
+ $CONFIGDIR/unpack $ROOT $t
-+ [ "$MLSOURCEUNPACKTARGETS" = "$t" ] && break
-+ MLSOURCEUNPACKTARGETS=`echo "$MLSOURCEUNPACKTARGETS" | cut -f 2- -d " "`
+done
+# apply source patches
-+while [ -n "$MLSOURCEPATCHES" ]
++[ -n "$MLSOURCEPATCHES" ] && \
++for p in "$MLSOURCEPATCHES"
+do
-+ p=`echo "$MLSOURCEPATCHES" | cut -f 1 -d " "`
+ do_patch $p
-+ [ "$MLSOURCEPATCHES" = "$p" ] && break
-+ MLSOURCEPATCHES=`echo "$MLSOURCEPATCHES" | cut -f 2- -d " "`
+done
exit 0
diff --git a/lang/sml-nj-devel/files/patch-config::targets b/lang/sml-nj-devel/files/patch-config::targets
deleted file mode 100644
index d0e010f35d77..000000000000
--- a/lang/sml-nj-devel/files/patch-config::targets
+++ /dev/null
@@ -1,11 +0,0 @@
---- config/targets.orig Thu Aug 5 00:05:00 2004
-+++ config/targets Tue Aug 10 11:00:56 2004
-@@ -68,7 +68,7 @@
- # pre-compile (certain) parts of MLRISC that are not already part of the SML/NJ
- # compiler itself
- #
--request mlrisc
-+#request mlrisc
-
- # pre-compile and install the C-Kit, which is a library for parsing and
- # type-checking C programs
diff --git a/lang/sml-nj-devel/pkg-plist b/lang/sml-nj-devel/pkg-plist
index 61a422b81e50..4989bb7b015b 100644
--- a/lang/sml-nj-devel/pkg-plist
+++ b/lang/sml-nj-devel/pkg-plist
@@ -19,11 +19,14 @@ smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/ALPHA.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
+smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/IA32-Peephole.cm
smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/IA32.cm
smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Lib.cm
smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/MLRISC.cm
smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/MLTREE.cm
smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/PPC.cm
+smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Peephole.cm
+smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/RA.cm
smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/SPARC.cm
smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Visual.cm
smlnj/lib/basis.cm/.cm/%%MLARCH%%-unix/basis.cm
@@ -95,6 +98,7 @@ smlnj/lib/smlnj/internal/.cm/%%MLARCH%%-unix/cm-lib.cm
smlnj/lib/smlnj/internal/.cm/%%MLARCH%%-unix/cm-sig-lib.cm
smlnj/lib/smlnj/internal/.cm/%%MLARCH%%-unix/cm0.cm
smlnj/lib/smlnj/internal/.cm/%%MLARCH%%-unix/intsys.cm
+smlnj/lib/smlnj/internal/.cm/%%MLARCH%%-unix/smlnj-version.cm
smlnj/lib/smlnj/internal/.cm/%%MLARCH%%-unix/srcpath-lib.cm
smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/alpha32.cm
smlnj/lib/smlnj/viscomp/.cm/%%MLARCH%%-unix/basics.cm
@@ -109,6 +113,9 @@ 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/smlnj-lib.cm/.cm/%%MLARCH%%-unix/smlnj-lib.cm
+smlnj/lib/smlnj-tdp/.cm/%%MLARCH%%-unix/back-trace.cm
+smlnj/lib/smlnj-tdp/.cm/%%MLARCH%%-unix/coverage.cm
+smlnj/lib/smlnj-tdp/.cm/%%MLARCH%%-unix/plugins.cm
smlnj/lib/unix-lib.cm/.cm/%%MLARCH%%-unix/unix-lib.cm
@dirrm smlnj/bin/.heap
@dirrm smlnj/bin/.run
@@ -215,6 +222,9 @@ smlnj/lib/unix-lib.cm/.cm/%%MLARCH%%-unix/unix-lib.cm
@dirrm smlnj/lib/smlnj-lib.cm/.cm/%%MLARCH%%-unix
@dirrm smlnj/lib/smlnj-lib.cm/.cm
@dirrm smlnj/lib/smlnj-lib.cm
+@dirrm smlnj/lib/smlnj-tdp/.cm/%%MLARCH%%-unix
+@dirrm smlnj/lib/smlnj-tdp/.cm
+@dirrm smlnj/lib/smlnj-tdp
@dirrm smlnj/lib/unix-lib.cm/.cm/%%MLARCH%%-unix
@dirrm smlnj/lib/unix-lib.cm/.cm
@dirrm smlnj/lib/unix-lib.cm