commit:     b8d6e89bd4612b874b2e7d679b5b5cf09880f157
Author:     layman <layman <AT> localhost>
AuthorDate: Sun Mar 22 22:42:32 2015 +0000
Commit:     Heather Cynede <cynede <AT> gentoo <DOT> org>
CommitDate: Sun Mar 22 22:42:32 2015 +0000
URL:        https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=b8d6e89b

patch for missing asp .net mvc properties

 dev-lang/mono/files/systemweb.patch | 108 +++++++++++++++++++++++++++++++++
 dev-lang/mono/mono-9999-r1.ebuild   | 115 ++++++++++++++++++++++++++++++++++++
 2 files changed, 223 insertions(+)

diff --git a/dev-lang/mono/files/systemweb.patch 
b/dev-lang/mono/files/systemweb.patch
new file mode 100644
index 0000000..b591ceb
--- /dev/null
+++ b/dev-lang/mono/files/systemweb.patch
@@ -0,0 +1,108 @@
+From 65bd3eea445ee926e85050c848027bb341a1b2dc Mon Sep 17 00:00:00 2001
+From: Chris F Carroll <[email protected]>
+Date: Mon, 20 Jan 2014 21:39:12 +0000
+Subject: [PATCH] Added missing properties for net 4.5:
+ System.Web.RouteCollection.AppendTrailingSlash and .LowercaseUrl, and
+ RouteBase.RouteExistingFiles
+
+---
+ .../System.Web.Routing/RouteBase.cs                |  3 +++
+ .../System.Web.Routing/RouteCollection.cs          |  4 ++++
+ .../Test/System.Web.Routing/RouteCollectionTest.cs | 22 +++++++++++++++++++++-
+ .../Test/System.Web.Routing/RouteTest.cs           | 12 ++++++++++++
+ 4 files changed, 40 insertions(+), 1 deletion(-)
+
+diff --git a/mcs/class/System.Web.Routing/System.Web.Routing/RouteBase.cs 
b/mcs/class/System.Web.Routing/System.Web.Routing/RouteBase.cs
+index 077f987..eadc047 100644
+--- a/mcs/class/System.Web.Routing/System.Web.Routing/RouteBase.cs
++++ b/mcs/class/System.Web.Routing/System.Web.Routing/RouteBase.cs
+@@ -41,6 +41,9 @@ namespace System.Web.Routing
+       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = 
AspNetHostingPermissionLevel.Minimal)]
+       public abstract class RouteBase
+       {
++#if NET_4_5
++              public bool RouteExistingFiles { get; set; }
++#endif
+               public abstract RouteData GetRouteData (HttpContextBase 
httpContext);
+               public abstract VirtualPathData GetVirtualPath (RequestContext 
requestContext, RouteValueDictionary values);
+       }
+diff --git 
a/mcs/class/System.Web.Routing/System.Web.Routing/RouteCollection.cs 
b/mcs/class/System.Web.Routing/System.Web.Routing/RouteCollection.cs
+index 7993e44..4a2f1cf 100644
+--- a/mcs/class/System.Web.Routing/System.Web.Routing/RouteCollection.cs
++++ b/mcs/class/System.Web.Routing/System.Web.Routing/RouteCollection.cs
+@@ -95,6 +95,10 @@ namespace System.Web.Routing
+               }
+ 
+               public bool RouteExistingFiles { get; set; }
++#if NET_4_5
++              public bool AppendTrailingSlash { get; set; }
++              public bool LowercaseUrls { get; set; }
++#endif
+ 
+               public void Add (string name, RouteBase item)
+               {
+diff --git 
a/mcs/class/System.Web.Routing/Test/System.Web.Routing/RouteCollectionTest.cs 
b/mcs/class/System.Web.Routing/Test/System.Web.Routing/RouteCollectionTest.cs
+index 18b52ea..cd1a12f 100644
+--- 
a/mcs/class/System.Web.Routing/Test/System.Web.Routing/RouteCollectionTest.cs
++++ 
b/mcs/class/System.Web.Routing/Test/System.Web.Routing/RouteCollectionTest.cs
+@@ -595,7 +595,6 @@ namespace MonoTests.System.Web.Routing
+               }
+ 
+               [Test]
+-              [Ignore ("looks like RouteExistingFiles ( = false) does not 
affect... so this test needs more investigation")]
+               public void GetVirtualPathToExistingFile ()
+               {
+                       var c = new RouteCollection ();
+@@ -926,6 +925,27 @@ namespace MonoTests.System.Web.Routing
+                       Assert.AreEqual (typeof (PageRouteHandler), 
rd.RouteHandler.GetType (), "#A4-3");
+                       Assert.IsFalse (((PageRouteHandler) 
rd.RouteHandler).CheckPhysicalUrlAccess, "#A4-4");
+               }
++
++#if NET_4_5
++              [Test]
++              public void AppendTrailingSlash ()
++              {
++                      var c = new RouteCollection ();
++                      c.AppendTrailingSlash = true;
++                      Assert.IsTrue (c.AppendTrailingSlash);
++                      c.AppendTrailingSlash = false;
++                      Assert.IsFalse (c.AppendTrailingSlash);
++              }
++              [Test]
++              public void LowercaseUrls ()
++              {
++                      var c = new RouteCollection ();
++                      c.LowercaseUrls = true;
++                      Assert.IsTrue (c.LowercaseUrls);
++                      c.LowercaseUrls = false;
++                      Assert.IsFalse (c.LowercaseUrls);
++              }
++#endif
+ #endif
+       }
+ }
+diff --git a/mcs/class/System.Web.Routing/Test/System.Web.Routing/RouteTest.cs 
b/mcs/class/System.Web.Routing/Test/System.Web.Routing/RouteTest.cs
+index e431177..f7a5988 100644
+--- a/mcs/class/System.Web.Routing/Test/System.Web.Routing/RouteTest.cs
++++ b/mcs/class/System.Web.Routing/Test/System.Web.Routing/RouteTest.cs
+@@ -1775,5 +1775,17 @@ namespace MonoTests.System.Web.Routing
+                               "#6"
+                       );
+               }
++
++#if NET_4_5
++              [Test]
++              public void RouteExistingFiles ()
++              {
++                      var route = new Route ("foo", null);
++                      route.RouteExistingFiles = true;
++                      Assert.IsTrue (route.RouteExistingFiles);
++                      route.RouteExistingFiles = false;
++                      Assert.IsFalse (route.RouteExistingFiles);
++              }
++#endif
+       }
+ }
+-- 
+2.0.5
+

diff --git a/dev-lang/mono/mono-9999-r1.ebuild 
b/dev-lang/mono/mono-9999-r1.ebuild
new file mode 100644
index 0000000..ee8d8bc
--- /dev/null
+++ b/dev-lang/mono/mono-9999-r1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/mono-3.0.11.ebuild $
+
+EAPI="5"
+AUTOTOOLS_PRUNE_LIBTOOL_FILES="all"
+
+inherit linux-info mono-env flag-o-matic pax-utils autotools-utils git-2
+
+DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
+HOMEPAGE="http://www.mono-project.com/Main_Page";
+
+EGIT_REPO_URI="git://github.com/mono/${PN}.git"
+EGIT_HAS_SUBMODULES="true"
+
+LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception 
IDPL"
+SLOT="0"
+KEYWORDS=""
+IUSE="minimal pax_kernel xen doc"
+
+COMMONDEPEND="
+       !minimal? ( >=dev-dotnet/libgdiplus-2.10 )
+       ia64? ( sys-libs/libunwind )
+"
+RDEPEND="${COMMONDEPEND}
+       || ( www-client/links www-client/lynx )
+"
+DEPEND="${COMMONDEPEND}
+       sys-devel/bc
+       virtual/yacc
+       pax_kernel? ( sys-apps/elfix )
+"
+
+pkg_pretend() {
+       # If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang 
while compiling.
+       # See http://bugs.gentoo.org/261869 for more info."
+       CONFIG_CHECK="SYSVIPC"
+       use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+       linux-info_pkg_setup
+       mono-env_pkg_setup
+}
+
+src_prepare() {
+       epatch "${FILESDIR}/systemweb.patch"
+       cat "${S}/mono/mini/Makefile.am.in" > "${S}/mono/mini/Makefile.am" || 
die
+
+       eautoreconf
+       # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so 
it don't
+       # get killed in the build proces when MPROTEC is enable. #286280
+       # RANDMMAP kill the build proces to #347365
+       if use pax_kernel ; then
+               ewarn "We are disabling MPROTECT on the mono binary."
+               sed '/exec/ i\paxctl-ng -mr "$r/@mono_runtime@"' -i 
"${S}"/runtime/mono-wrapper.in
+       fi
+
+       # mono build system can fail otherwise
+       strip-flags
+
+       # Remove this at your own peril. Mono will barf in unexpected ways.
+       append-flags -fno-strict-aliasing
+
+       autotools-utils_src_prepare
+}
+
+src_configure() {
+       # NOTE: We need the static libs for now so mono-debugger works.
+       # See http://bugs.gentoo.org/show_bug.cgi?id=256264 for details
+       #
+       # --without-moonlight since www-plugins/moonlight is not the only one
+       # using mono: https://bugzilla.novell.com/show_bug.cgi?id=641005#c3
+       #
+       # --with-profile4 needs to be always enabled since it's used by default
+       # and, otherwise, problems like bug #340641 appear.
+       #
+       # sgen fails on ppc, bug #359515
+       local myeconfargs=(
+               --enable-system-aot=yes
+               --enable-static
+               --disable-quiet-build
+               --without-moonlight
+               --with-libgdiplus=$(use minimal && printf "no" || printf 
"installed" )
+               $(use_with xen xen_opt)
+               --without-ikvm-native
+               --with-jit
+               --disable-dtrace
+               --with-profile4
+               --with-sgen=$(use ppc && printf "no" || printf "yes" )
+               $(use_with doc mcs-docs)
+       )
+
+       autotools-utils_src_configure
+}
+
+src_make() {
+       # Doesn't require previous mono to be installed
+       emake get-monolite-latest
+       emake EXTERNAL_MCS=${PWD}/mcs/class/lib/monolite/gmcs.exe "$@" || die 
"emake failed"
+}
+
+src_test() {
+       emake check || die "tests fails"
+}
+
+src_install() {
+       autotools-utils_src_install
+
+       # Remove files not respecting LDFLAGS and that we are not supposed to 
provide, see Fedora
+       # mono.spec and 
http://www.mail-archive.com/[email protected]/msg24870.html
+       # for reference.
+       rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so
+       rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so
+}

Reply via email to