public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/dotnet:master commit in: dev-dotnet/system-web/files/, dev-dotnet/system-web/
@ 2016-09-30  8:45 Mikhail Pukhlikov
  0 siblings, 0 replies; 2+ messages in thread
From: Mikhail Pukhlikov @ 2016-09-30  8:45 UTC (permalink / raw
  To: gentoo-commits

commit:     a5cc83c1a83841b8a54e9501a12df6a04f73252b
Author:     ArsenShnurkov <Arsen.Shnurkov <AT> gmail <DOT> com>
AuthorDate: Tue Sep 27 07:28:49 2016 +0000
Commit:     Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org>
CommitDate: Tue Sep 27 07:28:49 2016 +0000
URL:        https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=a5cc83c1

patch for AutoFac

 dev-dotnet/system-web/files/autofac.patch          |  24 +++++
 .../system-web/system-web-4.6.0.182-r1.ebuild      | 108 +++++++++++++++++++++
 2 files changed, 132 insertions(+)

diff --git a/dev-dotnet/system-web/files/autofac.patch b/dev-dotnet/system-web/files/autofac.patch
new file mode 100644
index 0000000..1983c1d
--- /dev/null
+++ b/dev-dotnet/system-web/files/autofac.patch
@@ -0,0 +1,24 @@
+--- a/mcs/class/System.Web/System.Web.Hosting/HostingEnvironment.cs
++++ b/mcs/class/System.Web/System.Web.Hosting/HostingEnvironment.cs
+@@ -156,9 +156,18 @@
+ 			
+ 			HttpContext context = HttpContext.Current;
+ 			HttpRequest req = context == null ? null : context.Request;
+-			if (req == null)
+-				return null;
+-
++			if (req == null) // ADDED for Orchard
++			{
++				var pp =  HostingEnvironment.ApplicationPhysicalPath;
++				String vp=virtualPath;
++				if (vp.IndexOf("~/") == 0)
++				{
++					vp = pp + virtualPath.Substring(2);
++				}
++				// TODO: if not "~/" ???? then what?
++				return vp;
++			} // END added for Orchard
++		        else
+ 			return req.MapPath (virtualPath);
+ 		}
+ 

diff --git a/dev-dotnet/system-web/system-web-4.6.0.182-r1.ebuild b/dev-dotnet/system-web/system-web-4.6.0.182-r1.ebuild
new file mode 100644
index 0000000..4bf29d9
--- /dev/null
+++ b/dev-dotnet/system-web/system-web-4.6.0.182-r1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+USE_DOTNET="net45"
+inherit gac dotnet
+IUSE+=" +net45 +pkg-config debug"
+
+DESCRIPTION="Framework for developing web-applications"
+HOMEPAGE="https://www.asp.net/"
+SRC_URI="https://github.com/ArsenShnurkov/shnurise-tarballs/archive/dev-dotnet/system-web/system-web-4.6.0.182.tar.gz"
+RESTRICT="mirror"
+S="${WORKDIR}/shnurise-tarballs-${CATEGORY}-${PN}-${PN}-${PV}"
+
+NAME=System.Web
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+
+# dependency on mono is included in dotnet.eclass which is inherited with nupkg.eclass (so no need to include >=dev-lang/mono-4.0.2.5 here)
+# dependency on nuget is included in nupkg.eclass when USE="nupkg" is set
+COMMONDEPEND="
+"
+RDEPEND="${COMMONDEPEND}
+"
+DEPEND="${COMMONDEPEND}
+"
+
+CSPROJ=${NAME}.csproj
+
+src_prepare()
+{
+	sed -i 's/public const string FxVersion = "4.0.0.0";/public const string FxVersion = "'${PV}'";/g' "${S}/mcs/build/common/Consts.cs" || die
+	sed "s/4.6.0.150/4.6.0.182/g" "${FILESDIR}/policy.4.0.System.Web.config" > "${S}/policy.4.0.System.Web.config" || die
+	eapply "${FILESDIR}/add-system-diagnostics-namespace.patch"
+	eapply "${FILESDIR}/autofac.patch"
+	eapply_user
+}
+
+src_configure()
+{
+	:;
+}
+
+KEYFILE1=${S}/mcs/class/msfinal.pub
+KEYFILE2=${S}/mcs/class/mono.snk
+
+src_compile()
+{
+	# System.Web.dll
+	exbuild /p:SignAssembly=true /p:AssemblyOriginatorKeyFile=${KEYFILE1} /p:DelaySign=true "${S}/mcs/class/${NAME}/${CSPROJ}"
+	if use debug; then
+		DIR="Debug"
+	else
+		DIR="Release"
+	fi
+	sn -R "${S}/mcs/class/${NAME}/obj/${DIR}/${NAME}.dll" ${KEYFILE2} || die
+
+	# Policy file
+	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()
+{
+	if use debug; then
+		DIR="Debug"
+	else
+		DIR="Release"
+	fi
+	egacinstall "${S}/mcs/class/${NAME}/obj/${DIR}/${NAME}.dll"
+	egacinstall "${S}/policy.4.0.System.Web.dll"
+	install_pc_file "${PN}" "${NAME}.dll"
+}
+
+# The file format contains predefined metadata keywords and freeform variables (like ${prefix} and ${exec_prefix})
+# $1 = ${PN}
+# $2 = myassembly.dll
+install_pc_file()
+{
+	if use pkg-config; then
+		dodir /usr/$(get_libdir)/pkgconfig
+		ebegin "Installing ${PC_FILE_NAME}.pc file"
+		sed \
+			-e "s:@LIBDIR@:$(get_libdir):" \
+			-e "s:@PACKAGENAME@:$1:" \
+			-e "s:@DESCRIPTION@:${DESCRIPTION}:" \
+			-e "s:@VERSION@:${PV}:" \
+			-e 's*@LIBS@*-r:${libdir}'"/mono/$1/$2"'*' \
+			<<-EOF >"${D}/usr/$(get_libdir)/pkgconfig/$1.pc" || die
+				prefix=\${pcfiledir}/../..
+				exec_prefix=\${prefix}
+				libdir=\${exec_prefix}/@LIBDIR@
+				Name: @PACKAGENAME@
+				Description: @DESCRIPTION@
+				Version: @VERSION@
+				Libs: @LIBS@
+			EOF
+
+		einfo PKG_CONFIG_PATH="${D}/usr/$(get_libdir)/pkgconfig/" pkg-config --exists "$1"
+		PKG_CONFIG_PATH="${D}/usr/$(get_libdir)/pkgconfig/" pkg-config --exists "$1" || die ".pc file failed to validate."
+		eend $?
+	fi
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread
* [gentoo-commits] proj/dotnet:master commit in: dev-dotnet/system-web/files/, dev-dotnet/system-web/
@ 2016-09-07  6:13 Mikhail Pukhlikov
  0 siblings, 0 replies; 2+ messages in thread
From: Mikhail Pukhlikov @ 2016-09-07  6:13 UTC (permalink / raw
  To: gentoo-commits

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"
 }


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-09-30  8:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-30  8:45 [gentoo-commits] proj/dotnet:master commit in: dev-dotnet/system-web/files/, dev-dotnet/system-web/ Mikhail Pukhlikov
  -- strict thread matches above, loose matches on Subject: below --
2016-09-07  6:13 Mikhail Pukhlikov

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