summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2022-06-29 17:58:21 +0200
committerMaciej Barć <xgqt@gentoo.org>2022-06-29 17:58:36 +0200
commitcac9016508d0b21c96651c29c666d12da080a4be (patch)
tree494933345510085ea595270b2edde4915b08befa /dev-lang/dafny-bin
parentwww-client/firefox: stabilize 91.11.0 for amd64 (diff)
downloadgentoo-cac9016508d0b21c96651c29c666d12da080a4be.tar.gz
gentoo-cac9016508d0b21c96651c29c666d12da080a4be.tar.bz2
gentoo-cac9016508d0b21c96651c29c666d12da080a4be.zip
dev-lang/dafny-bin: new package; add version 3.7.1
Signed-off-by: Maciej Barć <xgqt@gentoo.org>
Diffstat (limited to 'dev-lang/dafny-bin')
-rw-r--r--dev-lang/dafny-bin/Manifest1
-rw-r--r--dev-lang/dafny-bin/dafny-bin-3.7.1.ebuild46
-rw-r--r--dev-lang/dafny-bin/metadata.xml33
3 files changed, 80 insertions, 0 deletions
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>xgqt@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>