|
Mark Rader |
c9d0040 |
# Some ideas for this spec file taken from a prior attempt by Richard
|
|
Mark Rader |
c9d0040 |
# W. M. Jones
|
|
Mark Rader |
c9d0040 |
|
|
Mark Rader |
c9d0040 |
# General Information
|
|
Mark Rader |
c9d0040 |
# This program has its own version of cil, there is an ocaml-cil upon which this
|
|
Mark Rader |
c9d0040 |
# based, however the version contained in this package has custom mods that
|
|
Mark Rader |
c9d0040 |
# are not availible with the ocaml-cil because the upstream has
|
|
Mark Rader |
c9d0040 |
# forked their own version of cil.
|
|
Mark Rader |
c9d0040 |
|
|
Mark Rader |
c9d0040 |
%global debug_package %{nil}
|
|
Mark Rader |
c9d0040 |
%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
|
|
Mark Rader |
c9d0040 |
%if %opt
|
|
Mark Rader |
c9d0040 |
%global ocamlbest opt
|
|
Mark Rader |
c9d0040 |
%else
|
|
Mark Rader |
c9d0040 |
%global ocamlbest byte
|
|
Mark Rader |
c9d0040 |
%endif
|
|
Mark Rader |
c9d0040 |
|
|
|
d253b21 |
%global pkgversion Nitrogen-20111001
|
|
Mark Rader |
c9d0040 |
|
|
Mark Rader |
c9d0040 |
Name: frama-c
|
|
|
d253b21 |
Version: 1.7
|
|
|
e5054df |
Release: 3%{?dist}
|
|
Mark Rader |
c9d0040 |
Summary: Framework for source code analysis of C software
|
|
Mark Rader |
c9d0040 |
|
|
Mark Rader |
c9d0040 |
Group: Development/Libraries
|
|
|
91f4bbf |
# Licensing breakdown in source file frama-c-1.6-licensing
|
|
|
91f4bbf |
License: LGPLv2 and GPLv2 and GPLv2+ and BSD and (QPL with exceptions)
|
|
|
91f4bbf |
URL: http://frama-c.com/
|
|
|
91f4bbf |
Source0: http://frama-c.com/download/%{name}-%{pkgversion}.tar.gz
|
|
|
91f4bbf |
Source1: frama-c-1.6.licensing
|
|
Mark Rader |
6c8d007 |
Source2: %{name}-gui.desktop
|
|
|
91f4bbf |
Source3: acsl.el
|
|
|
91f4bbf |
|
|
|
d253b21 |
BuildRequires: alt-ergo
|
|
|
d253b21 |
BuildRequires: coq
|
|
|
91f4bbf |
BuildRequires: desktop-file-utils
|
|
|
91f4bbf |
BuildRequires: emacs-nox xemacs-nox
|
|
|
91f4bbf |
BuildRequires: graphviz
|
|
|
91f4bbf |
BuildRequires: gtksourceview2-devel
|
|
|
91f4bbf |
BuildRequires: libgnomecanvas-devel
|
|
|
91f4bbf |
BuildRequires: ltl2ba
|
|
|
91f4bbf |
BuildRequires: ocaml
|
|
|
91f4bbf |
BuildRequires: ocaml-findlib-devel
|
|
|
91f4bbf |
BuildRequires: ocaml-lablgtk-devel
|
|
|
91f4bbf |
BuildRequires: ocaml-ocamlgraph-devel
|
|
|
91f4bbf |
|
|
|
91f4bbf |
Requires: cpp
|
|
|
91f4bbf |
Requires: graphviz
|
|
|
91f4bbf |
Requires: ltl2ba
|
|
Mark Rader |
c9d0040 |
|
|
|
f30d344 |
# ocaml only available on these:
|
|
|
91f4bbf |
ExclusiveArch: %{ocaml_arches}
|
|
Mark Rader |
c9d0040 |
|
|
|
91f4bbf |
# Filter out bogus requires
|
|
|
d253b21 |
%global __requires_exclude ocaml\\\(((Formula)|(GtkSourceView2_types)|(Ltlast)|(Mcfg)|(Mfloat)|(Mint)|(Mlogic)|(Mvalues)|(Mwp)|(Promelaast)|(Sig))\\\)
|
|
Mark Rader |
c9d0040 |
|
|
Mark Rader |
c9d0040 |
%description
|
|
Mark Rader |
c9d0040 |
Frama-C is a suite of tools dedicated to the analysis of the source
|
|
Mark Rader |
c9d0040 |
code of software written in C.
|
|
Mark Rader |
c9d0040 |
|
|
Mark Rader |
c9d0040 |
Frama-C gathers several static analysis techniques in a single
|
|
Mark Rader |
c9d0040 |
collaborative framework. The collaborative approach of Frama-C allows
|
|
Mark Rader |
c9d0040 |
static analyzers to build upon the results already computed by other
|
|
Mark Rader |
c9d0040 |
analyzers in the framework. Thanks to this approach, Frama-C provides
|
|
Mark Rader |
c9d0040 |
sophisticated tools, such as a slicer and dependency analysis.
|
|
Mark Rader |
c9d0040 |
|
|
Mark Rader |
c9d0040 |
%package devel
|
|
Mark Rader |
c9d0040 |
Summary: Development files for %{name}
|
|
Mark Rader |
c9d0040 |
Group: Development/Libraries
|
|
|
91f4bbf |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
Mark Rader |
c9d0040 |
|
|
Mark Rader |
c9d0040 |
%description devel
|
|
Mark Rader |
c9d0040 |
The %{name}-devel package contains libraries and signature files for
|
|
Mark Rader |
c9d0040 |
developing applications that use %{name}. In particular, this package
|
|
Mark Rader |
c9d0040 |
is necessary to compile plug ins for Frama-C.
|
|
Mark Rader |
c9d0040 |
|
|
|
91f4bbf |
%package doc
|
|
|
91f4bbf |
Summary: Large documentation files for %{name}
|
|
|
91f4bbf |
Group: Documentation
|
|
|
91f4bbf |
Requires: %{name} = %{version}-%{release}
|
|
|
91f4bbf |
BuildArch: noarch
|
|
|
91f4bbf |
|
|
|
91f4bbf |
%description doc
|
|
|
91f4bbf |
Large documentation files for %{name}.
|
|
|
91f4bbf |
|
|
|
91f4bbf |
%package emacs
|
|
|
91f4bbf |
Summary: Emacs support file for ACSL markup
|
|
|
91f4bbf |
Group: Development/Languages
|
|
|
91f4bbf |
License: LGPLv2
|
|
|
91f4bbf |
Requires: %{name} = %{version}-%{release}
|
|
|
91f4bbf |
Requires: emacs(bin)
|
|
|
91f4bbf |
BuildArch: noarch
|
|
|
91f4bbf |
|
|
|
91f4bbf |
%description emacs
|
|
|
91f4bbf |
This package contains an Emacs support file for working with C source
|
|
|
91f4bbf |
files marked up with ACSL.
|
|
|
91f4bbf |
|
|
|
91f4bbf |
%package emacs-el
|
|
|
91f4bbf |
Summary: Emacs source file for ACSL markup
|
|
|
91f4bbf |
Group: Development/Languages
|
|
|
91f4bbf |
License: LGPLv2
|
|
|
91f4bbf |
Requires: %{name}-emacs = %{version}-%{release}
|
|
|
91f4bbf |
BuildArch: noarch
|
|
|
91f4bbf |
|
|
|
91f4bbf |
%description emacs-el
|
|
|
91f4bbf |
This package contains the Emacs source file for working with C source
|
|
|
91f4bbf |
files marked up with ACSL. This package is not needed to use the Emacs
|
|
|
91f4bbf |
support.
|
|
|
91f4bbf |
|
|
|
91f4bbf |
%package xemacs
|
|
|
91f4bbf |
Summary: XEmacs support file for ACSL markup
|
|
|
91f4bbf |
Group: Development/Languages
|
|
|
91f4bbf |
License: LGPLv2
|
|
|
91f4bbf |
Requires: %{name} = %{version}-%{release}
|
|
|
91f4bbf |
Requires: xemacs(bin), xemacs-packages-extra
|
|
|
91f4bbf |
BuildArch: noarch
|
|
|
91f4bbf |
|
|
|
91f4bbf |
%description xemacs
|
|
|
91f4bbf |
This package contains an XEmacs support file for working with C source
|
|
|
91f4bbf |
files marked up with ACSL.
|
|
|
91f4bbf |
|
|
|
91f4bbf |
%package xemacs-el
|
|
|
91f4bbf |
Summary: XEmacs source file for ACSL markup
|
|
|
91f4bbf |
Group: Development/Languages
|
|
|
91f4bbf |
License: LGPLv2
|
|
|
91f4bbf |
Requires: %{name}-xemacs = %{version}-%{release}
|
|
|
91f4bbf |
BuildArch: noarch
|
|
|
91f4bbf |
|
|
|
91f4bbf |
%description xemacs-el
|
|
|
91f4bbf |
This package contains the XEmacs source file for working with C source
|
|
|
91f4bbf |
files marked up with ACSL. This package is not needed to use the XEmacs
|
|
|
91f4bbf |
support.
|
|
|
91f4bbf |
|
|
Mark Rader |
c9d0040 |
%prep
|
|
Mark Rader |
c9d0040 |
%setup -q -n %{name}-%pkgversion
|
|
Mark Rader |
c9d0040 |
|
|
|
91f4bbf |
# Fix encodings
|
|
|
91f4bbf |
iconv -f iso-8859-1 -t utf8 man/frama-c.1 > man/frama-c.1.conv
|
|
|
91f4bbf |
touch -r man/frama-c.1 man/frama-c.1.conv
|
|
|
91f4bbf |
mv -f man/frama-c.1.conv man/frama-c.1
|
|
Mark Rader |
c9d0040 |
|
|
|
d253b21 |
# Version 1.8 of ocamlgraph is good, therefore version 1.8.1 is also
|
|
|
d253b21 |
sed -i 's|1\.8)|1.8.1)|' configure
|
|
|
d253b21 |
|
|
Mark Rader |
c9d0040 |
%build
|
|
Mark Rader |
c9d0040 |
# This option prints the actual make commands so we can see what's
|
|
Mark Rader |
c9d0040 |
# happening (eg: for debugging the spec file)
|
|
Mark Rader |
c9d0040 |
%global framac_make_options VERBOSEMAKE=yes OCAMLBEST=%{ocamlbest}
|
|
Mark Rader |
c9d0040 |
|
|
|
d253b21 |
# Fake the existence of why so the plugin is built
|
|
|
d253b21 |
touch why why-dp
|
|
|
d253b21 |
chmod a+x why why-dp
|
|
|
d253b21 |
PATH=${PATH}:`pwd`
|
|
|
d253b21 |
|
|
|
91f4bbf |
%configure
|
|
Mark Rader |
c9d0040 |
make %{framac_make_options}
|
|
Mark Rader |
c9d0040 |
|
|
Mark Rader |
c9d0040 |
%install
|
|
Mark Rader |
c9d0040 |
make install DESTDIR=%{buildroot} %{framac_make_options}
|
|
|
91f4bbf |
strip %{buildroot}%{_bindir}/frama-c
|
|
|
91f4bbf |
strip %{buildroot}%{_bindir}/frama-c-gui
|
|
|
91f4bbf |
strip %{buildroot}%{_libdir}/frama-c/plugins/*.cmxs
|
|
|
91f4bbf |
strip %{buildroot}%{_libdir}/frama-c/plugins/gui/*.cmxs
|
|
Mark Rader |
c9d0040 |
desktop-file-install \
|
|
Mark Rader |
6c8d007 |
--dir=${RPM_BUILD_ROOT}%{_datadir}/applications/ \
|
|
Mark Rader |
c9d0040 |
%{SOURCE2}
|
|
Mark Rader |
c9d0040 |
|
|
|
91f4bbf |
# Install and bytecompile the XEmacs file
|
|
|
91f4bbf |
mkdir -p %{buildroot}%{_xemacs_sitelispdir}
|
|
|
91f4bbf |
cp -p share/acsl.el %{buildroot}%{_xemacs_sitelispdir}
|
|
|
91f4bbf |
cd %{buildroot}%{_xemacs_sitelispdir}
|
|
|
91f4bbf |
%{_xemacs_bytecompile} acsl.el
|
|
|
91f4bbf |
mkdir -p %{buildroot}%{_xemacs_sitestartdir}
|
|
|
91f4bbf |
cp -p %{SOURCE3} %{buildroot}%{_xemacs_sitestartdir}
|
|
|
91f4bbf |
|
|
|
91f4bbf |
# Install and bytecompile the Emacs file
|
|
|
91f4bbf |
mkdir -p %{buildroot}%{_emacs_sitelispdir}
|
|
|
91f4bbf |
mv %{buildroot}%{_datadir}/frama-c/acsl.el %{buildroot}%{_emacs_sitelispdir}
|
|
|
d253b21 |
chmod a-x %{buildroot}%{_emacs_sitelispdir}/acsl.el
|
|
|
91f4bbf |
cd %{buildroot}%{_emacs_sitelispdir}
|
|
|
91f4bbf |
%{_emacs_bytecompile} acsl.el
|
|
|
91f4bbf |
mkdir -p %{buildroot}%{_emacs_sitestartdir}
|
|
|
91f4bbf |
cp -p %{SOURCE3} %{buildroot}%{_emacs_sitestartdir}
|
|
Mark Rader |
c9d0040 |
|
|
|
d253b21 |
# The install step adds lots of spurious executable bits
|
|
|
d253b21 |
find %{buildroot}%{_datadir}/frama-c -type f -perm /0111 | \
|
|
|
d253b21 |
xargs chmod a-x %{buildroot}%{_libdir}/frama-c/*.cmx \
|
|
|
d253b21 |
%{buildroot}%{_mandir}/man1/*
|
|
|
d253b21 |
|
|
Mark Rader |
c9d0040 |
%files
|
|
|
d253b21 |
%doc licenses/* doc/manuals/user-manual.pdf VERSION
|
|
Mark Rader |
c9d0040 |
%{_bindir}/*
|
|
Mark Rader |
c9d0040 |
%exclude %{_bindir}/frama-c.byte
|
|
Mark Rader |
c9d0040 |
%exclude %{_bindir}/frama-c-gui.byte
|
|
Mark Rader |
c9d0040 |
%exclude %{_bindir}/ptests.byte
|
|
Mark Rader |
c9d0040 |
%exclude %{_libdir}/frama-c/*.cmo
|
|
Mark Rader |
c9d0040 |
%exclude %{_libdir}/frama-c/*.cmx
|
|
Mark Rader |
c9d0040 |
%exclude %{_libdir}/frama-c/*.o
|
|
Mark Rader |
c9d0040 |
%{_libdir}/frama-c
|
|
Mark Rader |
6c8d007 |
%dir %{_datadir}/frama-c/
|
|
|
91f4bbf |
%{_datadir}/frama-c/*.gif
|
|
|
91f4bbf |
%{_datadir}/frama-c/*.ico
|
|
|
91f4bbf |
%{_datadir}/frama-c/*.png
|
|
Mark Rader |
6c8d007 |
%{_datadir}/applications/*.desktop
|
|
Mark Rader |
c9d0040 |
%{_mandir}/man1/*
|
|
Mark Rader |
c9d0040 |
|
|
Mark Rader |
c9d0040 |
%files devel
|
|
|
91f4bbf |
%doc doc/manuals/plugin-development-guide.pdf
|
|
Mark Rader |
c9d0040 |
%{_datadir}/frama-c/*
|
|
Mark Rader |
6c8d007 |
%{_libdir}/frama-c/*.cmo
|
|
Mark Rader |
6c8d007 |
%{_libdir}/frama-c/*.cmx
|
|
Mark Rader |
6c8d007 |
%{_libdir}/frama-c/*.o
|
|
|
91f4bbf |
%exclude %{_datadir}/frama-c/*.gif
|
|
|
91f4bbf |
%exclude %{_datadir}/frama-c/*.ico
|
|
|
91f4bbf |
%exclude %{_datadir}/frama-c/*.png
|
|
Mark Rader |
c9d0040 |
%exclude %{_datadir}/frama-c/manuals
|
|
Mark Rader |
c9d0040 |
|
|
|
91f4bbf |
%files doc
|
|
|
91f4bbf |
%doc doc/manuals/acsl* doc/manuals/aorai-manual.pdf
|
|
|
d253b21 |
%doc doc/manuals/jessie-tutorial.pdf doc/manuals/metrics-manual.pdf
|
|
|
d253b21 |
%doc doc/manuals/rte-manual.pdf doc/manuals/value-analysis.pdf
|
|
|
d253b21 |
%doc doc/manuals/wp-manual.pdf
|
|
|
91f4bbf |
|
|
|
91f4bbf |
%files emacs
|
|
|
91f4bbf |
%{_emacs_sitelispdir}/acsl.elc
|
|
|
91f4bbf |
%{_emacs_sitestartdir}/acsl.el
|
|
|
91f4bbf |
|
|
|
91f4bbf |
%files emacs-el
|
|
|
91f4bbf |
%{_emacs_sitelispdir}/acsl.el
|
|
Mark Rader |
c9d0040 |
|
|
|
91f4bbf |
%files xemacs
|
|
|
91f4bbf |
%{_xemacs_sitelispdir}/acsl.elc
|
|
|
91f4bbf |
%{_xemacs_sitestartdir}/acsl.el
|
|
|
91f4bbf |
|
|
|
91f4bbf |
%files xemacs-el
|
|
|
91f4bbf |
%{_xemacs_sitelispdir}/acsl.el
|
|
|
3cf52ee |
|
|
Mark Rader |
6c8d007 |
%changelog
|
|
|
e5054df |
* Mon Jan 9 2012 Jerry James <loganjerry@gmail.com> - 1.7-3
|
|
|
e5054df |
- Rebuild for OCaml 3.12.1
|
|
|
e5054df |
|
|
|
1fe2839 |
* Tue Nov 8 2011 Jerry James <loganjerry@gmail.com> - 1.7-2
|
|
|
1fe2839 |
- Rebuild to eliminate libpng dependency
|
|
|
1fe2839 |
|
|
|
d253b21 |
* Tue Oct 25 2011 Jerry James <loganjerry@gmail.com> - 1.7-1
|
|
|
d253b21 |
- Update to Nitrogen version
|
|
|
d253b21 |
|
|
|
91f4bbf |
* Mon Jul 11 2011 Jerry James <loganjerry@gmail.com> - 1.6-1
|
|
|
91f4bbf |
- Update to Carbon version
|
|
|
91f4bbf |
- Removed unnecessary spec file elements (BuildRoot, etc.)
|
|
|
91f4bbf |
- Update approach to filtering provides and requires
|
|
|
91f4bbf |
- Do not filter as much; why should Require some of the filtered names
|
|
|
91f4bbf |
- Add (X)Emacs support packages
|
|
|
91f4bbf |
- Add doc subpackage to hold large manual PDFs
|
|
|
91f4bbf |
- Support for gtksourceview 1.x has been dropped
|
|
|
91f4bbf |
|
|
|
c26941c |
* Wed Apr 13 2011 Karsten Hopp <karsten@redhat.com> 1.5-3.1
|
|
|
c26941c |
- add ppc64 to archs with ocaml
|
|
|
c26941c |
|
|
|
a306c33 |
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5-3
|
|
|
a306c33 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
|
|
a306c33 |
|
|
|
f30d344 |
* Sat Jan 22 2011 Dan HorĂ¡k <dan[at]danny.cz> - 1.5-2
|
|
|
f30d344 |
- updated the supported arch list
|
|
|
f30d344 |
|
|
Mark Rader |
6c8d007 |
* Sat Jul 07 2010 Mark Rader <msrader@gmail.com> 1.5-1
|
|
Mark Rader |
6c8d007 |
- Upgraded Frama C to Boron version and added ltl2ba dependencies.
|
|
Mark Rader |
c9d0040 |
|
|
Mark Rader |
c9d0040 |
* Mon Jul 05 2010 Mark Rader <msrader@gmail.com> 1.4-4
|
|
Mark Rader |
c9d0040 |
- Modified spec file to add new OCAML dependency structure for FC-13
|
|
Mark Rader |
c9d0040 |
|
|
Mark Rader |
c9d0040 |
* Sun Jun 06 2010 Mark Rader <msrader@gmail.com> 1.4-3
|
|
Mark Rader |
c9d0040 |
- Added documentation to explain the various licensing entries.
|
|
Mark Rader |
c9d0040 |
- Added .desktop file
|
|
Mark Rader |
c9d0040 |
|
|
Mark Rader |
c9d0040 |
* Wed May 24 2010 Mark Rader <msrader@gmail.com> 1.4-2
|
|
Mark Rader |
c9d0040 |
- Add SELinux context settings.
|
|
Mark Rader |
c9d0040 |
|
|
Mark Rader |
c9d0040 |
* Wed Feb 10 2010 Alan Dunn <amdunn@gmail.com> 1.4-1
|
|
Mark Rader |
c9d0040 |
- Initial Fedora RPM
|