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
