Commit graph

38 commits

Author SHA1 Message Date
wiz 342a34d8ba polyml: update to 5.9.
Provided by Pete Padilla in pkgsrc-wip.

Changes:

Native code-generator for ARM/64

There is now a native code-generator for the 64-bit ARM architecture.
All features of Poly/ML are supported, including FFI and compact-32
bits. It has been tested on a variety of platforms and operating
systems including Mac M1, Windows and WSL as well as the Raspberry
Pi on Raspbian and even big-endian NetBSD. At the moment the
code-generator does no optimisation so the performance should
improve in future releases.

Position-independent code for X86/64 and ARM64

The code segments in object files created by PolyML.export for
X86/64 and ARM64 are now position-independent on Linux and Mac/OS.
This is necessary for some platforms and desirable on others. Text
relocations are still generated on the X86/32 since changing this
would require changes to the code-generator.

New bootstrap process

The initial build process has been changed to reduce the number of
pre-built compilers required. The build process takes longer than
before but the final code will be the same.

Minor Changes

*   Additional FFI conversions for size_t, ssize_t, long long, unsigned long long, ptrdiff_t, intptr_t and uintptr_t.
*   Fix to build problem for 5.8.2 on big-endian.
*   Fix to underlying sleep function that could fail in BSD.
*   Fixes for some problems in Unix.execute and Unix.executeInEnv introduced in the changes in 5.8.2.
*   Fixes for Foreign.LowLevel.cTypeUint and cTypeULong which were incorrectly signed rather than unsigned.
*   Fix for systems where PTHREAD_STACK_MIN is a function rather than a constant.
*   Fixes to profiling of live data.
*   Fixed printing of type functions when the type is passed as an argument to a functor.
*   Fix to passing struct argument in SysV x86/64.
2023-03-05 20:19:11 +00:00
wiz 26dff996d7 polyml: remove NOT_FOR_BULK_PLATFORM
The PR the comment above that references is closed as 'fixed'.

(This does not build for me on NetBSD-current/amd64 though.)
2022-12-21 11:51:21 +00:00
adam b6d9bd86bc revbump for icu and libffi 2021-12-08 16:01:42 +00:00
nia 2176cc7249 lang: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes

The following distfiles could not be fetched (possibly fetched
conditionally?):

./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-linux-musl.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-netbsd.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-armv7-unknown-netbsd-eabihf.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-i686-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-sparc64-unknown-netbsd.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-apple-darwin.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-freebsd.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-musl.tar.gz
./lang/smlnj/distinfo smlnj-110.73/boot.ppc-unix.tgz
./lang/smlnj/distinfo smlnj-110.73/boot.sparc-unix.tgz
./lang/oracle-jre8/distinfo jce_policy-8.zip
./lang/oracle-jre8/distinfo jre-8u202-linux-i586.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-linux-x64.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-macosx-x64.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-solaris-x64.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-linux-i586.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-linux-x64.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-solaris-x64.tar.gz
./lang/ghc80/distinfo ghc-7.10.3-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc80/distinfo ghc-8.0.2-boot-i386-unknown-freebsd.tar.xz
./lang/ghc80/distinfo ghc-8.0.2-boot-x86_64-unknown-freebsd.tar.xz
./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/rust/distinfo rust-1.53.0-aarch64-apple-darwin.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64_be-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-arm-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-1.53.0-i686-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust/distinfo rust-1.53.0-sparc64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-apple-darwin.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-freebsd.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-illumos.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-apple-darwin.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64_be-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-arm-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-std-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-std-1.53.0-i686-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust/distinfo rust-std-1.53.0-sparc64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-apple-darwin.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-freebsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-linux-gnu.tar.gz
./lang/smlnj11072/distinfo smlnj-110.72/boot.ppc-unix.tgz
./lang/smlnj11072/distinfo smlnj-110.72/boot.sparc-unix.tgz
./lang/ghc84/distinfo ghc-8.0.2-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz
./lang/ghc7/distinfo ghc-7.10.3-boot-i386-unknown-freebsd.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-i386-unknown-solaris2.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-powerpc-apple-darwin.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc90/distinfo ghc-8.10.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-aarch64-unknown-netbsd.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-i386-unknown-freebsd.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-apple-darwin.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-unknown-freebsd.tar.xz
./lang/openjdk8/distinfo openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz
./lang/openjdk8/distinfo openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz
./lang/openjdk8/distinfo openjdk7/bootstrap-jdk-1.8.181-netbsd-8-aarch64-20180917.tar.xz
./lang/openjdk8/distinfo openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.6-amd64-20140719.tar.bz2
./lang/openjdk8/distinfo openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2
./lang/go-bin/distinfo go1.14.2.darwin-amd64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-386.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-amd64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-arm64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-armv6l.tar.gz
./lang/go-bin/distinfo go1.14.2.netbsd-arm64.tar.gz
./lang/go-bin/distinfo go1.16beta1.darwin-arm64.tar.gz
./lang/gcc6-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/ghc810/distinfo ghc-8.8.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/sun-jre7/distinfo UnlimitedJCEPolicyJDK7.zip
./lang/sun-jre7/distinfo jre-7u80-linux-x64.tar.gz
./lang/sun-jre7/distinfo jre-7u80-solaris-i586.tar.gz
./lang/sun-jre7/distinfo jre-7u80-solaris-x64.tar.gz
./lang/ghc88/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/gcc-aux/distinfo ada-bootstrap.i386.dragonfly.36A.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.dragonfly.36A.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/gcc6/distinfo ecj-4.5.jar
./lang/openjdk11/distinfo bootstrap-jdk-1.11.0.7.10-netbsd-9-aarch64-20200509.tar.xz
./lang/sun-jdk7/distinfo jdk-7u80-linux-x64.tar.gz
./lang/sun-jdk7/distinfo jdk-7u80-solaris-i586.tar.gz
./lang/sun-jdk7/distinfo jdk-7u80-solaris-x64.tar.gz
2021-10-26 10:51:29 +00:00
nia 1361343c24 lang: Remove SHA1 hashes for distfiles 2021-10-07 14:20:45 +00:00
jaapb e06183bf1a Updated distinfo for lang/polyml for patch with comment 2021-03-05 13:57:17 +00:00
jaapb 76227f63ae Reinstated comment in patch for lang/polyml 2021-03-05 13:56:25 +00:00
jaapb 03c54328eb Updated lang/polyml to 5.8.1.
Changes since last version: an option to create a version that supports
32-bit values for the X86/64 platform with a heap size of up to 16Gb.

Otherwise, minor bugfixes and changes.

The package has also been updated to remove some superfluous patches that
have been moved upstream and fix a build problem reported in PR pkg/55569
2021-03-05 09:19:58 +00:00
dholland 98c01ed350 In light of PR 55569, mark lang/polyml NOT_FOR_BULK_PLATFORM *-*-*.
(It loops during the build, at least on amd64 netbsd. It hasn't
apparently been compilable at all in some time, so this should not
make it any less available.)
2020-08-14 00:47:10 +00:00
dholland 0835b799fc Need to run paxctl during the build, not just after it.
(Otherwise the runtime load, which maps memory rwx, fails.)

Not sure how this ever worked anytime in the last N years...
2020-08-14 00:43:24 +00:00
dholland 068fab5db5 Fix broken build on NetBSD amd64. 2020-08-13 23:49:20 +00:00
bsiegert 23f9d8e845 Revbump packages depending on libffi after .so version change.
Requested by Matthias Ferdinand and Oskar on pkgsrc-users.
2020-03-08 16:42:24 +00:00
rillig 9637f7852e all: migrate homepages from http to https
pkglint -r --network --only "migrate"

As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
2020-01-26 17:30:40 +00:00
joerg ac423dde85 Needs to be build as gnu++03. Doesn't work yet due to PaX mprotect
restrictions.
2019-12-19 22:18:47 +00:00
rillig 8c6aee8563 lang: align variable assignments
pkglint -Wall -F --only aligned --only indent -r

No manual corrections.
2019-11-03 19:03:56 +00:00
alnsn 5146e87d86 Add buildlink3.mk. 2019-06-12 19:32:44 +00:00
alnsn 8b102708f3 Update to version 5.7.1. Switch to github releases.
Major Changes

   This release fixes a number of bugs and timing issues in version 5.7 mainly related to the code-generator.
2019-05-02 18:24:58 +00:00
rillig 4760eca917 Replaced $(ROUND) with ${CURLY} variable references.
This has been a pkglint warning for several years now, and pkglint can even
fix it automatically. And it did for this commit.

Only in lang/mercury, two passes of autofixing were necessary because there
were nested variables.
2018-01-01 18:16:35 +00:00
asau e8316ef148 Disassociate myself from NetBSD project. 2017-09-17 15:04:23 +00:00
asau d65755abdc Update to Poly/ML 5.7.
Changes are not known.
2017-09-15 23:51:04 +00:00
asau 1c8e64c7dd Update to Poly/ML 5.6.
Changes include major improvements of FFI.
2016-03-01 19:50:10 +00:00
dholland 41c6e246f4 Add patch comments. 2015-12-29 23:34:43 +00:00
agc 54622f28e2 Add SHA512 digests for distfiles for lang category
Problems found with existing digests:
	Package nhc98 distfile nhc98src-1.22.tar.gz
	a8adc8f22371998ee0657bc0e01058a57d876abc [recorded]
	81975fcb5f1dda5efeaabc30ce8c6dceae55e591 [calculated]

Problems found locating distfiles:
	Package gcc-aux: missing distfile ada-bootstrap.i386.dragonfly.36A.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.i386.freebsd.84.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.x86_64.dragonfly.36A.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.x86_64.freebsd.84.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.x86_64.solaris.511.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.i386.dragonfly.36A.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.i386.freebsd.84.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.x86_64.dragonfly.36A.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.x86_64.freebsd.84.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.x86_64.solaris.511.tar.bz2
	Package ghc7: missing distfile ghc-7.6.3-boot-i386-unknown-freebsd.tar.xz
	Package icc11: missing distfile l_cproc_p_11.1.080.tgz
	Package jini: missing distfile jini-1_2_1_001-src.zip
	Package oo2c: missing distfile oo2c_32-2.0.11.tar.bz2
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-5-i386-20150301.tar.xz
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-6-i386-20150301.tar.xz
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-earmv6hf-20150306.tar.xz
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-5-i386-20150301.tar.xz
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-6-i386-20150301.tar.xz
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-earmv6hf-20150306.tar.xz
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2
	Package oracle-jdk8: missing distfile jdk-8u60-linux-i586.tar.gz
	Package oracle-jdk8: missing distfile jdk-8u60-solaris-x64.tar.gz
	Package oracle-jre8: missing distfile jre-8u60-linux-i586.tar.gz
	Package oracle-jre8: missing distfile jre-8u60-solaris-x64.tar.gz
	Package sun-jdk6: missing distfile jdk-6u45-linux-i586.bin
	Package sun-jdk6: missing distfile jdk-6u45-solaris-i586.sh
	Package sun-jdk7: missing distfile jdk-7u72-linux-i586.tar.gz
	Package sun-jdk7: missing distfile jdk-7u72-solaris-i586.tar.gz
	Package sun-jre6: missing distfile jce_policy-6.zip
	Package sun-jre6: missing distfile jre-6u45-linux-x64.bin
	Package sun-jre6: missing distfile jre-6u45-solaris-x64.sh
	Package sun-jre7: missing distfile jre-7u72-linux-i586.tar.gz
	Package sun-jre7: missing distfile jre-7u72-solaris-i586.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 22:50:31 +00:00
asau d740bbabb1 Make compiler wrapper add RPATH. 2014-09-29 00:55:00 +00:00
asau b310c74377 Use C++ frontend to link the code.
This makes the package build and function on FreeBSD 10 with Clang.
2014-09-24 09:47:41 +00:00
asau 9a60e2f6b3 Provide flag to set correct RPATH in pkg-config. 2014-09-23 15:13:23 +00:00
asau f9885687af Update to Poly/ML 5.5.2
Most of the changes are bug fixes.  One major fix was to the
intermediate code optimiser reported back in September.
Other changes are the addition of PrettyStringWithWidth and
PrettyLineBreak constructors to the PolyML.pretty datatype,
Thread.Thread.numPhysicalProcessors to return the number of
physical processors and printing ?.t in circumstances where t is
bound to a different type.  The debugger has been extended to
include structures and the arguments to functors.
2014-09-13 18:23:38 +00:00
asau eae7f1779e Fix compilation script to actually work. 2014-03-05 22:14:17 +00:00
asau 828af5795b Update to Poly/ML 5.5.1
Contributed by Imre Vadasz on pkgsrc-users (slightly adapted).


Changes in Poly/ML Version 5.5.1

Major New Features and Changes

  * The intermediate code optimiser has been largely rewritten.
    The optimiser now detects various additional cases where a
    closures or tuples can be stored on the stack rather than
    requiring heap storage
  * The match compiler that processes a sequence of patterns in a
    case or fun-binding has been reworked. This now handles
    complex matches that used to result in a code blow-up
  * A"polyc" script has been added to aid compiling and linking
    ML code to produce a stand-alone binary. This is intended as
    an analogue of cc and gcc. The easiest way to build a binary
    is now to put the ML code into a file (foo.ML) with a
    function "main" that is the entry point to the code. Then run
    polyc -o foo foo.ML
    The script takes care of any libraries that may be required.
    It does require that the poly binary and libraries have been
    installed to the location that was specified in the configure
    script.
  * Set the default in the configure script not to build a shared
    library. This can be overidden with --enable-shared. The
    advantage of this is that binaries created from Poly/ML,
    including poly itself, do not require libpolyml at run-time.
  * Additions and changes to the command-line options when
    starting the ML top-level
      + The --eval option can be followed by a string which is
        compiled and executed before the top-level is entered
      + The --script option can be used to allow ML code to be
        run as a script (a "shell script") in Unix. It reads the
        file name given as the last option, skipping the first
        line if it begins #!. Implies -q option. Note: because of
        the way scripts pass their options if used this must be
        the only option. To use ML as a script put the ML code
        into a file, put
        #! /usr/local/bin/poly --script
        as the first line, modifying the path depending on where
        poly is installed, and set the file to have execute
        permission.
      + The -q option now sets the print depth to zero as well as
        suppressing the start-up message
      + The input prompt (> or #) is only produced if the input
        is a terminal. The -i option should be used to cause the
        prompt to be produced if, for example, the input is from
        a pipe.

Minor Additions and Changes

  * The -H option now sets the initial heap size rather than
    being a synonym for --minheap
  * Add large file support
  * When printing the fields a record print them in alphabetical
    order rather than the system order used in the compiler
  * Convert the representation of the statistics to use ASN1
    encoding. This is byte-order and word-length independent and
    allows 32-bit Poly/ML to read the statistics of 64-bit Poly/
    ML on the same machine and vice-versa.
  * Add a substructure Exception to the PolyML structure to hold
    all the functions related to exceptions.
  * The default for --gc-threads is now the number of independent
    physical processors. Hyperthreaded cores are counted as
    single cores rather than dual cores.
  * Improve the GC and allocation code for very large arrays
  * Improve handling of OS.Process.system in Cygwin
  * Improved versions of Word32 and Word64. These are used for
    SystemWord and LargeWord.

Bug Fixes

  * Fix Word32.fromLargeInt which could return values outside the
    range of Word32
  * Fix segfault in PolyML.stackTrace
  * Fix errors in conversion of string to real values
  * Fix segfault when a thread created in foreign code called an
    ML callback
  * Fix profiler which could often report UNKNOWN function
  * Fix bug with overlapped areas in ArraySlice.copy
  * Fix InternalError exception with ML code where a fixed record
    type could not be found
  * Fix bug with equality on BoolVector.vector
  * Raise the correct exception (Size) for negative lengths in
    canInput and inputN
  * Fix Real.fromInt with an argument that was an arbitrary
    precision number in the long form
  * Fix error in the timing information printed with
    PolyML.timing true in Windows.
  * Fix occasional problem with input/output as a result of the
    stream token being represented by an immutable value but then
    being checked for equality
  * Fix bug in X86-64 code-generator with literal constants that
    do not fit in 32-bits. It could result in an "InternalError:
    gen32s: invalid word" exception. Includes regression test.
  * Fix LargWord.fromInt which was wrong for large negative
    values
  * Fix bug in power-of-two function in code-generator. This
    caused an infinite loop with Word.* when multiplying by a
    constant with the highest bit set and not a power of two.
  * Fix bug in structure matching code
  * Use ELF_Rela relocation structures for all relocations in
    X86-64. Some systems e.g. Solaris require this.
2013-12-15 18:35:22 +00:00
asau 027ed6f51f Use pkgsrc libffi instead of bundled one. Ride the update. 2012-10-08 14:34:06 +00:00
asau 40c33e628f Regenerate. 2012-10-08 14:33:32 +00:00
asau 131feab096 Update to Poly/ML 5.5
Changes in Poly/ML Version 5.5

Major New Features

    Storage management rewrite. The storage management system
    has been almost completely rewritten. The garbage collector
    is parallelised and a new mechanism has been introduced to
    adjust the size of the heap. When space is very short an
    extra pass may be triggered that merges immutable cells with
    the same contents. Thanks to Tobias Nipkow and the Technical
    University of Munich for support for this work.

    PolyML.shareCommonData has been parallelised and now uses a
    dynamic stack to avoid a possible segfault if the C stack
    overflows with deep data structures.

    There is now support for 64-bit on Windows using either
    mingw or Visual Studio.

    Added a PolyML.Statistics structure to extract information
    about the current ML program or that running in another
    process.

    The standard "text" and "data" areas are now used for
    exported object files. In particular this removes the need
    for --segprot when linking the object files on Mac OS X with
    previous versions.

    libffi is now used for foreign function interface
    (CInterface). Among other things this allows the full range
    of types to be use on X86/64. A version of libffi is
    included in the source but those packaging Poly/ML may
    prefer to use the --with-system-libffi option to the
    configure script to use the version installed on the
    machine.

    Withdrawn support for native-code on PPC and Sparc. The
    configure script will now fall back to the interpreted
    version on these platforms.


Minor Additions and Changes

    Added G, M, K suffix to RTS arguments for --maxheap and --minheap.

    Some changes to where "op" is allowed to conform more
    closely to the Definition.

    --debug and --logfile options. These allow fine control of
    debugging information within the run-time system.

    Added --error-exit option to terminate the top-level loop if
    any command raises an exception.

    Added PolyML.IntInf with gcd and lcm functions to use GMP's
    gcd function if available.

    Added PolyML.Compiler.allocationProfiling to work with
    PolyML.profiling 4. This causes each full GC to print a
    profile indicating where the currently live data has been
    allocated.

    Removed NetDB structure from the library since this was in
    an early draft of the basis library but not in the final book.

    Added PolyML.Codetree structure within PolyML. This allows
    ML code to build intermediate code data structures and
    generate machine code from them.

    Added "--use FILENAME" command line argument to run a command
    from a file before starting the main Read-Eval-Print loop.


Bug Fixes

    Fixes related to Word32 on X86-64 and Word.~>>.

    Vol allocation locking issue

    Floating point box issue

    Fix some functions in the Windows structure to match the
    Basis Library definition

    Fix a possible crash if a GC happened while another thread
    was in foreign code.

    Fix error in printer function for a datatype where the
    effect of PolyML.print_depth depended on the posiition
    of a constructor in the datatype.

    Fix bug with flexible record handling.

    Fix Real.fmt and Real.toString to conform to the Basis
    Library definition.

    Fix Real.abs with nan argument.

    Fix IEEEReal.toString for nan argument.

    Fix code-generator bug which resulted in incorrect result
    for Real.nextAfter.

    Fix bug the produced Subscript exceptions in stream IO.
2012-10-08 14:26:03 +00:00
asau 88feb4ac62 Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days. 2012-10-02 20:11:34 +00:00
asau d4fd6b573b The package doesn't require GMP, turn it off, provide option instead. 2012-06-15 09:20:28 +00:00
sbd 9b51a89d48 Add missing devel/gmp buildlink.
Bump PKGREVISION.
2012-06-14 22:23:36 +00:00
asau 26be040688 Update to Poly/ML 5.4.1
Changes in Poly/ML Version 5.4

Major New Features

 * Major rewrite of the X86 code-generator and combining the 32 and
   64-bit versions into a single module. It now supports the floating
   point instructions.
 * Changes to the way functions with polymorphic equality are
   handled to eliminate the "structural equality" code.
 * Uses the GMP library if that is available when Poly/ML is
   built otherwise falls back to the old Poly/ML code.

Minor Additions and Changes

 * Added a SingleAssignment structure
 * Support for the Itanium processor using the interpreted version.
 * Various bug fixes.
2012-03-22 20:48:43 +00:00
asau 9731203d36 Update to Poly/ML Version 5.3
Major New Features

  - Addition of IDE interface support.
  - Changes to pretty-printing and equality. These are now inherited
    across module boundaries. Addition of PolyML.addPrettyPrinter
    to install a new-style pretty printer.
  - Reworked implementation of signatures reducing the memory
    requirements when a named signature is used in multiple places.
  - Improvements to printing of types and error messages.

Minor Additions and Changes

  - Support for out-of-tree builds
  - Added finalisation for foreign-function interface (CInterface)
  - Removed remaining support for ML90
  - Added PolyML.sourceLocation pseudo-function that returns the current
    source location, PolyML.raiseWithLocation that raises an exception
    with an explicit location and PolyML.exceptionLocation that returns
    the location where an exception was raised.
  - Added PolyML.Compiler.reportUnreferencedIds switch to enable reporting
    of unreferenced identifiers.
  - Added breakEx and clearEx to debugger functions.
    These enter the debugger when the code raises a given exception.
  - Improvement to resonsiveness to pipes especially in Windows.
  - Added X86-64 version of Word32 structure. 64-bit machines
    do not require 32-bit values to be "boxed".

Bug Fixes

  - Now builds on Mac OS X 10.6 (Snow Leopard)
  - Fix multi-threading on Sparc but now only supports v9 processors.
  - Fix timing-related crash when Poly/ML exits
  - Fix string argument to OS.SysErr exception
  - Fix to OS.FileSys.mkDir in Windows
  - Fix to pow(~1, n) where n is even
  - Various fixes to conform more closely to the standard.
2009-12-13 23:26:25 +00:00
asau 0264aa662c Import Poly/ML version 5.2.1
Poly/ML is Standard ML implementation originating from Cambridge University.
2009-03-20 21:12:51 +00:00