src_prepare-overlay/dev-lang/dafny/dafny-3.3.0.ebuild
Maciej Barć 83e700cc02
dev-lang/dafny: add verison 3.3.0
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Maciej Barć <xgqt@riseup.net>
2021-10-26 08:32:52 +02:00

70 lines
1.4 KiB
Bash

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DOTNET="5.0"
DESCRIPTION="Verification-aware programming language"
HOMEPAGE="https://dafny-lang.github.io/dafny/"
if [[ "${PV}" == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/dafny-lang/${PN}.git"
else
SRC_URI="https://github.com/dafny-lang/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
# TODO: src_test
RESTRICT="network-sandbox test"
LICENSE="MIT"
SLOT="0"
IUSE="debug"
# TODO: add dev-java/gradle when available
BDEPEND="
dev-java/gradle-bin
"
DEPEND="
>=virtual/jdk-1.8.0:*
virtual/dotnet-sdk:${DOTNET}
"
RDEPEND="
${DEPEND}
sci-mathematics/z3
"
DAFNY_EXES="
usr/share/dafny/Dafny
usr/share/dafny/DafnyLanguageServer
usr/share/dafny/DafnyServer
"
QA_PREBUILT="${DAFNY_EXES}"
src_compile() {
local configuration
if use debug; then
configuration="Debug"
else
configuration="Release"
fi
dotnet build --configuration "${configuration}" ./Source/Dafny.sln ||
die "dotnet build failed"
}
src_install() {
insinto /usr/share/${PN}
doins -r ./Binaries/net${DOTNET}/*
local exe
for exe in ${DAFNY_EXES}; do
# fix permissions (make executable)
fperms +x "/${exe}"
# create symlinks to bin (also convert to a lowercase name)
dosym "../../${exe}" "/usr/bin/$(basename "${exe,,}")"
done
}