caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] OCaml 4.00.0 compatibility report
@ 2012-05-31 11:33 Damien Doligez
  0 siblings, 0 replies; only message in thread
From: Damien Doligez @ 2012-05-31 11:33 UTC (permalink / raw)
  To: caml users

Hello world,

I have compiled the following software with the latest
development version of OCaml 4.00.0 (which is very near beta).

See below for a list of what I had to patch to get these to compile.
The packages I had to patch are marked here with a * or a -
The patch files are available at this address:
  http://gallium.inria.fr/~doligez/ocaml-4.00.0-compatibility-patches/

  advi-1.10.2.tar.gz
  alt-ergo-0.94.tar.gz
* bin_prot-2.0.3.tar.gz
* boomerang-0.2-source.tar.gz
* calendar-2.03.1.tar.gz
  camldbm-1.0.tgz
  camlimages-4.0.1.tar.bz2
# camlp5-6.05.tgz
* camlzip-1.04.tar.gz
  camomile-0.8.4.tar.bz2
  config-file-1.1.tar.gz
* coq-8.3pl4.tar.gz
* core-107.01.tar.gz
- core_extended-107.01.tar.gz
- cryptokit-1.5.tar.gz
* extlib-1.5.2.tar.gz
- fieldslib-107.01.tar.gz
* findlib-1.3.1.tar.gz
* frama-c-Nitrogen-20111001.tar.gz
  gw-6.04-src.tgz
* haxe-2.10dev.tar.gz
* hevea-1.10.tar.gz
  lablgtk-2.14.2.tar.gz
* lablgtkextras-1.1.tar.gz
* lwt-2.3.2.tar.gz
  menhir-20111019.tar.gz
* mldonkey-3.1.2.tar.gz
  oasis-0.3.0~rc6.tar.gz
* obrowser-1.1.1.tar.gz
- ocaml-data-notation-0.0.6.tar.gz
- ocaml-expect-0.0.2.tar.gz
- ocaml-fileutils-0.4.3.tar.gz
  ocaml-mysql-1.0.4.tar.gz
  ocaml-ssl-0.4.6.tar.gz
- ocaml-text-0.5.tar.gz
  ocamlgraph-1.8.2.tar.gz
  ocamlify-0.0.1.tar.gz
  ocamlmod-0.0.1.tar.gz
* ocamlnet-3.5.1.tar.gz
  ocamlscript-2.0.2.tar.bz2
  ocgi-0.5.tar.gz
* ocsigen-bundle-2.1a.tar.gz
* omake-0.9.8.6-0.rc1.tar.gz
- ounit-1.1.1.tar.gz
  pcre-ocaml-6.2.5.tar.gz
  react-0.9.3.tbz
  res-release-3.2.0.tar.gz
- sexplib-7.0.2.tar.gz
* sks-1.1.3.tgz
* sqlite3-ocaml-1.6.3
- type-conv-2.3.0.tar.gz
  unison-2.45.4.tar.gz
* vsyml-2010-04-06.tar.gz
* xml-light-2.2.zip
  xmlm-1.1.0.tbz
  zen_2.3.2.tar.gz

-----------------------------------------------------------

First, a number of packages use a version of oasis that is not
compatible with OCaml 4.00.0 and their setup.ml had to be patched
(with patch file oasis-common.patch).
Oasis has now been updated, and fixing this is just a matter of
regenerating setup.ml.  These packages are:

bin_prot, core, core_extended, cryptokit, fieldslib, lwt,
ocaml-data-notation, ocaml-expect, ocaml-fileutils, ocaml-text, ounit,
sexplib, type-conv

The packages marked above with a - didn't need any other change.


Here is a summary of the other patches:

bin_prot: 1 line
  Change myocamlbuild.ml to remove -Werror from gcc flags.

boomerang: 1 line
  Change Makefile to remove "doc" from subdirs

calendar: 2 lines
  Change configure to accept OCaml versions >= 4.00.0

camlp5:
  Daniel is working on a new version to accomodate some big changes in
  OCaml 4.00.0

camlzip: 11 lines
  Change Makefile to configure the location of libz.a
  Add a META file for findlib
  Install zlib.{cmi,cmx,mli}

coq: 5 lines
  Change configure to accept OCaml 4.*
  Change coqmktop.ml to use the new compiler-libs stuff.
  Note: not tested with the very latest OCaml 4.00 because camlp5 is
  not yet available.

core: 2 lines
  Change core_unix.{ml,mli} to add constructor O_SHARE_DELETE to type open_flag

extlib: 1 line
  Change extHashtbl.ml to adapt to the change of Hashtbl.create

findlib: 3 lines
  Change Makefile and topfind.p to use the new compiler-libs stuff
  [ patch courtesy of Jonathan Protzenko ]

frama-c: 41 lines
  Change many files to adapt to the change of Hashtbl.create
  Change configure to accept OCaml 4.*

gw-6.04-src (geneweb):
  Note: not tested with the very latest OCaml 4.00 because camlp5 is
  not yet available.

haxe: 1 line
  Change extHashtbl.mli to adapat to the change of Hashtbl.create

hevea: 2 lines
  Change hevea.ml to remove target file in case of error
  Change Makefile to pass LIBDIR and LATEXLIBDIR to install script

lablgtkextras: 2 lines
  Change checkocaml.ml and Makefiles to adapt to the default install
  of lablgtk

lwt: 4 lines
  Change lwt_unix.mli and lwt_unix.ml to add constructor O_SHARE_DELETE to
    type open_flag
  Change myocamlbuild.ml to adapt to the new compiler-libs stuff

mldonkey: 3 lines
  Change configure to accept OCaml 4.*
  Change Makefile to fix bug when FIX_BROKEN_CPP is defined

oasis: 8 lines
  Change setup.ml to handle OCaml version numbers with a + suffix

obrowser-1.1: many lines
  Change in Makefile to add .PHONY annotation to AXO (my filesystem is
    case-insensitive, so AXO interferes with axo)
  Change Makefile to accept OCaml 4.*
  Update pervasives.ml, pervasives.mli, list.ml, list.mli to reflect OCaml
    changes

ocamlnet: 3 lines
  Change netsys_posix.ml to remove useless dependence on the precise definition
    of Unix.open_flag
  Change Makefile.def to adapt to the new compiler-libs stuff

ocsigen-bundle: 5 lines
  Change Makefiles to remove non-standard use of \n in sed commands
  Change configure to use pre-installed lwt and to not build eliom

omake: 1 line
  Change in OMakefiles to remove "-warn-error A"

sks: 5 lines
  Change Makefile.local to configure libdb and install dir for man pages

sqlite3-ocaml: 2 lines
  Change Makefile to remove "-warn-error A"

vsyml: 4 lines
  Changes in Makefile to remove non-portable "echo -n"

xml-light: 3 lines
  Changes in Makefile to install in a subdirectory of .../lib/ocaml
    This is needed because xml-light exports xml.cmi and ocsigen has a
    file xML.mli.  These two conflict because my filesystem is case-insensitive.

-- Damien


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-05-31 11:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-31 11:33 [Caml-list] OCaml 4.00.0 compatibility report Damien Doligez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).