summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics/why3/why3-1.7.2.ebuild')
-rw-r--r--sci-mathematics/why3/why3-1.7.2.ebuild107
1 files changed, 107 insertions, 0 deletions
diff --git a/sci-mathematics/why3/why3-1.7.2.ebuild b/sci-mathematics/why3/why3-1.7.2.ebuild
new file mode 100644
index 000000000000..7517d54b1b67
--- /dev/null
+++ b/sci-mathematics/why3/why3-1.7.2.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools findlib
+
+DESCRIPTION="Platform for deductive program verification"
+HOMEPAGE="https://why3.lri.fr/"
+SRC_URI="https://why3.gitlabpages.inria.fr/releases/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="coq doc emacs gtk +ocamlopt re sexp stackify +zarith zip"
+
+RDEPEND="
+ !sci-mathematics/why3-for-spark
+ >=dev-lang/ocaml-4.05.0:=[ocamlopt?]
+ >=dev-ml/menhir-20170418:=
+ dev-ml/num:=
+ coq? ( >=sci-mathematics/coq-8.7:= )
+ emacs? ( app-editors/emacs:* )
+ gtk? ( dev-ml/lablgtk:=[sourceview,ocamlopt?] )
+ re? ( dev-ml/re:= )
+ sexp? (
+ dev-ml/ppx_deriving:=[ocamlopt?]
+ dev-ml/ppx_sexp_conv:=[ocamlopt?]
+ dev-ml/sexplib:=[ocamlopt?]
+ )
+ stackify? ( dev-ml/ocamlgraph:=[ocamlopt?] )
+ zarith? ( dev-ml/zarith:= )
+ zip? ( dev-ml/camlzip:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? (
+ dev-python/sphinx
+ dev-python/sphinxcontrib-bibtex
+ media-gfx/graphviz
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ )
+"
+
+DOCS=( CHANGES.md README.md )
+
+src_prepare() {
+ mv configure.in configure.ac || die
+
+ sed -i 's/configure\.in/configure.ac/g' Makefile.in || die
+ sed -e '/^lib\/why3[a-z]*\$(EXE):/{n;s/-Wall/$(CFLAGS) $(LDFLAGS)/}' \
+ -e '/^%.o: %.c/{n;s/\$(CC).*-o/$(CC) $(CFLAGS) -o/}' \
+ -e '/\$(SPHINX)/s/ -d doc\/\.doctrees / /' \
+ -i Makefile.in || die
+
+ # remove QA warning about duplicated compressed file:
+ rm examples/mlcfg/basic/why3shapes.gz || die
+
+ eautoreconf
+ default
+}
+
+src_configure() {
+ local -a myconf=(
+ --enable-verbose-make
+ --disable-frama-c
+ --disable-hypothesis-selection
+ --disable-infer
+ --disable-isabelle-libs
+ --disable-pvs-libs
+ --disable-web-ide
+ $(use_enable coq coq-libs)
+ $(use_enable doc)
+ $(use_enable emacs emacs-compilation)
+ $(use_enable gtk ide)
+ $(use_enable ocamlopt native-code)
+ $(use_enable re)
+ $(use_enable sexp)
+ $(use_enable stackify)
+ $(use_enable zarith)
+ $(use_enable zip)
+ )
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake
+ emake plugins
+
+ use doc && emake doc
+}
+
+src_install(){
+ findlib_src_preinst
+ emake install install-lib DESTDIR="${ED}"
+
+ einstalldocs
+ docompress -x /usr/share/doc/${PF}/examples
+ dodoc -r examples
+
+ if use doc; then
+ dodoc doc/latex/manual.pdf
+ dodoc -r doc/html
+ fi
+}