[31391] trunk/dports/lang/smlnj
bfulgham at macports.org
bfulgham at macports.org
Wed Nov 21 22:42:51 PST 2007
Revision: 31391
http://trac.macosforge.org/projects/macports/changeset/31391
Author: bfulgham at macports.org
Date: 2007-11-21 22:42:50 -0800 (Wed, 21 Nov 2007)
Log Message:
-----------
Update SML/NJ to correct Leopard build problems, as well as to
bring up to 110.67.
Modified Paths:
--------------
trunk/dports/lang/smlnj/Portfile
Added Paths:
-----------
trunk/dports/lang/smlnj/files/patch-base_runtime_mach-dep_signal-sysdep.h
trunk/dports/lang/smlnj/files/sml-dev.sh
trunk/dports/lang/smlnj/files/sml.sh
trunk/dports/lang/smlnj/files/targets
Removed Paths:
-------------
trunk/dports/lang/smlnj/files/sml.sh
Modified: trunk/dports/lang/smlnj/Portfile
===================================================================
--- trunk/dports/lang/smlnj/Portfile 2007-11-22 06:41:05 UTC (rev 31390)
+++ trunk/dports/lang/smlnj/Portfile 2007-11-22 06:42:50 UTC (rev 31391)
@@ -1,8 +1,7 @@
-# $Id$
PortSystem 1.0
name smlnj
-version 110.62
+version 110.67
categories lang ml
maintainers bfulgham at macports.org
description Standard ML of New Jersey
@@ -15,7 +14,7 @@
platforms darwin
master_sites http://smlnj.cs.uchicago.edu/dist/working/${version}/ \
- http://smlnj.cs.uchicago.edu/dist/working/110.62/ \
+ http://smlnj.cs.uchicago.edu/dist/working/110.63.2/ \
macports:${version}/
dist_subdir ${name}/${version}
@@ -24,26 +23,25 @@
# Files needed for basic distribution.
set srcs [list \
- MLRISC.tgz 6aea4f5fe460769b0e1569c89d9d6dc15de39b1d \
- ckit.tgz 33b204ca5b7ba7ef1fa43b90ece59d228be2bf04 \
- cm.tgz c7ef9cda0fc782f1a89d9681066af55edef2394b \
- cml.tgz ae4e0bb2020b5fdba0bf1a26477af329d19f2322 \
- compiler.tgz 480ba1ad70a3468610866f1631330bd75142c225 \
- config.tgz e26939683f2d6c5c6f4e7b92ed1e626e838f94eb \
- eXene.tgz b52f670cc3b57017134ddfb51a8fbc1fd9178f93 \
- lexgen.tgz 47522a0b4c131b3a3a9fe3277c7b434fb9470e91 \
- ml-burg.tgz 96badba4f1615b2e31f385558c4eb486d9248983 \
- ml-lex.tgz 62638e146cc1435d2a4b5ad3b10ba27bfe01bded \
- ml-yacc.tgz a02bf2d17aa76a3cf56cdd45b09ce25299fc10ac \
- pgraph.tgz b815fae92d142ab8f1eb79fa24a63b17b9918318 \
- runtime.tgz e2c0a97bcccda91dfe631d6dc60203011cc9742d \
- smlnj-c.tgz 587e89965821c29ce25a539cadbc83fce5323a35 \
- smlnj-lib.tgz 903067f55f0050b3f84e6e4e1c7f9581278d0001 \
- system.tgz 0adf14d72ce8d7a5d216daee1b67645f89892d39 \
- heap2asm.tgz 83d8898039d1381d1c26642224a265d2bab7eb8f \
- trace-debug-profile.tgz 2594cc62d712ada74d221be22a3bbd1ec6306d1c \
- ml-lpt.tgz d44794a178c688b6f37accd17502fffd49420fcd \
- nlffi.tgz 70c79b634fadc87f2525d5c06a92bec256dd513b \
+ MLRISC.tgz ca7baa838d3de7422f9c6bb71bfeea7494181fba \
+ ckit.tgz e308a9214b2ffec4946bf9851d23b26d5112b8b1 \
+ cm.tgz 10d790d4c9222b5dc846fac44cea87f48154573c \
+ cml.tgz 9e5b765d1604eb4049556e5da87b23341c672401 \
+ compiler.tgz b1d7a3311cd86ba51c00b5c33dfe7b61bff99659 \
+ config.tgz a2264b09c98e9e1075bd57040c9f5fa391d5635c \
+ eXene.tgz eb1f8abae11a4a6e3f5366aee4a1732d92ee70ca \
+ heap2asm.tgz 988b6685f44f0a4d544e204b1fcc47bde470e1fc \
+ ml-burg.tgz 5d784d787fcc0208b9f7c718b2f577566db41b86 \
+ ml-lex.tgz fe7a206844d6c00d7678b3a2fd8ae3d4af63c711 \
+ ml-lpt.tgz 0308bb28bc32eed40db7a047b36037f06953b51a \
+ ml-yacc.tgz f9f3f6fa50dc66f59c2c95eafa0b04f933851438 \
+ nlffi.tgz 3076c8130a88ed2843df8bd354d740441d458563 \
+ pgraph.tgz f2792001aae3e26d492447b5663172f5f828cb46 \
+ runtime.tgz 67308df3f05864d1a71c14b3a3b4f8ea8fca5d2c \
+ smlnj-c.tgz 4d71cf4a308a66c494c12b0b69c83d41a9a0a0af \
+ smlnj-lib.tgz 9a31f20ad7be1a7f8e418e8f0e1db6664b5d38f4 \
+ system.tgz 8cd198a98548ffdc0dc5a0e083d6fd3f819fd9bd \
+ trace-debug-profile.tgz 13bf245c1d848dd38d1ba98251c003c580ec317f \
]
foreach {tarball checksum} $srcs {
@@ -55,11 +53,11 @@
# Platform-specific boot code (omitted: sparc-unix, x86-win32)
platform powerpc {
distfiles-append boot.ppc-unix.tgz
- checksums-append boot.ppc-unix.tgz sha1 f4e7db44e9b78fb8c99888e2cad8eb3a93391495
+ checksums-append boot.ppc-unix.tgz sha1 38fc8ef65a6c64650e0c87ff55a6ace3696ad85b
}
platform i386 {
distfiles-append boot.x86-unix.tgz
- checksums-append boot.x86-unix.tgz sha1 3336a1340ecc9db8de7d5199a8af5f465651d2dd
+ checksums-append boot.x86-unix.tgz sha1 707dfffd5e6f4b2d2b14f21ecbb693b990da6b25
}
### extract ###
@@ -67,14 +65,19 @@
file mkdir ${worksrcpath}
}
extract.dir ${worksrcpath}
-extract.only config.tgz
+extract.only config.tgz runtime.tgz
+### patch ###
+#patchfiles patch-base_runtime_mach-dep_signal-sysdep.h
+
### configure ###
configure {
+ system "mkdir ${worksrcpath}/base && mv ${worksrcpath}/runtime ${worksrcpath}/base"
reinplace "s|SRCARCHIVEURL=.*|SRCARCHIVEURL=file://${distpath}|" \
${worksrcpath}/config/srcarchiveurl
- reinplace "s|#request|request|" ${worksrcpath}/config/targets
+ file copy -force ${filespath}/targets ${worksrcpath}/config/targets
+ #reinplace "s|#request|request|" ${worksrcpath}/config/targets
}
### build ###
Added: trunk/dports/lang/smlnj/files/patch-base_runtime_mach-dep_signal-sysdep.h
===================================================================
--- trunk/dports/lang/smlnj/files/patch-base_runtime_mach-dep_signal-sysdep.h (rev 0)
+++ trunk/dports/lang/smlnj/files/patch-base_runtime_mach-dep_signal-sysdep.h 2007-11-22 06:42:50 UTC (rev 31391)
@@ -0,0 +1,16 @@
+--- runtime/mach-dep/signal-sysdep.h.orig 2007-11-04 17:57:27.000000000 -0800
++++ runtime/mach-dep/signal-sysdep.h 2007-11-04 17:56:20.000000000 -0800
+@@ -506,8 +506,13 @@
+ # define INT_OVFLW(s, c) (((s) == SIGFPE) && ((c) == FPE_FLTOVF))
+ /* see /usr/include/mach/i386/thread_status.h */
+ # define SIG_GetCode(info,scp) ((info)->si_code)
++#if __DARWIN_UNIX03
++# define SIG_GetPC(scp) ((scp)->uc_mcontext->__ss.__eip)
++# define SIG_SetPC(scp, addr) { (scp)->uc_mcontext->__ss.__eip = (int) addr; }
++#else
+ # define SIG_GetPC(scp) ((scp)->uc_mcontext->ss.eip)
+ # define SIG_SetPC(scp, addr) { (scp)->uc_mcontext->ss.eip = (int) addr; }
++#endif
+ # define SIG_ZeroLimitPtr(scp) { ML_X86Frame[LIMITPTR_X86OFFSET] = 0; }
+
+ # else
Copied: trunk/dports/lang/smlnj/files/sml-dev.sh (from rev 30785, trunk/dports/lang/smlnj/files/sml.sh)
===================================================================
--- trunk/dports/lang/smlnj/files/sml-dev.sh (rev 0)
+++ trunk/dports/lang/smlnj/files/sml-dev.sh 2007-11-22 06:42:50 UTC (rev 31391)
@@ -0,0 +1,2 @@
+#!/bin/sh
+SMLNJ_HOME=__SMLNJ_HOME__ __SMLNJ_HOME__/bin/`basename $0` $*
Deleted: trunk/dports/lang/smlnj/files/sml.sh
===================================================================
--- trunk/dports/lang/smlnj/files/sml.sh 2007-11-22 06:41:05 UTC (rev 31390)
+++ trunk/dports/lang/smlnj/files/sml.sh 2007-11-22 06:42:50 UTC (rev 31391)
@@ -1,2 +0,0 @@
-#!/bin/sh
-SMLNJ_HOME=__SMLNJ_HOME__ __SMLNJ_HOME__/bin/`basename $0` $*
Added: trunk/dports/lang/smlnj/files/sml.sh
===================================================================
--- trunk/dports/lang/smlnj/files/sml.sh (rev 0)
+++ trunk/dports/lang/smlnj/files/sml.sh 2007-11-22 06:42:50 UTC (rev 31391)
@@ -0,0 +1,2 @@
+#!/bin/sh
+SMLNJ_HOME=__SMLNJ_HOME__ __SMLNJ_HOME__/bin/`basename $0` $*
Added: trunk/dports/lang/smlnj/files/targets
===================================================================
--- trunk/dports/lang/smlnj/files/targets (rev 0)
+++ trunk/dports/lang/smlnj/files/targets 2007-11-22 06:42:50 UTC (rev 31391)
@@ -0,0 +1,180 @@
+# targets
+#
+# the following is a list of the targets (in addition to sml) that
+# this shell script can install. Comment out those that you do not
+# want. Note that cml-lib requires cml.
+
+#
+# Modified for use in MacPorts
+#
+
+#
+# The install script will move all libraries out of the source tree
+# and into the $LIBDIR directory. Thus, you can later delete the
+# entire source tree without losing functionality.
+# (Notice that the old "dont_move_libraries" directive broke a while ago
+# and has been removed.)
+#
+
+# (The base system consisting of runtime, compiler, and basic libraries
+# will always be built.)
+
+# unpack the source code for everything (including for the SML/NJ compiler
+# itself); this is not required, unless you are doing compiler hacking,
+# but it may be interesting to look at.
+#
+request src-smlnj
+
+# build new (Unicode-capable) ML-ULex
+#
+request ml-ulex
+#
+# Arrange for the .lex suffix to be recognized by CM as (new-style)
+# ML-ULex input.
+# (Notice that you should NOT select this option even if you want to have
+# ml-ulex process legacy ml-lex input using the --ml-lex-mode option.)
+# Since most existing projects have legacy .lex files, this should be
+# kept off by default.
+# WARNING: This is incompatible with ml-lex-lex-ext!!
+request ml-ulex-lex-ext
+#
+# Register the "mllex" CM tool class in such a way that "legacy" ml-lex
+# input is processed by "ml-ulex --ml-lex-mode".
+# (If you want the .lex extension to be mapped to the "mllex" class
+# and have that be processed by ml-ulex, you should request
+# ml-ulex-mllex-tool and ml-lex-lex-ext, but NOT ml-ulex-lex-ext.)
+# WARNING: This is incompatible with ml-lex-mllex-tool!!
+request ml-ulex-mllex-tool
+
+# build legacy ML-Lex
+#
+request ml-lex
+#
+# Register the "mllex" CM tool class in such a way that "legacy" ml-lex
+# input is processed by the legacy ml-lex program.
+# WARNING: This is incompatible with ml-ulex-mllex-tool!!
+#request ml-lex-mllex-tool
+#
+# Arrange for the .lex suffix to be recognized by CM as legacy ml-lex input.
+# This requires that either ml-lex-mllex-tool or ml-ulex-mllex-tool
+# (but not both at the same time!) is installed.
+# Since most existing projects have legacy .lex files, this should be
+# kept on by default.
+# WARNING: This is incompatible with ml-ulex-lex-ext!!
+#request ml-lex-lex-ext
+
+# build ML-Yacc (must come after ml-lex)
+#
+request ml-yacc
+#
+# Arrange for the .grm suffix to be recognized by CM as ML-Yacc input.
+# Since .grm files in most existing project are ML-Yacc input, this should be
+# kept on by default.
+# WARNING: This is incompatible with ml-antlr-grm-ext!!
+request ml-yacc-grm-ext
+
+# Always: install the pre-compiled ML-Yacc Library; this is necessary
+# to use parsers produced by ML-Yacc, but also to bootstrap the system
+# in the first place.
+
+# build ML-Antlr
+#
+#request ml-antlr
+#
+# Arrange for the .grm suffix to be recognized by CM as ML-Antlr input.
+# Since .grm files in most existing project are ML-Yacc input, this should be
+# kept off by default.
+# WARNING: This is incompatible with ml-yacc-grm-ext!!
+#request ml-antlr-grm-ext
+
+# utility library for ml-antlr and ml-ulex
+#
+request ml-lpt-lib
+
+# Always: install the pre-compiled SML/NJ Library (necessary to bootstrap).
+
+# build ML-Burg
+#
+request ml-burg
+
+# pre-compile and install the remaining components of the SML/NJ library
+# (everything except smlnj-lib.cm, aka Util, itself)
+#
+request smlnj-lib
+
+# pre-compile and install CM "portable graph" utility library
+#
+request pgraph-util
+
+# pre-compile and install "Trace-Debug-Profile" utility library
+# (provides simple back-trace- and coverage facilities)
+#
+request tdp-util
+
+# pre-compile and install Concurrent ML, which is a library for message-passing
+# concurrency.
+#
+request cml
+
+# pre-compile and install the CML Library, which provides some useful CML
+# modules.
+#
+request cml-lib
+
+# pre-compile and install eXene, which is a library for X-Windows programming.
+# EXene requires CML.
+#
+request eXene
+
+# pre-compile (certain) parts of MLRISC that are not already part of the SML/NJ
+# compiler itself
+#
+request mlrisc
+
+# pre-compile and install the C-Kit, which is a library for parsing and
+# type-checking C programs
+#
+request ckit
+
+# pre-compile and install the ML-NLFFI Library, which is the core of
+# a new foreign function interface (where "foreign" functions are
+# "no longer foreign")
+# This library is necessary to compile and/or run programs that use
+# the new FFI.
+# This preview release currently works under X86/Linux, Sparc/Solaris,
+# PPC/MacOSX, and X86/Win32.
+#
+request ml-nlffi-lib
+
+# build ML-NLFFI-Gen, a program generator tool used in conjunction with
+# the new "NLFFI" foreign function interface. The tool generates ML
+# glue code from C source code.
+# (Requires ckit!)
+# This preview release currently works under X86/Linux, Sparc/Solaris,
+# PPC/MacOSX, and X86/Win32.
+#
+request ml-nlffigen
+
+# pre-compile and install the MLRISC Tools library.
+# This library is for parsing and pretty printing SML code.
+# It's used by various MLRISC code generator generator.
+#
+request mlrisc-tools
+
+# Build and install the 'nowhere' program translator.
+# This tool translates programs with conditional patterns (where clauses)
+# into legal SML code. See MLRISC/Tools/Doc/nowhere.tex for its
+# (bad) documentation.
+# (Requires the mlrisc-tools library!)
+#
+request nowhere
+
+# Build and install 'heap2asm' - an experimental component of
+# a new facility for producing true stand-alone executables.
+request heap2asm
+
+# Note: autoloading is always enabled.
+# In order to customize what is being pre-registered for autoloading
+# edit file "preloads". You should make sure that it contains at least
+# "$smlnj/cm.cm".
+# Also, it is a good idea to have "$/basis.cm" pre-loaded.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20071121/c10258b7/attachment.html
More information about the macports-changes
mailing list