commit:     80a57ce6b31d8f1079144f6b97dc6a6e4de18868
Author:     ArsenShnurkov <Arsen.Shnurkov <AT> gmail <DOT> com>
AuthorDate: Wed Dec 30 15:55:18 2015 +0000
Commit:     Heather Cynede <cynede <AT> gentoo <DOT> org>
CommitDate: Wed Dec 30 15:55:18 2015 +0000
URL:        https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=80a57ce6

compile only one project instead of sln

 dev-dotnet/dryioc/dryioc-2.1.0-r201512110.ebuild | 37 ++++++++++---------
 dev-dotnet/dryioc/files/DryIoc.csproj.patch      | 26 ++++++++++++++
 dev-dotnet/dryioc/files/DryIoc.nuspec            | 46 ++++++++++++++++++++++++
 3 files changed, 93 insertions(+), 16 deletions(-)

diff --git a/dev-dotnet/dryioc/dryioc-2.1.0-r201512110.ebuild 
b/dev-dotnet/dryioc/dryioc-2.1.0-r201512110.ebuild
index f87a4b5..7e1b2ff 100644
--- a/dev-dotnet/dryioc/dryioc-2.1.0-r201512110.ebuild
+++ b/dev-dotnet/dryioc/dryioc-2.1.0-r201512110.ebuild
@@ -2,13 +2,12 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-# 2015-11-17, portage-2.2.25 has been committed and it comes with complete 
EAPI 6 support
-# 
https://archives.gentoo.org/gentoo-dev/message/73cc181e4949b88abfbd68f8a8ca9254
-# EAPI=6
+EAPI=6
 # !!! Unable to do any operations on 'dev-dotnet/dryioc-2.1.0-r201512110',
 # !!! since its EAPI is higher than this portage version's. Please upgrade
 # !!! to a portage version that supports EAPI '6'.
-EAPI=5
+# 2015-11-17, portage-2.2.25 has been committed and it comes with complete 
EAPI 6 support
+# 
https://archives.gentoo.org/gentoo-dev/message/73cc181e4949b88abfbd68f8a8ca9254
 
 inherit versionator vcs-snapshot dotnet nupkg
 
@@ -39,8 +38,8 @@ DEPEND="${COMMON_DEPEND}
        virtual/pkgconfig
 "
 
-NAME="DryIoc"
-REPOSITORY_NAME="dadhi/DryIoc"
+NAME=DryIoc
+REPOSITORY_NAME="dadhi/dryioc"
 REPOSITORY_URL="https://bitbucket.org/dadhi/dryioc";
 EHG_REVISION="9f1954dd921acc432c22f1feff108c4d7ff87ffd"
 HG_COMMIT="${EHG_REVISION:0:8}"
@@ -49,8 +48,9 @@ HG_COMMIT="${EHG_REVISION:0:8}"
 SRC_URI="${REPOSITORY_URL}/get/${HG_COMMIT}.tar.gz -> ${PF}.tar.gz
        mirror://gentoo/mono.snk.bz2"
 
-METAFILETOBUILD="DryIoc.sln"
-NUSPEC_FILE_NAME=NuGet/DryIocZero.nuspec
+#METAFILETOBUILD="DryIoc.sln"
+METAFILETOBUILD="DryIoc/DryIoc.csproj"
+NUSPEC_FILE_NAME=DryIoc.nuspec
 
 # get_version_component_range is from inherit versionator
 # PR   Package revision, or r0 if no revision exists.
@@ -58,18 +58,22 @@ NUSPEC_VERSION=$(get_version_component_range 
1-3)"${PR//r/.}"
 ICON_URL="https://bitbucket.org/account/dadhi/avatar/256/?ts=1451481107";
 
 # rm -rf /var/tmp/portage/dev-dotnet/dryioc-*
-# emerge =dryioc-2.1.0-r201512110
+# emerge -v =dryioc-2.1.0-r201512110
 # leafpad /var/tmp/portage/dev-dotnet/dryioc-2.1.0-r201512110/temp/build.log &
 
+S=${WORKDIR}/dadhi-dryioc-${EHG_REVISION:0:12}
+
 src_unpack()
 {
        default
-       rm ${S}/src/.nuget/NuGet.exe || die
+       rm ${S}/.nuget/NuGet.exe || die
 }
 
 src_prepare() {
-       # 
/var/tmp/portage/dev-dotnet/deveel-math-1.5.66-r201512290/work/deveel-math-portage-packaging
+       default
+       # 
/var/tmp/portage/dev-dotnet/dryioc-2.1.0-r201512110/work/dadhi-dryioc-9f1954dd921a
        einfo "patching project files"
+       eapply "${FILESDIR}/DryIoc.csproj.patch"
        if ! use test ; then
                einfo "removing unit tests from solution"
        fi
@@ -77,6 +81,7 @@ src_prepare() {
        einfo "restoring packages (NUnit)"
        enuget_restore "${METAFILETOBUILD}"
 
+       cp "${FILESDIR}/${NUSPEC_FILE_NAME}" "${S}/${NUSPEC_FILE_NAME}" || die
        patch_nuspec_file "${S}/${NUSPEC_FILE_NAME}"
 }
 
@@ -97,9 +102,9 @@ src_test() {
 }
 
 src_install() {
-       enupkg "${WORKDIR}/dmath.${NUSPEC_VERSION}.nupkg"
+       enupkg "${WORKDIR}/${NAME}.${NUSPEC_VERSION}.nupkg"
 
-       egacinstall "src/Deveel.Math/bin/${DIR}/DryIoc.dll"
+       egacinstall "bin/${DIR}/DryIoc.dll"
 
        install_pc_file
 }
@@ -111,8 +116,8 @@ patch_nuspec_file()
                        DIR="Debug"
 FILES_STRING=`cat <<-EOF || die "${DIR} files at patch_nuspec_file()"
        <files> <!-- https://docs.nuget.org/create/nuspec-reference -->
-               <file src="src/Deveel.Math/bin/${DIR}/DryIoc.dll" 
target="lib\net45\" />
-               <file src="src/Deveel.Math/bin/${DIR}/DryIoc.dll.mdb" 
target="lib\net45\" />
+               <file src="bin/${DIR}/DryIoc.dll" target="lib\net45\" />
+               <file src="bin/${DIR}/DryIoc.dll.mdb" target="lib\net45\" />
        </files>
 EOF
 `
@@ -120,7 +125,7 @@ EOF
                DIR="Release"
 FILES_STRING=`cat <<-EOF || die "${DIR} files at patch_nuspec_file()"
        <files> <!-- https://docs.nuget.org/create/nuspec-reference -->
-               <file src="src/Deveel.Math/bin/${DIR}/DryIoc.dll" 
target="lib\net45\" />
+               <file src="bin/${DIR}/DryIoc.dll" target="lib\net45\" />
        </files>
 EOF
 `

diff --git a/dev-dotnet/dryioc/files/DryIoc.csproj.patch 
b/dev-dotnet/dryioc/files/DryIoc.csproj.patch
new file mode 100644
index 0000000..c651ac7
--- /dev/null
+++ b/dev-dotnet/dryioc/files/DryIoc.csproj.patch
@@ -0,0 +1,26 @@
+--- a/DryIoc/DryIoc.csproj     2015-12-11 17:54:55.000000000 +0300
++++ b/DryIoc/DryIoc.csproj     2015-12-30 18:22:23.000000000 +0300
+@@ -10,7 +10,7 @@
+     <AppDesignerFolder>Properties</AppDesignerFolder>
+     <RootNamespace>DryIoc</RootNamespace>
+     <AssemblyName>DryIoc</AssemblyName>
+-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
++    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+     <FileAlignment>512</FileAlignment>
+   </PropertyGroup>
+   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' 
">
+@@ -34,14 +34,8 @@
+     <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+   </PropertyGroup>
+   <ItemGroup>
+-    <Reference Include="System" />
+-    <Reference Include="System.Core" />
+-  </ItemGroup>
+-  <ItemGroup>
+     <Compile Include="Container.cs" />
+     <Compile Include="FactoryCompiler.cs" />
+-    <Compile Include="Ported-net40.cs" />
+-    <Compile Include="Ported-net45.cs" />
+     <Compile Include="Properties\AssemblyInfo.cs" />
+   </ItemGroup>
+   <ItemGroup />

diff --git a/dev-dotnet/dryioc/files/DryIoc.nuspec 
b/dev-dotnet/dryioc/files/DryIoc.nuspec
new file mode 100644
index 0000000..8db017c
--- /dev/null
+++ b/dev-dotnet/dryioc/files/DryIoc.nuspec
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd";>
+    <metadata>
+        <id>DryIoc</id>
+        <version>$version$</version>
+        <authors>Maksim Volkau</authors>
+        <copyright>Copyright © 2013 Maksim Volkau</copyright>
+        <projectUrl>https://bitbucket.org/dadhi/dryioc</projectUrl>
+        <licenseUrl>http://opensource.org/licenses/MIT</licenseUrl>
+        <iconUrl>$package_iconUrl$</iconUrl>
+        <requireLicenseAcceptance>false</requireLicenseAcceptance>
+        <description>DryIoc is fast, small, full-featured IoC Container for 
.NET</description>
+        <tags>IoC Container Inversion-of-Control DI Dependency-Injection DRY 
Service-Provider Factory</tags>
+        <releaseNotes>
+          v2.1.0
+          - added: #205: Add customizable IfAlreadyRegistered default value 
per container
+          - added: #204: Add ResolveMany of objects wout need to specify 
ResolveMany{Object}
+          - fixed: #203: RegisterMany should exclude ValueType and general 
purpose service types IEquatable, IComparable
+          v2.0.2
+          - fixed: #201: Mutithreading issue when RegisterInstance() is used 
within OpenScope()
+          v2.0.1
+          - fixed: #200 Multiple instances for Singleton created when 
Container is shared among multiple threads
+          v2.0.0
+          - Support for PCL 328 and 259 profiles, and .NET Core via dotnet 
moniker.
+          - More consistent and complete API surface.
+          - Diagnostics of potential resolution problems with 
`container.VerifyResolutions()`.
+          - Improved registration and first resolution time.
+          - Support of really large object graphs.
+          - Possibility of compile-time factory delegate generation. Utilized 
by DryIocZero.
+          - Ambient current scope and `Reuse.InWebRequest` for ASP.NET 
integration.
+          - Support for static and instance factory methods in addition to 
constructor, including support for method parameters injection.
+          - Powerful open-generics support including variance, constraints, 
open-generic factory methods in open-generic classes.
+          - Service key of arbitrary type. The only requirement for key type 
is to implement `GetHashCode` and `Equals`.
+          - Resolve as `KeyValuePair` to get service key with service object.
+          - Register with condition for resolution.
+          - Required service type support: e.g. `var serviceObjects = 
c.Resolve{object[]}(typeof(Service));`.
+          - Optional parameters support.
+          - Fine-grained control over injection of parameters, properties, and 
fields.
+          - Injection of primitive values.
+          - Control how reused service is stored and disposed via 
`weaklyReferenced` and `preventDisposal` setups.
+          - Resolve service collection as `IList{T}`, `ICollection{T}`, 
`IReadOnlyList{T}`, `IReadOnlyCollection{T}`.
+          - Register once, existing registration update, unregister.
+          - removed: Compilation to DynamicAssembly. DryIoc is fast enough 
without its complexity.
+        </releaseNotes>
+    </metadata>
+</package>
\ No newline at end of file

Reply via email to