summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics')
-rw-r--r--sci-mathematics/cubicle/Manifest1
-rw-r--r--sci-mathematics/cubicle/cubicle-1.2.0.ebuild69
-rw-r--r--sci-mathematics/cubicle/files/50cubicle-gentoo.el4
-rw-r--r--sci-mathematics/cubicle/metadata.xml31
4 files changed, 105 insertions, 0 deletions
diff --git a/sci-mathematics/cubicle/Manifest b/sci-mathematics/cubicle/Manifest
new file mode 100644
index 000000000000..c5054c4a4157
--- /dev/null
+++ b/sci-mathematics/cubicle/Manifest
@@ -0,0 +1 @@
+DIST cubicle-1.2.0.tar.gz 866004 BLAKE2B 4fd944acb394165396344b7a9d4b29ffcb7b61571e1ac9cb90aacf1a5ddb0521d399f301a51af6b37461e5a47244fb095ad69ab0041440c240257522ba4de4a7 SHA512 e2815b4b7b4feda30df91eabebae741d14a2c822f5efea972676bc7a941454ea368e9dc003f754c2edb1c6b1db5a5c86a354b3612c2d47a9095f8fc348dfb692
diff --git a/sci-mathematics/cubicle/cubicle-1.2.0.ebuild b/sci-mathematics/cubicle/cubicle-1.2.0.ebuild
new file mode 100644
index 000000000000..d2f5d0e356f2
--- /dev/null
+++ b/sci-mathematics/cubicle/cubicle-1.2.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools elisp-common
+
+DESCRIPTION="Model checker for verifying properties of array-based systems"
+HOMEPAGE="https://cubicle.lri.fr/
+ https://github.com/cubicle-model-checker/cubicle/"
+SRC_URI="https://github.com/cubicle-model-checker/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="emacs examples ocamlopt"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.09.0:=[ocamlopt=]
+ dev-ml/num:=
+ emacs? ( >=app-editors/emacs-23.1:* )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-ml/findlib
+ sys-apps/gawk
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # Makefile checks if "configure.in" exists,
+ # it is needed by the ".depend" target.
+ ln -s configure.ac configure.in || die
+}
+
+src_configure() {
+ econf --without-z3 # Needs Z3 Ocaml bindings, not yet packaged.
+}
+
+src_compile() {
+ default
+
+ if use emacs ; then
+ elisp-compile emacs/*.el
+ fi
+}
+
+src_install() {
+ default
+
+ if use emacs ; then
+ elisp-install ${PN} emacs/*.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+ use examples && dodoc -r examples
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sci-mathematics/cubicle/files/50cubicle-gentoo.el b/sci-mathematics/cubicle/files/50cubicle-gentoo.el
new file mode 100644
index 000000000000..bab0f0d76325
--- /dev/null
+++ b/sci-mathematics/cubicle/files/50cubicle-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'cubicle-mode "cubicle-mode"
+ "A major mode for editing Cubicle files." t)
+(add-to-list 'auto-mode-alist '("\\.cub\\'" . cubicle-mode))
diff --git a/sci-mathematics/cubicle/metadata.xml b/sci-mathematics/cubicle/metadata.xml
new file mode 100644
index 000000000000..d3a0058bc0c9
--- /dev/null
+++ b/sci-mathematics/cubicle/metadata.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ml@gentoo.org</email>
+ <name>ML</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</name>
+ </maintainer>
+ <longdescription>
+ Cubicle is an open source model checker for verifying safety properties of
+ array-based systems. This is a syntactically restricted class of
+ parametrized transition systems with states represented as arrays indexed
+ by an arbitrary number of processes. Cache coherence protocols and mutual
+ exclusion algorithms are typical examples of such systems. Cubicle
+ model-checks by a symbolic backward reachability analysis on infinite sets
+ of states represented by specific simple formulas, called cubes. Cubicle is
+ based on ideas introduced by MCMT from which, in addition to revealing the
+ implementation details, it differs in a more friendly input language and a
+ concurrent architecture. Cubicle is written in OCaml. Its SMT solver is a
+ tightly integrated, lightweight and enhanced version of Alt-Ergo; and its
+ parallel implementation relies on the Functory library.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/cubicle-model-checker/cubicle/issues/</bugs-to>
+ <remote-id type="github">cubicle-model-checker/cubicle</remote-id>
+ </upstream>
+</pkgmetadata>