[frama-c] Use upstream's version of the ocamlgraph patch. Ship the bytecode binaries until the native breakage

Jerry James jjames at fedoraproject.org
Fri Aug 3 18:26:05 UTC 2012


commit bee1f8d3cd8b1593a54f657ca00ddc74bffb4a7d
Author: Jerry James <loganjerry at gmail.com>
Date:   Fri Aug 3 12:25:50 2012 -0600

    Use upstream's version of the ocamlgraph patch.
    Ship the bytecode binaries until the native breakage is diagnosed.

 frama-c-ocamlgraph.patch |   32 ++++++++++----------------------
 frama-c.spec             |   28 ++++++++++++++++++++--------
 2 files changed, 30 insertions(+), 30 deletions(-)
---
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 <loganjerry at gmail.com> - 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 <rjones at redhat.com> - 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 <rel-eng at lists.fedoraproject.org> - 1.7-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild


More information about the scm-commits mailing list