platforms /bin/sh gets one something uselessly broken.
Also, don't set MAKE to Solaris's make on Solaris; while this might be
necessary building standalone, in pkgsrc it's foolish.
Instead of extracting the runtime twice for src/ and base/ and then
haphazardly patching either or both copies, patch only one copy and
create the other *after* patching.
(better yet would be not to copy the thing at all, but I think there
are smlnj reasons you can't do that)
struct declaration is always bit compatible with it. (Because it
isn't.) My patches from PR 40954 circa 2009, which it turns out is
still relevant even after the last couple updates. (Just for some
reason it had stopped crashing.)
This does not make smlnj build for me, but it gets further than it
used to.
I've run into local problems with COMPAT_32 so this only gets a short
distance in before I can't run it any further, but I'm going to commit
anyway as "broken package" > "no package", and with luck I'll get it
sorted out fully before much longer.
Also allow amd64 Linux as the necessary hacks for that seem to already
be in place.
SML/NJ 110.73 provides a number of new library features,
including a new library for working with HTML 4, as well
as many bug fixes.
Details:
CM:
+ Added boolean literals (true and false) to the
conditional-expression syntax in CM. Thus, you can write
#if true structure Foo #endif
in a CM file. This change is meant to make it easier to use
autoconf to configure the build process of an SML
application.
ML-Yacc:
+ Fixed ml-yacc examples to respect the changed signatures
with respect to TextIO.inputLine.
SML/NJ Library:
+ Added findExe function to PathUtil module.
+ Modified the implementation of GetOpt.usageInfo so that if
the help string has embedded newlines, then the extra lines
are properly indented.
+ Changed the interface of JSONStreamParser to support both
parsing files and TextIO.instreams.
+ Added HTML4 library.
+ Fixed bug in hashed cons library (bug #55).
+ Added array iterators to DynamicArray module.
Concurrent ML:
+ The paths used to specify the CML versions of libraries in
a CM file have been rationalized (bug #68)
$cml/basis.cm -- the CML version of $/basis.cm
$cml/cml.cm -- core CML features
$cml/cml-lib.cm -- CML library code
$cml/trace-cml.cm -- TraceCML library for debugging
$cml/smlnj-lib.cm -- CML version of the $/smlnj-lib.cm library
$cml/inet-lib.cm -- CML version of the $/inet-lib.cm library
$cml/unix-lib.cm -- CML version of the $/unix-lib.cm library
Note that the old naming scheme is still supported, but may
be removed in some future version.
+ Added Barriers module to CML.
+ Fixed the Win32 socket and polling implementation to work
correctly with CML. Signature of poll was wrong and didn't
handle sockets at all.
MLRISC:
+ Added support for the RTDSC and RTDSCP instructions to the
amd64 code generator.
"The latest working version (110.45) fixes some installation problems
caused by incompatibilities with GCC 3.3. Earlier, 110.44 brought our
implementation of the Basis library closer to the specification, fixed
several important bugs, and provided support for Mac OS X 10.3
(Panther). The previous working release (110.43) offered an operational
win32 port, added IntInf support to compiler and Basis library, and also
updated many interfaces of the Basis according to the latest draft of
the specification."
Provided by Jesper Louis Andersen in PR pkg/24586.
Also fixes PR pkg/23480.