Gentoo Archives: gentoo-commits

From: "Maciej Barć" <xgqt@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/dafny-bin/
Date: Wed, 29 Jun 2022 16:00:34
Message-Id: 1656518316.cac9016508d0b21c96651c29c666d12da080a4be.xgqt@gentoo
1 commit: cac9016508d0b21c96651c29c666d12da080a4be
2 Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jun 29 15:58:21 2022 +0000
4 Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
5 CommitDate: Wed Jun 29 15:58:36 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cac90165
7
8 dev-lang/dafny-bin: new package; add version 3.7.1
9
10 Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
11
12 dev-lang/dafny-bin/Manifest | 1 +
13 dev-lang/dafny-bin/dafny-bin-3.7.1.ebuild | 46 +++++++++++++++++++++++++++++++
14 dev-lang/dafny-bin/metadata.xml | 33 ++++++++++++++++++++++
15 3 files changed, 80 insertions(+)
16
17 diff --git a/dev-lang/dafny-bin/Manifest b/dev-lang/dafny-bin/Manifest
18 new file mode 100644
19 index 000000000000..6e4055cab706
20 --- /dev/null
21 +++ b/dev-lang/dafny-bin/Manifest
22 @@ -0,0 +1 @@
23 +DIST dafny-3.7.1-x64-ubuntu-16.04.zip 76008449 BLAKE2B 5685dcc04e750960fa9bed536d6fae8f70979be899349eaab54bb7045a6e6a9849988be10db3ad33c9096a8d91d17f7b055e50507f736a169aa4fdcb6654b8f6 SHA512 689f3a125e336806c7fe15a8e0cc95e3242f99b719bfae57715313699880c21b13cf2eddfe4163e40da8de20f81c7148dce132dbc511b7a5c2320c1e96d2040a
24
25 diff --git a/dev-lang/dafny-bin/dafny-bin-3.7.1.ebuild b/dev-lang/dafny-bin/dafny-bin-3.7.1.ebuild
26 new file mode 100644
27 index 000000000000..ee4df7023ffb
28 --- /dev/null
29 +++ b/dev-lang/dafny-bin/dafny-bin-3.7.1.ebuild
30 @@ -0,0 +1,46 @@
31 +# Copyright 1999-2022 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=8
35 +
36 +DESCRIPTION="Verification-aware programming language"
37 +HOMEPAGE="https://dafny.org/"
38 +SRC_URI="https://github.com/dafny-lang/dafny/releases/download/v${PV}/dafny-${PV}-x64-ubuntu-16.04.zip"
39 +
40 +LICENSE="MIT"
41 +SLOT="0"
42 +KEYWORDS="-* ~amd64" # Binaries are compiled only for x86_64.
43 +REQUIRED_USE="elibc_glibc"
44 +
45 +RDEPEND="sci-mathematics/z3"
46 +BDEPEND="app-arch/unzip"
47 +
48 +S="${WORKDIR}"/dafny
49 +QA_PREBUILT="*"
50 +
51 +src_prepare() {
52 + default
53 +
54 + # Remove bundled z3.
55 + # NOTICE: New versions do not need the bundled one but older versions
56 + # hardcoded the path relative to "dafny" binary.
57 + # While bumping make sure to verify that system's "z3" is used.
58 + rm -r z3 || die
59 +}
60 +
61 +src_install() {
62 + local dest=/opt/dafny
63 +
64 + insinto ${dest}
65 + doins "${S}"/*
66 +
67 + # CONSIDER: Just the entry-point binaries need executable permissions?
68 + local bin
69 + for bin in DafnyServer dafny ; do
70 + fperms 755 ${dest}/${bin}
71 + dosym ../../${dest}/${bin} /usr/bin/${bin}
72 + done
73 +
74 + # Make "dafny-server" clients happy.
75 + dosym ../../${dest}/DafnyServer /usr/bin/dafny-server
76 +}
77
78 diff --git a/dev-lang/dafny-bin/metadata.xml b/dev-lang/dafny-bin/metadata.xml
79 new file mode 100644
80 index 000000000000..f0b8fd07b684
81 --- /dev/null
82 +++ b/dev-lang/dafny-bin/metadata.xml
83 @@ -0,0 +1,33 @@
84 +<?xml version="1.0" encoding="UTF-8"?>
85 +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
86 +
87 +<pkgmetadata>
88 + <maintainer type="person">
89 + <email>xgqt@g.o</email>
90 + <name>Maciej Barć</name>
91 + </maintainer>
92 + <longdescription>
93 + Dafny is a verification-ready programming language. As you type in your
94 + program, Dafny's verifier constantly looks over your shoulder, flags any
95 + errors, shows you counterexamples, and congratulates you when your code
96 + matches your specifications. When you're done, Dafny can compile your code
97 + to C#, Java, JavaScript or Go (more to come!), so it can integrate with
98 + your existing workflow. Dafny will give you assurance that your code meets
99 + the specifications you write, while letting you write both code and
100 + specifications in the Dafny programming language itself. Since verification
101 + is an integral part of development, it will thus reduce the risk of costly
102 + late-stage bugs that are typically missed by testing. Dafny has support for
103 + common programming concepts such as classes and trait inheritance,
104 + inductive datatypes that can have methods and are suitable for pattern
105 + matching, lazily unbounded datatypes, subset types e.g. for bounded
106 + integers, lambdas, and immutable and mutable data structures. Dafny also
107 + offers an extensive toolbox for mathematical proofs, such as unbounded and
108 + bounded quantifiers, calculational proofs, pre- and post-conditions,
109 + termination conditions, loop invariants, and read/write specifications.
110 + </longdescription>
111 + <upstream>
112 + <changelog>https://github.com/dafny-lang/dafny/releases/</changelog>
113 + <bugs-to>https://github.com/dafny-lang/dafny/issues/</bugs-to>
114 + <remote-id type="github">dafny-lang/dafny</remote-id>
115 + </upstream>
116 +</pkgmetadata>