# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
RESTRICT="mirror"
KEYWORDS="amd64 arm64"
SLOT="0"
USE_DOTNET="net45"
IUSE="+${USE_DOTNET} +gac developer debug doc +symlink"
inherit dotnet xbuild gac mono-pkg-config
GITHUB_ACCOUNT="dotnet"
GITHUB_PROJECTNAME="buildtools"
EGIT_COMMIT="a177c85d78799e6c2407ce88e857546e490d83c2"
SRC_URI="https://github.com/${GITHUB_ACCOUNT}/${GITHUB_PROJECTNAME}/archive/${EGIT_COMMIT}.tar.gz -> ${GITHUB_PROJECTNAME}-${GITHUB_ACCOUNT}-${PV}.tar.gz"
S="${WORKDIR}/${GITHUB_PROJECTNAME}-${EGIT_COMMIT}"
HOMEPAGE="https://github.com/dotnet/buildtools"
DESCRIPTION="Build tools that are necessary for building the .NET Core projects"
LICENSE="MIT" # https://github.com/dotnet/buildtools/blob/master/LICENSE
# dev-dotnet/newtonsoft-json
COMMON_DEPEND=">=dev-lang/mono-5.2.0.196
dev-dotnet/msbuild-tasks-api
>=dev-dotnet/newtonsoft-json-6.0.8-r2[pkg-config]
"
RDEPEND="${COMMON_DEPEND}
"
DEPEND="${COMMON_DEPEND}
>=dev-dotnet/msbuildtasks-1.5.0.240
"
PROJ1=Microsoft.DotNet.Build.Tasks
PROJ1_DIR=src/Microsoft.DotNet.Build.Tasks
src_prepare() {
cp "${FILESDIR}/mono-${PROJ1}.csproj" "${S}/${PROJ1_DIR}/" || die
eapply_user
}
src_compile() {
if use debug; then
CONFIGURATION=Debug
else
CONFIGURATION=Release
fi
if use developer; then
SARGS=DebugSymbols=True
else
SARGS=DebugSymbols=False
fi
VER=1.0.27.0
KEY="${FILESDIR}/mono.snk"
exbuild_raw /v:detailed /p:TargetFrameworkVersion=v4.6 "/p:Configuration=${CONFIGURATION}" /p:${SARGS} "/p:VersionNumber=${VER}" "/p:RootPath=${S}" "/p:SignAssembly=true" "/p:AssemblyOriginatorKeyFile=${KEY}" "${S}/${PROJ1_DIR}/mono-${PROJ1}.csproj"
sn -R "${PROJ1_DIR}/bin/${CONFIGURATION}/${PROJ1}.dll" "${KEY}" || die
}
src_install() {
if use debug; then
CONFIGURATION=Debug
else
CONFIGURATION=Release
fi
egacinstall "${PROJ1_DIR}/bin/${CONFIGURATION}/${PROJ1}.dll"
einstall_pc_file "${PN}" "${PV}" "${PROJ1}"
insinto "/usr/lib/mono/xbuild"
doins "${S}/src/Microsoft.DotNet.Build.Tasks/PackageFiles/resources.targets"
if use symlink; then
dosym "$(gac_dir)/${PROJ1}/1.0.27.0__0738eb9f132ed756/${PROJ1}.dll" "/usr/lib/mono/xbuild/${PROJ1}.dll"
fi
}