[why] Rebuild with APRON and gappalib-coq support.

Jerry James jjames at fedoraproject.org
Wed Nov 23 20:57:00 UTC 2011


commit 7d0ca0e460f2fcc6bd30bef27f98af35b42defca
Author: Jerry James <loganjerry at gmail.com>
Date:   Wed Nov 23 13:56:43 2011 -0700

    Rebuild with APRON and gappalib-coq support.

 why-apron.patch |   40 ++++++++++++++++++++++++++++++++++++++++
 why.spec        |   22 ++++++++++++++--------
 2 files changed, 54 insertions(+), 8 deletions(-)
---
diff --git a/why-apron.patch b/why-apron.patch
new file mode 100644
index 0000000..4e23767
--- /dev/null
+++ b/why-apron.patch
@@ -0,0 +1,40 @@
+--- jc/jc_annot_inference.ml.orig	2011-10-24 09:21:06.000000000 -0600
++++ jc/jc_annot_inference.ml	2011-11-23 13:47:40.438177237 -0700
+@@ -148,7 +148,7 @@
+ 	      Some(tptr,offt)
+ 	end
+     | JCTvar _ | JCTderef _ | JCTapp _ | JCTold _ | JCTat _ | JCTif _ 
+-    | JCTrange _ | JCTmatch _ | JCTaddress _ | JCTbase_block _
++    | JCTlet _ | JCTrange _ | JCTmatch _ | JCTaddress _ | JCTbase_block _
+     | JCTconst _ | JCTbinary _ | JCTunary _ | JCToffset _ | JCTinstanceof _ 
+     | JCTreal_cast _ | JCTrange_cast _ | JCTbitwise_cast _ | JCTcast _ ->
+ 	None
+@@ -491,7 +491,7 @@
+   in
+   Format.fprintf Format.str_formatter "%a" Jc_output.assertion a;
+   let formula = Format.flush_str_formatter () in
+-  let lab = Output.reg_pos "G" ?id ?kind ?name ~formula loc in
++  let lab = Output.old_reg_pos "G" ?id ?kind ?name ~formula (Loc.extract loc) in
+   new assertion_with ~mark:lab a
+ 
+ 
+@@ -608,8 +608,8 @@
+ 	Atp.Fn(atp_of_unop uop, [atp_of_term t1])
+     | JCTvar _ | JCTderef _ | JCTapp _ | JCToffset _ ->
+ 	Atp.Var (Vwp.variable_for_term t)
+-    | JCTshift _ | JCTold _ | JCTat _ | JCTmatch _ | JCTinstanceof _ 
+-    | JCTcast _ | JCTrange_cast _ | JCTbitwise_cast _ | JCTreal_cast _ 
++    | JCTshift _ | JCTold _ | JCTat _ | JCTmatch _ | JCTinstanceof _ | JCTlet _
++    | JCTcast _ | JCTrange_cast _ | JCTbitwise_cast _ | JCTreal_cast _
+     | JCTaddress _ | JCTif _ | JCTrange _ | JCTunary _ | JCTbase_block _ ->
+ 	err ()
+ 
+@@ -1198,7 +1198,7 @@
+       | JCTunary _ | JCTshift _ | JCTinstanceof _ | JCTmatch _ 
+       | JCTold _ | JCTat _ | JCTcast _ | JCTbitwise_cast _ 
+       | JCTrange_cast _ | JCTreal_cast _ | JCTaddress _ | JCTbase_block _
+-      | JCTrange _ | JCTif _ -> 
++      | JCTlet _ | JCTrange _ | JCTif _ -> 
+ 	  err ()
+     with Failure "linearize" -> 
+       (TermMap.add t (Int 1) TermMap.empty, Int 0)
diff --git a/why.spec b/why.spec
index d300b90..4f1ef57 100644
--- a/why.spec
+++ b/why.spec
@@ -54,14 +54,19 @@ Patch0:         gwhy-2.26.patch
 # this case.
 Patch1:         why-2.30-Makefile.in.patch
 
+# This patch fixes some mildly bitrotted APRON support code.
+# It will be sent upstream.
+Patch2:         why-apron.patch
+
 BuildRequires:  auto-destdir
 BuildRequires:  cvc3
 BuildRequires:  desktop-file-utils
 BuildRequires:  emacs-nox xemacs xemacs-packages-extra
-BuildRequires:  flocq
 BuildRequires:  frama-c-devel
+BuildRequires:  gappalib-coq
 BuildRequires:  gtk2-devel
 BuildRequires:  ocaml
+BuildRequires:  ocaml-apron-devel
 BuildRequires:  ocaml-camlp4-devel
 BuildRequires:  ocaml-lablgtk-devel
 BuildRequires:  ocaml-ocamldoc
@@ -127,7 +132,7 @@ The Jessie plugin, an interface between why and frama-c.  Invoke it with:
 Group:          Applications/Engineering
 Summary:        Libraries for interfacing Coq with Why
 Requires:       %{name}%{?_isa} = %{version}-%{release}
-Requires:       coq, flocq
+Requires:       gappalib-coq
 
 %description coq
 This package contains a set of routines that assist in the manipulation
@@ -200,7 +205,7 @@ Requires:       why-coq%{?_isa} = %{version}-%{release}
 %if %{has_pvs}
 Requires:       why-pvs-support%{?_isa} = %{version}-%{release}
 %endif
-Requires:       alt-ergo cvc3 gappa zenon
+Requires:       alt-ergo cvc3 gappalib-coq zenon
 
 %description all
 This package provides a complete software verification platform suite
@@ -210,6 +215,7 @@ based on Why, including various automated and interactive provers.
 %setup -q
 %patch0
 %patch1
+%patch2
 
 cp -p %SOURCE1 %SOURCE2 %SOURCE6 %SOURCE7 ./
 
@@ -247,9 +253,6 @@ for f in examples-c/tutorial/average.c examples-c/tutorial/purse.c \
   mv -f $f.new $f
 done
 
-# APRON support: fix some warnings that -warn-error turns into errors
-sed -i "s/| JCTrange _/| JCTlet _ | JCTrange _/" jc/jc_annot_inference.ml
-
 # APRON support: add a missing include and a missing rpath
 sed -e "s|-I +apron|-I +apron -I +mlgmpidl|" \
     -e "s|-lpolkaMPQ_caml|-Wl,-rpath,%{_libdir}/ocaml/apron|" \
@@ -274,9 +277,9 @@ sed -e 's/versions_ok = \["1\.0\.25";.*\]/versions_ok = ["1.0.30"]/' \
 sed -e 's/pvs/pvs-sbcl/' -i configure
 
 %if %{has_coq}
-%configure --enable-verbosemake
+%configure --enable-apron --enable-verbosemake
 %else
-%configure --enable-verbosemake COQC=no
+%configure --enable-apron --enable-verbosemake COQC=no
 %endif
 make %{opt_option}
 
@@ -430,6 +433,9 @@ diff -u min.why min_why.why.result  # Show differences from correct result.
 
 
 %changelog
+* Wed Nov 23 2011 Jerry James <loganjerry at gmail.com> - 2.30-2
+- Rebuild with APRON and gappalib-coq support
+
 * Fri Oct 28 2011 Jerry James <loganjerry at gmail.com> - 2.30-1
 - New upstream release
 


More information about the scm-commits mailing list