The following commit has been merged in the master branch: commit 286597230c5bb0a98c4ed97b1c28b4201cdd732e Author: Mehdi Dogguy <me...@debian.org> Date: Tue Jun 25 23:07:00 2013 +0200
Add new patches diff --git a/debian/changelog b/debian/changelog index 96d0b0d..a4f67e4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,9 @@ ocamlgraph (1.8.3-1) UNRELEASED; urgency=low [ Mehdi Dogguy ] * New upstream release * Update debian/copyright + * Add new patches from upstream's repository: + - 0003-fixed-compilation-issue-with-OCaml-3.12.1.patch + - 0004-Merge-bug-fixed-compilation-issue-with-OCaml-3.12.1.patch -- Mehdi Dogguy <me...@debian.org> Tue, 25 Jun 2013 22:19:36 +0200 diff --git a/debian/patches/0003-fixed-compilation-issue-with-OCaml-3.12.1.patch b/debian/patches/0003-fixed-compilation-issue-with-OCaml-3.12.1.patch new file mode 100644 index 0000000..d40acf8 --- /dev/null +++ b/debian/patches/0003-fixed-compilation-issue-with-OCaml-3.12.1.patch @@ -0,0 +1,35 @@ +From: Julien Signoles <julien.signo...@cea.fr> +Date: Wed, 22 May 2013 08:35:36 +0000 +Subject: fixed compilation issue with OCaml 3.12.1 + +--- + CHANGES | 1 + + src/merge.mli | 5 +---- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/CHANGES b/CHANGES +index 5a8db64..84afb9c 100644 +--- a/CHANGES ++++ b/CHANGES +@@ -1,3 +1,4 @@ ++o fixed compilation issue with OCaml 3.12.1 + + version 1.8.3, April 17, 2013 + --------------------------- +diff --git a/src/merge.mli b/src/merge.mli +index 3b13413..8e574ae 100644 +--- a/src/merge.mli ++++ b/src/merge.mli +@@ -133,10 +133,7 @@ module I(G: Sig.I): sig + ?loop_killer:bool -> ?specified_vertex:(vertex list -> vertex) -> graph -> + unit + +-end with type graph = G.t +- and type vertex := G.vertex +- and type edge := G.edge +- and type edge_label = G.E.label ++end + + (* + Local Variables: +-- diff --git a/debian/patches/0004-Merge-bug-fixed-compilation-issue-with-OCaml-3.12.1.patch b/debian/patches/0004-Merge-bug-fixed-compilation-issue-with-OCaml-3.12.1.patch new file mode 100644 index 0000000..0819686 --- /dev/null +++ b/debian/patches/0004-Merge-bug-fixed-compilation-issue-with-OCaml-3.12.1.patch @@ -0,0 +1,87 @@ +From: Julien Signoles <julien.signo...@cea.fr> +Date: Thu, 23 May 2013 11:13:58 +0000 +Subject: [Merge] bug fixed + compilation issue with OCaml 3.12.1 + +--- + CHANGES | 1 + + src/merge.ml | 41 +++++++++++++++++++++++++++++++++++++---- + 2 files changed, 38 insertions(+), 4 deletions(-) + +diff --git a/CHANGES b/CHANGES +index 84afb9c..ae5f8af 100644 +--- a/CHANGES ++++ b/CHANGES +@@ -1,3 +1,4 @@ ++o Merge: fixed bug with vertices with no incoming nor outcoming edge. + o fixed compilation issue with OCaml 3.12.1 + + version 1.8.3, April 17, 2013 +diff --git a/src/merge.ml b/src/merge.ml +index c8581e3..563ab77 100644 +--- a/src/merge.ml ++++ b/src/merge.ml +@@ -57,12 +57,26 @@ module B(B: Builder.S) = struct + in + B.G.fold_edges_e f g [] + ++ (* – former buggy version – the case where v is neither the source nor the ++ destination of some arrow was not taken into account, so that vertices were ++ just removed ++ ++ let merge_vertex g vl = match vl with ++ | [] -> g ++ | _ :: vl' -> ++ let to_be_added = identify_extremities g vl in ++ let g = List.fold_left B.remove_vertex g vl' in ++ List.fold_left B.add_edge_e g to_be_added ++ *) ++ + let merge_vertex g vl = match vl with + | [] -> g +- | _ :: vl' -> ++ | v :: vl' -> + let to_be_added = identify_extremities g vl in + let g = List.fold_left B.remove_vertex g vl' in +- List.fold_left B.add_edge_e g to_be_added ++ if to_be_added = [] ++ then B.add_vertex g v ++ else List.fold_left B.add_edge_e g to_be_added + + let merge_edges_e ?src ?dst g el = match el with + | e :: el' -> +@@ -108,13 +122,32 @@ module B(B: Builder.S) = struct + in + let edges_to_be_merged = B.G.fold_edges_e collect_edge g [] in + merge_edges_e ?src ?dst g edges_to_be_merged ++ ++ (* To deduce a comparison function on labels from a comparison function on ++ edges *) ++ ++ let compare_label g = ++ try ++ let default_vertex = ++ let a_vertex_of_g = ref None in ++ (try B.G.iter_vertex (fun v -> a_vertex_of_g := Some v ; raise Exit) g ++ with Exit -> ()); ++ match !a_vertex_of_g with ++ | Some v -> v ++ | None -> raise Exit (*hence g is empty*) in ++ fun l1 l2 -> ++ let e1 = B.G.E.create default_vertex l1 default_vertex in ++ let e2 = B.G.E.create default_vertex l2 default_vertex in ++ B.G.E.compare e1 e2 ++ with Exit -> (fun l1 l2 -> 0) + + let merge_isolabelled_edges g = + let module S = Set.Make(B.G.V) in + let do_meet s1 s2 = S.exists (fun x -> S.mem x s2) s1 in + let module M = +- (* TODO: using [compare] here is really suspicious *) +- Map.Make(struct type t = B.G.E.label let compare = compare end) ++ (* TODO: using [compare] here is really suspicious ... ++ DONE – yet not so clean *) ++ Map.Make(struct type t = B.G.E.label let compare = compare_label g end) + in + let accumulating e accu = + let l = B.G.E.label e in +-- diff --git a/debian/patches/series b/debian/patches/series index 827a58e..e06e577 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,4 @@ 0001-prefix-binary-names-with-ocaml-and-do-not-install-us.patch 0002-avoid-referencing-non-existent-icon-ed_icon.xpm.patch +0003-fixed-compilation-issue-with-OCaml-3.12.1.patch +0004-Merge-bug-fixed-compilation-issue-with-OCaml-3.12.1.patch -- ocamlgraph packaging _______________________________________________ Pkg-ocaml-maint-commits mailing list Pkg-ocaml-maint-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-ocaml-maint-commits