From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id D587E1382C5 for ; Tue, 23 Jan 2018 06:42:21 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9AF73E0949; Tue, 23 Jan 2018 06:42:19 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 71168E0949 for ; Tue, 23 Jan 2018 06:42:19 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 6FE4E335C49 for ; Tue, 23 Jan 2018 06:42:17 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 1779D1D0 for ; Tue, 23 Jan 2018 06:42:14 +0000 (UTC) From: "Mikhail Pukhlikov" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Mikhail Pukhlikov" Message-ID: <1515617106.e3638e9a810dd2c86f07841c940efe7a95753ad3.cynede@gentoo> Subject: [gentoo-commits] proj/dotnet:master commit in: dev-dotnet/autofac/, dev-dotnet/autofac-configuration/, eclass/, ... X-VCS-Repository: proj/dotnet X-VCS-Files: dev-dotnet/autofac-configuration/autofac-configuration-2.5.3.862.ebuild dev-dotnet/autofac-web/autofac-web-2.5.3.862.ebuild dev-dotnet/autofac-web/metadata.xml dev-dotnet/autofac/autofac-2.5.3.862.ebuild dev-dotnet/autofac/autofac-3.5.2.ebuild dev-dotnet/dotnetzip-semverd/dotnetzip-semverd-1.9.3-r1.ebuild dev-dotnet/dotnetzip-semverd/dotnetzip-semverd-1.9.3.ebuild dev-dotnet/msbuildtasks/msbuildtasks-1.5.0.260_pre.ebuild eclass/dotnet.eclass eclass/mono-env.eclass eclass/mono.snk eclass/msbuild.eclass eclass/xbuild.eclass X-VCS-Directories: dev-dotnet/autofac-web/ dev-dotnet/dotnetzip-semverd/ dev-dotnet/msbuildtasks/ dev-dotnet/autofac-configuration/ dev-dotnet/autofac/ eclass/ X-VCS-Committer: cynede X-VCS-Committer-Name: Mikhail Pukhlikov X-VCS-Revision: e3638e9a810dd2c86f07841c940efe7a95753ad3 X-VCS-Branch: master Date: Tue, 23 Jan 2018 06:42:14 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: f5791fc7-1124-425f-87c3-eff09f2340eb X-Archives-Hash: 0d6522387c495fb448fb55d8de8a8d09 commit: e3638e9a810dd2c86f07841c940efe7a95753ad3 Author: ArsenShnurkov users noreply github com> AuthorDate: Wed Jan 10 20:41:45 2018 +0000 Commit: Mikhail Pukhlikov gentoo org> CommitDate: Wed Jan 10 20:45:06 2018 +0000 URL: https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=e3638e9a autofac v2.3.5.862 packaged .../autofac-configuration-2.5.3.862.ebuild | 66 +++++++++++++++ .../autofac-web/autofac-web-2.5.3.862.ebuild | 65 +++++++++++++++ dev-dotnet/autofac-web/metadata.xml | 8 ++ dev-dotnet/autofac/autofac-2.5.3.862.ebuild | 62 ++++++++++++++ dev-dotnet/autofac/autofac-3.5.2.ebuild | 31 ++++--- .../dotnetzip-semverd-1.9.3-r1.ebuild | 48 ----------- .../dotnetzip-semverd-1.9.3.ebuild | 47 ----------- .../msbuildtasks/msbuildtasks-1.5.0.260_pre.ebuild | 91 +++++++++++++++++++++ eclass/dotnet.eclass | 63 ++------------ eclass/mono-env.eclass | 2 + eclass/mono.snk | Bin 596 -> 0 bytes eclass/msbuild.eclass | 2 + eclass/xbuild.eclass | 81 ++++++++++++++++++ 13 files changed, 405 insertions(+), 161 deletions(-) diff --git a/dev-dotnet/autofac-configuration/autofac-configuration-2.5.3.862.ebuild b/dev-dotnet/autofac-configuration/autofac-configuration-2.5.3.862.ebuild new file mode 100644 index 0000000..1f8714b --- /dev/null +++ b/dev-dotnet/autofac-configuration/autofac-configuration-2.5.3.862.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="6" + +KEYWORDS="~amd64 ~ppc ~x86" +RESTRICT="mirror" + +SLOT="2" +if [ "${SLOT}" != "0" ]; then + APPENDIX="-${SLOT}" +fi + +USE_DOTNET="net45" +IUSE="+${USE_DOTNET} +debug developer doc" + +inherit versionator msbuild gac mono-pkg-config + +GITHUB_REPONAME="Autofac" +HOMEPAGE="https://github.com/autofac/Autofac.Configuration" +DESCRIPTION="An addictive .NET IoC container" +LICENSE="MIT" # https://github.com/autofac/Autofac/blob/develop/LICENSE + +EGIT_COMMIT="5ad2d85df4e99d3588589d89874672856ba7b60e" +PV4="$(get_version_component_range 1-4)" +TARBALL_EXT=".tar.gz" +SRC_URI="https://github.com/autofac/${GITHUB_REPONAME}/archive/${EGIT_COMMIT}${TARBALL_EXT} -> ${GITHUB_REPONAME}-${PV4}${TARBALL_EXT} + https://github.com/mono/mono/raw/master/mcs/class/mono.snk" +S="${WORKDIR}/${GITHUB_REPONAME}-${EGIT_COMMIT}" + +COMMON_DEPEND=">=dev-lang/mono-4.0.2.5 +" +RDEPEND="${COMMON_DEPEND} +" +DEPEND="${COMMON_DEPEND} + dev-dotnet/autofac:2 +" + +KEY2="${DISTDIR}/mono.snk" + +function project_relpath() { + echo "Core/Source/Autofac.Configuration" +} + +function output_filename() { + echo "$(project_relpath)/$(output_relpath)/Autofac.Configuration.dll" +} + +src_prepare() { + dotnet_pkg_setup + sed -i '/MSBuildCommunityTasksPath/d' "${S}/default.proj" || die + emsbuild /p:AssemblyVersion=${PV} /t:UpdateVersion "${S}/default.proj" + sed -i "s?System.configuration?System.Configuration?g" "$(project_relpath)/Autofac.Configuration.csproj" || die + eapply_user +} + +src_compile() { + emsbuild "/p:SignAssembly=true" "/p:PublicSign=true" "/p:AssemblyOriginatorKeyFile=${KEY2}" /p:VersionNumber=${PV} "$(project_relpath)/Autofac.Configuration.csproj" + sn -R "$(output_filename)" "${KEY2}" || die +} + +src_install() { + egacinstall "$(output_filename)" + einstall_pc_file "${PN}" "${PV}" "Autofac.Configuration" +} diff --git a/dev-dotnet/autofac-web/autofac-web-2.5.3.862.ebuild b/dev-dotnet/autofac-web/autofac-web-2.5.3.862.ebuild new file mode 100644 index 0000000..f168467 --- /dev/null +++ b/dev-dotnet/autofac-web/autofac-web-2.5.3.862.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="6" + +KEYWORDS="~amd64 ~ppc ~x86" +RESTRICT="mirror" + +SLOT="2" +if [ "${SLOT}" != "0" ]; then + APPENDIX="-${SLOT}" +fi + +USE_DOTNET="net45" +IUSE="+${USE_DOTNET} +debug developer doc" + +inherit versionator msbuild gac mono-pkg-config + +GITHUB_REPONAME="Autofac" +HOMEPAGE="https://github.com/autofac/Autofac.Web" +DESCRIPTION="An addictive .NET IoC container" +LICENSE="MIT" # https://github.com/autofac/Autofac/blob/develop/LICENSE + +EGIT_COMMIT="5ad2d85df4e99d3588589d89874672856ba7b60e" +PV4="$(get_version_component_range 1-4)" +TARBALL_EXT=".tar.gz" +SRC_URI="https://github.com/autofac/${GITHUB_REPONAME}/archive/${EGIT_COMMIT}${TARBALL_EXT} -> ${GITHUB_REPONAME}-${PV4}${TARBALL_EXT} + https://github.com/mono/mono/raw/master/mcs/class/mono.snk" +S="${WORKDIR}/${GITHUB_REPONAME}-${EGIT_COMMIT}" + +COMMON_DEPEND=">=dev-lang/mono-4.0.2.5 +" +RDEPEND="${COMMON_DEPEND} +" +DEPEND="${COMMON_DEPEND} + dev-dotnet/autofac:2 +" + +KEY2="${DISTDIR}/mono.snk" + +function project_relpath() { + echo "Core/Source/Autofac.Integration.Web" +} + +function output_filename() { + echo "$(project_relpath)/$(output_relpath)/Autofac.Integration.Web.dll" +} + +src_prepare() { + dotnet_pkg_setup + sed -i '/MSBuildCommunityTasksPath/d' "${S}/default.proj" || die + emsbuild /p:AssemblyVersion=${PV} /t:UpdateVersion "${S}/default.proj" + eapply_user +} + +src_compile() { + emsbuild "/p:SignAssembly=true" "/p:PublicSign=true" "/p:AssemblyOriginatorKeyFile=${KEY2}" /p:VersionNumber=${PV} "$(project_relpath)/Autofac.Integration.Web.csproj" + sn -R "$(output_filename)" "${KEY2}" || die +} + +src_install() { + egacinstall "$(output_filename)" + einstall_pc_file "${PN}" "${PV}" "Autofac.Integration.Web" +} diff --git a/dev-dotnet/autofac-web/metadata.xml b/dev-dotnet/autofac-web/metadata.xml new file mode 100644 index 0000000..b1262f1 --- /dev/null +++ b/dev-dotnet/autofac-web/metadata.xml @@ -0,0 +1,8 @@ + + + + + dotnet@gentoo.org + Gentoo Dotnet Project + + diff --git a/dev-dotnet/autofac/autofac-2.5.3.862.ebuild b/dev-dotnet/autofac/autofac-2.5.3.862.ebuild new file mode 100644 index 0000000..4bc68e5 --- /dev/null +++ b/dev-dotnet/autofac/autofac-2.5.3.862.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +KEYWORDS="~amd64 ~ppc ~x86" +RESTRICT="mirror" + +SLOT="2" +if [ "${SLOT}" != "0" ]; then + APPENDIX="-${SLOT}" +fi + +USE_DOTNET="net45" + +inherit msbuild gac mono-pkg-config + +GITHUB_REPONAME="Autofac" +HOMEPAGE="https://github.com/autofac/Autofac" +DESCRIPTION="An addictive .NET IoC container" +LICENSE="MIT" # https://github.com/autofac/Autofac/blob/develop/LICENSE + +EGIT_COMMIT="5ad2d85df4e99d3588589d89874672856ba7b60e" +PV4="$(get_version_component_range 1-4)" +TARBALL_EXT=".tar.gz" +SRC_URI="https://github.com/autofac/${GITHUB_REPONAME}/archive/${EGIT_COMMIT}${TARBALL_EXT} -> ${GITHUB_REPONAME}-${PV4}${TARBALL_EXT} + https://github.com/mono/mono/raw/master/mcs/class/mono.snk" +S="${WORKDIR}/${GITHUB_REPONAME}-${EGIT_COMMIT}" + + +IUSE="+${USE_DOTNET} +debug developer doc" + +COMMON_DEPEND=">=dev-lang/mono-4.0.2.5 +" +RDEPEND="${COMMON_DEPEND} +" +DEPEND="${COMMON_DEPEND} +" + +KEY2="${DISTDIR}/mono.snk" + +function output_filename() { + echo "Core/Source/Autofac/$(output_relpath)/Autofac.dll" +} + +src_prepare() { + dotnet_pkg_setup + sed -i '/MSBuildCommunityTasksPath/d' "${S}/default.proj" || die + emsbuild /p:AssemblyVersion=${PV} /t:UpdateVersion "${S}/default.proj" + eapply_user +} + +src_compile() { + emsbuild "/p:SignAssembly=true" "/p:PublicSign=true" "/p:AssemblyOriginatorKeyFile=${KEY2}" /p:VersionNumber=${PV} "Core/Source/Autofac/Autofac.csproj" + sn -R "$(output_filename)" "${KEY2}" || die +} + +src_install() { + egacinstall "$(output_filename)" + einstall_pc_file "${PN}" "${PV}" "Autofac" +} diff --git a/dev-dotnet/autofac/autofac-3.5.2.ebuild b/dev-dotnet/autofac/autofac-3.5.2.ebuild index f28ed99..13c847e 100644 --- a/dev-dotnet/autofac/autofac-3.5.2.ebuild +++ b/dev-dotnet/autofac/autofac-3.5.2.ebuild @@ -6,15 +6,18 @@ EAPI=6 SLOT="3" KEYWORDS="~amd64 ~ppc ~x86" + +DOTNET_FRAMEWORK="net45" USE_DOTNET="net45" -inherit gac dotnet +inherit msbuild gac mono-pkg-config NAME="Autofac" HOMEPAGE="https://github.com/Autofac/${NAME}" EGIT_COMMIT="c985cda5483dcd4d2fbc395a4001be12cc07ee84" -SRC_URI="${HOMEPAGE}/archive/${EGIT_COMMIT}.tar.gz -> ${PN}-${PV}.tar.gz" +SRC_URI="${HOMEPAGE}/archive/${EGIT_COMMIT}.tar.gz -> ${PN}-${PV}.tar.gz + https://github.com/mono/mono/raw/master/mcs/class/mono.snk" RESTRICT="mirror" S="${WORKDIR}/${NAME}-${EGIT_COMMIT}" @@ -31,22 +34,30 @@ RDEPEND="${COMMON_DEPEND} DEPEND="${COMMON_DEPEND} " +KEY2="${DISTDIR}/mono.snk" + +function output_filename() { + local DIR="" + if use debug; then + DIR="Debug" + else + DIR="Release" + fi + echo "Core/Source/Autofac/bin/${DIR}/Autofac.dll" +} + src_prepare() { eapply "${FILESDIR}/Autofac.csproj-3.5.2.patch" - eapply "${FILESDIR}/reflection-extension-3.5.2.patch" + #eapply "${FILESDIR}/reflection-extension-3.5.2.patch" eapply_user } src_compile() { - exbuild_strong /p:VersionNumber=${PV} "Core/Source/Autofac/Autofac.csproj" + emsbuild "/p:SignAssembly=true" "/p:PublicSign=true" "/p:AssemblyOriginatorKeyFile=${KEY2}" /p:VersionNumber=${PV} "Core/Source/Autofac/Autofac.csproj" + sn -R "$(output_filename)" "${KEY2}" || die } src_install() { - if use debug; then - DIR="Debug" - else - DIR="Release" - fi - egacinstall "Core/Source/Autofac/bin/${DIR}/Autofac.dll" + egacinstall "$(output_filename)" einstall_pc_file "${PN}" "${PV}" "Autofac" } diff --git a/dev-dotnet/dotnetzip-semverd/dotnetzip-semverd-1.9.3-r1.ebuild b/dev-dotnet/dotnetzip-semverd/dotnetzip-semverd-1.9.3-r1.ebuild deleted file mode 100644 index bde73f2..0000000 --- a/dev-dotnet/dotnetzip-semverd/dotnetzip-semverd-1.9.3-r1.ebuild +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=6 -SLOT="0" - -KEYWORDS="~amd64 ~ppc ~x86" -USE_DOTNET="net45" - -inherit gac dotnet - -SRC_URI="https://github.com/haf/DotNetZip.Semverd/archive/v1.9.3.tar.gz -> ${PV}.tar.gz" -RESTRICT="mirror" -S="${WORKDIR}/DotNetZip.Semverd-${PV}" - -HOMEPAGE="https://github.com/haf/DotNetZip.Semverd" -DESCRIPTION="create, extract, or update zip files with C# (=DotNetZip+SemVer)" -LICENSE="MS-PL" # https://github.com/haf/DotNetZip.Semverd/blob/master/LICENSE - -IUSE="net45 +gac +nupkg developer debug doc" - -COMMON_DEPEND=">=dev-lang/mono-4.0.2.5 -" -RDEPEND="${COMMON_DEPEND} -" -DEPEND="${COMMON_DEPEND} -" - -src_prepare() { - eapply "${FILESDIR}/version-${PV}.patch" - eapply_user -} - -src_compile() { - #exbuild "/p:SignAssembly=true" "/p:AssemblyOriginatorKeyFile=${S}/src/Ionic.snk" "src/Zip Reduced/Zip Reduced.csproj" - exbuild_strong "src/Zip Reduced/Zip Reduced.csproj" -} - -src_install() { - if use debug; then - DIR="Debug" - else - DIR="Release" - fi - egacinstall "src/Zip Reduced/bin/${DIR}/Ionic.Zip.Reduced.dll" - einstall_pc_file "${PN}" "${PV}" "Ionic.Zip.Reduced" -} diff --git a/dev-dotnet/dotnetzip-semverd/dotnetzip-semverd-1.9.3.ebuild b/dev-dotnet/dotnetzip-semverd/dotnetzip-semverd-1.9.3.ebuild deleted file mode 100644 index 83e23f6..0000000 --- a/dev-dotnet/dotnetzip-semverd/dotnetzip-semverd-1.9.3.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=6 -SLOT="0" - -KEYWORDS="~amd64 ~ppc ~x86" -USE_DOTNET="net45" - -inherit gac dotnet - -SRC_URI="https://github.com/haf/DotNetZip.Semverd/archive/v1.9.3.tar.gz -> ${PV}.tar.gz" -RESTRICT="mirror" -S="${WORKDIR}/DotNetZip.Semverd-${PV}" - -HOMEPAGE="https://github.com/haf/DotNetZip.Semverd" -DESCRIPTION="create, extract, or update zip files with C# (=DotNetZip+SemVer)" -LICENSE="MS-PL" # https://github.com/haf/DotNetZip.Semverd/blob/master/LICENSE - -IUSE="net45 +gac +nupkg developer debug doc" - -COMMON_DEPEND=">=dev-lang/mono-4.0.2.5 -" -RDEPEND="${COMMON_DEPEND} -" -DEPEND="${COMMON_DEPEND} -" - -src_prepare() { - eapply "${FILESDIR}/version-${PV}.patch" - eapply_user -} - -src_compile() { - #exbuild "/p:SignAssembly=true" "/p:AssemblyOriginatorKeyFile=${S}/src/Ionic.snk" "src/Zip Reduced/Zip Reduced.csproj" - exbuild_strong "src/Zip Reduced/Zip Reduced.csproj" -} - -src_install() { - if use debug; then - DIR="Debug" - else - DIR="Release" - fi - egacinstall "src/Zip Reduced/bin/${DIR}/Ionic.Zip.Reduced.dll" -} diff --git a/dev-dotnet/msbuildtasks/msbuildtasks-1.5.0.260_pre.ebuild b/dev-dotnet/msbuildtasks/msbuildtasks-1.5.0.260_pre.ebuild new file mode 100644 index 0000000..d541d23 --- /dev/null +++ b/dev-dotnet/msbuildtasks/msbuildtasks-1.5.0.260_pre.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +KEYWORDS="~amd64 ~ppc ~x86" +RESTRICT="mirror" + +SLOT="1" +if [ "${SLOT}" != "0" ]; then + APPENDIX="-${SLOT}" +fi + +USE_DOTNET="net45" + +inherit versionator dotnet msbuild + +IUSE="+${USE_DOTNET} +debug developer +msbuild +xbuild +symlink" + +HOMEPAGE="https://github.com/loresoft/msbuildtasks" +EGIT_COMMIT="abaab03d71fc07b020a860f6d407f6814cb0f6d5" +TARBALL_FILENAME="${PN}-$(get_version_component_range 1-4)" +TARBALL_EXT=".tar.gz" +SRC_URI="${HOMEPAGE}/archive/${EGIT_COMMIT}${TARBALL_EXT} -> ${TARBALL_FILENAME}${TARBALL_EXT} + https://github.com/mono/mono/raw/master/mcs/class/mono.snk" +GITHUB_REPONAME="msbuildtasks" +S="${WORKDIR}/${GITHUB_REPONAME}-${EGIT_COMMIT}" + +DESCRIPTION="The MSBuild Community Tasks Project is an open source project for MSBuild tasks." +LICENSE="BSD" # https://github.com/loresoft/msbuildtasks/blob/master/LICENSE + +COMMON_DEPEND=">=dev-lang/mono-4.0.2.5 + >=dev-dotnet/dotnetzip-semverd-1.9.3-r2 +" +RDEPEND="${COMMON_DEPEND} +" +DEPEND="${COMMON_DEPEND} +" + +KEY2="${DISTDIR}/mono.snk" + +function project_relpath ( ) { + echo "Source/MSBuild.Community.Tasks" +} + +function metafile_to_build ( ) { + echo "$(project_relpath)/MSBuild.Community.Tasks.csproj" +} + +function AssemblyName ( ) { + echo "MSBuild.Community.Tasks" +} + +function targets_filename ( ) { + echo "MSBuild.Community.Tasks.Targets" +} + +function deploy_dir ( ) { + echo "/usr/lib/mono/${EBUILD_FRAMEWORK}/MSBuild.Community.Tasks${APPENDIX}" +} + +src_prepare() { + dotnet_pkg_setup # in particular it calculates value of EBUILD_FRAMEWORK variable, which is used in install phase + eapply "${FILESDIR}/remove-sandcastle-task.patch" + eapply "${FILESDIR}/csproj.patch" + eapply "${FILESDIR}/location.patch" + sed -i "s?/usr/lib/mono/4.5?/usr/lib/mono/4.5/MSBuild.Community.Tasks${APPENDIX}?g" "${S}/$(project_relpath)/$(targets_filename)" || die + sed -i 's/Microsoft.Build.Framework/Microsoft.Build.Framework, Version=15.3.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756/g' "$(metafile_to_build)" || die + sed -i 's/Microsoft.Build.Utilities.v4.0/Microsoft.Build.Utilities.Core, Version=15.3.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756/g' "$(metafile_to_build)" || die + eapply_user +} + +src_compile() { + emsbuild "/p:SignAssembly=true" "/p:PublicSign=true" "/p:AssemblyOriginatorKeyFile=${KEY2}" "$(metafile_to_build)" + sn -R "$(project_relpath)/$(output_relpath)/$(AssemblyName).dll" "${KEY2}" || die +} + +src_install() { + insinto "$(deploy_dir)" + doins "$(project_relpath)/$(output_relpath)/$(AssemblyName).dll" + doins "$(project_relpath)/$(targets_filename)" + + if use msbuild && use symlink; then + dosym "$(deploy_dir)" "${EPREFIX}/usr/share/msbuild/MSBuildCommunityTasks" + fi + + if use xbuild && use symlink; then + dosym "$(deploy_dir)" "${EPREFIX}/usr/lib/mono/xbuild/MSBuildCommunityTasks" + fi +} diff --git a/eclass/dotnet.eclass b/eclass/dotnet.eclass index f4f30df..dd0c485 100644 --- a/eclass/dotnet.eclass +++ b/eclass/dotnet.eclass @@ -96,65 +96,16 @@ export XDG_CONFIG_HOME="${T}" unset MONO_AOT_CACHE -# @FUNCTION: exbuild_raw -# @DESCRIPTION: run xbuild with given parameters -exbuild_raw() { - elog """$@""" - xbuild "$@" || die -} - -# @FUNCTION: exbuild -# @DESCRIPTION: run xbuild with Release configuration and configurated FRAMEWORK -exbuild() { +# @FUNCTION: output_relpath +# @DESCRIPTION: returns default relative directory for Debug or Release configuration depending from USE="debug" +function output_relpath ( ) { + local DIR="" if use debug; then - CARGS=/p:Configuration=Debug - else - CARGS=/p:Configuration=Release - fi - - if use developer; then - SARGS=/p:DebugSymbols=True - else - SARGS=/p:DebugSymbols=False - fi - - if [[ -z ${TOOLS_VERSION} ]]; then - TOOLS_VERSION=4.0 - fi - - exbuild_raw "/v:detailed" "/tv:${TOOLS_VERSION}" "/p:TargetFrameworkVersion=v${FRAMEWORK}" "${CARGS}" "${SARGS}" "$@" -} - -# @FUNCTION: exbuild_strong -# @DESCRIPTION: run xbuild with default key signing -exbuild_strong() { - # http://stackoverflow.com/questions/7903321/only-sign-assemblies-with-strong-name-during-release-build - if use gac; then - if [[ -z ${SNK_FILENAME} ]]; then - # elog ${BASH_SOURCE} - SNK_FILENAME=/var/lib/layman/dotnet/eclass/mono.snk - # sn - Digitally sign/verify/compare strongnames on CLR assemblies. - # man sn = http://linux.die.net/man/1/sn - if [ -f ${SNK_FILENAME} ]; then - einfo "build through snk = ${SNK_FILENAME}" - KARGS1=/p:SignAssembly=true - KARGS2=/p:AssemblyOriginatorKeyFile=${SNK_FILENAME} - else - einfo "build through container" - KARGS1=/p:SignAssembly=true - KARGS2=/p:AssemblyKeyContainerName=mono - fi - else - einfo "build through given snk" - KARGS1=/p:SignAssembly=true - KARGS2=/p:AssemblyOriginatorKeyFile=${SNK_FILENAME} - fi + DIR="Debug" else - einfo "no strong signing" - KARGS1= - KARGS2= + DIR="Release" fi - exbuild "${KARGS1}" "${KARGS2}" "$@" + echo "bin/${DIR}" } # @FUNCTION: dotnet_multilib_comply diff --git a/eclass/mono-env.eclass b/eclass/mono-env.eclass index 1877359..d28e4cb 100644 --- a/eclass/mono-env.eclass +++ b/eclass/mono-env.eclass @@ -41,3 +41,5 @@ mono-env_pkg_setup() { _MONO_ENV=1 fi + +SANDBOX_WRITE="${SANDBOX_WRITE}:/etc/mono/registry/:/etc/mono/registry/last-btime" diff --git a/eclass/mono.snk b/eclass/mono.snk deleted file mode 100644 index 380116c..0000000 Binary files a/eclass/mono.snk and /dev/null differ diff --git a/eclass/msbuild.eclass b/eclass/msbuild.eclass index c935135..46da3fc 100644 --- a/eclass/msbuild.eclass +++ b/eclass/msbuild.eclass @@ -8,6 +8,8 @@ # @DESCRIPTION: # This is the new replacement for dotnet eclass +inherit dotnet + case ${EAPI:-0} in 0) die "this eclass doesn't support EAPI 0" ;; 1|2|3) ;; diff --git a/eclass/xbuild.eclass b/eclass/xbuild.eclass new file mode 100644 index 0000000..90a60c1 --- /dev/null +++ b/eclass/xbuild.eclass @@ -0,0 +1,81 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# @ECLASS: dotnet.eclass +# @MAINTAINER: cynede@gentoo.org +# @BLURB: common settings and functions for mono and dotnet related packages +# @DESCRIPTION: +# The dotnet eclass contains common environment settings that are useful for +# dotnet packages. Currently, it provides no functions, just exports +# MONO_SHARED_DIR and sets LC_ALL in order to prevent errors during compilation +# of dotnet packages. + +case ${EAPI:-0} in + 0) die "this eclass doesn't support EAPI 0" ;; + 1|2|3) ;; + *) ;; #if [[ ${USE_DOTNET} ]]; then REQUIRED_USE="|| (${USE_DOTNET})"; fi;; +esac + +inherit dotnet + +# @FUNCTION: exbuild_raw +# @DESCRIPTION: run xbuild with given parameters +exbuild_raw() { + elog """$@""" + xbuild "$@" || die +} + +# @FUNCTION: exbuild +# @DESCRIPTION: run xbuild with Release configuration and configurated FRAMEWORK +exbuild() { + if use debug; then + CARGS=/p:Configuration=Debug + else + CARGS=/p:Configuration=Release + fi + + if use developer; then + SARGS=/p:DebugSymbols=True + else + SARGS=/p:DebugSymbols=False + fi + + if [[ -z ${TOOLS_VERSION} ]]; then + TOOLS_VERSION=4.0 + fi + + exbuild_raw "/v:detailed" "/tv:${TOOLS_VERSION}" "/p:TargetFrameworkVersion=v${FRAMEWORK}" "${CARGS}" "${SARGS}" "$@" +} + +# @FUNCTION: exbuild_strong +# @DESCRIPTION: run xbuild with default key signing +exbuild_strong() { + # http://stackoverflow.com/questions/7903321/only-sign-assemblies-with-strong-name-during-release-build + if use gac; then + if [[ -z ${SNK_FILENAME} ]]; then + # elog ${BASH_SOURCE} + SNK_FILENAME=/var/lib/layman/dotnet/eclass/mono.snk + # sn - Digitally sign/verify/compare strongnames on CLR assemblies. + # man sn = http://linux.die.net/man/1/sn + if [ -f ${SNK_FILENAME} ]; then + einfo "build through snk = ${SNK_FILENAME}" + KARGS1=/p:SignAssembly=true + KARGS2=/p:AssemblyOriginatorKeyFile=${SNK_FILENAME} + else + einfo "build through container" + KARGS1=/p:SignAssembly=true + KARGS2=/p:AssemblyKeyContainerName=mono + fi + else + einfo "build through given snk" + KARGS1=/p:SignAssembly=true + KARGS2=/p:AssemblyOriginatorKeyFile=${SNK_FILENAME} + fi + else + einfo "no strong signing" + KARGS1= + KARGS2= + fi + exbuild "${KARGS1}" "${KARGS2}" "$@" +}