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@gmail.com>
This commit is contained in:
François-Xavier Carton
2021-09-04 14:48:24 +02:00
parent 00378c5361
commit dab2150f98
91 changed files with 1812 additions and 61 deletions

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
<use>
<flag name="eva">Build support for the Eva plugin</flag>
</use>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST frama-c-23.1-Vanadium.tar.gz 6945715 BLAKE2B aa39c5263c3dd5f407eb97ae56cd734b6209d8dd9b976e67cfa2d3d9879463e47c6ca7b9c4760e111ffa6175e3c8abe698c0bbf7f54098bd7cdd90c704a53e62 SHA512 a96ef705479971991fcdee5440f07c0f30dcf434c7a855cdc894dc03275241599036aa1475b10f062b35045f7749e5d242b930e25ad2fd9e1708e29fca024c9e

View File

@@ -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
}

View File

@@ -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.carton91@gmail.com</email>
</maintainer>
<use>
<flag name="coq">Precompile coq libraries</flag>
</use>
</pkgmetadata>

View File

@@ -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"
}