[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