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