diff --git a/frama-c-ocamlgraph.patch b/frama-c-ocamlgraph.patch index af11498..695b428 100644 --- a/frama-c-ocamlgraph.patch +++ b/frama-c-ocamlgraph.patch @@ -1,37 +1,25 @@ --- ./src/semantic_callgraph/register.ml.orig 2011-10-10 02:38:07.000000000 -0600 -+++ ./src/semantic_callgraph/register.ml 2012-07-30 16:40:16.778579433 -0600 -@@ -108,6 +108,19 @@ module Service = ++++ ./src/semantic_callgraph/register.ml 2012-08-01 14:11:13.636345972 -0600 +@@ -107,6 +107,7 @@ module Service = + (if Kernel_function.is_definition v then `Bold else `Dotted) ] let equal = Kernel_function.equal ++ let compare v1 v2 = Datatype.Int.compare (id v1) (id v2) let hash = Kernel_function.hash -+ let compare kf1 kf2 = -+ if kf1 == kf2 then 0 -+ else -+ let res = -+ String.compare -+ (Kernel_function.get_name kf1) -+ (Kernel_function.get_name kf2) -+ in -+ if res <> 0 then res -+ else -+ String.compare -+ (Kernel_function.get_vi kf1).vname -+ (Kernel_function.get_vi kf2).vname let entry_point () = try Some (fst (Globals.entry_point ())) - with Globals.No_such_entry_point _ -> None --- ./src/syntactic_callgraph/register.ml.orig 2011-10-10 02:38:30.000000000 -0600 -+++ ./src/syntactic_callgraph/register.ml 2012-07-30 16:36:11.961572956 -0600 -@@ -40,6 +40,7 @@ module Service = - [ match v.cnInfo with ++++ ./src/syntactic_callgraph/register.ml 2012-08-01 14:11:49.985347173 -0600 +@@ -41,6 +41,7 @@ module Service = | NIVar (_,b) when not !b -> `Style `Dotted | _ -> `Style `Bold ] -+ let compare v1 v2 = Datatype.Int.compare (id v1) (id v2) let equal v1 v2 = id v1 = id v2 ++ let compare v1 v2 = Datatype.Int.compare (id v1) (id v2) let hash = id let entry_point () = !entry_point_ref + end --- ./src/misc/service_graph.mli.orig 2011-10-10 02:38:28.000000000 -0600 -+++ ./src/misc/service_graph.mli 2012-07-30 16:36:11.965572960 -0600 ++++ ./src/misc/service_graph.mli 2012-08-01 14:10:29.025344420 -0600 @@ -28,7 +28,7 @@ module Make (G: sig type t @@ -42,7 +30,7 @@ (** assume is >= 0 and unique for each vertices of the graph *) val name: t -> string --- ./src/misc/service_graph.ml.orig 2011-10-10 02:38:28.000000000 -0600 -+++ ./src/misc/service_graph.ml 2012-07-30 16:36:11.968572963 -0600 ++++ ./src/misc/service_graph.ml 2012-08-01 14:10:09.873343768 -0600 @@ -24,7 +24,7 @@ module Make (G: sig type t diff --git a/frama-c.spec b/frama-c.spec index ad7e3a5..7bf5dd1 100644 --- a/frama-c.spec +++ b/frama-c.spec @@ -19,7 +19,7 @@ Name: frama-c Version: 1.7 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Framework for source code analysis of C software Group: Development/Libraries @@ -158,17 +158,27 @@ sed -e 's|1\.8)|1.8*)|' -e 's/3\.1\*/3.1*|4*/' -i configure # Fake the existence of why so the plugin is built touch why why-dp chmod a+x why why-dp -PATH=${PATH}:`pwd` +PATH=${PATH}:${PWD} %configure make %{framac_make_options} %install make install DESTDIR=%{buildroot} %{framac_make_options} -strip %{buildroot}%{_bindir}/frama-c -strip %{buildroot}%{_bindir}/frama-c-gui -strip %{buildroot}%{_libdir}/frama-c/plugins/*.cmxs -strip %{buildroot}%{_libdir}/frama-c/plugins/gui/*.cmxs + +# The native version is currently broken with OCaml 4.00.0. +# Package the bytecode version until the source of the breakage is found. +mv -f %{buildroot}%{_bindir}/frama-c.byte %{buildroot}%{_bindir}/frama-c +mv -f %{buildroot}%{_bindir}/frama-c-gui.byte %{buildroot}%{_bindir}/frama-c-gui +#%%if %%opt +#strip %%{buildroot}%%{_bindir}/frama-c +#strip %%{buildroot}%%{_bindir}/frama-c-gui +#strip %%{buildroot}%%{_libdir}/frama-c/plugins/*.cmxs +#strip %%{buildroot}%%{_libdir}/frama-c/plugins/gui/*.cmxs +#%else +#mv -f %%{buildroot}%{_bindir}/frama-c.byte %%{buildroot}%%{_bindir}/frama-c +#mv -f %%{buildroot}%{_bindir}/frama-c-gui.byte %%{buildroot}%%{_bindir}/frama-c-gui +#%%endif desktop-file-install \ --dir=${RPM_BUILD_ROOT}%{_datadir}/applications/ \ %{SOURCE2} @@ -244,10 +254,12 @@ xargs chmod a-x %{buildroot}%{_libdir}/frama-c/*.cmx \ %{_xemacs_sitelispdir}/acsl.el %changelog +* Fri Aug 3 2012 Jerry James - 1.7-6 +- Use upstream's version of the ocamlgraph patch. +- Ship the bytecode binaries until the native breakage is diagnosed. + * Mon Jul 30 2012 Richard W.M. Jones - 1.7-5 - Rebuild for OCaml 4.00.0 official. -- Adapt to new Hashtbl signature in OCaml 4.00.0 (jjames) -- Adapt to ocamlgraph 1.8.2 (jjames) * Thu Jul 19 2012 Fedora Release Engineering - 1.7-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild