commit: 8774c3bacb82b878b97365d5c3c9764c1d38ae8a Author: François-Xavier Carton <fx.carton91 <AT> gmail <DOT> com> AuthorDate: Fri Nov 27 18:16:28 2020 +0000 Commit: Francois-Xavier Carton <fx.carton91 <AT> gmail <DOT> com> CommitDate: Sat Jan 9 16:44:42 2021 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=8774c3ba
sci-mathematics/why3: new package This is a bump from the version in ::science. Signed-off-by: François-Xavier Carton <fx.carton91 <AT> gmail.com> sci-mathematics/why3/Manifest | 1 + sci-mathematics/why3/metadata.xml | 27 ++++++++++++ sci-mathematics/why3/why3-1.3.3.ebuild | 80 ++++++++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+) diff --git a/sci-mathematics/why3/Manifest b/sci-mathematics/why3/Manifest new file mode 100644 index 00000000..20a390e4 --- /dev/null +++ b/sci-mathematics/why3/Manifest @@ -0,0 +1 @@ +DIST why3-1.3.3.tar.gz 5807572 BLAKE2B b1a04e78010f841e217b9a81c096cadfa0cddabadbe81ef55c310a104668feb1e46cd50576a965a58c74658903d6d08f9fd348bd2064a79ac3b176548927bcbe SHA512 a2dc95691cea29bbd20843a05add3985f777085086b654b53566ecdb752ba892366da703e232c85d5e0237d0e59564527aed55f6ccae9118d49e5f2cf93a53ce diff --git a/sci-mathematics/why3/metadata.xml b/sci-mathematics/why3/metadata.xml new file mode 100644 index 00000000..444f26b5 --- /dev/null +++ b/sci-mathematics/why3/metadata.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <name>François-Xavier Carton</name> + <email>fx.carto...@gmail.com</email> + </maintainer> + <longdescription> +Why3 is a platform for deductive program verification. It provides +a rich language for specification and programming, called WhyML, +and relies on external theorem provers, both automated and interactive, +to discharge verification conditions. Why3 comes with a standard +library of logical theories (integer and real arithmetic, Boolean +operations, sets and maps, etc.) and basic programming data structures +(arrays, queues, hash tables, etc.). A user can write WhyML programs +directly and get correct-by-construction OCaml programs through an +automated extraction mechanism. WhyML is also used as an intermediate +language for the verification of C, Java, or Ada programs. +</longdescription> + <use> + <flag name="coq">Add <pkg>sci-mathematics/coq</pkg> support</flag> + <flag name="gtk">Build the IDE <pkg>x11-libs/gtk+</pkg></flag> + <flag name="re">Use Re (<pkg>dev-ml/re</pkg>) instead of Str for regular expressions</flag> + <flag name="zarith">Use Zarith (<pkg>dev-ml/zarith</pkg>) instead of Nums (<pkg>dev-ml/num</pkg>) for computations</flag> + <flag name="zip">Enable compression of session files</flag> + </use> +</pkgmetadata> diff --git a/sci-mathematics/why3/why3-1.3.3.ebuild b/sci-mathematics/why3/why3-1.3.3.ebuild new file mode 100644 index 00000000..b5665dc3 --- /dev/null +++ b/sci-mathematics/why3/why3-1.3.3.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +DESCRIPTION="Platform for deductive program verification" +HOMEPAGE="http://why3.lri.fr/" +SRC_URI="https://gforge.inria.fr/frs/download.php/file/38367/${P}.tar.gz" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~amd64" +IUSE="coq emacs gtk +ocamlopt re +zarith zip" + +DEPEND=">=dev-lang/ocaml-4.05.0[ocamlopt?] + >=dev-ml/menhir-20151112 + dev-ml/findlib + dev-ml/num + coq? ( >=sci-mathematics/coq-8.6 ) + emacs? ( app-editors/emacs:* ) + gtk? ( dev-ml/lablgtk:*[sourceview,ocamlopt?] ) + re? ( dev-ml/re dev-ml/seq ) + zarith? ( dev-ml/zarith ) + zip? ( dev-ml/camlzip )" +RDEPEND="${DEPEND}" + +# doc needs sphinxcontrib-bibtex which is currently not packaged +# doc? ( +# dev-python/sphinx +# dev-python/sphinxcontrib-bibtex +# || ( dev-texlive/texlive-latex dev-tex/latexmk dev-tex/rubber ) +# ) + +DOCS=( CHANGES.md README.md ) + +src_prepare() { + mv doc/why.1 doc/why3.1 || die + mv configure.in configure.ac || die + sed -i 's/configure\.in/configure.ac/g' Makefile.in || die + eautoreconf + eapply_user +} + +src_configure() { + econf \ + --disable-hypothesis-selection \ + --disable-pvs-libs \ + --disable-isabelle-libs \ + --disable-frama-c \ + --disable-web-ide \ + --disable-doc \ + $(use_enable coq coq-libs) \ + $(use_enable emacs emacs-compilation) \ + $(use_enable gtk ide) \ + $(use_enable ocamlopt native-code) \ + $(use_enable re) \ + $(use_enable zarith) \ + $(use_enable zip) +} + +src_compile() { + emake + emake plugins + #use doc && emake doc +} + +src_install(){ + emake install install-lib DESTDIR="${ED}" + + doman doc/why3.1 + 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 +}