commit:     975824cde6ff903b49aafdd8a67ecfd1cded6a4e
Author:     ArsenShnurkov <Arsen.Shnurkov <AT> gmail <DOT> com>
AuthorDate: Tue Sep  6 15:10:31 2016 +0000
Commit:     Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org>
CommitDate: Tue Sep  6 15:10:31 2016 +0000
URL:        https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=975824cd

policy added

 dev-dotnet/system-web/files/policy.4.0.System.Web.config | 10 ++++++++++
 dev-dotnet/system-web/system-web-4.6.0.150.ebuild        | 14 +++++++++++---
 2 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/dev-dotnet/system-web/files/policy.4.0.System.Web.config 
b/dev-dotnet/system-web/files/policy.4.0.System.Web.config
new file mode 100644
index 0000000..8788fe9
--- /dev/null
+++ b/dev-dotnet/system-web/files/policy.4.0.System.Web.config
@@ -0,0 +1,10 @@
+<configuration>
+  <runtime>
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <dependentAssembly>
+        <assemblyIdentity name="System.Web" culture="neutral" 
publicKeyToken="b03f5f7f11d50a3a" />
+        <bindingRedirect oldVersion="4.0.0.0" newVersion="4.6.0.150" />
+      </dependentAssembly>
+    </assemblyBinding>
+  </runtime>
+</configuration>

diff --git a/dev-dotnet/system-web/system-web-4.6.0.150.ebuild 
b/dev-dotnet/system-web/system-web-4.6.0.150.ebuild
index c33e70f..c7bcc87 100644
--- a/dev-dotnet/system-web/system-web-4.6.0.150.ebuild
+++ b/dev-dotnet/system-web/system-web-4.6.0.150.ebuild
@@ -5,7 +5,7 @@
 EAPI=6
 
 USE_DOTNET="net45"
-inherit gac nupkg
+inherit gac dotnet
 IUSE+=" +net45 debug"
 
 DESCRIPTION="assembly that lets you dynamically register HTTP modules at run 
time"
@@ -36,6 +36,7 @@ src_prepare()
 {
        gunzip --decompress --stdout "${FILESDIR}/${CSPROJ}.gz" 
>"${S}/mcs/class/${NAME}/${CSPROJ}" || die
        sed -i 's/public const string FxVersion = "4.0.0.0";/public const 
string FxVersion = "'${PV}'";/g' "${S}/mcs/build/common/Consts.cs" || die
+       cp "${FILESDIR}/policy.4.0.System.Web.config" 
"${S}/policy.4.0.System.Web.config" || die
        eapply_user
 }
 
@@ -44,14 +45,21 @@ src_configure()
        :;
 }
 
+KEYFILE1=${S}/mcs/class/msfinal.pub
+KEYFILE2=${S}/mcs/class/mono.snk
+
 src_compile()
 {
-       exbuild "${S}/mcs/class/${NAME}/${CSPROJ}"
-       sn -R "${S}/mcs/class/${NAME}/${NAME}.dll" "${S}/mcs/class/mono.snk" || 
die
+       #exbuild "${S}/mcs/class/${NAME}/${CSPROJ}"
+       exbuild /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=${KEYFILE1} 
/p:DelaySign=true "${S}/mcs/class/${NAME}/${CSPROJ}"
+       sn -R "${S}/mcs/class/${NAME}/${NAME}.dll" ${KEYFILE2} || die
+       al "/link:${S}/policy.4.0.System.Web.config" 
"/out:${S}/policy.4.0.System.Web.dll" "/keyfile:${KEYFILE1}" /delaysign+ || die
+       sn -R "${S}/policy.4.0.System.Web.dll" ${KEYFILE2} || die
 }
 
 src_install()
 {
        # installation to GAC will cause file collision with mono package
        egacinstall "${S}/mcs/class/${NAME}/${NAME}.dll"
+       egacinstall "${S}/policy.4.0.System.Web.dll"
 }

Reply via email to