Subject: CVS commit: pkgsrc/lang/ocaml
From: Jaap Boender
Date: 2013-11-01 11:47:50
Message id: 20131101104750.7186196@cvs.netbsd.org

Log Message:
Update of lang/ocaml to its newest version, 4.01. Changes, apart from
bugfixes, include:

- Labltk: updated to Tcl/Tk 8.6.
Type system:
- use well-disciplined type information propagation to
  disambiguate label and constructor names
* Propagate type information towards pattern-matching, even in the presence of
  polymorphic variants (discarding only information about possibly-present
  constructors). As a result, matching against absent constructors is no longer
  allowed for exact and fixed polymorphic variant types.
* Reject multiple declarations of the same method or instance variable
  in an object
- raise an error when multiple private keywords are used in type
  declarations
- parsetree rewriter (-ppx flag)
- ocamldep now supports -absname
- On "unbound identifier" errors, use spell-checking to suggest names
  present in the environment
- ocamlc has a new option -dsource to visualize the parsetree
- tools/eqparsetree compares two parsetree ignoring location
- ocamlopt now uses clang as assembler on OS X if available, which enables
  CFI support for OS X.
- Added a new -short-paths option, which attempts to use the shortest
  representation for type constructors inside types, taking open modules
  into account. This can make types much more readable if your code
  uses lots of functors.
- added flag -compat-32 to ocamlc, ensuring that the generated
  bytecode executable can be loaded on 32-bit hosts.
- warning on open statements which shadow an existing
  identifier (if it is actually used in the scope of the open); new
  open! syntax to silence it locally
* warning 3 is extended to warn about other deprecated features:
  - ISO-latin1 characters in identifiers
  - uses of the (&) and (or) operators instead of (&&) and (||)
- Experimental OCAMLPARAM for ocamlc and ocamlopt
- incorrect ordinal number in error message
- add signature to Tstr_include
- expose a way to inspect the current call stack,
  Printexc.get_callstack
- new flag Marshal.Compat_32 for the serialization functions
  (Marshal.to_*), forcing the output to be readable on 32-bit hosts.
- infix application operators |> and @@ in Pervasives
- add O_CLOEXEC flag to Unix.openfile, so that the returned
  file descriptor is created in close-on-exec mode
* more efficient implementation of caml_modify() and caml_initialize().
  The new implementations are less lenient than the old ones: now,
  the destination pointer of caml_modify() must point within the minor or
  major heaps, and the destination pointer of caml_initialize() must
  point within the major heap.
- Moved debugger/envaux.ml to typing/envaux.ml to publish env_of_only_summary
  as part of compilerlibs, to be used on bin-annot files.
- The test suite can now be run without installing OCaml first.

Files:
RevisionActionfile
1.86modifypkgsrc/lang/ocaml/Makefile
1.38modifypkgsrc/lang/ocaml/Makefile.common
1.25modifypkgsrc/lang/ocaml/PLIST
1.20modifypkgsrc/lang/ocaml/PLIST.opt
1.29modifypkgsrc/lang/ocaml/buildlink3.mk
1.72modifypkgsrc/lang/ocaml/distinfo
1.3modifypkgsrc/lang/ocaml/patches/patch-Makefile
1.2modifypkgsrc/lang/ocaml/patches/patch-asmrun_Makefile
1.6modifypkgsrc/lang/ocaml/patches/patch-configure
1.2modifypkgsrc/lang/ocaml/patches/patch-otherlibs_labltk_camltk_Makefile
1.3modifypkgsrc/lang/ocaml/patches/patch-otherlibs_threads_Makefile
1.2modifypkgsrc/lang/ocaml/patches/patch-tools_ocamlmklib