public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/dotnet:master commit in: dev-dotnet/autofac/, dev-dotnet/autofac-configuration/, eclass/, ...
@ 2018-01-23  6:42 Mikhail Pukhlikov
  0 siblings, 0 replies; only message in thread
From: Mikhail Pukhlikov @ 2018-01-23  6:42 UTC (permalink / raw
  To: gentoo-commits

commit:     e3638e9a810dd2c86f07841c940efe7a95753ad3
Author:     ArsenShnurkov <ArsenShnurkov <AT> users <DOT> noreply <DOT> github <DOT> com>
AuthorDate: Wed Jan 10 20:41:45 2018 +0000
Commit:     Mikhail Pukhlikov <cynede <AT> gentoo <DOT> 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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="project">
+		<email>dotnet@gentoo.org</email>
+		<description>Gentoo Dotnet Project</description>
+	</maintainer>
+</pkgmetadata>

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}" "$@"
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2018-01-23  6:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-23  6:42 [gentoo-commits] proj/dotnet:master commit in: dev-dotnet/autofac/, dev-dotnet/autofac-configuration/, eclass/, Mikhail Pukhlikov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox