SHA256
1
0
forked from pool/mono-core

Accepting request 536289 from Mono:Factory

1

OBS-URL: https://build.opensuse.org/request/show/536289
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mono-core?expand=0&rev=113
This commit is contained in:
Dominique Leuenberger 2017-10-28 12:18:55 +00:00 committed by Git OBS Bridge
commit f858128ef5
9 changed files with 589 additions and 136 deletions

View File

@ -1,28 +0,0 @@
From e6e0fb82261340f9181d1b2b11a9706a16c5dbc7 Mon Sep 17 00:00:00 2001
From: Zoltan Varga <vargaz@gmail.com>
Date: Fri, 4 Aug 2017 11:39:28 -0400
Subject: [PATCH] [btls] Disable BUILD_SHARED_LIBS while building boringssl, so
its symbols are not exported from the btls shared lib. (#5307)
---
mono/btls/CMakeLists.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mono/btls/CMakeLists.txt b/mono/btls/CMakeLists.txt
index 9f2365d3e50..d33038d75cf 100644
--- a/mono/btls/CMakeLists.txt
+++ b/mono/btls/CMakeLists.txt
@@ -31,7 +31,10 @@ set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} ${BTLS_CFLAGS}")
set (CMAKE_MACOSX_RPATH 1)
set (MONO_BTLS 1)
+set(BUILD_SHARED_LIBS_SAVED "${BUILD_SHARED_LIBS}")
+set(BUILD_SHARED_LIBS OFF)
add_subdirectory (${BTLS_ROOT} boringssl)
+set(BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS_SAVED}")
include_directories (
${SRC_DIR}
--
2.11.0

33
bug-57918.patch Normal file
View File

@ -0,0 +1,33 @@
From b2250d8ecf56f71ea4c2c7271ac138d1f0196136 Mon Sep 17 00:00:00 2001
From: Katelyn Gadd <kg@luminance.org>
Date: Mon, 11 Sep 2017 17:26:04 -0700
Subject: [PATCH] Fix bug 57918: Async Socket reads that need to perform
multiple underlying read operations fail to return a correct total # of bytes
read
---
mcs/class/System/System.Net.Sockets/Socket.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mcs/class/System/System.Net.Sockets/Socket.cs b/mcs/class/System/System.Net.Sockets/Socket.cs
index d19756b6c300..3821602fbbda 100644
--- a/mcs/class/System/System.Net.Sockets/Socket.cs
+++ b/mcs/class/System/System.Net.Sockets/Socket.cs
@@ -1902,7 +1902,7 @@ static void BeginSendCallback (SocketAsyncResult sockares, int sent_so_far)
sockares.Size -= total;
if (sockares.socket.CleanedUp) {
- sockares.Complete (total);
+ sockares.Complete (sent_so_far);
return;
}
@@ -1914,7 +1914,7 @@ static void BeginSendCallback (SocketAsyncResult sockares, int sent_so_far)
sockares.Total = sent_so_far;
}
- sockares.Complete (total);
+ sockares.Complete (sent_so_far);
}
[CLSCompliant (false)]

93
bug-59608.patch Normal file
View File

@ -0,0 +1,93 @@
diff -uprN mono-5.4.0.201/external/api-snapshot/profiles/net_4_x/PEAPI.cs mono-5.4.0.201.new/external/api-snapshot/profiles/net_4_x/PEAPI.cs
--- mono-5.4.0.201/external/api-snapshot/profiles/net_4_x/PEAPI.cs 2017-10-04 18:31:32.000000000 +0300
+++ mono-5.4.0.201.new/external/api-snapshot/profiles/net_4_x/PEAPI.cs 2017-10-24 05:28:58.773995162 +0300
@@ -473,6 +473,7 @@ namespace PEAPI
}
public enum ImplAttr
{
+ AggressiveInlining = 256,
ForwardRef = 16,
IL = 0,
InternalCall = 4096,
diff -uprN mono-5.4.0.201/mono/mini/iltests.il mono-5.4.0.201.new/mono/mini/iltests.il
--- mono-5.4.0.201/mono/mini/iltests.il 2017-10-04 18:30:42.000000000 +0300
+++ mono-5.4.0.201.new/mono/mini/iltests.il 2017-10-24 05:30:44.849696785 +0300
@@ -2896,4 +2896,50 @@ END:
IL_0018: ldloc.0
ret
}
+
+ .method private hidebysig static void fail_inline() cil managed
+ {
+ // Code size 9 (0x9)
+ .maxstack 8
+ IL_0000: ldc.i4.s 16
+ IL_0002: conv.u
+ IL_0003: ldc.i4.1
+ IL_0004: mul.ovf.un
+ IL_0005: localloc
+ IL_0007: pop
+ IL_0008: ret
+ }
+
+ .method private hidebysig static int32
+ always_inline(int32 op) cil managed aggressiveinlining
+ {
+ // Code size 24 (0x18)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: brfalse.s IL_0009
+
+ IL_0003: ldarg.0
+ IL_0004: ldc.i4.2
+ IL_0005: beq.s IL_000b
+
+ IL_0007: br.s IL_000d
+
+ IL_0009: ldc.i4.0
+ IL_000a: ret
+
+ IL_000b: ldc.i4.3
+ IL_000c: ret
+
+ IL_000d: call void Tests::fail_inline()
+ IL_0012: newobj instance void [mscorlib]System.Exception::.ctor()
+ IL_0017: throw
+ }
+
+ .method public hidebysig static int32 test_3_regress_59608() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldc.i4.2
+ IL_0001: call int32 Tests::always_inline(int32)
+ IL_000c: ret
+ }
}
diff -uprN mono-5.4.0.201/mono/mini/method-to-ir.c mono-5.4.0.201.new/mono/mini/method-to-ir.c
--- mono-5.4.0.201/mono/mini/method-to-ir.c 2017-10-04 18:30:42.000000000 +0300
+++ mono-5.4.0.201.new/mono/mini/method-to-ir.c 2017-10-24 05:30:44.853696774 +0300
@@ -6156,9 +6156,7 @@ inline_method (MonoCompile *cfg, MonoMet
prev_args = cfg->args;
prev_arg_types = cfg->arg_types;
prev_inlined_method = cfg->inlined_method;
- cfg->inlined_method = cmethod;
- cfg->ret_var_set = FALSE;
- cfg->inline_depth ++;
+ prev_ret_var_set = cfg->ret_var_set;
prev_real_offset = cfg->real_offset;
prev_cbb_hash = cfg->cbb_hash;
prev_cil_offset_to_bb = cfg->cil_offset_to_bb;
@@ -6168,9 +6166,12 @@ inline_method (MonoCompile *cfg, MonoMet
prev_cbb = cfg->cbb;
prev_current_method = cfg->current_method;
prev_generic_context = cfg->generic_context;
- prev_ret_var_set = cfg->ret_var_set;
prev_disable_inline = cfg->disable_inline;
+ cfg->inlined_method = cmethod;
+ cfg->ret_var_set = FALSE;
+ cfg->inline_depth ++;
+
if (ip && *ip == CEE_CALLVIRT && !(cmethod->flags & METHOD_ATTRIBUTE_STATIC))
virtual_ = TRUE;

View File

@ -1,94 +0,0 @@
diff --git a/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/NuGetPackageObject.cs b/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/NuGetPackageObject.cs
index 26f04c1..703a648 100644
--- a/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/NuGetPackageObject.cs
+++ b/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/NuGetPackageObject.cs
@@ -34,6 +34,7 @@ public NuGetPackageObject(string id, string version, Func<string> fullPackagePat
public string Id { get; }
public string Version { get; }
+ public string RelativePackagePath => (string)LibraryObject["path"];
/// <summary>
/// The JSON object from the "targets" section in the project.lock.json for this package.
diff --git a/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs b/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs
index 8acffe3..a074997 100644
--- a/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs
+++ b/external/nuget-buildtasks/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs
@@ -369,7 +369,7 @@ private void GetAnalyzers(JObject lockFile)
if (Path.GetExtension(file).Equals(".dll", StringComparison.OrdinalIgnoreCase))
{
string path;
- if (TryGetFile(package.Id, package.Version, file, out path))
+ if (TryGetFile(package.Id, package.Version, package.RelativePackagePath, file, out path))
{
var analyzer = new TaskItem(path);
@@ -441,16 +441,16 @@ private void SetWinMDMetadata(IEnumerable<ITaskItem> runtimeWinMDs, ICollection<
}
}
- private bool TryGetFile(string packageName, string packageVersion, string file, out string path)
+ private bool TryGetFile(string packageName, string packageVersion, string packageRelativePath, string file, out string path)
{
if (IsFileValid(file, "C#", "VB"))
{
- path = GetPath(packageName, packageVersion, file);
+ path = GetPath(packageName, packageVersion, packageRelativePath, file);
return true;
}
else if (IsFileValid(file, "VB", "C#"))
{
- path = GetPath(packageName, packageVersion, file);
+ path = GetPath(packageName, packageVersion, packageRelativePath, file);
return true;
}
@@ -469,9 +469,9 @@ private bool IsFileValid(string file, string expectedLanguage, string unExpected
!file.Split('/').Any(x => x.Equals(unExpectedLanguage, StringComparison.OrdinalIgnoreCase)));
}
- private string GetPath(string packageName, string packageVersion, string file)
+ private string GetPath(string packageId, string packageVersion, string packageRelativePath, string file)
{
- return Path.Combine(GetNuGetPackagePath(packageName, packageVersion), file.Replace('/', Path.DirectorySeparatorChar));
+ return Path.Combine(GetNuGetPackagePath(packageId, packageVersion, packageRelativePath), file.Replace('/', Path.DirectorySeparatorChar));
}
/// <summary>
@@ -932,17 +932,23 @@ private void AddReferencedPackages(JArray packageDependencies, SortedSet<string>
}
}
- private string GetNuGetPackagePath(string packageId, string packageVersion)
+ private string GetNuGetPackagePath(string packageId, string packageVersion, string packageRelativePath)
{
+ string relativePathToUse = String.IsNullOrEmpty(packageRelativePath)
+ ? Path.Combine(packageId, packageVersion)
+ : packageRelativePath.Replace('/', Path.DirectorySeparatorChar);
+
+ string hashFileName = $"{packageId.ToLowerInvariant()}.{packageVersion.ToLowerInvariant()}.nupkg.sha512";
+
foreach (var packagesFolder in _packageFolders)
{
- string packagePath = Path.Combine(packagesFolder, packageId, packageVersion);
+ string packageFullPath = Path.Combine(packagesFolder, relativePathToUse);
// The proper way to check if a package is available is to look for the hash file, since that's the last
// file written as a part of the restore process. If it's not there, it means something failed part way through.
- if (_fileExists(Path.Combine(packagePath, $"{packageId}.{packageVersion}.nupkg.sha512")))
+ if (_fileExists(Path.Combine(packageFullPath, hashFileName)))
{
- return packagePath;
+ return packageFullPath;
}
}
@@ -972,7 +978,7 @@ private IEnumerable<NuGetPackageObject> GetPackagesFromTarget(JObject lockFile,
}
else
{
- fullPackagePathGenerator = () => GetNuGetPackagePath(id, version);
+ fullPackagePathGenerator = () => GetNuGetPackagePath(id, version, (string)libraryObject["path"]);
}
yield return new NuGetPackageObject(id, version, fullPackagePathGenerator, (JObject)package.Value, libraryObject);

320
mcs-compatibility-fix.patch Normal file
View File

@ -0,0 +1,320 @@
diff -uprN mono-5.4.0.201.old/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/EXPRExtensions.cs mono-5.4.0.201/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/EXPRExtensions.cs
--- mono-5.4.0.201.old/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/EXPRExtensions.cs 2017-10-04 18:31:23.000000000 +0300
+++ mono-5.4.0.201/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/EXPRExtensions.cs 2017-10-17 21:13:18.835702962 +0300
@@ -33,8 +33,9 @@ namespace Microsoft.CSharp.RuntimeBinder
Expr exprCur = expr;
while (exprCur != null)
{
- if (exprCur is ExprList list)
+ if (exprCur is ExprList)
{
+ var list = (ExprList)exprCur;
yield return list.OptionalElement;
exprCur = list.OptionalNextListNode;
}
@@ -61,12 +62,12 @@ namespace Microsoft.CSharp.RuntimeBinder
}
public static bool isNull(this Expr expr)
{
- return expr is ExprConstant constant && constant.IsOK && (expr.Type.fundType() == FUNDTYPE.FT_REF) && constant.Val.IsNullRef;
+ return expr is ExprConstant && ((ExprConstant)expr).IsOK && (expr.Type.fundType() == FUNDTYPE.FT_REF) && ((ExprConstant)expr).Val.IsNullRef;
}
public static bool IsZero(this Expr expr)
{
- return expr is ExprConstant constant && constant.IsOK && constant.IsZero;
+ return expr is ExprConstant && ((ExprConstant)expr).IsOK && ((ExprConstant)expr).IsZero;
}
private static Expr GetSeqVal(this Expr expr)
diff -uprN mono-5.4.0.201.old/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Nullable.cs mono-5.4.0.201/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Nullable.cs
--- mono-5.4.0.201.old/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Nullable.cs 2017-10-04 18:31:23.000000000 +0300
+++ mono-5.4.0.201/external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Nullable.cs 2017-10-17 20:53:01.339702962 +0300
@@ -29,8 +29,9 @@ namespace Microsoft.CSharp.RuntimeBinder
{
Debug.Assert(expr != null);
- if (expr is ExprCall pCall && pCall.MemberGroup.OptionalObject == null)
+ if (expr is ExprCall && ((ExprCall)expr).MemberGroup.OptionalObject == null)
{
+ var pCall = (ExprCall)expr;
MethodSymbol meth = pCall.MethWithInst.Meth();
if (meth != null && meth.IsNullableConstructor())
{
@@ -45,7 +46,8 @@ namespace Microsoft.CSharp.RuntimeBinder
public static Expr StripNullableConstructor(Expr pExpr)
{
- while (IsNullableConstructor(pExpr, out ExprCall call))
+ ExprCall call;
+ while (IsNullableConstructor(pExpr, out call))
{
pExpr = call.OptionalArguments;
Debug.Assert(pExpr != null && !(pExpr is ExprList));
@@ -60,7 +62,8 @@ namespace Microsoft.CSharp.RuntimeBinder
Debug.Assert(exprSrc != null && exprSrc.Type.IsNullableType());
// For new T?(x), the answer is x.
- if (IsNullableConstructor(exprSrc, out ExprCall call))
+ ExprCall call;
+ if (IsNullableConstructor(exprSrc, out call))
{
var args = call.OptionalArguments;
Debug.Assert(args != null && !(args is ExprList));
diff -uprN mono-5.4.0.201.old/external/corefx/src/System.Collections/src/System/Collections/Generic/SortedSet.TreeSubSet.cs mono-5.4.0.201/external/corefx/src/System.Collections/src/System/Collections/Generic/SortedSet.TreeSubSet.cs
--- mono-5.4.0.201.old/external/corefx/src/System.Collections/src/System/Collections/Generic/SortedSet.TreeSubSet.cs 2017-10-04 18:31:23.000000000 +0300
+++ mono-5.4.0.201/external/corefx/src/System.Collections/src/System/Collections/Generic/SortedSet.TreeSubSet.cs 2017-10-17 17:12:55.639702962 +0300
@@ -352,7 +352,7 @@ namespace System.Collections.Generic
throw new PlatformNotSupportedException();
}
- protected override void OnDeserialization(Object sender) => throw new PlatformNotSupportedException();
+ protected override void OnDeserialization(Object sender) { throw new PlatformNotSupportedException(); }
}
}
}
diff -uprN mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Dynamic/Utils/TypeExtensions.cs mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Dynamic/Utils/TypeExtensions.cs
--- mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Dynamic/Utils/TypeExtensions.cs 2017-10-04 18:31:23.000000000 +0300
+++ mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Dynamic/Utils/TypeExtensions.cs 2017-10-17 19:28:46.291702962 +0300
@@ -65,7 +65,8 @@ namespace System.Dynamic.Utils
internal static ParameterInfo[] GetParametersCached(this MethodBase method)
{
CacheDict<MethodBase, ParameterInfo[]> pic = s_paramInfoCache;
- if (!pic.TryGetValue(method, out ParameterInfo[] pis))
+ ParameterInfo[] pis;
+ if (!pic.TryGetValue(method, out pis))
{
pis = method.GetParameters();
diff -uprN mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/LambdaCompiler.Expressions.cs mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/LambdaCompiler.Expressions.cs
--- mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/LambdaCompiler.Expressions.cs 2017-10-04 18:31:23.000000000 +0300
+++ mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/LambdaCompiler.Expressions.cs 2017-10-17 19:42:26.615702962 +0300
@@ -952,8 +952,9 @@ namespace System.Linq.Expressions.Compil
private void EmitMemberAssignment(MemberAssignment binding, Type objectType)
{
EmitExpression(binding.Expression);
- if (binding.Member is FieldInfo fi)
+ if (binding.Member is FieldInfo)
{
+ var fi = (FieldInfo)binding.Member;
_ilg.Emit(OpCodes.Stfld, fi);
}
else
@@ -1097,7 +1098,7 @@ namespace System.Linq.Expressions.Compil
private static Type GetMemberType(MemberInfo member)
{
Debug.Assert(member is FieldInfo || member is PropertyInfo);
- return member is FieldInfo fi ? fi.FieldType : (member as PropertyInfo).PropertyType;
+ return member is FieldInfo ? ((FieldInfo)member).FieldType : (member as PropertyInfo).PropertyType;
}
#endregion
diff -uprN mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberAssignment.cs mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberAssignment.cs
--- mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberAssignment.cs 2017-10-04 18:31:23.000000000 +0300
+++ mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberAssignment.cs 2017-10-17 19:35:40.931702962 +0300
@@ -93,24 +93,24 @@ namespace System.Linq.Expressions
// Null paramName as there are two paths here with different parameter names at the API
TypeUtils.ValidateType(decType, null);
- switch (member)
- {
- case PropertyInfo pi:
- if (!pi.CanWrite)
- {
- throw Error.PropertyDoesNotHaveSetter(pi, nameof(member));
- }
-
- memberType = pi.PropertyType;
- break;
-
- case FieldInfo fi:
- memberType = fi.FieldType;
- break;
-
- default:
- throw Error.ArgumentMustBeFieldInfoOrPropertyInfo(nameof(member));
- }
+ if (member is PropertyInfo)
+ {
+ var pi = (PropertyInfo)member;
+ if (!pi.CanWrite)
+ {
+ throw Error.PropertyDoesNotHaveSetter(pi, nameof(member));
+ }
+ memberType = pi.PropertyType;
+ }
+ else if (member is FieldInfo)
+ {
+ var fi = (FieldInfo)member;
+ memberType = fi.FieldType;
+ }
+ else
+ {
+ throw Error.ArgumentMustBeFieldInfoOrPropertyInfo(nameof(member));
+ }
}
}
}
diff -uprN mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberBinding.cs mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberBinding.cs
--- mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberBinding.cs 2017-10-04 18:31:23.000000000 +0300
+++ mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberBinding.cs 2017-10-17 19:36:39.243702962 +0300
@@ -61,6 +61,6 @@ namespace System.Linq.Expressions
return ExpressionStringBuilder.MemberBindingToString(this);
}
- internal virtual void ValidateAsDefinedHere(int index) => throw Error.UnknownBindingType(index);
+ internal virtual void ValidateAsDefinedHere(int index) { throw Error.UnknownBindingType(index); }
}
}
diff -uprN mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberMemberBinding.cs mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberMemberBinding.cs
--- mono-5.4.0.201.old/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberMemberBinding.cs 2017-10-04 18:31:23.000000000 +0300
+++ mono-5.4.0.201/external/corefx/src/System.Linq.Expressions/src/System/Linq/Expressions/MemberMemberBinding.cs 2017-10-17 19:39:08.035702962 +0300
@@ -127,24 +127,24 @@ namespace System.Linq.Expressions
// Null paramName as there are several paths here with different parameter names at the API
TypeUtils.ValidateType(decType, null, allowByRef: true, allowPointer: true);
- switch (member)
- {
- case PropertyInfo pi:
- if (!pi.CanRead)
- {
- throw Error.PropertyDoesNotHaveGetter(pi, nameof(member));
- }
-
- memberType = pi.PropertyType;
- break;
-
- case FieldInfo fi:
- memberType = fi.FieldType;
- break;
-
- default:
- throw Error.ArgumentMustBeFieldInfoOrPropertyInfo(nameof(member));
- }
+ if (member is PropertyInfo)
+ {
+ var pi = (PropertyInfo)member;
+ if (!pi.CanRead)
+ {
+ throw Error.PropertyDoesNotHaveGetter(pi, nameof(member));
+ }
+ memberType = pi.PropertyType;
+ }
+ else if (member is FieldInfo)
+ {
+ var fi = (FieldInfo)member;
+ memberType = fi.FieldType;
+ }
+ else
+ {
+ throw Error.ArgumentMustBeFieldInfoOrPropertyInfo(nameof(member));
+ }
}
private static void ValidateMemberInitArgs(Type type, ReadOnlyCollection<MemberBinding> bindings)
diff -uprN mono-5.4.0.201.old/external/corefx/src/System.Net.HttpListener/src/System/Net/WebSockets/HttpListenerWebSocketContext.cs mono-5.4.0.201/external/corefx/src/System.Net.HttpListener/src/System/Net/WebSockets/HttpListenerWebSocketContext.cs
--- mono-5.4.0.201.old/external/corefx/src/System.Net.HttpListener/src/System/Net/WebSockets/HttpListenerWebSocketContext.cs 2017-10-04 18:31:24.000000000 +0300
+++ mono-5.4.0.201/external/corefx/src/System.Net.HttpListener/src/System/Net/WebSockets/HttpListenerWebSocketContext.cs 2017-10-17 17:17:31.687702962 +0300
@@ -94,8 +94,9 @@ namespace System.Net.WebSockets
if (!(user is WindowsPrincipal))
{
// AuthenticationSchemes.Basic.
- if (user.Identity is HttpListenerBasicIdentity basicIdentity)
+ if (user.Identity is HttpListenerBasicIdentity)
{
+ var basicIdentity=(HttpListenerBasicIdentity)user.Identity;
return new GenericPrincipal(new HttpListenerBasicIdentity(basicIdentity.Name, basicIdentity.Password), null);
}
}
diff -uprN mono-5.4.0.201.old/mcs/class/System/Mono.Net.Security/AsyncProtocolRequest.cs mono-5.4.0.201/mcs/class/System/Mono.Net.Security/AsyncProtocolRequest.cs
--- mono-5.4.0.201.old/mcs/class/System/Mono.Net.Security/AsyncProtocolRequest.cs 2017-10-04 18:30:40.000000000 +0300
+++ mono-5.4.0.201/mcs/class/System/Mono.Net.Security/AsyncProtocolRequest.cs 2017-10-17 19:11:21.963702962 +0300
@@ -316,7 +316,7 @@ namespace Mono.Net.Security
{
Debug ("ProcessRead - read user: {0} {1}", this, status);
- var (ret, wantMore) = Parent.ProcessRead (UserBuffer);
+ int ret; bool wantMore; Parent.ProcessRead (UserBuffer, out ret, out wantMore);
Debug ("ProcessRead - read user done: {0} - {1} {2}", this, ret, wantMore);
@@ -355,7 +355,7 @@ namespace Mono.Net.Security
return AsyncOperationStatus.Complete;
}
- var (ret, wantMore) = Parent.ProcessWrite (UserBuffer);
+ int ret; bool wantMore; Parent.ProcessWrite(UserBuffer, out ret, out wantMore);
Debug ("ProcessWrite - write user done: {0} - {1} {2}", this, ret, wantMore);
diff -uprN mono-5.4.0.201.old/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs mono-5.4.0.201/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs
--- mono-5.4.0.201.old/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs 2017-10-04 18:30:40.000000000 +0300
+++ mono-5.4.0.201/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs 2017-10-17 19:11:27.267702962 +0300
@@ -403,7 +403,7 @@ namespace Mono.Net.Security
asyncReadRequest != null ? "async" : "",
readBuffer != null ? readBuffer.ToString () : "");
var asyncRequest = asyncHandshakeRequest ?? asyncReadRequest;
- var (ret, wantMore) = InternalRead (asyncRequest, readBuffer, buffer, offset, size);
+ int ret; bool wantMore; InternalRead (asyncRequest, readBuffer, buffer, offset, size, out ret, out wantMore);
outWantMore = wantMore;
return ret;
} catch (Exception ex) {
@@ -414,7 +414,7 @@ namespace Mono.Net.Security
}
}
- (int, bool) InternalRead (AsyncProtocolRequest asyncRequest, BufferOffsetSize internalBuffer, byte[] buffer, int offset, int size)
+ void InternalRead (AsyncProtocolRequest asyncRequest, BufferOffsetSize internalBuffer, byte[] buffer, int offset, int size, out int _ret, out bool _wantMore)
{
if (asyncRequest == null)
throw new InvalidOperationException ();
@@ -436,10 +436,10 @@ namespace Mono.Net.Security
Debug ("InternalRead #1: {0} {1} {2}", internalBuffer.Offset, internalBuffer.TotalBytes, size);
internalBuffer.Offset = internalBuffer.Size = 0;
asyncRequest.RequestRead (size);
- return (0, true);
+ _ret = 0; _wantMore = true; return;
}
- /*
+ /*Сабж. И чтобы гонка по кольцевым трассам. В третьи-четвёртые NFS наигрался, хочется новых трасс при схожем геймплее.
* The second time we're called, the native buffer will contain the exact amount of data that the
* previous call requested from us, so we should be able to return it all here. However, just in
* case that Apple's native function changed its mind, we can also return less.
@@ -451,7 +451,7 @@ namespace Mono.Net.Security
Buffer.BlockCopy (internalBuffer.Buffer, internalBuffer.Offset, buffer, offset, len);
internalBuffer.Offset += len;
internalBuffer.Size -= len;
- return (len, !internalBuffer.Complete && len < size);
+ _ret = len; _wantMore = !internalBuffer.Complete && len < size; return;
}
/*
@@ -620,21 +620,21 @@ namespace Mono.Net.Security
}
}
- internal (int, bool) ProcessRead (BufferOffsetSize userBuffer)
+ internal void ProcessRead (BufferOffsetSize userBuffer, out int _ret, out bool _wantMore)
{
lock (ioLock) {
// This operates on the internal buffer and will never block.
- var ret = xobileTlsContext.Read (userBuffer.Buffer, userBuffer.Offset, userBuffer.Size, out bool wantMore);
- return (ret, wantMore);
+ _ret = xobileTlsContext.Read (userBuffer.Buffer, userBuffer.Offset, userBuffer.Size, out _wantMore);
+ return;
}
}
- internal (int, bool) ProcessWrite (BufferOffsetSize userBuffer)
+ internal void ProcessWrite (BufferOffsetSize userBuffer, out int _ret, out bool _wantMore)
{
lock (ioLock) {
// This operates on the internal buffer and will never block.
- var ret = xobileTlsContext.Write (userBuffer.Buffer, userBuffer.Offset, userBuffer.Size, out bool wantMore);
- return (ret, wantMore);
+ _ret = xobileTlsContext.Write (userBuffer.Buffer, userBuffer.Offset, userBuffer.Size, out _wantMore);
+ return;
}
}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:03b8e463032bc425673dec844b35b4c669f5b99b0e45521195efb3741a9f5e94
size 158434164

3
mono-5.4.0.201.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2a2f5c2a214a9980c086ac7561a5dd106f13d823a630de218eabafe1d995c5b4
size 204925122

View File

@ -1,3 +1,115 @@
-------------------------------------------------------------------
Tue Oct 24 00:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net
- Add bug-59608.patch:
* Fix bxc#59608 - Attribute MethodImplOptions.AggressiveInlining causes method to always return NULL
-------------------------------------------------------------------
Fri Oct 20 00:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net
- Add bug-57918.patch:
* Fix bxc#57918 - System.Net.Sockets.EndSend returns incorrect value
-------------------------------------------------------------------
Tue Oct 17 00:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net
- Update to version 5.4.0.201 (5.4.0 Stable)
- Minor packaging updates
- Remove patch: 0001-btls-Disable-BUILD_SHARED_LIBS-while-building-boring.patch
- Remove patch: fix-project-builds-linux.patch
- Add patch mcs-compatibility-fix.patch:
* When using deprecated MCS compiler to build Mono, convert incompatible C#6\C#7 code to C#5 analog in order to fix build errors.
- New features and changes:
* JIT Job Control: improve Roslyn performance
* Array element store optimization
* Load scalability improvements
* ValueType write barrier optimization
* Make jit method table resizing more scalable
* Reflection queries scalability improvements
* Intrisificy Marshal.PtrToStruct for blitable types
* Revamped unaligned memory access support
* Interpreter works in JIT restricted environments
* Interpreter supports ARM and ARM64
* Class Libraries: integrated AppContextSwitch code from reference sources which allows all of its compat switches to be used, added reference assemblies for .NET Framework 4.7 to support builds targetting .NET 4.7.
* Tools: bundled nuget binary was updated to version 4.3.0, added packaging for roslyn-parts of msbuild.
- Bugfixes:
* bxc#580 - Type.Load loads strong type despite version mismatch
* bxc#17325 - RealProxy returns MarshalByRefObject for an Interface instead of the real interface type
* bxc#44907 - Applications crash on Nexus 9 devices only since Xamarin.Android 7.0.0.18
* bxc#46482 - SIGSEGV at random code lines after application start on Nexus 9 with Xamarin Android 7
* bxc#51791 - [XA] HTC Nexus 9 - app closes on launch
* bxc#52508 - TLS SignalR Self-host Hang
* bxc#53038 - SRE should fail more gracefully when SymbolWriter is missing
* bxc#53202 - Number minus Enum gives wrong value
* bxc#53244 - mcs generates ParamArrayAttribute when specifying “params” in overridden method where base doesnt have it
* bxc#53792 - CFNetworkHandler reports correct download when internet connection is lost during request
* bxc#54159 - Compiler crashes when calling method named Finalize
* bxc#54322 - await in catch-block inside a loop causes the same exception to be caught multiple times
* bxc#54388 - InternalsVisibleTo is case sensitive
* bxc#54448 - Unable to revert to thread-local storage for CurrentThread.CultureInfo
* bxc#54485 - Creating an open generic type with recurrent constraint fails
* bxc#54658 - [iOS]BCL test failed with Assertion failures error: * Assertion at /Users/builder/data/lanes/4691/6bea7a5b/source/xamarin-macios/external/mono/mono/mini/aot-runtime.c:2924, condition `!async not met and condition `unwind_options == MONO_UNWIND_NONE not
* bxc#54976 - [iOS]fsharp test failing on iOS device with Assertion at /Users/builder/data/lanes/4691/9245c1c0/source/xamarin-macios/external/mono/mono/mini/mini-arm-gsharedvt.c:220, condition `src_slot < 16 not met
* bxc#54991 - Cannot compile get => _text
* bxc#55041 - Stripping mscorlib in simple example changes IntPtr (5) behavior?
* bxc#55083 - coreclr test b353858.il fails after 6f33b62f39a273fccb78f71513cb5e0dfb987c70
* bxc#55095 - Breakpoints not hit for ASP.NET MVC Project
* bxc#55348 - “using static” results in invalid compiler errors
* bxc#55400 - MCS produces incorrect code for generic instantiated with a gtd
* bxc#55436 - System.Runtime refuses to load with strict naming
* bxc#55577 - SIMD instructions with System.Numerics.Vectors do not work
* bxc#55603 - Follow-up to bug 52845: Satellite assemblies not loaded by app when using “Bundle assemblies into native code” even though they are now successfully mkbundled
* bxc#55604 - Incorrect struct size when using property setter
* bxc#55697 - .NET 2.0 style web services fail to build under msbuild in Release but work with xbuild
* bxc#56081 - Returning a valuetype from an async method with an awaited parameter yields a Mono.CSharp.InternalErrorException: Await yields with non-empty stack
* bxc#56111 - Hitting assertion after enabling AOT+LLVM on x86 devices in tramp-x86.c:124
* bxc#56202 - [mono-2017-04]Apps fail to launch on 32 bit device with error EXC_ARM_DA_ALIGN at 0x0142ccec
* bxc#56240 - Performance Degradation When Using Expressions
* bxc#56242 - TypeTest.GetGenericMethodDefinitionOverInflatedMethodOnGTD throws NRE on Android in Release mode
* bxc#56247 - Enumerable.OrderByDescending behaves differently on LLVM FullAOT
* bxc#56452 - Problem Stack too big
* bxc#56462 - Custom operator causes internal compiler error
* bxc#56493 - Windows MMAP doesnt release file
* bxc#56499 - DateTime.Now throws exception if /etc/localtime symlink destination missing
* bxc#56567 - Passing large struct into exception filter method crashes runtime with SIGSEGV
* bxc#56611 - Regression: ArrayTypeMismatchException when running F# script
* bxc#56616 - Missing CS1629 for unsafe code in iterators
* bxc#56627 - mcs inherits interface implementation, while csc doesnt
* bxc#56684 - (mono-2.0-sgen.dll) in mono.exe: 0xC0000005: Access violation reading location 0x04FA3D9A.
* bxc#56694 - Assertion: should not be reached at d:\j\workspace\v\repos\mono\mono\sgen\sgen-scan-object.h:91
* bxc#56814 - Xamarin.Mac.dll Memory Leak starting with 3.2.0.175 Release
* bxc#56821 - Static ctor of MarshalByRefObject runs in primary AppDomain
* bxc#56824 - Runtime crash with VSMEF
* bxc#57002 - New bockbuild package is missing .dSYM directories
* bxc#57222 - System.Reflection.AmbiguousMatchException for two fields with same name but different types
* bxc#57232 - Compiler error when using ternary operator and no whitespace
* bxc#57242 - [StructLayout (LayoutKind.Sequential, Pack = 1)] doesnt work as expected
* bxc#57301 - Running IronPythons executable under Mono 5.0.x causes a SIGSEGV on exit, this did not happen on 4.8
* bxc#57496 - [Slovenian CultureInfo + others] .Parse throws exception when parsing negative values
* bxc#57505 - Missing error CS0165 in presence of commented line
* bxc#57629 - [io-layer] File.Delete () throws System.UnauthorizedAccessException on non-existing files on a read-only path
* bxc#57691 - InternalsVisibleTo doesnt work with 2048-bit SNK files
* bxc#57744 - ReflectionTypeLoadException.LoaderExceptions has null exceptions
* bxc#57771 - F#.NET Core 2.0 projects do not compile
* bxc#57796 - Compiler Crash instead of CS1621
* bxc#57850 - Mono assertion when ResolveEventHandler returns a reflection-only assembly
* bxc#57851 - Assertion if using ResolveEventHandler to find custom attributes
* bxc#57930 - Building netstandard 2.0 project throws DllNotFoundException: hostfxr during msbuild
* bxc#57959 - SIGSEGV in roslyn with corrupted stack
* bxc#58114 - [llvm] csc (Rolsyn) produce fault clauses that the llvm backend does not support
* bxc#58210 - “* Assertion at metadata.c:1048, condition `index < meta->heap_strings.size not met” is output on startup - works fine on Windows
* bxc#58344 - SIMD crash using System.Numerics.Vector
* bxc#58361 - EnumBuilder can no longer be used to generate IL code
* bxc#58399 - Delegates as collection key are ~500x slower than previously
* bxc#58421 - sre-save.c asserts in fixup_method () if TypeBuilder token is used across assemblies
* bxc#58446 - [iOS]EnumerableMoreTest.ConcatArgumentNullTest crash on tvOS device
* bxc#58454 - Cannot resolve method Subscription`1 Subscribe[TSelection](System.Func`2[TState,TSelection], System.Action`2[TSelection,TState]) because the declaring type of the method handle FSI_0002+Store`1[TState] is generic. Explicitly provide the declaring type to
* bxc#58738 - System.IO.MonoIO.Read - Native Crash when device file is gone
* bxc#58782 - Exception stack traces are deleted when reaching the native-to-managed wrapper in a reverse invoke
* bxc#58829 - Application Output Window being flooded with “[Mono] worker parking, [Mono] worker unparking” messages when debugging agasint Android Emulator
* bxc#59235 - [mono-2017-06] android.runtime.JavaProxyThrowable: System.ObjectDisposedException: Cannot access a disposed object.
* bxc#59274 - [Mac]A crash report is generated on closing mac apps
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Sep 29 21:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net Fri Sep 29 21:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net

View File

@ -26,7 +26,7 @@
%define boehm yes %define boehm yes
%endif %endif
%ifarch %ix86 x86_64 %ifarch %ix86 x86_64 armv7l armv7hl aarch64
%define btls yes %define btls yes
%else %else
%define btls no %define btls no
@ -38,10 +38,10 @@
%define roslyn no %define roslyn no
%endif %endif
%define version_suffix 224 %define version_suffix 201
Name: mono-core Name: mono-core
Version: 5.2.0 Version: 5.4.0
Release: 0 Release: 0
Summary: Cross-platform, Open Source, .NET development framework Summary: Cross-platform, Open Source, .NET development framework
License: LGPL-2.1 and MIT and MS-PL License: LGPL-2.1 and MIT and MS-PL
@ -56,16 +56,18 @@ ExcludeArch: ppc
Patch1: ucontext.patch Patch1: ucontext.patch
# PATCH-FIX-UPSTREAM search provides (for RPM-packaging) not only for GAC dir, but also for "Facades" and "4.5" mono-libdirs # PATCH-FIX-UPSTREAM search provides (for RPM-packaging) not only for GAC dir, but also for "Facades" and "4.5" mono-libdirs
Patch2: provides-facades.patch Patch2: provides-facades.patch
# PATCH-FIX-UPSTREAM disable BUILD_SHARED_LIBS while building boringssl, so its symbols are not exported from the btls shared lib (https://github.com/mono/mono/commit/e6e0fb82261340f9181d1b2b11a9706a16c5dbc7) # PATCH-FIX-UPSTREAM System.Net.Sockets.EndSend returns incorrect value. See https://bugzilla.xamarin.com/show_bug.cgi?id=57918 for more information
Patch3: 0001-btls-Disable-BUILD_SHARED_LIBS-while-building-boring.patch Patch3: bug-57918.patch
# PATCH-FIX-UPSTREAM fix finding nuget packages in lower-case dirs on case-sensitive filesystems (https://github.com/mono/NuGet.BuildTasks/commit/112685a925e5c0d26fcf9c9006341d4fa4f66515) # PATCH-FIX-UPSTREAM Attribute MethodImplOptions.AggressiveInlining causes method to always return NULL, patch created from commits: https://github.com/mono/mono/commit/df4669b216cb331e3b151b9171deee89339d34e2 and https://github.com/mono/api-snapshot/commit/c1a7bd7e026c9280fcd9825227d7ddde67255e00
Patch4: fix-project-builds-linux.patch Patch4: bug-59608.patch
# PATCH-FIX-OPENSUSE remove checks for libmono in mono-find-provides and mono-find-requires scripts # PATCH-FIX-OPENSUSE remove checks for libmono in mono-find-provides and mono-find-requires scripts
Patch14: find-deps-fix.patch Patch14: find-deps-fix.patch
# PATCH-FIX-OPENSUSE revert Microsoft.Build.Tasks library to use old mcs compiler. This will make xbuild to use old mcs instead of csc - patch is used when roslyn is unavailable for current platform (big-endian systems). # PATCH-FIX-OPENSUSE revert Microsoft.Build.Tasks library to use old mcs compiler. This will make xbuild to use old mcs instead of csc - patch is used when roslyn is unavailable for current platform (big-endian systems).
Patch15: xbuild-revert-to-mcs.patch Patch15: xbuild-revert-to-mcs.patch
# PATCH-FIX-OPENSUSE add missing internal headers to distribution, this is necessary for mono-debugger package. (Seems this bug is caused by this upstream commit: https://github.com/mono/mono/commit/e71a7f33ef30a5bbd0047b37a95533d06c860846) # PATCH-FIX-OPENSUSE add missing internal headers to distribution, this is necessary for mono-debugger package. (Seems this bug is caused by this upstream commit: https://github.com/mono/mono/commit/e71a7f33ef30a5bbd0047b37a95533d06c860846)
Patch16: fix-dbg-headers.patch Patch16: fix-dbg-headers.patch
# PATCH-FIX-OPENSUSE if using deprecated mcs compiler instead of roslyn-csc convert non-compatible c#6 and c#7 code to older c#5 analogs, so mcs can compile it without errors.
Patch17: mcs-compatibility-fix.patch
BuildRequires: cmake BuildRequires: cmake
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: automake BuildRequires: automake
@ -186,10 +188,13 @@ Provides: mono(Mono.Configuration.Crypto) = 4.0.0.0
Requires: timezone Requires: timezone
%define _use_internal_dependency_generator 0 %define _use_internal_dependency_generator 0
# mono now ships with precompiled roslyn components that will lead us to broken requires\provides # mono now ships with precompiled roslyn components that will lead us to broken requires\provides
# instead of filtering bigger list of broken requires\provides, filter initial filelist and disable precompiled binaries from evaluation # instead of filtering bigger list of broken requires\provides, filter initial filelist and disable precompiled binaries from evaluation
%define roslyn_prefix %{buildroot}%{_prefix}/lib/mono/4.5 %define roslyn_prefix %{buildroot}%{_prefix}/lib/mono/4.5
%define filtered_filelist printf "%s\\n" "${filelist[@]}" | grep -v "%{roslyn_prefix}/Microsoft.CodeAnalysis.CSharp.dll" | grep -v "%{roslyn_prefix}/Microsoft.CodeAnalysis.dll" | grep -v "%{roslyn_prefix}/System.Collections.Immutable.dll" | grep -v "%{roslyn_prefix}/System.Reflection.Metadata.dll" | grep -v "%{roslyn_prefix}/csc.exe" | cat - %define msbuild_prefix %{buildroot}%{_prefix}/lib/mono/msbuild/15.0/bin/Roslyn
%define filtered_filelist printf "%s\\n" "${filelist[@]}" | grep -v "%{roslyn_prefix}/Microsoft.CodeAnalysis" | grep -v "%{roslyn_prefix}/Microsoft.Build.Tasks.CodeAnalysis.dll" | grep -v "%{roslyn_prefix}/System.Collections.Immutable.dll" | grep -v "%{roslyn_prefix}/System.Reflection.Metadata.dll" | grep -v "%{roslyn_prefix}/csc.exe" | grep -v "%{roslyn_prefix}/csi.exe" | grep -v "%{roslyn_prefix}/VBCSCompiler.exe" | grep -v "%{msbuild_prefix}/Microsoft.CodeAnalysis" | grep -v "%{msbuild_prefix}/Microsoft.Build.Tasks.CodeAnalysis.dll" | grep -v "%{msbuild_prefix}/System.Collections.Immutable.dll" | grep -v "%{msbuild_prefix}/System.Reflection.Metadata.dll" | grep -v "%{msbuild_prefix}/csc.exe" | grep -v "%{msbuild_prefix}/csi.exe" | grep -v "%{msbuild_prefix}/VBCSCompiler.exe" | cat -
%define __find_provides env sh -c 'filelist=($(cat)) && { %{filtered_filelist} | /usr/lib/rpm/find-provides && %{filtered_filelist} | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-provides ; } | sort | uniq' %define __find_provides env sh -c 'filelist=($(cat)) && { %{filtered_filelist} | /usr/lib/rpm/find-provides && %{filtered_filelist} | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-provides ; } | sort | uniq'
%define __find_requires env sh -c 'filelist=($(cat)) && { %{filtered_filelist} | /usr/lib/rpm/find-requires && %{filtered_filelist} | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-requires ; } | sort | uniq' %define __find_requires env sh -c 'filelist=($(cat)) && { %{filtered_filelist} | /usr/lib/rpm/find-requires && %{filtered_filelist} | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-requires ; } | sort | uniq'
@ -210,6 +215,7 @@ technologies that have been submitted to the ECMA for standardization.
%patch16 -p1 %patch16 -p1
%if %roslyn == no %if %roslyn == no
%patch15 -p1 %patch15 -p1
%patch17 -p1
%endif %endif
%build %build
@ -260,9 +266,6 @@ export PATH=/opt/novell/llvm-mono/bin:$PATH
%ifnarch %ix86 x86_64 %ifnarch %ix86 x86_64
--disable-system-aot \ --disable-system-aot \
%endif %endif
%if %btls == yes
--enable-dynamic-btls \
%endif
%if %roslyn == no %if %roslyn == no
--with-csc=mcs \ --with-csc=mcs \
%endif %endif
@ -331,8 +334,15 @@ rm -v %{buildroot}%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.CSharp.dll*
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.dll* rm -v %{buildroot}%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.dll*
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/System.Collections.Immutable.dll* rm -v %{buildroot}%{_prefix}/lib/mono/4.5/System.Collections.Immutable.dll*
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/System.Reflection.Metadata.dll* rm -v %{buildroot}%{_prefix}/lib/mono/4.5/System.Reflection.Metadata.dll*
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.CSharp.Scripting.dll*
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.Scripting.dll*
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.VisualBasic.dll*
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/VBCSCompiler.*
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/csc.* rm -v %{buildroot}%{_prefix}/lib/mono/4.5/csc.*
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/csi.*
rm -v %{buildroot}%{_bindir}/csc rm -v %{buildroot}%{_bindir}/csc
rm -v %{buildroot}%{_bindir}/csi
rm -rfv %{msbuild_prefix}
%endif %endif
%fdupes %{buildroot}%{_prefix} %fdupes %{buildroot}%{_prefix}
@ -514,11 +524,17 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
%endif %endif
%if %roslyn == yes %if %roslyn == yes
%{_bindir}/csc %{_bindir}/csc
%{_bindir}/csi
%{_prefix}/lib/mono/4.5/csc.* %{_prefix}/lib/mono/4.5/csc.*
%{_prefix}/lib/mono/4.5/csi.*
%{_prefix}/lib/mono/4.5/System.Collections.Immutable.dll* %{_prefix}/lib/mono/4.5/System.Collections.Immutable.dll*
%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.dll* %{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.dll*
%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.CSharp.dll* %{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.CSharp.dll*
%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.CSharp.Scripting.dll*
%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.Scripting.dll*
%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.VisualBasic.dll*
%{_prefix}/lib/mono/4.5/System.Reflection.Metadata.dll* %{_prefix}/lib/mono/4.5/System.Reflection.Metadata.dll*
%{_prefix}/lib/mono/4.5/VBCSCompiler.*
%{_prefix}/lib/mono/4.5/al.pdb %{_prefix}/lib/mono/4.5/al.pdb
%{_prefix}/lib/mono/4.5/cert-sync.pdb %{_prefix}/lib/mono/4.5/cert-sync.pdb
%{_prefix}/lib/mono/4.5/certmgr.pdb %{_prefix}/lib/mono/4.5/certmgr.pdb
@ -1439,6 +1455,7 @@ Mono development tools.
%dir %{_libdir}/mono/ %dir %{_libdir}/mono/
%{_libdir}/mono/lldb %{_libdir}/mono/lldb
%if %roslyn == yes %if %roslyn == yes
%{_prefix}/lib/mono/msbuild
%{_prefix}/lib/mono/4.5/caspol.pdb %{_prefix}/lib/mono/4.5/caspol.pdb
%{_prefix}/lib/mono/4.5/cccheck.pdb %{_prefix}/lib/mono/4.5/cccheck.pdb
%{_prefix}/lib/mono/4.5/ccrewrite.pdb %{_prefix}/lib/mono/4.5/ccrewrite.pdb