commit: 1fe1afafb83d0a0310bacbf0657ab9a9f8cfd8ea Author: François-Xavier Carton <fx.carton91 <AT> gmail <DOT> com> AuthorDate: Fri Nov 27 18:20:23 2020 +0000 Commit: Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net> CommitDate: Sat Jan 9 16:46:15 2021 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=1fe1afaf
sci-mathematics/frama-c: new package This is a bump of version in ::science. Signed-off-by: François-Xavier Carton <fx.carton91 <AT> gmail.com> sci-mathematics/frama-c/Manifest | 1 + sci-mathematics/frama-c/frama-c-22.0.ebuild | 102 ++++++++++++++++++++++++++++ sci-mathematics/frama-c/metadata.xml | 50 ++++++++++++++ 3 files changed, 153 insertions(+) diff --git a/sci-mathematics/frama-c/Manifest b/sci-mathematics/frama-c/Manifest new file mode 100644 index 00000000..9681962f --- /dev/null +++ b/sci-mathematics/frama-c/Manifest @@ -0,0 +1 @@ +DIST frama-c-22.0-Titanium.tar.gz 6008520 BLAKE2B 957f1fd383913718598c8d14bd0ff4b6251cc5350633888ca061fa0e44fae17273b379dcc1b70fe8a187975364aee1f255e0df232a4ee349ff29f9cb922a7b60 SHA512 7366127da4726ffec0022adc06fd867b6ea37fc23b6a5ddccbe7562fcaa635abc6894397d0101fcb0afc339c565299c6d637006305c8331aa62a8ce734740a0f diff --git a/sci-mathematics/frama-c/frama-c-22.0.ebuild b/sci-mathematics/frama-c/frama-c-22.0.ebuild new file mode 100644 index 00000000..1bb3dc8b --- /dev/null +++ b/sci-mathematics/frama-c/frama-c-22.0.ebuild @@ -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}" +} diff --git a/sci-mathematics/frama-c/metadata.xml b/sci-mathematics/frama-c/metadata.xml new file mode 100644 index 00000000..c4798f54 --- /dev/null +++ b/sci-mathematics/frama-c/metadata.xml @@ -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>[email protected]</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>
