./lang/ocaml, The latest implementation of the Caml dialect of ML

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 4.14.1, Package name: ocaml-4.14.1, Maintainer: jaapb

Objective Caml is the latest implementation of the Caml dialect of ML. The main
novelties compared with its ancestor, Caml Light, are:

* Full support for objects and classes -- here combined for the first time
with ML-style type reconstruction.
* A powerful module calculus in the style of Standard ML (but retaining
separate compilation).
* A high-performance native code compiler (in addition to a Caml
Light-style bytecode compiler).


Required to build:
[pkgtools/cwrappers]

Package options: pic

Master sites:

Filesize: 5369.12 KB

Version history: (Expand)


CVS history: (Expand)


   2023-04-09 09:28:27 by Thomas Klausner | Files touched by this commit (4)
Log message:
ocaml: fix some pkglint
   2023-04-09 09:27:48 by Thomas Klausner | Files touched by this commit (4) | Package updated
Log message:
ocaml: update to 4.14.1.

OCaml 4.14.1 (20 December 2022)
------------------------------

### Bug fixes:

- #11803, #11808: on x86, the destination of an integer comparison must be
  a register, it cannot be a stack slot.
  (Vincent Laviron, review by Xavier Leroy, report by
   Emilio Jesús Gallego Arias)

OCaml 4.14.1
-----------------------------

### Compiler user-interface and warnings:

- #11184, #11670: Stop calling ranlib on created / installed libraries
  (Sébastien Hinderer and Xavier Leroy, review by the same)

### Build system:

- #11370, #11373: Don't pass CFLAGS to flexlink during configure.
  (David Allsopp, report by William Hu, review by Xavier Leroy and
   Sébastien Hinderer)

- #11487: Thwart FMA test optimization during configure
  (William Hu, review by David Allsopp and Sébastien Hinderer)

### Bug fixes:

- #10768, #11340: Fix typechecking regression when combining first class
  modules and GADTs.
  (Jacques Garrigue, report by François Thiré, review by Matthew Ryan)

- #11204: Fix regression introduced in 4.14.0 that would trigger Warning 17 when
  calling virtual methods introduced by constraining the self type from within
  the class definition.
  (Nicolás Ojeda Bär, review by Leo White)

- #11263, #11267: caml/{memory,misc}.h: check whether `_MSC_VER` is defined
  before using it to ensure that the headers can always be used in code which
  turns on -Wundef (or equivalent).
  (David Allsopp and Nicolás Ojeda Bär, review by Nicolás Ojeda Bär and
   Sébastien Hinderer)

- #11314, #11416: fix non-informative error message for module inclusion
  (Florian Angeletti, report by Thierry Martinez, review by Gabriel Scherer)

- #11358, #11379: Refactor the initialization of bytecode threading,
  This avoids a "dangling pointer" warning of GCC 12.1.
  (Xavier Leroy, report by Armaël Guéneau, review by Gabriel Scherer)

- #11387, module type with constraints no longer crash the compiler in presence
  of both shadowing warnings and the `-bin-annot` compiler flag.
  (Florian Angeletti, report by Christophe Raffalli, review by Gabriel Scherer)

- #11392, #11392: assertion failure with -rectypes and external definitions
  (Gabriel Scherer, review by Florian Angeletti, report by Dmitrii Kosarev)

- #11417: Fix regression allowing virtual methods in non-virtual classes.
  (Leo White, review by Florian Angeletti)

- #11468: Fix regression from #10186 (OCaml 4.13) detecting IPv6 on Windows for
  mingw-w64 i686 port.
  (David Allsopp, review by Xavier Leroy and Sébastien Hinderer)

- #11489, #11496: More prudent deallocation of alternate signal stack
  (Xavier Leroy, report by @rajdakin, review by Florian Angeletti)

- #11516, #11524: Fix the `deprecated_mutable` attribute.
  (Chris Casinghino, review by Nicolás Ojeda Bär and Florian Angeletti)

- #11194, #11609: Fix inconsistent type variable names in "unbound type \ 
var"
  messages
  (Ulysse Gérard and Florian Angeletti, review Florian Angeletti and
   Gabriel Scherer)

- #11622: Prevent stack overflow when printing a constructor or record
  mismatch error involving recursive types.
  (Florian Angeletti, review by Gabriel Scherer)

- #11732: Ensure that types from packed modules are always generalised
  (Stephen Dolan and Leo White, review by Jacques Garrigue)

- #11737: Fix segfault condition in Unix.stat under Windows in the presence of
  multiple threads.
  (Marc Lasson, Nicolás Ojeda Bär, review by Gabriel Scherer and David Allsopp)

- #11776: Extend environment with functor parameters in `strengthen_lazy`.
  (Chris Casinghino and Luke Maurer, review by Gabriel Scherer)

- #11533, #11534: follow synonyms again in #show_module_type
  (this had stopped working in 4.14.0)
  (Gabriel Scherer, review by Jacques Garrigue, report by Yaron Minsky)

- #11768, #11788: Fix crash at start-up of bytecode programs in
  no-naked-pointers mode caused by wrong initialization of caml_global_data
  (Xavier Leroy, report by Etienne Millon, review by Gabriel Scherer)
   2022-10-23 15:09:30 by Havard Eidnes | Files touched by this commit (1)
Log message:
lang/ocaml: let this build for NetBSD powerpc before 9.99.99 too.

...by enabling --enable-imprecise-c99-float-ops in those cases,
fma(3) was added to powerpc between 9.99.98 and 9.99.99.
   2022-10-08 13:11:16 by Nia Alarie | Files touched by this commit (1)
Log message:
ocaml: Needs imprecise-c99-float-ops to build on NetBSD/arm
   2022-06-24 14:30:09 by Greg Troxel | Files touched by this commit (1)
Log message:
lang/ocaml: Add workaround for NetBSD/i386 build

The build errored with:
  configure: error: fma does not work, enable emulation with \ 
--enable-imprecise-c99-float-ops
and thus that arg is passed to configure.

With the change, ocaml builds, and that unison builds and works.

(No change on any other platform.)
   2022-05-24 20:25:38 by Jaap Boender | Files touched by this commit (25) | Package updated
Log message:
Updated lang/ocaml to version 4.14.0.

This is a long-overdue update, so there are many changes. Details are in
the Changes file in the distribution.

The mk/ocaml file will be moved to lang/ocaml and the logic for selecting
whether to use the native-code compiler will be factored out into
native.mk to avoid duplications.

This is the final version before OCaml 5.0 arrives, which has
multicore support and should be a major change from the 4.x versions.
   2022-03-26 20:19:07 by Jaap Boender | Files touched by this commit (2)
Log message:
PLIST fix for lang/ocaml for non-native architectures

This fixes the PLIST for architectures that do not use OCaml's native
compiler; other architectures should not be affected.

Thanks to Havard Eidnes and Martin Husemann for reporting the error.
   2021-11-29 17:24:52 by Jonathan Perkin | Files touched by this commit (1)
Log message:
ocaml: Use OPSYS_VERSION.