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

Reply via email to