Sophie

Sophie

distrib > Fedora > 16 > x86_64 > by-pkgid > 51a3ae2cfcd86fa4959e958cd0e1a7f7 > files > 4

why3-0.71-2.fc16.src.rpm

# Debuginfo cannot be generated usefully for OCaml programs, so the only
# debuginfo for this package is for the sole C program: why3-cpulimit.

%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)

Name:           why3
Version:        0.71
Release:        2%{?dist}
Summary:        Software verification platform

License:        LGPLv2 with exceptions
URL:            http://why3.lri.fr/
Source0:        https://gforge.inria.fr/frs/download.php/29252/%{name}-%{version}.tar.gz
# Man pages written by Jerry James using text found in the sources.  Hence,
# the copyright and license are the same as for the upstream sources.
Source1:        %{name}-man.tar.xz
# This patch will not be upstream.  It updates the expected version numbers of
# some components to match the currently available Fedora versions.
Patch0:         %{name}-versions.patch

BuildRequires:  coq
BuildRequires:  evince
BuildRequires:  gtksourceview2-devel
BuildRequires:  ocaml
BuildRequires:  ocaml-camlp5-devel
BuildRequires:  ocaml-findlib-devel
BuildRequires:  ocaml-lablgtk-devel
BuildRequires:  ocaml-menhir-devel
BuildRequires:  ocaml-ocamldoc
BuildRequires:  ocaml-ocamlgraph-devel
BuildRequires:  ocaml-sqlite-devel
BuildRequires:  rubber
BuildRequires:  sqlite-devel
BuildRequires:  emacs xemacs xemacs-packages-extra

Requires:       gtksourceview2

ExclusiveArch:  %{ocaml_arches}

%description
Why3 is the next generation of the Why software verification platform.
Why3 clearly separates the purely logical specification part from
generation of verification conditions for programs.  It features a rich
library of proof task transformations that can be chained to produce a
suitable input for a large set of theorem provers, including SMT
solvers, TPTP provers, as well as interactive proof assistants.

%package emacs
Summary:        Emacs support file for %{name} files
Requires:       %{name} = %{version}-%{release}
Requires:       emacs(bin)
BuildArch:      noarch
Obsoletes:      why-emacs < 2.31
Provides:       why-emacs = 2.31-1

%description emacs
This package contains an Emacs support file for working with %{name} files.

%package emacs-el
Summary:        Emacs source file for %{name} support
Requires:       %{name}-emacs = %{version}-%{release}
BuildArch:      noarch
Obsoletes:      why-emacs-el < 2.31
Provides:       why-emacs-el = 2.31-1

%description emacs-el
This package contains the Emacs source file for the Emacs %{name} support.
This package is not needed to use the Emacs support.

%package xemacs
Summary:        XEmacs support file for %{name} files
Requires:       %{name} = %{version}-%{release}
Requires:       xemacs(bin)
BuildArch:      noarch
Obsoletes:      why-xemacs < 2.31
Provides:       why-xemacs = 2.31-1

%description xemacs
This package contains an XEmacs support file for working with %{name} files.

%package xemacs-el
Summary:        XEmacs source file for %{name} support
Requires:       %{name}-xemacs = %{version}-%{release}
BuildArch:      noarch
Obsoletes:      why-xemacs-el < 2.31
Provides:       why-xemacs-el = 2.31-1

%description xemacs-el
This package contains the XEmacs source file for the XEmacs %{name} support.
This package is not needed to use the Emacs support.

%package all
Summary:        Complete Why3 software verification platform suite
Requires:       %{name}%{?_isa} = %{version}-%{release}
Requires:       alt-ergo coq cvc3 E gappalib-coq

%description all
This package provides a complete software verification platform suite
based on Why3, including various automated and interactive provers.

%prep
%setup -q
%setup -q -T -D -a 1
%patch0

# Use the correct compiler flags and fix linking the TPTP plugin
sed -e "s|-Wall|$RPM_OPT_FLAGS|" \
    -e "s|-shared -o \$@|& \$(MENHIRLIB).cmx|" \
    -i Makefile.in

%build
%configure --enable-menhirlib --enable-doc

make %{?_smp_mflags}

# The makefile doesn't strip the Coq plugin
strip plugins/whytptp.cmxs

%install
make install DESTDIR=$RPM_BUILD_ROOT

# Install the man pages
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
cd man
for f in *.1; do
  sed "s/@version@/%{version}/" $f > $RPM_BUILD_ROOT%{_mandir}/man1/$f
  touch -r $f $RPM_BUILD_ROOT%{_mandir}/man1/$f
done
cd ..

# Move the gtksourceview language file to the right place
mkdir -p $RPM_BUILD_ROOT%{_datadir}/gtksourceview-2.0/language-specs
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/lang/why.lang \
   $RPM_BUILD_ROOT%{_datadir}/gtksourceview-2.0/language-specs
rmdir $RPM_BUILD_ROOT%{_datadir}/%{name}/lang

# Move the (X)Emacs support file to the right place and byte compile.
mkdir -p $RPM_BUILD_ROOT%{_xemacs_sitelispdir}
cp -p $RPM_BUILD_ROOT%{_datadir}/%{name}/emacs/why.el \
   $RPM_BUILD_ROOT%{_xemacs_sitelispdir}
pushd $RPM_BUILD_ROOT%{_xemacs_sitelispdir}
%{_xemacs_bytecompile} why.el
mkdir -p $RPM_BUILD_ROOT%{_emacs_sitelispdir}
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/emacs/why.el \
   $RPM_BUILD_ROOT%{_emacs_sitelispdir}
rmdir $RPM_BUILD_ROOT%{_datadir}/%{name}/emacs
cd $RPM_BUILD_ROOT%{_emacs_sitelispdir}
%{_emacs_bytecompile} why.el
popd

%files
%doc LICENSE README doc/manual.pdf
%{_bindir}/%{name}*
%{_datadir}/%{name}/
%{_datadir}/gtksourceview-2.0/language-specs/why.lang
%{_libdir}/%{name}/
%{_mandir}/man1/%{name}*

%files emacs
%{_emacs_sitelispdir}/why.elc

%files emacs-el
%{_emacs_sitelispdir}/why.el

%files xemacs
%{_xemacs_sitelispdir}/why.elc

%files xemacs-el
%{_xemacs_sitelispdir}/why.el

# "why3-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
* Thu Apr 19 2012 Jerry James <loganjerry@gmail.com> - 0.71-2
- Add missing sqlite-devel BR
- Do not move the coq plugin
- Generate debuginfo for the sole C program
- Add man pages

* Fri Dec 16 2011 Jerry James <loganjerry@gmail.com> - 0.71-1
- Initial RPM