sci-mathematics/frama-c: new package

This is a bump of version in ::science.

Signed-off-by: François-Xavier Carton <fx.carton91@gmail.com>
This commit is contained in:
François-Xavier Carton
2020-11-27 19:20:23 +01:00
parent 8774c3bacb
commit 1fe1afafb8
3 changed files with 153 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST frama-c-22.0-Titanium.tar.gz 6008520 BLAKE2B 957f1fd383913718598c8d14bd0ff4b6251cc5350633888ca061fa0e44fae17273b379dcc1b70fe8a187975364aee1f255e0df232a4ee349ff29f9cb922a7b60 SHA512 7366127da4726ffec0022adc06fd867b6ea37fc23b6a5ddccbe7562fcaa635abc6894397d0101fcb0afc339c565299c6d637006305c8331aa62a8ce734740a0f

View File

@@ -0,0 +1,102 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools
DESCRIPTION="Framework for analysis of source codes written in C"
HOMEPAGE="https://frama-c.com"
NAME="Titanium"
SRC_URI="https://frama-c.com/download/${P}-${NAME}.tar.gz"
LICENSE="BSD LGPL-2 LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64"
IUSE="+aorai +callgraph +dive +e-acsl +eva +from-analysis gtk +impact +inout +instantiate +loop-analysis +metrics +nonterm +obfuscator +ocamlopt +occurrence +pdg +postdominators +print-api +qed +report +rtegen +scope security-slicing +semantic-constant-folding +server +slicing +sparecode +studia +users +variadic +wp"
RESTRICT="strip"
# TODO: $(use_enable markdown-report mdr) -> missing dev-ml/ppx_deriving_yojson
RDEPEND="
>=dev-lang/ocaml-4.08.1[ocamlopt?]
>=dev-ml/ocamlgraph-1.8.5[gtk?,ocamlopt?]
>=dev-ml/zarith-1.5[ocamlopt?]
>=dev-ml/yojson-1.4.1[ocamlopt?]
gtk? ( >=dev-ml/lablgtk-2.14:2=[sourceview,gnomecanvas,ocamlopt?] )
wp? ( >=sci-mathematics/why3-1.3.3 )"
DEPEND="${RDEPEND}
dev-ml/findlib
media-gfx/graphviz"
REQUIRED_USE="
dive? ( eva studia )
e-acsl? ( rtegen )
from-analysis? ( eva callgraph )
impact? ( pdg eva inout )
inout? ( from-analysis eva callgraph )
metrics? ( eva )
nonterm? ( eva )
occurrence? ( eva )
pdg? ( from-analysis eva callgraph )
scope? ( postdominators eva from-analysis pdg )
security-slicing? ( slicing eva pdg gtk )
semantic-constant-folding? ( eva )
slicing? ( from-analysis pdg eva callgraph )
sparecode? ( pdg eva )
studia? ( eva )
users? ( eva )
wp? ( qed rtegen )"
S="${WORKDIR}/${P}-${NAME}"
src_prepare() {
mv configure.in configure.ac || die
sed -i 's/configure\.in/configure.ac/g' Makefile.generating Makefile || die
touch config_file || die
eautoreconf
eapply_user
}
src_configure() {
econf \
--disable-landmarks \
$(use_enable aorai) \
$(use_enable callgraph) \
$(use_enable dive) \
$(use_enable e-acsl) \
$(use_enable eva) \
$(use_enable from-analysis) \
$(use_enable gtk gui) \
$(use_enable impact) \
$(use_enable inout) \
$(use_enable instantiate) \
$(use_enable loop-analysis) \
--disable-mdr \
$(use_enable metrics) \
$(use_enable nonterm) \
$(use_enable obfuscator) \
$(use_enable occurrence) \
$(use_enable pdg) \
$(use_enable postdominators) \
$(use_enable print-api) \
$(use_enable qed) \
$(use_enable report) \
$(use_enable rtegen) \
$(use_enable scope) \
$(use_enable security-slicing) \
$(use_enable semantic-constant-folding) \
$(use_enable server) \
--disable-server-zmq \
$(use_enable slicing) \
$(use_enable sparecode) \
$(use_enable studia) \
$(use_enable users) \
$(use_enable variadic) \
$(use_enable wp) \
--disable-wp-coq
}
src_install() {
emake install DESTDIR="${ED}"
}

View File

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<name>François-Xavier Carton</name>
<email>fx.carton91@gmail.com</email>
</maintainer>
<use>
<flag name="aorai">Build the Aorai plugin</flag>
<flag name="callgraph">Build the callgraph plugin</flag>
<flag name="dive">Build the Dive plugin</flag>
<flag name="e-acsl">Build the E-ACSL plugin</flag>
<flag name="eva">Build the value analysis plugin</flag>
<flag name="from-analysis">Build the from analysis plugin</flag>
<flag name="gtk">Build the graphical user interface</flag>
<flag name="impact">Build the impact plugin</flag>
<flag name="inout">Build the inout analysis plugin</flag>
<flag name="instantiate">Build the instantiate plugin</flag>
<flag name="loop-analysis">Build the loop analysis plugin</flag>
<flag name="metrics">Build the metrics analysis plugin</flag>
<flag name="nonterm">Build the nonterm plugin</flag>
<flag name="obfuscator">Build the Obfuscator plugin</flag>
<flag name="occurrence">Build the occurrence analysis plugin</flag>
<flag name="pdg">Build the pdg plugin</flag>
<flag name="postdominators">Build the postdominators plugin</flag>
<flag name="print-api">Build the print_api plugin</flag>
<flag name="qed">Build the qed plugin</flag>
<flag name="report">Build the report plugin</flag>
<flag name="rtegen">Build the runtime error annotation plugin</flag>
<flag name="scope">Build the scope plugin</flag>
<flag name="security-slicing">Build the Security slicing plugin</flag>
<flag name="semantic-constant-folding">Build the constant propagation plugin</flag>
<flag name="server">Build the Server plugin</flag>
<flag name="slicing">Build the slicing plugin</flag>
<flag name="sparecode">Build the sparecode plugin</flag>
<flag name="studia">Build the studia plugin</flag>
<flag name="users">Build the users plugin</flag>
<flag name="variadic">Build the variadic plugin</flag>
<flag name="wp">Build the WP plugin</flag>
</use>
<longdescription>
Frama-C is a suite of tools dedicated to the analysis of the source code
of software written in C. It gathers several static analysis techniques
in a single collaborative framework. The collaborative approach of
Frama-C allows static analyzers to build upon the results already
computed by other analyzers in the framework. Thanks to this approach,
Frama-C provides sophisticated tools, such as a slicer and dependency
analysis.
</longdescription>
</pkgmetadata>