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>

Reply via email to