commit:     d79091d43727ccec89fc820b59c33ed07c22aa09
Author:     François-Xavier Carton <fx.carton91 <AT> gmail <DOT> com>
AuthorDate: Thu Jan 13 20:33:11 2022 +0000
Commit:     Theo Anderson <telans <AT> posteo <DOT> de>
CommitDate: Thu Jan 13 20:35:58 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=d79091d4

sci-mathematics/frama-c: bump to 24.0

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-24.0.ebuild        | 45 +++++++++++++++
 sci-mathematics/frama-c-callgraph/Manifest         |  1 +
 .../frama-c-callgraph-24.0.ebuild                  | 57 +++++++++++++++++++
 sci-mathematics/frama-c-constant-folding/Manifest  |  1 +
 .../frama-c-constant-folding-24.0.ebuild           | 59 +++++++++++++++++++
 sci-mathematics/frama-c-dive/Manifest              |  1 +
 .../frama-c-dive/frama-c-dive-24.0.ebuild          | 48 ++++++++++++++++
 sci-mathematics/frama-c-e-acsl/Manifest            |  1 +
 .../frama-c-e-acsl/frama-c-e-acsl-24.0.ebuild      | 47 +++++++++++++++
 sci-mathematics/frama-c-eva/Manifest               |  1 +
 .../frama-c-eva/frama-c-eva-24.0.ebuild            | 61 ++++++++++++++++++++
 sci-mathematics/frama-c-from/Manifest              |  1 +
 .../frama-c-from/frama-c-from-24.0.ebuild          | 59 +++++++++++++++++++
 sci-mathematics/frama-c-impact/Manifest            |  1 +
 .../frama-c-impact/frama-c-impact-24.0.ebuild      | 66 ++++++++++++++++++++++
 sci-mathematics/frama-c-inout/Manifest             |  1 +
 .../frama-c-inout/frama-c-inout-24.0.ebuild        | 59 +++++++++++++++++++
 sci-mathematics/frama-c-instantiate/Manifest       |  1 +
 .../frama-c-instantiate-24.0.ebuild                | 42 ++++++++++++++
 sci-mathematics/frama-c-loopanalysis/Manifest      |  1 +
 .../frama-c-loopanalysis-24.0.ebuild               | 42 ++++++++++++++
 sci-mathematics/frama-c-metrics/Manifest           |  1 +
 .../frama-c-metrics/frama-c-metrics-24.0.ebuild    | 56 ++++++++++++++++++
 sci-mathematics/frama-c-nonterm/Manifest           |  1 +
 .../frama-c-nonterm/frama-c-nonterm-24.0.ebuild    | 44 +++++++++++++++
 sci-mathematics/frama-c-obfuscator/Manifest        |  1 +
 .../frama-c-obfuscator-24.0.ebuild                 | 42 ++++++++++++++
 sci-mathematics/frama-c-occurrence/Manifest        |  1 +
 .../frama-c-occurrence-24.0.ebuild                 | 56 ++++++++++++++++++
 sci-mathematics/frama-c-pdg/Manifest               |  1 +
 .../frama-c-pdg/frama-c-pdg-24.0.ebuild            | 59 +++++++++++++++++++
 sci-mathematics/frama-c-postdominators/Manifest    |  1 +
 .../frama-c-postdominators-24.0.ebuild             | 52 +++++++++++++++++
 sci-mathematics/frama-c-printapi/Manifest          |  1 +
 .../frama-c-printapi/frama-c-printapi-24.0.ebuild  | 33 +++++++++++
 sci-mathematics/frama-c-qed/Manifest               |  1 +
 .../frama-c-qed/frama-c-qed-24.0.ebuild            | 34 +++++++++++
 sci-mathematics/frama-c-report/Manifest            |  1 +
 .../frama-c-report/frama-c-report-24.0.ebuild      | 42 ++++++++++++++
 sci-mathematics/frama-c-rtegen/Manifest            |  1 +
 .../frama-c-rtegen/frama-c-rtegen-24.0.ebuild      | 51 +++++++++++++++++
 sci-mathematics/frama-c-scope/Manifest             |  1 +
 .../frama-c-scope/frama-c-scope-24.0.ebuild        | 61 ++++++++++++++++++++
 sci-mathematics/frama-c-security-slicing/Manifest  |  1 +
 .../frama-c-security-slicing-24.0.ebuild           | 45 +++++++++++++++
 sci-mathematics/frama-c-server/Manifest            |  1 +
 .../frama-c-server/frama-c-server-24.0.ebuild      | 43 ++++++++++++++
 sci-mathematics/frama-c-slicing/Manifest           |  1 +
 .../frama-c-slicing/frama-c-slicing-24.0.ebuild    | 64 +++++++++++++++++++++
 sci-mathematics/frama-c-sparecode/Manifest         |  1 +
 .../frama-c-sparecode-24.0.ebuild                  | 61 ++++++++++++++++++++
 sci-mathematics/frama-c-studia/Manifest            |  1 +
 .../frama-c-studia/frama-c-studia-24.0.ebuild      | 45 +++++++++++++++
 sci-mathematics/frama-c-users/Manifest             |  1 +
 .../frama-c-users/frama-c-users-24.0.ebuild        | 57 +++++++++++++++++++
 sci-mathematics/frama-c-variadic/Manifest          |  1 +
 .../frama-c-variadic/frama-c-variadic-24.0.ebuild  | 42 ++++++++++++++
 sci-mathematics/frama-c-wp/Manifest                |  1 +
 sci-mathematics/frama-c-wp/frama-c-wp-24.0.ebuild  | 51 +++++++++++++++++
 sci-mathematics/frama-c/Manifest                   |  1 +
 sci-mathematics/frama-c/frama-c-24.0.ebuild        | 60 ++++++++++++++++++++
 62 files changed, 1614 insertions(+)

diff --git a/sci-mathematics/frama-c-aorai/Manifest 
b/sci-mathematics/frama-c-aorai/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-aorai/Manifest
+++ b/sci-mathematics/frama-c-aorai/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-aorai/frama-c-aorai-24.0.ebuild 
b/sci-mathematics/frama-c-aorai/frama-c-aorai-24.0.ebuild
new file mode 100644
index 000000000..126fcc4d5
--- /dev/null
+++ b/sci-mathematics/frama-c-aorai/frama-c-aorai-24.0.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="Chromium"
+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-callgraph/Manifest 
b/sci-mathematics/frama-c-callgraph/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-callgraph/Manifest
+++ b/sci-mathematics/frama-c-callgraph/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-callgraph/frama-c-callgraph-24.0.ebuild 
b/sci-mathematics/frama-c-callgraph/frama-c-callgraph-24.0.ebuild
new file mode 100644
index 000000000..075d85943
--- /dev/null
+++ b/sci-mathematics/frama-c-callgraph/frama-c-callgraph-24.0.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="Chromium"
+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-constant-folding/Manifest 
b/sci-mathematics/frama-c-constant-folding/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-constant-folding/Manifest
+++ b/sci-mathematics/frama-c-constant-folding/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git 
a/sci-mathematics/frama-c-constant-folding/frama-c-constant-folding-24.0.ebuild 
b/sci-mathematics/frama-c-constant-folding/frama-c-constant-folding-24.0.ebuild
new file mode 100644
index 000000000..2c56359bb
--- /dev/null
+++ 
b/sci-mathematics/frama-c-constant-folding/frama-c-constant-folding-24.0.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="Chromium"
+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-dive/Manifest 
b/sci-mathematics/frama-c-dive/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-dive/Manifest
+++ b/sci-mathematics/frama-c-dive/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-dive/frama-c-dive-24.0.ebuild 
b/sci-mathematics/frama-c-dive/frama-c-dive-24.0.ebuild
new file mode 100644
index 000000000..3f17d93b2
--- /dev/null
+++ b/sci-mathematics/frama-c-dive/frama-c-dive-24.0.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="Chromium"
+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-e-acsl/Manifest 
b/sci-mathematics/frama-c-e-acsl/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-e-acsl/Manifest
+++ b/sci-mathematics/frama-c-e-acsl/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-e-acsl/frama-c-e-acsl-24.0.ebuild 
b/sci-mathematics/frama-c-e-acsl/frama-c-e-acsl-24.0.ebuild
new file mode 100644
index 000000000..452fd430b
--- /dev/null
+++ b/sci-mathematics/frama-c-e-acsl/frama-c-e-acsl-24.0.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="Chromium"
+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-eva/Manifest 
b/sci-mathematics/frama-c-eva/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-eva/Manifest
+++ b/sci-mathematics/frama-c-eva/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-eva/frama-c-eva-24.0.ebuild 
b/sci-mathematics/frama-c-eva/frama-c-eva-24.0.ebuild
new file mode 100644
index 000000000..c9c0fb661
--- /dev/null
+++ b/sci-mathematics/frama-c-eva/frama-c-eva-24.0.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="Chromium"
+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-from/Manifest 
b/sci-mathematics/frama-c-from/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-from/Manifest
+++ b/sci-mathematics/frama-c-from/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-from/frama-c-from-24.0.ebuild 
b/sci-mathematics/frama-c-from/frama-c-from-24.0.ebuild
new file mode 100644
index 000000000..ac43694b2
--- /dev/null
+++ b/sci-mathematics/frama-c-from/frama-c-from-24.0.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="Chromium"
+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-impact/Manifest 
b/sci-mathematics/frama-c-impact/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-impact/Manifest
+++ b/sci-mathematics/frama-c-impact/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-impact/frama-c-impact-24.0.ebuild 
b/sci-mathematics/frama-c-impact/frama-c-impact-24.0.ebuild
new file mode 100644
index 000000000..9e02aca3d
--- /dev/null
+++ b/sci-mathematics/frama-c-impact/frama-c-impact-24.0.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="Chromium"
+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-inout/Manifest 
b/sci-mathematics/frama-c-inout/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-inout/Manifest
+++ b/sci-mathematics/frama-c-inout/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-inout/frama-c-inout-24.0.ebuild 
b/sci-mathematics/frama-c-inout/frama-c-inout-24.0.ebuild
new file mode 100644
index 000000000..392f8e720
--- /dev/null
+++ b/sci-mathematics/frama-c-inout/frama-c-inout-24.0.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="Chromium"
+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-instantiate/Manifest 
b/sci-mathematics/frama-c-instantiate/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-instantiate/Manifest
+++ b/sci-mathematics/frama-c-instantiate/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git 
a/sci-mathematics/frama-c-instantiate/frama-c-instantiate-24.0.ebuild 
b/sci-mathematics/frama-c-instantiate/frama-c-instantiate-24.0.ebuild
new file mode 100644
index 000000000..6b748f9c1
--- /dev/null
+++ b/sci-mathematics/frama-c-instantiate/frama-c-instantiate-24.0.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="Chromium"
+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-loopanalysis/Manifest 
b/sci-mathematics/frama-c-loopanalysis/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-loopanalysis/Manifest
+++ b/sci-mathematics/frama-c-loopanalysis/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git 
a/sci-mathematics/frama-c-loopanalysis/frama-c-loopanalysis-24.0.ebuild 
b/sci-mathematics/frama-c-loopanalysis/frama-c-loopanalysis-24.0.ebuild
new file mode 100644
index 000000000..bb7802261
--- /dev/null
+++ b/sci-mathematics/frama-c-loopanalysis/frama-c-loopanalysis-24.0.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="Chromium"
+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-metrics/Manifest 
b/sci-mathematics/frama-c-metrics/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-metrics/Manifest
+++ b/sci-mathematics/frama-c-metrics/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-metrics/frama-c-metrics-24.0.ebuild 
b/sci-mathematics/frama-c-metrics/frama-c-metrics-24.0.ebuild
new file mode 100644
index 000000000..e6e9b7966
--- /dev/null
+++ b/sci-mathematics/frama-c-metrics/frama-c-metrics-24.0.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="Chromium"
+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-nonterm/Manifest 
b/sci-mathematics/frama-c-nonterm/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-nonterm/Manifest
+++ b/sci-mathematics/frama-c-nonterm/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-nonterm/frama-c-nonterm-24.0.ebuild 
b/sci-mathematics/frama-c-nonterm/frama-c-nonterm-24.0.ebuild
new file mode 100644
index 000000000..23dfd923b
--- /dev/null
+++ b/sci-mathematics/frama-c-nonterm/frama-c-nonterm-24.0.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="Chromium"
+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-obfuscator/Manifest 
b/sci-mathematics/frama-c-obfuscator/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-obfuscator/Manifest
+++ b/sci-mathematics/frama-c-obfuscator/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-obfuscator/frama-c-obfuscator-24.0.ebuild 
b/sci-mathematics/frama-c-obfuscator/frama-c-obfuscator-24.0.ebuild
new file mode 100644
index 000000000..9730bbb6f
--- /dev/null
+++ b/sci-mathematics/frama-c-obfuscator/frama-c-obfuscator-24.0.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="Chromium"
+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-occurrence/Manifest 
b/sci-mathematics/frama-c-occurrence/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-occurrence/Manifest
+++ b/sci-mathematics/frama-c-occurrence/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-occurrence/frama-c-occurrence-24.0.ebuild 
b/sci-mathematics/frama-c-occurrence/frama-c-occurrence-24.0.ebuild
new file mode 100644
index 000000000..f1405f842
--- /dev/null
+++ b/sci-mathematics/frama-c-occurrence/frama-c-occurrence-24.0.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="Chromium"
+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-pdg/Manifest 
b/sci-mathematics/frama-c-pdg/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-pdg/Manifest
+++ b/sci-mathematics/frama-c-pdg/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-pdg/frama-c-pdg-24.0.ebuild 
b/sci-mathematics/frama-c-pdg/frama-c-pdg-24.0.ebuild
new file mode 100644
index 000000000..7a5ba7159
--- /dev/null
+++ b/sci-mathematics/frama-c-pdg/frama-c-pdg-24.0.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="Chromium"
+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-postdominators/Manifest 
b/sci-mathematics/frama-c-postdominators/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-postdominators/Manifest
+++ b/sci-mathematics/frama-c-postdominators/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git 
a/sci-mathematics/frama-c-postdominators/frama-c-postdominators-24.0.ebuild 
b/sci-mathematics/frama-c-postdominators/frama-c-postdominators-24.0.ebuild
new file mode 100644
index 000000000..2d729bee1
--- /dev/null
+++ b/sci-mathematics/frama-c-postdominators/frama-c-postdominators-24.0.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="Chromium"
+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-printapi/Manifest 
b/sci-mathematics/frama-c-printapi/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-printapi/Manifest
+++ b/sci-mathematics/frama-c-printapi/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-printapi/frama-c-printapi-24.0.ebuild 
b/sci-mathematics/frama-c-printapi/frama-c-printapi-24.0.ebuild
new file mode 100644
index 000000000..c48b0f7da
--- /dev/null
+++ b/sci-mathematics/frama-c-printapi/frama-c-printapi-24.0.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="Chromium"
+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-qed/Manifest 
b/sci-mathematics/frama-c-qed/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-qed/Manifest
+++ b/sci-mathematics/frama-c-qed/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-qed/frama-c-qed-24.0.ebuild 
b/sci-mathematics/frama-c-qed/frama-c-qed-24.0.ebuild
new file mode 100644
index 000000000..7af1e560d
--- /dev/null
+++ b/sci-mathematics/frama-c-qed/frama-c-qed-24.0.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="Chromium"
+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-report/Manifest 
b/sci-mathematics/frama-c-report/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-report/Manifest
+++ b/sci-mathematics/frama-c-report/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-report/frama-c-report-24.0.ebuild 
b/sci-mathematics/frama-c-report/frama-c-report-24.0.ebuild
new file mode 100644
index 000000000..21ca892ea
--- /dev/null
+++ b/sci-mathematics/frama-c-report/frama-c-report-24.0.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="Chromium"
+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-rtegen/Manifest 
b/sci-mathematics/frama-c-rtegen/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-rtegen/Manifest
+++ b/sci-mathematics/frama-c-rtegen/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-rtegen/frama-c-rtegen-24.0.ebuild 
b/sci-mathematics/frama-c-rtegen/frama-c-rtegen-24.0.ebuild
new file mode 100644
index 000000000..e59883c3e
--- /dev/null
+++ b/sci-mathematics/frama-c-rtegen/frama-c-rtegen-24.0.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="Chromium"
+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-scope/Manifest 
b/sci-mathematics/frama-c-scope/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-scope/Manifest
+++ b/sci-mathematics/frama-c-scope/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-scope/frama-c-scope-24.0.ebuild 
b/sci-mathematics/frama-c-scope/frama-c-scope-24.0.ebuild
new file mode 100644
index 000000000..2f670f3be
--- /dev/null
+++ b/sci-mathematics/frama-c-scope/frama-c-scope-24.0.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="Chromium"
+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-security-slicing/Manifest 
b/sci-mathematics/frama-c-security-slicing/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-security-slicing/Manifest
+++ b/sci-mathematics/frama-c-security-slicing/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git 
a/sci-mathematics/frama-c-security-slicing/frama-c-security-slicing-24.0.ebuild 
b/sci-mathematics/frama-c-security-slicing/frama-c-security-slicing-24.0.ebuild
new file mode 100644
index 000000000..1c1a58aee
--- /dev/null
+++ 
b/sci-mathematics/frama-c-security-slicing/frama-c-security-slicing-24.0.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="Chromium"
+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-server/Manifest 
b/sci-mathematics/frama-c-server/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-server/Manifest
+++ b/sci-mathematics/frama-c-server/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-server/frama-c-server-24.0.ebuild 
b/sci-mathematics/frama-c-server/frama-c-server-24.0.ebuild
new file mode 100644
index 000000000..58f653cd4
--- /dev/null
+++ b/sci-mathematics/frama-c-server/frama-c-server-24.0.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="Chromium"
+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-slicing/Manifest 
b/sci-mathematics/frama-c-slicing/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-slicing/Manifest
+++ b/sci-mathematics/frama-c-slicing/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-slicing/frama-c-slicing-24.0.ebuild 
b/sci-mathematics/frama-c-slicing/frama-c-slicing-24.0.ebuild
new file mode 100644
index 000000000..0dcd83814
--- /dev/null
+++ b/sci-mathematics/frama-c-slicing/frama-c-slicing-24.0.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="Chromium"
+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-sparecode/Manifest 
b/sci-mathematics/frama-c-sparecode/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-sparecode/Manifest
+++ b/sci-mathematics/frama-c-sparecode/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-sparecode/frama-c-sparecode-24.0.ebuild 
b/sci-mathematics/frama-c-sparecode/frama-c-sparecode-24.0.ebuild
new file mode 100644
index 000000000..ddd530a0a
--- /dev/null
+++ b/sci-mathematics/frama-c-sparecode/frama-c-sparecode-24.0.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="Chromium"
+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-studia/Manifest 
b/sci-mathematics/frama-c-studia/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-studia/Manifest
+++ b/sci-mathematics/frama-c-studia/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-studia/frama-c-studia-24.0.ebuild 
b/sci-mathematics/frama-c-studia/frama-c-studia-24.0.ebuild
new file mode 100644
index 000000000..b92f58aac
--- /dev/null
+++ b/sci-mathematics/frama-c-studia/frama-c-studia-24.0.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="Chromium"
+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-users/Manifest 
b/sci-mathematics/frama-c-users/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-users/Manifest
+++ b/sci-mathematics/frama-c-users/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-users/frama-c-users-24.0.ebuild 
b/sci-mathematics/frama-c-users/frama-c-users-24.0.ebuild
new file mode 100644
index 000000000..6ed4b17eb
--- /dev/null
+++ b/sci-mathematics/frama-c-users/frama-c-users-24.0.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="Chromium"
+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-variadic/Manifest 
b/sci-mathematics/frama-c-variadic/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-variadic/Manifest
+++ b/sci-mathematics/frama-c-variadic/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-variadic/frama-c-variadic-24.0.ebuild 
b/sci-mathematics/frama-c-variadic/frama-c-variadic-24.0.ebuild
new file mode 100644
index 000000000..3c42697bf
--- /dev/null
+++ b/sci-mathematics/frama-c-variadic/frama-c-variadic-24.0.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="Chromium"
+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-wp/Manifest 
b/sci-mathematics/frama-c-wp/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c-wp/Manifest
+++ b/sci-mathematics/frama-c-wp/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c-wp/frama-c-wp-24.0.ebuild 
b/sci-mathematics/frama-c-wp/frama-c-wp-24.0.ebuild
new file mode 100644
index 000000000..56a641868
--- /dev/null
+++ b/sci-mathematics/frama-c-wp/frama-c-wp-24.0.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="Deductive proof of ACSL contracts (WP) plugin for frama-c"
+HOMEPAGE="https://frama-c.com";
+NAME="Chromium"
+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.14.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
+       export ENABLE_RTEGEN=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/Manifest b/sci-mathematics/frama-c/Manifest
index 94d4a0a85..27f9b08b7 100644
--- a/sci-mathematics/frama-c/Manifest
+++ b/sci-mathematics/frama-c/Manifest
@@ -1 +1,2 @@
 DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B 
aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62
 SHA512 
a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e
+DIST frama-c-24.0-Chromium.tar.gz 7495244 BLAKE2B 
249739b55f7d25c75175d31e1703bd3dc160399bc2f10157b09528ec82c7487455b4aef3d248da94e89b7a027c073ad4d8674361899159084e7d84dfa00664a4
 SHA512 
3ab3070104c7e521c7e94492f85522e6dee4433b1ebed6f5c0d63f4329f8eb66a8f91d467cbd877da138936dfdde1b5b9abcb6bcf01ba0a551fc83c748fac235

diff --git a/sci-mathematics/frama-c/frama-c-24.0.ebuild 
b/sci-mathematics/frama-c/frama-c-24.0.ebuild
new file mode 100644
index 000000000..5234acac6
--- /dev/null
+++ b/sci-mathematics/frama-c/frama-c-24.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Framework for analysis of source codes written in C"
+HOMEPAGE="https://frama-c.com";
+NAME="Chromium"
+SRC_URI="https://frama-c.com/download/${P}-${NAME}.tar.gz";
+
+LICENSE="BSD LGPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gtk +ocamlopt"
+RESTRICT="strip"
+
+RDEPEND="
+       >=dev-lang/ocaml-4.08.1[ocamlopt?]
+       >=dev-ml/ocamlgraph-1.8.8[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?] )"
+DEPEND="${RDEPEND}
+       media-gfx/graphviz"
+
+S="${WORKDIR}/${P}-${NAME}"
+
+src_prepare() {
+       mv configure.in configure.ac || die
+       sed -i 's/configure\.in/configure.ac/g' Makefile.generating Makefile || 
die
+       touch config_file || die
+       eautoreconf
+       eapply_user
+}
+
+src_configure() {
+       econf \
+               --disable-landmarks \
+               --with-no-plugin \
+               $(use_enable gtk gui)
+}
+
+src_compile() {
+       tc-export AR
+       # workaround for https://git.frama-c.com/pub/frama-c/-/issues/2593
+       emake VERBOSEMAKE=yes 
src/kernel_services/abstract_interp/abstract_memory.cmi
+       emake VERBOSEMAKE=yes
+}
+
+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