summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeather Cynede <cynede@gentoo.org>2016-04-06 13:37:32 +0400
committerHeather Cynede <cynede@gentoo.org>2016-04-06 13:39:12 +0400
commit01db1fd33d509b11a3063208e78976f505c4c5b0 (patch)
treeaaae04f654de331845fadb5d0bf4d91245699d92 /dev-lang/mono/files
parentgnome-extra/gnome-commander: version bump to 1.4.8 (diff)
downloadgentoo-01db1fd33d509b11a3063208e78976f505c4c5b0.tar.gz
gentoo-01db1fd33d509b11a3063208e78976f505c4c5b0.tar.bz2
gentoo-01db1fd33d509b11a3063208e78976f505c4c5b0.zip
dev-lang/mono: bump to 4.4.0.40
Package-Manager: portage-2.2.28
Diffstat (limited to 'dev-lang/mono/files')
-rw-r--r--dev-lang/mono/files/files/add_missing_vb_portable_targets.patch20
-rw-r--r--dev-lang/mono/files/files/fix-for-GitExtensions-issue-2710-another-resolution.patch48
-rw-r--r--dev-lang/mono/files/files/fix-for-GitExtensions-issue-2710.patch28
-rw-r--r--dev-lang/mono/files/files/fix-for-bug36724.patch13
-rw-r--r--dev-lang/mono/files/files/mono-3.2.1-mdoc-fix.patch12
-rw-r--r--dev-lang/mono/files/files/mono-4.0.2.5-fix-decimal-ms-on-big-endian.patch22
-rw-r--r--dev-lang/mono/files/files/mono-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.patch15
-rw-r--r--dev-lang/mono/files/files/mono-4.0.2.5-fix-ppc-atomic-add-i4.patch79
-rw-r--r--dev-lang/mono/files/files/systemweb3.patch22
9 files changed, 259 insertions, 0 deletions
diff --git a/dev-lang/mono/files/files/add_missing_vb_portable_targets.patch b/dev-lang/mono/files/files/add_missing_vb_portable_targets.patch
new file mode 100644
index 000000000000..ece90a587713
--- /dev/null
+++ b/dev-lang/mono/files/files/add_missing_vb_portable_targets.patch
@@ -0,0 +1,20 @@
+Index: mcs/tools/xbuild/targets/Microsoft.Portable.VisualBasic_4.0.targets
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ mcs/tools/xbuild/targets/Microsoft.Portable.VisualBasic_4.0.targets 2015-05-15 15:55:12.074775985 +0100
+@@ -0,0 +1,5 @@
++<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <Import Project="..\Microsoft.Portable.Core.props" />
++ <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
++ <Import Project="..\Microsoft.Portable.Core.targets" />
++</Project>
+Index: mcs/tools/xbuild/targets/Microsoft.Portable.VisualBasic_4.5.targets
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ mcs/tools/xbuild/targets/Microsoft.Portable.VisualBasic_4.5.targets 2015-05-15 15:55:19.194775876 +0100
+@@ -0,0 +1,5 @@
++<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <Import Project="..\Microsoft.Portable.Core.props" />
++ <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
++ <Import Project="..\Microsoft.Portable.Core.targets" />
++</Project>
diff --git a/dev-lang/mono/files/files/fix-for-GitExtensions-issue-2710-another-resolution.patch b/dev-lang/mono/files/files/fix-for-GitExtensions-issue-2710-another-resolution.patch
new file mode 100644
index 000000000000..b306b697c09d
--- /dev/null
+++ b/dev-lang/mono/files/files/fix-for-GitExtensions-issue-2710-another-resolution.patch
@@ -0,0 +1,48 @@
+diff --git a/mcs/class/System/System.Configuration/CustomizableFileSettingsProvider.cs b/mcs/class/System/System.Configuration/CustomizableFileSettingsProvider.cs
+index 4b69010..1bb6195 100644
+--- a/mcs/class/System/System.Configuration/CustomizableFileSettingsProvider.cs
++++ b/mcs/class/System/System.Configuration/CustomizableFileSettingsProvider.cs
+@@ -578,6 +578,34 @@ namespace System.Configuration
+ private ExeConfigurationFileMap exeMapPrev = null;
+ private SettingsPropertyValueCollection values = null;
+
++ /// <remarks>
++ /// Hack to remove the XmlDeclaration that the XmlSerializer adds.
++ /// <br />
++ /// see <a href="https://github.com/mono/mono/pull/2273">Issue 2273</a> for details
++ /// </remarks>
++ private string StripXmlHeader(string serializedValue)
++ {
++ if (serializedValue == null)
++ {
++ return string.Empty;
++ }
++
++ XmlDocument doc = new XmlDocument();
++ XmlElement valueXml = doc.CreateElement("value");
++ valueXml.InnerXml = serializedValue;
++
++ foreach (XmlNode child in valueXml.ChildNodes) {
++ if (child.NodeType == XmlNodeType.XmlDeclaration) {
++ valueXml.RemoveChild(child);
++ break;
++ }
++ }
++
++ // InnerXml will give you well-formed XML that you could save as a separate document, and
++ // InnerText will immediately give you a pure-text representation of this inner XML.
++ return valueXml.InnerXml;
++ }
++
+ private void SaveProperties (ExeConfigurationFileMap exeMap, SettingsPropertyValueCollection collection, ConfigurationUserLevel level, SettingsContext context, bool checkUserLevel)
+ {
+ Configuration config = ConfigurationManager.OpenMappedExeConfiguration (exeMap, level);
+@@ -623,7 +651,7 @@ namespace System.Configuration
+ element.Value.ValueXml = new XmlDocument ().CreateElement ("value");
+ switch (value.Property.SerializeAs) {
+ case SettingsSerializeAs.Xml:
+- element.Value.ValueXml.InnerXml = (value.SerializedValue as string) ?? string.Empty;
++ element.Value.ValueXml.InnerXml = StripXmlHeader(value.SerializedValue as string);
+ break;
+ case SettingsSerializeAs.String:
+ element.Value.ValueXml.InnerText = value.SerializedValue as string;
diff --git a/dev-lang/mono/files/files/fix-for-GitExtensions-issue-2710.patch b/dev-lang/mono/files/files/fix-for-GitExtensions-issue-2710.patch
new file mode 100644
index 000000000000..3d60923d9714
--- /dev/null
+++ b/dev-lang/mono/files/files/fix-for-GitExtensions-issue-2710.patch
@@ -0,0 +1,28 @@
+diff --git a/mcs/class/System/System.Configuration/SettingsPropertyValue.cs b/mcs/class/System/System.Configuration/SettingsPropertyValue.cs
+index 9bf62c0..9f026461 100644
+--- a/mcs/class/System/System.Configuration/SettingsPropertyValue.cs
++++ b/mcs/class/System/System.Configuration/SettingsPropertyValue.cs
+@@ -118,11 +118,18 @@ namespace System.Configuration
+ #if (XML_DEP)
+ case SettingsSerializeAs.Xml:
+ if (propertyValue != null) {
+- XmlSerializer serializer = new XmlSerializer (propertyValue.GetType ());
+- StringWriter w = new StringWriter(CultureInfo.InvariantCulture);
+-
+- serializer.Serialize (w, propertyValue);
+- serializedValue = w.ToString();
++ using (StringWriter w = new StringWriter(CultureInfo.InvariantCulture))
++ {
++ var xmlSettings = new XmlWriterSettings();
++ xmlSettings.OmitXmlDeclaration = true;
++ using (var writer = XmlWriter.Create(w, xmlSettings))
++ {
++ XmlSerializer serializer = new XmlSerializer(propertyValue.GetType ());
++ var emptyNamespaces = new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty });
++ serializer.Serialize(writer, propertyValue, emptyNamespaces);
++ } // writer.Flush happens here
++ serializedValue = w.ToString();
++ }
+ }
+ else
+ serializedValue = null;
diff --git a/dev-lang/mono/files/files/fix-for-bug36724.patch b/dev-lang/mono/files/files/fix-for-bug36724.patch
new file mode 100644
index 000000000000..187b4babed20
--- /dev/null
+++ b/dev-lang/mono/files/files/fix-for-bug36724.patch
@@ -0,0 +1,13 @@
+diff --git a/mcs/class/System.Web/System.Web.Util/UrlUtils.cs b/mcs/class/System.Web/System.Web.Util/UrlUtils.cs
+index 4f07e83..e229a91 100644
+--- a/mcs/class/System.Web/System.Web.Util/UrlUtils.cs
++++ b/mcs/class/System.Web/System.Web.Util/UrlUtils.cs
+@@ -54,7 +54,7 @@ namespace System.Web.Util {
+ if (path.StartsWith (appvpath))
+ path = path.Substring (appvpath.Length);
+
+- if (path [0] == '/')
++ if (path.StartsWith("/"))
+ path = path.Length > 1 ? path.Substring (1) : "";
+
+ return Canonic (appvpath + "(" + id + ")/" + path);
diff --git a/dev-lang/mono/files/files/mono-3.2.1-mdoc-fix.patch b/dev-lang/mono/files/files/mono-3.2.1-mdoc-fix.patch
new file mode 100644
index 000000000000..b8fcea967892
--- /dev/null
+++ b/dev-lang/mono/files/files/mono-3.2.1-mdoc-fix.patch
@@ -0,0 +1,12 @@
+diff -Naur mono-3.2.1.orig/mcs/tools/mdoc/Resources/monodoc-ecma.xsd mono-3.2.1/mcs/tools/mdoc/Resources/monodoc-ecma.xsd
+--- mono-3.2.1.orig/mcs/tools/mdoc/Resources/monodoc-ecma.xsd 2013-08-26 09:33:59.410610438 +0200
++++ mono-3.2.1/mcs/tools/mdoc/Resources/monodoc-ecma.xsd 2013-08-26 09:34:54.057804438 +0200
+@@ -351,7 +351,7 @@
+ <xs:element name="format">
+ <xs:complexType>
+ <xs:sequence>
+- <xs:any minOccurs="0" processContents="lax" />
++ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" />
+ </xs:sequence>
+ <xs:attribute ref="type" />
+ </xs:complexType>
diff --git a/dev-lang/mono/files/files/mono-4.0.2.5-fix-decimal-ms-on-big-endian.patch b/dev-lang/mono/files/files/mono-4.0.2.5-fix-decimal-ms-on-big-endian.patch
new file mode 100644
index 000000000000..c6349fe3828a
--- /dev/null
+++ b/dev-lang/mono/files/files/mono-4.0.2.5-fix-decimal-ms-on-big-endian.patch
@@ -0,0 +1,22 @@
+diff -up mono/metadata/decimal-ms.c.than
+mono/metadata/decimal-ms.c
+--- mono/metadata/decimal-ms.c.than 2015-07-06 08:21:27.524461795
+-0400
++++ mono/metadata/decimal-ms.c 2015-07-06 08:30:26.954461795
+-0400
+@@ -55,8 +55,13 @@ static const uint32_t ten_to_ten_div_4 =
+ #define DECIMAL_LO32(dec) ((dec).v.v.Lo32)
+ #define DECIMAL_MID32(dec) ((dec).v.v.Mid32)
+ #define DECIMAL_HI32(dec) ((dec).Hi32)
+-#define DECIMAL_LO64_GET(dec) ((dec).v.Lo64)
+-#define DECIMAL_LO64_SET(dec,value) {(dec).v.Lo64 = value; }
++#if G_BYTE_ORDER != G_LITTLE_ENDIAN
++# define DECIMAL_LO64_GET(dec) (((uint64_t)((dec).v.v.Mid32) << 32) | (dec).v.v.Lo32)
++# define DECIMAL_LO64_SET(dec,value) {(dec).v.v.Lo32 = (value); (dec).v.v.Mid32 = ((value) >> 32); }
++#else
++# define DECIMAL_LO64_GET(dec) ((dec).v.Lo64)
++# define DECIMAL_LO64_SET(dec,value) {(dec).v.Lo64 = value; }
++#endif
+
+ #define DECIMAL_SETZERO(dec) {DECIMAL_LO32(dec) = 0; DECIMAL_MID32(dec) = 0; DECIMAL_HI32(dec) = 0; DECIMAL_SIGNSCALE(dec) = 0;}
+ #define COPYDEC(dest, src) {DECIMAL_SIGNSCALE(dest) = DECIMAL_SIGNSCALE(src); DECIMAL_HI32(dest) = DECIMAL_HI32(src); \
diff --git a/dev-lang/mono/files/files/mono-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.patch b/dev-lang/mono/files/files/mono-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.patch
new file mode 100644
index 000000000000..bbf4c6fd72e3
--- /dev/null
+++ b/dev-lang/mono/files/files/mono-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.patch
@@ -0,0 +1,15 @@
+===================================================================
+RCS file: mono/dis/RCS/Makefile.am,v
+retrieving revision 1.1
+diff -up -r1.1 mono/dis/Makefile.am
+--- mono/dis/Makefile.am 2015/05/08 15:00:22 1.1
++++ mono/dis/Makefile.am 2015/07/14 11:20:29
+@@ -7,7 +7,7 @@ endif
+ if SUPPORT_SGEN
+ metadata_lib=$(top_builddir)/mono/metadata/libmonoruntimesgen-static.la
+ else
+-metadata_lib=$(top_builddir)/mono/metadata/libmonoruntime-static.a
++metadata_lib=$(top_builddir)/mono/metadata/libmonoruntime-static.la
+ gc_lib=$(LIBGC_STATIC_LIBS)
+ endif
+
diff --git a/dev-lang/mono/files/files/mono-4.0.2.5-fix-ppc-atomic-add-i4.patch b/dev-lang/mono/files/files/mono-4.0.2.5-fix-ppc-atomic-add-i4.patch
new file mode 100644
index 000000000000..fd5de72b136f
--- /dev/null
+++ b/dev-lang/mono/files/files/mono-4.0.2.5-fix-ppc-atomic-add-i4.patch
@@ -0,0 +1,79 @@
+From f967c79926900343f399c75624deedaba460e544 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= <alexrp@xamarin.com>
+Date: Mon, 3 Aug 2015 17:32:07 +0200
+Subject: [PATCH 1/2] [ppc] Instruction length of atomic_add_i4 is 28.
+
+---
+ mono/mini/cpu-ppc.md | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mono/mini/cpu-ppc.md b/mono/mini/cpu-ppc.md
+index ba2ec60..e6baf91 100644
+--- a/mono/mini/cpu-ppc.md
++++ b/mono/mini/cpu-ppc.md
+@@ -314,5 +314,5 @@ vcall2_membase: src1:b len:16 clob:c
+
+ jump_table: dest:i len:8
+
+-atomic_add_i4: src1:b src2:i dest:i len:20
++atomic_add_i4: src1:b src2:i dest:i len:28
+ atomic_cas_i4: src1:b src2:i src3:i dest:i len:38
+
+From 8f379f0c8f98493180b508b9e68b9aa76c0c5bdf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= <alexrp@xamarin.com>
+Date: Mon, 3 Aug 2015 17:32:31 +0200
+Subject: [PATCH 2/2] [ppc] Fix atomic_add_i4 support for 32-bit PPC.
+
+---
+ mono/mini/mini-ppc.c | 31 ++++++++++++++++---------------
+ 1 file changed, 16 insertions(+), 15 deletions(-)
+
+diff --git a/mono/mini/mini-ppc.c b/mono/mini/mini-ppc.c
+index 758a63f..06528bd 100644
+--- a/mono/mini/mini-ppc.c
++++ b/mono/mini/mini-ppc.c
+@@ -4420,6 +4420,22 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
+ else
+ ppc_mr (code, ins->dreg, ins->sreg1);
+ break;
++#else
++ case OP_ICONV_TO_R4:
++ case OP_ICONV_TO_R8: {
++ if (cpu_hw_caps & PPC_ISA_64) {
++ ppc_srawi(code, ppc_r0, ins->sreg1, 31);
++ ppc_stw (code, ppc_r0, -8, ppc_r1);
++ ppc_stw (code, ins->sreg1, -4, ppc_r1);
++ ppc_lfd (code, ins->dreg, -8, ppc_r1);
++ ppc_fcfid (code, ins->dreg, ins->dreg);
++ if (ins->opcode == OP_ICONV_TO_R4)
++ ppc_frsp (code, ins->dreg, ins->dreg);
++ }
++ break;
++ }
++#endif
++
+ case OP_ATOMIC_ADD_I4:
+ CASE_PPC64 (OP_ATOMIC_ADD_I8) {
+ int location = ins->inst_basereg;
+@@ -4453,21 +4469,6 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
+ ppc_mr (code, ins->dreg, ppc_r0);
+ break;
+ }
+-#else
+- case OP_ICONV_TO_R4:
+- case OP_ICONV_TO_R8: {
+- if (cpu_hw_caps & PPC_ISA_64) {
+- ppc_srawi(code, ppc_r0, ins->sreg1, 31);
+- ppc_stw (code, ppc_r0, -8, ppc_r1);
+- ppc_stw (code, ins->sreg1, -4, ppc_r1);
+- ppc_lfd (code, ins->dreg, -8, ppc_r1);
+- ppc_fcfid (code, ins->dreg, ins->dreg);
+- if (ins->opcode == OP_ICONV_TO_R4)
+- ppc_frsp (code, ins->dreg, ins->dreg);
+- }
+- break;
+- }
+-#endif
+ case OP_ATOMIC_CAS_I4:
+ CASE_PPC64 (OP_ATOMIC_CAS_I8) {
+ int location = ins->sreg1;
diff --git a/dev-lang/mono/files/files/systemweb3.patch b/dev-lang/mono/files/files/systemweb3.patch
new file mode 100644
index 000000000000..5ccb63a87869
--- /dev/null
+++ b/dev-lang/mono/files/files/systemweb3.patch
@@ -0,0 +1,22 @@
+--- a/mcs/class/System.Web.Routing/System.Web.Routing/RouteBase.cs 2015-05-08 18:00:15.000000000 +0300
++++ b/mcs/class/System.Web.Routing/System.Web.Routing/RouteBase.cs 2015-07-20 14:13:09.215784924 +0300
+@@ -41,5 +41,19 @@
+ {
+ public abstract RouteData GetRouteData (HttpContextBase httpContext);
+ public abstract VirtualPathData GetVirtualPath (RequestContext requestContext, RouteValueDictionary values);
++
++ // Default needs to be true to avoid breaking change
++ private bool _routeExistingFiles = true;
++ public bool RouteExistingFiles
++ {
++ get
++ {
++ return _routeExistingFiles;
++ }
++ set
++ {
++ _routeExistingFiles = value;
++ }
++ }
+ }
+ }