diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ba8b107
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+/krakatoa.pdf
+/why-icons.tar.xz
+/why-2.36.tar.gz
+/why-2.38.tar.gz
+/why-2.39.tar.gz
diff --git a/README.why b/README.why
new file mode 100644
index 0000000..ba95dfa
--- /dev/null
+++ b/README.why
@@ -0,0 +1,8 @@
+Fedora why package:
+
+Contains the main why executable and supporting tools.
+
+Consider visiting the main Why site - http://why.lri.fr - for more
+documentation. Also, there is more information about the tools
+Caduceus and Krakatoa at http://caduceus.lri.fr and
+http://krakatoa.lri.fr respectively.
\ No newline at end of file
diff --git a/README.why-coq.Fedora b/README.why-coq.Fedora
new file mode 100644
index 0000000..406a7a9
--- /dev/null
+++ b/README.why-coq.Fedora
@@ -0,0 +1,6 @@
+Fedora why-coq package:
+
+Contains libraries for interfacing why with Coq.
+
+You shouldn't have to do anything extra - you should now just be able
+to use the Coq-related capabilities of Why.
\ No newline at end of file
diff --git a/dead.package b/dead.package
deleted file mode 100644
index 497866a..0000000
--- a/dead.package
+++ /dev/null
@@ -1 +0,0 @@
-Abandoned by upstream and fails to build from source
diff --git a/div.pvs b/div.pvs
new file mode 100644
index 0000000..4005fe3
--- /dev/null
+++ b/div.pvs
@@ -0,0 +1,35 @@
+% Copyright (c) 2010 Jerry James.
+%
+% Permission is hereby granted, free of charge, to any person obtaining a copy
+% of this software and associated documentation files (the "Software"), to deal
+% in the Software without restriction, including without limitation the rights
+% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+% copies of the Software, and to permit persons to whom the Software is
+% furnished to do so, subject to the following conditions:
+%
+% The above copyright notice and this permission notice shall be included in
+% all copies or substantial portions of the Software.
+%
+% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+% THE SOFTWARE.
+
+div: THEORY
+BEGIN
+
+ x : VAR int
+ nzy : VAR nzint
+
+ div(x, nzy): int =
+ IF (x >= 0 AND nzy > 0) THEN ndiv(x, nzy)
+ ELSIF (x >= 0 AND nzy < 0) THEN -ndiv(x, -nzy)
+ ELSIF (x < 0 AND nzy > 0) THEN -ndiv(-x, nzy)
+ ELSE ndiv(-x, -nzy)
+ ENDIF
+
+END div
+
diff --git a/jessie.appdata.xml b/jessie.appdata.xml
new file mode 100644
index 0000000..3cbd299
--- /dev/null
+++ b/jessie.appdata.xml
@@ -0,0 +1,43 @@
+
+
+ jessie.desktop
+ CC0-1.0
+ LGPL-2.1
+ jessie
+ Interface between why and Frama-C
+
+
+ Jessie is an interface between why and Frama-C.
+
+
+ Why is a software verification platform that applies formal proving tools to
+ annotated programs. The Jessie plugin provide the ability to analyze C
+ programs by invoking Frama-C.
+
+
+
+
+ http://krakatoa.lri.fr/jessie/max_why3ide.png
+ Interactive proof session
+
+
+ http://krakatoa.lri.fr/jessie/max_ptr_why3ide.png
+ Max function proof
+
+
+ http://krakatoa.lri.fr/jessie/binary_search_raw.png
+ Binary search function proof
+
+
+ http://krakatoa.lri.fr/jessie/binary_search_ovfl.png
+ Binary search arithmetic overflow
+
+
+ http://krakatoa.lri.fr/jessie/binary_search_behav.png
+ Binar search function behavior
+
+
+ loganjerry@gmail.com
+ http://krakatoa.lri.fr/
+ https://gforge.inria.fr/tracker/?atid=4012&group_id=999&func=browse
+
diff --git a/jessie.desktop b/jessie.desktop
new file mode 100644
index 0000000..099b3ad
--- /dev/null
+++ b/jessie.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Name=jessie
+Comment=Verify C program using Jessie plug-in
+Exec=frama-c -jessie %F
+Icon=why
+Type=Application
+Categories=Development;
diff --git a/patch_jessie_pvs b/patch_jessie_pvs
new file mode 100755
index 0000000..3e4abca
--- /dev/null
+++ b/patch_jessie_pvs
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+# To use PVS with frama-c without the NASA Langley PVS library:
+# frama-c -jessie -jessie-atp pvs FILE.c # Generates PVS files
+# cd FILE.jessie/pvs
+# patch_jessie_pvs # Patch jessie_why.pvs to not need NASA Langley library.
+# You can then run PVS to prove the generated theorems with:
+# pvs-sbcl FILE_why.pvs
+#
+# Copyright (c) 2010 David A. Wheeler
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+
+if [ ! -f jessie_why.pvs ] ; then
+ echo "Did not find file jessie_why.pvs in current directory"
+ exit 1
+fi
+
+patch -p0 -N << END_OF_PATCH
+--- jessie_why.pvs.ORIGINAL 2010-10-05 14:41:58.965970651 -0400
++++ jessie_why.pvs 2010-10-06 14:28:39.250971269 -0400
+@@ -169,14 +169,14 @@
+ (FORALL (x: real): (FORALL (y: real): min(x, y) = x OR min(x, y) = y))
+
+ %% Why axiom sqrt_pos
+- sqrt_pos: AXIOM (FORALL (x: real): (x >= 0.0 IMPLIES sqrt(x) >= 0.0))
++ % sqrt_pos: AXIOM (FORALL (x: real): (x >= 0.0 IMPLIES sqrt(x) >= 0.0))
+
+ %% Why axiom sqrt_sqr
+- sqrt_sqr: AXIOM
+- (FORALL (x: real): (x >= 0.0 IMPLIES sqr_real(sqrt(x)) = x))
++ % sqrt_sqr: AXIOM
++ % (FORALL (x: real): (x >= 0.0 IMPLIES sqr_real(sqrt(x)) = x))
+
+ %% Why axiom sqr_sqrt
+- sqr_sqrt: AXIOM (FORALL (x: real): (x >= 0.0 IMPLIES sqrt(x * x) = x))
++ % sqr_sqrt: AXIOM (FORALL (x: real): (x >= 0.0 IMPLIES sqrt(x * x) = x))
+
+ %% Why axiom abs_real_pos
+ abs_real_pos: AXIOM (FORALL (x: real): (x >= 0.0 IMPLIES abs(x) = x))
+END_OF_PATCH
+
diff --git a/rem.pvs b/rem.pvs
new file mode 100644
index 0000000..4f126a6
--- /dev/null
+++ b/rem.pvs
@@ -0,0 +1,35 @@
+% Copyright (c) 2010 Jerry James.
+%
+% Permission is hereby granted, free of charge, to any person obtaining a copy
+% of this software and associated documentation files (the "Software"), to deal
+% in the Software without restriction, including without limitation the rights
+% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+% copies of the Software, and to permit persons to whom the Software is
+% furnished to do so, subject to the following conditions:
+%
+% The above copyright notice and this permission notice shall be included in
+% all copies or substantial portions of the Software.
+%
+% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+% THE SOFTWARE.
+
+rem: THEORY
+BEGIN
+
+ x : VAR int
+ nzy : VAR nzint
+
+ rem(x, nzy): int =
+ IF (x >= 0 AND nzy > 0) THEN rem(nzy)(x)
+ ELSIF (x >= 0 AND nzy < 0) THEN rem(-nzy)(x)
+ ELSIF (x < 0 AND nzy > 0) THEN -rem(nzy)(-x)
+ ELSE -rem(-nzy)(-x)
+ ENDIF
+
+END rem
+
diff --git a/sources b/sources
new file mode 100644
index 0000000..77125d9
--- /dev/null
+++ b/sources
@@ -0,0 +1,3 @@
+SHA512 (krakatoa.pdf) = 5d0f4e6b938ddc1eafa48264c02cf99e68f776a7e190b997e35fb2cd154627b5d27369886f570cbcfdfe5f3a1929a97a1fec9457a6f6662f83cbb2e51f65ca04
+SHA512 (why-2.39.tar.gz) = b36e9423ff82fa2f51fea40a33021ed0def3719d9421b2f7f1e2aa1d6113faacf932984ac293b6d0ac92f800fd48efbdd8cc3ec6a929003a57da20efab682bad
+SHA512 (why-icons.tar.xz) = d6ca78cf09540f5742564912470fb8c49f7d11ca16cd8bb60c8790af10c1591198f6020bd792cff8e3464f762b7ef0a690d3e4ba1a2cf670c286c8056d266bc3
diff --git a/why-project.patch b/why-project.patch
new file mode 100644
index 0000000..e50186a
--- /dev/null
+++ b/why-project.patch
@@ -0,0 +1,115 @@
+--- Makefile.in.orig 2017-08-23 02:08:38.000000000 -0600
++++ Makefile.in 2017-12-04 21:00:24.549232019 -0700
+@@ -154,7 +154,7 @@ CMO_EXPORT = src/lib.cmo src/rc.cmo src
+ src/effect.cmo src/pp.cmo src/option_misc.cmo \
+ src/report.cmo \
+ src/explain.cmo \
+- src/xml.cmo src/project.cmo
++ src/xml.cmo src/whyproject.cmo
+
+ # jessie
+ JCCML_EXPORT = src/why3_kw.ml jc/output.ml \
+--- src/options.mli.orig 2017-08-23 02:08:38.000000000 -0600
++++ src/options.mli 2017-12-04 21:01:17.268996320 -0700
+@@ -184,7 +184,7 @@ val files : string list
+ (*s GUI? *)
+
+ val gui : bool ref
+-val gui_project : Project.t option ref
++val gui_project : Whyproject.t option ref
+ val lib_files_to_load : string list
+
+ (*
+--- src/pretty.ml.orig 2017-08-23 02:08:38.000000000 -0600
++++ src/pretty.ml 2017-12-04 21:02:42.540615229 -0700
+@@ -416,12 +416,12 @@ let output_project f =
+ with Not_found ->
+ functions := SMap.add fn SMap.empty !functions)
+ Util.program_locs ;
+- let p = Project.create (Filename.basename f) in
+- Project.set_project_context_file p (f ^ "_ctx.why");
++ let p = Whyproject.create (Filename.basename f) in
++ Whyproject.set_project_context_file p (f ^ "_ctx.why");
+ List.iter
+ (fun (expl,fpo) ->
+ let n = expl.lemma_or_fun_name in
+- let _ = Project.add_lemma p n expl fpo in ())
++ let _ = Whyproject.add_lemma p n expl fpo in ())
+ !lemmas;
+ SMap.iter
+ (fun fname behs ->
+@@ -431,15 +431,15 @@ let output_project f =
+ floc
+ with Not_found -> Loc.dummy_floc
+ in
+- let f = Project.add_function p fname floc in
++ let f = Whyproject.add_function p fname floc in
+ SMap.iter
+ (fun beh vcs ->
+- let be = Project.add_behavior f beh floc in
++ let be = Whyproject.add_behavior f beh floc in
+ List.iter
+ (fun (expl,fpo) ->
+- let _ = Project.add_goal be expl fpo in ())
++ let _ = Whyproject.add_goal be expl fpo in ())
+ vcs)
+ behs)
+ !functions;
+- Project.save p f;
++ Whyproject.save p f;
+ p
+--- src/pretty.mli.orig 2017-08-23 02:08:38.000000000 -0600
++++ src/pretty.mli 2017-12-04 21:03:05.635512035 -0700
+@@ -50,4 +50,4 @@ val output_files : string -> unit
+ (* [output_project f] produces a whole project description, in a file
+ [f.wpr], together with other needed files [f_ctx.why], [f_lemmas.why],
+ and each goal in a separate file [f_po.why] for i=1,2,... *)
+-val output_project : string -> Project.t
++val output_project : string -> Whyproject.t
+--- src/whyweb.ml.orig 2017-08-23 02:08:38.000000000 -0600
++++ src/whyweb.ml 2017-12-04 21:04:16.932193463 -0700
+@@ -29,7 +29,7 @@
+ (**************************************************************************)
+
+ open Format
+-open Project
++open Whyproject
+
+ (*prover*)
+ let provers = [Ergo ; Simplify ; Z3 ; Yices ; Cvc3]
+@@ -168,7 +168,7 @@ let file = match !file with
+ | None -> ()
+ | Some f -> Arg.usage spec usage; exit 1
+
+-let proj = ref (Project.create "")
++let proj = ref (Whyproject.create "")
+
+ let proj_file = ref ""
+
+@@ -260,7 +260,7 @@ let interp_com c =
+ let _ = Thread.create (launch_behavior Cvc3) b in ()
+ | `LaunchCvc3Function f ->
+ let _ = Thread.create (launch_function Cvc3) f in ()
+- | `Save -> Project.save !proj !proj.project_name
++ | `Save -> Whyproject.save !proj !proj.project_name
+ end;
+ loc
+ with Not_found -> ("",0,0,0)
+@@ -343,7 +343,7 @@ let main_page msg =
+ let load_prj file =
+ eprintf "Reading file %s@." file;
+ try
+- proj := Project.load file;
++ proj := Whyproject.load file;
+ proj_file := file;
+ with
+ Sys_error _ ->
+@@ -526,7 +526,7 @@ wprint "
Save Proj
+ " ns;
+ wprint " | ";
+ List.iter (fun prover ->
+- wprint "%s | " (Project.provers_name prover))
++ wprint "%s | " (Whyproject.provers_name prover))
+ provers;
+ wprint "
+ ";
diff --git a/why.spec b/why.spec
new file mode 100644
index 0000000..cf74d92
--- /dev/null
+++ b/why.spec
@@ -0,0 +1,599 @@
+# Whether PVS is available
+%ifarch %{ix86} x86_64 ppc sparcv9
+%global has_pvs 1
+%else
+%global has_pvs 0
+%endif
+
+# What kind of ocaml build to do
+%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
+
+Name: why
+Version: 2.39
+Release: 3%{?dist}
+Summary: Software verification platform
+
+License: LGPLv2 with exceptions
+URL: http://why.lri.fr/
+Source0: http://why.lri.fr/download/%{name}-%{version}.tar.gz
+Source1: http://krakatoa.lri.fr/manual/krakatoa.pdf
+Source2: README.why-coq.Fedora
+Source3: README.why
+Source4: jessie.desktop
+Source5: jessie.appdata.xml
+Source6: div.pvs
+Source7: rem.pvs
+Source8: patch_jessie_pvs
+# Created with gimp from official upstream icon
+Source9: %{name}-icons.tar.xz
+# Avoid a clash between Frama-C and why modules both named "Project".
+# Sent upstream 26 Jun 2014.
+Patch0: %{name}-project.patch
+
+BuildRequires: auto-destdir
+BuildRequires: desktop-file-utils
+BuildRequires: xemacs xemacs-packages-extra
+BuildRequires: frama-c
+BuildRequires: gappalib-coq
+BuildRequires: ocaml
+BuildRequires: ocaml-apron-devel
+BuildRequires: ocaml-camlp4-devel
+BuildRequires: ocaml-findlib
+BuildRequires: ocaml-mlgmpidl-devel
+BuildRequires: ocaml-ocamldoc
+BuildRequires: ocaml-ocamlgraph-devel
+BuildRequires: ocaml-zarith-devel
+BuildRequires: why3
+BuildRequires: coq
+%if %{has_pvs}
+BuildRequires: pvs
+%endif
+
+Requires: gappalib-coq
+Requires: hicolor-icon-theme
+Requires: emacs-filesystem
+
+# This can be removed once Fedora 25 reaches EOL
+Obsoletes: %{name}-coq < 2.36-1
+Provides: %{name}-coq = %{version}-%{release}
+
+# Filter out bogus requires
+%global __requires_exclude ocaml\\\((Ast|Cc|Env|Error|Jc_ast|Jc_env|Loc|Logic|Logic_decl|Misc|Ptree|Types)\\\)
+
+%description
+Why is a software verification platform that applies formal proving
+tools to annotated programs. It is currently capable of analysis of C
+(through "Frama-C"), Java (through the included tool "Krakatoa"), and
+potentially ML programs with some modification into Why's own ML-like
+language. Furthermore, Why is capable of analysis of any program that
+is mapped onto its own internal language. It uses a weakest
+precondition involving calculus to generate potential theorems necessary
+for the proof of a program's correctness. It translates these theorems
+into formats that can be used by external proof assistants (without any
+extra work Coq, PVS, HOL Light, and Mizar are supported - having one is
+recommended and both Coq and PVS are packaged for Fedora) and automated
+theorem provers (without any extra work Simplify, Alt-Ergo, Yices, Z3,
+CVC3, and Zenon are supported and Alt-Ergo, Z3, and Zenon are packaged
+for Fedora) so that these results can be externally proven, resulting in
+a proof of program correctness.
+
+Note: Each user account must be set up by running "why-config" at the
+command line (to set up a configuration file).
+
+%package jessie
+Summary: Interface between why and frama-c
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: frama-c
+
+%description jessie
+The Jessie plugin, an interface between why and frama-c. Invoke it with:
+ frama-c -jessie FILE.c
+
+%if %{has_pvs}
+# Why's integration with PVS depends on the NASA Langley PVS Libraries,
+# which have no license information. This provides an alternative:
+%package pvs-support
+Summary: Complete Why software verification platform suite
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: pvs
+
+%description pvs-support
+This package provides support definitions so that the Why software
+verification platform suite can invoke PVS without licensing issues.
+%endif
+
+%package all
+Summary: Complete Why software verification platform suite
+Requires: why%{?_isa} = %{version}-%{release}
+Requires: why-jessie%{?_isa} = %{version}-%{release}
+%if %{has_pvs}
+Requires: why-pvs-support%{?_isa} = %{version}-%{release}
+%endif
+Requires: alt-ergo z3 zenon
+
+%description all
+This package provides a complete software verification platform suite
+based on Why, including various automated and interactive provers.
+
+%prep
+%setup -q
+%setup -q -T -D -a 9
+%patch0
+
+# The other part of avoiding the "Project" module name clash
+mv src/project.ml src/whyproject.ml
+mv src/project.mli src/whyproject.mli
+
+cp -p %SOURCE2 ./
+
+# Link with Fedora LDFLAGS
+for flag in $RPM_LD_FLAGS; do
+ sed -e "\%^bin/jessie\.opt%,\%^bin/jessie\.byte%s|-o|-ccopt $flag &|" \
+ -e "/gtkThread\.cmx/s|-o|-ccopt $flag &|" \
+ -i Makefile.in
+done
+
+%define fix_encoding() \
+ iconv -f %2 -t %3 %1 > %1.utf8; \
+ touch -r %1 %1.utf8; \
+ mv -f %1.utf8 %1;
+
+# Fix encodings
+for f in CHANGES COPYING; do
+ %fix_encoding $f ISO-8859-1 UTF-8
+done
+
+# APRON support: add a missing rpath and adapt to newer versions of apron
+sed -e "s|-lpolkaMPQ_caml|-Wl,-rpath,%{_libdir}/ocaml/apron|" \
+ -e "s|box\.cmxa polka.cmxa|boxMPQ.cmxa polkaMPQ.cmxa octMPQ.cmxa|" \
+ -i configure
+
+# Enable debuginfo
+sed -i 's,@STRIP@,/usr/bin/true,;s,-dtypes [^-],-g &,' Makefile.in
+sed -ri 's,ocaml(c|opt),& -g,' atp/Makefile
+
+# Command "pvs" is LVM2's /sbin/pvs, so rename "pvs" to pvs-sbcl:
+sed -i 's/pvs/pvs-sbcl/' configure
+
+# Allow building with OCaml 4.05
+sed -i 's/4\.04\.\*/4.04.*|4.05.*/' configure
+
+%build
+%if ! %{opt}
+%global opt_option OCAMLBEST=byte OCAMLDEP=ocamldep OCAMLYACC=ocamlyacc OCAMLLEX=ocamllex
+%else
+%global opt_option OCAMLBEST=opt
+%endif
+
+%configure --enable-apron --enable-verbosemake
+make %{opt_option}
+
+%install
+# Avoid a bug in PVS batch mode when using emacs
+make install DESTDIR=%{buildroot} %{opt_option} \
+ PVSLIB=%{buildroot}%{_libdir}/pvs/lib PVSEMACS=xemacs
+
+# Fix permissions
+chmod a-x %{buildroot}%{_libdir}/frama-c/plugins/META.frama-c-jessie
+chmod a-x %{buildroot}%{_libdir}/frama-c/plugins/Jessie.cmi
+chmod a-x %{buildroot}%{_libdir}/frama-c/plugins/top/Jessie.cm{a,o,x}
+
+# If no PVS, no .pvs files should be installed
+%if ! %{has_pvs}
+rm -fr %{buildroot}%{_libdir}/pvs
+%endif
+
+# Install desktop file
+desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE4}
+
+# Install AppData files
+mkdir -p %{buildroot}%{_datadir}/appdata
+install -pm 644 %{SOURCE5} %{buildroot}%{_datadir}/appdata
+
+# Install the icons
+mkdir -p %{buildroot}%{_datadir}/icons
+cp -a icons %{buildroot}%{_datadir}/icons/hicolor
+
+%if %{has_pvs}
+# Get rid of a BUILDROOT reference in a log file (fails QA_CHECK_RPATHS)
+sed -i "s|%{buildroot}||" %{buildroot}%{_libdir}/pvs/lib/why/top.out
+
+mkdir -p %{buildroot}%{_libdir}/pvs/lib/ints/
+cp -p %{SOURCE6} %{SOURCE7} %{buildroot}%{_libdir}/pvs/lib/ints/
+cp -p %{SOURCE8} %{buildroot}%{_bindir}/
+%endif
+
+%global why_doc_dir %{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}
+
+# Fix up documentation and examples
+mkdir -p %{buildroot}%{why_doc_dir}
+cp -p %{SOURCE1} %{SOURCE3} CHANGES README Version %{buildroot}%{why_doc_dir}
+
+%check
+make check
+
+%post jessie
+touch --no-create %{_datadir}/icons/hicolor &>/dev/null
+gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+
+%postun jessie
+touch --no-create %{_datadir}/icons/hicolor &>/dev/null
+gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+
+%files
+%doc README.why-coq.Fedora
+%license COPYING LICENSE
+%{_bindir}/*
+%{_libdir}/why/
+%{_datadir}/icons/hicolor/*/apps/%{name}.png
+%{why_doc_dir}/
+# why-jessie
+%exclude %{_bindir}/jessie
+# why-pvs-support:
+%exclude %{_bindir}/patch_jessie_pvs
+
+%files jessie
+%{_bindir}/jessie
+%{_libdir}/frama-c/plugins/Jessie.cmi
+%{_libdir}/frama-c/plugins/META.frama-c-jessie
+%{_libdir}/frama-c/plugins/top/Jessie.*
+%{_datadir}/appdata/jessie.appdata.xml
+%{_datadir}/applications/jessie.desktop
+
+%if %{has_pvs}
+%files pvs-support
+%{_libdir}/pvs/lib/*
+%{_bindir}/patch_jessie_pvs
+%endif
+
+# "why-all" is a meta-package; it just depends on other packages, so that
+# it's easier to install a useful suite of tools. Thus, it has no files:
+%files all
+
+
+%changelog
+* Sat Dec 9 2017 Jerry James - 2.39-3
+- Bring back the -project patch, still needed (bz 1520483)
+
+* Sat Oct 7 2017 Jerry James - 2.39-2
+- Rebuild for why3 0.88.0
+
+* Thu Sep 7 2017 Jerry James - 2.39-1
+- New upstream release
+
+* Wed Sep 06 2017 Richard W.M. Jones - 2.39-1
+- Update to 2.39.
+
+* Wed Sep 06 2017 Richard W.M. Jones - 2.38-6
+- OCaml 4.05.0 rebuild.
+
+* Thu Aug 03 2017 Fedora Release Engineering - 2.38-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Thu Jul 27 2017 Fedora Release Engineering - 2.38-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Sat Jul 01 2017 Richard W.M. Jones - 2.38-3
+- Rebuild for OCaml 4.04.2.
+
+* Mon May 15 2017 Richard W.M. Jones - 2.38-2
+- Rebuild for OCaml 4.04.1.
+
+* Fri Mar 24 2017 Jerry James - 2.38-1
+- New upstream release
+
+* Sat Feb 11 2017 Fedora Release Engineering - 2.36-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Thu Jan 12 2017 Jerry James - 2.36-1
+- New upstream release
+
+* Wed Nov 30 2016 Jerry James - 2.35-23
+- Rebuild for gappalib-coq 1.3.2
+
+* Sun Nov 06 2016 Richard W.M. Jones - 2.35-21
+- Rebuild for OCaml 4.04.0.
+- Modify configure script to allow building with OCaml 4.04.
+- Modify configure script to use octMPQ library (part of Apron).
+
+* Fri Oct 28 2016 Jerry James - 2.35-20
+- Rebuild for coq 8.5pl3
+- Remove obsolete scriptlets
+
+* Thu Sep 29 2016 Jerry James - 2.35-19
+- Rebuild for flocq 2.5.2 and gappalib-coq 1.3.1
+
+* Fri Sep 2 2016 Jerry James - 2.35-18
+- Rebuild for why3 0.87.2
+
+* Fri Jul 22 2016 Jerry James - 2.35-17
+- Rebuild for apron 0.9.11 and gappalib-coq 1.3.0
+
+* Wed Jul 13 2016 Jerry James - 2.35-16
+- Rebuild for coq 8.5pl2
+
+* Wed Jun 1 2016 Jerry James - 2.35-15
+- Rebuild for why3 0.87.1 and Frama-C Aluminium
+
+* Fri Apr 22 2016 Jerry James - 2.35-14
+- Rebuild for coq 8.5pl1
+
+* Sat Apr 16 2016 Jerry James - 2.35-13
+- Rebuild for ocaml-ocamlgraph 1.8.7
+
+* Fri Mar 18 2016 Jerry James - 2.35-12
+- Rebuild for why3 0.87.0
+
+* Fri Feb 12 2016 Jerry James - 2.35-11
+- Rebuild for coq 8.5, flocq 2.5.1, gappalib-coq 1.2.1, why3 0.86.3, and
+ Frama-C Magnesium
+- Use camlp4 in preference to camlp5
+- Drop cvc3 support
+- Update appdata for latest specification
+
+* Fri Feb 05 2016 Fedora Release Engineering - 2.35-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Wed Oct 14 2015 Jerry James - 2.35-9
+- Rebuild for flocq 2.5.0, gappalib-coq 1.2.0, and why3 0.86.2
+
+* Thu Jul 30 2015 Richard W.M. Jones - 2.35-8
+- OCaml 4.02.3 rebuild.
+
+* Mon Jun 22 2015 Jerry James - 2.35-7
+- Rebuild for why3 0.86.1
+
+* Fri Jun 19 2015 Richard W.M. Jones - 2.35-6
+- Rebuild for ocaml-4.02.2.
+
+* Fri Jun 19 2015 Fedora Release Engineering - 2.35-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Sat May 16 2015 Jerry James - 2.35-4
+- Rebuild for why3 0.86
+
+* Mon Apr 13 2015 Jerry James - 2.35-3
+- Rebuild for coq 8.4pl6
+
+* Wed Apr 1 2015 Jerry James - 2.35-2
+- Adjust requires filter
+
+* Tue Mar 31 2015 Jerry James - 2.35-1
+- New upstream release
+- Drop upstreamed -flocq24 and -frama-c-sodium patches
+- Drop all gwhy-related sources, as gwhy has been retired
+- Merge (X)Emacs files into the main package due to change in policy
+
+* Thu Mar 19 2015 Jerry James - 2.34-18
+- Rebuild for Frama-C Sodium
+- Add -ocamlgraph186 patch to adapt to ocamlgraph 1.8.6
+- Add -frama-c-sodium patch to adapt to Frama-C Sodium
+
+* Thu Feb 19 2015 Richard W.M. Jones - 2.34-17
+- ocaml-4.02.1 rebuild.
+
+* Sat Nov 15 2014 Jerry James - 2.34-16
+- Fix gwhy-2.33.patch (bz 1164470)
+
+* Thu Nov 13 2014 Richard W.M. Jones - 2.34-15
+- Bump and rebuild for broken dependencies.
+
+* Thu Oct 30 2014 Jerry James - 2.34-14
+- Rebuild for coq 8.4pl5
+
+* Thu Sep 18 2014 Jerry James - 2.34-13
+- Rebuild for why3 0.85
+
+* Mon Sep 8 2014 Jerry James - 2.34-12
+- Rebuild for fixed frama-c
+- Fix license handling
+
+* Tue Sep 2 2014 Jerry James - 2.34-11
+- Rebuild for the final ocaml 4.02.0 release
+
+* Mon Aug 25 2014 Jerry James - 2.34-10
+- ocaml-4.02.0+rc1 rebuild.
+
+* Mon Aug 18 2014 Fedora Release Engineering - 2.34-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Mon Aug 4 2014 Jerry James - 2.34-8
+- OCaml 4.02.0 beta rebuild
+- BR emacs instead of emacs-nox, which no longer exists
+
+* Tue Jun 24 2014 Jerry James - 2.34-7
+- Omit "-z now" when building with relro (bz 1105265)
+- Resolve a conflict between Frama-C and why modules both named "Project"
+
+* Sun Jun 08 2014 Fedora Release Engineering - 2.34-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Tue May 13 2014 Jerry James - 2.34-5
+- Rebuild for coq 8.4pl4
+
+* Mon Apr 21 2014 Jerry James - 2.34-4
+- Rebuild for ocamlgraph 1.8.5 and flocq 2.3.0
+- Drop has_coq macro, since coq is now universally available
+- Add -flocq23 patch to adapt to flocq 2.3.0
+
+* Tue Apr 15 2014 Richard W.M. Jones - 2.34-3
+- Remove ocaml_arches macro (RHBZ#1087794).
+
+* Mon Mar 24 2014 Jerry James - 2.34-2
+- Remove dropped patches
+- Add icons
+- Fix the desktop icon entries
+
+* Tue Mar 18 2014 Jerry James - 2.34-1
+- New upstream release
+- Drop upstreamed -hashtbl, -flocq, and -or patches
+- Add ocaml-findlib BR
+
+* Wed Feb 26 2014 Jerry James - 2.33-6
+- Rebuild for ocamlgraph 1.8.4
+- Update desktop files
+- Add AppData files for gwhy and jessie
+
+* Tue Sep 17 2013 Jerry James - 2.33-5
+- Rebuild for OCaml 4.01.0
+- Enable debuginfo
+- Add -or patch to fix warnings, since warnings are errors
+
+* Sat Jul 27 2013 Ville Skyttä - 2.33-4
+- Install docs to %%{_pkgdocdir} where available.
+
+* Fri Jun 21 2013 Jerry James - 2.33-3
+- Rebuild for frama-c Fluorine 20130601
+
+* Thu May 23 2013 Jerry James - 2.33-2
+- Rebuild for new frama-c and why3 builds
+
+* Tue May 14 2013 Jerry James - 2.33-1
+- New upstream release
+- Drop upstreamed -warning, -coq84, and -ocaml4 patches
+- Add -hashtbl patch
+- Enable Jessie plugin again
+
+* Sat Feb 09 2013 Parag Nemade - 2.31-7
+- Remove vendor tag from desktop file as per https://fedorahosted.org/fesco/ticket/1077
+
+* Mon Jan 14 2013 Jerry James - 2.31-6
+- Rebuild for alt-ergo 0.95
+
+* Mon Jan 7 2013 Jerry James - 2.31-5
+- Rebuild for coq 8.4pl1
+
+* Fri Oct 19 2012 Jerry James - 2.31-4
+- Rebuild for OCaml 4.00.1 and frama-c Oxygen
+- Recripple the Jessie plugin until it works with frama-c Oxygen
+
+* Tue Sep 11 2012 Jerry James - 2.31-3
+- Rebuild for new frama-c build with altered API.
+
+* Mon Aug 27 2012 Jerry James - 2.31-2
+- Frama-c is fixed; rebuild with the Jessie plugin enabled and functioning
+
+* Thu Aug 23 2012 Jerry James - 2.31-1
+- New upstream version
+- Drop upstreamed patches
+- Add ocaml-mlgmpidl-devel and why3 BRs
+- Add -warning, -ocaml4, and -coq84 patches to fix the build
+- Cripple the Jessie plugin until problems with frama-c and hashtables are fixed
+
+* Mon Jul 30 2012 Richard W.M. Jones - 2.30-7
+- Rebuild for OCaml 4.00.0 official.
+
+* Sun Jul 22 2012 Fedora Release Engineering - 2.30-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Wed Jan 11 2012 Jerry James - 2.30-5
+- Patch to work with flocq 2.0.0
+
+* Tue Dec 27 2011 Jerry James - 2.30-4
+- Rebuild for coq 8.3pl3
+
+* Tue Dec 6 2011 Jerry James - 2.30-3
+- Update alt_ergo and yices "okay" version numbers
+
+* Wed Nov 23 2011 Jerry James - 2.30-2
+- Rebuild with APRON and gappalib-coq support
+
+* Fri Oct 28 2011 Jerry James - 2.30-1
+- New upstream release
+
+* Thu Jul 14 2011 Jerry James - 2.29-2
+- Fix broken conditionals
+
+* Mon Jul 11 2011 Jerry James - 2.29-1
+- New upstream release (fixes FTBFS: bz 715902)
+- Remove unnecessary spec file elements (BuildRoot, etc.)
+- Update approach to filtering provides and requires
+- Add has_pvs analogously to has_coq, and simplify macro usage
+- Add (X)Emacs support packages
+- New subpackage for the jessie plugin to avoid unowned directories and
+ permit a direct dependency on frama-c
+- Prepare for the eventual availability of APRON
+
+* Thu Apr 14 2011 Karsten Hopp 2.28-2.2
+- add ppc to excludearch, too. No pvs-sbcl available there
+
+* Wed Apr 13 2011 Karsten Hopp 2.28-2.1
+- add ppc64 to excludearch, no sbcl available there
+
+* Mon Feb 07 2011 Fedora Release Engineering - 2.28-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Fri Jan 21 2011 Richard W.M. Jones - 2.28-1
+- Since 2.26 FTBFS, try latest upstream (2.28).
+- Rebase Makefile.in patch.
+- Fix(?) test result.
+- No libdir/frama-c directory is created any more.
+
+* Fri Jan 21 2011 Richard W.M. Jones - 2.26-2
+- Bump and rebuild for OCaml 3.12.
+
+* Sat Oct 09 2010 David A. Wheeler + Mark Rader - 2.26-1
+- Upgrade to upstream version 2.26 (inc. update of krakatoa.pdf)
+- Integrated with Frama-C and PVS (as pvs-sbcl)
+
+* Mon Jan 11 2010 Richard W.M. Jones - 2.23-2
+- Rebuild to fix dependencies.
+
+* Fri Jan 08 2010 Alan Dunn - 2.23-1
+- Upgrade to upstream version 2.23
+- Move execstack fixing to spec file from patch
+- Moved patch descriptions to initial patch declaration as in examples
+ in Fedora documentation
+- New Caduceus, Krakatoa documentation
+- Update test result from small test min.mlw
+- Added CVC3 interfacing capabilities
+- Removed patch for gwhy configuration, as there is a new mechanism for this
+
+* Tue Sep 22 2009 Dennis Gilmore - 2.17-5
+- Exclude sparc64 s390 s390x there is no ocaml there
+
+* Fri Aug 07 2009 Alan Dunn - 2.17-4
+- Removed now irrelevant check for no OCaml in Fedora < 9 (those
+ distributions are EOL)
+- Changed ExcludeArch to proper Fedora versions
+- Builds coq subpackage exactly when Coq can be built, thus making
+ build independent of whether Coq can be built
+- define -> global
+- Fixed accidental use of in tar ocamlgraph instead of one that is
+ separately packaged
+
+* Mon Jul 27 2009 Fedora Release Engineering - 2.17-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Wed Feb 25 2009 Fedora Release Engineering - 2.17-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Wed Dec 24 2008 Alan Dunn 2.17-1
+- Upgrade to version 2.17 (bz: 477790)
+- Add ownership of two directories common with Coq, but neither program requires the other (bz: 474016)
+- Minor filename change in 2.17 (GPL -> LICENSE)
+- Added back Coq .v files to match policy for Coq
+- Changed directory structure re: jessie and krakatoa to match new structure in 2.17
+- Minor changes to patches to ensure they still work in 2.17
+- Corrected package location gwhy-icon.png (should only be in gwhy)
+* Tue Aug 5 2008 Alan Dunn 2.14-2.1
+- ExcludeArch ppc64 on Fedora 8 due to no ocaml.
+* Fri Aug 1 2008 Alan Dunn 2.14-2
+- Fixed minor issues in response to package review:
+- Inclusion of COPYING, GPL license-related files
+- Added config.mll patch to make default config file created nicer
+- Changes subpackage dependencies to be fully versioned.
+- Makes during build allowed to be noisy (allowed to print).
+* Wed Jul 30 2008 Alan Dunn 2.14-1
+- Changed to new version of why, removed previous why-cpulimit name
+ change, zenon output format patches as the issues were fixed in
+ why 2.14.
+- Moved doc subpackage back into main package.
+- Added example files to documentation subpackage.
+- Added check section with test on small why file.
+- Reformatted some macro names for greater readability.
+* Thu Jul 24 2008 Alan Dunn 2.13-2
+- Added several patches: fixed Zenon output, completed fix of rename
+ of cpulimit -> why-cpulimit.
+* Wed Jul 23 2008 Alan Dunn 2.13-1
+- Initial Fedora RPM version.