From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p5GF1V0R014661 for ; Thu, 16 Jun 2011 17:01:32 +0200 X-IronPort-AV: E=Sophos;i="4.65,375,1304287200"; d="txt'?scan'208";a="101403224" Received: from macadam.dapa.lip6.fr (HELO [192.168.1.3]) ([132.227.203.124]) by mail4-relais-sop.national.inria.fr with ESMTP/TLS/AES128-SHA; 16 Jun 2011 17:01:28 +0200 From: Damien Doligez Content-Type: multipart/mixed; boundary=Apple-Mail-3--783193267 Date: Thu, 16 Jun 2011 17:01:28 +0200 Message-Id: <0EC5BE6E-FBB1-4B89-8362-5F9005AE7B84@inria.fr> To: caml users Mime-Version: 1.0 (Apple Message framework v1084) X-Mailer: Apple Mail (2.1084) Subject: [Caml-list] OCaml 3.12.1 compatibility report --Apple-Mail-3--783193267 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii OCaml 3.12.1 Compatibility Report I have compiled the following software with the latest release candidate of OCaml (3.12.1+rc1). 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 * * advi-1.9.0.tar.gz alt-ergo-0.93.tar.gz bin_prot-1.3.1.tar.gz * boomerang-0.2-source.tar.gz * cameleon-1.9.21.tar.gz * camlimages-4.0.0.tar.bz2 camomile-0.8.2.tar.bz2 camlp5-6.02.2.tgz * camlzip-1.04.tar.gz config-file-1.0.tar.gz coq-8.3pl2.tar.gz core-0.7.0.tar.gz core_extended-0.7.0.tar.gz cryptokit-1.4.tar.gz extlib-1.5.1.tar.gz fieldslib-0.1.2.tar.gz findlib-1.2.7.tar.gz frama-c-Carbon-20110201.tar.gz * hevea-1.10.tar.gz lablgtk-2.14.2.tar.gz * lablgtkextras-1.0.tar.gz lwt-2.3.0.tar.gz menhir-20110201.tar.gz * oasis-0.2.0.tar.gz * obrowser-1.1.tar.gz * ocaml-data-notation-0.0.3.tar.gz ocaml-expect-0.0.2.tar.gz * ocaml-fileutils-0.4.2.tar.gz ocaml-mysql-1.0.4.tar.gz ocaml-sqlite3-release-1.6.1.tar.gz ocaml-ssl-0.4.5.tar.gz ocaml-text-0.4.tar.gz ocamlgraph-1.7.tar.gz ocamlify-0.0.1.tar.gz ocamlnet-3.2.1.tar.gz ocgi-0.5.tar.gz ocsigen-1.3.4.tar.gz * omake-0.9.8.6-0.rc1.tar.gz ounit-1.1.0.tar.gz pcre-ocaml-release-6.2.2.tar.gz react-0.9.2.tbz res-release-3.2.0.tar.gz sexplib-5.2.1.tar.gz sks-1.1.1.tgz type-conv-2.3.0.tar.gz unison-2.40.63.tar.gz * vsyml-2010-04-06.tar.gz * xml-light-2.2.zip zen_2.3.2.tar.gz ----------------------------------------------------------- This is what I had to patch because of problems unrelated to 3.12.1: advi: 2 lines Change Makefile to link with graphics and lablgtk boomerang: 1 line Change Makefile to remove "doc" from subdirs cameleon: 5 lines Change ed_main.ml to remove call to GtkThread.set_do_jobs_delay Change checkocaml.ml: detection of lablgtkextras depends on xml-light configuration camlimages: 15 lines Add oPng.mli and oJpeg.mli Change META file to add archives camlimages.cma and .cmxa (neeed for advi) camlzip: 10 lines Change Makefile to configure the location of libz.a Add a META file for findlib 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: 40 lines Change checkocaml.ml and Makefiles to detect where is xml-light installed (see xml-light below) oasis: 8 lines Change setup.ml to handle OCaml version numbers with a + suffix obrowser-1.1: 13 lines Change in Makefile to add .PHONY annotation to AXO (my filesystem is case-insensitive, so AXO interferes with axo). Update pervasives.ml and pervasives.mli to reflect OCaml changes since 3.= 11.1 ocaml-data-notation: 3 lines Change in Makefile to follow name change of "type-conv.syntax" to "type-c= onv" Changes in pa_odn.ml to remove extraneous occurrences "_loc" ocaml-fileutils: 2 lines Changes in Makefile to remove use of non-portable "install -t" omake: 1 line Change in OMakefiles to remove "-warn-error A" Note: DO NOT use "-warn-error A" in released code. 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 conflict because my filesystem is case-insensitive. -- Damien --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=REPORT-3.12.1.txt Content-Type: text/plain; name="REPORT-3.12.1.txt" Content-Transfer-Encoding: quoted-printable OCaml 3.12.1 Compatibility Report I have compiled the following software with the latest release candidate of OCaml (3.12.1+rc1). 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 * * advi-1.9.0.tar.gz alt-ergo-0.93.tar.gz bin_prot-1.3.1.tar.gz * boomerang-0.2-source.tar.gz * cameleon-1.9.21.tar.gz * camlimages-4.0.0.tar.bz2 camomile-0.8.2.tar.bz2 camlp5-6.02.2.tgz * camlzip-1.04.tar.gz config-file-1.0.tar.gz coq-8.3pl2.tar.gz core-0.7.0.tar.gz core_extended-0.7.0.tar.gz cryptokit-1.4.tar.gz extlib-1.5.1.tar.gz fieldslib-0.1.2.tar.gz findlib-1.2.7.tar.gz frama-c-Carbon-20110201.tar.gz * hevea-1.10.tar.gz lablgtk-2.14.2.tar.gz * lablgtkextras-1.0.tar.gz lwt-2.3.0.tar.gz menhir-20110201.tar.gz * oasis-0.2.0.tar.gz * obrowser-1.1.tar.gz * ocaml-data-notation-0.0.3.tar.gz ocaml-expect-0.0.2.tar.gz * ocaml-fileutils-0.4.2.tar.gz ocaml-mysql-1.0.4.tar.gz ocaml-sqlite3-release-1.6.1.tar.gz ocaml-ssl-0.4.5.tar.gz ocaml-text-0.4.tar.gz ocamlgraph-1.7.tar.gz ocamlify-0.0.1.tar.gz ocamlnet-3.2.1.tar.gz ocgi-0.5.tar.gz ocsigen-1.3.4.tar.gz * omake-0.9.8.6-0.rc1.tar.gz ounit-1.1.0.tar.gz pcre-ocaml-release-6.2.2.tar.gz react-0.9.2.tbz res-release-3.2.0.tar.gz sexplib-5.2.1.tar.gz sks-1.1.1.tgz type-conv-2.3.0.tar.gz unison-2.40.63.tar.gz * vsyml-2010-04-06.tar.gz * xml-light-2.2.zip zen_2.3.2.tar.gz ----------------------------------------------------------- This is what I had to patch because of problems unrelated to 3.12.1: advi: 2 lines Change Makefile to link with graphics and lablgtk boomerang: 1 line Change Makefile to remove "doc" from subdirs cameleon: 5 lines Change ed_main.ml to remove call to GtkThread.set_do_jobs_delay Change checkocaml.ml: detection of lablgtkextras depends on xml-light configuration camlimages: 15 lines Add oPng.mli and oJpeg.mli Change META file to add archives camlimages.cma and .cmxa (neeed for advi) camlzip: 10 lines Change Makefile to configure the location of libz.a Add a META file for findlib 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: 40 lines Change checkocaml.ml and Makefiles to detect where is xml-light installed (see xml-light below) oasis: 8 lines Change setup.ml to handle OCaml version numbers with a + suffix obrowser-1.1: 13 lines Change in Makefile to add .PHONY annotation to AXO (my filesystem is case-insensitive, so AXO interferes with axo). Update pervasives.ml and pervasives.mli to reflect OCaml changes since 3.= 11.1 ocaml-data-notation: 3 lines Change in Makefile to follow name change of "type-conv.syntax" to "type-c= onv" Changes in pa_odn.ml to remove extraneous occurrences "_loc" ocaml-fileutils: 2 lines Changes in Makefile to remove use of non-portable "install -t" omake: 1 line Change in OMakefiles to remove "-warn-error A" Note: DO NOT use "-warn-error A" in released code. 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 conflict because my filesystem is case-insensitive. --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=advi-1.9.0.patch Content-Type: application/octet-stream; name="advi-1.9.0.patch" Content-Transfer-Encoding: 7bit --- advi-1.9.0/src/Makefile.in.orig 2010-04-05 10:16:22.000000000 +0200 +++ advi-1.9.0/src/Makefile.in 2011-05-20 09:56:29.000000000 +0200 @@ -97,8 +97,8 @@ AWK = @AWK@ BUILD_DATE = @BUILD_DATE@ CAMLIMAGES_INCLUDES = @CAMLIMAGES_INCLUDES@ -CAMLIMAGES_LIBS_BYTE = @CAMLIMAGES_LIBS_BYTE@ -CAMLIMAGES_LIBS_NATIVE = @CAMLIMAGES_LIBS_NATIVE@ +CAMLIMAGES_LIBS_BYTE = graphics.cma -I +lablgtk2 lablgtk.cma @CAMLIMAGES_LIBS_BYTE@ +CAMLIMAGES_LIBS_NATIVE = graphics.cmxa -I +lablgtk2 lablgtk.cmxa @CAMLIMAGES_LIBS_NATIVE@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=boomerang-0.2.patch Content-Type: application/octet-stream; name="boomerang-0.2.patch" Content-Transfer-Encoding: 7bit --- boomerang-0.2/OMakefile.orig 2010-06-07 15:01:55.000000000 +0200 +++ boomerang-0.2/OMakefile 2010-06-07 15:02:08.000000000 +0200 @@ -126,7 +126,7 @@ ############################################################################## # Include sub-directories -SUBDIRS = common src lenses examples doc +SUBDIRS = common src lenses examples #doc .SUBDIRS: $(SUBDIRS) --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=cameleon-1.9.21.patch Content-Type: application/octet-stream; name="cameleon-1.9.21.patch" Content-Transfer-Encoding: 7bit --- cameleon-1.9.21.orig/src/editor/ed_main.ml 2011-01-13 10:57:39.000000000 +0100 +++ cameleon-1.9.21/src/editor/ed_main.ml 2011-05-03 21:32:06.000000000 +0200 @@ -75,7 +75,7 @@ in Cam_hooks.warning_message (Ed_misc.to_utf8 m); ); - GtkThread.set_do_jobs_delay 0.02; + (*GtkThread.set_do_jobs_delay 0.02;*) GtkThread.main (); Ed_view.iter_factories (fun f -> Ed_misc.catch_print_exceptions (fun () -> f#on_exit) ()); --- cameleon-1.9.21.orig/utils/checkocaml.ml 2011-01-13 10:57:39.000000000 +0100 +++ cameleon-1.9.21/utils/checkocaml.ml 2011-05-08 23:08:02.000000000 +0200 @@ -964,10 +964,10 @@ prerr_endline msg; exit 1 let _ = !print "\n### checking required tools and libraries ###\n" -let _ = +let xml_light_incs = match detect_xml_light ~modes conf with - [], [] -> !fatal_error "Could not link with Xml-light" - | l, _ -> add_subst "XMLLIGHT_INCLUDES" (string_of_includes l) + [], [] -> !fatal_error "Could not link with Xml-light"; assert false + | l, _ -> add_subst "XMLLIGHT_INCLUDES" (string_of_includes l); l let pcre_includes = match detect_pcre ~modes conf with @@ -1025,7 +1025,7 @@ let _ = let (incs,b) = - match detect_lablgtkextras ~modes lablgtk_incs conf with + match detect_lablgtkextras ~modes (lablgtk_incs @ xml_light_incs) conf with [], [] -> !fatal_error "Could not link with LablGtk-extras"; assert false | l, _ -> (string_of_includes l,true) in --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=camlimages-4.0.0.patch Content-Type: application/octet-stream; name="camlimages-4.0.0.patch" Content-Transfer-Encoding: 7bit --- camlimages-4.0.0.orig/src/oPng.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlimages-4.0.0/src/oPng.mli 2011-05-17 17:47:40.000000000 +0200 @@ -0,0 +1,4 @@ +val load_as_rgb24 : string -> Images.load_option list -> OImages.oimage +val load : string -> Images.load_option list -> OImages.oimage +val save : + string -> Images.save_option list -> < image : Images.t; .. > -> unit --- camlimages-4.0.0.orig/src/oJpeg.mli 1970-01-01 01:00:00.000000000 +0100 +++ camlimages-4.0.0/src/oJpeg.mli 2011-05-17 17:48:33.000000000 +0200 @@ -0,0 +1,9 @@ +val load : string -> Images.load_option list -> OImages.oimage +val load_thumbnail : + string -> + Images.load_option list -> Geometry.spec -> int * int * OImages.oimage +val save : string -> Images.save_option list -> OImages.oimage -> unit +val save_as_cmyk : + string -> + Images.save_option list -> + (Images.rgb -> int * int * int * int) -> OImages.oimage -> unit --- camlimages-4.0.0/src/META.in.orig 2011-05-20 09:48:04.000000000 +0200 +++ camlimages-4.0.0/src/META.in 2011-05-20 09:48:30.000000000 +0200 @@ -2,7 +2,8 @@ version = "@PACKAGE_VERSION@" description = "Objective Caml image processing library" -requires = "camlimages.core" +archive(byte) = "camlimages.cma" +archive(native) = "camlimages.cmxa" package "core" ( archive(byte) = "camlimages_core.cma" --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=camlzip-1.04.patch Content-Type: application/octet-stream; name="camlzip-1.04.patch" Content-Transfer-Encoding: 7bit --- camlzip-1.04/Makefile 2009-10-20 15:59:55.000000000 +0200 +++ camlzip-1.04/Makefile.new 2009-10-20 16:00:31.000000000 +0200 @@ -4,10 +4,10 @@ ZLIB_LIB=-lz # The directory containing the Zlib library (libz.a or libz.so) -ZLIB_LIBDIR=/usr/local/lib +ZLIB_LIBDIR=/opt/local/lib # The directory containing the Zlib header file (zlib.h) -ZLIB_INCLUDE=/usr/local/include +ZLIB_INCLUDE=/opt/local/include # Where to install the library. By default: sub-directory 'zip' of # OCaml's standard library directory. --- /dev/null 2009-10-20 16:35:40.000000000 +0200 +++ camlzip-1.04/META 2009-10-20 16:37:31.000000000 +0200 @@ -0,0 +1,6 @@ +name = "camlzip" +version = "1.04" +description = "compression library" +archive(byte) = "zip.cma" +archive(native) = "zip.cmxa" +directory = "+zip" --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=hevea-1.10.patch Content-Type: application/octet-stream; name="hevea-1.10.patch" Content-Transfer-Encoding: 7bit diff -r -u hevea-1.10 2/hevea.ml hevea-1.10/hevea.ml --- hevea-1.10 2/hevea.ml 2007-02-09 15:44:28.000000000 +0100 +++ hevea-1.10/hevea.ml 2009-08-27 17:51:55.000000000 +0200 @@ -237,6 +237,7 @@ *) end ; let _ = finalize false in + begin try Sys.remove Parse_opts.name_out with _ -> () end; prerr_endline "Adios" ; exit 2 ;; --- hevea-1.10/Makefile.orig 2009-10-28 12:18:16.000000000 +0100 +++ hevea-1.10/Makefile 2009-10-28 12:18:00.000000000 +0100 @@ -48,7 +48,7 @@ all-make: $(TARGET)-make install: config.sh - ./install.sh $(TARGET) + LIBDIR=${LIBDIR} LATEXLIBDIR=${LATEXLIBDIR} ./install.sh $(TARGET) byte: ocb-byte opt: ocb-opt --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=lablgtkextras-1.0.patch Content-Type: application/octet-stream; name="lablgtkextras-1.0.patch" Content-Transfer-Encoding: 7bit --- lablgtkextras-1.0.orig/checkocaml.ml 2011-01-13 08:39:06.000000000 +0100 +++ lablgtkextras-1.0/checkocaml.ml 2011-05-06 13:58:36.000000000 +0200 @@ -836,6 +836,37 @@ iter includes (*/c==v=[OCaml_conf.detect_lablgtk2]=0.1====*) +(*c==v=[OCaml_conf.detect_xml_light]=0.3====*) +let detect_xml_light ?(modes=[`Byte;`Opt]) conf = + let includes = + ["default install", [] ; + "+xml-light style", [Filename.concat (ocaml_libdir conf) "xml-light"] ; + ] + in + let includes = + match ocamlfind_query conf "xml-light" with + None -> includes + | Some s -> ("with ocamlfind", [s]) :: includes + in + let libs = ["xml-light.cma"] in + let f (mes, includes) mode = + let mes = Printf.sprintf "checking for Xml-light (%s) %s... " + (string_of_mode mode) mes + in + can_link ~mes mode conf ~includes ~libs [] + in + let rec iter = function + [] -> ([], []) + | incs :: q -> + let f = f incs in + if List.for_all f modes then + (snd incs, libs) + else + iter q + in + iter includes +(*/c==v=[OCaml_conf.detect_xml_light]=0.3====*) + let detect_cairo ?(modes=[`Byte;`Opt]) conf = let includes = ["default install", ["+cairo"]] in let includes = @@ -894,6 +925,11 @@ | s, _ -> add_subst "LABLGTK2_INCLUDES" s ;; let _ = + match detect_xml_light ~modes conf with + [], [] -> !fatal_error "Could not link with Xml-light" + | l, _ -> add_subst "XMLLIGHT_INCLUDES" (string_of_includes l) +;; +let _ = let lablgladecc = try ocaml_prog "lablgladecc2" with Program_not_found _ -> --- lablgtkextras-1.0.orig/master.Makefile.in 2011-01-13 08:39:06.000000000 +0100 +++ lablgtkextras-1.0/master.Makefile.in 2011-05-06 15:53:47.000000000 +0200 @@ -74,6 +74,7 @@ ROOT=@ROOT@ LABLGTK2_INCLUDES= @LABLGTK2_INCLUDES@ +XMLLIGHT_INCLUDES=@XMLLIGHT_INCLUDES@ # some common targets : ####################### --- lablgtkextras-1.0.orig/src/Makefile 2011-01-13 08:39:06.000000000 +0100 +++ lablgtkextras-1.0/src/Makefile 2011-05-06 15:56:22.000000000 +0200 @@ -27,7 +27,7 @@ include ../master.Makefile MY_INCLUDES= -SYSTEM_INCLUDES= $(LABLGTK2_INCLUDES) +SYSTEM_INCLUDES= $(LABLGTK2_INCLUDES) $(XMLLIGHT_INCLUDES) INCLUDES=$(MY_INCLUDES) $(SYSTEM_INCLUDES) --- lablgtkextras-1.0.orig/configure 2011-01-13 08:39:06.000000000 +0100 +++ lablgtkextras-1.0/configure 2011-05-06 16:02:43.000000000 +0200 @@ -556,6 +556,7 @@ ac_unique_file="master.Makefile.in" ac_subst_vars='LTLIBOBJS LIBOBJS +XMLLIGHT_INCLUDES LABLGTK2_INCLUDES CWLIB_BYTE CWLIB --- lablgtkextras-1.0.orig/configure.ac 2011-01-13 08:39:06.000000000 +0100 +++ lablgtkextras-1.0/configure.ac 2011-05-06 16:00:35.000000000 +0200 @@ -153,6 +153,7 @@ AC_SUBST(CWLIB_BYTE) AC_SUBST(LABLGTK2_INCLUDES) +AC_SUBST(XMLLIGHT_INCLUDES) # Finally create the master.Makefile.in and other files ACFILES="master.Makefile src/version.ml src/install.ml" --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=oasis-version.patch Content-Type: application/octet-stream; name="oasis-version.patch" Content-Transfer-Encoding: 7bit --- setup.ml.orig 2011-03-22 17:00:48.000000000 +0100 +++ setup.ml 2011-05-02 14:32:29.000000000 +0200 @@ -2662,10 +2662,14 @@ (ocamlc_config_map ()) 0 in - let nm_config = + let chop_version_suffix s = + try String.sub s 0 (String.index s '+') + with _ -> s + in + let nm_config, value_config = match nm with - | "ocaml_version" -> "version" - | _ -> nm + | "ocaml_version" -> "version", chop_version_suffix + | _ -> nm, (fun x -> x) in var_redefine nm @@ -2677,7 +2681,7 @@ let value = SMap.find nm_config map in - value + value_config value with Not_found -> failwithf2 (f_ "Cannot find field '%s' in '%s -config' output") --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=obrowser-1.1.patch Content-Type: application/octet-stream; name="obrowser-1.1.patch" Content-Transfer-Encoding: 7bit diff -u -r obrowser-1.1.orig/Makefile obrowser-1.1/Makefile --- obrowser-1.1.orig/Makefile 2010-01-22 19:16:35.000000000 +0100 +++ obrowser-1.1/Makefile 2010-04-27 16:07:08.000000000 +0200 @@ -24,6 +24,7 @@ @echo "[EXAMPLE] $*" @cd examples/$* && $(MAKE) --no-print-directory +.PHONY: AXO AXO: @echo "[AXO]" @cd axo/ && $(MAKE) --no-print-directory diff -u -r obrowser-1.1.orig/rt/caml/pervasives.ml obrowser-1.1/rt/caml/pervasives.ml --- obrowser-1.1.orig/rt/caml/pervasives.ml 2010-01-22 19:16:35.000000000 +0100 +++ obrowser-1.1/rt/caml/pervasives.ml 2010-04-27 16:14:45.000000000 +0200 @@ -83,6 +83,8 @@ external (/.) : float -> float -> float = "%divfloat" external ( ** ) : float -> float -> float = "caml_power_float" "pow" "float" external exp : float -> float = "caml_exp_float" "exp" "float" +external expm1 : float -> float = "caml_expm1_float" "caml_expm1" "float" +external log1p : float -> float = "caml_log1p_float" "caml_log1p" "float" external acos : float -> float = "caml_acos_float" "acos" "float" external asin : float -> float = "caml_asin_float" "asin" "float" external atan : float -> float = "caml_atan_float" "atan" "float" diff -u -r obrowser-1.1.orig/rt/caml/pervasives.mli obrowser-1.1/rt/caml/pervasives.mli --- obrowser-1.1.orig/rt/caml/pervasives.mli 2010-01-22 19:16:35.000000000 +0100 +++ obrowser-1.1/rt/caml/pervasives.mli 2010-04-27 16:18:35.000000000 +0200 @@ -264,6 +264,14 @@ external log10 : float -> float = "caml_log10_float" "log10" "float" (** Base 10 logarithm. *) +external expm1 : float -> float = "caml_expm1_float" "caml_expm1" "float" +(** [expm1 x] computes [exp x -. 1.0], giving numerically-accurate results + even if [x] is close to [0.0]. *) + +external log1p : float -> float = "caml_log1p_float" "caml_log1p" "float" +(** [log1p x] computes [log(1.0 +. x)] (natural logarithm), + giving numerically-accurate results even if [x] is close to [0.0]. *) + external cos : float -> float = "caml_cos_float" "cos" "float" (** See {!Pervasives.atan2}. *) --- obrowser-1.1/rt/caml/pervasives.mli.orig 2010-07-23 16:15:49.000000000 +0200 +++ obrowser-1.1/rt/caml/pervasives.mli 2010-07-23 16:24:44.000000000 +0200 @@ -11,19 +11,20 @@ (* *) (***********************************************************************) -(* $Id: pervasives.mli,v 1.113 2008/10/06 13:33:21 doligez Exp $ *) +(* $Id: pervasives.mli 10548 2010-06-09 10:26:19Z weis $ *) (** The initially opened module. This module provides the basic operations over the built-in types (numbers, booleans, strings, exceptions, references, lists, arrays, - input-output channels, ...) + input-output channels, ...). This module is automatically opened at the beginning of each compilation. All components of this module can therefore be referred by their short name, without prefixing them by [Pervasives]. *) + (** {6 Exceptions} *) external raise : exn -> 'a = "%raise" @@ -42,7 +43,6 @@ (** {6 Comparisons} *) - external ( = ) : 'a -> 'a -> bool = "%equal" (** [e1 = e2] tests for structural equality of [e1] and [e2]. Mutable structures (e.g. references and arrays) are equal @@ -71,7 +71,7 @@ The ordering is compatible with [(=)]. As in the case of [(=)], mutable structures are compared by contents. Comparison between functional values raises [Invalid_argument]. - Comparison between cyclic structures does not terminate. *) + Comparison between cyclic structures may not terminate. *) external compare : 'a -> 'a -> int = "%compare" (** [compare x y] returns [0] if [x] is equal to [y], @@ -93,17 +93,22 @@ the {!List.sort} and {!Array.sort} functions. *) val min : 'a -> 'a -> 'a -(** Return the smaller of the two arguments. *) +(** Return the smaller of the two arguments. + The result is unspecified if one of the arguments contains + the float value [nan]. *) val max : 'a -> 'a -> 'a -(** Return the greater of the two arguments. *) +(** Return the greater of the two arguments. + The result is unspecified if one of the arguments contains + the float value [nan]. *) external ( == ) : 'a -> 'a -> bool = "%eq" (** [e1 == e2] tests for physical equality of [e1] and [e2]. - On integers and characters, physical equality is identical to structural - equality. On mutable structures, [e1 == e2] is true if and only if - physical modification of [e1] also affects [e2]. - On non-mutable structures, the behavior of [(==)] is + On mutable types such as references, arrays, strings, records with + mutable fields and objects with mutable instance variables, + [e1 == e2] is true if and only if physical modification of [e1] + also affects [e2]. + On non-mutable types, the behavior of [(==)] is implementation-dependent; however, it is guaranteed that [e1 == e2] implies [compare e1 e2 = 0]. *) @@ -113,7 +118,6 @@ (** {6 Boolean operations} *) - external not : bool -> bool = "%boolnot" (** The boolean negation. *) @@ -123,7 +127,7 @@ [e2] is not evaluated at all. *) external ( & ) : bool -> bool -> bool = "%sequand" -(** @deprecated {!Pervasives.(&&)} should be used instead. *) +(** @deprecated {!Pervasives.( && )} should be used instead. *) external ( || ) : bool -> bool -> bool = "%sequor" (** The boolean ``or''. Evaluation is sequential, left-to-right: @@ -131,7 +135,7 @@ [e2] is not evaluated at all. *) external ( or ) : bool -> bool -> bool = "%sequor" -(** @deprecated {!Pervasives.(||)} should be used instead.*) +(** @deprecated {!Pervasives.( || )} should be used instead.*) (** {6 Integer arithmetic} *) @@ -141,13 +145,18 @@ They do not fail on overflow. *) external ( ~- ) : int -> int = "%negint" -(** Unary negation. You can also write [-e] instead of [~-e]. *) +(** Unary negation. You can also write [- e] instead of [~- e]. *) + +external ( ~+ ) : int -> int = "%identity" +(** Unary addition. You can also write [+ e] instead of [~+ e]. + @since 3.12.0 +*) external succ : int -> int = "%succint" -(** [succ x] is [x+1]. *) +(** [succ x] is [x + 1]. *) external pred : int -> int = "%predint" -(** [pred x] is [x-1]. *) +(** [pred x] is [x - 1]. *) external ( + ) : int -> int -> int = "%addint" (** Integer addition. *) @@ -164,15 +173,15 @@ Integer division rounds the real quotient of its arguments towards zero. More precisely, if [x >= 0] and [y > 0], [x / y] is the greatest integer less than or equal to the real quotient of [x] by [y]. Moreover, - [(-x) / y = x / (-y) = -(x / y)]. *) + [(- x) / y = x / (- y) = - (x / y)]. *) external ( mod ) : int -> int -> int = "%modint" (** Integer remainder. If [y] is not zero, the result of [x mod y] satisfies the following properties: [x = (x / y) * y + x mod y] and - [abs(x mod y) <= abs(y)-1]. + [abs(x mod y) <= abs(y) - 1]. If [y = 0], [x mod y] raises [Division_by_zero]. - Notice that [x mod y] is nonpositive if and only if [x < 0]. + Note that [x mod y] is negative only if [x < 0]. Raise [Division_by_zero] if [y] is zero. *) val abs : int -> int @@ -186,10 +195,8 @@ (** The smallest representable integer. *) - (** {7 Bitwise operations} *) - external ( land ) : int -> int -> int = "%andint" (** Bitwise logical and. *) @@ -230,12 +237,17 @@ [neg_infinity] for [-1.0 /. 0.0], and [nan] (``not a number'') for [0.0 /. 0.0]. These special numbers then propagate through floating-point computations as expected: for instance, - [1.0 /. infinity] is [0.0], and any operation with [nan] as - argument returns [nan] as result. + [1.0 /. infinity] is [0.0], and any arithmetic operation with [nan] + as argument returns [nan] as result. *) external ( ~-. ) : float -> float = "%negfloat" -(** Unary negation. You can also write [-.e] instead of [~-.e]. *) +(** Unary negation. You can also write [-. e] instead of [~-. e]. *) + +external ( ~+. ) : float -> float = "%identity" +(** Unary addition. You can also write [+. e] instead of [~+. e]. + @since 3.12.0 +*) external ( +. ) : float -> float -> float = "%addfloat" (** Floating-point addition *) @@ -250,10 +262,10 @@ (** Floating-point division. *) external ( ** ) : float -> float -> float = "caml_power_float" "pow" "float" -(** Exponentiation *) +(** Exponentiation. *) external sqrt : float -> float = "caml_sqrt_float" "sqrt" "float" -(** Square root *) +(** Square root. *) external exp : float -> float = "caml_exp_float" "exp" "float" (** Exponential. *) @@ -266,54 +278,64 @@ external expm1 : float -> float = "caml_expm1_float" "caml_expm1" "float" (** [expm1 x] computes [exp x -. 1.0], giving numerically-accurate results - even if [x] is close to [0.0]. *) + even if [x] is close to [0.0]. + @since 3.12.0 +*) external log1p : float -> float = "caml_log1p_float" "caml_log1p" "float" (** [log1p x] computes [log(1.0 +. x)] (natural logarithm), - giving numerically-accurate results even if [x] is close to [0.0]. *) + giving numerically-accurate results even if [x] is close to [0.0]. + @since 3.12.0 +*) external cos : float -> float = "caml_cos_float" "cos" "float" -(** See {!Pervasives.atan2}. *) +(** Cosine. Argument is in radians. *) external sin : float -> float = "caml_sin_float" "sin" "float" -(** See {!Pervasives.atan2}. *) +(** Sine. Argument is in radians. *) external tan : float -> float = "caml_tan_float" "tan" "float" -(** See {!Pervasives.atan2}. *) +(** Tangent. Argument is in radians. *) external acos : float -> float = "caml_acos_float" "acos" "float" -(** See {!Pervasives.atan2}. *) +(** Arc cosine. The argument must fall within the range [[-1.0, 1.0]]. + Result is in radians and is between [0.0] and [pi]. *) external asin : float -> float = "caml_asin_float" "asin" "float" -(** See {!Pervasives.atan2}. *) +(** Arc sine. The argument must fall within the range [[-1.0, 1.0]]. + Result is in radians and is between [-pi/2] and [pi/2]. *) external atan : float -> float = "caml_atan_float" "atan" "float" -(** See {!Pervasives.atan2}. *) +(** Arc tangent. + Result is in radians and is between [-pi/2] and [pi/2]. *) external atan2 : float -> float -> float = "caml_atan2_float" "atan2" "float" -(** The usual trigonometric functions. *) +(** [atan x y] returns the arc tangent of [y /. x]. The signs of [x] + and [y] are used to determine the quadrant of the result. + Result is in radians and is between [-pi] and [pi]. *) external cosh : float -> float = "caml_cosh_float" "cosh" "float" -(** See {!Pervasives.tanh}. *) +(** Hyperbolic cosine. Argument is in radians. *) external sinh : float -> float = "caml_sinh_float" "sinh" "float" -(** See {!Pervasives.tanh}. *) +(** Hyperbolic sine. Argument is in radians. *) external tanh : float -> float = "caml_tanh_float" "tanh" "float" -(** The usual hyperbolic trigonometric functions. *) +(** Hyperbolic tangent. Argument is in radians. *) external ceil : float -> float = "caml_ceil_float" "ceil" "float" -(** See {!Pervasives.floor}. *) +(** Round above to an integer value. + [ceil f] returns the least integer value greater than or equal to [f]. + The result is returned as a float. *) external floor : float -> float = "caml_floor_float" "floor" "float" -(** Round the given float to an integer value. - [floor f] returns the greatest integer value less than or - equal to [f]. - [ceil f] returns the least integer value greater than or - equal to [f]. *) +(** Round below to an integer value. + [floor f] returns the greatest integer value less than or + equal to [f]. + The result is returned as a float. *) external abs_float : float -> float = "%absfloat" -(** Return the absolute value of the argument. *) +(** [abs_float f] returns the absolute value of [f]. *) external mod_float : float -> float -> float = "caml_fmod_float" "fmod" "float" (** [mod_float a b] returns the remainder of [a] with respect to @@ -450,7 +472,6 @@ if the given string is not a valid representation of a float. *) - (** {6 Pair operations} *) external fst : 'a * 'b -> 'a = "%field0" @@ -552,8 +573,8 @@ The result is unspecified if the line read is not a valid representation of a floating-point number. *) -(** {7 General output functions} *) +(** {7 General output functions} *) type open_flag = Open_rdonly (** open for reading. *) @@ -779,6 +800,7 @@ This function has no effect under operating systems that do not distinguish between text mode and binary mode. *) + (** {7 Operations on large files} *) module LargeFile : @@ -797,6 +819,7 @@ regular integers (type [int]), these alternate functions allow operating on files whose sizes are greater than [max_int]. *) + (** {6 References} *) type 'a ref = { mutable contents : 'a } @@ -861,7 +884,6 @@ (** {6 Program termination} *) - val exit : int -> 'a (** Terminate the process, returning the given status code to the operating system: usually 0 to indicate no errors, @@ -879,9 +901,9 @@ The functions are called in ``last in, first out'' order: the function most recently added with [at_exit] is called first. *) - (**/**) + (** {6 For system use only, not for the casual user} *) val valid_float_lexem : string -> string --- obrowser-1.1/rt/caml/pervasives.ml.orig 2010-07-23 16:25:56.000000000 +0200 +++ obrowser-1.1/rt/caml/pervasives.ml 2010-07-23 16:29:32.000000000 +0200 @@ -51,6 +51,7 @@ (* Integer operations *) external (~-) : int -> int = "%negint" +external (~+) : int -> int = "%identity" external succ : int -> int = "%succint" external pred : int -> int = "%predint" external (+) : int -> int -> int = "%addint" @@ -77,6 +78,7 @@ (* Floating-point operations *) external (~-.) : float -> float = "%negfloat" +external (~+.) : float -> float = "%identity" external (+.) : float -> float -> float = "%addfloat" external (-.) : float -> float -> float = "%subfloat" external ( *. ) : float -> float -> float = "%mulfloat" --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=ocaml-data-notation-0.0.3.patch Content-Type: application/octet-stream; name="ocaml-data-notation-0.0.3.patch" Content-Transfer-Encoding: 7bit --- ocaml-data-notation-0.0.3.orig/src/pa_odn.ml 2010-10-19 23:35:58.000000000 +0200 +++ ocaml-data-notation-0.0.3/src/pa_odn.ml 2011-05-03 14:51:05.000000000 +0200 @@ -199,7 +199,7 @@ function | TyDcl (_loc, type_name, tps, rhs, _cl) -> let body = - Gen.switch_tp_def _loc + Gen.switch_tp_def ~alias:odn_of_alias ~sum:odn_of_sum ~record:odn_of_record @@ -225,7 +225,7 @@ let _loc, recursive = match tp with | TyDcl (_loc, type_name, _, rhs, _) -> - _loc, Gen.type_is_recursive _loc type_name rhs + _loc, Gen.type_is_recursive type_name rhs | TyAnd (_loc, _, _) -> _loc, true | _ -> assert false --- ocaml-data-notation-0.0.3.orig/src/META 2010-10-19 23:35:58.000000000 +0200 +++ ocaml-data-notation-0.0.3/src/META 2011-05-06 16:37:50.000000000 +0200 @@ -43,7 +43,7 @@ package "syntax" ( version = "0.0.3" description = "Syntax extension for odn" - requires = "type-conv.syntax camlp4 odn" + requires = "type-conv camlp4 odn" archive(syntax,preprocessor) = "pa_odn.cma" archive(syntax,toploop) = "pa_odn.cma" exists_if = "pa_odn.cma" --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=ocaml-fileutils-0.4.2.patch Content-Type: application/octet-stream; name="ocaml-fileutils-0.4.2.patch" Content-Transfer-Encoding: 7bit --- ocaml-fileutils-0.4.2.orig/Makefile 2011-05-03 15:04:34.000000000 +0200 +++ ocaml-fileutils-0.4.2/Makefile 2011-05-03 15:05:28.000000000 +0200 @@ -72,8 +72,8 @@ $(wildcard $(BUILDDIR)/fileutils-str.lib) \ $(wildcard $(BUILDDIR)/*.cmx) $(INSTALL) -d $(htmldir)/api - $(INSTALL_DATA) -t $(htmldir)/api \ - $(wildcard $(BUILDDIR)/fileutils.docdir/*) + $(INSTALL_DATA) \ + $(wildcard $(BUILDDIR)/fileutils.docdir/*) $(htmldir)/api uninstall: -$(RM) -r $(htmldir)/api --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=omake-0.9.8.6.patch Content-Type: application/octet-stream; name="omake-0.9.8.6.patch" Content-Transfer-Encoding: 7bit --- omake-0.9.8.6.orig/lib/build/OCaml.om 2008-03-05 02:07:25.000000000 +0100 +++ omake-0.9.8.6/lib/build/OCaml.om 2011-05-02 22:53:23.000000000 +0200 @@ -176,7 +176,7 @@ # declare OCAMLDEPFLAGS public.OCAMLPPFLAGS = -public.OCAMLFLAGS = -warn-error A +public.OCAMLFLAGS = -warn-error a public.OCAMLCFLAGS = -g public.OCAMLOPTFLAGS = public.OCAMLCPPFLAGS = --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=sks-1.1.1.patch Content-Type: application/octet-stream; name="sks-1.1.1.patch" Content-Transfer-Encoding: 7bit diff -N -r -u sks-1.1.1.orig/Makefile.local sks-1.1.1/Makefile.local --- sks-1.1.1.orig/Makefile.local 1970-01-01 01:00:00.000000000 +0100 +++ sks-1.1.1/Makefile.local 2010-05-17 14:49:16.000000000 +0200 @@ -0,0 +1,9 @@ +BDBLIB=-L/opt/local/lib/db46 +BDBINCLUDE=-I/opt/local/include/db46 +LIBDB=-ldb-4.6 +MANDIR=${PREFIX}/share/man +export BDBLIB +export BDBINCLUDE +export PREFIX +export LIBDB +export MANDIR --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=vsyml-2010-04-06.patch Content-Type: application/octet-stream; name="vsyml-2010-04-06.patch" Content-Transfer-Encoding: 7bit --- vsyml-2010-04-06.orig/makefile 2010-04-06 19:28:25.000000000 +0200 +++ vsyml-2010-04-06/makefile 2010-08-23 15:16:22.000000000 +0200 @@ -525,13 +525,13 @@ # dependencies for the symbolic simulator main file on cmo cma cmx and cmxa $(VSYML_CMO_LST): $(VSYML_MAIN) - echo -n "VSYML_CMO=" > $@ - for i in `grep -o -e '[a-zA-Z0-9_]*\.cmo' $<` ; do echo -n $$i " " >> $@ ; done + echo "VSYML_CMO=" | tr -d '\012' > $@ + for i in `grep -o -e '[a-zA-Z0-9_]*\.cmo' $<` ; do echo $$i " " | tr -d '\012' >> $@ ; done echo $(patsubst $(SRC_PATH)$(PATH_SEPARATOR)%.ml,%.cmo,$<) >> $@ $(VSYML_CMA_LST): $(VSYML_MAIN) - echo -n "VSYML_CMA=" > $@ - for i in `grep -o -e '[a-zA-Z0-9_]*\.cma' $<` ; do echo -n $$i " " >> $@ ; done + echo "VSYML_CMA=" | tr -d '\012' > $@ + for i in `grep -o -e '[a-zA-Z0-9_]*\.cma' $<` ; do echo $$i " " | tr -d '\012' >> $@ ; done $(VSYML_BYTE_CMO_LST): $(VSYML_CMO_LST) sed -e 's@\([a-zA-Z0-9_]*\)\.cmo@$(BYTE_PATH)$(PATH_SEPARATOR)\1.cmo@g' -e 's/VSYML_CMO/VSYML_BYTE_CMO/' $< > $@ --Apple-Mail-3--783193267 Content-Disposition: attachment; filename=xml-light-2.2.patch Content-Type: application/octet-stream; name="xml-light-2.2.patch" Content-Transfer-Encoding: quoted-printable --- xml-light/Makefile 2003-10-12 11:16:12.000000000 +0200=0A= +++ xml-light-2.2/Makefile 2010-01-23 20:57:57.000000000 +0100=0A= @@ -2,7 +2,7 @@=0A= # http://tech.motion-twin.com=0D=0A= .SUFFIXES : .ml .mli .cmo .cmx .cmi .mll .mly=0D=0A= =0D=0A= -INSTALLDIR=3D`ocamlc -where`=0D=0A= +INSTALLDIR=3D`ocamlc -where`/xml-light=0D=0A= CFLAGS=3D=0D=0A= LFLAGS=3D -a=0D=0A= LIBS=3D=0D=0A= @@ -12,6 +12,7 @@=0A= opt: xml-light.cmxa test_opt.exe=0D=0A= =0D=0A= install: all opt=0D=0A= + mkdir -p "${INSTALLDIR}"=0D=0A= cp xml-light.cmxa xml-light.a xml-light.cma xml.mli xmlParser.mli dtd.mli= xml.cmi xmlParser.cmi dtd.cmi xml.cmx dtd.cmx xmlParser.cmx $(INSTALLDIR)= =0D=0A= =0D=0A= doc:=0D=0A= --Apple-Mail-3--783193267 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii --Apple-Mail-3--783193267--