diff options
author | pi <pi@FreeBSD.org> | 2014-07-31 03:42:50 +0800 |
---|---|---|
committer | pi <pi@FreeBSD.org> | 2014-07-31 03:42:50 +0800 |
commit | 5abd6850f0a80e25c943ea5d8d10c124fe0d31ae (patch) | |
tree | c10fde69e14ac19ce1d4153f198c2cbaeec7234d /lang | |
parent | d44975889cb27cbbe78d383257fdb35bf1d6a8e1 (diff) | |
download | freebsd-ports-gnome-5abd6850f0a80e25c943ea5d8d10c124fe0d31ae.tar.gz freebsd-ports-gnome-5abd6850f0a80e25c943ea5d8d10c124fe0d31ae.tar.zst freebsd-ports-gnome-5abd6850f0a80e25c943ea5d8d10c124fe0d31ae.zip |
lang/smlnj: 110.71 -> 110.76
- unbreak and support staging
- support amd64
- no longer depends on gmake
- moves lang/sml-nj-devel to lang/smlnj
- supersedes lang/sml-nj
PR: 191899
Reviewed by: Robert Cina <transitive@gmail.com>,
Timothy Beyer <beyert@cs.ucr.edu>
Approved by: Johannes <joemann@beefree.free.de> (maintainer)
Diffstat (limited to 'lang')
34 files changed, 1585 insertions, 1827 deletions
diff --git a/lang/Makefile b/lang/Makefile index 5d448ca03548..f358a48a91b7 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -305,8 +305,7 @@ SUBDIR += slisp SUBDIR += smalltalk SUBDIR += sml-mode.el - SUBDIR += sml-nj - SUBDIR += sml-nj-devel + SUBDIR += smlnj SUBDIR += snobol4 SUBDIR += spidermonkey17 SUBDIR += spidermonkey170 diff --git a/lang/sml-nj-devel/distinfo b/lang/sml-nj-devel/distinfo deleted file mode 100644 index b1f8e9f103ff..000000000000 --- a/lang/sml-nj-devel/distinfo +++ /dev/null @@ -1,40 +0,0 @@ -SHA256 (sml-nj/110.71/MLRISC.tgz) = fe86100738b12fb7edbbddf66626b96d4d13c149dd71e0cfb8132a92a7522ae1 -SIZE (sml-nj/110.71/MLRISC.tgz) = 1435231 -SHA256 (sml-nj/110.71/boot.x86-unix.tgz) = 2f1a41e6639963a5c09b453d941c4ac7c62d5043e2cc2b25d2a18feb7517bc04 -SIZE (sml-nj/110.71/boot.x86-unix.tgz) = 5849700 -SHA256 (sml-nj/110.71/ckit.tgz) = fc8320898b17106bf759bc813c69aecfe1732d0c13e9b54ed5522920bbd562a7 -SIZE (sml-nj/110.71/ckit.tgz) = 199404 -SHA256 (sml-nj/110.71/cm.tgz) = 40bb024769f28a70b45e4ad87bb781c1277c4fa0de7ae1b5109263ed073c0300 -SIZE (sml-nj/110.71/cm.tgz) = 202311 -SHA256 (sml-nj/110.71/cml.tgz) = 469f013db2e6abae40db34f4e78c0ce556a730c6b9a567eea35df7aa2f6b1f96 -SIZE (sml-nj/110.71/cml.tgz) = 104707 -SHA256 (sml-nj/110.71/compiler.tgz) = 3040cc3fed1f2b00f33d290bd52e999a8ea73d2ba847bbe5b16165276c07afaf -SIZE (sml-nj/110.71/compiler.tgz) = 825457 -SHA256 (sml-nj/110.71/config.tgz) = accafba082cb3b7e2bbfff3221bbe49dcfb8029a5d6f8002f98597890870a3be -SIZE (sml-nj/110.71/config.tgz) = 512911 -SHA256 (sml-nj/110.71/eXene.tgz) = 23b12302c8fdeb4c94918cf1c24739c72f01114597b3bfef817c58943ec2c467 -SIZE (sml-nj/110.71/eXene.tgz) = 714564 -SHA256 (sml-nj/110.71/heap2asm.tgz) = 01cae1f1d5217405e367d0efd1385161602d3f0828f54e794190baa13d733d0f -SIZE (sml-nj/110.71/heap2asm.tgz) = 1326 -SHA256 (sml-nj/110.71/ml-burg.tgz) = 429f2e974db4131c74eea141902491af9df1d55bc2c0767356434bab13b90dd5 -SIZE (sml-nj/110.71/ml-burg.tgz) = 36670 -SHA256 (sml-nj/110.71/ml-lex.tgz) = 0a951e91caa43e025eeaa03879764e93519e82ace817eaf86d5c0f469360322b -SIZE (sml-nj/110.71/ml-lex.tgz) = 33060 -SHA256 (sml-nj/110.71/ml-lpt.tgz) = e5c3489a9d60d4d45a266240e380a497b05f8f45ba44da83a704c4388cf664d1 -SIZE (sml-nj/110.71/ml-lpt.tgz) = 254684 -SHA256 (sml-nj/110.71/ml-yacc.tgz) = 3e5b9ec0af3704c7045a43d974902abddecefd8d25a41225b06b7390dcf29453 -SIZE (sml-nj/110.71/ml-yacc.tgz) = 102023 -SHA256 (sml-nj/110.71/nlffi.tgz) = dc23c4ea4101f918fe5f92622c9b34b88cb91c62c2c41911e7117a7aa389f44a -SIZE (sml-nj/110.71/nlffi.tgz) = 75182 -SHA256 (sml-nj/110.71/pgraph.tgz) = e9514a3c8c002627bf2297bca020028d6d27a6a3c31f940db1dcf2dc3941885b -SIZE (sml-nj/110.71/pgraph.tgz) = 5454 -SHA256 (sml-nj/110.71/runtime.tgz) = ec6d38c782876db979a7b03444ded0bfaa0154d8e88c0a7befa6836f9b235763 -SIZE (sml-nj/110.71/runtime.tgz) = 334109 -SHA256 (sml-nj/110.71/smlnj-c.tgz) = 1ae91e81e77b422367f34fa1bedced1235ba0da5363b075e62bc0d39a55e8fde -SIZE (sml-nj/110.71/smlnj-c.tgz) = 10625 -SHA256 (sml-nj/110.71/smlnj-lib.tgz) = 3dd4cbe21bd9d2917d22d8b793776e6c519f175ddb96f6339f890f69d54feda9 -SIZE (sml-nj/110.71/smlnj-lib.tgz) = 259309 -SHA256 (sml-nj/110.71/system.tgz) = 6279962f447ce17df64a3c52e8c10f98f0e09b41d5418077d5880a9445eb3ad3 -SIZE (sml-nj/110.71/system.tgz) = 239973 -SHA256 (sml-nj/110.71/trace-debug-profile.tgz) = 3b4db9f3546c02ce5c4510e070ee304b768914914e47acdbae3a82397df1ac28 -SIZE (sml-nj/110.71/trace-debug-profile.tgz) = 3935 diff --git a/lang/sml-nj-devel/files/patch-config_install.sh b/lang/sml-nj-devel/files/patch-config_install.sh deleted file mode 100644 index b73747a51a73..000000000000 --- a/lang/sml-nj-devel/files/patch-config_install.sh +++ /dev/null @@ -1,116 +0,0 @@ ---- config/install.sh.orig Tue May 22 18:48:30 2007 -+++ config/install.sh Sun Sep 16 02:56:22 2007 -@@ -18,6 +18,8 @@ - nolib=false - fi - -+[ -n "$RECOMPILEDIR" ] && echo "RECOMPILEDIR=$RECOMPILEDIR" -+ - if [ x${INSTALL_QUIETLY} = xtrue ] ; then - export CM_VERBOSE - CM_VERBOSE=false -@@ -38,6 +40,28 @@ - exit 1 - } - -+# -+# do_patch patch-file -+# apply a patch file -+do_patch() { -+ patchfile=$FILESDIR/$1 -+ -+ if [ ! -r $patchfile ]; then -+ echo "$this: !!! patch file $patchfile not found." -+ exit 1; -+ fi -+ -+ if [ ! -f $CONFIGDIR/.patch_$1 ]; then -+ $PATCH $PATCH_ARGS < $patchfile || {\ -+ echo "$this: !!! patch file $patchfile failed to patch." -+ exit 1; -+ } -+ echo > $CONFIGDIR/.patch_$1 -+ else -+ echo "$this: patch $patchfile already installed." -+ fi -+} -+ - this=$0 - - -@@ -308,7 +332,12 @@ - # the name of the bin files directory - # - BOOT_ARCHIVE=boot.$ARCH-unix --BOOT_FILES=sml.$BOOT_ARCHIVE -+if [ -z "$RECOMPILEDIR" ] -+then -+ BOOT_FILES=sml.$BOOT_ARCHIVE -+else -+ BOOT_FILES=$RECOMPILEDIR/sml.$BOOT_ARCHIVE -+fi - - # - # build the run-time system -@@ -317,6 +346,11 @@ - vsay $this: Run-time system already exists. - else - "$CONFIGDIR"/unpack "$ROOT" runtime -+ [ -n "$MLRUNTIMEPATCHES" ] && \ -+ for p in $MLRUNTIMEPATCHES -+ do -+ do_patch $p -+ done - cd "$BASEDIR"/runtime/objs - echo $this: Compiling the run-time system. - $MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS -@@ -331,7 +365,7 @@ - if [ -f run.$ARCH-$OPSYS.a ]; then - mv run.$ARCH-$OPSYS.a "$RUNDIR" - fi -- $MAKE MAKE=$MAKE clean -+ [ "$MLNORUNTIMECLEAN" ] || $MAKE MAKE=$MAKE clean - else - complain "$this: !!! Run-time system build failed for some reason." - fi -@@ -357,7 +391,7 @@ - complain "$this !!! Unable to re-create heap image (sml.$HEAP_SUFFIX)." - fi - else -- "$CONFIGDIR"/unpack "$ROOT" "$BOOT_ARCHIVE" -+ [ -n "$RECOMPILEDIR" ] || "$CONFIGDIR"/unpack "$ROOT" "$BOOT_ARCHIVE" - - fish "$ROOT"/"$BOOT_FILES"/smlnj/basis - -@@ -415,6 +449,18 @@ - - cd "$ROOT" - -+# apply source patches for standard targets -+[ -n "$MLSTANDARDPATCHDIRS" ] && \ -+for d in $MLSTANDARDPATCHDIRS -+do -+ "$CONFIGDIR"/unpack "$ROOT" "$d" -+done -+[ -n "$MLSTANDARDPATCHES" ] && \ -+for p in $MLSTANDARDPATCHES -+do -+ do_patch $p -+done -+ - # - # Now do all the rest using the precompiled installer: - # -@@ -430,5 +476,12 @@ - complain "$this: !!! Installation of libraries and programs failed." - fi - fi -+ -+# apply all source patches -+[ -n "$MLSOURCEPATCHES" ] && \ -+for p in $MLSOURCEPATCHES -+do -+ do_patch $p -+done - - exit 0 diff --git a/lang/sml-nj-devel/files/pkg-install.in b/lang/sml-nj-devel/files/pkg-install.in deleted file mode 100644 index cdc3840a86c7..000000000000 --- a/lang/sml-nj-devel/files/pkg-install.in +++ /dev/null @@ -1,577 +0,0 @@ -#!/bin/sh -# This file was automatically created - don't modify it! -#%%SOURCEINFO-START%% -# source version: $Id: pkg-install.in,v 1.17 2007/08/30 13:09:47 joemann Exp $ -# installed by port/package: %%SOURCEINFO-PACKAGE%% -# installed from file: %%SOURCEINFO-FILE%% -#%%SOURCEINFO-END%% -if [ -n "$MULTIEXEC_WRAPPER_VERBOSE" ] -then - QUIET=0 -else - QUIET=1 -fi -#%%PKG-INSTALL-START%% -# ===== IMPORTANT ===== -# If you modify any byte of this script outside of the -# %%SOURCEINFO-*%% and #%%PKG-INSTALL-*%% sections, then -# don't forget to bump the MINOR version variable below! -# -case "$2" in - # no-op cases if called as port/package de/installation script - PRE-INSTALL|POST-DEINSTALL) - exit 0 - ;; -esac -#%%PKG-INSTALL-END%% - -ME=multiexec-wrapper -CALLED_NAME="`basename $0`" -PREFIX=%%PREFIX%% -CONFIG="$PREFIX/etc/$ME.conf" - -lookup_executable() { - local calledname pkgname name executable rest \ - portname version envvarname envvarversion result - # use global variable for the result to avoid subshell - lookup_executable_result= - [ -r "$CONFIG" ] || return 1 - calledname="$1" - result= - while read pkgname name executable rest - do - if [ "$name" = "$calledname" -a -n "$executable" ] - then - result="$executable" - portname=`expr "$pkgname" : "\(.*\)-"` - envvarname="`echo -n "$portname" | \ - tr "[:lower:]" "[:upper:]" | \ - tr -cs "[:alnum:]" "_"`" - # <PORTNAME> variable selects package if name matches - eval envvarvalue='$'"$envvarname" - if [ -n "$envvarvalue" ] - then - break - fi - # <PORTNAME>_VERSION variable selects package version - version=`expr "$pkgname" : ".*-\([^-_,]*\)"` - eval envvarversion='$'"$envvarname"_VERSION - if [ "$envvarversion" = "$version" ] - then - break - fi - fi - done < "$CONFIG" - lookup_executable_result="$result" -} - -warn () { - echo "${ME}: $1" 1>&2 -} - -die () { - warn "$1" - exit 1 -} - -# Normal usage: if called through a symlink, -# lookup and exec a registered executable. - -if [ -L "$0" -a "$CALLED_NAME" != "$ME" ] -then - lookup_executable "$CALLED_NAME" - executable="$lookup_executable_result" - if [ -x "$executable" ] - then - exec "$executable" "$@" - elif [ -z "$executable" ] - then - die "no executable registered for '$CALLED_NAME'." - elif [ ! -e "$executable" ] - then - die "$executable does not exist." - else - die "$executable is not executable." - fi -fi - -EPOCH=1 -CONFIG_FORMAT=1 -MAJOR=1 -MINOR=1 -VERSION=$EPOCH.$CONFIG_FORMAT.$MAJOR.$MINOR - -usage() { - echo "usage: $ME <cmd> <arg> ..." - echo " with one of the following <cmd>s:" -#%%PKG-INSTALL-START%% - echo " install-self-to <prefix> <pkgname>" - echo " deinstall-self-from <prefix>" -#%%PKG-INSTALL-END%% - echo " deinstall-pkg <pkgname>" - echo " register <pkgname> <name> <executable>" - echo " unregister <pkgname> <name> <executable>" - echo " version" - echo " which <name>" - echo " list-all-packages" - echo " list-packages-for-name <name>" - exit 1 -} - -say () { - [ $QUIET -gt 0 ] || echo "${ME}: $1" -} - -version() { - echo "$VERSION" - exit 0 -} - -which() { - local name executable - name="$1" - lookup_executable "$name" - executable="$lookup_executable_result" - [ -z "$executable" ] && return 1 - echo "$executable" -} - -#%%PKG-INSTALL-START%% -install_self_to() { - local pkgname myself target oldversion - PREFIX="$1" - pkgname="$2" - myself=`realpath "$0"` - target="$PREFIX/bin/$ME" - MYSELF_INSTALLED="$target" - if [ -e "$target" ] - then - if [ ! -x "$target" ] - then - die "$target already exists but is not executable." - else - oldversion=`$target version 2>/dev/null` - if [ $? -ne 0 ] - then - die "bogus $target already exists." - elif [ "$oldversion" = "$VERSION" ] - then - oldmd5=`sed -e '/^#%%PKG-INSTALL-START%%$/,/^#%%PKG-INSTALL-END%%$/d' \ - -e '/^#%%SOURCEINFO-START%%$/,/^#%%SOURCEINFO-END%%$/d' \ - -e 's?%%PREFIX%%?'"$PREFIX"'?g' "$target" | \ - md5 -q` - newmd5=`sed -e '/^#%%PKG-INSTALL-START%%$/,/^#%%PKG-INSTALL-END%%$/d' \ - -e '/^#%%SOURCEINFO-START%%$/,/^#%%SOURCEINFO-END%%$/d' \ - -e 's?%%PREFIX%%?'"$PREFIX"'?g' "$myself" | \ - md5 -q` - if [ "$newmd5" = "$oldmd5" ] - then - say "$myself (version $VERSION) already installed as $target." - return - else - die "$myself and $target have same version ($VERSION) but differ." - fi - elif [ `pkg_version -t "$oldversion" "$VERSION"` != "<" ] - then - say "$myself (version $VERSION) is not newer than $target (version $oldversion)." - fi - fi - fi - if sed -e '/^#%%PKG-INSTALL-START%%$/,/^#%%PKG-INSTALL-END%%$/d' \ - -e 's?%%SOURCEINFO-PACKAGE%%?'"$pkgname"'?g' \ - -e 's?%%SOURCEINFO-FILE%%?'"$myself"'?g' \ - -e 's?%%PREFIX%%?'"$PREFIX"'?g' "$0" > "$target" && \ - chmod +x "$target" - then - say "$0 (version $VERSION) installed as $target." - return - else - die "failed to install $ME (version $VERSION) as $target." - fi -} - -deinstall_self_from() { - local config_empty=1 - PREFIX="$1" - MYSELF_INSTALLED="$PREFIX/bin/$ME" - CONFIG="$PREFIX/etc/$ME.conf" - if [ ! -e "$CONFIG" ] - then - say "$CONFIG does not exist." - elif grep -v -q "^/SELF/" "$CONFIG" - then - say "$CONFIG is not empty." - config_empty=0 - elif rm -f "$CONFIG" - then - say "$CONFIG removed." - else - warn "failed to remove $CONFIG." - fi - if [ "$config_empty" -eq 1 ] - then - if [ ! -e "$MYSELF_INSTALLED" ] - then - warn "$MYSELF_INSTALLED does not exist." - elif rm -f "$MYSELF_INSTALLED" - then - say "$MYSELF_INSTALLED removed." - else - warn "failed to remove $MYSELF_INSTALLED." - fi - fi -} - -#%%PKG-INSTALL-END%% - -config_init() { - local format oldformat pkgname name executable rest - format="$EPOCH.$CONFIG_FORMAT" - if [ -r "$CONFIG" -a -s "$CONFIG" ] - then - oldformat=`cat "$CONFIG" | \ - while read pkgname name executable rest - do - if [ "$pkgname" = "/SELF/" -a "$name" = "/FORMAT/" ] - then - echo "$executable" - break - fi - done` - if [ -z "$oldformat" ] - then - say "old $CONFIG has no format information - backing up ..." - if mv "$CONFIG" "$CONFIG.bak" - then - say "... done" - else - die "failed to backup old $CONFIG." - fi - elif [ "$oldformat" = "$format" ] - then - say "matching format statement found in $CONFIG." - else - # XXX compare versions and try to upgrade if appropriate - die "differing format statement found in $CONFIG ($executable instead of $format)." - fi - elif echo "/SELF/ /FORMAT/ $format" > "$CONFIG" - then - say "$CONFIG initialized." - else - die "failed to initialize $CONFIG" - fi -} - -lookup_matches() { - local pkgname name executable rest p n e r - pkgname="$1" - name="$2" - executable="$3" - [ -r "$CONFIG" ] || return 1 - cat "$CONFIG" | \ - while read p n e r - do - [ "$pkgname" = "" -o "$p" = "$pkgname" ] && \ - [ "$name" = "" -o "$n" = "$name" ] && \ - [ "$executable" = "" -o "$e" = "$executable" ] && \ - echo "$p $n $e" - done - return 0 -} - -config_add() { - local pkgname name executable matches - pkgname="$1" - name="$2" - executable="$3" - if [ ! -e "$CONFIG" ] - then - config_init - fi - if [ ! -r "$CONFIG" ] - then - die "$CONFIG not readable." - else - matches=`lookup_matches "$pkgname" "$name" "$executable"` - if [ -n "$matches" ] - then - say "already registered in $CONFIG: $pkgname $name $executable" - return - elif [ ! -w "$CONFIG" ] - then - die "$CONFIG is not writeable" - fi - fi - if echo "$pkgname $name $executable" >> "$CONFIG" - then - say "now added to config: $pkgname $name $executable" - else - die "write failed while trying to add to $CONFIG: $pkgname $name $executable" - fi -} - -config_delete() { - local pkgname name executable matches - pkgname="$1" - name="$2" - executable="$3" - if [ ! -e "$CONFIG" ] - then - die "failed to delete from config: $CONFIG does not exist." - elif [ ! -r "$CONFIG" ] - then - die "$CONFIG not readable." - else - matches=`lookup_matches "$pkgname" "$name" "$executable"` - if [ -z "$matches" ] - then - say "no entry found in config for: $pkgname $name $executable." - elif [ ! -w "$CONFIG" ] - then - die "$CONFIG is not writeable." - elif [ ! -w `dirname "$CONFIG"` ] - then - die "config directory `dirname $CONFIG` is not writeable." - elif awk '$1 != "'"$pkgname"'" || \ - $2 != "'"$name"'" || \ - $3 != "'"$executable"'"' \ - "$CONFIG" > "$CONFIG.new" - then - if diff -q "$CONFIG" "$CONFIG.new" >/dev/null - then - say "failed to delete from config (match problem): $pkgname $name $executable." - rm "$CONFIG.new" - elif mv -f "$CONFIG.new" "$CONFIG" - then - say "deleted from config: $pkgname $name $executable." - else - die "failed to update $CONFIG." - fi - else - die "failed to create new config $CONFIG.new." - fi - fi -} - -register() { - local pkgname name executable savedwd - pkgname="$1" - name="$2" - executable="$3" - savedwd=$PWD - if [ ! -e "$executable" ] - then - die "won't register ${name}: $executable does not exist" - elif [ ! -x "$executable" ] - then - die "won't register ${name}: $executable is not executable" - elif cd "$PREFIX/bin" - then - if [ -e "$name" ] - then - if [ -L "$name" ] - then - target=`readlink $name` - if [ "$target" = "$ME" ] - then - say "symlink $name -> $ME already exists." - else - die "symlink $name already exists, but does not point to $ME (instead to $target)." - fi - else - die "$name already exists, but is not a symlink." - fi - else - if ln -s "$ME" "$name" - then - say "symlink $name -> $ME created." - else - die "failed to create symlink $name -> $ME." - fi - fi - config_add "$pkgname" "$name" "$executable" - else - die "can't cd to $PREFIX/bin." - fi - cd "$savedwd" -} - -unregister() { - local pkgname name executable savedwd matches count - pkgname="$1" - name="$2" - executable="$3" - savedwd=$PWD - if [ ! -e "$executable" ] - then - say "while unregistering ${name}: $executable does not exist" - elif [ ! -x "$executable" ] - then - say "while unregistering ${name}: $executable is not executable" - fi - if cd "$PREFIX/bin" - then - if [ ! -e "$name" ] - then - say "symlink $name does not exist." - elif [ ! -L "$name" ] - then - say "$name exists, but is not a symlink." - else - target=`readlink $name` - if [ "$target" != "$ME" ] - then - say "symlink $name exists, but does not point to $ME (instead to $target)." - else - matches=`lookup_matches "" "$name"` - count=`printf "%s" "$matches" | wc -l` - if [ "$count" -eq 0 -o \ - \( "$count" -eq 1 -a \ - `expr "$matches" : "${pkgname}-"` -gt 0 \) ] - then - if rm -f "$name" - then - say "symlink $name removed." - else - die "failed to remove symlink $name -> $ME." - fi - else - say "not removing symlink $name because of further config entries." - fi - fi - fi - config_delete "$pkgname" "$name" "$executable" - else - die "can't cd to $PREFIX/bin." - fi - cd "$savedwd" -} - -deinstall_pkg() { - local pkgname matches count p n e r - pkgname="$1" - matches=`lookup_matches "$pkgname"` - if [ $? -ne 0 ] - then - die "reading $CONFIG failed." - elif [ -z "$matches" ] - then - say "no entries for package $package in $CONFIG." - else - count=`printf "%s" "$matches" | wc -l` - say "trying to unregister $count entries for package $pkgname." - cat "$CONFIG" | \ - while read p n e r - do - if [ "$p" = "$pkgname" ] - then - if [ -z "$n" ] - then - warn "in $CONFIG: incomplete config entry (no name) found for package $pkgname." - elif [ -z "$e" ] - then - warn "in $CONFIG: incomplete config entry (no executable) found for package $pkgname, name $name." - else - unregister "$pkgname" "$n" "$e" - fi - fi - done - fi -} - - -#%%PKG-INSTALL-START%% -case "$2" in - POST-INSTALL) - PKGNAME="$1" - install_self_to "$PKG_PREFIX" "$PKGNAME" - "$MYSELF_INSTALLED" config-init || die "config-init of $CONFIG failed." - for exename in %%EXENAMES%% - do - exepath="$PKG_PREFIX/%%EXEBINDIR%%/$exename" - if [ -x "$exepath" ] - then - "$MYSELF_INSTALLED" register "$PKGNAME" "$exename" "$exepath" \ - || die "failure during registration - aborting." - else - die "not an executable: $exepath." - fi - done - ;; - DEINSTALL) - PKGNAME="$1" - PREFIX="$PKG_PREFIX" - CONFIG="$PREFIX/etc/$ME.conf" - MYSELF_INSTALLED="$PREFIX/bin/$ME" - doitmyself=0 - if [ ! -e "$MYSELF_INSTALLED" ] - then - say "$ME was not (or is no longer) installed as $MYSELF_INSTALLED." - doitmyself=1 - elif [ ! -x "$MYSELF_INSTALLED" ] - then - say "$MYSELF_INSTALLED is not executable." - doitmyself=1 - fi - if [ "$doitmyself" -eq 0 ] - then - "$MYSELF_INSTALLED" deinstall-pkg "$PKGNAME" - else - deinstall_pkg "$PKGNAME" - fi - deinstall_self_from "$PKG_PREFIX" - ;; -esac -#%%PKG-INSTALL-END%% - -list_all_packages() { - grep -v "^/" "$CONFIG" | \ - awk '{ print $1 }' | \ - uniq -} - -list_packages_for_name() { - local name="$1" - lookup_matches "" "$name" "" | \ - awk '{ print $1 }' -} - -# main - -case "$1" in -""|-h|--help) - usage - ;; -#%%PKG-INSTALL-START%% -install-self-to) - install_self_to "$2" "$3" - ;; -deinstall-self-from) - deinstall_self_from "$2" - ;; -#%%PKG-INSTALL-END%% -version) - version - ;; -which) - which "$2" - ;; -config-init) - config_init - ;; -register) - register "$2" "$3" "$4" - ;; -unregister) - unregister "$2" "$3" "$4" - ;; -deinstall-pkg) - deinstall_pkg "$2" - ;; -list-all-packages) - list_all_packages "$2" - ;; -list-packages-for-name) - list_packages_for_name "$2" - ;; -esac diff --git a/lang/sml-nj-devel/files/plist-everything b/lang/sml-nj-devel/files/plist-everything deleted file mode 100644 index 2cffca4b899e..000000000000 --- a/lang/sml-nj-devel/files/plist-everything +++ /dev/null @@ -1,47 +0,0 @@ -smlnj/bin/.heap/ml-burg.%%MLARCH%%-bsd -smlnj/bin/.heap/ml-nlffigen.%%MLARCH%%-bsd -smlnj/bin/.heap/nowhere.%%MLARCH%%-bsd -smlnj/bin/ml-burg -smlnj/bin/ml-nlffigen -smlnj/bin/nowhere -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 -smlnj/lib/c/memory/.cm/%%MLARCH%%-unix/memory.cm -smlnj/lib/ckit-lib.cm/.cm/%%MLARCH%%-unix/ckit-lib.cm -smlnj/lib/eXene.cm/.cm/%%MLARCH%%-unix/eXene.cm -smlnj/lib/mlburg-tool.cm/.cm/%%MLARCH%%-unix/mlburg-tool.cm -smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/match-compiler.cm -smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/parser.cm -smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/pp.cm -smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/prec-parser.cm -smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/sml-ast.cm -smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/source-map.cm -smlnj/lib/pgraph-util.cm/.cm/%%MLARCH%%-unix/pgraph-util.cm -@dirrm smlnj/lib/burg-ext.cm/.cm/%%MLARCH%%-unix -@dirrm smlnj/lib/burg-ext.cm/.cm -@dirrm smlnj/lib/burg-ext.cm -@dirrm smlnj/lib/c/memory/.cm/%%MLARCH%%-unix -@dirrm smlnj/lib/c/memory/.cm -@dirrm smlnj/lib/c/memory -@dirrm smlnj/lib/c/internals/.cm/%%MLARCH%%-unix -@dirrm smlnj/lib/c/internals/.cm -@dirrm smlnj/lib/c/internals -@dirrm smlnj/lib/c/.cm/%%MLARCH%%-unix -@dirrm smlnj/lib/c/.cm -@dirrm smlnj/lib/c -@dirrm smlnj/lib/ckit-lib.cm/.cm/%%MLARCH%%-unix -@dirrm smlnj/lib/ckit-lib.cm/.cm -@dirrm smlnj/lib/ckit-lib.cm -@dirrm smlnj/lib/eXene.cm/.cm/%%MLARCH%%-unix -@dirrm smlnj/lib/eXene.cm/.cm -@dirrm smlnj/lib/eXene.cm -@dirrm smlnj/lib/mlburg-tool.cm/.cm/%%MLARCH%%-unix -@dirrm smlnj/lib/mlburg-tool.cm/.cm -@dirrm smlnj/lib/mlburg-tool.cm -@dirrm smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix -@dirrm smlnj/lib/mlrisc-tools/.cm -@dirrm smlnj/lib/mlrisc-tools -@dirrm smlnj/lib/pgraph-util.cm/.cm/%%MLARCH%%-unix -@dirrm smlnj/lib/pgraph-util.cm/.cm -@dirrm smlnj/lib/pgraph-util.cm diff --git a/lang/sml-nj-devel/pkg-descr b/lang/sml-nj-devel/pkg-descr deleted file mode 100644 index ef4aa3ed92ec..000000000000 --- a/lang/sml-nj-devel/pkg-descr +++ /dev/null @@ -1,7 +0,0 @@ -A Standard ML implementation from Bell-Labs. Implements the SML '97 definition -including the new Basis library with a few minor omissions and discrepancies. - -WWW: http://www.smlnj.org/ - -If you are interested in a lighter weight implementation of ML, -the Moscow-ML port is recommended. diff --git a/lang/sml-nj/Makefile b/lang/sml-nj/Makefile deleted file mode 100644 index b846500fd83f..000000000000 --- a/lang/sml-nj/Makefile +++ /dev/null @@ -1,105 +0,0 @@ -# Created by: jkoshy -# $FreeBSD$ - -PORTNAME= smlnj -PORTVERSION= 110.0.7 -PORTREVISION= 3 -CATEGORIES= lang -MASTER_SITES= http://smlnj.cs.uchicago.edu/dist/release/110.0.7/ \ - ftp://flint.cs.yale.edu/pub/smlnj/release/110.0.7/ \ - SF/${PORTNAME}/${PORTNAME}-release/${PORTVERSION} - -DISTFILES= bin.x86-unix.tar.Z cm.tar.Z cml.tar.Z \ - config.tar.Z eXene.tar.Z \ - ml-burg.tar.Z ml-lex.tar.Z \ - ml-yacc.tar.Z runtime.tar.Z \ - smlnj-c.tar.Z smlnj-lib.tar.Z -EXTRACT_ONLY= config.tar.Z - -MAINTAINER= joemann@beefree.free.de -COMMENT= Popular functional language from Bell Labs - -BROKEN= Fails to build -DEPRECATED= Broken for more than 6 months -EXPIRATION_DATE= 2014-08-22 - -# Other mirror sites that generally carry only released versions of SML -# ftp://ftp.cl.cam.ac.uk/MIRRORED/smlnj/release/ - -DIST_SUBDIR= sml-nj/${PORTVERSION} -NO_WRKSUBDIR= yes -USES= gmake - -ONLY_FOR_ARCHS= i386 - -SUB_FILES= pkg-install -SUB_LIST= EXEBINDIR=${SML_BASERELATIVE}/bin EXENAMES="${SML_EXES}" -PKGDEINSTALL= ${PKGINSTALL} - -SML_BASERELATIVE= lib/sml-nj -SML_BASE= ${PREFIX}/${SML_BASERELATIVE} -SML_LIBDIR= ${SML_BASE}/lib -SML_BINDIR= ${SML_BASE}/bin -SML_SRCDIR= ${SML_BASE}/src -SML_EXES= ml-burg ml-lex ml-yacc sml sml-cm - -# make symlinks to the dist files -NO_STAGE= yes -post-extract: - cd ${WRKDIR} && ${LN} -sf ${_DISTDIR}/* . - -# The build target needs to run $WRKDIR/config/install.sh -do-build: - cd ${WRKDIR} && unset PWD && \ - FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \ - ./config/install.sh - -# install target -# 1. create installation directories -# 2. copy the ./bin directory across -# 3. edit bin/.run_sml to override BIN_DIR -# 4. set up temporary symlinks from WRKDIR subdirs to SML_BASE -# 5. run config/install.sh in SML_BASE in order to -# 6. rebuild sml-cm with CM's paths pointing into SML_BASE -# 7. remove the temporary symlinks -# 8. copy all x86-unix directories -# 9. find all .cm files reachable from $WRKDIR/lib and copy them across -# 10. copy the aliases in ./lib changing WRKDIR to SML_LIBDIR -# 11. install links to executables in $PREFIX/bin -do-install: - ${MKDIR} ${SML_BASE} ${SML_BINDIR} ${SML_LIBDIR} - tar -C ${WRKDIR} -cf - bin | tar -C ${SML_BASE} -xf - - ${RM} -f ${SML_BINDIR}/.run-sml - ${SED} -e "s,^BIN_DIR=.*\$$,BIN_DIR=${SML_BINDIR}," \ - < ${WRKDIR}/bin/.run-sml > ${SML_BINDIR}/.run-sml - ${CHMOD} 755 ${SML_BINDIR}/.run-sml - ${LN} -s ${WRKDIR}/config ${SML_BASE} - ${LN} -s ${WRKDIR}/bin.x86-unix ${SML_BASE} - ${LN} -s ${WRKDIR}/src ${SML_BASE} - ${RM} ${SML_BINDIR}/.heap/sml* - cd ${SML_BASE} && config/install.sh - ${RM} ${SML_BASE}/config - ${RM} ${SML_BASE}/bin.x86-unix - ${RM} ${SML_BASE}/src - cd ${WRKDIR} && tar -cf - `${FIND} . -name x86-unix` | \ - tar -C ${SML_BASE} -xf - - cd ${WRKDIR} && tar -cf - `${SCRIPTDIR}/get-cm ${WRKDIR}` | \ - tar -C ${SML_BASE} -xf - - for f in ${WRKDIR}/lib/*; do\ - ${SED} -e "s,${WRKDIR},${SML_BASE}," < $$f > \ - ${SML_LIBDIR}/`${BASENAME} $$f`; \ - done - @${CHOWN} -R ${BINOWN}:${BINGRP} ${SML_BINDIR} - @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${SML_SRCDIR} - -post-install: - PKG_PREFIX=${PREFIX} MULTIEXEC_WRAPPER_VERBOSE=yes \ - ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL - -.ifndef MULTIEXEC_WRAPPER_VERBOSE -deinstall: - export MULTIEXEC_WRAPPER_VERBOSE=yes && \ - cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} deinstall -.endif - -.include <bsd.port.mk> diff --git a/lang/sml-nj/distinfo b/lang/sml-nj/distinfo deleted file mode 100644 index aa2780265cfb..000000000000 --- a/lang/sml-nj/distinfo +++ /dev/null @@ -1,22 +0,0 @@ -SHA256 (sml-nj/110.0.7/bin.x86-unix.tar.Z) = 17d0568ceb9c90b41c2a2f538fe336ee6c673ead7417e7a7ba489932e99e27b5 -SIZE (sml-nj/110.0.7/bin.x86-unix.tar.Z) = 3620350 -SHA256 (sml-nj/110.0.7/cm.tar.Z) = 4a0d068dfea62c40a6f4a8e76709e3a5f024de36de267c0282f80d8efc245ee2 -SIZE (sml-nj/110.0.7/cm.tar.Z) = 543905 -SHA256 (sml-nj/110.0.7/cml.tar.Z) = 9d541525c252ab9c313f8e7e9eb254b68f5edabbe8a9cd878805ff4c992b5b8c -SIZE (sml-nj/110.0.7/cml.tar.Z) = 259665 -SHA256 (sml-nj/110.0.7/config.tar.Z) = c8f8fbc0276140297abf3cc95b876fbc4155d61d8fc41e80411c8cf53dc2ff01 -SIZE (sml-nj/110.0.7/config.tar.Z) = 10397 -SHA256 (sml-nj/110.0.7/eXene.tar.Z) = 3b8bcfc931dcd6589fb7493c9b396403db6d54aa2b1dd3c6b7d3460b511ef0f6 -SIZE (sml-nj/110.0.7/eXene.tar.Z) = 1118845 -SHA256 (sml-nj/110.0.7/ml-burg.tar.Z) = d79f63c1691e6662b5bac94d31315441c537a881016cf6b71e800bb1434cad83 -SIZE (sml-nj/110.0.7/ml-burg.tar.Z) = 99341 -SHA256 (sml-nj/110.0.7/ml-lex.tar.Z) = 53b2fcf130466be487ed2a5212d63dd7bb45f81626f16b29b69c1d31ed9b4124 -SIZE (sml-nj/110.0.7/ml-lex.tar.Z) = 46008 -SHA256 (sml-nj/110.0.7/ml-yacc.tar.Z) = ab1d6cfcf10e6bc4847debb446973966d08c5f0f6d9599f1f3275afa54181c84 -SIZE (sml-nj/110.0.7/ml-yacc.tar.Z) = 160157 -SHA256 (sml-nj/110.0.7/runtime.tar.Z) = 43805e80320c4532d342ebf967ef386aa1a90d8b6328777736a5676b605d72ed -SIZE (sml-nj/110.0.7/runtime.tar.Z) = 615867 -SHA256 (sml-nj/110.0.7/smlnj-c.tar.Z) = 4ed05988cd3ab75ee2bf0c8f8f6162a1300edb7923798a443e73364b44d1e621 -SIZE (sml-nj/110.0.7/smlnj-c.tar.Z) = 106309 -SHA256 (sml-nj/110.0.7/smlnj-lib.tar.Z) = f189300515e6f36541aad61e1b01ec5d3a8f96ff40c2293b7fa031e0281269ab -SIZE (sml-nj/110.0.7/smlnj-lib.tar.Z) = 417409 diff --git a/lang/sml-nj/files/extra-patch-cpp b/lang/sml-nj/files/extra-patch-cpp deleted file mode 100644 index adb08fd8a575..000000000000 --- a/lang/sml-nj/files/extra-patch-cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/runtime/objs/mk.x86-freebsd.orig Fri Aug 15 11:39:43 2003 -+++ src/runtime/objs/mk.x86-freebsd Fri Aug 15 11:39:59 2003 -@@ -10,7 +10,7 @@ - ARFLAGS = Trcv - CC = gcc -ansi - CFLAGS = -O2 --CPP = gcc -x c -E -P -ansi -+CPP = gcc -x assembler-with-cpp -E -P - #CPP = /usr/bin/cpp -P - - XOBJS = diff --git a/lang/sml-nj/files/extra-patch-genposixnames b/lang/sml-nj/files/extra-patch-genposixnames deleted file mode 100644 index c1301b1b8b7b..000000000000 --- a/lang/sml-nj/files/extra-patch-genposixnames +++ /dev/null @@ -1,33 +0,0 @@ ---- src/runtime/config/gen-posix-names.sh.orig Tue Oct 10 21:26:35 2000 -+++ src/runtime/config/gen-posix-names.sh Tue Mar 11 22:50:21 2003 -@@ -36,17 +36,20 @@ - /lib/cpp > $INCLFILE <<XXX - #include <unistd.h> - XXX --elif [ -r "/usr/include/sys/unistd.h" ]; then -- INCLFILE=/usr/include/sys/unistd.h --elif [ -r "/usr/include/confname.h" ]; then -- INCLFILE=/usr/include/confname.h --elif [ -r "/usr/include/unistd.h" ]; then -- INCLFILE=/usr/include/unistd.h --elif [ -r "/usr/include/bsd/unistd.h" ]; then -- INCLFILE=/usr/include/bsd/unistd.h - else -- echo "gen-posix-names.sh: unable to find <unistd.h>" -- exit 1 -+ INCLFILE="" -+ for f in "/usr/include/sys/unistd.h" \ -+ "/usr/include/confname.h" \ -+ "/usr/include/unistd.h" \ -+ "/usr/include/bsd/unistd.h"; do -+ if [ -r "$f" ]; then -+ INCLFILE="$INCLFILE $f" -+ fi -+ done -+ if [ -z "$INCLFILE" ]; then -+ echo "gen-posix-names.sh: unable to find <unistd.h>" -+ exit 1 -+ fi - fi - - echo "/* $OUTF" >> $OUTF diff --git a/lang/sml-nj/files/extra-patch-global-names b/lang/sml-nj/files/extra-patch-global-names deleted file mode 100644 index 5250f706c186..000000000000 --- a/lang/sml-nj/files/extra-patch-global-names +++ /dev/null @@ -1,11 +0,0 @@ ---- src/runtime/include/asm-base.h-- Wed Oct 11 16:31:09 2000 -+++ src/runtime/include/asm-base.h Wed Oct 11 16:31:52 2000 -@@ -16,7 +16,7 @@ - #define FALSE 0 - #define TRUE 1 - --#if (!defined(GLOBALS_HAVE_UNDERSCORE)) && (defined(OPSYS_SUNOS) || defined(OPSYS_NEXTSTEP) || defined(OPSYS_WIN32)) -+#if (!defined(GLOBALS_HAVE_UNDERSCORE)) && (defined(OPSYS_SUNOS) || defined(OPSYS_NEXTSTEP) || (defined(OPSYS_FREEBSD) && !defined(__ELF__)) || defined(OPSYS_WIN32)) - # define GLOBALS_HAVE_UNDERSCORE - #endif - diff --git a/lang/sml-nj/files/extra-patch-signals b/lang/sml-nj/files/extra-patch-signals deleted file mode 100644 index 5546f0e4f7e8..000000000000 --- a/lang/sml-nj/files/extra-patch-signals +++ /dev/null @@ -1,21 +0,0 @@ -*** src.old/runtime/mach-dep/signal-sysdep.h Sat Jan 22 18:15:21 2000 ---- src/runtime/mach-dep/signal-sysdep.h Sun Jan 23 01:46:53 2000 -*************** -*** 396,403 **** - # elif defined(OPSYS_FREEBSD) - /** x86, 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 SIG_GetCode(info, scp) (info) - # define SIG_GetPC(scp) ((scp)->sc_pc) ---- 396,403 ---- - # elif defined(OPSYS_FREEBSD) - /** x86, FreeBSD **/ - # define SIG_FAULT1 SIGFPE -! # 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) diff --git a/lang/sml-nj/files/patch-ab b/lang/sml-nj/files/patch-ab deleted file mode 100644 index 098fdcb823ff..000000000000 --- a/lang/sml-nj/files/patch-ab +++ /dev/null @@ -1,38 +0,0 @@ ---- config/install.sh.orig Fri Oct 20 18:02:25 2000 -+++ config/install.sh Tue Dec 21 06:22:34 2004 -@@ -151,11 +151,34 @@ - # - # build the run-time system - # -+if [ -x $RUNDIR/run.$ARCH-$OPSYS ]; then -+ echo "$RUNDIR/run.$ARCH-$OPSYS already exists" -+else - $CONFIGDIR/unpack.sh "run-time" $SRCDIR runtime $ROOT/runtime.tar - if [ "$?" != "0" ]; then - exit $? - fi --if [ ! -x $RUNDIR/run.$ARCH-$OPSYS ]; then -+# we need to patch just before build -+echo "applying source patches" -+patch_file="${FILESDIR}/extra-patch-cpp" -+if [ -f $patch_file ]; then -+ $PATCH $PATCH_ARGS < $patch_file -+fi -+patch_file="${FILESDIR}/extra-patch-global-names" -+if [ -f $patch_file ]; then -+ $PATCH $PATCH_ARGS < $patch_file -+fi -+patch_file="${FILESDIR}/extra-patch-genposixnames" -+if [ -f $patch_file ]; then -+ $PATCH $PATCH_ARGS < $patch_file -+fi -+if grep -w FPE_INTDIV /usr/include/machine/trap.h > /dev/null 2>&1; then -+ patch_file="${FILESDIR}/extra-patch-signals" -+ if [ -f $patch_file ]; then -+ $PATCH $PATCH_ARGS < $patch_file -+ fi -+fi -+#if [ ! -x $RUNDIR/run.$ARCH-$OPSYS ]; then - cd $SRCDIR/runtime/objs - echo "compiling the run-time system" - $MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS diff --git a/lang/sml-nj/pkg-descr b/lang/sml-nj/pkg-descr deleted file mode 100644 index cf950228c217..000000000000 --- a/lang/sml-nj/pkg-descr +++ /dev/null @@ -1,7 +0,0 @@ -A Standard ML implementation from Bell-Labs. Implements the SML '97 definition -including the new Basis library with a few minor omissions and discrepancies. - -WWW: http://www.smlnj.org/ - -If you are interested in a lighter weight implementation of ML, -the Moscow-ML port is recommended. diff --git a/lang/sml-nj/pkg-plist b/lang/sml-nj/pkg-plist deleted file mode 100644 index 421ab022fade..000000000000 --- a/lang/sml-nj/pkg-plist +++ /dev/null @@ -1,624 +0,0 @@ -lib/sml-nj/bin/.arch-n-opsys -lib/sml-nj/bin/.heap/ml-burg.x86-bsd -lib/sml-nj/bin/.heap/ml-lex.x86-bsd -lib/sml-nj/bin/.heap/ml-yacc.x86-bsd -lib/sml-nj/bin/.heap/sml-cm.x86-bsd -lib/sml-nj/bin/.heap/sml.x86-bsd -lib/sml-nj/bin/.run/run.x86-freebsd -lib/sml-nj/bin/.run-sml -lib/sml-nj/bin/ml-burg -lib/sml-nj/bin/ml-lex -lib/sml-nj/bin/ml-yacc -lib/sml-nj/bin/sml -lib/sml-nj/bin/sml-cm -lib/sml-nj/lib/cml-lib.cm -lib/sml-nj/lib/cml.cm -lib/sml-nj/lib/eXene.cm -lib/sml-nj/lib/html-lib.cm -lib/sml-nj/lib/inet-lib.cm -lib/sml-nj/lib/ml-yacc-lib.cm -lib/sml-nj/lib/pp-lib.cm -lib/sml-nj/lib/reactive-lib.cm -lib/sml-nj/lib/regexp-lib.cm -lib/sml-nj/lib/smlnj-lib.cm -lib/sml-nj/lib/unix-lib.cm -lib/sml-nj/src/cml/cml-lib/CM/x86-unix/multicast-sig.sml.bin -lib/sml-nj/src/cml/cml-lib/CM/x86-unix/multicast.sml.bin -lib/sml-nj/src/cml/cml-lib/CM/x86-unix/simple-rpc-sig.sml.bin -lib/sml-nj/src/cml/cml-lib/CM/x86-unix/simple-rpc.sml.bin -lib/sml-nj/src/cml/cml-lib/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/cml/cml-lib/CM/x86-unix/trace-cml-sig.sml.bin -lib/sml-nj/src/cml/cml-lib/CM/x86-unix/trace-cml.cm.stable -lib/sml-nj/src/cml/cml-lib/CM/x86-unix/trace-cml.sml.bin -lib/sml-nj/src/cml/cml-lib/SMLNJ-INet/CM/x86-unix/sock-util-sig.sml.bin -lib/sml-nj/src/cml/cml-lib/SMLNJ-INet/CM/x86-unix/sock-util.sml.bin -lib/sml-nj/src/cml/cml-lib/SMLNJ-INet/CM/x86-unix/unix-sock-util.sml.bin -lib/sml-nj/src/cml/cml-lib/SMLNJ-Util/CM/x86-unix/atom-binary-map.sml.bin -lib/sml-nj/src/cml/cml-lib/SMLNJ-Util/CM/x86-unix/atom-binary-set.sml.bin -lib/sml-nj/src/cml/cml-lib/SMLNJ-Util/CM/x86-unix/atom-map.sml.bin -lib/sml-nj/src/cml/cml-lib/SMLNJ-Util/CM/x86-unix/atom-redblack-map.sml.bin -lib/sml-nj/src/cml/cml-lib/SMLNJ-Util/CM/x86-unix/atom-redblack-set.sml.bin -lib/sml-nj/src/cml/cml-lib/SMLNJ-Util/CM/x86-unix/atom-set.sml.bin -lib/sml-nj/src/cml/cml-lib/SMLNJ-Util/CM/x86-unix/atom-sig.sml.bin -lib/sml-nj/src/cml/cml-lib/SMLNJ-Util/CM/x86-unix/atom-table.sml.bin -lib/sml-nj/src/cml/cml-lib/SMLNJ-Util/CM/x86-unix/cml-atom.sml.bin -lib/sml-nj/src/cml/cml-lib/SMLNJ-Util/CM/x86-unix/io-util-sig.sml.bin -lib/sml-nj/src/cml/cml-lib/SMLNJ-Util/CM/x86-unix/io-util.sml.bin -lib/sml-nj/src/cml/cml-lib/sources.cm -lib/sml-nj/src/cml/cml-lib/trace-cml.cm -lib/sml-nj/src/cml/src/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/cml/src/IO/CM/x86-unix/bin-io-fn.sml.bin -lib/sml-nj/src/cml/src/IO/CM/x86-unix/bin-prim-io.sml.bin -lib/sml-nj/src/cml/src/IO/CM/x86-unix/chan-io-fn.sml.bin -lib/sml-nj/src/cml/src/IO/CM/x86-unix/clean-io.sml.bin -lib/sml-nj/src/cml/src/IO/CM/x86-unix/cml-bin-io-sig.sml.bin -lib/sml-nj/src/cml/src/IO/CM/x86-unix/cml-imperative-io-sig.sml.bin -lib/sml-nj/src/cml/src/IO/CM/x86-unix/cml-stream-io-sig.sml.bin -lib/sml-nj/src/cml/src/IO/CM/x86-unix/cml-text-io-sig.sml.bin -lib/sml-nj/src/cml/src/IO/CM/x86-unix/cml-text-stream-io-sig.sml.bin -lib/sml-nj/src/cml/src/IO/CM/x86-unix/os-prim-io-sig.sml.bin -lib/sml-nj/src/cml/src/IO/CM/x86-unix/prim-io-fn.sml.bin -lib/sml-nj/src/cml/src/IO/CM/x86-unix/prim-io-sig.sml.bin -lib/sml-nj/src/cml/src/IO/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/cml/src/IO/CM/x86-unix/text-io-fn.sml.bin -lib/sml-nj/src/cml/src/IO/CM/x86-unix/text-prim-io.sml.bin -lib/sml-nj/src/cml/src/IO/sources.cm -lib/sml-nj/src/cml/src/OS/CM/x86-unix/os-io-sig.sml.bin -lib/sml-nj/src/cml/src/OS/CM/x86-unix/os-process-sig.sml.bin -lib/sml-nj/src/cml/src/OS/CM/x86-unix/os-sig.sml.bin -lib/sml-nj/src/cml/src/OS/CM/x86-unix/os-signatures.sml.bin -lib/sml-nj/src/cml/src/OS/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/cml/src/OS/sources.cm -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/cml-generic-sock.sml.bin -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/cml-inet-sock.sml.bin -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/cml-socket-sig.sml.bin -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/cml-socket.sml.bin -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/cml-unix-sock.sml.bin -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/generic-sock-sig.sml.bin -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/inet-sock-sig.sml.bin -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/layer1.cm.stable -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/layer2.cm.stable -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/layer3.cm.stable -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/pre-sock.sml.bin -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/rebind1.sml.bin -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/rebind2-unix-sock.sml.bin -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/rebind2.sml.bin -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/cml/src/Sockets/CM/x86-unix/unix-sock-sig.sml.bin -lib/sml-nj/src/cml/src/Sockets/layer1.cm -lib/sml-nj/src/cml/src/Sockets/layer2.cm -lib/sml-nj/src/cml/src/Sockets/layer3.cm -lib/sml-nj/src/cml/src/Sockets/sources.cm -lib/sml-nj/src/cml/src/Unix/CM/x86-unix/os-io.sml.bin -lib/sml-nj/src/cml/src/Unix/CM/x86-unix/os-process.sml.bin -lib/sml-nj/src/cml/src/Unix/CM/x86-unix/os.cm.stable -lib/sml-nj/src/cml/src/Unix/CM/x86-unix/os.sml.bin -lib/sml-nj/src/cml/src/Unix/CM/x86-unix/posix-bin-io.sml.bin -lib/sml-nj/src/cml/src/Unix/CM/x86-unix/posix-bin-prim-io.sml.bin -lib/sml-nj/src/cml/src/Unix/CM/x86-unix/posix-text-io.sml.bin -lib/sml-nj/src/cml/src/Unix/CM/x86-unix/posix-text-prim-io.sml.bin -lib/sml-nj/src/cml/src/Unix/CM/x86-unix/proc-manager.sml.bin -lib/sml-nj/src/cml/src/Unix/CM/x86-unix/run-cml.sml.bin -lib/sml-nj/src/cml/src/Unix/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/cml/src/Unix/CM/x86-unix/syscall.sml.bin -lib/sml-nj/src/cml/src/Unix/CM/x86-unix/unix-glue.sml.bin -lib/sml-nj/src/cml/src/Unix/CM/x86-unix/unix-sig.sml.bin -lib/sml-nj/src/cml/src/Unix/CM/x86-unix/unix.sml.bin -lib/sml-nj/src/cml/src/Unix/os.cm -lib/sml-nj/src/cml/src/Unix/sources.cm -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/channel-sig.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/channel.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/cleanup.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/cml-cleanup-sig.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/cml-sig.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/cml.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/debug.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/event-sig.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/event.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/io-manager.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/mailbox-sig.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/mailbox.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/queue.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/rep-types.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/running.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/scheduler.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/sync-var-sig.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/sync-var.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/thread-sig.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/thread.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/timeout-sig.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/timeout.sml.bin -lib/sml-nj/src/cml/src/core-cml/CM/x86-unix/version.sml.bin -lib/sml-nj/src/cml/src/core-cml/sources.cm -lib/sml-nj/src/cml/src/glue/CM/x86-unix/export-fn-fn.sml.bin -lib/sml-nj/src/cml/src/glue/CM/x86-unix/os-glue-sig.sml.bin -lib/sml-nj/src/cml/src/glue/CM/x86-unix/run-cml-fn.sml.bin -lib/sml-nj/src/cml/src/glue/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/cml/src/glue/sources.cm -lib/sml-nj/src/cml/src/sources.cm -lib/sml-nj/src/cml/src/util/CM/x86-unix/result.sml.bin -lib/sml-nj/src/cml/src/util/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/cml/src/util/sources.cm -lib/sml-nj/src/eXene/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/band.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/bitmap-io-sig.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/bitmap-io.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/box.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/color-space-sig.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/color-space.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/ellipse-sig.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/ellipse.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/get-dpy-sig.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/get-dpy.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/region-sig.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/region.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/rounded-rect-sig.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/rounded-rect.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/scan-convert.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/spline-sig.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/spline.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/xauth-sig.sml.bin -lib/sml-nj/src/eXene/graph-util/CM/x86-unix/xauth.sml.bin -lib/sml-nj/src/eXene/graph-util/sources.cm -lib/sml-nj/src/eXene/lib/CM/x86-unix/base.cm.stable -lib/sml-nj/src/eXene/lib/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/eXene/lib/base.cm -lib/sml-nj/src/eXene/lib/basics/CM/x86-unix/geom.sml.bin -lib/sml-nj/src/eXene/lib/iccc/CM/x86-unix/atom-server.sml.bin -lib/sml-nj/src/eXene/lib/iccc/CM/x86-unix/property-sig.sml.bin -lib/sml-nj/src/eXene/lib/iccc/CM/x86-unix/property.sml.bin -lib/sml-nj/src/eXene/lib/iccc/CM/x86-unix/std-atoms.sml.bin -lib/sml-nj/src/eXene/lib/iccc/CM/x86-unix/xatom-tbl.sml.bin -lib/sml-nj/src/eXene/lib/iccc/CM/x86-unix/xatoms.sml.bin -lib/sml-nj/src/eXene/lib/iccc/CM/x86-unix/xprops.sml.bin -lib/sml-nj/src/eXene/lib/misc/CM/x86-unix/exene-version.sml.bin -lib/sml-nj/src/eXene/lib/misc/CM/x86-unix/mlx-err.sml.bin -lib/sml-nj/src/eXene/lib/misc/CM/x86-unix/xdebug.sml.bin -lib/sml-nj/src/eXene/lib/misc/CM/x86-unix/xprint.sml.bin -lib/sml-nj/src/eXene/lib/misc/CM/x86-unix/xvalid.sml.bin -lib/sml-nj/src/eXene/lib/protocol/CM/x86-unix/keybut.sml.bin -lib/sml-nj/src/eXene/lib/protocol/CM/x86-unix/xcvtfns.sml.bin -lib/sml-nj/src/eXene/lib/protocol/CM/x86-unix/xdisplay.sml.bin -lib/sml-nj/src/eXene/lib/protocol/CM/x86-unix/xerrors.sml.bin -lib/sml-nj/src/eXene/lib/protocol/CM/x86-unix/xevttypes.sml.bin -lib/sml-nj/src/eXene/lib/protocol/CM/x86-unix/xio.sml.bin -lib/sml-nj/src/eXene/lib/protocol/CM/x86-unix/xprottypes.sml.bin -lib/sml-nj/src/eXene/lib/protocol/CM/x86-unix/xreply.sml.bin -lib/sml-nj/src/eXene/lib/protocol/CM/x86-unix/xrequest.sml.bin -lib/sml-nj/src/eXene/lib/protocol/CM/x86-unix/xsendevt.sml.bin -lib/sml-nj/src/eXene/lib/protocol/CM/x86-unix/xserver-addr.sml.bin -lib/sml-nj/src/eXene/lib/protocol/CM/x86-unix/xshutdown.sml.bin -lib/sml-nj/src/eXene/lib/protocol/CM/x86-unix/xtime.sml.bin -lib/sml-nj/src/eXene/lib/protocol/CM/x86-unix/xwin.sml.bin -lib/sml-nj/src/eXene/lib/sources.cm -lib/sml-nj/src/eXene/lib/user/CM/x86-unix/abstract.sml.bin -lib/sml-nj/src/eXene/lib/user/CM/x86-unix/build.sml.bin -lib/sml-nj/src/eXene/lib/user/CM/x86-unix/drawing-sig.sml.bin -lib/sml-nj/src/eXene/lib/user/CM/x86-unix/exene-base-sig.sml.bin -lib/sml-nj/src/eXene/lib/user/CM/x86-unix/exene-win-sig.sml.bin -lib/sml-nj/src/eXene/lib/user/CM/x86-unix/font-sig.sml.bin -lib/sml-nj/src/eXene/lib/user/CM/x86-unix/geometry-sig.sml.bin -lib/sml-nj/src/eXene/lib/user/CM/x86-unix/iccc-sig.sml.bin -lib/sml-nj/src/eXene/lib/user/CM/x86-unix/interact-sig.sml.bin -lib/sml-nj/src/eXene/lib/user/CM/x86-unix/std-cursor-sig.sml.bin -lib/sml-nj/src/eXene/lib/util/CM/x86-unix/hash-xid.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/color-server-sig.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/color-server.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/cursor.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/display.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/draw-master.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/draw-types.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/draw.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/font-base.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/font-server.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/gc-server.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/hash-window.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/image.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/keymap.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/keysym-trans.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/keysym.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/pen-rep.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/pen.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/pixmap.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/property-server-sig.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/property-server.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/selection-server-sig.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/selection-server.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/selection.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/tile.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/toplevel-win.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/window-env.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/window-sig.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/window.sml.bin -lib/sml-nj/src/eXene/lib/window/CM/x86-unix/winreg.sml.bin -lib/sml-nj/src/eXene/sources.cm -lib/sml-nj/src/eXene/styles/CM/x86-unix/parse-resource-specs.sml.bin -lib/sml-nj/src/eXene/styles/CM/x86-unix/quark-sig.sml.bin -lib/sml-nj/src/eXene/styles/CM/x86-unix/quark.sml.bin -lib/sml-nj/src/eXene/styles/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/eXene/styles/CM/x86-unix/styles-func.sml.bin -lib/sml-nj/src/eXene/styles/sources.cm -lib/sml-nj/src/eXene/widgets/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/eXene/widgets/basics/CM/x86-unix/root.sml.bin -lib/sml-nj/src/eXene/widgets/basics/CM/x86-unix/router.sml.bin -lib/sml-nj/src/eXene/widgets/basics/CM/x86-unix/shell.sml.bin -lib/sml-nj/src/eXene/widgets/basics/CM/x86-unix/widget-attrs.sml.bin -lib/sml-nj/src/eXene/widgets/basics/CM/x86-unix/widget-base.sml.bin -lib/sml-nj/src/eXene/widgets/basics/CM/x86-unix/widget.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/background.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/box-layout.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/box.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/frame.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/hideable.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/index.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/menu-button.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/pile.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/scrollbar-layout.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/scrollport-sig.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/scrollport.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/shape.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/simple-menu.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/viewport-sig.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/viewport.sml.bin -lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix/widget-set.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/arrow-view.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/button-base.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/button-ctrl.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/button-type.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/button-view.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/button.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/canvas-sig.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/canvas.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/check-view.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/circle-view.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/color-rect.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/diamond-view.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/divider.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/item-list.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/label-bttn-view.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/label.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/message.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/rect-view.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/scroll-view.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/scrollbar-sig.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/scrollbar.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/shape-view.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/slider-view.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/slider.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/switch-view.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/text-list.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/text-view.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/toggle-ctrl.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/toggle-type.sml.bin -lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix/toggle.sml.bin -lib/sml-nj/src/eXene/widgets/sources.cm -lib/sml-nj/src/eXene/widgets/text/CM/x86-unix/extstr.sml.bin -lib/sml-nj/src/eXene/widgets/text/CM/x86-unix/field-edit.sml.bin -lib/sml-nj/src/eXene/widgets/text/CM/x86-unix/str-edit.sml.bin -lib/sml-nj/src/eXene/widgets/text/CM/x86-unix/text-widget-sig.sml.bin -lib/sml-nj/src/eXene/widgets/text/CM/x86-unix/text-widget.sml.bin -lib/sml-nj/src/eXene/widgets/text/CM/x86-unix/txtwin.sml.bin -lib/sml-nj/src/eXene/widgets/text/CM/x86-unix/vtty-sig.sml.bin -lib/sml-nj/src/eXene/widgets/text/CM/x86-unix/vtty.sml.bin -lib/sml-nj/src/eXene/widgets/util/CM/x86-unix/3d-sig.sml.bin -lib/sml-nj/src/eXene/widgets/util/CM/x86-unix/3d.sml.bin -lib/sml-nj/src/eXene/widgets/util/CM/x86-unix/attrs-sig.sml.bin -lib/sml-nj/src/eXene/widgets/util/CM/x86-unix/attrs.sml.bin -lib/sml-nj/src/eXene/widgets/util/CM/x86-unix/image-server.sml.bin -lib/sml-nj/src/eXene/widgets/util/CM/x86-unix/images.sml.bin -lib/sml-nj/src/eXene/widgets/util/CM/x86-unix/run-exene.sml.bin -lib/sml-nj/src/eXene/widgets/util/CM/x86-unix/shade-server.sml.bin -lib/sml-nj/src/eXene/widgets/util/CM/x86-unix/styles.sml.bin -lib/sml-nj/src/eXene/widgets/util/CM/x86-unix/tile-server.sml.bin -lib/sml-nj/src/ml-burg/CM/x86-unix/burg-ast.sml.bin -lib/sml-nj/src/ml-burg/CM/x86-unix/burg-gram.sig.bin -lib/sml-nj/src/ml-burg/CM/x86-unix/burg-gram.sml.bin -lib/sml-nj/src/ml-burg/CM/x86-unix/burg-lex.sml.bin -lib/sml-nj/src/ml-burg/CM/x86-unix/burg.sml.bin -lib/sml-nj/src/ml-burg/CM/x86-unix/errormsg.sml.bin -lib/sml-nj/src/ml-burg/CM/x86-unix/main.sml.bin -lib/sml-nj/src/ml-burg/CM/x86-unix/parse.sml.bin -lib/sml-nj/src/ml-yacc/lib/CM/x86-unix/base.sig.bin -lib/sml-nj/src/ml-yacc/lib/CM/x86-unix/join.sml.bin -lib/sml-nj/src/ml-yacc/lib/CM/x86-unix/lrtable.sml.bin -lib/sml-nj/src/ml-yacc/lib/CM/x86-unix/parser2.sml.bin -lib/sml-nj/src/ml-yacc/lib/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/ml-yacc/lib/CM/x86-unix/stream.sml.bin -lib/sml-nj/src/ml-yacc/lib/sources.cm -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/check-html-fn.sml.bin -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/html-attr-vals.sml.bin -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/html-attrs-fn.sml.bin -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/html-attrs-sig.sml.bin -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/html-defaults.sml.bin -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/html-elements-fn.sml.bin -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/html-error-sig.sml.bin -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/html-gram.sig.bin -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/html-gram.sml.bin -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/html-lex.sml.bin -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/html-lib.cm.stable -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/html-parser-fn.sml.bin -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/html-sig.sml.bin -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/html.sml.bin -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/make-html.sml.bin -lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix/pr-html.sml.bin -lib/sml-nj/src/smlnj-lib/HTML/html-lib.cm -lib/sml-nj/src/smlnj-lib/INet/CM/x86-unix/inet-lib.cm.stable -lib/sml-nj/src/smlnj-lib/INet/CM/x86-unix/sock-util-sig.sml.bin -lib/sml-nj/src/smlnj-lib/INet/CM/x86-unix/sock-util.sml.bin -lib/sml-nj/src/smlnj-lib/INet/CM/x86-unix/unix-sock-util.sml.bin -lib/sml-nj/src/smlnj-lib/INet/inet-lib.cm -lib/sml-nj/src/smlnj-lib/PP/CM/x86-unix/pp-lib.cm.stable -lib/sml-nj/src/smlnj-lib/PP/devices/CM/x86-unix/html-dev.sml.bin -lib/sml-nj/src/smlnj-lib/PP/devices/CM/x86-unix/simple-textio-dev.sml.bin -lib/sml-nj/src/smlnj-lib/PP/devices/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/smlnj-lib/PP/devices/CM/x86-unix/string-token.sml.bin -lib/sml-nj/src/smlnj-lib/PP/devices/CM/x86-unix/textio-pp.sml.bin -lib/sml-nj/src/smlnj-lib/PP/devices/sources.cm -lib/sml-nj/src/smlnj-lib/PP/pp-lib.cm -lib/sml-nj/src/smlnj-lib/PP/src/CM/x86-unix/pp-debug-fn.sml.bin -lib/sml-nj/src/smlnj-lib/PP/src/CM/x86-unix/pp-desc.sml.bin -lib/sml-nj/src/smlnj-lib/PP/src/CM/x86-unix/pp-device-sig.sml.bin -lib/sml-nj/src/smlnj-lib/PP/src/CM/x86-unix/pp-stream-fn.sml.bin -lib/sml-nj/src/smlnj-lib/PP/src/CM/x86-unix/pp-stream-sig.sml.bin -lib/sml-nj/src/smlnj-lib/PP/src/CM/x86-unix/pp-token-sig.sml.bin -lib/sml-nj/src/smlnj-lib/PP/src/CM/x86-unix/sources.cm.stable -lib/sml-nj/src/smlnj-lib/PP/src/sources.cm -lib/sml-nj/src/smlnj-lib/Reactive/CM/x86-unix/instruction.sml.bin -lib/sml-nj/src/smlnj-lib/Reactive/CM/x86-unix/machine.sml.bin -lib/sml-nj/src/smlnj-lib/Reactive/CM/x86-unix/reactive-lib.cm.stable -lib/sml-nj/src/smlnj-lib/Reactive/CM/x86-unix/reactive-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Reactive/CM/x86-unix/reactive.sml.bin -lib/sml-nj/src/smlnj-lib/Reactive/reactive-lib.cm -lib/sml-nj/src/smlnj-lib/RegExp/BackEnd/CM/x86-unix/bt-engine.sml.bin -lib/sml-nj/src/smlnj-lib/RegExp/BackEnd/CM/x86-unix/dfa-engine.sml.bin -lib/sml-nj/src/smlnj-lib/RegExp/BackEnd/CM/x86-unix/engine-sig.sml.bin -lib/sml-nj/src/smlnj-lib/RegExp/BackEnd/CM/x86-unix/fsm.sml.bin -lib/sml-nj/src/smlnj-lib/RegExp/CM/x86-unix/regexp-lib.cm.stable -lib/sml-nj/src/smlnj-lib/RegExp/FrontEnd/CM/x86-unix/awk-syntax.sml.bin -lib/sml-nj/src/smlnj-lib/RegExp/FrontEnd/CM/x86-unix/parser-sig.sml.bin -lib/sml-nj/src/smlnj-lib/RegExp/FrontEnd/CM/x86-unix/syntax-sig.sml.bin -lib/sml-nj/src/smlnj-lib/RegExp/FrontEnd/CM/x86-unix/syntax.sml.bin -lib/sml-nj/src/smlnj-lib/RegExp/Glue/CM/x86-unix/match-tree.sml.bin -lib/sml-nj/src/smlnj-lib/RegExp/Glue/CM/x86-unix/regexp-fn.sml.bin -lib/sml-nj/src/smlnj-lib/RegExp/Glue/CM/x86-unix/regexp-sig.sml.bin -lib/sml-nj/src/smlnj-lib/RegExp/regexp-lib.cm -lib/sml-nj/src/smlnj-lib/Unix/CM/x86-unix/unix-env-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Unix/CM/x86-unix/unix-env.sml.bin -lib/sml-nj/src/smlnj-lib/Unix/CM/x86-unix/unix-lib.cm.stable -lib/sml-nj/src/smlnj-lib/Unix/unix-lib.cm -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/array-qsort-fn.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/array-qsort.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/array-sort-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/atom-binary-map.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/atom-binary-set.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/atom-map.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/atom-redblack-map.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/atom-redblack-set.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/atom-set.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/atom-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/atom-table.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/atom.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/binary-map-fn.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/binary-set-fn.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/bit-array-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/bit-array.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/bit-vector-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/bsearch-fn.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/char-map-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/char-map.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/dynamic-array-fn.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/dynamic-array-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/dynamic-array.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/fifo-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/fifo.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/fmt-fields.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/format-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/format.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/getopt-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/getopt.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/graph-scc-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/graph-scc.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/hash-key-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/hash-string.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/hash-table-fn.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/hash-table-rep.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/hash-table-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/hash-table.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/hash2-table-fn.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/int-binary-map.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/int-binary-set.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/int-hash-table.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/int-inf-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/int-inf.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/int-list-map.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/int-list-set.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/int-redblack-map.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/int-redblack-set.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/io-util-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/io-util.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/keyword-fn.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/lib-base-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/lib-base.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/list-format-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/list-format.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/list-map-fn.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/list-mergesort.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/list-set-fn.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/list-xprod-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/list-xprod.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/listsort-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/mono-array-fn.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/mono-array-sort-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/mono-dynamic-array-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/mono-hash-table-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/mono-hash2-table-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/ord-key-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/ord-map-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/ord-set-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/parser-comb-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/parser-comb.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/path-util-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/path-util.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/plist-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/plist.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/queue-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/queue.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/rand-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/rand.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/random-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/random.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/real-format.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/redblack-map-fn.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/redblack-set-fn.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/scan-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/scan.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/simple-uref.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/smlnj-lib.cm.stable -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/splay-map-fn.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/splay-set-fn.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/splaytree-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/splaytree.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/time-limit.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/uref-sig.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/uref.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/word-hash-table.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/word-redblack-map.sml.bin -lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix/word-redblack-set.sml.bin -lib/sml-nj/src/smlnj-lib/Util/smlnj-lib.cm -@dirrm lib/sml-nj/bin/.heap -@dirrm lib/sml-nj/bin/.run -@dirrm lib/sml-nj/bin -@dirrm lib/sml-nj/lib -@dirrm lib/sml-nj/src/cml/cml-lib/CM/x86-unix -@dirrm lib/sml-nj/src/cml/cml-lib/CM -@dirrm lib/sml-nj/src/cml/cml-lib/SMLNJ-INet/CM/x86-unix -@dirrm lib/sml-nj/src/cml/cml-lib/SMLNJ-INet/CM -@dirrm lib/sml-nj/src/cml/cml-lib/SMLNJ-INet -@dirrm lib/sml-nj/src/cml/cml-lib/SMLNJ-Util/CM/x86-unix -@dirrm lib/sml-nj/src/cml/cml-lib/SMLNJ-Util/CM -@dirrm lib/sml-nj/src/cml/cml-lib/SMLNJ-Util -@dirrm lib/sml-nj/src/cml/cml-lib -@dirrm lib/sml-nj/src/cml/src/CM/x86-unix -@dirrm lib/sml-nj/src/cml/src/CM -@dirrm lib/sml-nj/src/cml/src/IO/CM/x86-unix -@dirrm lib/sml-nj/src/cml/src/IO/CM -@dirrm lib/sml-nj/src/cml/src/IO -@dirrm lib/sml-nj/src/cml/src/OS/CM/x86-unix -@dirrm lib/sml-nj/src/cml/src/OS/CM -@dirrm lib/sml-nj/src/cml/src/OS -@dirrm lib/sml-nj/src/cml/src/Sockets/CM/x86-unix -@dirrm lib/sml-nj/src/cml/src/Sockets/CM -@dirrm lib/sml-nj/src/cml/src/Sockets -@dirrm lib/sml-nj/src/cml/src/Unix/CM/x86-unix -@dirrm lib/sml-nj/src/cml/src/Unix/CM -@dirrm lib/sml-nj/src/cml/src/Unix -@dirrm lib/sml-nj/src/cml/src/core-cml/CM/x86-unix -@dirrm lib/sml-nj/src/cml/src/core-cml/CM -@dirrm lib/sml-nj/src/cml/src/core-cml -@dirrm lib/sml-nj/src/cml/src/glue/CM/x86-unix -@dirrm lib/sml-nj/src/cml/src/glue/CM -@dirrm lib/sml-nj/src/cml/src/glue -@dirrm lib/sml-nj/src/cml/src/util/CM/x86-unix -@dirrm lib/sml-nj/src/cml/src/util/CM -@dirrm lib/sml-nj/src/cml/src/util -@dirrm lib/sml-nj/src/cml/src -@dirrm lib/sml-nj/src/cml -@dirrm lib/sml-nj/src/eXene/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/CM -@dirrm lib/sml-nj/src/eXene/graph-util/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/graph-util/CM -@dirrm lib/sml-nj/src/eXene/graph-util -@dirrm lib/sml-nj/src/eXene/lib/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/lib/CM -@dirrm lib/sml-nj/src/eXene/lib/basics/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/lib/basics/CM -@dirrm lib/sml-nj/src/eXene/lib/basics -@dirrm lib/sml-nj/src/eXene/lib/iccc/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/lib/iccc/CM -@dirrm lib/sml-nj/src/eXene/lib/iccc -@dirrm lib/sml-nj/src/eXene/lib/misc/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/lib/misc/CM -@dirrm lib/sml-nj/src/eXene/lib/misc -@dirrm lib/sml-nj/src/eXene/lib/protocol/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/lib/protocol/CM -@dirrm lib/sml-nj/src/eXene/lib/protocol -@dirrm lib/sml-nj/src/eXene/lib/user/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/lib/user/CM -@dirrm lib/sml-nj/src/eXene/lib/user -@dirrm lib/sml-nj/src/eXene/lib/util/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/lib/util/CM -@dirrm lib/sml-nj/src/eXene/lib/util -@dirrm lib/sml-nj/src/eXene/lib/window/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/lib/window/CM -@dirrm lib/sml-nj/src/eXene/lib/window -@dirrm lib/sml-nj/src/eXene/lib -@dirrm lib/sml-nj/src/eXene/styles/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/styles/CM -@dirrm lib/sml-nj/src/eXene/styles -@dirrm lib/sml-nj/src/eXene/widgets/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/widgets/CM -@dirrm lib/sml-nj/src/eXene/widgets/basics/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/widgets/basics/CM -@dirrm lib/sml-nj/src/eXene/widgets/basics -@dirrm lib/sml-nj/src/eXene/widgets/composite/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/widgets/composite/CM -@dirrm lib/sml-nj/src/eXene/widgets/composite -@dirrm lib/sml-nj/src/eXene/widgets/simple/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/widgets/simple/CM -@dirrm lib/sml-nj/src/eXene/widgets/simple -@dirrm lib/sml-nj/src/eXene/widgets/text/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/widgets/text/CM -@dirrm lib/sml-nj/src/eXene/widgets/text -@dirrm lib/sml-nj/src/eXene/widgets/util/CM/x86-unix -@dirrm lib/sml-nj/src/eXene/widgets/util/CM -@dirrm lib/sml-nj/src/eXene/widgets/util -@dirrm lib/sml-nj/src/eXene/widgets -@dirrm lib/sml-nj/src/eXene -@dirrm lib/sml-nj/src/ml-burg/CM/x86-unix -@dirrm lib/sml-nj/src/ml-burg/CM -@dirrm lib/sml-nj/src/ml-burg -@dirrm lib/sml-nj/src/ml-yacc/lib/CM/x86-unix -@dirrm lib/sml-nj/src/ml-yacc/lib/CM -@dirrm lib/sml-nj/src/ml-yacc/lib -@dirrm lib/sml-nj/src/ml-yacc -@dirrm lib/sml-nj/src/smlnj-lib/HTML/CM/x86-unix -@dirrm lib/sml-nj/src/smlnj-lib/HTML/CM -@dirrm lib/sml-nj/src/smlnj-lib/HTML -@dirrm lib/sml-nj/src/smlnj-lib/INet/CM/x86-unix -@dirrm lib/sml-nj/src/smlnj-lib/INet/CM -@dirrm lib/sml-nj/src/smlnj-lib/INet -@dirrm lib/sml-nj/src/smlnj-lib/PP/CM/x86-unix -@dirrm lib/sml-nj/src/smlnj-lib/PP/CM -@dirrm lib/sml-nj/src/smlnj-lib/PP/devices/CM/x86-unix -@dirrm lib/sml-nj/src/smlnj-lib/PP/devices/CM -@dirrm lib/sml-nj/src/smlnj-lib/PP/devices -@dirrm lib/sml-nj/src/smlnj-lib/PP/src/CM/x86-unix -@dirrm lib/sml-nj/src/smlnj-lib/PP/src/CM -@dirrm lib/sml-nj/src/smlnj-lib/PP/src -@dirrm lib/sml-nj/src/smlnj-lib/PP -@dirrm lib/sml-nj/src/smlnj-lib/Reactive/CM/x86-unix -@dirrm lib/sml-nj/src/smlnj-lib/Reactive/CM -@dirrm lib/sml-nj/src/smlnj-lib/Reactive -@dirrm lib/sml-nj/src/smlnj-lib/RegExp/BackEnd/CM/x86-unix -@dirrm lib/sml-nj/src/smlnj-lib/RegExp/BackEnd/CM -@dirrm lib/sml-nj/src/smlnj-lib/RegExp/BackEnd -@dirrm lib/sml-nj/src/smlnj-lib/RegExp/CM/x86-unix -@dirrm lib/sml-nj/src/smlnj-lib/RegExp/CM -@dirrm lib/sml-nj/src/smlnj-lib/RegExp/FrontEnd/CM/x86-unix -@dirrm lib/sml-nj/src/smlnj-lib/RegExp/FrontEnd/CM -@dirrm lib/sml-nj/src/smlnj-lib/RegExp/FrontEnd -@dirrm lib/sml-nj/src/smlnj-lib/RegExp/Glue/CM/x86-unix -@dirrm lib/sml-nj/src/smlnj-lib/RegExp/Glue/CM -@dirrm lib/sml-nj/src/smlnj-lib/RegExp/Glue -@dirrm lib/sml-nj/src/smlnj-lib/RegExp -@dirrm lib/sml-nj/src/smlnj-lib/Unix/CM/x86-unix -@dirrm lib/sml-nj/src/smlnj-lib/Unix/CM -@dirrm lib/sml-nj/src/smlnj-lib/Unix -@dirrm lib/sml-nj/src/smlnj-lib/Util/CM/x86-unix -@dirrm lib/sml-nj/src/smlnj-lib/Util/CM -@dirrm lib/sml-nj/src/smlnj-lib/Util -@dirrm lib/sml-nj/src/smlnj-lib -@dirrm lib/sml-nj/src -@dirrm lib/sml-nj diff --git a/lang/sml-nj/scripts/get-cm b/lang/sml-nj/scripts/get-cm deleted file mode 100644 index 88992a05219f..000000000000 --- a/lang/sml-nj/scripts/get-cm +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/sh -# -# usage: get-cm work_dir -# -# Find all .cm Group and Library descriptions that are referenced -# from the top level alias files in $SML_BASE/lib/ - -# temp file -tmpfile="${TMP:-/tmp}/chomp$$" - -# attempt to change directory to work dir -cd $1 || exit 1 -work_dir=`pwd` # get the canonical name for the current directory - -trap "rm -f $tmpfile" 0 1 2 3 15 - -# hack to remove SML comments '(* ... *)' - -strip_comments() -{ - # caveat: the following assumes gcc is present ... - gcc -x c -E -P -ansi -DOPSYS_UNIX $1 | awk '{ - line = $0 - if (match(line, "\\(\\*")) { - while (match($0, "\\(\\*")) { - if (RSTART > 1) { - print substr($0, 0, RSTART-1); - } - sub("^.*\\(\\*", ""); - while (!match($0, "\\*\\)")) { - getline - } - $0 = substr($0, RSTART+RLENGTH); - } - } - print - }' -} - -# return canonical name for a path with embedded ..'s - -canonical() -{ - echo $(cd `dirname $1` && pwd)/`basename $1` -} - -# initial list of CM description files -global_cm_list="$(cat ./lib/*.cm | awk '{ print $2 }')" - -set -- $global_cm_list - -touch $tmpfile - -# process the global list -while [ $# -ge 1 ]; do - - cm_file="$1"; shift - global_cm_list="$*" - - echo $cm_file >> $tmpfile - - cm_dir=`dirname $cm_file` - cm_new=$(strip_comments $cm_file | grep '\.cm' | \ - awk '{ print $1 }') - - # append new CM files to current global list - for i in $cm_new; do - new_cm_file=$(canonical $cm_dir/$i) - if [ -r $new_cm_file ]; then - if ! grep "^$new_cm_file" $tmpfile > /dev/null; then - global_cm_list="$new_cm_file $global_cm_list" - echo $new_cm_file >> $tmpfile - fi - fi - done - - set -- $global_cm_list -done - -# output to stdout -sort -u < $tmpfile | sed -e "s,^$work_dir/,," diff --git a/lang/sml-nj-devel/Makefile b/lang/smlnj/Makefile index 53c8249fca52..914103d2cbe6 100644 --- a/lang/sml-nj-devel/Makefile +++ b/lang/smlnj/Makefile @@ -1,61 +1,96 @@ -# Created by: Joseph Koshy <jkoshy@FreeBSD.org> # $FreeBSD$ PORTNAME= smlnj -PORTVERSION= 110.71 +PORTVERSION= 110.76 CATEGORIES= lang MASTER_SITES= http://smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/ \ ftp://mirror.free.de/http/smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/ -PKGNAMESUFFIX= -devel DISTFILES= config.tgz runtime.tgz -DIST_SUBDIR= sml-nj/${PORTVERSION} +DIST_SUBDIR= smlnj/${PORTVERSION} EXTRACT_ONLY= config.tgz MAINTAINER= joemann@beefree.free.de -COMMENT= Popular functional language from Bell Labs - -BROKEN= Dysfunctional +COMMENT= Compiler and tools for Standard ML (SML '97) NO_WRKSUBDIR= yes -USES= gmake - -ONLY_FOR_ARCHS= i386 - -OPTIONS_DEFINE= EVERYTHING RECOMPILE POSITION64 -EVERYTHING_DESC= install everything from the SML/NJ distribution -RECOMPILE_DESC= recompile the SML compiler - implies EVERYTHING -POSITION64_DESC= use 64bit fi""le positions - implies RECOMPILE SUB_FILES= pkg-install SUB_LIST= EXEBINDIR=${MLBINRELATIVE} EXENAMES="${MLEXE}" PKGDEINSTALL= ${PKGINSTALL} -NO_STAGE= yes +# Calm portlint +CALM= + +OPTIONS_RADIO= RG1 +OPTIONS_RADIO_RG1= EVERYTHING RECOMPILE POSITION64 +OPTIONS_EXCLUDE_amd64= RECOMPILE POSITION64 +EVERYTHING_DESC= install${CALM} everything from the SML/NJ distribution +RECOMPILE_DESC= recompile the SML compiler - implies EVERYTHING +POSITION64_DESC= use 64bit file${CALM} positions - implies RECOMPILE + .include <bsd.port.pre.mk> -.if (${ARCH} == "i386") +# Recompiling the compiler currently fails on amd64 +.if ${ARCH} == "i386" +ML_RECOMPILE_OPTIONS= RECOMPILE POSITION64 +.endif + +.if (${ARCH} == "amd64") && (${OSVERSION} >= 1000029) +ONLY_FOR_ARCHS= i386 amd64 +.elif (${ARCH} == "amd64") && (${OSVERSION} >= 800000) +ONLY_FOR_ARCHS= i386 amd64 +# Compilation of the i386 runtime source on older amd64 systems requires +# i386 system headers from the respective FreeBSD Version, taken from +# stable/N/sys/i386/include, r196045 (N=8) and r225736 (N=9). +EXTRA_DEFS+= -DINCLUDE_FREEBSD_I386_SIGNAL=\\\"freebsd-8-i386-signal.h\\\" +EXTRA_DEFS+= -DINCLUDE_FREEBSD_I386_IEEEFP=\\\"freebsd-8-i386-ieeefp.h\\\" +.if (${OSVERSION} < 900000) +EXTRA_DEFS+= -DINCLUDE_FREEBSD_I386__TYPES=\\\"freebsd-8-i386-_types.h\\\" +EXTRA_DEFS+= -DINCLUDE_FREEBSD_I386_ENDIAN=\\\"freebsd-8-i386-endian.h\\\" +.else +EXTRA_DEFS+= -DINCLUDE_FREEBSD_I386__TYPES=\\\"freebsd-9-i386-_types.h\\\" +EXTRA_DEFS+= -DINCLUDE_FREEBSD_I386_ENDIAN=\\\"freebsd-9-i386-endian.h\\\" +.endif +.else +ONLY_FOR_ARCHS= i386 +.endif + +.if (${ARCH} == "amd64") +CFLAGS+= -m32 +AS?= as +AS+= --32 +.endif +.if (${ARCH} == "i386" || ${ARCH} == "amd64") MLARCH= x86 DISTFILES+= boot.x86-unix.tgz .endif -DISTFILES+= MLRISC.tgz ckit.tgz cml.tgz heap2asm.tgz ml-lpt.tgz \ - ml-lex.tgz ml-yacc.tgz smlnj-lib.tgz trace-debug-profile.tgz +DISTFILES+= MLRISC.tgz ckit.tgz cml.tgz heap2asm.tgz ml-burg.tgz \ + ml-lpt.tgz ml-lex.tgz ml-yacc.tgz nlffi.tgz \ + smlnj-lib.tgz trace-debug-profile.tgz PLIST_SUB= MLARCH=${MLARCH} -.if ${PORT_OPTIONS:MPOSITION64} -WITH_RECOMPILE?= ${WITH_POSITION64} +.if ${PORT_OPTIONS:MPOSITION64} || defined(ML_POSITION64) +ML_POSITION64?= ${PORT_OPTIONS:MPOSITION64} +ML_RECOMPILE?= ${ML_POSITION64} +ML_EVERYTHING?= ${ML_POSITION64} CMB_COMMAND= '(\#set o CMB.symval) "USE_64_BIT_POSITIONS" (SOME 1);' .else CMB_COMMAND= .endif -.if ${PORT_OPTIONS:MRECOMPILE} -WITH_EVERYTHING?= ${WITH_RECOMPILE} +.if ${PORT_OPTIONS:MRECOMPILE} || defined(ML_RECOMPILE) +ML_RECOMPILE?= ${PORT_OPTIONS:MRECOMPILE} +ML_EVERYTHING?= ${ML_RECOMPILE} .endif -.if ${PORT_OPTIONS:MEVERYTHING} -DISTFILES+= cm.tgz compiler.tgz eXene.tgz ml-burg.tgz \ - nlffi.tgz pgraph.tgz smlnj-c.tgz system.tgz +.if ${PORT_OPTIONS:MEVERYTHING} || defined(ML_EVERYTHING) +ML_EVERYTHING?= ${PORT_OPTIONS:MEVERYTHING} +DISTFILES+= cm.tgz compiler.tgz eXene.tgz \ + pgraph.tgz smlnj-c.tgz system.tgz +PLIST_SUB+= EVERYTHING="" +.else +PLIST_SUB+= EVERYTHING="@comment " .endif MLROOTRELATIVE= smlnj @@ -63,44 +98,40 @@ MLROOT= ${PREFIX}/${MLROOTRELATIVE} MLBINRELATIVE= ${MLROOTRELATIVE}/bin MLBIN= ${MLROOT}/bin MLLIB= ${MLROOT}/lib -MLSTDSRCDIRS= cml heap2asm ml-lex ml-lpt ml-yacc smlnj-lib +MLSTDSRCDIRS= cml heap2asm ml-burg ml-lex ml-lpt ml-yacc nlffi smlnj-lib MLSRCDIRS= base ${MLSTDSRCDIRS} \ - ckit eXene ml-burg nlffi pgraph smlnj-c + ckit eXene pgraph smlnj-c MLSRCS= .for srcdir in ${MLSRCDIRS} MLSRCS+= ${MLROOT}/${srcdir} .endfor MLTARGETS= heap2asm -MLEXE= heap2exec ml-antlr ml-build ml-lex ml-makedepend \ - ml-ulex ml-yacc sml -.if ${PORT_OPTIONS:MEVERYTHING} -MLTARGETS+= eXene ml-burg ml-nlffi-lib ml-nlffigen \ - mlrisc-tools nowhere pgraph-util src-smlnj -MLEXE+= ml-burg ml-nlffigen nowhere +MLEXE= heap2exec ml-antlr ml-build ml-burg ml-lex ml-makedepend \ + ml-nlffigen ml-ulex ml-yacc sml +.if defined(ML_EVERYTHING) +MLTARGETS+= eXene mlrisc-tools nowhere pgraph-util src-smlnj +MLEXE+= nowhere PLIST= ${WRKDIR}/.PLIST MLRUNTIMEPLIST= ${WRKDIR}/.PLIST-runtime MLSRCPLIST= ${WRKDIR}/.PLIST-src -MLPLISTFILES= ${.CURDIR}/pkg-plist ${FILESDIR}/plist-everything \ - ${MLRUNTIMEPLIST} ${MLSRCPLIST} +MLPLISTFILES= ${.CURDIR}/pkg-plist ${MLRUNTIMEPLIST} ${MLSRCPLIST} .endif pre-fetch: @${ECHO} -.if ! ${PORT_OPTIONS:MEVERYTHING} - @${ECHO} 'Use make WITH_EVERYTHING=yes to also build/install' +.if ! defined(ML_EVERYTHING) + @${ECHO} 'Use make ML_EVERYTHING=yes to also build/install' @${ECHO} ' eXene (X Windows toolkit),' - @${ECHO} ' ml-burg (tree transformer),' - @${ECHO} ' ml-nlffi (foreign function interface to C code),' @${ECHO} ' nowhere (preprocessor for conditional patterns),' @${ECHO} ' various libraries, and all the sources.' .endif -.if ! ${PORT_OPTIONS:MRECOMPILE} - @${ECHO} 'Use make WITH_RECOMPILE=yes to recompile the compiler.' - @${ECHO} ' This implies WITH_EVERYTHING.' +.if !empty(ML_RECOMPILE_OPTIONS:MRECOMPILE) && !defined(ML_RECOMPILE) + @${ECHO} 'Use make ML_RECOMPILE=yes to recompile the compiler.' + @${ECHO} ' This implies ML_EVERYTHING.' .endif -.if ! ${PORT_OPTIONS:MPOSITION64} - @${ECHO} 'Use make WITH_POSITION64=yes to use 64bit file positions.' - @${ECHO} ' This implies WITH_RECOMPILE.' +.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.' .endif @${ECHO} @@ -109,7 +140,7 @@ pre-fetch: post-extract: cd ${WRKDIR} && ${LN} -sf ${_DISTDIR}/* . -# Configuring is done by uncommenting the appropriate #request xxx +# Configuring is done by uncommenting the appropriate #request # lines of config/targets. Dependency details are handled by # base/system/smlnj/installer using config/dependencies and # config/actions. @@ -125,7 +156,7 @@ do-configure: # 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 ${PORT_OPTIONS:MRECOMPILE} +.if defined(ML_RECOMPILE) ( ${ECHO_CMD} "request ml-yacc" && \ ${ECHO_CMD} "request ml-lex" && \ ${ECHO_CMD} "request ml-lex-mllex-tool" && \ @@ -138,15 +169,21 @@ do-configure: # a subsequent make install. # See base/system/README for information on recompiling the compiler. -.if ${PORT_OPTIONS:MRECOMPILE} +.if defined(ML_RECOMPILE) RECOMPILEDIR= base/system .else RECOMPILEDIR= .endif +.if (${ARCH} == "amd64") && (${OSVERSION} >= 800000) && (${OSVERSION} < 1000029) +MLRUNTIMEPATCHES_CMD= cd ${FILESDIR} && \ + ( ${LS} do-patch-base_runtime_* extra-patch-base_runtime_* 2>&- || \ + ${TRUE} ) +.else MLRUNTIMEPATCHES_CMD= cd ${FILESDIR} && \ ( ${LS} do-patch-base_runtime_* 2>&- || \ ${TRUE} ) +.endif MLSTANDARDPATCHES_CMD= cd ${FILESDIR} && \ ( for srcdir in ${MLSTDSRCDIRS} ; \ do ${LS} do-patch-$${srcdir}_* 2>&- ; \ @@ -156,7 +193,7 @@ MLSTANDARDPATCHDIRS_CMD= cd ${FILESDIR} && \ do if ${LS} do-patch-$${srcdir}_* 1>&- 2>&- ; \ then ${ECHO_CMD} -n $${srcdir} " " ; break ; fi ; \ done ) || ${TRUE} -.if ${PORT_OPTIONS:MEVERYTHING} +.if defined(ML_EVERYTHING) MLSOURCEPATCHES_CMD= cd ${FILESDIR} && \ ( ${LS} do-patch-* 2>&- || \ ${TRUE} ) @@ -172,8 +209,9 @@ do-build: MLSTANDARDPATCHES=`${MLSTANDARDPATCHES_CMD}` \ MLSTANDARDPATCHDIRS=`${MLSTANDARDPATCHDIRS_CMD}` \ MLSOURCEPATCHES=`${MLSOURCEPATCHES_CMD}` \ + CFLAGS='${CFLAGS}' AS='${AS}' EXTRA_DEFS='${EXTRA_DEFS}' \ ./config/install.sh -.if ${PORT_OPTIONS:MRECOMPILE} +.if defined(ML_RECOMPILE) -${RM} ${WRKDIR}/config/targets.customized @${ECHO} '(* Recompiling the core system: *)' cd ${WRKDIR}/${RECOMPILEDIR} && ( \ @@ -196,15 +234,16 @@ do-build: cd ${WRKDIR} && unset PWD && \ FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \ MLNORUNTIMECLEAN=yes RECOMPILEDIR="${RECOMPILEDIR}" \ + CFLAGS='${CFLAGS}' AS='${AS}' EXTRA_DEFS='${EXTRA_DEFS}' \ ./config/install.sh .endif # Nowadays PLIST has to be computed before installation. We do it in # "pre-install" because source extraction happens during "build". -.if ${PORT_OPTIONS:MEVERYTHING} +.if defined(ML_EVERYTHING) MLNOINSTALL= .cm -.if ${PORT_OPTIONS:MRECOMPILE} +.if defined(ML_RECOMPILE) MLNOINSTALL+= sml.bin.${MLARCH}-unix sml.boot.${MLARCH}-unix \ sml.lib sml.${MLARCH}-bsd .endif @@ -215,37 +254,65 @@ MLSRCEXCLUDEREGEX+= -e '/${excl}$$' -e '/${excl}/' MLPATCHPATHREGEX= -E -e 's%(^|[^_])_([^_]|$$)%\1/\2%g' \ -e 's%(^|[^_])__([^_]|$$)%\1_\2%g' \ -e 's%(^|[^_])___([^_]|$$)%\1/_\2%g' +.endif pre-install: +.if defined(ML_EVERYTHING) @${ECHO} -n '(* Computing package list ...' @${TAR} -tzf ${WRKDIR}/runtime.tgz | \ ${SED} -E -e 's%^(.*[^/])$$%${MLROOTRELATIVE}/base/\1%' \ -e 's%^(.*)/$$%@dirrm\ ${MLROOTRELATIVE}/base/\1%' \ > ${MLRUNTIMEPLIST} - `${MLRUNTIMEPATCHES_CMD}` | \ + @${MLRUNTIMEPATCHES_CMD} | \ + ${SED} ${MLPATCHPATHREGEX} | \ + ${SED} -E -e 's%^(do|extra)-patch-(base/.*)%${MLROOTRELATIVE}/\2%' \ + > ${MLRUNTIMEPLIST}.patched + -@${GREP} -F -v -f ${MLRUNTIMEPLIST} ${MLRUNTIMEPLIST}.patched \ + > ${MLRUNTIMEPLIST}.patchednew + @${CAT} ${MLRUNTIMEPLIST}.patchednew >> ${MLRUNTIMEPLIST} + @${MLRUNTIMEPATCHES_CMD} | \ ${SED} ${MLPATCHPATHREGEX} | \ - ${SED} -E -e 's%^do-patch-(base/.*)%${MLROOTRELATIVE}/\1.orig%' \ + ${SED} -E -e 's%^(do|extra)-patch-(base/.*)%${MLROOTRELATIVE}/\2.orig%' \ >> ${MLRUNTIMEPLIST} @cd "${WRKDIR}" && ( \ ( ${FIND} -s -d ${MLSRCDIRS} \! -type d | \ ${AWK} '{ print "${MLROOTRELATIVE}/" $$0 }' ) ; \ ( ${FIND} -s -d ${MLSRCDIRS} -type d -empty | \ - ${AWK} '{ print "@exec mk""dir -p %D/${MLROOTRELATIVE}/" $$0 }' ) ; \ + ${AWK} '{ print "@exec mkdir${CALM} -p %D/${MLROOTRELATIVE}/" $$0 }' ) ; \ ( ${FIND} -s -d ${MLSRCDIRS} -type d | \ ${AWK} '{ print "@dirrm ${MLROOTRELATIVE}/" $$0 }' ) ) | \ ${EGREP} -v ${MLSRCEXCLUDEREGEX} > ${MLSRCPLIST} - @${GREP} -h "^[^@]" ${MLPLISTFILES} | ${SORT} -u > ${PLIST} - @${GREP} -h "^@exec mk""dir" ${MLPLISTFILES} | ${SORT} -u >> ${PLIST} - @${GREP} -h "^@dirrm" ${MLPLISTFILES} | ${SORT} -r -u >> ${PLIST} + @${SED} -e 's/^%%EVERYTHING%%//' ${MLPLISTFILES} | \ + ${GREP} -h -v "^@dirrm" | ${SORT} -u > ${PLIST} + @${GREP} -h "^@exec mkdir${CALM}" ${MLPLISTFILES} | ${SORT} -u >> ${PLIST} + @${SED} -e 's/^%%EVERYTHING%%//' ${MLPLISTFILES} | \ + ${GREP} -h "^@dirrm" | ${SORT} -r -u >> ${PLIST} @${ECHO} ' done. *)' .endif +# ${PKGINSTALL} contains multiexec-wrapper, which is used to select +# between executables of the same name that have been installed by +# different packages (like smlnj and smlnj-devel). The source of +# multiexec-wrapper is extracted from ${PKGINSTALL}, and inserted +# into ${PKGINSTALL} in compressed and encoded form. So it is still +# available when being installed from a binary package, even if +# ${PKGINSTALL} is no file at that time (but only input to a shell). + @${SED} -e '/^#%%PKG-INSTALL-START%%$$/,/^#%%PKG-INSTALL-END%%$$/d' \ + ${PKGINSTALL} > ${PKGINSTALL}.script + @${GZIP_CMD} ${PKGINSTALL}.script + @b64encode ${PKGINSTALL}.script.gz script.gz > ${PKGINSTALL}.script.gz.b64 + @${SED} -n -e '1,/~EOF~.$$/p' ${PKGINSTALL} > ${PKGINSTALL}.pre + @${SED} -n -e '/^~EOF~$$/,$$p' ${PKGINSTALL} > ${PKGINSTALL}.post + @${CAT} ${PKGINSTALL}.pre ${PKGINSTALL}.script.gz.b64 ${PKGINSTALL}.post > ${PKGINSTALL}.full + @${DIFF} -q ${PKGINSTALL} ${PKGINSTALL}.full >/dev/null || ${CP} ${PKGINSTALL}.full ${PKGINSTALL} # The install target installs the heaps and libraries to their final # location in ${MLBIN} and ${MLLIB}. # In case of recompilation, installml installs the sml heap and the # libraries built during compiler bootstrap to ${MLBIN} and ${MLLIB}. +# When staging CM_PATHCONFIG has to point to the final +# ${MLLIB}/pathconfig (in ${PREFIX}) while building the compiler. -.if ${PORT_OPTIONS:MEVERYTHING} +.if defined(ML_EVERYTHING) MLSRCEXCLUDES= .for excl in ${MLNOINSTALL} MLSRCEXCLUDES+= --exclude "${excl}" @@ -253,11 +320,14 @@ MLSRCEXCLUDES+= --exclude "${excl}" .endif do-install: - ${MKDIR} "${MLROOT}" -.if ! ${PORT_OPTIONS:MRECOMPILE} + ${MKDIR} "${STAGEDIR}${MLROOT}" +.if ! defined(ML_RECOMPILE) cd ${WRKDIR} && unset PWD && \ FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \ - INSTALLDIR="${MLROOT}" ./config/install.sh + STAGEDIR="${STAGEDIR}" MLLIB="${MLLIB}" \ + INSTALLDIR="${STAGEDIR}${MLROOT}" \ + CFLAGS='${CFLAGS}' AS='${AS}' EXTRA_DEFS='${EXTRA_DEFS}' \ + ./config/install.sh .else @${ECHO} '(* Rebuilding the recompiled libs: *)' cd ${WRKDIR}/${RECOMPILEDIR} && ( \ @@ -271,26 +341,33 @@ do-install: @${ECHO} '(* Installing into ${MLROOT}: *)' cd ${WRKDIR} && unset PWD && \ FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \ - INSTALLDIR="${MLROOT}" RECOMPILEDIR="${RECOMPILEDIR}" \ + STAGEDIR="${STAGEDIR}" MLLIB="${MLLIB}" \ + INSTALLDIR="${STAGEDIR}${MLROOT}" RECOMPILEDIR="${RECOMPILEDIR}" \ + CFLAGS='${CFLAGS}' AS='${AS}' EXTRA_DEFS='${EXTRA_DEFS}' \ ./config/install.sh .endif - MLARCHOPSYS=`${MLBIN}/.arch-n-opsys` && \ + MLARCHOPSYS=`${STAGEDIR}${MLBIN}/.arch-n-opsys` && \ ( eval $${MLARCHOPSYS} ; \ - ${STRIP_CMD} "${MLBIN}/.run/run.$${ARCH}-$${OPSYS}" ) - @${CHOWN} -R ${BINOWN}:${BINGRP} "${MLBIN}" "${MLLIB}" -.if ${PORT_OPTIONS:MEVERYTHING} + ${STRIP_CMD} "${STAGEDIR}${MLBIN}/.run/run.$${ARCH}-$${OPSYS}" ) +.if defined(ML_EVERYTHING) @${ECHO} '(* Cleaning base/runtime: *)' cd ${WRKDIR}/base/runtime/objs && ${MAKE_CMD} clean - @${ECHO} -n '(* Installing sources into ${MLROOT} ...' + @${ECHO} -n '(* Installing sources into ${STAGEDIR}${MLROOT} ...' @cd ${WRKDIR} && ${TAR} -cf - ${MLSRCEXCLUDES} ${MLSRCDIRS} | \ - ${TAR} -xf - -C "${MLROOT}" - @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${MLSRCS} + ${TAR} -xf - -C "${STAGEDIR}${MLROOT}" @${ECHO} ' done. *)' .endif post-install: +# Only execute ${PKGINSTALL} when installing to ${PREFIX}, +# but not when staging. +.ifmake install${CALM} PKG_PREFIX=${PREFIX} MULTIEXEC_WRAPPER_VERBOSE=yes \ ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL +.endif + +post-stage: + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/smlnj/bin/.run/run.x86-freebsd.so .ifndef MULTIEXEC_WRAPPER_VERBOSE deinstall: @@ -298,14 +375,14 @@ deinstall: cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} deinstall .endif -# This target may be used by dependent ports to set SMLNJ_DEVEL_VERSION -# either to the currently installed sml-nj-devel package's version -# or else to this port's version. SMLNJ_DEVEL_VERSION is an environment +# This target may be used by dependent ports to set SMLNJ_VERSION +# either to the currently installed smlnj package's version +# or else to this port's version. SMLNJ_VERSION is an environment # variable used by multiexec-wrapper to select the executable -# from that smlnj-devel-* package matching SMLNJ_DEVEL_VERSION. -smlnj-devel-version: - @${EXPR} `${PKG_INFO} -q -O lang/sml-nj-devel` : '.*-\(.*\)' \ - 2>/dev/null || \ +# from that smlnj-* package matching SMLNJ_VERSION. +smlnj-version: + @{ ${PKG_INFO} -e smlnj && \ + ${EXPR} `${PKG_INFO} -E smlnj` : '.*-\(.*\)' 2>/dev/null ; } || \ ${ECHO_CMD} ${PKGVERSION} .include <bsd.port.post.mk> diff --git a/lang/smlnj/distinfo b/lang/smlnj/distinfo new file mode 100644 index 000000000000..fb7c97e0a07c --- /dev/null +++ b/lang/smlnj/distinfo @@ -0,0 +1,40 @@ +SIZE (smlnj/110.76/MLRISC.tgz) = 1434516 +SHA256 (smlnj/110.76/MLRISC.tgz) = 9d944dea4e80a8ef2cc01e7e16ae72cb280f2e4dc0d6648c9bc27156ccfcc102 +SIZE (smlnj/110.76/boot.x86-unix.tgz) = 5890950 +SHA256 (smlnj/110.76/boot.x86-unix.tgz) = dd16569fb6991d673e66dae57f5e9b372d5a4e305f92a9756002e4bb296c9b61 +SIZE (smlnj/110.76/ckit.tgz) = 194486 +SHA256 (smlnj/110.76/ckit.tgz) = c4534e6e7f910ebee3146cc8ed214a1d5a2ea90afbd79c2290cefdc784ee0dbb +SIZE (smlnj/110.76/cm.tgz) = 200425 +SHA256 (smlnj/110.76/cm.tgz) = 539e8199764a803f486dbf5c0ecb3fa3b2277a6b52ccbbf350bbdcc231bec193 +SIZE (smlnj/110.76/cml.tgz) = 106005 +SHA256 (smlnj/110.76/cml.tgz) = cbd357a3b3377d049911a247be880dcde7f52f705f7cdfe800b67631858681e1 +SHA256 (smlnj/110.76/compiler.tgz) = 322755b8a3f105eec4ce4a3197aaf83bcd542e4c2b2f43c724d0ae8f393bf681 +SIZE (smlnj/110.76/compiler.tgz) = 817182 +SHA256 (smlnj/110.76/config.tgz) = 41cec8bd28c43f49bea24cc7d80d091d8a0e0c7473ee67e4a0b06019567ca557 +SIZE (smlnj/110.76/config.tgz) = 511139 +SHA256 (smlnj/110.76/eXene.tgz) = 35befa7d37207c7fc2eab81e29e3a5afb4f2c5893f7336394906425d5f4ee607 +SIZE (smlnj/110.76/eXene.tgz) = 703059 +SIZE (smlnj/110.76/heap2asm.tgz) = 1314 +SHA256 (smlnj/110.76/heap2asm.tgz) = 8c1f52bc7459de1d0d8e07807abb8e8916fa5ef1cf08c0ceb3f06437f977215d +SIZE (smlnj/110.76/ml-burg.tgz) = 36341 +SHA256 (smlnj/110.76/ml-burg.tgz) = d59dad9188778c96b3e59f9d754a4fbdef4b67de2ded67deb0d26c40915a594e +SIZE (smlnj/110.76/ml-lex.tgz) = 33150 +SHA256 (smlnj/110.76/ml-lex.tgz) = 9d00143cff4e8cc87421270d34b29864c27d353d6b429cce3d3428f6c7280a6b +SIZE (smlnj/110.76/ml-lpt.tgz) = 256293 +SHA256 (smlnj/110.76/ml-lpt.tgz) = 9970b22506a605012055700cc28497c2850d29fbb7bcc5b069fbef785220fc8d +SHA256 (smlnj/110.76/ml-yacc.tgz) = 9151f7fef0abcb312daf731621b682b2c7e9f87a151832e99c30b5e56f03f1cf +SIZE (smlnj/110.76/ml-yacc.tgz) = 99943 +SHA256 (smlnj/110.76/nlffi.tgz) = 07bdc123b2c93f01bc0a5bbdf33aac0b34407bd70cd8d3e1d06ad55e92deb521 +SIZE (smlnj/110.76/nlffi.tgz) = 74484 +SIZE (smlnj/110.76/pgraph.tgz) = 5440 +SHA256 (smlnj/110.76/pgraph.tgz) = df44036b170f68a79a62134812adecd54c3f0da2188f0190996fc57faa10969c +SIZE (smlnj/110.76/runtime.tgz) = 324373 +SHA256 (smlnj/110.76/runtime.tgz) = f6086cd4e30ea3a89c528ee08c793eca77f7701589e0436acf347faf7e940a7f +SHA256 (smlnj/110.76/smlnj-c.tgz) = 0cdf1c3563f3080dffc184e8e64f5e58f7f21f1426d43cb8960cf090e2232a6f +SIZE (smlnj/110.76/smlnj-c.tgz) = 10534 +SIZE (smlnj/110.76/smlnj-lib.tgz) = 402937 +SHA256 (smlnj/110.76/smlnj-lib.tgz) = 81e994a07d7c8979b28c4911272de3c37eec648e58c03a9dc1ecb9bbbadca1d7 +SIZE (smlnj/110.76/system.tgz) = 227685 +SHA256 (smlnj/110.76/system.tgz) = 8f6a143db22a9d025e2820899c9cccbf0e66c679a9aa68c3dcd1bec68003da37 +SHA256 (smlnj/110.76/trace-debug-profile.tgz) = 3769e1d251d04c95b4c1b759f3bf21644bcb3135404d0346e8ff34553ae704df +SIZE (smlnj/110.76/trace-debug-profile.tgz) = 3899 diff --git a/lang/smlnj/files/do-patch-base_runtime_objs_makefile b/lang/smlnj/files/do-patch-base_runtime_objs_makefile new file mode 100644 index 000000000000..36e43c459178 --- /dev/null +++ b/lang/smlnj/files/do-patch-base_runtime_objs_makefile @@ -0,0 +1,43 @@ +--- 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 @@ + + SHELL = /bin/sh + MAKE = make +-CC = cc +-CPP = /lib/cpp ++CC ?= cc ++CPP ?= /lib/cpp + LD_LIBS = +-AS = as ++AS ?= as + AR = ar + ARFLAGS = rcv + RANLIB = ranlib +@@ -38,7 +38,7 @@ + CLIB_DIR = $(ROOT_DIR)/c-libs + CONFIG_DIR = $(ROOT_DIR)/config + +-CFLAGS = -O ++CFLAGS ?= -O + + INCLUDES = -I$(OBJS_DIR) -I$(INC_DIR) + GC_INCLUDES = $(INCLUDES) -I$(GC_DIR) +@@ -329,7 +329,7 @@ + # + MK_ARGS = VERSION="$(VERSION)" \ + MAKE="$(MAKE)" \ +- CC="$(CC)" CFLAGS="$(CFLAGS)" DEFS="$(DEFS)" \ ++ CC="$(CC)" CFLAGS="$(CFLAGS)" DEFS='$(DEFS)' \ + AR="$(AR)" ARFLAGS="$(ARFLAGS)" \ + RANLIB="$(RANLIB)" \ + INCLUDES="$(GC_INCLUDES) -I../bytecode" +@@ -420,7 +420,7 @@ + # + LIB_MK_ARGS = VERSION="$(VERSION)" \ + MAKE="$(MAKE)" \ +- CC="$(CC)" CFLAGS="$(CFLAGS)" DEFS="$(DEFS)" \ ++ CC="$(CC)" CFLAGS="$(CFLAGS)" DEFS='$(DEFS)' \ + AR="$(AR)" ARFLAGS="$(ARFLAGS)" \ + RANLIB="$(RANLIB)" \ + INCLUDES="$(LIB_INCLUDES)" 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 new file mode 100644 index 000000000000..9a3b982f6db8 --- /dev/null +++ b/lang/smlnj/files/do-patch-base_runtime_objs_mk.x86-freebsd @@ -0,0 +1,37 @@ +--- base/runtime/objs/mk.x86-freebsd.orig 2006-04-20 17:28:53.000000000 +0200 ++++ base/runtime/objs/mk.x86-freebsd 2014-07-04 13:12:45.000000000 +0200 +@@ -5,19 +5,19 @@ + + SHELL = /bin/sh + +-MAKE = gmake ++MAKE = make + + ARFLAGS = Trcv +-CC = gcc -ansi +-CFLAGS = -O2 +-CPP = gcc -x assembler-with-cpp -E -P ++CC ?= gcc -ansi ++CFLAGS ?= -O2 ++CPP = ${CC} -x assembler-with-cpp -E -P + #CPP = /usr/bin/cpp -P + + XOBJS = + XLIBS = ../c-libs/dl/libunix-dynload.a + LD_LIBS = + BASE_DEFS = +-DEFS = $(BASE_DEFS) -DHOST_X86 -DTARGET_X86 -DOPSYS_UNIX -DOPSYS_FREEBSD -DDLOPEN ++DEFS = $(BASE_DEFS) -DHOST_X86 -DTARGET_X86 -DOPSYS_UNIX -DOPSYS_FREEBSD -DDLOPEN $(EXTRA_DEFS) + TARGET = X86 + VERSION = v-x86-freebsd + RUNTIME = run.x86-freebsd +@@ -25,6 +25,6 @@ + RUNTIME_A = run.x86-freebsd.a + + all: +- ($(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)" $(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" $(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)) diff --git a/lang/smlnj/files/extra-patch-base_runtime_c-libs_smlnj-math_ctlrndmode.c b/lang/smlnj/files/extra-patch-base_runtime_c-libs_smlnj-math_ctlrndmode.c new file mode 100644 index 000000000000..057f573fcaa9 --- /dev/null +++ b/lang/smlnj/files/extra-patch-base_runtime_c-libs_smlnj-math_ctlrndmode.c @@ -0,0 +1,22 @@ +--- base/runtime/c-libs/smlnj-math/ctlrndmode.c.orig 2000-06-01 20:34:03.000000000 +0200 ++++ base/runtime/c-libs/smlnj-math/ctlrndmode.c 2013-06-18 15:08:01.715990633 +0200 +@@ -3,6 +3,19 @@ + * COPYRIGHT (c) 1996 AT&T Research. + */ + ++ #if defined(OPSYS_FREEBSD) ++ # if defined(INCLUDE_FREEBSD_I386__TYPES) ++ # include <sys/cdefs.h> ++ # include INCLUDE_FREEBSD_I386__TYPES ++ # endif ++ # if defined(INCLUDE_FREEBSD_I386_ENDIAN) ++ # include INCLUDE_FREEBSD_I386_ENDIAN ++ # endif ++ # if defined(INCLUDE_FREEBSD_I386_IEEEFP) ++ # include INCLUDE_FREEBSD_I386_IEEEFP ++ # endif ++ #endif ++ + #include "ml-base.h" + #include "fp-dep.h" + #include "ml-objects.h" diff --git a/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-8-i386-__types.h b/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-8-i386-__types.h new file mode 100644 index 000000000000..cedda3e5f374 --- /dev/null +++ b/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-8-i386-__types.h @@ -0,0 +1,137 @@ +--- base/runtime/include/freebsd-8-i386-_types.h.orig 1970-01-01 01:00:00.000000000 +0100 ++++ base/runtime/include/freebsd-8-i386-_types.h 2013-06-19 16:14:57.000000000 +0200 +@@ -0,0 +1,134 @@ ++/*- ++ * Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> ++ * Copyright (c) 1990, 1993 ++ * The Regents of the University of California. All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 3. All advertising materials mentioning features or use of this software ++ * must display the following acknowledgement: ++ * This product includes software developed by the University of ++ * California, Berkeley and its contributors. ++ * 4. Neither the name of the University nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 ++ * From: @(#)types.h 8.3 (Berkeley) 1/5/94 ++ * $FreeBSD: stable/8/sys/i386/include/_types.h 176827 2008-03-05 11:21:14Z bde $ ++ */ ++ ++#ifndef _MACHINE__TYPES_H_ ++#define _MACHINE__TYPES_H_ ++ ++#ifndef _SYS_CDEFS_H_ ++#error this file needs sys/cdefs.h as a prerequisite ++#endif ++ ++#define __NO_STRICT_ALIGNMENT ++ ++/* ++ * Basic types upon which most other types are built. ++ */ ++typedef __signed char __int8_t; ++typedef unsigned char __uint8_t; ++typedef short __int16_t; ++typedef unsigned short __uint16_t; ++typedef int __int32_t; ++typedef unsigned int __uint32_t; ++ ++#if defined(lint) ++/* LONGLONG */ ++typedef long long __int64_t; ++/* LONGLONG */ ++typedef unsigned long long __uint64_t; ++#elif defined(__GNUCLIKE_ATTRIBUTE_MODE_DI) ++typedef int __attribute__((__mode__(__DI__))) __int64_t; ++typedef unsigned int __attribute__((__mode__(__DI__))) __uint64_t; ++#else ++/* LONGLONG */ ++typedef long long __int64_t; ++/* LONGLONG */ ++typedef unsigned long long __uint64_t; ++#endif ++ ++/* ++ * Standard type definitions. ++ */ ++typedef unsigned long __clock_t; /* clock()... */ ++typedef unsigned int __cpumask_t; ++typedef __int32_t __critical_t; ++typedef long double __double_t; ++typedef long double __float_t; ++typedef __int32_t __intfptr_t; ++typedef __int64_t __intmax_t; ++typedef __int32_t __intptr_t; ++typedef __int32_t __int_fast8_t; ++typedef __int32_t __int_fast16_t; ++typedef __int32_t __int_fast32_t; ++typedef __int64_t __int_fast64_t; ++typedef __int8_t __int_least8_t; ++typedef __int16_t __int_least16_t; ++typedef __int32_t __int_least32_t; ++typedef __int64_t __int_least64_t; ++typedef __int32_t __ptrdiff_t; /* ptr1 - ptr2 */ ++typedef __int32_t __register_t; ++typedef __int32_t __segsz_t; /* segment size (in pages) */ ++typedef __uint32_t __size_t; /* sizeof() */ ++typedef __int32_t __ssize_t; /* byte count or error */ ++typedef __int32_t __time_t; /* time()... */ ++typedef __uint32_t __uintfptr_t; ++typedef __uint64_t __uintmax_t; ++typedef __uint32_t __uintptr_t; ++typedef __uint32_t __uint_fast8_t; ++typedef __uint32_t __uint_fast16_t; ++typedef __uint32_t __uint_fast32_t; ++typedef __uint64_t __uint_fast64_t; ++typedef __uint8_t __uint_least8_t; ++typedef __uint16_t __uint_least16_t; ++typedef __uint32_t __uint_least32_t; ++typedef __uint64_t __uint_least64_t; ++typedef __uint32_t __u_register_t; ++typedef __uint32_t __vm_offset_t; ++typedef __int64_t __vm_ooffset_t; ++#ifdef PAE ++typedef __uint64_t __vm_paddr_t; ++#else ++typedef __uint32_t __vm_paddr_t; ++#endif ++typedef __uint64_t __vm_pindex_t; ++typedef __uint32_t __vm_size_t; ++ ++/* ++ * Unusual type definitions. ++ */ ++#ifdef __GNUCLIKE_BUILTIN_VARARGS ++typedef __builtin_va_list __va_list; /* internally known to gcc */ ++#else ++typedef char * __va_list; ++#endif /* __GNUCLIKE_BUILTIN_VARARGS */ ++#if defined(__GNUC_VA_LIST_COMPATIBILITY) && !defined(__GNUC_VA_LIST) \ ++ && !defined(__NO_GNUC_VA_LIST) ++#define __GNUC_VA_LIST ++typedef __va_list __gnuc_va_list; /* compatibility w/GNU headers*/ ++#endif ++ ++#endif /* !_MACHINE__TYPES_H_ */ diff --git a/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-8-i386-endian.h b/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-8-i386-endian.h new file mode 100644 index 000000000000..c00265a5a803 --- /dev/null +++ b/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-8-i386-endian.h @@ -0,0 +1,139 @@ +--- base/runtime/include/freebsd-8-i386-endian.h.orig 1970-01-01 01:00:00.000000000 +0100 ++++ base/runtime/include/freebsd-8-i386-endian.h 2013-06-19 16:14:56.000000000 +0200 +@@ -0,0 +1,136 @@ ++/*- ++ * Copyright (c) 1987, 1991 Regents of the University of California. ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 4. Neither the name of the University nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * @(#)endian.h 7.8 (Berkeley) 4/3/91 ++ * $FreeBSD: stable/8/sys/i386/include/endian.h 190854 2009-04-08 19:10:20Z ed $ ++ */ ++ ++#ifndef _MACHINE_ENDIAN_H_ ++#define _MACHINE_ENDIAN_H_ ++ ++#include <sys/cdefs.h> ++#include <sys/_types.h> ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* ++ * Define the order of 32-bit words in 64-bit words. ++ */ ++#define _QUAD_HIGHWORD 1 ++#define _QUAD_LOWWORD 0 ++ ++/* ++ * Definitions for byte order, according to byte significance from low ++ * address to high. ++ */ ++#define _LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ ++#define _BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ ++#define _PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ ++ ++#define _BYTE_ORDER _LITTLE_ENDIAN ++ ++/* ++ * Deprecated variants that don't have enough underscores to be useful in more ++ * strict namespaces. ++ */ ++#if __BSD_VISIBLE ++#define LITTLE_ENDIAN _LITTLE_ENDIAN ++#define BIG_ENDIAN _BIG_ENDIAN ++#define PDP_ENDIAN _PDP_ENDIAN ++#define BYTE_ORDER _BYTE_ORDER ++#endif ++ ++#if defined(__GNUCLIKE_ASM) && defined(__GNUCLIKE_BUILTIN_CONSTANT_P) ++ ++#define __byte_swap_int_var(x) \ ++__extension__ ({ register __uint32_t __X = (x); \ ++ __asm ("bswap %0" : "+r" (__X)); \ ++ __X; }) ++ ++#ifdef __OPTIMIZE__ ++ ++#define __byte_swap_int_const(x) \ ++ ((((x) & 0xff000000) >> 24) | \ ++ (((x) & 0x00ff0000) >> 8) | \ ++ (((x) & 0x0000ff00) << 8) | \ ++ (((x) & 0x000000ff) << 24)) ++#define __byte_swap_int(x) (__builtin_constant_p(x) ? \ ++ __byte_swap_int_const(x) : __byte_swap_int_var(x)) ++ ++#else /* __OPTIMIZE__ */ ++ ++#define __byte_swap_int(x) __byte_swap_int_var(x) ++ ++#endif /* __OPTIMIZE__ */ ++ ++static __inline __uint64_t ++__bswap64(__uint64_t _x) ++{ ++ ++ return ((_x >> 56) | ((_x >> 40) & 0xff00) | ((_x >> 24) & 0xff0000) | ++ ((_x >> 8) & 0xff000000) | ((_x << 8) & ((__uint64_t)0xff << 32)) | ++ ((_x << 24) & ((__uint64_t)0xff << 40)) | ++ ((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56))); ++} ++ ++static __inline __uint32_t ++__bswap32(__uint32_t _x) ++{ ++ ++ return (__byte_swap_int(_x)); ++} ++ ++static __inline __uint16_t ++__bswap16(__uint16_t _x) ++{ ++ return (_x << 8 | _x >> 8); ++} ++ ++#define __htonl(x) __bswap32(x) ++#define __htons(x) __bswap16(x) ++#define __ntohl(x) __bswap32(x) ++#define __ntohs(x) __bswap16(x) ++ ++#else /* !(__GNUCLIKE_ASM && __GNUCLIKE_BUILTIN_CONSTANT_P) */ ++ ++/* ++ * No optimizations are available for this compiler. Fall back to ++ * non-optimized functions by defining the constant usually used to prevent ++ * redefinition. ++ */ ++#define _BYTEORDER_FUNC_DEFINED ++ ++#endif /* __GNUCLIKE_ASM && __GNUCLIKE_BUILTIN_CONSTANT_P */ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* !_MACHINE_ENDIAN_H_ */ diff --git a/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-8-i386-ieeefp.h b/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-8-i386-ieeefp.h new file mode 100644 index 000000000000..9722f88fd4f3 --- /dev/null +++ b/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-8-i386-ieeefp.h @@ -0,0 +1,262 @@ +--- base/runtime/include/freebsd-8-i386-ieeefp.h.orig 1970-01-01 01:00:00.000000000 +0100 ++++ base/runtime/include/freebsd-8-i386-ieeefp.h 2013-06-19 16:14:57.000000000 +0200 +@@ -0,0 +1,259 @@ ++/*- ++ * Copyright (c) 2003 Peter Wemm. ++ * Copyright (c) 1990 Andrew Moore, Talke Studio ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 3. All advertising materials mentioning features or use of this software ++ * must display the following acknowledgement: ++ * This product includes software developed by the University of ++ * California, Berkeley and its contributors. ++ * 4. Neither the name of the University nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * from: @(#) ieeefp.h 1.0 (Berkeley) 9/23/93 ++ * $FreeBSD: stable/8/sys/i386/include/ieeefp.h 175234 2008-01-11 18:59:35Z bde $ ++ */ ++ ++#ifndef _MACHINE_IEEEFP_H_ ++#define _MACHINE_IEEEFP_H_ ++ ++/* ++ * IEEE floating point type, constant and function definitions. ++ * XXX: FP*FLD and FP*OFF are undocumented pollution. ++ */ ++ ++#ifndef _SYS_CDEFS_H_ ++#error this file needs sys/cdefs.h as a prerequisite ++#endif ++ ++/* ++ * Rounding modes. ++ */ ++typedef enum { ++ FP_RN=0, /* round to nearest */ ++ FP_RM, /* round down towards minus infinity */ ++ FP_RP, /* round up towards plus infinity */ ++ FP_RZ /* truncate */ ++} fp_rnd_t; ++ ++/* ++ * Precision (i.e., rounding precision) modes. ++ */ ++typedef enum { ++ FP_PS=0, /* 24 bit (single-precision) */ ++ FP_PRS, /* reserved */ ++ FP_PD, /* 53 bit (double-precision) */ ++ FP_PE /* 64 bit (extended-precision) */ ++} fp_prec_t; ++ ++#define fp_except_t int ++ ++/* ++ * Exception bit masks. ++ */ ++#define FP_X_INV 0x01 /* invalid operation */ ++#define FP_X_DNML 0x02 /* denormal */ ++#define FP_X_DZ 0x04 /* zero divide */ ++#define FP_X_OFL 0x08 /* overflow */ ++#define FP_X_UFL 0x10 /* underflow */ ++#define FP_X_IMP 0x20 /* (im)precision */ ++#define FP_X_STK 0x40 /* stack fault */ ++ ++/* ++ * FPU control word bit-field masks. ++ */ ++#define FP_MSKS_FLD 0x3f /* exception masks field */ ++#define FP_PRC_FLD 0x300 /* precision control field */ ++#define FP_RND_FLD 0xc00 /* rounding control field */ ++ ++/* ++ * FPU status word bit-field masks. ++ */ ++#define FP_STKY_FLD 0x3f /* sticky flags field */ ++ ++/* ++ * FPU control word bit-field offsets (shift counts). ++ */ ++#define FP_MSKS_OFF 0 /* exception masks offset */ ++#define FP_PRC_OFF 8 /* precision control offset */ ++#define FP_RND_OFF 10 /* rounding control offset */ ++ ++/* ++ * FPU status word bit-field offsets (shift counts). ++ */ ++#define FP_STKY_OFF 0 /* sticky flags offset */ ++ ++#ifdef __GNUCLIKE_ASM ++ ++#define __fldcw(addr) __asm __volatile("fldcw %0" : : "m" (*(addr))) ++#define __fldenv(addr) __asm __volatile("fldenv %0" : : "m" (*(addr))) ++#define __fnclex() __asm __volatile("fnclex") ++#define __fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr))) ++#define __fnstenv(addr) __asm __volatile("fnstenv %0" : "=m" (*(addr))) ++#define __fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr))) ++ ++/* ++ * Load the control word. Be careful not to trap if there is a currently ++ * unmasked exception (ones that will become freshly unmasked are not a ++ * problem). This case must be handled by a save/restore of the ++ * environment or even of the full x87 state. Accessing the environment ++ * is very inefficient, so only do it when necessary. ++ */ ++static __inline void ++__fnldcw(unsigned short _cw, unsigned short _newcw) ++{ ++ struct { ++ unsigned _cw; ++ unsigned _other[6]; ++ } _env; ++ unsigned short _sw; ++ ++ if ((_cw & FP_MSKS_FLD) != FP_MSKS_FLD) { ++ __fnstsw(&_sw); ++ if (((_sw & ~_cw) & FP_STKY_FLD) != 0) { ++ __fnstenv(&_env); ++ _env._cw = _newcw; ++ __fldenv(&_env); ++ return; ++ } ++ } ++ __fldcw(&_newcw); ++} ++ ++static __inline fp_rnd_t ++fpgetround(void) ++{ ++ unsigned short _cw; ++ ++ __fnstcw(&_cw); ++ return ((fp_rnd_t)((_cw & FP_RND_FLD) >> FP_RND_OFF)); ++} ++ ++static __inline fp_rnd_t ++fpsetround(fp_rnd_t _m) ++{ ++ fp_rnd_t _p; ++ unsigned short _cw, _newcw; ++ ++ __fnstcw(&_cw); ++ _p = (fp_rnd_t)((_cw & FP_RND_FLD) >> FP_RND_OFF); ++ _newcw = _cw & ~FP_RND_FLD; ++ _newcw |= (_m << FP_RND_OFF) & FP_RND_FLD; ++ __fnldcw(_cw, _newcw); ++ return (_p); ++} ++ ++static __inline fp_prec_t ++fpgetprec(void) ++{ ++ unsigned short _cw; ++ ++ __fnstcw(&_cw); ++ return ((fp_prec_t)((_cw & FP_PRC_FLD) >> FP_PRC_OFF)); ++} ++ ++static __inline fp_prec_t ++fpsetprec(fp_prec_t _m) ++{ ++ fp_prec_t _p; ++ unsigned short _cw, _newcw; ++ ++ __fnstcw(&_cw); ++ _p = (fp_prec_t)((_cw & FP_PRC_FLD) >> FP_PRC_OFF); ++ _newcw = _cw & ~FP_PRC_FLD; ++ _newcw |= (_m << FP_PRC_OFF) & FP_PRC_FLD; ++ __fnldcw(_cw, _newcw); ++ return (_p); ++} ++ ++/* ++ * Get or set the exception mask. ++ * Note that the x87 mask bits are inverted by the API -- a mask bit of 1 ++ * means disable for x87 and SSE, but for fp*mask() it means enable. ++ */ ++ ++static __inline fp_except_t ++fpgetmask(void) ++{ ++ unsigned short _cw; ++ ++ __fnstcw(&_cw); ++ return ((~_cw & FP_MSKS_FLD) >> FP_MSKS_OFF); ++} ++ ++static __inline fp_except_t ++fpsetmask(fp_except_t _m) ++{ ++ fp_except_t _p; ++ unsigned short _cw, _newcw; ++ ++ __fnstcw(&_cw); ++ _p = (~_cw & FP_MSKS_FLD) >> FP_MSKS_OFF; ++ _newcw = _cw & ~FP_MSKS_FLD; ++ _newcw |= (~_m << FP_MSKS_OFF) & FP_MSKS_FLD; ++ __fnldcw(_cw, _newcw); ++ return (_p); ++} ++ ++static __inline fp_except_t ++fpgetsticky(void) ++{ ++ unsigned _ex; ++ unsigned short _sw; ++ ++ __fnstsw(&_sw); ++ _ex = (_sw & FP_STKY_FLD) >> FP_STKY_OFF; ++ return ((fp_except_t)_ex); ++} ++ ++static __inline fp_except_t ++fpresetsticky(fp_except_t _m) ++{ ++ struct { ++ unsigned _cw; ++ unsigned _sw; ++ unsigned _other[5]; ++ } _env; ++ fp_except_t _p; ++ ++ _m &= FP_STKY_FLD >> FP_STKY_OFF; ++ _p = fpgetsticky(); ++ if ((_p & ~_m) == _p) ++ return (_p); ++ if ((_p & ~_m) == 0) { ++ __fnclex(); ++ return (_p); ++ } ++ __fnstenv(&_env); ++ _env._sw &= ~_m; ++ __fldenv(&_env); ++ return (_p); ++} ++ ++#endif /* __GNUCLIKE_ASM */ ++ ++/* Suppress prototypes in the MI header. */ ++#define _IEEEFP_INLINED_ 1 ++ ++#endif /* !_MACHINE_IEEEFP_H_ */ diff --git a/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-8-i386-signal.h b/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-8-i386-signal.h new file mode 100644 index 000000000000..31570e340095 --- /dev/null +++ b/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-8-i386-signal.h @@ -0,0 +1,137 @@ +--- base/runtime/include/freebsd-8-i386-signal.h.orig 1970-01-01 01:00:00.000000000 +0100 ++++ base/runtime/include/freebsd-8-i386-signal.h 2013-06-19 16:14:56.000000000 +0200 +@@ -0,0 +1,134 @@ ++/*- ++ * Copyright (c) 1986, 1989, 1991, 1993 ++ * The Regents of the University of California. All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 4. Neither the name of the University nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * @(#)signal.h 8.1 (Berkeley) 6/11/93 ++ * $FreeBSD: stable/8/sys/i386/include/signal.h 190623 2009-04-01 13:44:28Z kib $ ++ */ ++ ++#ifndef _MACHINE_SIGNAL_H_ ++#define _MACHINE_SIGNAL_H_ ++ ++#include <sys/cdefs.h> ++#include <sys/_sigset.h> ++ ++/* ++ * Machine-dependent signal definitions ++ */ ++ ++typedef int sig_atomic_t; ++ ++#if __BSD_VISIBLE ++#include <machine/trap.h> /* codes for SIGILL, SIGFPE */ ++ ++/* ++ * Only the kernel should need these old type definitions. ++ */ ++#if defined(_KERNEL) && defined(COMPAT_43) ++/* ++ * Information pushed on stack when a signal is delivered. ++ * This is used by the kernel to restore state following ++ * execution of the signal handler. It is also made available ++ * to the handler to allow it to restore state properly if ++ * a non-standard exit is performed. ++ */ ++struct osigcontext { ++ int sc_onstack; /* sigstack state to restore */ ++ osigset_t sc_mask; /* signal mask to restore */ ++ int sc_esp; /* machine state follows: */ ++ int sc_ebp; ++ int sc_isp; ++ int sc_eip; ++ int sc_efl; ++ int sc_es; ++ int sc_ds; ++ int sc_cs; ++ int sc_ss; ++ int sc_edi; ++ int sc_esi; ++ int sc_ebx; ++ int sc_edx; ++ int sc_ecx; ++ int sc_eax; ++ int sc_gs; ++ int sc_fs; ++ int sc_trapno; ++ int sc_err; ++}; ++#endif ++ ++/* ++ * The sequence of the fields/registers in struct sigcontext should match ++ * those in mcontext_t. ++ */ ++struct sigcontext { ++ struct __sigset sc_mask; /* signal mask to restore */ ++ int sc_onstack; /* sigstack state to restore */ ++ int sc_gs; /* machine state (struct trapframe) */ ++ int sc_fs; ++ int sc_es; ++ int sc_ds; ++ int sc_edi; ++ int sc_esi; ++ int sc_ebp; ++ int sc_isp; ++ int sc_ebx; ++ int sc_edx; ++ int sc_ecx; ++ int sc_eax; ++ int sc_trapno; ++ int sc_err; ++ int sc_eip; ++ int sc_cs; ++ int sc_efl; ++ int sc_esp; ++ int sc_ss; ++ int sc_len; /* sizeof(mcontext_t) */ ++ /* ++ * XXX - See <machine/ucontext.h> and <machine/npx.h> for ++ * the following fields. ++ */ ++ int sc_fpformat; ++ int sc_ownedfp; ++ int sc_spare1[1]; ++ int sc_fpstate[128] __aligned(16); ++ ++ int sc_fsbase; ++ int sc_gsbase; ++ ++ int sc_spare2[6]; ++}; ++ ++#define sc_sp sc_esp ++#define sc_fp sc_ebp ++#define sc_pc sc_eip ++#define sc_ps sc_efl ++#define sc_eflags sc_efl ++ ++#endif /* __BSD_VISIBLE */ ++ ++#endif /* !_MACHINE_SIGNAL_H_ */ diff --git a/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-9-i386-__types.h b/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-9-i386-__types.h new file mode 100644 index 000000000000..4a6ca38435dc --- /dev/null +++ b/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-9-i386-__types.h @@ -0,0 +1,131 @@ +--- base/runtime/include/freebsd-9-i386-_types.h.orig 1970-01-01 01:00:00.000000000 +0100 ++++ base/runtime/include/freebsd-9-i386-_types.h 2013-06-19 16:07:03.000000000 +0200 +@@ -0,0 +1,128 @@ ++/*- ++ * Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> ++ * Copyright (c) 1990, 1993 ++ * The Regents of the University of California. All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 3. All advertising materials mentioning features or use of this software ++ * must display the following acknowledgement: ++ * This product includes software developed by the University of ++ * California, Berkeley and its contributors. ++ * 4. Neither the name of the University nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 ++ * From: @(#)types.h 8.3 (Berkeley) 1/5/94 ++ * $FreeBSD: stable/9/sys/i386/include/_types.h 222813 2011-06-07 08:46:13Z attilio $ ++ */ ++ ++#ifndef _MACHINE__TYPES_H_ ++#define _MACHINE__TYPES_H_ ++ ++#ifndef _SYS_CDEFS_H_ ++#error this file needs sys/cdefs.h as a prerequisite ++#endif ++ ++#define __NO_STRICT_ALIGNMENT ++ ++/* ++ * Basic types upon which most other types are built. ++ */ ++typedef __signed char __int8_t; ++typedef unsigned char __uint8_t; ++typedef short __int16_t; ++typedef unsigned short __uint16_t; ++typedef int __int32_t; ++typedef unsigned int __uint32_t; ++#ifndef lint ++__extension__ ++#endif ++/* LONGLONG */ ++typedef long long __int64_t; ++#ifndef lint ++__extension__ ++#endif ++/* LONGLONG */ ++typedef unsigned long long __uint64_t; ++ ++/* ++ * Standard type definitions. ++ */ ++typedef unsigned long __clock_t; /* clock()... */ ++typedef __int32_t __critical_t; ++typedef long double __double_t; ++typedef long double __float_t; ++typedef __int32_t __intfptr_t; ++typedef __int64_t __intmax_t; ++typedef __int32_t __intptr_t; ++typedef __int32_t __int_fast8_t; ++typedef __int32_t __int_fast16_t; ++typedef __int32_t __int_fast32_t; ++typedef __int64_t __int_fast64_t; ++typedef __int8_t __int_least8_t; ++typedef __int16_t __int_least16_t; ++typedef __int32_t __int_least32_t; ++typedef __int64_t __int_least64_t; ++typedef __int32_t __ptrdiff_t; /* ptr1 - ptr2 */ ++typedef __int32_t __register_t; ++typedef __int32_t __segsz_t; /* segment size (in pages) */ ++typedef __uint32_t __size_t; /* sizeof() */ ++typedef __int32_t __ssize_t; /* byte count or error */ ++typedef __int32_t __time_t; /* time()... */ ++typedef __uint32_t __uintfptr_t; ++typedef __uint64_t __uintmax_t; ++typedef __uint32_t __uintptr_t; ++typedef __uint32_t __uint_fast8_t; ++typedef __uint32_t __uint_fast16_t; ++typedef __uint32_t __uint_fast32_t; ++typedef __uint64_t __uint_fast64_t; ++typedef __uint8_t __uint_least8_t; ++typedef __uint16_t __uint_least16_t; ++typedef __uint32_t __uint_least32_t; ++typedef __uint64_t __uint_least64_t; ++typedef __uint32_t __u_register_t; ++typedef __uint32_t __vm_offset_t; ++typedef __int64_t __vm_ooffset_t; ++#ifdef PAE ++typedef __uint64_t __vm_paddr_t; ++#else ++typedef __uint32_t __vm_paddr_t; ++#endif ++typedef __uint64_t __vm_pindex_t; ++typedef __uint32_t __vm_size_t; ++ ++/* ++ * Unusual type definitions. ++ */ ++#ifdef __GNUCLIKE_BUILTIN_VARARGS ++typedef __builtin_va_list __va_list; /* internally known to gcc */ ++#else ++typedef char * __va_list; ++#endif /* __GNUCLIKE_BUILTIN_VARARGS */ ++#if defined(__GNUC_VA_LIST_COMPATIBILITY) && !defined(__GNUC_VA_LIST) \ ++ && !defined(__NO_GNUC_VA_LIST) ++#define __GNUC_VA_LIST ++typedef __va_list __gnuc_va_list; /* compatibility w/GNU headers*/ ++#endif ++ ++#endif /* !_MACHINE__TYPES_H_ */ diff --git a/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-9-i386-endian.h b/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-9-i386-endian.h new file mode 100644 index 000000000000..0b5e54e4a73d --- /dev/null +++ b/lang/smlnj/files/extra-patch-base_runtime_include_freebsd-9-i386-endian.h @@ -0,0 +1,148 @@ +--- base/runtime/include/freebsd-9-i386-endian.h.orig 1970-01-01 01:00:00.000000000 +0100 ++++ base/runtime/include/freebsd-9-i386-endian.h 2013-06-19 16:13:50.000000000 +0200 +@@ -0,0 +1,145 @@ ++/*- ++ * Copyright (c) 1987, 1991 Regents of the University of California. ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 4. Neither the name of the University nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * @(#)endian.h 7.8 (Berkeley) 4/3/91 ++ * $FreeBSD: stable/9/sys/i386/include/endian.h 219819 2011-03-21 09:40:01Z jeff $ ++ */ ++ ++#ifndef _MACHINE_ENDIAN_H_ ++#define _MACHINE_ENDIAN_H_ ++ ++#include <sys/cdefs.h> ++#include <sys/_types.h> ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* ++ * Define the order of 32-bit words in 64-bit words. ++ */ ++#define _QUAD_HIGHWORD 1 ++#define _QUAD_LOWWORD 0 ++ ++/* ++ * Definitions for byte order, according to byte significance from low ++ * address to high. ++ */ ++#define _LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ ++#define _BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ ++#define _PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ ++ ++#define _BYTE_ORDER _LITTLE_ENDIAN ++ ++/* ++ * Deprecated variants that don't have enough underscores to be useful in more ++ * strict namespaces. ++ */ ++#if __BSD_VISIBLE ++#define LITTLE_ENDIAN _LITTLE_ENDIAN ++#define BIG_ENDIAN _BIG_ENDIAN ++#define PDP_ENDIAN _PDP_ENDIAN ++#define BYTE_ORDER _BYTE_ORDER ++#endif ++ ++#if defined(__GNUCLIKE_ASM) && defined(__GNUCLIKE_BUILTIN_CONSTANT_P) ++ ++#define __bswap64_const(_x) \ ++ (((_x) >> 56) | \ ++ (((_x) >> 40) & (0xffULL << 8)) | \ ++ (((_x) >> 24) & (0xffULL << 16)) | \ ++ (((_x) >> 8) & (0xffULL << 24)) | \ ++ (((_x) << 8) & (0xffULL << 32)) | \ ++ (((_x) << 24) & (0xffULL << 40)) | \ ++ (((_x) << 40) & (0xffULL << 48)) | \ ++ ((_x) << 56)) ++ ++#define __bswap32_const(_x) \ ++ (((_x) >> 24) | \ ++ (((_x) & (0xff << 16)) >> 8) | \ ++ (((_x) & (0xff << 8)) << 8) | \ ++ ((_x) << 24)) ++ ++#define __bswap16_const(_x) (__uint16_t)((_x) << 8 | (_x) >> 8) ++ ++static __inline __uint64_t ++__bswap64_var(__uint64_t __x) ++{ ++ ++ return __bswap64_const(__x); ++} ++ ++ ++static __inline __uint32_t ++__bswap32_var(__uint32_t _x) ++{ ++ ++ __asm ("bswap %0" : "+r" (_x)); ++ return (_x); ++} ++ ++static __inline __uint16_t ++__bswap16_var(__uint16_t _x) ++{ ++ ++ return (__bswap16_const(_x)); ++} ++ ++#define __bswap64(_x) \ ++ (__builtin_constant_p(_x) ? \ ++ __bswap64_const((__uint64_t)(_x)) : __bswap64_var(_x)) ++ ++#define __bswap32(_x) \ ++ (__builtin_constant_p(_x) ? \ ++ __bswap32_const((__uint32_t)(_x)) : __bswap32_var(_x)) ++ ++#define __bswap16(_x) \ ++ (__builtin_constant_p(_x) ? \ ++ __bswap16_const((__uint16_t)(_x)) : __bswap16_var(_x)) ++ ++#define __htonl(x) __bswap32(x) ++#define __htons(x) __bswap16(x) ++#define __ntohl(x) __bswap32(x) ++#define __ntohs(x) __bswap16(x) ++ ++#else /* !(__GNUCLIKE_ASM && __GNUCLIKE_BUILTIN_CONSTANT_P) */ ++ ++/* ++ * No optimizations are available for this compiler. Fall back to ++ * non-optimized functions by defining the constant usually used to prevent ++ * redefinition. ++ */ ++#define _BYTEORDER_FUNC_DEFINED ++ ++#endif /* __GNUCLIKE_ASM && __GNUCLIKE_BUILTIN_CONSTANT_P */ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* !_MACHINE_ENDIAN_H_ */ diff --git a/lang/smlnj/files/extra-patch-base_runtime_include_ml-unixdep.h b/lang/smlnj/files/extra-patch-base_runtime_include_ml-unixdep.h new file mode 100644 index 000000000000..2acc3ac3341a --- /dev/null +++ b/lang/smlnj/files/extra-patch-base_runtime_include_ml-unixdep.h @@ -0,0 +1,18 @@ +--- base/runtime/include/ml-unixdep.h.orig 2012-08-02 20:03:33.000000000 +0200 ++++ base/runtime/include/ml-unixdep.h 2013-06-18 13:16:20.292993889 +0200 +@@ -371,6 +371,15 @@ + # define __EXTENSIONS__ + #endif + ++#if defined(OPSYS_FREEBSD) ++# if defined(INCLUDE_FREEBSD_I386__TYPES) ++# include <sys/cdefs.h> ++# include INCLUDE_FREEBSD_I386__TYPES ++# endif ++# if defined(INCLUDE_FREEBSD_I386_SIGNAL) ++# include INCLUDE_FREEBSD_I386_SIGNAL ++# endif ++#endif + #include INCLUDE_TYPES_H + #include <unistd.h> + #include <string.h> diff --git a/lang/smlnj/files/patch-config___arch-n-opsys b/lang/smlnj/files/patch-config___arch-n-opsys new file mode 100644 index 000000000000..c4472c5fde4c --- /dev/null +++ b/lang/smlnj/files/patch-config___arch-n-opsys @@ -0,0 +1,11 @@ +--- config/_arch-n-opsys.orig 2012-07-28 05:32:38.000000000 +0200 ++++ config/_arch-n-opsys 2013-06-12 21:46:19.925992679 +0200 +@@ -83,6 +83,8 @@ + HEAP_OPSYS=bsd + case `uname -m` in + *86) ARCH=x86;; ++ # Fall back to x86 compatibility mode. ++ amd64) ARCH=x86;; + *) exit 1;; + esac + ;; diff --git a/lang/smlnj/files/patch-config___heap2exec b/lang/smlnj/files/patch-config___heap2exec new file mode 100644 index 000000000000..c534993bec30 --- /dev/null +++ b/lang/smlnj/files/patch-config___heap2exec @@ -0,0 +1,33 @@ +--- config/_heap2exec 2006-04-20 17:28:53.000000000 +0200 ++++ config/_heap2exec 2013-06-14 22:18:55.050990989 +0200 +@@ -83,6 +83,7 @@ + A_PROG= + A_FLAGS= + A_LIBS= ++AS_FLAGS= + + case ${OPSYS} in + darwin) +@@ -96,6 +97,13 @@ + A_PROG=${CC} + A_FLAGS=-Wl,--export-dynamic + A_LIBS=-lm ++ case `uname -m` in ++ amd64) ++ SO_FLAGS="${SO_FLAGS} -m32" ++ A_FLAGS="${A_FLAGS} -m32" ++ AS_FLAGS="${AS_FLAGS} -m32" ++ ;; ++ esac + ;; + linux) + SO_PROG=${CC} +@@ -116,7 +124,7 @@ + RESULT=0 + if ${H2A} "$heapfile" "$execfile".s ; then + if [ -f "$execfile".s ] ; then +- if ${CC} -c -o "$execfile".o "$execfile".s ; then ++ if ${CC} -c ${AS_FLAGS} -o "$execfile".o "$execfile".s ; then + rm "$execfile".s + else + rm "$execfile".s diff --git a/lang/smlnj/files/patch-config_install.sh b/lang/smlnj/files/patch-config_install.sh new file mode 100644 index 000000000000..dbfcd76daa67 --- /dev/null +++ b/lang/smlnj/files/patch-config_install.sh @@ -0,0 +1,180 @@ +--- config/install.sh.orig 2012-03-02 23:57:26.000000000 +0100 ++++ config/install.sh 2014-07-14 20:12:56.000000000 +0200 +@@ -18,6 +18,8 @@ + nolib=false + fi + ++[ -n "$RECOMPILEDIR" ] && echo "RECOMPILEDIR=$RECOMPILEDIR" ++ + if [ x${INSTALL_QUIETLY} = xtrue ] ; then + export CM_VERBOSE + CM_VERBOSE=false +@@ -38,6 +40,28 @@ + exit 1 + } + ++# ++# do_patch patch-file ++# apply a patch file ++do_patch() { ++ patchfile=$FILESDIR/$1 ++ ++ if [ ! -r $patchfile ]; then ++ echo "$this: !!! patch file $patchfile not found." ++ exit 1; ++ fi ++ ++ if [ ! -f $CONFIGDIR/.patch_$1 ]; then ++ $PATCH $PATCH_ARGS < $patchfile || {\ ++ echo "$this: !!! patch file $patchfile failed to patch." ++ exit 1; ++ } ++ echo > $CONFIGDIR/.patch_$1 ++ else ++ echo "$this: patch $patchfile already installed." ++ fi ++} ++ + this=$0 + + +@@ -97,7 +121,28 @@ + # Especially important is CM_PATHCONFIG. + # + export CM_PATHCONFIG +-CM_PATHCONFIG=$LIBDIR/pathconfig ++if [ -n "$STAGEDIR" -a -n "$MLLIB" ] ++then ++ # The final CM_PATHCONFIG file should not yet exist during ++ # staging, but still it has to be set in the environment when ++ # creating the (final) compiler heap. This way it becomes the ++ # the default pathconfig for the (final) heap. ++ # Therefore we will use the secondary pathconfig environment ++ # variable CM_LOCAL_PATHCONFIG to point to the (existing;) ++ # pathconfig in ROOT. This enables $smlnj/installer.cm ++ # to operate within STAGEDIR (using the final heap) below. ++ CM_PATHCONFIG=$MLLIB/pathconfig ++ if [ -r $CM_PATHCONFIG ] ++ then ++ vsay "$this: !!! Staging conflicts with an existing installation!" ++ complain "$this: !!! Make $CM_PATHCONFIG unreadable and try again!" ++ fi ++ CM_PATHCONFIG_STAGE=$STAGEDIR$CM_PATHCONFIG ++ CM_LOCAL_PATHCONFIG=$CM_PATHCONFIG_STAGE ++else ++ CM_PATHCONFIG=$LIBDIR/pathconfig ++ CM_PATHCONFIG_STAGE=$CM_PATHCONFIG ++fi + # + # the release version that we are installing + # +@@ -327,7 +372,12 @@ + # the name of the bin files directory + # + BOOT_ARCHIVE=boot.$ARCH-unix +-BOOT_FILES=sml.$BOOT_ARCHIVE ++if [ -z "$RECOMPILEDIR" ] ++then ++ BOOT_FILES=sml.$BOOT_ARCHIVE ++else ++ BOOT_FILES=$RECOMPILEDIR/sml.$BOOT_ARCHIVE ++fi + + # + # build the run-time system +@@ -336,9 +386,15 @@ + vsay $this: Run-time system already exists. + else + "$CONFIGDIR"/unpack "$ROOT" runtime ++ [ -n "$MLRUNTIMEPATCHES" ] && \ ++ for p in $MLRUNTIMEPATCHES ++ do ++ do_patch $p ++ done + 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\"" ++ $MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS AS="$AS" CFLAGS="$CFLAGS" + if [ -x run.$ARCH-$OPSYS ]; then + mv run.$ARCH-$OPSYS "$RUNDIR" + if [ -f runx.$ARCH-$OPSYS ]; then +@@ -350,7 +406,7 @@ + if [ -f run.$ARCH-$OPSYS.a ]; then + mv run.$ARCH-$OPSYS.a "$RUNDIR" + fi +- $MAKE MAKE=$MAKE clean ++ [ "$MLNORUNTIMECLEAN" ] || $MAKE MAKE=$MAKE clean + else + complain "$this: !!! Run-time system build failed for some reason." + fi +@@ -376,7 +432,7 @@ + complain "$this !!! Unable to re-create heap image (sml.$HEAP_SUFFIX)." + fi + else +- "$CONFIGDIR"/unpack "$ROOT" "$BOOT_ARCHIVE" ++ [ -n "$RECOMPILEDIR" ] || "$CONFIGDIR"/unpack "$ROOT" "$BOOT_ARCHIVE" + + fish "$ROOT"/"$BOOT_FILES"/smlnj/basis + +@@ -411,7 +467,7 @@ + cd "$ROOT"/"$BOOT_FILES" + for anchor in * ; do + if [ -d $anchor ] ; then +- echo $anchor $anchor >>$CM_PATHCONFIG ++ echo $anchor $anchor >>$CM_PATHCONFIG_STAGE + move $anchor "$LIBDIR"/$anchor + fi + done +@@ -434,6 +490,18 @@ + + cd "$ROOT" + ++# apply source patches for standard targets ++[ -n "$MLSTANDARDPATCHDIRS" ] && \ ++for d in $MLSTANDARDPATCHDIRS ++do ++ "$CONFIGDIR"/unpack "$ROOT" "$d" ++done ++[ -n "$MLSTANDARDPATCHES" ] && \ ++for p in $MLSTANDARDPATCHES ++do ++ do_patch $p ++done ++ + # + # Now do all the rest using the precompiled installer: + # +@@ -442,6 +510,12 @@ + export ROOT INSTALLDIR CONFIGDIR BINDIR + CM_TOLERATE_TOOL_FAILURES=true + export CM_TOLERATE_TOOL_FAILURES ++ # smlnj/installer/nix-install.sml (re)sets CM_LOCAL_PATHCONFIG ++ # to /dev/null in the buildcmd that it uses to invoke the builds. ++ # So the build process needs a working CM_PATHCONFIG. This is NOT ++ # propagated to the resulting heaps because the heaps generated ++ # in this stage don't contain the compiler. ++ [ -z "$STAGEDIR" ] || CM_PATHCONFIG=$CM_LOCAL_PATHCONFIG + if "$BINDIR"/sml -m \$smlnj/installer.cm + then + vsay $this: Installation complete. +@@ -450,4 +524,19 @@ + fi + fi + ++# Finish staging by removing the $STAGEDIR prefix from the driver scripts. ++if [ -n "$STAGEDIR" ] ++then ++ find $BINDIR -type f -perm -1 | \ ++ xargs fgrep -l "$STAGEDIR" | \ ++ xargs sed -i "" -e 's%'"$STAGEDIR"'%%g' ++fi ++ ++# apply all source patches ++[ -n "$MLSOURCEPATCHES" ] && \ ++for p in $MLSOURCEPATCHES ++do ++ do_patch $p ++done ++ + exit 0 diff --git a/lang/sml-nj/files/pkg-install.in b/lang/smlnj/files/pkg-install.in index cdc3840a86c7..abed0aab5e53 100644 --- a/lang/sml-nj/files/pkg-install.in +++ b/lang/smlnj/files/pkg-install.in @@ -1,7 +1,7 @@ #!/bin/sh # This file was automatically created - don't modify it! #%%SOURCEINFO-START%% -# source version: $Id: pkg-install.in,v 1.17 2007/08/30 13:09:47 joemann Exp $ +# source version: $Id: $ # installed by port/package: %%SOURCEINFO-PACKAGE%% # installed from file: %%SOURCEINFO-FILE%% #%%SOURCEINFO-END%% @@ -138,10 +138,22 @@ which() { #%%PKG-INSTALL-START%% install_self_to() { - local pkgname myself target oldversion + local pkgname myself target oldversion tmpfile tmpfile_gz PREFIX="$1" pkgname="$2" - myself=`realpath "$0"` + if [ "$0" = "/bin/sh" ] + then # We're stdin of a shell (installation from binary package). + # Recover original script from its b64encoded compressed source. + tmpfile=`mktemp "/tmp/$ME.XXXXXX"` + tmpfile_gz=`mktemp "/tmp/$ME.gz.XXXXXX"` + trap "rm -f $tmpfile $tmpfile_gz" EXIT + b64decode -p > $tmpfile_gz << '~EOF~' +~EOF~ + gunzip -cf $tmpfile_gz > $tmpfile || die "decompression of script source for $ME failed." + myself=$tmpfile + else + myself=`realpath "$0"` + fi target="$PREFIX/bin/$ME" MYSELF_INSTALLED="$target" if [ -e "$target" ] @@ -158,11 +170,11 @@ install_self_to() { then oldmd5=`sed -e '/^#%%PKG-INSTALL-START%%$/,/^#%%PKG-INSTALL-END%%$/d' \ -e '/^#%%SOURCEINFO-START%%$/,/^#%%SOURCEINFO-END%%$/d' \ - -e 's?%%PREFIX%%?'"$PREFIX"'?g' "$target" | \ + -e 's?\%\%PREFIX\%\%?'"$PREFIX"'?g' "$target" | \ md5 -q` newmd5=`sed -e '/^#%%PKG-INSTALL-START%%$/,/^#%%PKG-INSTALL-END%%$/d' \ -e '/^#%%SOURCEINFO-START%%$/,/^#%%SOURCEINFO-END%%$/d' \ - -e 's?%%PREFIX%%?'"$PREFIX"'?g' "$myself" | \ + -e 's?\%\%PREFIX\%\%?'"$PREFIX"'?g' "$myself" | \ md5 -q` if [ "$newmd5" = "$oldmd5" ] then @@ -180,10 +192,10 @@ install_self_to() { if sed -e '/^#%%PKG-INSTALL-START%%$/,/^#%%PKG-INSTALL-END%%$/d' \ -e 's?%%SOURCEINFO-PACKAGE%%?'"$pkgname"'?g' \ -e 's?%%SOURCEINFO-FILE%%?'"$myself"'?g' \ - -e 's?%%PREFIX%%?'"$PREFIX"'?g' "$0" > "$target" && \ + -e 's?\%\%PREFIX\%\%?'"$PREFIX"'?g' "$myself" > "$target" && \ chmod +x "$target" then - say "$0 (version $VERSION) installed as $target." + say "$myself (version $VERSION) installed as $target." return else die "failed to install $ME (version $VERSION) as $target." diff --git a/lang/smlnj/pkg-descr b/lang/smlnj/pkg-descr new file mode 100644 index 000000000000..5e0ba89151d5 --- /dev/null +++ b/lang/smlnj/pkg-descr @@ -0,0 +1,12 @@ +Standard ML (SML) is a safe, modular, strict, functional, +polymorphic programming language with compile-time type checking +and type inference, garbage collection, exception handling, +immutable data types and updatable references, abstract data types, +and parametric modules. It has efficient implementations and a +formal definition with a proof of soundness. + +Standard ML of New Jersey (abbreviated SML/NJ) is a compiler for +the Standard ML '97 programming language with associated libraries, +tools, and documentation. + +WWW: http://www.smlnj.org/ diff --git a/lang/sml-nj-devel/pkg-plist b/lang/smlnj/pkg-plist index d99768293640..7ada4e057532 100644 --- a/lang/sml-nj-devel/pkg-plist +++ b/lang/smlnj/pkg-plist @@ -1,9 +1,12 @@ smlnj/bin/.arch-n-opsys smlnj/bin/.heap/heap2asm.%%MLARCH%%-bsd smlnj/bin/.heap/ml-antlr.%%MLARCH%%-bsd +smlnj/bin/.heap/ml-burg.%%MLARCH%%-bsd smlnj/bin/.heap/ml-lex.%%MLARCH%%-bsd +smlnj/bin/.heap/ml-nlffigen.%%MLARCH%%-bsd smlnj/bin/.heap/ml-ulex.%%MLARCH%%-bsd smlnj/bin/.heap/ml-yacc.%%MLARCH%%-bsd +%%EVERYTHING%%smlnj/bin/.heap/nowhere.%%MLARCH%%-bsd smlnj/bin/.heap/sml.%%MLARCH%%-bsd smlnj/bin/.link-sml smlnj/bin/.run/run.%%MLARCH%%-freebsd @@ -14,10 +17,13 @@ smlnj/bin/heap2asm smlnj/bin/heap2exec smlnj/bin/ml-antlr smlnj/bin/ml-build +smlnj/bin/ml-burg smlnj/bin/ml-lex smlnj/bin/ml-makedepend +smlnj/bin/ml-nlffigen smlnj/bin/ml-ulex smlnj/bin/ml-yacc +%%EVERYTHING%%smlnj/bin/nowhere smlnj/bin/sml smlnj/lib/SMLNJ-BASIS/.cm/%%MLARCH%%-unix/basis.cm smlnj/lib/SMLNJ-LIB/Controls/.cm/%%MLARCH%%-unix/controls-lib.cm @@ -47,15 +53,27 @@ 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/StagedAlloc.cm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Visual.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 +smlnj/lib/c/memory/.cm/%%MLARCH%%-unix/memory.cm +smlnj/lib/ckit-lib.cm/.cm/%%MLARCH%%-unix/ckit-lib.cm smlnj/lib/cml/.cm/%%MLARCH%%-unix/basis.cm smlnj/lib/cml/.cm/%%MLARCH%%-unix/cml-internal.cm +smlnj/lib/cml/.cm/%%MLARCH%%-unix/cml-lib.cm smlnj/lib/cml/.cm/%%MLARCH%%-unix/cml.cm smlnj/lib/cml/.cm/%%MLARCH%%-unix/core-cml.cm +smlnj/lib/cml/.cm/%%MLARCH%%-unix/inet-lib.cm +smlnj/lib/cml/.cm/%%MLARCH%%-unix/smlnj-lib.cm +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/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/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 smlnj/lib/lex-ext.cm/.cm/%%MLARCH%%-unix/lex-ext.cm @@ -63,15 +81,24 @@ smlnj/lib/make-tool.cm/.cm/%%MLARCH%%-unix/make-tool.cm smlnj/lib/ml-antlr-tool.cm/.cm/%%MLARCH%%-unix/ml-antlr-tool.cm smlnj/lib/ml-lpt-lib.cm/.cm/%%MLARCH%%-unix/ml-lpt-lib.cm smlnj/lib/ml-ulex-tool.cm/.cm/%%MLARCH%%-unix/ml-ulex-tool.cm +smlnj/lib/mlburg-tool.cm/.cm/%%MLARCH%%-unix/mlburg-tool.cm smlnj/lib/mllex-tool.cm/.cm/%%MLARCH%%-unix/mllex-tool.cm +%%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/match-compiler.cm +%%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/parser.cm +%%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/pp.cm +%%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/prec-parser.cm +%%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/sml-ast.cm +%%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/source-map.cm smlnj/lib/mlyacc-tool.cm/.cm/%%MLARCH%%-unix/mlyacc-tool.cm smlnj/lib/noweb-tool.cm/.cm/%%MLARCH%%-unix/noweb-tool.cm smlnj/lib/nw-ext.cm/.cm/%%MLARCH%%-unix/nw-ext.cm 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/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 smlnj/lib/shell-tool.cm/.cm/%%MLARCH%%-unix/shell-tool.cm smlnj/lib/smlnj-tdp/.cm/%%MLARCH%%-unix/back-trace.cm smlnj/lib/smlnj-tdp/.cm/%%MLARCH%%-unix/coverage.cm @@ -168,6 +195,21 @@ smlnj/lib/unix-lib.cm/.cm/%%MLARCH%%-unix/unix-lib.cm @dirrm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix @dirrm smlnj/lib/SMLNJ-MLRISC/.cm @dirrm smlnj/lib/SMLNJ-MLRISC +@dirrm smlnj/lib/burg-ext.cm/.cm/%%MLARCH%%-unix +@dirrm smlnj/lib/burg-ext.cm/.cm +@dirrm smlnj/lib/burg-ext.cm +@dirrm smlnj/lib/c/memory/.cm/%%MLARCH%%-unix +@dirrm smlnj/lib/c/memory/.cm +@dirrm smlnj/lib/c/memory +@dirrm smlnj/lib/c/internals/.cm/%%MLARCH%%-unix +@dirrm smlnj/lib/c/internals/.cm +@dirrm smlnj/lib/c/internals +@dirrm smlnj/lib/c/.cm/%%MLARCH%%-unix +@dirrm smlnj/lib/c/.cm +@dirrm smlnj/lib/c +@dirrm smlnj/lib/ckit-lib.cm/.cm/%%MLARCH%%-unix +@dirrm smlnj/lib/ckit-lib.cm/.cm +@dirrm smlnj/lib/ckit-lib.cm @dirrm smlnj/lib/cml/.cm/%%MLARCH%%-unix @dirrm smlnj/lib/cml/.cm @dirrm smlnj/lib/cml @@ -177,12 +219,18 @@ smlnj/lib/unix-lib.cm/.cm/%%MLARCH%%-unix/unix-lib.cm @dirrm smlnj/lib/dir-tool.cm/.cm/%%MLARCH%%-unix @dirrm smlnj/lib/dir-tool.cm/.cm @dirrm smlnj/lib/dir-tool.cm +%%EVERYTHING%%@dirrm smlnj/lib/eXene.cm/.cm/%%MLARCH%%-unix +%%EVERYTHING%%@dirrm smlnj/lib/eXene.cm/.cm +%%EVERYTHING%%@dirrm smlnj/lib/eXene.cm @dirrm smlnj/lib/grm-ext.cm/.cm/%%MLARCH%%-unix @dirrm smlnj/lib/grm-ext.cm/.cm @dirrm smlnj/lib/grm-ext.cm @dirrm smlnj/lib/hash-cons-lib.cm/.cm/%%MLARCH%%-unix @dirrm smlnj/lib/hash-cons-lib.cm/.cm @dirrm smlnj/lib/hash-cons-lib.cm +@dirrm smlnj/lib/html4-lib.cm/.cm/%%MLARCH%%-unix +@dirrm smlnj/lib/html4-lib.cm/.cm +@dirrm smlnj/lib/html4-lib.cm @dirrm smlnj/lib/inet-lib.cm/.cm/%%MLARCH%%-unix @dirrm smlnj/lib/inet-lib.cm/.cm @dirrm smlnj/lib/inet-lib.cm @@ -204,9 +252,15 @@ smlnj/lib/unix-lib.cm/.cm/%%MLARCH%%-unix/unix-lib.cm @dirrm smlnj/lib/ml-ulex-tool.cm/.cm/%%MLARCH%%-unix @dirrm smlnj/lib/ml-ulex-tool.cm/.cm @dirrm smlnj/lib/ml-ulex-tool.cm +@dirrm smlnj/lib/mlburg-tool.cm/.cm/%%MLARCH%%-unix +@dirrm smlnj/lib/mlburg-tool.cm/.cm +@dirrm smlnj/lib/mlburg-tool.cm @dirrm smlnj/lib/mllex-tool.cm/.cm/%%MLARCH%%-unix @dirrm smlnj/lib/mllex-tool.cm/.cm @dirrm smlnj/lib/mllex-tool.cm +%%EVERYTHING%%@dirrm smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix +%%EVERYTHING%%@dirrm smlnj/lib/mlrisc-tools/.cm +%%EVERYTHING%%@dirrm smlnj/lib/mlrisc-tools @dirrm smlnj/lib/mlyacc-tool.cm/.cm/%%MLARCH%%-unix @dirrm smlnj/lib/mlyacc-tool.cm/.cm @dirrm smlnj/lib/mlyacc-tool.cm @@ -216,6 +270,9 @@ smlnj/lib/unix-lib.cm/.cm/%%MLARCH%%-unix/unix-lib.cm @dirrm smlnj/lib/nw-ext.cm/.cm/%%MLARCH%%-unix @dirrm smlnj/lib/nw-ext.cm/.cm @dirrm smlnj/lib/nw-ext.cm +%%EVERYTHING%%@dirrm smlnj/lib/pgraph-util.cm/.cm/%%MLARCH%%-unix +%%EVERYTHING%%@dirrm smlnj/lib/pgraph-util.cm/.cm +%%EVERYTHING%%@dirrm smlnj/lib/pgraph-util.cm @dirrm smlnj/lib/pgraph.cm/.cm/%%MLARCH%%-unix @dirrm smlnj/lib/pgraph.cm/.cm @dirrm smlnj/lib/pgraph.cm @@ -228,6 +285,9 @@ smlnj/lib/unix-lib.cm/.cm/%%MLARCH%%-unix/unix-lib.cm @dirrm smlnj/lib/regexp-lib.cm/.cm/%%MLARCH%%-unix @dirrm smlnj/lib/regexp-lib.cm/.cm @dirrm smlnj/lib/regexp-lib.cm +@dirrm smlnj/lib/sexp-lib.cm/.cm/%%MLARCH%%-unix +@dirrm smlnj/lib/sexp-lib.cm/.cm +@dirrm smlnj/lib/sexp-lib.cm @dirrm smlnj/lib/shell-tool.cm/.cm/%%MLARCH%%-unix @dirrm smlnj/lib/shell-tool.cm/.cm @dirrm smlnj/lib/shell-tool.cm |