commit:     dab2150f988df03d747f307f497eb0a9dfedbd67
Author:     François-Xavier Carton <fx.carton91 <AT> gmail <DOT> com>
AuthorDate: Sat Sep  4 12:48:24 2021 +0000
Commit:     Francois-Xavier Carton <fx.carton91 <AT> gmail <DOT> com>
CommitDate: Sat Sep  4 13:07:39 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=dab2150f

sci-mathematics/frama-c: split plugins from main ebuild

USE flags are not meant for this (causing recompilation of everything
when changing plugins configuration). In addition, this solves the
problem of the main frama-c ebuild having too much USE flags.

Signed-off-by: François-Xavier Carton <fx.carton91 <AT> gmail.com>

 sci-mathematics/frama-c-aorai/Manifest             |  1 +
 .../frama-c-aorai/frama-c-aorai-23.1.ebuild        | 45 +++++++++++++
 sci-mathematics/frama-c-aorai/metadata.xml         | 11 ++++
 sci-mathematics/frama-c-callgraph/Manifest         |  1 +
 .../frama-c-callgraph-23.1.ebuild                  | 57 ++++++++++++++++
 sci-mathematics/frama-c-callgraph/metadata.xml     |  8 +++
 sci-mathematics/frama-c-constant-folding/Manifest  |  1 +
 .../frama-c-constant-folding-23.1.ebuild           | 59 +++++++++++++++++
 .../frama-c-constant-folding/metadata.xml          |  8 +++
 sci-mathematics/frama-c-dive/Manifest              |  1 +
 .../frama-c-dive/frama-c-dive-23.1.ebuild          | 48 ++++++++++++++
 sci-mathematics/frama-c-dive/metadata.xml          |  8 +++
 sci-mathematics/frama-c-e-acsl/Manifest            |  1 +
 .../frama-c-e-acsl/frama-c-e-acsl-23.1.ebuild      | 47 ++++++++++++++
 sci-mathematics/frama-c-e-acsl/metadata.xml        |  8 +++
 sci-mathematics/frama-c-eva/Manifest               |  1 +
 .../frama-c-eva/frama-c-eva-23.1.ebuild            | 61 ++++++++++++++++++
 sci-mathematics/frama-c-eva/metadata.xml           |  8 +++
 sci-mathematics/frama-c-from/Manifest              |  1 +
 .../frama-c-from/frama-c-from-23.1.ebuild          | 59 +++++++++++++++++
 sci-mathematics/frama-c-from/metadata.xml          |  8 +++
 sci-mathematics/frama-c-impact/Manifest            |  1 +
 .../frama-c-impact/frama-c-impact-23.1.ebuild      | 66 +++++++++++++++++++
 sci-mathematics/frama-c-impact/metadata.xml        |  8 +++
 sci-mathematics/frama-c-inout/Manifest             |  1 +
 .../frama-c-inout/frama-c-inout-23.1.ebuild        | 59 +++++++++++++++++
 sci-mathematics/frama-c-inout/metadata.xml         |  8 +++
 sci-mathematics/frama-c-instantiate/Manifest       |  1 +
 .../frama-c-instantiate-23.1.ebuild                | 42 ++++++++++++
 sci-mathematics/frama-c-instantiate/metadata.xml   |  8 +++
 sci-mathematics/frama-c-loopanalysis/Manifest      |  1 +
 .../frama-c-loopanalysis-23.1.ebuild               | 42 ++++++++++++
 sci-mathematics/frama-c-loopanalysis/metadata.xml  |  8 +++
 sci-mathematics/frama-c-metrics/Manifest           |  1 +
 .../frama-c-metrics/frama-c-metrics-23.1.ebuild    | 56 ++++++++++++++++
 sci-mathematics/frama-c-metrics/metadata.xml       |  8 +++
 sci-mathematics/frama-c-nonterm/Manifest           |  1 +
 .../frama-c-nonterm/frama-c-nonterm-23.1.ebuild    | 44 +++++++++++++
 sci-mathematics/frama-c-nonterm/metadata.xml       |  8 +++
 sci-mathematics/frama-c-obfuscator/Manifest        |  1 +
 .../frama-c-obfuscator-23.1.ebuild                 | 42 ++++++++++++
 sci-mathematics/frama-c-obfuscator/metadata.xml    |  8 +++
 sci-mathematics/frama-c-occurrence/Manifest        |  1 +
 .../frama-c-occurrence-23.1.ebuild                 | 56 ++++++++++++++++
 sci-mathematics/frama-c-occurrence/metadata.xml    |  8 +++
 sci-mathematics/frama-c-pdg/Manifest               |  1 +
 .../frama-c-pdg/frama-c-pdg-23.1.ebuild            | 59 +++++++++++++++++
 sci-mathematics/frama-c-pdg/metadata.xml           |  8 +++
 sci-mathematics/frama-c-postdominators/Manifest    |  1 +
 .../frama-c-postdominators-23.1.ebuild             | 52 +++++++++++++++
 .../frama-c-postdominators/metadata.xml            |  8 +++
 sci-mathematics/frama-c-printapi/Manifest          |  1 +
 .../frama-c-printapi/frama-c-printapi-23.1.ebuild  | 33 ++++++++++
 sci-mathematics/frama-c-printapi/metadata.xml      |  8 +++
 sci-mathematics/frama-c-qed/Manifest               |  1 +
 .../frama-c-qed/frama-c-qed-23.1.ebuild            | 34 ++++++++++
 sci-mathematics/frama-c-qed/metadata.xml           |  8 +++
 sci-mathematics/frama-c-report/Manifest            |  1 +
 .../frama-c-report/frama-c-report-23.1.ebuild      | 42 ++++++++++++
 sci-mathematics/frama-c-report/metadata.xml        |  8 +++
 sci-mathematics/frama-c-rtegen/Manifest            |  1 +
 .../frama-c-rtegen/frama-c-rtegen-23.1.ebuild      | 51 +++++++++++++++
 sci-mathematics/frama-c-rtegen/metadata.xml        |  8 +++
 sci-mathematics/frama-c-scope/Manifest             |  1 +
 .../frama-c-scope/frama-c-scope-23.1.ebuild        | 61 ++++++++++++++++++
 sci-mathematics/frama-c-scope/metadata.xml         |  8 +++
 sci-mathematics/frama-c-security-slicing/Manifest  |  1 +
 .../frama-c-security-slicing-23.1.ebuild           | 45 +++++++++++++
 .../frama-c-security-slicing/metadata.xml          |  8 +++
 sci-mathematics/frama-c-server/Manifest            |  1 +
 .../frama-c-server/frama-c-server-23.1.ebuild      | 43 +++++++++++++
 sci-mathematics/frama-c-server/metadata.xml        |  8 +++
 sci-mathematics/frama-c-slicing/Manifest           |  1 +
 .../frama-c-slicing/frama-c-slicing-23.1.ebuild    | 64 ++++++++++++++++++
 sci-mathematics/frama-c-slicing/metadata.xml       |  8 +++
 sci-mathematics/frama-c-sparecode/Manifest         |  1 +
 .../frama-c-sparecode-23.1.ebuild                  | 61 ++++++++++++++++++
 sci-mathematics/frama-c-sparecode/metadata.xml     |  8 +++
 sci-mathematics/frama-c-studia/Manifest            |  1 +
 .../frama-c-studia/frama-c-studia-23.1.ebuild      | 45 +++++++++++++
 sci-mathematics/frama-c-studia/metadata.xml        |  8 +++
 sci-mathematics/frama-c-users/Manifest             |  1 +
 .../frama-c-users/frama-c-users-23.1.ebuild        | 57 ++++++++++++++++
 sci-mathematics/frama-c-users/metadata.xml         |  8 +++
 sci-mathematics/frama-c-variadic/Manifest          |  1 +
 .../frama-c-variadic/frama-c-variadic-23.1.ebuild  | 42 ++++++++++++
 sci-mathematics/frama-c-variadic/metadata.xml      |  8 +++
 sci-mathematics/frama-c-wp/Manifest                |  1 +
 sci-mathematics/frama-c-wp/frama-c-wp-23.1.ebuild  | 50 +++++++++++++++
 sci-mathematics/frama-c-wp/metadata.xml            | 11 ++++
 sci-mathematics/frama-c/frama-c-23.1.ebuild        | 75 ++++------------------
 91 files changed, 1812 insertions(+), 61 deletions(-)

diff --git a/sci-mathematics/frama-c-aorai/Manifest 
b/sci-mathematics/frama-c-aorai/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-aorai/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-aorai/frama-c-aorai-23.1.ebuild 
b/sci-mathematics/frama-c-aorai/frama-c-aorai-23.1.ebuild
new file mode 100644
index 000000000..2894df5b7
--- /dev/null
+++ b/sci-mathematics/frama-c-aorai/frama-c-aorai-23.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Aorai (automaton annotations) plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="eva +ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]
+               eva? ( ~sci-mathematics/frama-c-eva-${PV}:=[ocamlopt?] )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${NAME}/src/plugins/aorai"
+
+src_prepare() {
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       export ENABLE_EVA="$(usex eva yes no)"
+       sed -i '/aorai_eva_analysis.ml:/s, share/Makefile.config,,' Makefile.in 
|| die
+       eautoconf
+       eapply_user
+}
+
+src_configure() {
+       econf --enable-aorai
+}
+
+src_compile() {
+       tc-export AR
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
ENABLE_EVA="${ENABLE_EVA}"
+}
+
+src_install() {
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
ENABLE_EVA="${ENABLE_EVA}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-aorai/metadata.xml 
b/sci-mathematics/frama-c-aorai/metadata.xml
new file mode 100644
index 000000000..585fb6877
--- /dev/null
+++ b/sci-mathematics/frama-c-aorai/metadata.xml
@@ -0,0 +1,11 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+       <use>
+               <flag name="eva">Build support for the Eva plugin</flag>
+       </use>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-callgraph/Manifest 
b/sci-mathematics/frama-c-callgraph/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-callgraph/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-callgraph/frama-c-callgraph-23.1.ebuild 
b/sci-mathematics/frama-c-callgraph/frama-c-callgraph-23.1.ebuild
new file mode 100644
index 000000000..312fec23b
--- /dev/null
+++ b/sci-mathematics/frama-c-callgraph/frama-c-callgraph-23.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Callgraph plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gtk +ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[gtk?,ocamlopt?]"
+DEPEND="${RDEPEND}"
+# Eva is needed at runtime to run the callgraph plugin,
+# but is not needed for compilation (and would introduce a mutual dependency)
+PDEPEND="~sci-mathematics/frama-c-eva-${PV}:=[ocamlopt?]"
+
+S="${WORKDIR}/frama-c-${PV}-${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 \
+               --with-no-plugin \
+               $(use_enable gtk gui) \
+               --enable-callgraph
+       printf 'include share/Makefile.config\n' > 
src/plugins/callgraph/Makefile || die
+       sed -e '/^# *Callgraph/bl;d' -e ':l' -e '/^\$(eval/Q;n;bl' < Makefile 
>> src/plugins/callgraph/Makefile || die
+       printf 'include share/Makefile.dynamic\n' >> 
src/plugins/callgraph/Makefile || die
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       export HAS_DGRAPH=$(usex gtk yes no)
+}
+
+src_compile() {
+       tc-export AR
+       use gtk && emake src/plugins/callgraph/cg_viewer.ml
+       emake -f src/plugins/callgraph/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" HAS_DGRAPH="${HAS_DGRAPH}"
+}
+
+src_install() {
+       emake -f src/plugins/callgraph/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" HAS_DGRAPH="${HAS_DGRAPH}" DESTDIR="${ED}" 
install
+}

diff --git a/sci-mathematics/frama-c-callgraph/metadata.xml 
b/sci-mathematics/frama-c-callgraph/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-callgraph/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-constant-folding/Manifest 
b/sci-mathematics/frama-c-constant-folding/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-constant-folding/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git 
a/sci-mathematics/frama-c-constant-folding/frama-c-constant-folding-23.1.ebuild 
b/sci-mathematics/frama-c-constant-folding/frama-c-constant-folding-23.1.ebuild
new file mode 100644
index 000000000..eb5df5c3b
--- /dev/null
+++ 
b/sci-mathematics/frama-c-constant-folding/frama-c-constant-folding-23.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Constant folding plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-eva-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${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 \
+               --with-no-plugin \
+               --disable-gui \
+               --enable-semantic-constant-folding \
+               --enable-eva \
+               --enable-callgraph \
+               --enable-server
+       printf 'include share/Makefile.config\n' > 
src/plugins/constant_propagation/Makefile || die
+       sed -e '/^# *Constant propagation/bl;d' -e ':l' -e '/^\$(eval/Q;n;bl' < 
Makefile >> src/plugins/constant_propagation/Makefile || die
+       printf 'include share/Makefile.dynamic\n' >> 
src/plugins/constant_propagation/Makefile || die
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       export ENABLE_EVA=yes
+       export ENABLE_CALLGRAPH=yes
+       export ENABLE_SERVER=yes
+}
+
+src_compile() {
+       tc-export AR
+       emake -f src/plugins/constant_propagation/Makefile 
FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake -f src/plugins/constant_propagation/Makefile 
FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" DESTDIR="${ED}" 
install
+}

diff --git a/sci-mathematics/frama-c-constant-folding/metadata.xml 
b/sci-mathematics/frama-c-constant-folding/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-constant-folding/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-dive/Manifest 
b/sci-mathematics/frama-c-dive/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-dive/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-dive/frama-c-dive-23.1.ebuild 
b/sci-mathematics/frama-c-dive/frama-c-dive-23.1.ebuild
new file mode 100644
index 000000000..b533f467a
--- /dev/null
+++ b/sci-mathematics/frama-c-dive/frama-c-dive-23.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Dive plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-eva-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-studia-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-server-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${NAME}/src/plugins/dive"
+
+src_prepare() {
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       eautoconf
+       eapply_user
+}
+
+src_configure() {
+       export ENABLE_EVA=yes
+       export ENABLE_STUDIA=yes
+       export ENABLE_SERVER=yes
+       econf --enable-dive
+}
+
+src_compile() {
+       tc-export AR
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-dive/metadata.xml 
b/sci-mathematics/frama-c-dive/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-dive/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-e-acsl/Manifest 
b/sci-mathematics/frama-c-e-acsl/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-e-acsl/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-e-acsl/frama-c-e-acsl-23.1.ebuild 
b/sci-mathematics/frama-c-e-acsl/frama-c-e-acsl-23.1.ebuild
new file mode 100644
index 000000000..cbf36c6b1
--- /dev/null
+++ b/sci-mathematics/frama-c-e-acsl/frama-c-e-acsl-23.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Runtime verification of ACSL (E-ACSL) plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="BSD LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-rtegen-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${NAME}/src/plugins/e-acsl"
+
+src_prepare() {
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       sed -i '/\$(CC)/s/-O2 -g3/$(CFLAGS)/' Makefile.in || die
+       sed -i "s/ranlib/$(tc-getRANLIB)/" Makefile.in || die
+       eautoconf
+       eapply_user
+}
+
+src_configure() {
+       econf --enable-e-acsl
+}
+
+src_compile() {
+       tc-export AR
+       export FRAMAC_ROOT_SRCDIR="${S}/../../.."
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       export EACSL_INSTALL_LIB_DIR="${ED}/usr/$(get_libdir)/frama-c/e-acsl"
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
DESTDIR="${ED}" EACSL_INSTALL_LIB_DIR="${EACSL_INSTALL_LIB_DIR}" install
+}

diff --git a/sci-mathematics/frama-c-e-acsl/metadata.xml 
b/sci-mathematics/frama-c-e-acsl/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-e-acsl/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-eva/Manifest 
b/sci-mathematics/frama-c-eva/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-eva/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-eva/frama-c-eva-23.1.ebuild 
b/sci-mathematics/frama-c-eva/frama-c-eva-23.1.ebuild
new file mode 100644
index 000000000..9cf0f5f02
--- /dev/null
+++ b/sci-mathematics/frama-c-eva/frama-c-eva-23.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Value analysis (EVA) plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gtk +ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[gtk?,ocamlopt?]
+       ~sci-mathematics/frama-c-callgraph-${PV}:=[gtk?,ocamlopt?]
+       ~sci-mathematics/frama-c-loopanalysis-${PV}:=[ocamlopt?]
+       ~sci-mathematics/frama-c-rtegen-${PV}:=[ocamlopt?]
+       ~sci-mathematics/frama-c-server-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+# Eva needs the "scope" plugin at runtime, which provides rm_assert
+# But it is not needed for compilation, and would introduce a mutual dependency
+PDEPEND="~sci-mathematics/frama-c-scope-${PV}:=[ocamlopt?]"
+
+S="${WORKDIR}/frama-c-${PV}-${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 \
+               --with-no-plugin \
+               $(use_enable gtk gui) \
+               --enable-callgraph \
+               --enable-server \
+               --enable-eva
+       printf 'include share/Makefile.config\n' > src/plugins/value/Makefile 
|| die
+       sed -e '/^# *Evolved Value Analysis/bl;d' -e ':l' -e '/^\$(eval/Q;n;bl' 
< Makefile >> src/plugins/value/Makefile || die
+       printf 'include share/Makefile.dynamic\n' >> src/plugins/value/Makefile 
|| die
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+}
+
+src_compile() {
+       tc-export AR
+       emake -f src/plugins/value/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake -f src/plugins/value/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-eva/metadata.xml 
b/sci-mathematics/frama-c-eva/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-eva/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-from/Manifest 
b/sci-mathematics/frama-c-from/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-from/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-from/frama-c-from-23.1.ebuild 
b/sci-mathematics/frama-c-from/frama-c-from-23.1.ebuild
new file mode 100644
index 000000000..952322bdd
--- /dev/null
+++ b/sci-mathematics/frama-c-from/frama-c-from-23.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="From analysis plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gtk +ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[gtk?,ocamlopt?]
+               ~sci-mathematics/frama-c-callgraph-${PV}:=[gtk?,ocamlopt?]
+               ~sci-mathematics/frama-c-eva-${PV}:=[gtk?,ocamlopt?]
+               ~sci-mathematics/frama-c-postdominators-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${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 \
+               --with-no-plugin \
+               $(use_enable gtk gui) \
+               --enable-from-analysis \
+               --enable-callgraph \
+               --enable-eva \
+               --enable-server \
+               --enable-postdominators
+       printf 'include share/Makefile.config\n' > src/plugins/from/Makefile || 
die
+       sed -e '/^# *From analysis/bl;d' -e ':l' -e '/^\$(eval/Q;n;bl' < 
Makefile >> src/plugins/from/Makefile || die
+       printf 'include share/Makefile.dynamic\n' >> src/plugins/from/Makefile 
|| die
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+}
+
+src_compile() {
+       tc-export AR
+       emake -f src/plugins/from/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake -f src/plugins/from/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-from/metadata.xml 
b/sci-mathematics/frama-c-from/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-from/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-impact/Manifest 
b/sci-mathematics/frama-c-impact/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-impact/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-impact/frama-c-impact-23.1.ebuild 
b/sci-mathematics/frama-c-impact/frama-c-impact-23.1.ebuild
new file mode 100644
index 000000000..ad488446f
--- /dev/null
+++ b/sci-mathematics/frama-c-impact/frama-c-impact-23.1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Impact plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gtk +ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[gtk?,ocamlopt?]
+               ~sci-mathematics/frama-c-inout-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-eva-${PV}:=[gtk?,ocamlopt?]
+               ~sci-mathematics/frama-c-pdg-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-slicing-${PV}:=[gtk?,ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${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 \
+               --with-no-plugin \
+               $(use_enable gtk gui) \
+               --enable-impact \
+               --enable-inout \
+               --enable-slicing \
+               --enable-from-analysis \
+               --enable-callgraph \
+               --enable-eva \
+               --enable-server \
+               --enable-postdominators \
+               --enable-pdg \
+               --enable-sparecode \
+               --enable-users
+       printf 'include share/Makefile.config\n' > src/plugins/impact/Makefile 
|| die
+       sed -e '/^# *Impact analysis/bl;d' -e ':l' -e '/^\$(eval/Q;n;bl' < 
Makefile >> src/plugins/impact/Makefile || die
+       printf 'include share/Makefile.dynamic\n' >> 
src/plugins/impact/Makefile || die
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+}
+
+src_compile() {
+       tc-export AR
+       emake -f src/plugins/impact/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake -f src/plugins/impact/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-impact/metadata.xml 
b/sci-mathematics/frama-c-impact/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-impact/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-inout/Manifest 
b/sci-mathematics/frama-c-inout/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-inout/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-inout/frama-c-inout-23.1.ebuild 
b/sci-mathematics/frama-c-inout/frama-c-inout-23.1.ebuild
new file mode 100644
index 000000000..4ed05de59
--- /dev/null
+++ b/sci-mathematics/frama-c-inout/frama-c-inout-23.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="In/out analysis plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-callgraph-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-eva-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-from-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${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 \
+               --with-no-plugin \
+               --disable-gui \
+               --enable-inout \
+               --enable-from-analysis \
+               --enable-callgraph \
+               --enable-eva \
+               --enable-server
+       printf 'include share/Makefile.config\n' > src/plugins/inout/Makefile 
|| die
+       sed -e '/^# *inout/bl;d' -e ':l' -e '/^\$(eval/Q;n;bl' < Makefile >> 
src/plugins/inout/Makefile || die
+       printf 'include share/Makefile.dynamic\n' >> src/plugins/inout/Makefile 
|| die
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+}
+
+src_compile() {
+       tc-export AR
+       emake -f src/plugins/inout/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake -f src/plugins/inout/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-inout/metadata.xml 
b/sci-mathematics/frama-c-inout/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-inout/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-instantiate/Manifest 
b/sci-mathematics/frama-c-instantiate/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-instantiate/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git 
a/sci-mathematics/frama-c-instantiate/frama-c-instantiate-23.1.ebuild 
b/sci-mathematics/frama-c-instantiate/frama-c-instantiate-23.1.ebuild
new file mode 100644
index 000000000..50578bd52
--- /dev/null
+++ b/sci-mathematics/frama-c-instantiate/frama-c-instantiate-23.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Instantiate analysis plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${NAME}/src/plugins/instantiate"
+
+src_prepare() {
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       eautoconf
+       eapply_user
+}
+
+src_configure() {
+       econf --enable-instantiate
+}
+
+src_compile() {
+       tc-export AR
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-instantiate/metadata.xml 
b/sci-mathematics/frama-c-instantiate/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-instantiate/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-loopanalysis/Manifest 
b/sci-mathematics/frama-c-loopanalysis/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-loopanalysis/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git 
a/sci-mathematics/frama-c-loopanalysis/frama-c-loopanalysis-23.1.ebuild 
b/sci-mathematics/frama-c-loopanalysis/frama-c-loopanalysis-23.1.ebuild
new file mode 100644
index 000000000..4886b626c
--- /dev/null
+++ b/sci-mathematics/frama-c-loopanalysis/frama-c-loopanalysis-23.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Loop analysis plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${NAME}/src/plugins/loop_analysis"
+
+src_prepare() {
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       eautoconf
+       eapply_user
+}
+
+src_configure() {
+       econf --enable-loop-analysis
+}
+
+src_compile() {
+       tc-export AR
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-loopanalysis/metadata.xml 
b/sci-mathematics/frama-c-loopanalysis/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-loopanalysis/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-metrics/Manifest 
b/sci-mathematics/frama-c-metrics/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-metrics/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-metrics/frama-c-metrics-23.1.ebuild 
b/sci-mathematics/frama-c-metrics/frama-c-metrics-23.1.ebuild
new file mode 100644
index 000000000..ba126e401
--- /dev/null
+++ b/sci-mathematics/frama-c-metrics/frama-c-metrics-23.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Metrics plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gtk +ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[gtk?,ocamlopt?]
+               ~sci-mathematics/frama-c-eva-${PV}:=[gtk?,ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${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 \
+               --with-no-plugin \
+               $(use_enable gtk gui) \
+               --enable-metrics \
+               --enable-callgraph \
+               --enable-eva \
+               --enable-server
+       printf 'include share/Makefile.config\n' > src/plugins/metrics/Makefile 
|| die
+       sed -e '/^# *Metrics/bl;d' -e ':l' -e '/^\$(eval/Q;n;bl' < Makefile >> 
src/plugins/metrics/Makefile || die
+       printf 'include share/Makefile.dynamic\n' >> 
src/plugins/metrics/Makefile || die
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+}
+
+src_compile() {
+       tc-export AR
+       emake -f src/plugins/metrics/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake -f src/plugins/metrics/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-metrics/metadata.xml 
b/sci-mathematics/frama-c-metrics/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-metrics/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-nonterm/Manifest 
b/sci-mathematics/frama-c-nonterm/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-nonterm/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-nonterm/frama-c-nonterm-23.1.ebuild 
b/sci-mathematics/frama-c-nonterm/frama-c-nonterm-23.1.ebuild
new file mode 100644
index 000000000..908165e94
--- /dev/null
+++ b/sci-mathematics/frama-c-nonterm/frama-c-nonterm-23.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Nonterm plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-eva-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${NAME}/src/plugins/nonterm"
+
+src_prepare() {
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       eautoconf
+       eapply_user
+}
+
+src_configure() {
+       export ENABLE_EVA=yes
+       econf --enable-nonterm
+}
+
+src_compile() {
+       tc-export AR
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-nonterm/metadata.xml 
b/sci-mathematics/frama-c-nonterm/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-nonterm/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-obfuscator/Manifest 
b/sci-mathematics/frama-c-obfuscator/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-obfuscator/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-obfuscator/frama-c-obfuscator-23.1.ebuild 
b/sci-mathematics/frama-c-obfuscator/frama-c-obfuscator-23.1.ebuild
new file mode 100644
index 000000000..9d1cb998c
--- /dev/null
+++ b/sci-mathematics/frama-c-obfuscator/frama-c-obfuscator-23.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Obfuscator plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${NAME}/src/plugins/obfuscator"
+
+src_prepare() {
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       eautoconf
+       eapply_user
+}
+
+src_configure() {
+       econf --enable-obfuscator
+}
+
+src_compile() {
+       tc-export AR
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-obfuscator/metadata.xml 
b/sci-mathematics/frama-c-obfuscator/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-obfuscator/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-occurrence/Manifest 
b/sci-mathematics/frama-c-occurrence/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-occurrence/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-occurrence/frama-c-occurrence-23.1.ebuild 
b/sci-mathematics/frama-c-occurrence/frama-c-occurrence-23.1.ebuild
new file mode 100644
index 000000000..a94a2f687
--- /dev/null
+++ b/sci-mathematics/frama-c-occurrence/frama-c-occurrence-23.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Occurrence analysis plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gtk +ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[gtk?,ocamlopt?]
+               ~sci-mathematics/frama-c-eva-${PV}:=[gtk?,ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${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 \
+               --with-no-plugin \
+               $(use_enable gtk gui) \
+               --enable-occurrence \
+               --enable-callgraph \
+               --enable-eva \
+               --enable-server
+       printf 'include share/Makefile.config\n' > 
src/plugins/occurrence/Makefile || die
+       sed -e '/^# *Occurrence/bl;d' -e ':l' -e '/^\$(eval/Q;n;bl' < Makefile 
>> src/plugins/occurrence/Makefile || die
+       printf 'include share/Makefile.dynamic\n' >> 
src/plugins/occurrence/Makefile || die
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+}
+
+src_compile() {
+       tc-export AR
+       emake -f src/plugins/occurrence/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake -f src/plugins/occurrence/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-occurrence/metadata.xml 
b/sci-mathematics/frama-c-occurrence/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-occurrence/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-pdg/Manifest 
b/sci-mathematics/frama-c-pdg/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-pdg/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-pdg/frama-c-pdg-23.1.ebuild 
b/sci-mathematics/frama-c-pdg/frama-c-pdg-23.1.ebuild
new file mode 100644
index 000000000..d9bdbdbc3
--- /dev/null
+++ b/sci-mathematics/frama-c-pdg/frama-c-pdg-23.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Program dependence graph plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-callgraph-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-eva-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-from-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${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 \
+               --with-no-plugin \
+               --disable-gui \
+               --enable-pdg \
+               --enable-callgraph \
+               --enable-eva \
+               --enable-server \
+               --enable-from-analysis
+       printf 'include share/Makefile.config\n' > src/plugins/pdg/Makefile || 
die
+       sed -e '/^# *PDG : program dependence graph/bl;d' -e ':l' -e 
'/^\$(eval/Q;n;bl' < Makefile >> src/plugins/pdg/Makefile || die
+       printf 'include share/Makefile.dynamic\n' >> src/plugins/pdg/Makefile 
|| die
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+}
+
+src_compile() {
+       tc-export AR
+       emake -f src/plugins/pdg/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake -f src/plugins/pdg/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-pdg/metadata.xml 
b/sci-mathematics/frama-c-pdg/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-pdg/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-postdominators/Manifest 
b/sci-mathematics/frama-c-postdominators/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-postdominators/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git 
a/sci-mathematics/frama-c-postdominators/frama-c-postdominators-23.1.ebuild 
b/sci-mathematics/frama-c-postdominators/frama-c-postdominators-23.1.ebuild
new file mode 100644
index 000000000..4cb983633
--- /dev/null
+++ b/sci-mathematics/frama-c-postdominators/frama-c-postdominators-23.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Postdominators plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${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 \
+               --with-no-plugin \
+               --disable-gui \
+               --enable-postdominators
+       printf 'include share/Makefile.config\n' > 
src/plugins/postdominators/Makefile || die
+       sed -e '/^# *Post-dominators/bl;d' -e ':l' -e '/^\$(eval/Q;n;bl' < 
Makefile >> src/plugins/postdominators/Makefile || die
+       printf 'include share/Makefile.dynamic\n' >> 
src/plugins/postdominators/Makefile || die
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+}
+
+src_compile() {
+       tc-export AR
+       emake -f src/plugins/postdominators/Makefile 
FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake -f src/plugins/postdominators/Makefile 
FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" DESTDIR="${ED}" 
install
+}

diff --git a/sci-mathematics/frama-c-postdominators/metadata.xml 
b/sci-mathematics/frama-c-postdominators/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-postdominators/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-printapi/Manifest 
b/sci-mathematics/frama-c-printapi/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-printapi/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-printapi/frama-c-printapi-23.1.ebuild 
b/sci-mathematics/frama-c-printapi/frama-c-printapi-23.1.ebuild
new file mode 100644
index 000000000..73641b67d
--- /dev/null
+++ b/sci-mathematics/frama-c-printapi/frama-c-printapi-23.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib toolchain-funcs
+
+DESCRIPTION="Plugin generating .mli interface files for plugin APIs for 
frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${NAME}/src/plugins/print_api"
+
+src_compile() {
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       tc-export AR
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-printapi/metadata.xml 
b/sci-mathematics/frama-c-printapi/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-printapi/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-qed/Manifest 
b/sci-mathematics/frama-c-qed/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-qed/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-qed/frama-c-qed-23.1.ebuild 
b/sci-mathematics/frama-c-qed/frama-c-qed-23.1.ebuild
new file mode 100644
index 000000000..24df63ace
--- /dev/null
+++ b/sci-mathematics/frama-c-qed/frama-c-qed-23.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib toolchain-funcs
+
+DESCRIPTION="Qed plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gtk +ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[gtk?,ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${NAME}/src/plugins/qed"
+
+src_compile() {
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       export ENABLE_GUI="$(usex gtk yes no)"
+       tc-export AR
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
ENABLE_GUI="${ENABLE_GUI}"
+}
+
+src_install() {
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
ENABLE_GUI="${ENABLE_GUI}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-qed/metadata.xml 
b/sci-mathematics/frama-c-qed/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-qed/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-report/Manifest 
b/sci-mathematics/frama-c-report/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-report/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-report/frama-c-report-23.1.ebuild 
b/sci-mathematics/frama-c-report/frama-c-report-23.1.ebuild
new file mode 100644
index 000000000..51f8479e7
--- /dev/null
+++ b/sci-mathematics/frama-c-report/frama-c-report-23.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Report plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${NAME}/src/plugins/report"
+
+src_prepare() {
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       eautoconf
+       eapply_user
+}
+
+src_configure() {
+       econf --enable-report
+}
+
+src_compile() {
+       tc-export AR
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-report/metadata.xml 
b/sci-mathematics/frama-c-report/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-report/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-rtegen/Manifest 
b/sci-mathematics/frama-c-rtegen/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-rtegen/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-rtegen/frama-c-rtegen-23.1.ebuild 
b/sci-mathematics/frama-c-rtegen/frama-c-rtegen-23.1.ebuild
new file mode 100644
index 000000000..2dc5703eb
--- /dev/null
+++ b/sci-mathematics/frama-c-rtegen/frama-c-rtegen-23.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Runtime error annotation (RTE) generation plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${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 \
+               --with-no-plugin \
+               --enable-rtegen
+       printf 'include share/Makefile.config\n' > src/plugins/rte/Makefile || 
die
+       sed -e '/^# *Runtime Error Annotation Generation analysis/bl;d' -e ':l' 
-e '/^\$(eval/Q;n;bl' < Makefile >> src/plugins/rte/Makefile || die
+       printf 'include share/Makefile.dynamic\n' >> src/plugins/rte/Makefile 
|| die
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+}
+
+src_compile() {
+       tc-export AR
+       emake -f src/plugins/rte/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake -f src/plugins/rte/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-rtegen/metadata.xml 
b/sci-mathematics/frama-c-rtegen/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-rtegen/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-scope/Manifest 
b/sci-mathematics/frama-c-scope/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-scope/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-scope/frama-c-scope-23.1.ebuild 
b/sci-mathematics/frama-c-scope/frama-c-scope-23.1.ebuild
new file mode 100644
index 000000000..88eaf9630
--- /dev/null
+++ b/sci-mathematics/frama-c-scope/frama-c-scope-23.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Scope plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gtk +ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[gtk?,ocamlopt?]
+               ~sci-mathematics/frama-c-eva-${PV}:=[gtk?,ocamlopt?]
+               ~sci-mathematics/frama-c-inout-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${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 \
+               --with-no-plugin \
+               $(use_enable gtk gui) \
+               --enable-scope \
+               --enable-from-analysis \
+               --enable-callgraph \
+               --enable-eva \
+               --enable-server \
+               --enable-postdominators \
+               --enable-inout \
+               --enable-pdg
+       printf 'include share/Makefile.config\n' > src/plugins/scope/Makefile 
|| die
+       sed -e '/^# *Scope :/bl;d' -e ':l' -e '/^\$(eval/Q;n;bl' < Makefile >> 
src/plugins/scope/Makefile || die
+       printf 'include share/Makefile.dynamic\n' >> src/plugins/scope/Makefile 
|| die
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+}
+
+src_compile() {
+       tc-export AR
+       emake -f src/plugins/scope/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake -f src/plugins/scope/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-scope/metadata.xml 
b/sci-mathematics/frama-c-scope/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-scope/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-security-slicing/Manifest 
b/sci-mathematics/frama-c-security-slicing/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-security-slicing/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git 
a/sci-mathematics/frama-c-security-slicing/frama-c-security-slicing-23.1.ebuild 
b/sci-mathematics/frama-c-security-slicing/frama-c-security-slicing-23.1.ebuild
new file mode 100644
index 000000000..4de77ed9f
--- /dev/null
+++ 
b/sci-mathematics/frama-c-security-slicing/frama-c-security-slicing-23.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Security slicing plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[gtk,ocamlopt?]
+               ~sci-mathematics/frama-c-eva-${PV}:=[gtk,ocamlopt?]
+               ~sci-mathematics/frama-c-pdg-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-slicing-${PV}:=[gtk,ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${NAME}/src/plugins/security_slicing"
+
+src_prepare() {
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       eautoconf
+       eapply_user
+}
+
+src_configure() {
+       econf --enable-security-slicing
+}
+
+src_compile() {
+       tc-export AR
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-security-slicing/metadata.xml 
b/sci-mathematics/frama-c-security-slicing/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-security-slicing/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-server/Manifest 
b/sci-mathematics/frama-c-server/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-server/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-server/frama-c-server-23.1.ebuild 
b/sci-mathematics/frama-c-server/frama-c-server-23.1.ebuild
new file mode 100644
index 000000000..b80b49074
--- /dev/null
+++ b/sci-mathematics/frama-c-server/frama-c-server-23.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Server plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${NAME}/src/plugins/server"
+
+src_prepare() {
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       eautoconf
+       eapply_user
+}
+
+src_configure() {
+       econf --enable-server \
+               --disable-server-zmq # missing dev-ml/zmq
+}
+
+src_compile() {
+       tc-export AR
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-server/metadata.xml 
b/sci-mathematics/frama-c-server/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-server/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-slicing/Manifest 
b/sci-mathematics/frama-c-slicing/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-slicing/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-slicing/frama-c-slicing-23.1.ebuild 
b/sci-mathematics/frama-c-slicing/frama-c-slicing-23.1.ebuild
new file mode 100644
index 000000000..4fa217aa5
--- /dev/null
+++ b/sci-mathematics/frama-c-slicing/frama-c-slicing-23.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Slicing plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gtk +ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[gtk?,ocamlopt?]
+               ~sci-mathematics/frama-c-callgraph-${PV}:=[gtk?,ocamlopt?]
+               ~sci-mathematics/frama-c-eva-${PV}:=[gtk?,ocamlopt?]
+               ~sci-mathematics/frama-c-pdg-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-sparecode-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${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 \
+               --with-no-plugin \
+               $(use_enable gtk gui) \
+               --enable-slicing \
+               --enable-from-analysis \
+               --enable-callgraph \
+               --enable-eva \
+               --enable-server \
+               --enable-postdominators \
+               --enable-pdg \
+               --enable-sparecode \
+               --enable-users
+       printf 'include share/Makefile.config\n' > src/plugins/slicing/Makefile 
|| die
+       sed -e '/^# *Slicing/bl;d' -e ':l' -e '/^\$(eval/Q;n;bl' < Makefile >> 
src/plugins/slicing/Makefile || die
+       printf 'include share/Makefile.dynamic\n' >> 
src/plugins/slicing/Makefile || die
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+}
+
+src_compile() {
+       tc-export AR
+       emake -f src/plugins/slicing/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake -f src/plugins/slicing/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-slicing/metadata.xml 
b/sci-mathematics/frama-c-slicing/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-slicing/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-sparecode/Manifest 
b/sci-mathematics/frama-c-sparecode/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-sparecode/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-sparecode/frama-c-sparecode-23.1.ebuild 
b/sci-mathematics/frama-c-sparecode/frama-c-sparecode-23.1.ebuild
new file mode 100644
index 000000000..0c8e2f2d9
--- /dev/null
+++ b/sci-mathematics/frama-c-sparecode/frama-c-sparecode-23.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Spare code plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-pdg-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-eva-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-users-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${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 \
+               --with-no-plugin \
+               --disable-gui \
+               --enable-sparecode \
+               --enable-users \
+               --enable-callgraph \
+               --enable-eva \
+               --enable-server \
+               --enable-pdg \
+               --enable-from-analysis
+       printf 'include share/Makefile.config\n' > 
src/plugins/sparecode/Makefile || die
+       sed -e '/^# *Sparecode :/bl;d' -e ':l' -e '/^\$(eval/Q;n;bl' < Makefile 
>> src/plugins/sparecode/Makefile || die
+       printf 'include share/Makefile.dynamic\n' >> 
src/plugins/sparecode/Makefile || die
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+}
+
+src_compile() {
+       tc-export AR
+       emake -f src/plugins/sparecode/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake -f src/plugins/sparecode/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-sparecode/metadata.xml 
b/sci-mathematics/frama-c-sparecode/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-sparecode/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-studia/Manifest 
b/sci-mathematics/frama-c-studia/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-studia/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-studia/frama-c-studia-23.1.ebuild 
b/sci-mathematics/frama-c-studia/frama-c-studia-23.1.ebuild
new file mode 100644
index 000000000..071c687e1
--- /dev/null
+++ b/sci-mathematics/frama-c-studia/frama-c-studia-23.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Studia plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gtk +ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[gtk?,ocamlopt?]
+               ~sci-mathematics/frama-c-eva-${PV}:=[gtk?,ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${NAME}/src/plugins/studia"
+
+src_prepare() {
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       export ENABLE_GUI="$(usex gtk yes no)"
+       eautoconf
+       eapply_user
+}
+
+src_configure() {
+       export ENABLE_EVA=yes
+       econf --enable-studia
+}
+
+src_compile() {
+       tc-export AR
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
ENABLE_GUI="${ENABLE_GUI}"
+}
+
+src_install() {
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
ENABLE_GUI="${ENABLE_GUI}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-studia/metadata.xml 
b/sci-mathematics/frama-c-studia/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-studia/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-users/Manifest 
b/sci-mathematics/frama-c-users/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-users/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-users/frama-c-users-23.1.ebuild 
b/sci-mathematics/frama-c-users/frama-c-users-23.1.ebuild
new file mode 100644
index 000000000..d44b8f576
--- /dev/null
+++ b/sci-mathematics/frama-c-users/frama-c-users-23.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Users plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-callgraph-${PV}:=[ocamlopt?]
+               ~sci-mathematics/frama-c-eva-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${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 \
+               --with-no-plugin \
+               --disable-gui \
+               --enable-users \
+               --enable-callgraph \
+               --enable-eva \
+               --enable-server
+       printf 'include share/Makefile.config\n' > src/plugins/users/Makefile 
|| die
+       sed -e '/^# *Users analysis/bl;d' -e ':l' -e '/^\$(eval/Q;n;bl' < 
Makefile >> src/plugins/users/Makefile || die
+       printf 'include share/Makefile.dynamic\n' >> src/plugins/users/Makefile 
|| die
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+}
+
+src_compile() {
+       tc-export AR
+       emake -f src/plugins/users/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake -f src/plugins/users/Makefile FRAMAC_SHARE="${FRAMAC_SHARE}" 
FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-users/metadata.xml 
b/sci-mathematics/frama-c-users/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-users/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-variadic/Manifest 
b/sci-mathematics/frama-c-variadic/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-variadic/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-variadic/frama-c-variadic-23.1.ebuild 
b/sci-mathematics/frama-c-variadic/frama-c-variadic-23.1.ebuild
new file mode 100644
index 000000000..59b6fdab7
--- /dev/null
+++ b/sci-mathematics/frama-c-variadic/frama-c-variadic-23.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Variadic function transformation plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/frama-c-${PV}-${NAME}/src/plugins/variadic"
+
+src_prepare() {
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       eautoconf
+       eapply_user
+}
+
+src_configure() {
+       econf --enable-variadic
+}
+
+src_compile() {
+       tc-export AR
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}"
+}
+
+src_install() {
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-variadic/metadata.xml 
b/sci-mathematics/frama-c-variadic/metadata.xml
new file mode 100644
index 000000000..e5ed54fe6
--- /dev/null
+++ b/sci-mathematics/frama-c-variadic/metadata.xml
@@ -0,0 +1,8 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c-wp/Manifest 
b/sci-mathematics/frama-c-wp/Manifest
new file mode 100644
index 000000000..94d4a0a85
--- /dev/null
+++ b/sci-mathematics/frama-c-wp/Manifest
@@ -0,0 +1 @@
+DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

diff --git a/sci-mathematics/frama-c-wp/frama-c-wp-23.1.ebuild 
b/sci-mathematics/frama-c-wp/frama-c-wp-23.1.ebuild
new file mode 100644
index 000000000..d758f3702
--- /dev/null
+++ b/sci-mathematics/frama-c-wp/frama-c-wp-23.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib toolchain-funcs
+
+DESCRIPTION="Deductive proof of ACSL contracts (WP) plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Vanadium"
+SRC_URI="https://frama-c.com/download/frama-c-${PV}-${NAME}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="coq gtk +ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="~sci-mathematics/frama-c-${PV}:=[gtk?,ocamlopt?]
+       ~sci-mathematics/frama-c-qed-${PV}:=[gtk?,ocamlopt?]
+       ~sci-mathematics/frama-c-rtegen-${PV}:=[ocamlopt?]
+       >=sci-mathematics/why3-1.4.0"
+DEPEND="${RDEPEND}"
+BDEPEND="coq? ( >=sci-mathematics/coq-8.12.0
+                               <sci-mathematics/coq-8.13.0 )"
+
+S="${WORKDIR}/frama-c-${PV}-${NAME}/src/plugins/wp"
+
+src_prepare() {
+       export FRAMAC_SHARE="${ESYSROOT}/usr/share/frama-c"
+       export FRAMAC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/frama-c"
+       export ENABLE_GUI="$(usex gtk yes no)"
+       eautoconf
+       eapply_user
+}
+
+src_configure() {
+       export ENABLE_QED=yes
+       econf --enable-wp \
+               $(use_enable coq wp-coq)
+}
+
+src_compile() {
+       tc-export AR
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
ENABLE_GUI="${ENABLE_GUI}"
+}
+
+src_install() {
+       emake FRAMAC_SHARE="${FRAMAC_SHARE}" FRAMAC_LIBDIR="${FRAMAC_LIBDIR}" 
ENABLE_GUI="${ENABLE_GUI}" DESTDIR="${ED}" install
+}

diff --git a/sci-mathematics/frama-c-wp/metadata.xml 
b/sci-mathematics/frama-c-wp/metadata.xml
new file mode 100644
index 000000000..deda33b06
--- /dev/null
+++ b/sci-mathematics/frama-c-wp/metadata.xml
@@ -0,0 +1,11 @@
+<?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.carto...@gmail.com</email>
+       </maintainer>
+       <use>
+               <flag name="coq">Precompile coq libraries</flag>
+       </use>
+</pkgmetadata>

diff --git a/sci-mathematics/frama-c/frama-c-23.1.ebuild 
b/sci-mathematics/frama-c/frama-c-23.1.ebuild
index e01b7ac8c..8da5ca002 100644
--- a/sci-mathematics/frama-c/frama-c-23.1.ebuild
+++ b/sci-mathematics/frama-c/frama-c-23.1.ebuild
@@ -13,48 +13,23 @@ 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"
+IUSE="gtk +ocamlopt"
 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.4.0 )"
+       gtk? ( >=dev-ml/lablgtk-2.14:2=[sourceview,gnomecanvas,ocamlopt?] )"
 DEPEND="${RDEPEND}
        media-gfx/graphviz"
 
-REQUIRED_USE="
-       dive? ( eva studia server )
-       e-acsl? ( rtegen )
-       eva? ( callgraph server )
-       from-analysis? ( eva callgraph )
-       impact? ( pdg eva inout slicing )
-       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 )
-       sparecode? ( pdg eva users )
-       studia? ( eva server )
-       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
-       sed -i '/\$(CC)/s/-O2 -g3/$(CFLAGS)/' src/plugins/e-acsl/Makefile.in || 
die
-       sed -i "s/ranlib/$(tc-getRANLIB)/" src/plugins/e-acsl/Makefile.in || die
        touch config_file || die
        eautoreconf
        eapply_user
@@ -63,43 +38,21 @@ src_prepare() {
 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
+               --with-no-plugin \
+               $(use_enable gtk gui)
 }
 
 src_compile() {
        tc-export AR
        default
 }
+
+pkg_postinst() {
+       elog "Starting with version 23.1, ${CATEGORY}/${PN} only installs"
+       elog "the kernel, but no plugins. These are provided are separate"
+       elog "packages that must be explicitely installed."
+       elog "In particular, one may want to install:"
+       elog "- ${CATEGORY}/${PN}-eva for value analysis"
+       elog "- ${CATEGORY}/${PN}-wp for proving ACSL contracts"
+       elog "- ${CATEGORY}/${PN}-e-acsl for runtime verification of ACSL 
contracts"
+}

Reply via email to