diff --git a/.gitignore b/.gitignore index 14b19a4..db1d646 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ mono-*.tar.bz2 mono-*.src.rpm +mono-*.tar.xz diff --git a/0001-DocumentationEnumerator.cs-Declare-iface-and-ifaceMe.patch b/0001-DocumentationEnumerator.cs-Declare-iface-and-ifaceMe.patch new file mode 100644 index 0000000..a5e873c --- /dev/null +++ b/0001-DocumentationEnumerator.cs-Declare-iface-and-ifaceMe.patch @@ -0,0 +1,41 @@ +From 415b0ca76d1071bc2bb89f8860f4ce831d6a090a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= +Date: Mon, 3 Feb 2020 23:09:36 +0100 +Subject: [PATCH] DocumentationEnumerator.cs: Declare iface and ifaceMethod + correctly to fix NRE +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Using TypeReference and MethodReference instead of var to declare them. + +Fix #462 + +Signed-off-by: Robert-André Mauchin +--- + mdoc/Mono.Documentation/Updater/DocumentationEnumerator.cs | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/mdoc/Mono.Documentation/Updater/DocumentationEnumerator.cs b/mdoc/Mono.Documentation/Updater/DocumentationEnumerator.cs +index be22bf0..1917b59 100644 +--- a/mdoc/Mono.Documentation/Updater/DocumentationEnumerator.cs ++++ b/mdoc/Mono.Documentation/Updater/DocumentationEnumerator.cs +@@ -341,7 +341,7 @@ namespace Mono.Documentation.Updater + var method = ((PropertyDefinition) mr).GetMethod ?? ((PropertyDefinition) mr).SetMethod; + if (method?.Overrides != null && method.Overrides.Any()) + { +- DocUtils.GetInfoForExplicitlyImplementedMethod(method, out var iface, out var ifaceMethod); ++ DocUtils.GetInfoForExplicitlyImplementedMethod(method, out TypeReference iface, out MethodReference ifaceMethod); + var newName = DocUtils.GetMemberForProperty(ifaceMethod.Name); + if (newName == memberName && verifyInterface(mr) && docName.Contains (iface.Name)) + yield return mr; +@@ -428,4 +428,4 @@ namespace Mono.Documentation.Updater + return count; + } + } +-} +\ No newline at end of file ++} +-- +2.24.1 + diff --git a/0001-Reenable-mdoc.exe-build.patch b/0001-Reenable-mdoc.exe-build.patch new file mode 100644 index 0000000..c757eb2 --- /dev/null +++ b/0001-Reenable-mdoc.exe-build.patch @@ -0,0 +1,86 @@ +From 7d46c195498b06f6fe0562f957f7309140c24a46 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= +Date: Mon, 3 Feb 2020 20:51:40 +0100 +Subject: [PATCH] Reenable mdoc.exe build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Robert-Andr Mauchin +--- + mcs/docs/Makefile | 4 ---- + mcs/tools/mdoc/Makefile | 18 ++++++------------ + 2 files changed, 6 insertions(+), 16 deletions(-) + +diff --git a/mcs/docs/Makefile b/mcs/docs/Makefile +index b66d70230..519a98443 100644 +--- a/mcs/docs/Makefile ++++ b/mcs/docs/Makefile +@@ -38,10 +38,6 @@ DISABLE_MCS_DOCS = yes + endif + endif + +-ifdef MCS_MODE +-DISABLE_MCS_DOCS = yes +-endif +- + test-local run-test-local run-test-ondotnet-local doc-update: + + clean-local: +diff --git a/mcs/tools/mdoc/Makefile b/mcs/tools/mdoc/Makefile +index e3c5a321d..008203616 100644 +--- a/mcs/tools/mdoc/Makefile ++++ b/mcs/tools/mdoc/Makefile +@@ -44,12 +44,6 @@ $(PROGRAM): $(PROGRAM_DEPS) + + PROGRAM_COMPILE = $(CSCOMPILE) + +-ifdef MCS_MODE +-NO_INSTALL=1 +-NO_BUILD=1 +-NO_TEST=1 +-endif +- + include ../../build/executable.make + + MONO = \ +@@ -63,6 +57,11 @@ DIFF = diff -rupZ + DIFF_QUIET = diff --brief -Z + endif + ++ifdef MCS_MODE ++DIFF = echo "WARNING: running in mcs mode, tests are specific to roslyn and would fail. Skipping diff check." ++DIFF_QUIET = $(DIFF) ++endif ++ + dist-local: dist-default dist-tests + + dist-tests: +@@ -360,7 +359,7 @@ check-mdoc-export-msxdoc-update: + + check-mdoc-export-msxdoc: + $(MONO) $(PROGRAM) export-msxdoc -o - Test/en.expected.importslashdoc \ +- | $(DIFF) - Test/msxdoc-expected.importslashdoc.xml ++ | $(DIFF_QUIET) - Test/msxdoc-expected.importslashdoc.xml + + my_abs_top_srcdir = $(shell cd . && pwd) + +@@ -390,10 +389,6 @@ run-test-local: check-doc-tools + + run-test-update : check-doc-tools-update + +-ifdef MCS_MODE +-check-doc-tools: +- @echo "WARNING: running in mcs mode, mdoc doesn't compile with mcs. Skipping." +-else + check-doc-tools: \ + check-monodocer-since \ + check-monodocer-importecmadoc \ +@@ -412,7 +407,6 @@ check-doc-tools: \ + check-monodocer-dropns-multi-withexisting + + #check-monodocer-dropns-delete +-endif + + check-doc-tools-update: check-monodocer-since-update \ + check-monodocer-importecmadoc-update \ diff --git a/0001-Replace-new-Csharp-features-with-old-ones.patch b/0001-Replace-new-Csharp-features-with-old-ones.patch new file mode 100644 index 0000000..2176cc7 --- /dev/null +++ b/0001-Replace-new-Csharp-features-with-old-ones.patch @@ -0,0 +1,301 @@ +From bf5c5a72978a0f9d32c9934e216bfaaf2d1717be Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= +Date: Mon, 3 Feb 2020 18:38:58 +0100 +Subject: [PATCH] Replace new Csharp features with old ones +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Replace new Csharp features like switch statements and +"is null" to allow mdoc.exe to build with mcs. + +Signed-off-by: Robert-André Mauchin +--- + mdoc/Mono.Documentation/Updater/DocUtils.cs | 91 ++++++++++--------- + .../CppFormatters/CppFullMemberFormatter.cs | 26 +++--- + .../Updater/Formatters/FSharpFormatter.cs | 16 ++-- + .../Updater/Formatters/JsFormatter.cs | 27 +++--- + .../Updater/Formatters/JsMemberFormatter.cs | 9 +- + 5 files changed, 85 insertions(+), 84 deletions(-) + +diff --git a/mdoc/Mono.Documentation/Updater/DocUtils.cs b/mdoc/Mono.Documentation/Updater/DocUtils.cs +index 331ef90..fe2da59 100644 +--- a/mdoc/Mono.Documentation/Updater/DocUtils.cs ++++ b/mdoc/Mono.Documentation/Updater/DocUtils.cs +@@ -287,24 +287,24 @@ namespace Mono.Documentation.Updater + return inst != null + ? inst.GenericArguments.Count + : type.GenericParameters.Count; +- } ++ } + + class TypeEquality : IEqualityComparer +- { +- bool IEqualityComparer.Equals (TypeReference x, TypeReference y) ++ { ++ bool IEqualityComparer.Equals (TypeReference x, TypeReference y) ++ { ++ if (x == null && y == null) return true; ++ if (x == null || y == null) return false; ++ return x.FullName == y.FullName; ++ } ++ ++ int IEqualityComparer.GetHashCode (TypeReference obj) + { +- if (x is null && y is null) return true; +- if (x is null || y is null) return false; +- return x.FullName == y.FullName; +- } +- +- int IEqualityComparer.GetHashCode (TypeReference obj) +- { +- return obj.GetHashCode (); ++ return obj.GetHashCode (); + } + } + static TypeEquality typeEqualityComparer = new TypeEquality (); +- ++ + public static IEnumerable GetAllPublicInterfaces (TypeDefinition type) + { + return GetAllInterfacesFromType (type) +@@ -314,7 +314,7 @@ namespace Mono.Documentation.Updater + + private static IEnumerable GetAllInterfacesFromType(TypeDefinition type) + { +- if (type is null) ++ if (type == null) + yield break; + + foreach(var i in type.Interfaces) +@@ -525,26 +525,29 @@ namespace Mono.Documentation.Updater + FillUnifiedMemberTypeNames(unifiedTypeNames, memberReference as IGenericParameterProvider);// Fill the member generic parameters unified names as M0, M1.... + FillUnifiedTypeNames(unifiedTypeNames, memberReference.DeclaringType, genericInterface);// Fill the type generic parameters unified names as T0, T1.... + +- switch (memberReference) +- { +- case IMethodSignature methodSignature: +- buf.Append(GetUnifiedTypeName(methodSignature.ReturnType, unifiedTypeNames)).Append(" "); +- buf.Append(SimplifyName(memberReference.Name)).Append(" "); +- AppendParameters(buf, methodSignature.Parameters, unifiedTypeNames); +- break; +- case PropertyDefinition propertyReference: +- buf.Append(GetUnifiedTypeName(propertyReference.PropertyType, unifiedTypeNames)).Append(" "); +- if (propertyReference.GetMethod != null) +- buf.Append("get").Append(" "); +- if (propertyReference.SetMethod != null) +- buf.Append("set").Append(" "); +- buf.Append(SimplifyName(memberReference.Name)).Append(" "); +- AppendParameters(buf, propertyReference.Parameters, unifiedTypeNames); +- break; +- case EventDefinition eventReference: +- buf.Append(GetUnifiedTypeName(eventReference.EventType, unifiedTypeNames)).Append(" "); +- buf.Append(SimplifyName(memberReference.Name)).Append(" "); +- break; ++ if (memberReference is IMethodSignature) ++ { ++ IMethodSignature methodSignature = (IMethodSignature)memberReference; ++ buf.Append(GetUnifiedTypeName(methodSignature.ReturnType, unifiedTypeNames)).Append(" "); ++ buf.Append(SimplifyName(memberReference.Name)).Append(" "); ++ AppendParameters(buf, methodSignature.Parameters, unifiedTypeNames); ++ } ++ if (memberReference is PropertyDefinition) ++ { ++ PropertyDefinition propertyReference = (PropertyDefinition)memberReference; ++ buf.Append(GetUnifiedTypeName(propertyReference.PropertyType, unifiedTypeNames)).Append(" "); ++ if (propertyReference.GetMethod != null) ++ buf.Append("get").Append(" "); ++ if (propertyReference.SetMethod != null) ++ buf.Append("set").Append(" "); ++ buf.Append(SimplifyName(memberReference.Name)).Append(" "); ++ AppendParameters(buf, propertyReference.Parameters, unifiedTypeNames); ++ } ++ if (memberReference is EventDefinition) ++ { ++ EventDefinition eventReference = (EventDefinition)memberReference; ++ buf.Append(GetUnifiedTypeName(eventReference.EventType, unifiedTypeNames)).Append(" "); ++ buf.Append(SimplifyName(memberReference.Name)).Append(" "); + } + + var memberUnifiedTypeNames = new Dictionary(); +@@ -666,14 +669,20 @@ namespace Mono.Documentation.Updater + /// + private static Collection GetOverrides(MemberReference memberReference) + { +- switch (memberReference) ++ if (memberReference is MethodDefinition) ++ { ++ MethodDefinition methodDefinition = (MethodDefinition)memberReference; ++ return methodDefinition.Overrides; ++ } ++ if (memberReference is PropertyDefinition) ++ { ++ PropertyDefinition propertyDefinition = (PropertyDefinition)memberReference; ++ return (propertyDefinition.GetMethod ?? propertyDefinition.SetMethod)?.Overrides; ++ } ++ if (memberReference is EventDefinition) + { +- case MethodDefinition methodDefinition: +- return methodDefinition.Overrides; +- case PropertyDefinition propertyDefinition: +- return (propertyDefinition.GetMethod ?? propertyDefinition.SetMethod)?.Overrides; +- case EventDefinition evendDefinition: +- return evendDefinition.AddMethod.Overrides; ++ EventDefinition evendDefinition = (EventDefinition)memberReference; ++ return evendDefinition.AddMethod.Overrides; + } + + return null; +@@ -692,4 +701,4 @@ namespace Mono.Documentation.Updater + return method.Name.StartsWith("op_", StringComparison.Ordinal); + } + } +-} +\ No newline at end of file ++} +diff --git a/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppFullMemberFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppFullMemberFormatter.cs +index 7d68c38..6b9bcf6 100644 +--- a/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppFullMemberFormatter.cs ++++ b/mdoc/Mono.Documentation/Updater/Formatters/CppFormatters/CppFullMemberFormatter.cs +@@ -1029,20 +1029,16 @@ namespace Mono.Documentation.Updater.Formatters.CppFormatters + if (mref.IsDefinition == false) + mref = mref.Resolve() as MemberReference; + +- switch (mref) +- { +- case FieldDefinition field: +- return IsSupportedField(field); +- case MethodDefinition method: +- return IsSupportedMethod(method); +- case PropertyDefinition property: +- return IsSupportedProperty(property); +- case EventDefinition @event: +- return IsSupportedEvent(@event); +- case AttachedPropertyDefinition _: +- case AttachedEventDefinition _: +- return false; +- } ++ if (mref is FieldDefinition) ++ return IsSupportedField((FieldDefinition)mref); ++ else if (mref is MethodDefinition) ++ return IsSupportedMethod((MethodDefinition)mref); ++ else if (mref is PropertyDefinition) ++ return IsSupportedProperty((PropertyDefinition)mref); ++ else if (mref is EventDefinition) ++ return IsSupportedEvent((EventDefinition)mref); ++ else if (mref is AttachedPropertyDefinition || mref is AttachedEventDefinition) ++ return false; + + throw new NotSupportedException("Unsupported member type: " + mref?.GetType().FullName); + } +@@ -1119,4 +1115,4 @@ namespace Mono.Documentation.Updater.Formatters.CppFormatters + return true; + } + } +-} +\ No newline at end of file ++} +diff --git a/mdoc/Mono.Documentation/Updater/Formatters/FSharpFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/FSharpFormatter.cs +index 236d56f..f91bf9a 100644 +--- a/mdoc/Mono.Documentation/Updater/Formatters/FSharpFormatter.cs ++++ b/mdoc/Mono.Documentation/Updater/Formatters/FSharpFormatter.cs +@@ -1029,15 +1029,15 @@ namespace Mono.Documentation.Updater + } + return false; + } +- switch (mref) ++ if (mref is MethodDefinition) + { +- case MethodDefinition method: +- return !(method.HasCustomAttributes && method.CustomAttributes.Any( +- ca => ca.GetDeclaringType() == +- "System.Diagnostics.Contracts.ContractInvariantMethodAttribute" +- || ca.GetDeclaringType() == +- Consts.CompilerGeneratedAttribute)) +- && AppendVisibility(new StringBuilder(), method) != null; ++ MethodDefinition method = (MethodDefinition)mref; ++ return !(method.HasCustomAttributes && method.CustomAttributes.Any( ++ ca => ca.GetDeclaringType() == ++ "System.Diagnostics.Contracts.ContractInvariantMethodAttribute" ++ || ca.GetDeclaringType() == ++ Consts.CompilerGeneratedAttribute)) ++ && AppendVisibility(new StringBuilder(), method) != null; + } + + return true; +diff --git a/mdoc/Mono.Documentation/Updater/Formatters/JsFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/JsFormatter.cs +index f8b2f04..92b8f3c 100644 +--- a/mdoc/Mono.Documentation/Updater/Formatters/JsFormatter.cs ++++ b/mdoc/Mono.Documentation/Updater/Formatters/JsFormatter.cs +@@ -68,23 +68,22 @@ namespace mdoc.Mono.Documentation.Updater.Formatters + + public override bool IsSupported(MemberReference mref) + { +- switch (mref) ++ if (mref is PropertyDefinition) + { +- case PropertyDefinition propertyDefinition: +- if (!IsPropertySupported(propertyDefinition)) +- return false; +- break; +- case MethodDefinition methodDefinition: +- if (!IsMethodSupported(methodDefinition)) +- return false; +- break; +- case FieldDefinition _: +- return false;// In WinRT fields can be exposed only by structures. +- case AttachedEventDefinition _: ++ PropertyDefinition propertyDefinition = (PropertyDefinition)mref; ++ if (!IsPropertySupported(propertyDefinition)) + return false; +- case AttachedPropertyDefinition _: ++ } ++ else if (mref is MethodDefinition) ++ { ++ MethodDefinition methodDefinition = (MethodDefinition)mref; ++ if (!IsMethodSupported(methodDefinition)) + return false; + } ++ else if (mref is FieldDefinition // In WinRT fields can be exposed only by structures. ++ || mref is AttachedEventDefinition ++ || mref is AttachedPropertyDefinition) ++ return false; + + var member = mref.Resolve(); + return member != null +@@ -169,4 +168,4 @@ namespace mdoc.Mono.Documentation.Updater.Formatters + return fullName; + } + } +-} +\ No newline at end of file ++} +diff --git a/mdoc/Mono.Documentation/Updater/Formatters/JsMemberFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/JsMemberFormatter.cs +index 6bc6995..f6c8af6 100644 +--- a/mdoc/Mono.Documentation/Updater/Formatters/JsMemberFormatter.cs ++++ b/mdoc/Mono.Documentation/Updater/Formatters/JsMemberFormatter.cs +@@ -58,12 +58,9 @@ namespace mdoc.Mono.Documentation.Updater.Formatters + + public override bool IsSupported(MemberReference mref) + { +- switch (mref) ++ if (mref is PropertyDefinition || mref is EventDefinition) + { +- case PropertyDefinition _: +- return false; +- case EventDefinition _: +- return false; ++ return false; + } + return base.IsSupported(mref); + } +@@ -82,4 +79,4 @@ namespace mdoc.Mono.Documentation.Updater.Formatters + return base.IsSupported(tref); + } + } +-} +\ No newline at end of file ++} +-- +2.24.1 + diff --git a/mono-4.2-fix-winforms-trayicon.patch b/mono-4.2-fix-winforms-trayicon.patch index 8fdbc15..ffd7308 100644 --- a/mono-4.2-fix-winforms-trayicon.patch +++ b/mono-4.2-fix-winforms-trayicon.patch @@ -11,9 +11,9 @@ diff --git a/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs b index b0777b5..d50d6c4 100644 --- a/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs +++ b/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs -@@ -6239,9 +6239,6 @@ namespace System.Windows.Forms { - atoms [0] = 1; // Version 1 - atoms [1] = 1; // we want to be mapped +@@ -6219,9 +6219,6 @@ namespace System.Windows.Forms { + atoms [0] = (IntPtr)1; // Version 1 + atoms [1] = (IntPtr)1; // we want to be mapped - // This line cost me 3 days... - XChangeProperty(DisplayHandle, hwnd.whole_window, _XEMBED_INFO, _XEMBED_INFO, 32, PropertyMode.Replace, atoms, 2); diff --git a/mono-5.18.0-largearraybuilder.patch b/mono-5.18.0-largearraybuilder.patch deleted file mode 100644 index 0df61a9..0000000 --- a/mono-5.18.0-largearraybuilder.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 0bf46dbe2cf0a215ca6e64793b7c434433f50722 Mon Sep 17 00:00:00 2001 -From: Marek Safar -Date: Wed, 31 Oct 2018 10:25:58 +0100 -Subject: [PATCH] Fixes __MonoCS__ handling of value types - ---- - .../src/System/Collections/Generic/LargeArrayBuilder.cs | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/external/corefx/src/Common/src/System/Collections/Generic/LargeArrayBuilder.cs b/external/corefx/src/Common/src/System/Collections/Generic/LargeArrayBuilder.cs -index c0f441909dcf..8ec603ace72e 100644 ---- a/external/corefx/src/Common/src/System/Collections/Generic/LargeArrayBuilder.cs -+++ b/external/corefx/src/Common/src/System/Collections/Generic/LargeArrayBuilder.cs -@@ -263,7 +263,7 @@ public CopyPosition CopyTo(CopyPosition position, T[] array, int arrayIndex, int - T[] buffer = GetBuffer(row); - int copied = - #if __MonoCS__ -- CopyToCore(buffer, column, array, arrayIndex, count); -+ CopyToCore(buffer, column, array, ref arrayIndex, ref count); - #else - CopyToCore(buffer, column); - #endif -@@ -278,7 +278,7 @@ public CopyPosition CopyTo(CopyPosition position, T[] array, int arrayIndex, int - buffer = GetBuffer(++row); - copied = - #if __MonoCS__ -- CopyToCore(buffer, 0, array, arrayIndex, count); -+ CopyToCore(buffer, 0, array, ref arrayIndex, ref count); - #else - CopyToCore(buffer, 0); - #endif -@@ -289,7 +289,7 @@ public CopyPosition CopyTo(CopyPosition position, T[] array, int arrayIndex, int - #if __MonoCS__ - } - -- static int CopyToCore(T[] sourceBuffer, int sourceIndex, T[] array, int arrayIndex, int count) -+ static int CopyToCore(T[] sourceBuffer, int sourceIndex, T[] array, ref int arrayIndex, ref int count) - #else - int CopyToCore(T[] sourceBuffer, int sourceIndex) - #endif - diff --git a/mono-5.18.0-use-v471.patch b/mono-5.18.0-use-v471.patch deleted file mode 100644 index 827d1dc..0000000 --- a/mono-5.18.0-use-v471.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/mcs/tools/cil-stringreplacer/Makefile 2019-02-21 04:46:01.764018606 +0000 -+++ b/mcs/tools/cil-stringreplacer/Makefile 2019-02-21 04:46:33.532559588 +0000 -@@ -8,7 +8,7 @@ - API = $(filter basic build, $(PROFILE)) - ifdef API - # It can be run using system .net during boostrap --TARGET_NET_REFERENCE = v4.6 -+TARGET_NET_REFERENCE = v4.7.1 - # Trick to make it work during boostrap where it has to run with system - # assemblies not the ones in lib/basic folder - PROGRAM_USE_INTERMEDIATE_FILE = 1 diff --git a/mono-5.18.1-python3.patch b/mono-5.18.1-python3.patch deleted file mode 100644 index 76dc931..0000000 --- a/mono-5.18.1-python3.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- a/scripts/mono-heapviz -+++ b/scripts/mono-heapviz -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - - # Generate a heap visualization for SGen from the heap dump written by - # mono if the MONO_GC_DEBUG is set to something like -diff -up mono-5.18.1.0/mono/mini/genmdesc.py.py3 mono-5.18.1.0/mono/mini/genmdesc.py ---- mono-5.18.1.0/mono/mini/genmdesc.py.py3 2019-03-28 06:56:35.765851125 -0400 -+++ mono-5.18.1.0/mono/mini/genmdesc.py 2019-03-28 06:56:44.805851125 -0400 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - - # - # This tool is used to generate the cpu-.h files used by the JIT. The input is the -diff -up mono-5.18.1.0/mono/mini/Makefile.am.in.py3 mono-5.18.1.0/mono/mini/Makefile.am.in ---- mono-5.18.1.0/mono/mini/Makefile.am.in.py3 2019-03-28 07:01:10.975851125 -0400 -+++ mono-5.18.1.0/mono/mini/Makefile.am.in 2019-03-28 07:01:35.395851125 -0400 -@@ -738,7 +738,7 @@ MemoryIntrinsics.dll: MemoryIntrinsics.i - - GENMDESC_OPTS= - --GENMDESC_PRG=python $(srcdir)/genmdesc.py $(target_define) $(srcdir) -+GENMDESC_PRG=python3 $(srcdir)/genmdesc.py $(target_define) $(srcdir) - - cpu-wasm.h: mini-ops.h cpu-wasm.md - $(GENMDESC_PRG) cpu-wasm.h wasm_desc $(srcdir)/cpu-wasm.md -diff -up mono-5.18.1.0/mono/mini/Makefile.am.py3 mono-5.18.1.0/mono/mini/Makefile.am ---- mono-5.18.1.0/mono/mini/Makefile.am.py3 2019-03-28 07:06:02.235851125 -0400 -+++ mono-5.18.1.0/mono/mini/Makefile.am 2019-03-28 07:06:06.385851125 -0400 -@@ -738,7 +738,7 @@ MemoryIntrinsics.dll: MemoryIntrinsics.i - - GENMDESC_OPTS= - --GENMDESC_PRG=python $(srcdir)/genmdesc.py $(target_define) $(srcdir) -+GENMDESC_PRG=python3 $(srcdir)/genmdesc.py $(target_define) $(srcdir) - - cpu-wasm.h: mini-ops.h cpu-wasm.md - $(GENMDESC_PRG) cpu-wasm.h wasm_desc $(srcdir)/cpu-wasm.md -diff -up mono-5.18.1.0/mono/mini/Makefile.in.py3 mono-5.18.1.0/mono/mini/Makefile.in ---- mono-5.18.1.0/mono/mini/Makefile.in.py3 2019-03-28 07:06:12.805851125 -0400 -+++ mono-5.18.1.0/mono/mini/Makefile.in 2019-03-28 07:06:21.575851125 -0400 -@@ -1175,7 +1175,7 @@ libmonoincludedir = $(includedir)/mono-$ - libmonoinclude_HEADERS = jit.h - CSFLAGS = -unsafe -nowarn:0219,0169,0414,0649,0618 - GENMDESC_OPTS = --GENMDESC_PRG = python $(srcdir)/genmdesc.py $(target_define) $(srcdir) -+GENMDESC_PRG = python3 $(srcdir)/genmdesc.py $(target_define) $(srcdir) - LLVM_AOT_RUNTIME_OPTS = $(if $(LLVM),--llvm,) - GSHAREDVT_RUNTIME_OPTS = $(if $(GSHAREDVT),-O=gsharedvt,) - fullaot_regtests = $(regtests) diff --git a/mono-5.18.1-s390x-build.patch b/mono-5.18.1-s390x-build.patch deleted file mode 100644 index 6877129..0000000 --- a/mono-5.18.1-s390x-build.patch +++ /dev/null @@ -1,124 +0,0 @@ -From 6d07dd66f1412b8f7eaadbcd9d660859d4227954 Mon Sep 17 00:00:00 2001 -From: Neale Ferguson -Date: Sat, 11 Aug 2018 19:33:58 -0400 -Subject: [PATCH] =?UTF-8?q?Fix=20s390x=20build=20broken=20by=20incorrect?= - =?UTF-8?q?=20specification=20of=20the=20msgfi=20instuc=E2=80=A6=20(#10026?= - =?UTF-8?q?)?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fix s390x build broken by incorrect specification of the msgfi instruction used in MUL_IMM type operations. The instruction had been encoded as its 32-bit counterpart (msfi). - -In addition, the s390x microcode makes the mono_strength_reduction_division unnecessary so this can be bypassed. - -The change to basic.make is just to avoid error messages when basic-profile-check.exe hasn't been built yet. ---- - mcs/build/profiles/basic.make | 2 +- - mono/arch/s390x/s390x-codegen.h | 4 ++-- - mono/mini/local-propagation.c | 9 +++------ - mono/mini/mini-s390x.h | 1 + - mono/mini/mini.c | 3 +++ - mono/mini/mini.h | 1 + - 6 files changed, 11 insertions(+), 9 deletions(-) - -diff --git a/mcs/build/profiles/basic.make b/mcs/build/profiles/basic.make -index eb2264efd457..7dd7770fc512 100644 ---- a/mcs/build/profiles/basic.make -+++ b/mcs/build/profiles/basic.make -@@ -122,7 +122,7 @@ $(PROFILE_EXE): $(topdir)/build/common/basic-profile-check.cs $(GENSOURCES_CS) - $(BOOTSTRAP_MCS) /noconfig /langversion:latest /r:mscorlib.dll /r:System.dll /r:System.Core.dll /out:$(GENSOURCES_EXE).tmp $(GENSOURCES_CS) - - rm $(GENSOURCES_EXE) - mv $(GENSOURCES_EXE).tmp $(GENSOURCES_EXE) -- - rm $@ -+ - rm -f $@ - mv $@.tmp $@ - - $(PROFILE_OUT): $(PROFILE_EXE) -diff --git a/mono/arch/s390x/s390x-codegen.h b/mono/arch/s390x/s390x-codegen.h -index 49fc120f7d49..12fdd2894eaa 100644 ---- a/mono/arch/s390x/s390x-codegen.h -+++ b/mono/arch/s390x/s390x-codegen.h -@@ -1393,8 +1393,8 @@ typedef struct { - #define s390_mlr(c, r1, r2) S390_RRE(c, 0xb996, r1, r2) - #define s390_mr(c, r1, r2) S390_RR(c, 0x1c, r1, r2) - #define s390_ms(c, r, x, b, d) S390_RX(c, 0x71, r, x, b, d) --#define s390_msfi(c, r, v) S390_RIL_1(c, 0xc20, r, v) --#define s390_msgfi(c, r, v) S390_RIL_1(c, 0xc21, r, v) -+#define s390_msfi(c, r, v) S390_RIL_1(c, 0xc21, r, v) -+#define s390_msgfi(c, r, v) S390_RIL_1(c, 0xc20, r, v) - #define s390_msgfr(c, r1, r2) S390_RRE(c, 0xb91c, r1, r2) - #define s390_msgr(c, r1, r2) S390_RRE(c, 0xb90c, r1, r2) - #define s390_msgrkc(c, r1, r2, r3) S390_RRF_1(c, 0xb9ed, r1, r2, r3) -diff --git a/mono/mini/local-propagation.c b/mono/mini/local-propagation.c -index 4b5e02ff28f0..d8e8461291aa 100644 ---- a/mono/mini/local-propagation.c -+++ b/mono/mini/local-propagation.c -@@ -370,7 +370,7 @@ mono_strength_reduction_ins (MonoCompile *cfg, MonoInst *ins, const char **spec) - } - case OP_IDIV_UN_IMM: - case OP_IDIV_IMM: { -- if (!COMPILE_LLVM (cfg)) -+ if ((!COMPILE_LLVM (cfg)) && (!cfg->backend->optimized_div)) - allocated_vregs = mono_strength_reduction_division (cfg, ins); - break; - } -@@ -383,10 +383,8 @@ mono_strength_reduction_ins (MonoCompile *cfg, MonoInst *ins, const char **spec) - ins->opcode = OP_ICONST; - MONO_INST_NULLIFY_SREGS (ins); - ins->inst_c0 = 0; --#if __s390__ -- } --#else -- } else if ((ins->inst_imm > 0) && (ins->inst_imm < (1LL << 32)) && (power != -1)) { -+ } else if ((ins->inst_imm > 0) && (ins->inst_imm < (1LL << 32)) && -+ (power != -1) && (!cfg->backend->optimized_div)) { - gboolean is_long = ins->opcode == OP_LREM_IMM; - int compensator_reg = alloc_ireg (cfg); - int intermediate_reg; -@@ -411,7 +409,6 @@ mono_strength_reduction_ins (MonoCompile *cfg, MonoInst *ins, const char **spec) - - allocated_vregs = TRUE; - } --#endif - break; - } - #if SIZEOF_REGISTER == 4 -diff --git a/mono/mini/mini-s390x.h b/mono/mini/mini-s390x.h -index 464ddb117894..9323182c0cc7 100644 ---- a/mono/mini/mini-s390x.h -+++ b/mono/mini/mini-s390x.h -@@ -65,6 +65,7 @@ typedef struct - #define MONO_ARCH_HAVE_OP_GENERIC_CLASS_INIT 1 - #define MONO_ARCH_HAVE_SETUP_ASYNC_CALLBACK 1 - #define MONO_ARCH_HAVE_TRACK_FPREGS 1 -+#define MONO_ARCH_HAVE_OPTIMIZED_DIV 1 - - #define S390_STACK_ALIGNMENT 8 - #define S390_FIRST_ARG_REG s390_r2 -diff --git a/mono/mini/mini.c b/mono/mini/mini.c -index 9fdf34bd2a98..fa7608daebfe 100644 ---- a/mono/mini/mini.c -+++ b/mono/mini/mini.c -@@ -3045,6 +3045,9 @@ init_backend (MonoBackend *backend) - #ifdef MONO_ARCH_EXPLICIT_NULL_CHECKS - backend->explicit_null_checks = 1; - #endif -+#ifdef MONO_ARCH_HAVE_OPTIMIZED_DIV -+ backend->optimized_div = 1; -+#endif - } - - /* -diff --git a/mono/mini/mini.h b/mono/mini/mini.h -index 780208ed8a57..fb217b3194b7 100644 ---- a/mono/mini/mini.h -+++ b/mono/mini/mini.h -@@ -1150,6 +1150,7 @@ typedef struct { - guint no_unaligned_access : 1; - guint disable_div_with_mul : 1; - guint explicit_null_checks : 1; -+ guint optimized_div : 1; - int monitor_enter_adjustment; - int dyn_call_param_area; - } MonoBackend; diff --git a/mono-5.18.1-s390x-ucontext.patch b/mono-5.18.1-s390x-ucontext.patch deleted file mode 100644 index aed1a23..0000000 --- a/mono-5.18.1-s390x-ucontext.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/mono/utils/mono-context.h 2019-03-22 04:57:54.560641101 +0000 -+++ b/mono/utils/mono-context.h 2019-03-22 04:58:27.765211676 +0000 -@@ -865,7 +865,7 @@ - - #define MONO_ARCH_HAS_MONO_CONTEXT 1 - --typedef struct ucontext MonoContext; -+typedef ucontext_t MonoContext; - - #define MONO_CONTEXT_SET_IP(ctx,ip) \ - do { \ diff --git a/mono-6.12.0-correct-alloc-free-for-zlib.patch b/mono-6.12.0-correct-alloc-free-for-zlib.patch new file mode 100644 index 0000000..d9c3b25 --- /dev/null +++ b/mono-6.12.0-correct-alloc-free-for-zlib.patch @@ -0,0 +1,35 @@ +From ed68c250b8589663601aa7dd88177697d0b37ec9 Mon Sep 17 00:00:00 2001 +From: jo-oe <38652639+jo-oe@users.noreply.github.com> +Date: Tue, 9 Apr 2024 16:57:39 +0200 +Subject: [PATCH] Correct the selection of alloc/free functions for zlib. + +Avoids segfault when working with zlib-ng. +See: +https://github.com/zlib-ng/zlib-ng/issues/1708 +--- + support/zlib-helper.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/support/zlib-helper.c b/support/zlib-helper.c +index 76d8951ad8a8a..a5fbc0138822d 100644 +--- a/support/zlib-helper.c ++++ b/support/zlib-helper.c +@@ -76,6 +76,8 @@ CreateZStream (gint compress, guchar gzip, read_write_func func, void *gchandle) + return NULL; + + z = z_new0 (z_stream); ++ z->zalloc = z_alloc; ++ z->zfree = z_free; + if (compress) { + retval = deflateInit2 (z, Z_DEFAULT_COMPRESSION, Z_DEFLATED, gzip ? 31 : -15, 8, Z_DEFAULT_STRATEGY); + } else { +@@ -86,8 +88,6 @@ CreateZStream (gint compress, guchar gzip, read_write_func func, void *gchandle) + free (z); + return NULL; + } +- z->zalloc = z_alloc; +- z->zfree = z_free; + result = z_new0 (ZStream); + result->stream = z; + result->func = func; + diff --git a/mono-6.14.0-arm64-fix-pointer-int.patch b/mono-6.14.0-arm64-fix-pointer-int.patch new file mode 100644 index 0000000..e38547c --- /dev/null +++ b/mono-6.14.0-arm64-fix-pointer-int.patch @@ -0,0 +1,26 @@ +From 2224c6915a98f870cc9a3a9f9e3698e7b20e3d27 Mon Sep 17 00:00:00 2001 +From: Esme Povirk +Date: Sat, 12 Apr 2025 20:31:54 +0000 +Subject: [PATCH] arm64: Fix a pointer-to-int cast size mismatch. + +--- + mono/utils/mono-sigcontext.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/mono/utils/mono-sigcontext.h b/mono/utils/mono-sigcontext.h +index 2153c1cad57..6426f44b7c7 100644 +--- a/mono/utils/mono-sigcontext.h ++++ b/mono/utils/mono-sigcontext.h +@@ -492,6 +492,12 @@ typedef struct ucontext { + #define UCONTEXT_REG_SP(ctx) (((ucontext_t*)(ctx))->uc_mcontext.sp) + #define UCONTEXT_REG_R0(ctx) (((ucontext_t*)(ctx))->uc_mcontext.regs [ARMREG_R0]) + #define UCONTEXT_GREGS(ctx) (&(((ucontext_t*)(ctx))->uc_mcontext.regs)) ++ #define UCONTEXT_REG_SET_PC(ctx, val) do { \ ++ UCONTEXT_REG_PC (ctx) = (gsize)(val); \ ++ } while (0) ++ #define UCONTEXT_REG_SET_SP(ctx, val) do { \ ++ UCONTEXT_REG_SP (ctx) = (val); \ ++ } while (0) + #endif + + #ifndef UCONTEXT_REG_SET_PC diff --git a/mono-4.6.1-aarch64.patch b/mono-6.6.0-aarch64.patch similarity index 79% rename from mono-4.6.1-aarch64.patch rename to mono-6.6.0-aarch64.patch index 4b6a546..8750e23 100644 --- a/mono-4.6.1-aarch64.patch +++ b/mono-6.6.0-aarch64.patch @@ -6,6 +6,6 @@ +#define ARCH_MIN_MS_BLOCK_SIZE (64*1024) +#define ARCH_MIN_MS_BLOCK_SIZE_SHIFT 16 - #ifdef __linux__ - #define REDZONE_SIZE 0 - #elif defined(__APPLE__) + #if defined(__APPLE__) + #define REDZONE_SIZE 128 + #else diff --git a/mono-6.6.0-fix-multi-arch-issue.patch b/mono-6.6.0-fix-multi-arch-issue.patch new file mode 100644 index 0000000..a395d88 --- /dev/null +++ b/mono-6.6.0-fix-multi-arch-issue.patch @@ -0,0 +1,15 @@ +--- a/mono/eglib/eglib-config.h.in 2020-10-12 14:57:46.354634946 +0200 ++++ b/mono/eglib/eglib-config.h.in 2020-10-12 15:00:10.106637683 +0200 +@@ -26,7 +26,11 @@ + typedef @GSIZE@ gsize; + typedef @GSSIZE@ gssize; + +-#define G_GSIZE_FORMAT @GSIZE_FORMAT@ ++#ifdef __i386__ ++#define G_GSIZE_FORMAT "u" ++#else ++#define G_GSIZE_FORMAT "lu" ++#endif + + #if defined (HOST_WATCHOS) + #undef G_BREAKPOINT diff --git a/mono-5.10.0-ignore-reference-assemblies.patch b/mono-6.6.0-ignore-reference-assemblies.patch similarity index 75% rename from mono-5.10.0-ignore-reference-assemblies.patch rename to mono-6.6.0-ignore-reference-assemblies.patch index a254e79..bfb4cdb 100644 --- a/mono-5.10.0-ignore-reference-assemblies.patch +++ b/mono-6.6.0-ignore-reference-assemblies.patch @@ -1,6 +1,6 @@ --- a/mcs/class/reference-assemblies/Makefile 2019-01-02 10:25:41.011999700 +0100 +++ b/mcs/class/reference-assemblies/Makefile 2019-01-02 10:27:20.591632515 +0100 -@@ -10,25 +10,11 @@ +@@ -10,29 +10,11 @@ $(MAKE) -C ../../../external/binary-reference-assemblies CSC="MONO_PATH=$(abspath $(topdir)/class/lib/$(BUILD_TOOLS_PROFILE)) $(INTERNAL_CSC)" install-local: @@ -14,6 +14,9 @@ - $(MKINSTALLDIRS) $(PROFILE_DIR)/4.6.1-api - $(MKINSTALLDIRS) $(PROFILE_DIR)/4.6.2-api - $(MKINSTALLDIRS) $(PROFILE_DIR)/4.7-api +- $(MKINSTALLDIRS) $(PROFILE_DIR)/4.7.1-api +- $(MKINSTALLDIRS) $(PROFILE_DIR)/4.7.2-api +- $(MKINSTALLDIRS) $(PROFILE_DIR)/4.8-api - $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5-api/Facades - $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5.1-api/Facades - $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5.2-api/Facades @@ -23,6 +26,7 @@ - $(MKINSTALLDIRS) $(PROFILE_DIR)/4.7-api/Facades - $(MKINSTALLDIRS) $(PROFILE_DIR)/4.7.1-api/Facades - $(MKINSTALLDIRS) $(PROFILE_DIR)/4.7.2-api/Facades +- $(MKINSTALLDIRS) $(PROFILE_DIR)/4.8-api/Facades + $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5 + ln -sf 4.5 $(PROFILE_DIR)/4.7-api + ln -sf 4.5 $(PROFILE_DIR)/4.6-api @@ -31,31 +35,17 @@ $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v2.0/*.dll $(PROFILE_DIR)/2.0-api $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v3.5/*.dll $(PROFILE_DIR)/3.5-api -@@ -67,13 +53,6 @@ - $(INSTALL_LIB) ../../../external/binary-reference-assemblies/mono/*.dll $(PROFILE_DIR)/4.7.2-api - rm -f $(PROFILE_DIR)/4.7.2-api/ICSharpCode.SharpZipLib.dll - -- # Unfortunately, a few programs (most notably NUnit and FSharp) have hardcoded checks for /lib/mono/4.0/mscorlib.dll or Mono.Posix.dll, -- # so we need to place something there or those tools break. We decided to symlink to the reference assembly for now. -- # See https://bugzilla.xamarin.com/show_bug.cgi?id=38331 and https://bugzilla.xamarin.com/show_bug.cgi?id=41052 -- $(MKINSTALLDIRS) $(PROFILE_DIR)/4.0 -- ln -sf ../4.0-api/mscorlib.dll $(PROFILE_DIR)/4.0/mscorlib.dll -- ln -sf ../4.0-api/Mono.Posix.dll $(PROFILE_DIR)/4.0/Mono.Posix.dll -- - DISTFILES = \ - $(wildcard ../../../external/binary-reference-assemblies/v4.7.2/Facades/*.dll) \ - $(wildcard ../../../external/binary-reference-assemblies/v4.7.1/Facades/*.dll) \ --- a/mcs/Makefile 2018-03-03 06:32:13.642690150 +0100 +++ b/mcs/Makefile 2018-03-03 06:32:54.699643624 +0100 -@@ -40,7 +40,7 @@ +@@ -43,7 +43,7 @@ # fun specialty targets -PROFILES = net_4_x binary_reference_assemblies xbuild_12 xbuild_14 +PROFILES = net_4_x xbuild_12 xbuild_14 - .PHONY: all-profiles $(STD_TARGETS:=-profiles) - all-profiles $(STD_TARGETS:=-profiles): %-profiles: profiles-do--% + .PHONY: all-profiles compiler-test-profiles run-compiler-test-profiles $(STD_TARGETS:=-profiles) + all-profiles compiler-test-profiles run-compiler-test-profiles $(STD_TARGETS:=-profiles): %-profiles: profiles-do--% @@ -65,7 +65,6 @@ _boot_ = all clean install $(_boot_:%=profile-do--xbuild_14--%): profile-do--xbuild_14--%: profile-do--net_4_x--% @@ -66,9 +56,9 @@ $(_boot_:%=profile-do--monodroid_tools--%): profile-do--monodroid_tools--%: profile-do--build--% --- a/mcs/build/Makefile 2018-03-03 07:18:20.662959369 +0100 +++ b/mcs/build/Makefile 2018-03-03 07:18:33.303253408 +0100 -@@ -19,7 +19,6 @@ +@@ -18,7 +18,6 @@ + PLATFORMS = macos linux win32 unix PROFILES = \ - basic \ build \ - binary_reference_assemblies \ net_4_x \ @@ -76,7 +66,7 @@ xbuild_14 --- a/runtime/Makefile.in 2018-03-03 14:06:44.691631197 +0100 +++ b/runtime/Makefile.in 2018-03-03 14:07:07.241155116 +0100 -@@ -80,7 +80,7 @@ +@@ -90,7 +90,7 @@ host_triplet = @host@ target_triplet = @target@ @INSTALL_4_x_TRUE@am__append_1 = etc/mono/4.0/machine.config etc/mono/4.0/web.config etc/mono/4.5/web.config etc/mono/4.0/Browsers/Compat.browser etc/mono/4.5/Browsers/Compat.browser diff --git a/mono-5.18.0-roslyn-binaries.patch b/mono-6.6.0-roslyn-binaries.patch similarity index 73% rename from mono-5.18.0-roslyn-binaries.patch rename to mono-6.6.0-roslyn-binaries.patch index e8c79aa..c957712 100644 --- a/mono-5.18.0-roslyn-binaries.patch +++ b/mono-6.6.0-roslyn-binaries.patch @@ -1,8 +1,8 @@ --- a/mcs/packages/Makefile 2019-02-21 04:53:46.843939657 +0000 +++ b/mcs/packages/Makefile 2019-02-21 04:53:40.111824983 +0000 -@@ -40,15 +40,19 @@ +@@ -42,11 +42,13 @@ - install-local: install-prototypes + install-local: $(MKINSTALLDIRS) $(TARGET_DIR) +ifndef MCS_MODE $(INSTALL_LIB) $(ROSLYN_FILES_FOR_MONO) $(TARGET_DIR) @@ -12,11 +12,5 @@ (cd $(MSBUILD_ROSLYN_DIR); for asm in $(ROSLYN_FILES_FOR_MONO); do ln -fs ../../../../$(FRAMEWORK_VERSION)/$$(basename $$asm) . ; done) +endif - install-prototypes: - $(MKINSTALLDIRS) $(TARGET_DIR)/dim -+ifndef MCS_MODE - $(INSTALL_LIB) $(ROSLYN_DIM_FILES) $(TARGET_DIR)/dim -+endif - run-test-local: test-csi diff --git a/mono-configure-c99.patch b/mono-configure-c99.patch new file mode 100644 index 0000000..0f78563 --- /dev/null +++ b/mono-configure-c99.patch @@ -0,0 +1,76 @@ +The thread start routine must return void *, and int and void * +are distinct types. Compilers increasingly issue errors instead +of warnings for such type errors, and this causes the configure +probe to fail unconditionally, even if the system supports +__thread variables. + +Submitted upstream: + +diff --git a/configure.ac b/configure.ac +index bbbd1622d9728859..5a3a5770c8a3cdb6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2833,14 +2833,16 @@ if test x$host_win32 = xno; then + __thread int i; + static int res1, res2; + +- void thread_main (void *arg) ++ void *thread_main (void *parg) + { ++ int arg = *(int *)parg; + i = arg; + sleep (1); + if (arg == 1) + res1 = (i == arg); + else + res2 = (i == arg); ++ return NULL; + } + + int main () { +@@ -2848,8 +2850,10 @@ if test x$host_win32 = xno; then + + i = 5; + +- pthread_create (&t1, NULL, thread_main, 1); +- pthread_create (&t2, NULL, thread_main, 2); ++ int one = 1; ++ pthread_create (&t1, NULL, thread_main, &one); ++ int two = 2; ++ pthread_create (&t2, NULL, thread_main, &two); + + pthread_join (t1, NULL); + pthread_join (t2, NULL); +--- a/configure 2023-06-14 17:18:48.000000000 +0200 ++++ b/configure 2023-12-09 10:41:58.001084368 +0100 +@@ -24906,14 +24894,16 @@ + __thread int i; + static int res1, res2; + +- void thread_main (void *arg) ++ void *thread_main (void *parg) + { ++ int arg = *(int *)parg; + i = arg; + sleep (1); + if (arg == 1) + res1 = (i == arg); + else + res2 = (i == arg); ++ return NULL; + } + + int main () { +@@ -24921,8 +24911,10 @@ + + i = 5; + +- pthread_create (&t1, NULL, thread_main, 1); +- pthread_create (&t2, NULL, thread_main, 2); ++ int one = 1; ++ pthread_create (&t1, NULL, thread_main, &one); ++ int two = 2; ++ pthread_create (&t2, NULL, thread_main, &two); + + pthread_join (t1, NULL); + pthread_join (t2, NULL); diff --git a/mono-find-provides b/mono-find-provides new file mode 100755 index 0000000..c410489 --- /dev/null +++ b/mono-find-provides @@ -0,0 +1,42 @@ +#!/usr/bin/bash +# +# mono-find-provides +# +# Authors: +# Ben Maurer (bmaurer@ximian.com) +# +# (C) 2005 Novell (http://www.novell.com) +# +# Args: builddir buildroot libdir + +IFS=$'\n' +filelist=($(grep -Ev "$3/doc/|$3/share/doc/")) +monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$")) + +# If monodis is in the package being installed, use that one +# This is to support building mono +build_bindir="$2$3/bin" +build_libdir="$2$3/$4" + +if [ -x $build_bindir/monodis ]; then + monodis="$build_bindir/monodis" + export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} +elif [ -x $3/bin/monodis ]; then + monodis="$3/bin/monodis" +else + exit 0; +fi + +export MONO_SHARED_DIR=$1 + +for i in "${monolist[@]}"; do + ($monodis --assembly $i | awk ' + BEGIN { LIBNAME=""; VERSION=""; } + /^Version:/ { VERSION=$2 } + /^Name:/ { LIBNAME=$2 } + END { + if (VERSION && LIBNAME) + print "mono(" LIBNAME ") = " VERSION + } + ') 2>/dev/null +done diff --git a/mono-find-requires b/mono-find-requires new file mode 100755 index 0000000..c87b5f6 --- /dev/null +++ b/mono-find-requires @@ -0,0 +1,86 @@ +#!/usr/bin/bash +# +# mono-find-requires +# +# Authors: +# Ben Maurer (bmaurer@ximian.com) +# +# (C) 2005 Novell (http://www.novell.com) +# +# Args: builddir buildroot libdir + +IFS=$'\n' +filelist=($(grep -Ev "$3/doc/|$3/share/doc/")) +monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$")) + +# If monodis is in the package being installed, use that one +# This is to support building mono +build_bindir="$2$3/bin" +build_libdir="$2$3/$4" + +if [ -x $build_bindir/monodis ]; then + monodis="$build_bindir/monodis" + export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} +elif [ -x $3/bin/monodis ]; then + monodis="$3/bin/monodis" +else + exit 0; +fi + +export MONO_SHARED_DIR=$1 + +REQUIRES=$( + for i in "${monolist[@]}"; do + ($monodis --assemblyref $i | awk ' + BEGIN { START=0; LIBNAME=""; VERSION=""; } + (START==0) && /^[0-9]+: Version=/ { + START=1; + sub(/Version=/, "", $2); + VERSION=$2 + } + + (START==1) && /^\tName=/ { + sub(/Name=/, "", $1); + LIBNAME=$1 + + print "mono(" LIBNAME ") = " VERSION + START=0 + } + ') 2> /dev/null + done +) + +PROVIDES=$( + for i in "${monolist[@]}"; do + ($monodis --assembly $i | awk ' + BEGIN { LIBNAME=""; VERSION=""; } + /^Version:/ { VERSION=$2 } + /^Name:/ { LIBNAME=$2 } + END { + if (VERSION && LIBNAME) + print "mono(" LIBNAME ") = " VERSION + } + ') 2>/dev/null + done +) +# +# This is a little magic trick to get all REQUIRES that are not +# in PROVIDES. While RPM functions correctly when such deps exist, +# they make the metadata a bit bloated. +# + +# Filter out dups from both lists +REQUIRES=$(echo "$REQUIRES" | sort | uniq) +PROVIDES=$(echo "$PROVIDES" | sort | uniq) + +# +# Get a list of elements that exist in exactly one of PROVIDES or REQUIRES +# +UNIQ=$(echo "$PROVIDES +$REQUIRES" | sort | uniq -u) + +# +# Of those, only chose the ones that are in REQUIRES +# +echo "$UNIQ +$REQUIRES" | sort | uniq -d diff --git a/mono.attr b/mono.attr new file mode 100644 index 0000000..e21f93b --- /dev/null +++ b/mono.attr @@ -0,0 +1,3 @@ +%__mono_provides %{_rpmconfigdir}/mono-find-provides %{_builddir}/%{?buildsubdir} %{buildroot} %{_prefix} %{_lib} +%__mono_requires %{_rpmconfigdir}/mono-find-requires %{_builddir}/%{?buildsubdir} %{buildroot} %{_prefix} %{_lib} +%__mono_magic Mono/.Net assembly diff --git a/mono.spec b/mono.spec index f4522be..3bb7074 100644 --- a/mono.spec +++ b/mono.spec @@ -1,8 +1,9 @@ +%bcond_with bootstrap + %ifarch s390x # workaround https://github.com/mono/mono/issues/9009#issuecomment-477073609 %undefine _hardened_build %endif -%global bootstrap 0 %if 0%{?el6} # see https://fedorahosted.org/fpc/ticket/395, it was added to el7 %global mono_arches %{ix86} x86_64 sparc sparcv9 ia64 %{arm} alpha s390x ppc ppc64 ppc64le @@ -15,40 +16,52 @@ %global _monogacdir %{_monodir}/gac %endif -%if 0%{?rhel}%{?el6}%{?el7} || 0%{?bootstrap} +%if 0%{?rhel}%{?el6}%{?el7} || %{with bootstrap} # to resolve: "ERROR: No build ID note found" %undefine _missing_build_ids_terminate_build %endif -%global xamarinrelease 3 Name: mono -Version: 5.18.1 -Release: 7%{?dist} +Version: 6.14.1 +Release: 2%{?dist} Summary: Cross-platform, Open Source, .NET development framework License: MIT URL: http://www.mono-project.com -Source0: http://download.mono-project.com/sources/mono/mono-%{version}.%{xamarinrelease}.tar.bz2 +Source0: https://dl.winehq.org/mono/sources/mono/%{name}-%{version}.tar.xz # This key was generated by Tom "spot" Callaway on Dec 1, 2009 # by running the following command: # sn -k mono.snk # You should not regenerate this unless you have a really, really, really good reason. Source1: mono.snk -Patch0: mono-5.10.0-ignore-reference-assemblies.patch +# These scripts were taken from rpm-build in Fedora 30 +# They're significantly different from what is included in the mono sources. +Source2: mono-find-provides +Source3: mono-find-requires +Source4: mono.attr +Patch0: mono-6.6.0-ignore-reference-assemblies.patch Patch1: mono-4.2.1-ppc.patch Patch2: mono-5.10.0-find-provides.patch Patch3: mono-4.2-fix-winforms-trayicon.patch -Patch4: mono-4.6.1-aarch64.patch -Patch5: mono-5.18.1-s390x-ucontext.patch -Patch6: mono-5.18.0-roslyn-binaries.patch -Patch7: mono-5.18.0-use-mcs.patch -Patch8: mono-5.18.0-use-v471.patch -Patch9: mono-5.18.0-reference-assemblies-fix.patch -Patch10: mono-5.18.0-sharpziplib-parent-path-traversal.patch -Patch11: mono-5.18.1-python3.patch -Patch12: mono-5.18.1-s390x-build.patch -Patch13: mono-5.18.0-largearraybuilder.patch +Patch4: mono-6.6.0-aarch64.patch +Patch5: mono-6.6.0-roslyn-binaries.patch +Patch6: mono-5.18.0-use-mcs.patch +Patch7: mono-5.18.0-reference-assemblies-fix.patch +Patch8: mono-5.18.0-sharpziplib-parent-path-traversal.patch +# Fix NRE bug in api-doc-tools: https://github.com/mono/api-doc-tools/pull/464 +Patch10: 0001-DocumentationEnumerator.cs-Declare-iface-and-ifaceMe.patch +# Replace new Csharp features with old to allow mdoc to build +# https://github.com/mono/api-doc-tools/pull/463 +Patch11: 0001-Replace-new-Csharp-features-with-old-ones.patch +# Reenable mdoc build. To be upstreamed after Patch 10 and 11 +Patch12: 0001-Reenable-mdoc.exe-build.patch +# fix issue with conflicts between i686 and x86_64 package (#1853724) +Patch13: mono-6.6.0-fix-multi-arch-issue.patch +Patch14: mono-configure-c99.patch +Patch15: mono-6.12.0-correct-alloc-free-for-zlib.patch +Patch16: mono-6.14.0-arm64-fix-pointer-int.patch +BuildRequires: make BuildRequires: bison BuildRequires: python%{python3_pkgversion} BuildRequires: cmake @@ -63,14 +76,12 @@ BuildRequires: perl-Getopt-Long # Yes, mono actually depends on itself, because # we deleted the bootstrapping binaries. If you -# need to bootstrap mono, comment out this BuildRequires -# and don't delete the binaries in %%prep. +# need to bootstrap mono, set _with_bootstrap at the top +# which results in not deleting the binaries in %%prep. -%if 0%{bootstrap} -# for bootstrap, use bundled monolite and reference assemblies instead of local mono -%else -BuildRequires: mono-core >= 5.0 -BuildRequires: mono-devel >= 5.0 +%if %{without bootstrap} +BuildRequires: mono-core >= 6.12 +BuildRequires: mono-devel >= 6.12 %endif # JIT only available on these: @@ -89,7 +100,7 @@ metadata access libraries. %package core Summary: The Mono CIL runtime, suitable for running .NET code Requires: libgdiplus -#dependency requiered for install +#dependency required for install Provides: mono(System.Collections.Immutable) = 1.2.0.0 Provides: mono(System.Diagnostics.StackTrace) = 4.0.2.0 Provides: mono(System.IO) = 4.0.10.0 @@ -173,7 +184,7 @@ assemblies: Microsoft.Vsa, System.Configuration.Install, System.Management, System.Messaging. %package reactive -License: MIT License (or similar) ; Apache License 2.0 +License: MIT AND Apache-2.0 Summary: Reactive Extensions for Mono core libraries Requires: mono-core = %{version}-%{release} @@ -182,7 +193,7 @@ Reactive Extensions for Mono, this packages don't depend on desktop-specific features. %package reactive-winforms -License: MIT License (or similar) ; Apache License 2.0 +License: MIT AND Apache-2.0 Summary: Reactive Extensions for Mono desktop-specific libraries Requires: mono-core = %{version}-%{release} Requires: mono-reactive = %{version}-%{release} @@ -247,7 +258,7 @@ data providers. %package data-sqlite Summary: sqlite database connectivity for Mono Requires: mono-core = %{version}-%{release} -Requires: sqlite +Requires: sqlite-libs%{?_isa} %description data-sqlite This package contains the ADO.NET Data provider for the sqlite @@ -321,29 +332,39 @@ not install anything from outside the mono source (XSP, mono-basic, etc.). %{nil} %prep -%setup -q -n %{name}-%{version}.%{xamarinrelease} +%setup -q -n %{name}-%{version} -%patch0 -p1 +%patch -P 0 -p1 %ifarch ppc ppc64 ppc64le s390x -%patch1 -p1 +%patch -P 1 -p1 %endif -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 +%patch -P 2 -p1 +%patch -P 3 -p1 +%patch -P 4 -p1 +%patch -P 5 -p1 +%patch -P 6 -p1 +%patch -P 7 -p1 +%patch -P 8 -p1 +pushd external/api-doc-tools +%patch -P 10 -p1 +%patch -P 11 -p1 +popd +%patch -P 12 -p1 +%patch -P 13 -p1 +%patch -P 14 -p1 +%patch -P 15 -p1 +%patch -P 16 -p1 + +# don't build mono-helix-client which requires the helix-binaries to build +sed -i 's|mono-helix-client||g' mcs/tools/Makefile + +# use v4.7.1 instead of v4.7 +sed -i 's|BOOTSTRAP_BIN_PROFILE = v4.7|BOOTSTRAP_BIN_PROFILE = v4.7.1|g' mcs/build/profiles/build.make # Remove hardcoded lib directory for libMonoPosixHelper.so from the config sed -i 's|$mono_libdir/||g' data/config.in -%if 0%{bootstrap} +%if %{with bootstrap} # for bootstrap, keep some binaries find . -name "*.dll" -not -path "./mcs/class/lib/monolite-linux/*" -not -path "./external/binary-reference-assemblies/v4.7.1/*" -print -delete find . -name "*.exe" -not -path "./mcs/class/lib/monolite-linux/*" -print -delete @@ -353,10 +374,17 @@ rm -rf mcs/class/lib/monolite-linux/* find . -name "*.dll" -print -delete find . -name "*.exe" -print -delete # use the binaries from the currently installed mono -cd external/binary-reference-assemblies && mv v4.7.1 v4.7.1.tobuild && ln -s /usr/lib/mono/4.7.1-api v4.7.1 && cd - +cd external/binary-reference-assemblies && mv v4.7.1 v4.7.1.tobuild && ln -s %{_monodir}/4.7.1-api v4.7.1 && cd - %endif %build +# TODO: Please submit an issue to upstream (rhbz#2380917) +export CMAKE_POLICY_VERSION_MINIMUM=3.5 +# This package fails to build with LTO on ppc64le. Root cause analysis has not been +# done. For now disable LTO +%ifarch ppc64le +%define _lto_cflags %{nil} +%endif %ifarch s390x # either mono C code relies on undefined behaviour or gcc is even more broken than earlier RPM_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | sed -e 's/-O2 /-O1 /g') @@ -371,6 +399,7 @@ export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +export LD_LIBRARY_PATH=`pwd`/mono/native/.libs make %{?_smp_mflags} # rebuild the reference assemblies @@ -379,6 +408,7 @@ find ./external/binary-reference-assemblies/v4.7.1/ -name \*.dll -print -delete BUILD_PATH=`pwd` && cd ./external/binary-reference-assemblies/ && MONO_PATH=$BUILD_PATH/mcs/class/lib/net_4_x-linux/ V=1 CSC="$BUILD_PATH/runtime/mono-wrapper $BUILD_PATH/mcs/class/lib/net_4_x-linux/mcs.exe" make -C v4.7.1 %install +export LD_LIBRARY_PATH=`pwd`/mono/native/.libs make install DESTDIR=%{buildroot} # copy the mono.snk key into /etc/pki/mono @@ -394,7 +424,7 @@ cp external/binary-reference-assemblies/v4.7.1/*.dll %{buildroot}%{_monodir}/4.7 rm -f %{buildroot}%{_libdir}/*.la # remove Windows-only stuff rm -rf %{buildroot}%{_monodir}/*/Mono.Security.Win32* -rm -f %{buildroot}%{_libdir}/libMonoSupportW.* +#rm -f %{buildroot}%{_libdir}/libMonoSupportW.* # remove .a files for libraries that are really only for us rm %{buildroot}%{_libdir}/*.a # remove libgc cruft @@ -426,9 +456,11 @@ rm -f %{buildroot}%{_libdir}/pkgconfig/mono-nunit.pc # remove dmcs because it requires the .net 4.0 sdk but we only deliver 4.5 with Fedora (#1294967) rm -f %{buildroot}%{_bindir}/dmcs -# remove csc +# remove wrapper scripts for roslyn-binaries rm -f %{buildroot}%{_bindir}/csc rm -f %{buildroot}%{_bindir}/csc-dim +rm -f %{buildroot}%{_bindir}/csi +rm -f %{buildroot}%{_bindir}/vbc # drop prj2make because the binary is not built anymore rm -f %{buildroot}%{_bindir}/prj2make @@ -443,21 +475,37 @@ mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_bindir} rm -f %{buildroot}%{_libdir}/pkgconfig/cecil.pc # remove msbuild / microsoft binary files -rm -rf %{buildroot}/usr/lib/mono/msbuild +rm -rf %{buildroot}%{_monodir}/msbuild # we have btls debug files -rm -rf %{buildroot}/usr/lib/debug/usr/lib64/libmono-btls-shared.so-*.debug +rm -rf %{buildroot}/usr/lib/debug%{_libdir}/libmono-btls-shared.so-*.debug + +# drop other debug files as well +rm -rf %{buildroot}/usr/lib/debug%{_libdir}/libmono-native.so*.debug +rm -rf %{buildroot}/usr/lib/debug%{_bindir}/mono-hang-watchdog-*.debug # create a symbolic link so that Fedora packages targetting Framework 4.5 will still build -cd %{buildroot}/usr/lib/mono && ln -s 4.7.1-api 4.5-api && cd - +cd %{buildroot}%{_monodir} && ln -s 4.7.1-api 4.5-api && cd - # as requested in bug 1704861; we have had that link in F29 with Mono 4.8 as well. -cd %{buildroot}/usr/lib/mono && ln -s 4.7.1-api 4.0-api && cd - +cd %{buildroot}%{_monodir} && ln -s 4.7.1-api 4.0-api && cd - + +# for Epel7, we don't deliver these files, they are still provided by rpm-build-4.11.3-43.el7.x86_64 +%if 0%{?el7}%{?el8} == 0 +# rpm helper scripts +mkdir -p %{buildroot}%{_fileattrsdir} +install -p -m755 %{SOURCE2} %{SOURCE3} %{buildroot}%{_rpmconfigdir} +install -p -m644 %{SOURCE4} %{buildroot}%{_fileattrsdir} +%endif + +# remove these files, we are using the files installed in /usr/lib/rpm/ +rm %{buildroot}%{_bindir}/mono-find-requires +rm %{buildroot}%{_bindir}/mono-find-provides %find_lang mcs -%post +%post core %{?ldconfig} -cert-sync /etc/pki/tls/certs/ca-bundle.crt +%{_bindir}/cert-sync --quiet /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem %ldconfig_postun @@ -475,7 +523,6 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %{_bindir}/mono-sgen %{_bindir}/mono-sgen-gdb.py %{_bindir}/mono-package-runtime -%{_bindir}/monograph %{_bindir}/sgen-grep-binprot %dir %{_libdir}/mono %dir %{_libdir}/mono/lldb @@ -487,11 +534,9 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %mono_bin ikdasm %mono_bin lc %{_bindir}/gacutil2 -%{_bindir}/csi %{_bindir}/mcs %{_monodir}/4.5/mcs.* %{_monodir}/4.5/mono-api-diff.* -%{_bindir}/vbc %mono_bin mozroots %mono_bin pdb2mdb %mono_bin setreg @@ -512,7 +557,8 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %{_mandir}/man1/lc.1.gz %{_mandir}/man1/mprof-report.1.gz %{_libdir}/libMonoPosixHelper.so* -%{_libdir}/libmono-system-native.so* +%{_libdir}/libMonoSupportW.so* +%{_libdir}/libmono-native.so* %dir %{_monodir} %dir %{_monodir}/4.5 %dir %{_monodir}/4.5/Facades @@ -597,6 +643,7 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %gac_dll System.Workflow.ComponentModel %gac_dll System.Workflow.Runtime %gac_dll Mono.Profiler.Log +%{_bindir}/mono-hang-watchdog %files devel %{_sysconfdir}/pki/mono/ @@ -627,10 +674,8 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %mono_bin mkbundle %mono_bin makecert %mono_bin mono-cil-strip -%{_bindir}/mono-find-provides -%{_bindir}/mono-find-requires %{_bindir}/monodis -%mono_bin monolinker +%{_bindir}/monolinker %mono_bin mono-shlib-cop %mono_bin mono-xmltool %mono_bin monop @@ -714,10 +759,21 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %{_libdir}/pkgconfig/wcf.pc %{_libdir}/pkgconfig/xbuild12.pc %{_includedir}/mono-2.0/mono/jit/jit.h +%{_includedir}/mono-2.0/mono/jit/mono-private-unstable.h %{_includedir}/mono-2.0/mono/metadata/*.h %{_includedir}/mono-2.0/mono/utils/*.h %{_includedir}/mono-2.0/mono/cil/opcode.def +# for Epel7, we don't deliver these files, they are still provided by rpm-build-4.11.3-43.el7.x86_64 +%if 0%{?el7}%{?el8} == 0 +%{_rpmconfigdir}/mono-find-* +%{_fileattrsdir}/mono.attr +%endif + +%{_bindir}/aprofutil +%mono_bin aprofutil +%{_mandir}/man1/aprofutil.1.gz + %files locale-extras %gac_dll I18N.CJK %gac_dll I18N.MidEast @@ -875,6 +931,7 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %endif %mono_bin mdoc %{_bindir}/mod +%{_bindir}/mdoc %{_bindir}/mdoc-* %{_bindir}/mdass* %{_bindir}/mdval* @@ -889,6 +946,143 @@ cert-sync /etc/pki/tls/certs/ca-bundle.crt %files complete %changelog +* Tue Nov 11 2025 Cristian Le - 6.14.1-2 +- Allow to build with CMake 4.0 (rhbz#2380917) + +* Sat Nov 08 2025 Timotheus Pokorra - 6.14.1-1 +- Upgrade to Mono 6.14.1 + +* Thu Jul 24 2025 Fedora Release Engineering - 6.12.0-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Wed Jul 23 2025 Frantisek Krenzelok - 6.12.0-20 +- Change the certificate bundle used to popule Mono certificate store +- https://fedoraproject.org/wiki/Changes/dropingOfCertPemFile + +* Fri Jan 17 2025 Fedora Release Engineering - 6.12.0-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jul 18 2024 Fedora Release Engineering - 6.12.0-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Apr 12 2024 Jonas Özbay - 6.12.0-17 +- Correct the selection of alloc/free functions for zlib. (as in PR #21759 upstream) + +* Thu Jan 25 2024 Fedora Release Engineering - 6.12.0-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 6.12.0-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Dec 9 2023 Florian Weimer - 6.12.0-14 +- Fix C compatibility issue in the configure script + +* Sat Aug 12 2023 Timotheus Pokorra - 6.12.0-13 +- Upgrade to Mono 6.12.0.199 + +* Thu Jul 20 2023 Fedora Release Engineering - 6.12.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 6.12.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Dec 27 2022 msuchy - 6.12.0-10 +- Migrate to SPDX license + +* Thu Jul 21 2022 Fedora Release Engineering - 6.12.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jun 16 2022 Timotheus Pokorra - 6.12.0-8 +- Upgrade to Mono 6.12.0.182 + +* Fri Feb 11 2022 Timotheus Pokorra - 6.12.0-7 +- Fixing license for mono-reactive packages, fixing bug 2025856 + +* Thu Jan 20 2022 Fedora Release Engineering - 6.12.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 6.12.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sat Feb 27 2021 Timotheus Pokorra - 6.12.0-4 +- Upgrade to Mono 6.12.0.122 + +* Mon Feb 22 2021 Timotheus Pokorra - 6.12.0-3 +- backport patch: fix early return in Process.Start (#1839410) + +* Tue Jan 26 2021 Fedora Release Engineering - 6.12.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Dec 22 2020 Timotheus Pokorra - 6.12.0-1 +- Upgrade to Mono 6.12.0.107 + +* Tue Oct 27 2020 Timotheus Pokorra - 6.12.0-0 +- Upgrade to Mono 6.12.0.90 + +* Mon Oct 12 2020 Timotheus Pokorra - 6.10.0-1 +- fix issue with conflicts between i686 and x86_64 package (#1853724) + +* Mon Sep 28 2020 Timotheus Pokorra - 6.10.0-0 +- Upgrade to Mono 6.10.0.104 + +* Fri Aug 21 2020 François Cami - 6.8.0-6 +- Ship libMonoSupportW.so + +* Tue Aug 11 2020 Jeff Law - 6.8.0-5 +- Disable LTO on ppc64le + +* Sat Aug 01 2020 Fedora Release Engineering - 6.8.0-4 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 6.8.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Jun 27 2020 Jeff Smith - 6.8.0-2 +- Remove wrapper scripts for unbuilt csi.exe and vbc.exe + +* Fri Jun 19 2020 Timotheus Pokorra - 6.8.0-1 +- build without bootstrap + +* Fri Jun 19 2020 Timotheus Pokorra - 6.8.0-0 +- upgrade to Mono 6.8.0.123, with a bootstrap build + +* Mon Feb 03 2020 Robert-André Mauchin - 6.6.0-5 +- Reenable mdoc build (#1797360) + +* Mon Feb 03 2020 Timotheus Pokorra - 6.6.0-4 +- drop more bash scripts for mdoc, because mdoc does not build with mcs anymore + +* Mon Feb 03 2020 Timotheus Pokorra - 6.6.0-3 +- drop bash script for mdoc, because mdoc does not build with mcs anymore + +* Wed Jan 29 2020 Fedora Release Engineering - 6.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Jan 20 2020 Timotheus Pokorra - 6.6.0-1 +- build again without bootstrap + +* Sat Jan 18 2020 Timotheus Pokorra - 6.6.0-0 +- upgrade to Mono 6.6.0.161, with a bootstrap build + +* Sun Oct 13 2019 Peter Oliver - 5.20.1-1 +- Post script must belong to a subpackage, since there is no main package. + +* Wed Aug 07 2019 Timotheus Pokorra - 5.20.1-1 +- build again without bootstrap + +* Tue Aug 06 2019 Timotheus Pokorra - 5.20.1-0 +- upgrade to Mono 5.20.1.34, with a bootstrap build + +* Tue Jul 30 2019 Tom Callaway - 5.18.1-10 +- add rpm helper scripts (formerly in rpm-build) + +* Thu Jul 25 2019 Fedora Release Engineering - 5.18.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jul 17 2019 Timotheus Pokorra - 5.18.1-8 +- upgrade to Mono 5.18.1.28 + * Tue May 14 2019 Timotheus Pokorra - 5.18.1-7 - adding link 4.0-api, fixes bug 1704861 diff --git a/sources b/sources index 7271f6b..808f713 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mono-5.18.1.3.tar.bz2) = 7e43d8ebaeb8d355a019606434559f592da6e01124cf2f53f434c8941765a985d2d8c959f8b2aac2ae68b0fa6f549ee368e1ded422f26fc457f929ce3a3767ed +SHA512 (mono-6.14.1.tar.xz) = c16a2ecbfce93db20a7a6d11b6406c8764f5694355c1ce82081399cd7ab6d8b22e7f8fb21f7af78967b34ef54dcb682917b8cf22d61f1b72be996d1a42e9f1b9