commit:     cac9016508d0b21c96651c29c666d12da080a4be
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 29 15:58:21 2022 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Wed Jun 29 15:58:36 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cac90165

dev-lang/dafny-bin: new package; add version 3.7.1

Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>

 dev-lang/dafny-bin/Manifest               |  1 +
 dev-lang/dafny-bin/dafny-bin-3.7.1.ebuild | 46 +++++++++++++++++++++++++++++++
 dev-lang/dafny-bin/metadata.xml           | 33 ++++++++++++++++++++++
 3 files changed, 80 insertions(+)

diff --git a/dev-lang/dafny-bin/Manifest b/dev-lang/dafny-bin/Manifest
new file mode 100644
index 000000000000..6e4055cab706
--- /dev/null
+++ b/dev-lang/dafny-bin/Manifest
@@ -0,0 +1 @@
+DIST dafny-3.7.1-x64-ubuntu-16.04.zip 76008449 BLAKE2B 
5685dcc04e750960fa9bed536d6fae8f70979be899349eaab54bb7045a6e6a9849988be10db3ad33c9096a8d91d17f7b055e50507f736a169aa4fdcb6654b8f6
 SHA512 
689f3a125e336806c7fe15a8e0cc95e3242f99b719bfae57715313699880c21b13cf2eddfe4163e40da8de20f81c7148dce132dbc511b7a5c2320c1e96d2040a

diff --git a/dev-lang/dafny-bin/dafny-bin-3.7.1.ebuild 
b/dev-lang/dafny-bin/dafny-bin-3.7.1.ebuild
new file mode 100644
index 000000000000..ee4df7023ffb
--- /dev/null
+++ b/dev-lang/dafny-bin/dafny-bin-3.7.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Verification-aware programming language"
+HOMEPAGE="https://dafny.org/";
+SRC_URI="https://github.com/dafny-lang/dafny/releases/download/v${PV}/dafny-${PV}-x64-ubuntu-16.04.zip";
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="-* ~amd64"  # Binaries are compiled only for x86_64.
+REQUIRED_USE="elibc_glibc"
+
+RDEPEND="sci-mathematics/z3"
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}"/dafny
+QA_PREBUILT="*"
+
+src_prepare() {
+       default
+
+       # Remove bundled z3.
+       # NOTICE: New versions do not need the bundled one but older versions
+       # hardcoded the path relative to "dafny" binary.
+       # While bumping make sure to verify that system's "z3" is used.
+       rm -r z3 || die
+}
+
+src_install() {
+       local dest=/opt/dafny
+
+       insinto ${dest}
+       doins "${S}"/*
+
+       # CONSIDER: Just the entry-point binaries need executable permissions?
+       local bin
+       for bin in DafnyServer dafny ; do
+               fperms 755 ${dest}/${bin}
+               dosym ../../${dest}/${bin} /usr/bin/${bin}
+       done
+
+       # Make "dafny-server" clients happy.
+       dosym ../../${dest}/DafnyServer /usr/bin/dafny-server
+}

diff --git a/dev-lang/dafny-bin/metadata.xml b/dev-lang/dafny-bin/metadata.xml
new file mode 100644
index 000000000000..f0b8fd07b684
--- /dev/null
+++ b/dev-lang/dafny-bin/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+
+<pkgmetadata>
+  <maintainer type="person">
+    <email>x...@gentoo.org</email>
+    <name>Maciej Barć</name>
+  </maintainer>
+  <longdescription>
+    Dafny is a verification-ready programming language. As you type in your
+    program, Dafny's verifier constantly looks over your shoulder, flags any
+    errors, shows you counterexamples, and congratulates you when your code
+    matches your specifications. When you're done, Dafny can compile your code
+    to C#, Java, JavaScript or Go (more to come!), so it can integrate with
+    your existing workflow. Dafny will give you assurance that your code meets
+    the specifications you write, while letting you write both code and
+    specifications in the Dafny programming language itself. Since verification
+    is an integral part of development, it will thus reduce the risk of costly
+    late-stage bugs that are typically missed by testing. Dafny has support for
+    common programming concepts such as classes and trait inheritance,
+    inductive datatypes that can have methods and are suitable for pattern
+    matching, lazily unbounded datatypes, subset types e.g. for bounded
+    integers, lambdas, and immutable and mutable data structures. Dafny also
+    offers an extensive toolbox for mathematical proofs, such as unbounded and
+    bounded quantifiers, calculational proofs, pre- and post-conditions,
+    termination conditions, loop invariants, and read/write specifications.
+  </longdescription>
+  <upstream>
+    <changelog>https://github.com/dafny-lang/dafny/releases/</changelog>
+    <bugs-to>https://github.com/dafny-lang/dafny/issues/</bugs-to>
+    <remote-id type="github">dafny-lang/dafny</remote-id>
+  </upstream>
+</pkgmetadata>

Reply via email to