summaryrefslogtreecommitdiff
path: root/lang/smlnj/patches
diff options
context:
space:
mode:
authorasau <asau@pkgsrc.org>2009-09-22 14:48:47 +0000
committerasau <asau@pkgsrc.org>2009-09-22 14:48:47 +0000
commit2dbe767acfbe6c3b02aaa3b25473618aafebb0d3 (patch)
tree00b1141674749a8e32c9c9ab7f7d19134a313fdd /lang/smlnj/patches
parent037f267e1046219a1421d7265e9558d37d93f3f4 (diff)
downloadpkgsrc-2dbe767acfbe6c3b02aaa3b25473618aafebb0d3.tar.gz
Update to SML/NJ 110.71.
Numerous changes since version 110.42 include AMD64 support and loads of bug fixes, detailed list of changes is at http://www.smlnj.org/dist/working/110.71/NOTES/HISTORY
Diffstat (limited to 'lang/smlnj/patches')
-rw-r--r--lang/smlnj/patches/patch-aa44
-rw-r--r--lang/smlnj/patches/patch-ac23
-rw-r--r--lang/smlnj/patches/patch-af59
-rw-r--r--lang/smlnj/patches/patch-ah10
-rw-r--r--lang/smlnj/patches/patch-ai10
-rw-r--r--lang/smlnj/patches/patch-aj8
-rw-r--r--lang/smlnj/patches/patch-ak12
-rw-r--r--lang/smlnj/patches/patch-al15
-rw-r--r--lang/smlnj/patches/patch-ar20
-rw-r--r--lang/smlnj/patches/patch-as15
-rw-r--r--lang/smlnj/patches/patch-at17
11 files changed, 100 insertions, 133 deletions
diff --git a/lang/smlnj/patches/patch-aa b/lang/smlnj/patches/patch-aa
index cde8be31d44..855a15a1581 100644
--- a/lang/smlnj/patches/patch-aa
+++ b/lang/smlnj/patches/patch-aa
@@ -1,8 +1,8 @@
-$NetBSD: patch-aa,v 1.4 2004/06/06 04:38:29 snj Exp $
+$NetBSD: patch-aa,v 1.5 2009/09/22 14:48:47 asau Exp $
---- config/targets.orig Thu Oct 10 12:02:10 2002
-+++ config/targets
-@@ -41,7 +41,7 @@ request ml-lex
+--- config/targets.orig 2007-07-23 23:48:33.000000000 +0400
++++ config/targets 2009-03-18 12:36:35.000000000 +0300
+@@ -91,7 +91,7 @@
# build ML-Burg
#
@@ -11,42 +11,36 @@ $NetBSD: patch-aa,v 1.4 2004/06/06 04:38:29 snj Exp $
# pre-compile and install the remaining components of the SML/NJ library
# (everything except smlnj-lib.cm, aka Util, itself)
-@@ -50,7 +50,7 @@ request smlnj-lib
+@@ -100,7 +100,7 @@
# pre-compile and install CM "portable graph" utility library
#
-#request pgraph-util
+request pgraph-util
- # pre-compile and install Concurrent ML, which is a library for message-passing
- # concurrency.
-@@ -65,12 +65,12 @@ request cml-lib
+ # pre-compile and install "Trace-Debug-Profile" utility library
+ # (provides simple back-trace- and coverage facilities)
+@@ -120,7 +120,7 @@
# pre-compile and install eXene, which is a library for X-Windows programming.
# EXene requires CML.
#
-#request eXene
+request eXene
- # pre-compile and install the C-Kit, which is a library for parsing and
- # type-checking C programs
- #
--#request ckit
-+request ckit
-
- # pre-compile and install the ML-NLFFI Library, which is the core of
- # a new foreign function interface (where "foreign" functions are
-@@ -79,7 +79,7 @@ request cml-lib
- # the new FFI.
- # This preview release currently works only under X86/Linux.
+ # pre-compile (certain) parts of MLRISC that are not already part of the SML/NJ
+ # compiler itself
+@@ -140,7 +140,7 @@
+ # This preview release currently works under X86/Linux, Sparc/Solaris,
+ # PPC/MacOSX, and X86/Win32.
#
-#request ml-nlffi-lib
+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
-@@ -87,13 +87,13 @@ request cml-lib
- # (Requires ckit!)
- # This preview release currently works only under X86/Linux.
+@@ -149,13 +149,13 @@
+ # This preview release currently works under X86/Linux, Sparc/Solaris,
+ # PPC/MacOSX, and X86/Win32.
#
-#request ml-nlffigen
+request ml-nlffigen
@@ -60,12 +54,12 @@ $NetBSD: patch-aa,v 1.4 2004/06/06 04:38:29 snj Exp $
# Build and install the 'nowhere' program translator.
# This tool translates programs with conditional patterns (where clauses)
-@@ -101,7 +101,7 @@ request cml-lib
+@@ -163,7 +163,7 @@
# (bad) documentation.
# (Requires the mlrisc-tools library!)
#
-#request nowhere
+request nowhere
- # Note: autoloading is always enabled.
- # In order to customize what is being pre-registered for autoloading
+ # Build and install 'heap2asm' - an experimental component of
+ # a new facility for producing true stand-alone executables.
diff --git a/lang/smlnj/patches/patch-ac b/lang/smlnj/patches/patch-ac
index 810b8399fa4..6a1c20aef56 100644
--- a/lang/smlnj/patches/patch-ac
+++ b/lang/smlnj/patches/patch-ac
@@ -1,17 +1,22 @@
-$NetBSD: patch-ac,v 1.3 2003/07/01 23:19:14 jtb Exp $
+$NetBSD: patch-ac,v 1.4 2009/09/22 14:48:47 asau Exp $
---- config/_arch-n-opsys.orig
-+++ config/_arch-n-opsys
-@@ -106,11 +106,13 @@
+--- config/_arch-n-opsys.orig 2008-08-13 22:37:59.000000000 +0400
++++ config/_arch-n-opsys 2009-01-27 17:24:34.000000000 +0300
+@@ -118,13 +118,15 @@
+ ;;
NetBSD)
- OPSYS=netbsd
+ case `uname -r` in
+- 2*) OPSYS=netbsd2;;
+- 3*) OPSYS=netbsd;;
+- *) exit 1;;
++ 1.*) exit 1;;
++ 2.*) OPSYS=netbsd2;;
++ *) OPSYS=netbsd;;
+ esac
HEAP_OPSYS=bsd
- case `uname -m` in
+ case `uname -p` in
- i386) ARCH=x86;;
- i486) ARCH=x86;;
- i586) ARCH=x86;;
- i686) ARCH=x86;;
+ *86) ARCH=x86;;
+ powerpc) ARCH=ppc;;
+ sparc) ARCH=sparc;;
*) exit 1;;
diff --git a/lang/smlnj/patches/patch-af b/lang/smlnj/patches/patch-af
index c79a187c2e2..359d77624a3 100644
--- a/lang/smlnj/patches/patch-af
+++ b/lang/smlnj/patches/patch-af
@@ -1,8 +1,8 @@
-$NetBSD: patch-af,v 1.4 2006/03/28 21:35:27 gavan Exp $
+$NetBSD: patch-af,v 1.5 2009/09/22 14:48:47 asau Exp $
---- src/runtime/mach-dep/signal-sysdep.h.orig 2002-10-10 19:20:04.000000000 +0100
-+++ src/runtime/mach-dep/signal-sysdep.h
-@@ -147,7 +147,7 @@ extern void SetFSR(int);
+--- src/runtime/mach-dep/signal-sysdep.h.orig 2006-02-27 17:47:32.000000000 +0000
++++ src/runtime/mach-dep/signal-sysdep.h 2006-03-09 19:15:48.000000000 +0000
+@@ -171,7 +171,7 @@
/* disable all FP exceptions */
# define SIG_InitFPE() SetFSR(0)
@@ -11,9 +11,9 @@ $NetBSD: patch-af,v 1.4 2006/03/28 21:35:27 gavan Exp $
/** SPARC, SUNOS **/
# define USE_ZERO_LIMIT_PTR_FN
# define SIG_FAULT1 SIGFPE
-@@ -318,6 +318,19 @@ extern void SetFSR();
-
- # define SIG_Flags 0
+@@ -340,6 +340,19 @@
+ # define SIG_ResetFPE(scp) { (scp)->regs->gpr[PT_FPSCR] = 0x0; }
+ typedef void SigReturn_t;
+# elif (defined(TARGET_PPC) && defined(OPSYS_NETBSD))
+ /* PPC, NetBSD */
@@ -28,49 +28,6 @@ $NetBSD: patch-af,v 1.4 2006/03/28 21:35:27 gavan Exp $
+# define SIG_GetCode(info,scp) (info)
+ typedef void SigReturn_t;
+
-
# endif /* HOST_RS6000/HOST_PPC */
-@@ -463,35 +476,15 @@ extern Addr_t *ML_X86Frame; /* used to
-
- # elif defined(OPSYS_NETBSD)
- /** x86, NetBSD **/
--/* NetBSD (including versions 1.0 and 1.1) generates SIGBUS rather
-- than SIGFPE for overflows. The real fix is a trivial change to
-- kernel sources, which has already been reported (NetBSD internal
-- problem identification "port-i386/1833").
--
-- If you want to fix this on your NetBSD system. Edit machdep.c in
-- directory /sys/arch/i386/i386, and find the line
--
-- setgate(&idt[ 4], &IDTVEC(ofl), 0, SDT_SYS386TGT, SEL_KPL);
--
-- Change SEL_KPL to SEL_UPL. With SEL_KPL, the int overflow trap is
-- not accessible at user level, and a protection fault occurs instead
-- (thus the seg fault). SEL_UPL will allow user processes to generate
-- this trap.
--
-- For the change to take effect, recompile your kernel, install it
-- and reboot. */
--# define SIG_FAULT1 SIGFPE
--# define SIG_FAULT2 SIGBUS
--# define INT_DIVZERO(s, c) 0
--# define INT_OVFLW(s, c) (((s) == SIGFPE) || ((s) == SIGBUS))
--
--# define SIG_GetCode(info, scp) (info)
--# define SIG_GetPC(scp) ((scp)->sc_pc)
--# define SIG_SetPC(scp, addr) { (scp)->sc_pc = (long)(addr); }
-+# define SIG_FAULT1 SIGFPE
-+# define INT_DIVZERO(s, c) ((s) == SIGFPE)
-+# define INT_OVFLW(s, c) ((s) == SIGFPE)
-+
-+# define SIG_GetCode(info, scp) (0)
-+# define SIG_GetPC(scp) ((scp)->uc_mcontext.__gregs[_REG_EIP])
-+# define SIG_SetPC(scp, addr) {(scp)->uc_mcontext.__gregs[_REG_EIP] = (long)(addr); }
- # define SIG_ZeroLimitPtr(scp) { ML_X86Frame[LIMITPTR_X86OFFSET] = 0; }
-
-- typedef void SigReturn_t;
--
- # elif defined(OPSYS_SOLARIS)
- /** x86, Solaris */
-
+ #elif defined(HOST_HPPA)
diff --git a/lang/smlnj/patches/patch-ah b/lang/smlnj/patches/patch-ah
index 1b02b90a330..ceab16ebea4 100644
--- a/lang/smlnj/patches/patch-ah
+++ b/lang/smlnj/patches/patch-ah
@@ -1,12 +1,12 @@
-$NetBSD: patch-ah,v 1.1 2003/03/21 22:54:40 wiz Exp $
+$NetBSD: patch-ah,v 1.2 2009/09/22 14:48:47 asau Exp $
---- config/_link-sml.orig Thu Oct 17 02:44:32 2002
-+++ config/_link-sml
-@@ -17,6 +17,7 @@ unset ENV
+--- config/_link-sml.orig 2005-01-03 21:13:16.000000000 +0000
++++ config/_link-sml 2005-12-24 22:04:13.000000000 +0000
+@@ -17,6 +17,7 @@
#
# SITE SPECIFIC CONFIGURATION INFO
#
+SMLNJ_HOME="${SMLNJ_HOME:-@SML_BASE@}"
# the path of the directory in which executables (like this file) are kept.
- if [ x${SMLNJ_HOME} = x ] ; then
+ if [ x"$SMLNJ_HOME" = x ] ; then
diff --git a/lang/smlnj/patches/patch-ai b/lang/smlnj/patches/patch-ai
index 8cc829b6443..6fd8d93e519 100644
--- a/lang/smlnj/patches/patch-ai
+++ b/lang/smlnj/patches/patch-ai
@@ -1,12 +1,12 @@
-$NetBSD: patch-ai,v 1.1 2003/03/21 22:54:40 wiz Exp $
+$NetBSD: patch-ai,v 1.2 2009/09/22 14:48:47 asau Exp $
---- config/_ml-build.orig Thu Oct 17 02:44:32 2002
-+++ config/_ml-build
+--- config/_ml-build.orig 2007-02-13 00:05:27.000000000 +0300
++++ config/_ml-build 2009-03-18 12:37:58.000000000 +0300
@@ -1,5 +1,7 @@
#!@SHELL@
+SMLNJ_HOME="${SMLNJ_HOME:-@SML_BASE@}"
+
if [ x${SMLNJ_HOME} = x ] ; then
- BIN_DIR=@BINDIR@
- else
+ BIN_DIR="@BINDIR@"
+ LIB_DIR="@LIBDIR@"
diff --git a/lang/smlnj/patches/patch-aj b/lang/smlnj/patches/patch-aj
index a7a17d7a436..212a0d59464 100644
--- a/lang/smlnj/patches/patch-aj
+++ b/lang/smlnj/patches/patch-aj
@@ -1,12 +1,12 @@
-$NetBSD: patch-aj,v 1.1 2003/03/21 22:54:41 wiz Exp $
+$NetBSD: patch-aj,v 1.2 2009/09/22 14:48:47 asau Exp $
---- config/_ml-makedepend.orig Thu Oct 17 02:44:32 2002
-+++ config/_ml-makedepend
+--- config/_ml-makedepend.orig 2004-12-14 23:23:38.000000000 +0000
++++ config/_ml-makedepend 2005-12-24 22:48:05.000000000 +0000
@@ -1,5 +1,7 @@
#!@SHELL@
+SMLNJ_HOME="${SMLNJ_HOME:-@SML_BASE@}"
+
if [ x${SMLNJ_HOME} = x ] ; then
- BIN_DIR=@BINDIR@
+ BIN_DIR="@BINDIR@"
else
diff --git a/lang/smlnj/patches/patch-ak b/lang/smlnj/patches/patch-ak
index 9ee9184fc87..15866b9ec80 100644
--- a/lang/smlnj/patches/patch-ak
+++ b/lang/smlnj/patches/patch-ak
@@ -1,12 +1,12 @@
-$NetBSD: patch-ak,v 1.1 2003/03/21 22:54:41 wiz Exp $
+$NetBSD: patch-ak,v 1.2 2009/09/22 14:48:47 asau Exp $
---- config/_run-sml.orig Thu Oct 17 02:44:32 2002
-+++ config/_run-sml
-@@ -19,6 +19,7 @@ unset ENV
+--- config/_run-sml.orig 2004-12-17 21:12:23.000000000 +0000
++++ config/_run-sml 2005-12-24 22:50:18.000000000 +0000
+@@ -19,6 +19,7 @@
#
# SITE SPECIFIC CONFIGURATION INFO
#
+SMLNJ_HOME="${SMLNJ_HOME:-@SML_BASE@}"
- # the path of the directory in which executables (like this file) are kept.
- if [ x${SMLNJ_HOME} = x ] ; then
+ # On cygwin, make sure SMLNJ_HOME is given a POSIX-style pathname.
+ if [ x"$SMLNJ_HOME" != x ] ; then
diff --git a/lang/smlnj/patches/patch-al b/lang/smlnj/patches/patch-al
deleted file mode 100644
index 4e9dcebe7ed..00000000000
--- a/lang/smlnj/patches/patch-al
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-al,v 1.3 2004/06/06 04:38:29 snj Exp $
-
---- src/runtime/objs/mk.x86-netbsd.orig 2000-11-06 13:41:04.000000000 -0800
-+++ src/runtime/objs/mk.x86-netbsd 2004-06-05 21:16:03.000000000 -0700
-@@ -9,8 +9,8 @@ MAKE = gmake
-
- ARFLAGS = Trcv
- CC = gcc -ansi
--CFLAGS = -O2
--CPP = gcc -x c -E -P -ansi
-+CFLAGS = @CFLAGS@
-+CPP = gcc -x assembler-with-cpp -E -P
- #CPP = /usr/bin/cpp -P
-
- XOBJS =
diff --git a/lang/smlnj/patches/patch-ar b/lang/smlnj/patches/patch-ar
index e535a48e51a..8d0b2212d2a 100644
--- a/lang/smlnj/patches/patch-ar
+++ b/lang/smlnj/patches/patch-ar
@@ -1,9 +1,11 @@
-$NetBSD: patch-ar,v 1.1 2006/03/28 21:35:27 gavan Exp $
+$NetBSD: patch-ar,v 1.2 2009/09/22 14:48:47 asau Exp $
---- src/runtime/include/ml-unixdep.h.orig 2002-10-12 02:03:50.000000000 +0100
-+++ src/runtime/include/ml-unixdep.h
-@@ -309,14 +309,14 @@ extern char *sys_errlist[];
- #elif defined(OPSYS_NETBSD)
+NetBSD has POSIX signals since 2.0 at least.
+
+--- src/runtime/include/ml-unixdep.h.orig 2008-12-05 20:57:39.000000000 +0300
++++ src/runtime/include/ml-unixdep.h 2009-03-19 00:14:35.000000000 +0300
+@@ -323,7 +323,7 @@
+ #elif defined(OPSYS_NETBSD) /* version 3.x */
# define OS_NAME "BSD"
# define HAS_POSIX_LIBRARIES
-# define HAS_BSD_SIGS
@@ -11,11 +13,3 @@ $NetBSD: patch-ar,v 1.1 2006/03/28 21:35:27 gavan Exp $
# define HAS_GETRUSAGE
# define HAS_SETITIMER
# define HAS_MMAP
- # define HAS_SELECT
- # define HAS_SCALBN
- # define HAS_ILOGB
--# define HAS_SIGCONTEXT
-+# define HAS_UCONTEXT
- # define HAS_STRERROR
-
- #endif
diff --git a/lang/smlnj/patches/patch-as b/lang/smlnj/patches/patch-as
new file mode 100644
index 00000000000..c25cd6b814b
--- /dev/null
+++ b/lang/smlnj/patches/patch-as
@@ -0,0 +1,15 @@
+$NetBSD: patch-as,v 1.1 2009/09/22 14:48:47 asau Exp $
+
+NetBSD has POSIX signals since 2.0 at least.
+
+--- base/runtime/include/ml-unixdep.h.orig 2008-12-05 20:57:39.000000000 +0300
++++ base/runtime/include/ml-unixdep.h 2009-03-19 00:16:29.000000000 +0300
+@@ -323,7 +323,7 @@
+ #elif defined(OPSYS_NETBSD) /* version 3.x */
+ # define OS_NAME "BSD"
+ # define HAS_POSIX_LIBRARIES
+-# define HAS_BSD_SIGS
++# define HAS_POSIX_SIGS
+ # define HAS_GETRUSAGE
+ # define HAS_SETITIMER
+ # define HAS_MMAP
diff --git a/lang/smlnj/patches/patch-at b/lang/smlnj/patches/patch-at
new file mode 100644
index 00000000000..7ad49df90f6
--- /dev/null
+++ b/lang/smlnj/patches/patch-at
@@ -0,0 +1,17 @@
+$NetBSD: patch-at,v 1.1 2009/09/22 14:48:47 asau Exp $
+
+NetBSD has POSIX signals since 2.0 at least.
+Don't unpack archive, since it is hard to fix,
+unpack before patch phase instead.
+
+--- config/install.sh.orig 2007-06-12 20:43:58.000000000 +0400
++++ config/install.sh 2009-03-19 00:47:06.000000000 +0300
+@@ -316,7 +316,7 @@
+ if [ -x "$RUNDIR"/run.$ARCH-$OPSYS ]; then
+ vsay $this: Run-time system already exists.
+ else
+- "$CONFIGDIR"/unpack "$ROOT" runtime
++# "$CONFIGDIR"/unpack "$ROOT" runtime
+ cd "$BASEDIR"/runtime/objs
+ echo $this: Compiling the run-time system.
+ $MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS