[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[patch] galax 1.1 rebuilt with OCaml 3.11 / PXP 1.2.1



Hi Mary and Jerome,
  in the context of the Debian transition to OCaml 3.11, I've just
rebuilt galax against that compiler version and the latest version of
PXP (namely 1.2.1, released some weeks ago).

Galax _does_not_build_ out of the box with such combination. The
reasons are as follows:

1) galax's ./configure makes assumptions on the OCaml version,
   explicitly requiring version 3.10 (for not real reason apparently
   as it seems to build and work even with 3.11)

2) stream syntax in the latest camlp4 seems to be non-backward
   compatible, in particular it now forbids trailing ";" inside stream
   parsers

3) latest PXP is stricter in the usage of the module Pxp_types_core,
   which should not have been used, preferring Pxp_types (which has
   always included the former anyhow)

4) latest PXP has dropped the parsing events E_pinstr_*, by just
   retaining E_pinstr

The attached patches fix all such problem, making Galax buildable
against OCaml 3.11 and PXP 1.2.1.  Can you please consider applying
them for future releases of Galax?

Also, I suggest dropping the requirement of specific (rather than
minimum) OCaml compiler version. Unless I'm missing something I don't
see much the point of such check ...

Many thanks in advance,
Cheers.

-- 
Stefano Zacchiroli -o- PhD in Computer Science \ PostDoc @ Univ. Paris 7
zack@{upsilon.cc,pps.jussieu.fr,debian.org} -<>- http://upsilon.cc/zack/
Dietro un grande uomo c'è ..|  .  |. Et ne m'en veux pas si je te tutoie
sempre uno zaino ...........| ..: |.... Je dis tu à tous ceux que j'aime
#! /bin/sh /usr/share/dpatch/dpatch-run
## ocaml-3.11.dpatch by Stefano Zacchiroli <zack@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: bump expected OCaml version to 3.11

@DPATCH@
diff -urNad galax~/configure galax/configure
--- galax~/configure	2008-07-19 22:21:07.000000000 +0200
+++ galax/configure	2009-03-19 11:57:34.010444044 +0100
@@ -18,7 +18,7 @@
 # value	 2:	on by command line ("forced")
 
 version="1.0"
-ocaml_version="3.10"
+ocaml_version="3.11"
 # Function:	print_options()
 # Description:
 #		Print the current values of all options
#! /bin/sh /usr/share/dpatch/dpatch-run
## ocaml-3.11.dpatch by Stefano Zacchiroli <zack@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: port code to build against PXP 1.2

@DPATCH@
diff -urNad galax~/base/encoding.ml galax/base/encoding.ml
--- galax~/base/encoding.ml	2008-07-19 22:21:07.000000000 +0200
+++ galax/base/encoding.ml	2009-03-19 12:20:38.942492094 +0100
@@ -131,14 +131,14 @@
   let write_ascii s =
     (* Write the ASCII-encoded string 's' *)
     let s' = convert_ascii s in
-    Pxp_core_types.write os s' 0 (String.length s')
+    Pxp_types.write os s' 0 (String.length s')
   in
 
   let write_part j l =
     (* Writes the substring of 'content' beginning at pos 'j' with length 'l'
      *)
     if to_enc = (from_enc :> encoding) then
-      Pxp_core_types.write os content j l
+      Pxp_types.write os content j l
     else begin
       let s' = Netconversion.recode_string
 	         ~in_enc:(from_enc :> encoding)
@@ -147,7 +147,7 @@
 			   convert_ascii ("&#" ^ string_of_int n ^ ";"))
 		 (String.sub content j l)
       in
-      Pxp_core_types.write os s' 0 (String.length s')
+      Pxp_types.write os s' 0 (String.length s')
     end
   in
   let i = ref 0 in
@@ -197,6 +197,6 @@
   try
     Pxp_aux.character enc global_warner k
   with
-  | Pxp_core_types.WF_error msg ->
+  | Pxp_types.WF_error msg ->
       raise (Query (Undefined msg))
 
diff -urNad galax~/regress/test_core.ml galax/regress/test_core.ml
--- galax~/regress/test_core.ml	2008-07-19 22:21:07.000000000 +0200
+++ galax/regress/test_core.ml	2009-03-19 12:28:41.646448174 +0100
@@ -732,7 +732,7 @@
     let expected_stream = typed_stream_of_io (File_Input output_file) in
     compare_streams case output_file result_stream expected_stream compared_plan
   with
-  | Pxp_core_types.Error _ as e ->
+  | Pxp_types.Error _ as e ->
       if !(Conf.genresults)
       then
 	begin
@@ -755,7 +755,7 @@
     let expected_stream = typed_stream_of_io (File_Input output_file) in
     compare_streams case output_file result_stream expected_stream compared_plan
   with
-  | Pxp_core_types.Error _ as e ->
+  | Pxp_types.Error _ as e ->
       if !(Conf.genresults)
       then
 	begin
diff -urNad galax~/schema/schema_dtd_import.ml galax/schema/schema_dtd_import.ml
--- galax~/schema/schema_dtd_import.ml	2008-07-19 22:21:07.000000000 +0200
+++ galax/schema/schema_dtd_import.ml	2009-03-19 12:23:55.478444056 +0100
@@ -15,7 +15,7 @@
      This module imports a DTD as a set of XML Schema declarations.
 *)
 
-open Pxp_core_types
+open Pxp_types
 open Pxp_dtd
 
 open Error
diff -urNad galax~/schema/schema_import.mlp galax/schema/schema_import.mlp
--- galax~/schema/schema_import.mlp	2008-07-19 22:21:07.000000000 +0200
+++ galax/schema/schema_import.mlp	2009-03-19 12:15:47.310444622 +0100
@@ -1075,7 +1075,7 @@
 	  end
 
 let global_notation ims = parser
-  | [< _ = skip_element_named "notation"; >] -> ()
+  | [< _ = skip_element_named "notation" >] -> ()
 
 let global_attribute ims = parser
   | [< (ims,atts,fi) = open_tag ims "attribute";
diff -urNad galax~/streaming/streaming_parse.ml galax/streaming/streaming_parse.ml
--- galax~/streaming/streaming_parse.ml	2008-07-19 22:21:07.000000000 +0200
+++ galax/streaming/streaming_parse.ml	2009-03-19 12:22:43.691238705 +0100
@@ -130,8 +130,6 @@
       Some (fmkse_event (SAX_characters (make_text_desc data)) (!fi_ref))
   | E_pinstr (target,value,entid) ->
       Some (fmkse_event (SAX_processingInstruction (make_pi_desc target value)) (!fi_ref))
-  | E_pinstr_member (target,value,entid) ->
-      Some (fmkse_event (SAX_processingInstruction (make_pi_desc target value)) (!fi_ref))
   | E_comment content ->
       Some (fmkse_event (SAX_comment (make_comment_desc content)) (!fi_ref))
   (* Silently ignoring super root event *)

Attachment: signature.asc
Description: Digital signature


Reply to: