SHA256
1
0
forked from pool/mono-core

Accepting request 517700 from home:Warhammer40k:Mono:Factory

Update to version 5.2.0.215 (5.2.0 Stable)

OBS-URL: https://build.opensuse.org/request/show/517700
OBS-URL: https://build.opensuse.org/package/show/Mono:Factory/mono-core?expand=0&rev=186
This commit is contained in:
Ismail Dönmez 2017-08-19 16:16:01 +00:00 committed by Git OBS Bridge
parent 5ebab8b2a8
commit 35e33a0e29
8 changed files with 280 additions and 11 deletions

View File

@ -0,0 +1,28 @@
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

32
fix-dbg-headers.patch Normal file
View File

@ -0,0 +1,32 @@
diff -uprN mono-5.2.0.215.old/Makefile.am mono-5.2.0.215/Makefile.am
--- mono-5.2.0.215.old/Makefile.am 2017-08-02 16:16:38.000000000 +0300
+++ mono-5.2.0.215/Makefile.am 2017-08-19 00:46:37.755592739 +0300
@@ -168,3 +168,6 @@ update-solution-files:
make update-csproj
make package-inputs
(cd msvc/scripts; make genproj.exe; mono genproj.exe)
+
+confighfixdir = $(includedir)/mono-2.0
+dist_confighfix_DATA = config.h
diff -uprN mono-5.2.0.215.old/mono/metadata/Makefile.am mono-5.2.0.215/mono/metadata/Makefile.am
--- mono-5.2.0.215.old/mono/metadata/Makefile.am 2017-08-02 16:16:42.000000000 +0300
+++ mono-5.2.0.215/mono/metadata/Makefile.am 2017-08-18 23:43:51.210384739 +0300
@@ -331,6 +331,7 @@ libmonoruntimeinclude_HEADERS = \
appdomain.h \
blob.h \
class.h \
+ debug-internals.h \
debug-helpers.h \
debug-mono-symfile.h \
threads.h \
diff -uprN mono-5.2.0.215.old/mono/utils/Makefile.am mono-5.2.0.215/mono/utils/Makefile.am
--- mono-5.2.0.215.old/mono/utils/Makefile.am 2017-08-02 16:16:42.000000000 +0300
+++ mono-5.2.0.215/mono/utils/Makefile.am 2017-08-18 23:43:51.210384739 +0300
@@ -262,6 +262,7 @@ libmonoutilsinclude_HEADERS = \
mono-error.h \
mono-publib.h \
mono-dl-fallback.h \
+ mono-compiler.h \
mono-counters.h
EXTRA_DIST = mono-embed.h mono-embed.c

View File

@ -0,0 +1,94 @@
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);

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:48d6ae71d593cd01bf0f499de569359d45856cda325575e1bacb5fabaa7e9718
size 154477308

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

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8f0cebd3f7b03f68b9bd015706da9c713ed968004612f1ef8350993d8fe850ea
size 158189773

View File

@ -1,3 +1,95 @@
-------------------------------------------------------------------
Fri Aug 18 12:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net
- Update to version 5.2.0.215 (5.2.0 Stable)
- New features and changes:
* Strong assembly names: mono will now optionally respect public keys and version numbers when loading strongly signed assemblies
* Added experimental default interface methods support
* System.Numerics.Vectors: the library is now considered ready for general usage
* .NET Standard 2.0 support: loading and running a library compiled against the 2.0 standard should work fine now
* The reference assemblies were updated to provide the .NET 4.7 API set
* The mono command now runs as a 64bit application by default. You can use the --arch=32 option to run Mono as 32bit again
* Optimized Array Stores
* Class Initialization Improvements
* GC: reduced minor collection pause times
* Interpreter now passes the majority of the JIT test suite, it can now run non-trivial programs
- Added upstream patch provides-facades.patch:
* Search provides (for RPM-packaging) not only for GAC dir, but also for "Facades" and "4.5" mono-libdirs
- Added upstream patch 0001-btls-Disable-BUILD_SHARED_LIBS-while-building-boring.patch:
* Disable BUILD_SHARED_LIBS while building boringssl, so its symbols are not exported from the btls shared lib
- Added upstream patch fix-project-builds-linux.patch:
* Fix finding nuget packages in lower-case dirs on case-sensitive filesystems
- Added patch fix-dbg-headers.patch:
* Add missing internal headers to distribution in order to fix build for mono-debugger package
- Bugfixes:
* bxc#580 - Type.Load loads strong type despite version mismatch
* bxc#39444 - Action ReflectedType differs from Delegate ReflectedType for virutal methods
* bxc#43805 - Output of DateTime.Now() differs on Mono for ambiguous time period
* bxc#43988 - Stack overflow in System.Text.Encoding.Default
* bxc#46661 - Runtime exception filters truncate exception stack traces on NSLog
* bxc#46929 - Datetime error on Mono.data.Sqlite
* bxc#47221 - Thread.Name can only be set once inside async callback
* bxc#47599 - HttpClient Transfer-Encoding:chunked is not added to the header - not able to transfer large files
* bxc#49721 - Assembly binder uses wrong strongly named assembly when same assembly with different version exists in local folder
* bxc#50529 - crash in thread-native-exit.exe
* bxc#51522 - Overload resolution fails for referenced assembly
* bxc#51561 - Getting process name of process running under higher privilege user throws exception
* bxc#51653 - mono_thread_info_wait_one_handle ignored alertable argument
* bxc#52086 - Nullable structs with implicit operators generate invalid IL code when compiling with Mono
* bxc#52294 - C# compiler reports an incorrect error in a lambda with generic constraints
* bxc#52340 - Compiler crashes with FATAL UNHANDLED EXCEPTION (nullref)
* bxc#52345 - Process has exited, so the requested information is not available
* bxc#52429 - Shutdown hang then crash in Finalizer thread
* bxc#52437 - Random NullReferenceExceptions in StringBuilder.ThreadSafeCopy
* bxc#52448 - StreamContent apparently needs to rewind stream before sending it
* bxc#52475 - MTOUCH: error MT3001: Could not AOT the assembly
* bxc#52511 - configure script doent detect bad configuration
* bxc#52549 - error: mono_w32socket_convert_error: no translation into winsock error for (41) "Protocol wrong type for socket"
* bxc#52590 - Cannot compile for iOS, TypeBuilder exists in two places.
* bxc#52599 - await in finally clause prevents disposal of enclosing using statement
* bxc#52600 - Full AOT: Strange combination of structs, generics, and enums causes runtime failure
* bxc#52743 - denied loading problems
* bxc#52845 - [Cycle 9] Satellite assemblies not bundled when using "Bundle assemblies into native code" due to "unknown escape sequence" error from gcc during mkbundle step
* bxc#52866 - F# sprintf AOT bug still exists
* bxc#52899 - mprof-report missing filenames in coverage xml output when using portable pdbs
* bxc#53066 - Cant Build Project in Debug with "Could not AOT the assembly"
* bxc#53131 - Calling MakeArray() on a type with a rank that is too big does not throw an exception.
* bxc#53153 - Implement RuntimeHelpers::IsReferenceOrContainsReferences
* bxc#53166 - Application crashes when setting a get-only property in constructor
* bxc#53196 - List<>.Sort() using insertion sort does not sort all values when equality isnt checked.
* bxc#53202 - Number minus Enum gives wrong value
* bxc#53231 - csc doesnt unify same file passed multiple times when one path is relative
* bxc#53278 - Two coreclr SIMD test failures (one regression from 4.8)
* bxc#53334 - es-US Culture wrong number formatting
* bxc#53684 - Crash when enumerating directory and selecting the first file
* bxc#53689 - [Test] Certificate7 disabled due to SecCertificateCreateWithData does different things on 10.11 vs 10.12 with invalid certificates
* bxc#53792 - CFNetworkHandler reports correct download when internet connection is lost during request
* bxc#53843 - Mono deadlocks on shutdown while waiting for a process which has died
* bxc#53890 - Regression: Native crash while running tests with xunit with mono 2017-02 branch, works with 4.8.0.520
* bxc#54212 - Mono allows casts of non-zero bound array to zero bound array
* bxc#54322 - await in catch-block inside a loop causes the same exception to be caught multiple times
* bxc#54448 - Unable to revert to thread-local storage for CurrentThread.CultureInfo
* bxc#54485 - Creating an open generic type with recurrent constraint fails
* 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#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#55681 - System.Reflection.Emit.ModuleBuilder.build_metadata bug when running FAKEs test suite
* 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#56240 - Performance Degradation When Using Expressions
* bxc#56247 - Enumerable.OrderByDescending behaves differently on LLVM FullAOT
* bxc#56275 - Unable to copy appname.dll from obj to bin because it is being used by another process
* bxc#56493 - Windows MMAP doesnt release file
* bxc#56567 - Passing large struct into exception filter method crashes runtime with SIGSEGV
* bxc#56611 - Regression: ArrayTypeMismatchException when running F# script
* bxc#56694 - Assertion: should not be reached at d:\j\workspace\v\repos\mono\mono\sgen\sgen-scan-object.h:91
* bxc#56821 - Static ctor of MarshalByRefObject runs in primary AppDomain
* bxc#56824 - Runtime crash with VSMEF
* bxc#57222 - System.Reflection.AmbiguousMatchException for two fields with same name but different types
* bxc#57744 - ReflectionTypeLoadException.LoaderExceptions has null exceptions
-------------------------------------------------------------------
Mon Aug 7 10:21:45 UTC 2017 - schwab@suse.de
@ -20,7 +112,7 @@ Fri May 26 21:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net
-------------------------------------------------------------------
Tue May 16 13:27:46 UTC 2017 - idonmez@suse.com
- Disable rosyln on ppc64le
- Disable rosyln on ppc64le
-------------------------------------------------------------------
Thu May 11 23:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net
@ -224,7 +316,7 @@ Thu Nov 17 06:33:02 UTC 2016 - mailaender@opensuse.org
Sat Nov 12 14:36:43 CET 2016 - ro@suse.de
- add boehm define in specfile to exclude boehm parts on aarch64
- enable buildrequires for valgrind on aarch64
- enable buildrequires for valgrind on aarch64
-------------------------------------------------------------------
Sun Oct 16 08:46:34 UTC 2016 - mailaender@opensuse.org
@ -3072,5 +3164,3 @@ Wed Jan 28 11:30:36 CET 2004 - uli@suse.de
Mon Jan 26 14:48:22 CET 2004 - uli@suse.de
- initial package

View File

@ -38,10 +38,10 @@
%define roslyn no
%endif
%define version_suffix 1
%define version_suffix 215
Name: mono-core
Version: 5.0.1
Version: 5.2.0
Release: 0
Summary: Cross-platform, Open Source, .NET development framework
License: LGPL-2.1 and MIT and MS-PL
@ -54,10 +54,18 @@ Source2: gmcs
ExcludeArch: ppc
# PATCH-FIX-UPSTREAM use ucontext_t instead of struct ucontext
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
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)
Patch3: 0001-btls-Disable-BUILD_SHARED_LIBS-while-building-boring.patch
# PATCH-FIX-UPSTREAM fix finding nuget packages in lower-case dirs on case-sensitive filesystems (https://github.com/mono/NuGet.BuildTasks/commit/112685a925e5c0d26fcf9c9006341d4fa4f66515)
Patch4: fix-project-builds-linux.patch
# PATCH-FIX-OPENSUSE remove checks for libmono in mono-find-provides and mono-find-requires scripts
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).
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)
Patch16: fix-dbg-headers.patch
BuildRequires: cmake
BuildRequires: autoconf
BuildRequires: automake
@ -195,7 +203,11 @@ technologies that have been submitted to the ECMA for standardization.
%prep
%setup -q -n mono-%{version}.%{version_suffix}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch14 -p1
%patch16 -p1
%if %roslyn == no
%patch15 -p1
%endif
@ -435,7 +447,6 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
%{_prefix}/lib/mono/4.5/System.Numerics.dll
%{_prefix}/lib/mono/4.5/System.Numerics.Vectors.dll
%{_prefix}/lib/mono/4.5/System.Reflection.Context.dll
%{_prefix}/lib/mono/4.5/System.Runtime.InteropServices.RuntimeInformation.dll
%{_prefix}/lib/mono/4.5/System.Security.dll
%{_prefix}/lib/mono/4.5/System.Threading.Tasks.Dataflow.dll
%{_prefix}/lib/mono/4.5/System.Windows.dll
@ -450,6 +461,7 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
%{_prefix}/lib/mono/4.5/mscorlib.dll*
%{_prefix}/lib/mono/4.5/Facades/System*
%{_prefix}/lib/mono/4.5/Facades/Microsoft*
%{_prefix}/lib/mono/4.5/Facades/netstandard*
%{_prefix}/lib/mono/gac/Commons.Xml.Relaxng
%{_prefix}/lib/mono/gac/CustomMarshalers
%{_prefix}/lib/mono/gac/I18N
@ -480,7 +492,6 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
%{_prefix}/lib/mono/gac/System.Numerics
%{_prefix}/lib/mono/gac/System.Numerics.Vectors
%{_prefix}/lib/mono/gac/System.Reflection.Context
%{_prefix}/lib/mono/gac/System.Runtime.InteropServices.RuntimeInformation
%{_prefix}/lib/mono/gac/System.Security
%{_prefix}/lib/mono/gac/System.Threading.Tasks.Dataflow
%{_prefix}/lib/mono/gac/System.Windows
@ -1352,6 +1363,7 @@ Mono development tools.
%{_mandir}/man1/xbuild.1%ext_man
%{_prefix}/lib/mono-source-libs
%{_prefix}/lib/mono/4.0
%{_prefix}/lib/mono/4.7-api
%{_prefix}/lib/mono/4.6.2-api
%{_prefix}/lib/mono/4.6.1-api
%{_prefix}/lib/mono/4.6-api

13
provides-facades.patch Normal file
View File

@ -0,0 +1,13 @@
diff --git a/scripts/mono-find-provides.in b/scripts/mono-find-provides.in
index 5b2e206..5d6f34c 100644
--- a/scripts/mono-find-provides.in
+++ b/scripts/mono-find-provides.in
@@ -16,7 +16,7 @@ monolist=($(printf "%s\n" "${filelist[@]}" | egrep "\\.(exe|dll)\$"))
# Only include files with /gac/ in path
# (Allows packages to contain private assemblies that don't conflict with other packages)
-monolist=($(printf "%s\n" "${monolist[@]}" | egrep "/gac/"))
+monolist=($(printf "%s\n" "${monolist[@]}" | egrep "/(gac|Facades|4\\.5)/"))
# Disabled... see ChangeLog
# Set the prefix, unless it is overriden (used when building mono rpms)