SHA256
1
0
forked from pool/mono-core

Accepting request 495350 from Mono:Factory

- Disable rosyln on ppc64le 

- Update to version 5.0.0.100 (5.0 Stable)
- New features and changes:
  * Shipping Roslyn C# compiler to enable C#7 support
  * Support for msbuild and deprecating xbuild
    (msbuild currently not included, xbuild deprecated but still maintained)
  * Enabling concurrent SGen garbage collector to reduce time spent in GC
  * Continued Progress on .NET Class Library convergence
- Packaging changes:
  * Do not package roslyn csc compiler on platforms that do not support it
  * Add xbuild-revert-to-mcs.patch: revert xbuild to use old mcs compiler on platforms that do not support roslyn

- Enable external BTLS library build only on supported platforms (x86 and x86_64 right now):
  * Fix build for arm, arm64, ppc64, ppc64le.
- Enable pedump binary packaging for arm64 builds.

- Update to version 4.8.1.0 (4.8 Service Release 1)
- Remove patch mono-config-fix-monoposixhelper-libdir.patch:
  * Instead, use fix from official spec file
- New features (see http://www.mono-project.com/docs/about-mono/releases/4.8.0 for more info):
  * Some API additions for .NET Standard 2.0
  * Mono now ships with TLS 1.2, powered by Google’s BoringSSL project
  * The MKBundle tool has been updated to easily support cross-compilation
  * Runtime Logging: the new MONO_LOG_DEST environment variable can set to instruct the runtime where to write the tracing messages to
  * Concurrent SGen mode improved
  * More code have been adopted from Reference Source
- Bugfixes:
  * bxc#3323: Assertion when deleting global namespace inside method
  * bxc#3399: [PATCH] pending_exception support is incomplete

OBS-URL: https://build.opensuse.org/request/show/495350
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mono-core?expand=0&rev=108
This commit is contained in:
Dominique Leuenberger 2017-05-27 11:06:47 +00:00 committed by Git OBS Bridge
commit d79487e378
6 changed files with 378 additions and 41 deletions

View File

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

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

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:368da3ff9f42592920cd8cf6fa15c6c16558e967144c4d3df873352e5d2bb6df
size 154086441

View File

@ -1,12 +0,0 @@
diff -uprN mono-4.4.0.old/data/config.in mono-4.4.0.new/data/config.in
--- mono-4.4.0.old/data/config.in 2016-06-09 18:01:54.000000000 +0300
+++ mono-4.4.0.new/data/config.in 2016-03-15 14:31:53.000000000 +0300
@@ -10,7 +10,7 @@
<dllmap dll="i:odbc32.dll" target="libiodbc.dylib" os="osx"/>
<dllmap dll="oci" target="libclntsh@libsuffix@" os="!windows"/>
<dllmap dll="db2cli" target="libdb2_36@libsuffix@" os="!windows"/>
- <dllmap dll="MonoPosixHelper" target="$mono_libdir/libMonoPosixHelper@libsuffix@" os="!windows" />
+ <dllmap dll="MonoPosixHelper" target="@prefix@/@reloc_libdir@/libMonoPosixHelper@libsuffix@" os="!windows" />
<dllmap dll="i:msvcrt" target="@LIBC@" os="!windows"/>
<dllmap dll="i:msvcrt.dll" target="@LIBC@" os="!windows"/>
<dllmap dll="sqlite" target="@SQLITE@" os="!windows"/>

View File

@ -1,3 +1,199 @@
-------------------------------------------------------------------
Tue May 16 13:27:46 UTC 2017 - idonmez@suse.com
- Disable rosyln on ppc64le
-------------------------------------------------------------------
Thu May 11 23:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net
- Update to version 5.0.0.100 (5.0 Stable)
- New features and changes:
* Shipping Roslyn C# compiler to enable C#7 support
* Support for msbuild and deprecating xbuild
(msbuild currently not included, xbuild deprecated but still maintained)
* Enabling concurrent SGen garbage collector to reduce time spent in GC
* Continued Progress on .NET Class Library convergence
- Packaging changes:
* Do not package roslyn csc compiler on platforms that do not support it
* Add xbuild-revert-to-mcs.patch: revert xbuild to use old mcs compiler on platforms that do not support roslyn
-------------------------------------------------------------------
Tue May 4 12:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net
- Enable external BTLS library build only on supported platforms (x86 and x86_64 right now):
* Fix build for arm, arm64, ppc64, ppc64le.
- Enable pedump binary packaging for arm64 builds.
-------------------------------------------------------------------
Fri Apr 28 15:00:00 UTC 2017 - fwdsbs.to.11df@xoxy.net
- Update to version 4.8.1.0 (4.8 Service Release 1)
- Remove patch mono-config-fix-monoposixhelper-libdir.patch:
* Instead, use fix from official spec file
- New features (see http://www.mono-project.com/docs/about-mono/releases/4.8.0 for more info):
* Some API additions for .NET Standard 2.0
* Mono now ships with TLS 1.2, powered by Googles BoringSSL project
* The MKBundle tool has been updated to easily support cross-compilation
* Runtime Logging: the new MONO_LOG_DEST environment variable can set to instruct the runtime where to write the tracing messages to
* Concurrent SGen mode improved
* More code have been adopted from Reference Source
- Bugfixes:
* bxc#3323: Assertion when deleting global namespace inside method
* bxc#3399: [PATCH] pending_exception support is incomplete
* bxc#3434: Mono Compiler crashes when using a DelegateType as a method call
* bxc#3706: generics aot jit problem
* bxc#3735: Attempting to JIT compile method: using Linqs “Any” fails on the device
* bxc#3767: Unit test UI table cell extends beyond cell bounds for failed test
* bxc#3811: DataContractJsonSerializer deserialization fails with subclass of List as known type
* bxc#3850: ScrollEventArgs in Form_Scroll method has invalid values
* bxc#3960: DismissModalViewControllerAnimated() crashes on 5.2.9
* bxc#4006: MonoDevelop fails to start with no warning if Gtk# is not installed on windows
* bxc#5644: Mono allows to access not accessible method
* bxc#7467: DefaultNonPersistentConnectionLimit is to low
* bxc#12571: Usage of XElement with XmlAnyElementAttribute is not supported by XmlSerializer
* bxc#19594: WebException.Response is null when https request needs proxy authentication
* bxc#29189: Compiling class referencing corefx facade/contract assemblies raises error “Reference to type System.SByte claims it is defined assembly mscorlib,.. but couldnt be found”
* bxc#30686: ZipArchive ctor throws InvalidDataException for WebConnectionStream
* bxc#30821: Compilation generates CS1701 warning
* bxc#32374: WebRequest::BeginGetRequestStream incorrectly sets IAsyncResult::CompletedSynchronously to always true
* bxc#33571: Mono crashes when marshalling fixed arrays
* bxc#34802: Debugger crash on break-all, step into sequence.
* bxc#35536: Dns.GetHostEntry no longer supports IPv6
* bxc#35662: Type System.ServiceModel.Security.Tokens.BinarySecretSecurityToken is missing in assembly System.IdentityModel
* bxc#39282: [System.IO.Compression] issues with ZipArchiveEntry streams
* bxc#39859: Xamarin.Android apps on the Samsung Galaxy S7 fails to start with the error System.ExecutionEngineException SIGILL
* bxc#40603: Mono cant parse Date in DB wich is in format: “2016-02-04 10:39:11Z”
* bxc#40916: [System.IO.Compression] ZipArchive can create an ZipArchiveEntry that has a modified time of DateTime.MinValue
* bxc#41035: DataViewTest2.DataView_ListChangedEventTest occasionally fails with llvm+sgen
* bxc#41349: System.TimeZoneInfo.IsDaylightSavingTime (DateTimeOffset dateTimeOffset) Not Implemented Exception
* bxc#41393: [WatchOS 2] Incorrect calling convention for P/Invokes taking structures
* bxc#41431: [aot] Build fails due to Sgen STW requires a working mono-context error
* bxc#41466: mono_class_is_subclass_of return incorrect value by assuming mono_class_init has been called on parameters
* bxc#41477: SafeSocketHandle ObjectDisposedException handle exception with linked CancellationTokenSource
* bxc#41492: DateTimeOffset.ToLocalTime() throwing erroneous error
* bxc#41509: DLR crashes when trying to convert a object to null.
* bxc#41530: [iOS]TimerTest failing randomly on devices,
* bxc#41552: HttpResponseMessage does not support multiple Links header entries
* bxc#41575: A Method That Accepts a FormattableString Object Is Not Called
* bxc#3323: Assertion when deleting global namespace inside method
* bxc#3399: [PATCH] pending_exception support is incomplete
* bxc#3434: Mono Compiler crashes when using a DelegateType as a method call
* bxc#3706: generics aot jit problem
* bxc#3735: Attempting to JIT compile method: using Linqs “Any” fails on the device
* bxc#3767: Unit test UI table cell extends beyond cell bounds for failed test
* bxc#3811: DataContractJsonSerializer deserialization fails with subclass of List as known type
* bxc#3850: ScrollEventArgs in Form_Scroll method has invalid values
* bxc#3960: DismissModalViewControllerAnimated() crashes on 5.2.9
* bxc#4006: MonoDevelop fails to start with no warning if Gtk# is not installed on windows
* bxc#5644: Mono allows to access not accessible method
* bxc#7467: DefaultNonPersistentConnectionLimit is to low
* bxc#12571: Usage of XElement with XmlAnyElementAttribute is not supported by XmlSerializer
* bxc#19594: WebException.Response is null when https request needs proxy authentication
* bxc#29189: Compiling class referencing corefx facade/contract assemblies raises error “Reference to type System.SByte claims it is defined assembly mscorlib,.. but couldnt be found”
* bxc#30686: ZipArchive ctor throws InvalidDataException for WebConnectionStream
* bxc#30821: Compilation generates CS1701 warning
* bxc#32374: WebRequest::BeginGetRequestStream incorrectly sets IAsyncResult::CompletedSynchronously to always true
* bxc#33571: Mono crashes when marshalling fixed arrays
* bxc#34802: Debugger crash on break-all, step into sequence.
* bxc#35536: Dns.GetHostEntry no longer supports IPv6
* bxc#35662: Type System.ServiceModel.Security.Tokens.BinarySecretSecurityToken is missing in assembly System.IdentityModel
* bxc#39282: [System.IO.Compression] issues with ZipArchiveEntry streams
* bxc#39859: Xamarin.Android apps on the Samsung Galaxy S7 fails to start with the error System.ExecutionEngineException SIGILL
* bxc#40603: Mono cant parse Date in DB wich is in format: “2016-02-04 10:39:11Z”
* bxc#40916: [System.IO.Compression] ZipArchive can create an ZipArchiveEntry that has a modified time of DateTime.MinValue
* bxc#41035: DataViewTest2.DataView_ListChangedEventTest occasionally fails with llvm+sgen
* bxc#41349: System.TimeZoneInfo.IsDaylightSavingTime (DateTimeOffset dateTimeOffset) Not Implemented Exception
* bxc#41393: [WatchOS 2] Incorrect calling convention for P/Invokes taking structures
* bxc#41431: [aot] Build fails due to Sgen STW requires a working mono-context error
* bxc#41466: mono_class_is_subclass_of return incorrect value by assuming mono_class_init has been called on parameters
* bxc#41477: SafeSocketHandle ObjectDisposedException handle exception with linked CancellationTokenSource
* bxc#41492: DateTimeOffset.ToLocalTime() throwing erroneous error
* bxc#41509: DLR crashes when trying to convert a object to null.
* bxc#41530: [iOS]TimerTest failing randomly on devices,
* bxc#41552: HttpResponseMessage does not support multiple Links header entries
* bxc#41575: A Method That Accepts a FormattableString Object Is Not Called
* bxc#41602: Compiler fails to recognize Indexer
* bxc#41616: Mono 4.4.0 crashes when using Socket.ConnectAsync to a unix domain socket if the path doesnt exist
* bxc#41667: new DateTime().ToLocalTime() results in an exception
* bxc#41705: MonoTests.System.Threading.MonitorTest.Enter_Null crashes test runtime with assertion
* bxc#41775: Zip version needed to extract not correct in System.IO.Compression
* bxc#41782: [Cycle 7] “System.Net.WebException: Error: NameResolutionFailure” when attempting web requests with certain raw IP addresses
* bxc#41874: Reflection throws AmbiguousMatchException when calling GetProperty on a class that inherits from a generic base class.
* bxc#41897: NotSupportedException thrown from IPInterfaceProperties.UnicastAddresses
* bxc#41937: invoke.exe test asserts on bitcode
* bxc#41955: Bitcode “missing image did not probe corlib” exception thrown
* bxc#41979: CodeDom cannot call mcs because of invalid encoding configuration
* bxc#42057: error CS0121: The call is ambiguous
* bxc#42169: (managed_alloc) Fatal: Managed allocator missing for (mkbundle) in Mono 4.4.X
* bxc#42191: sdb deadlocks all the time while XS debugs XS
* bxc#42198: error CS0529: Inherited interface causes a cycle in the interface hierarchy.
* bxc#42219: [System.IO.Compression] Cannot create ZipArchive with duplicate entries with same name
* bxc#42224: Compiler crashed with code: 1, “Await yields with non-empty stack” from AssertEmptyStack ()
* bxc#42226: WCF client Expecting FaultException raising NotImplemented Exception instead When element is provided.
* bxc#42271: COOP: gc unsafe mode when printing native backtrace causes crash if GC is triggered
* bxc#42274: System.IO.Compression.ZipArchive vs System.Xml.XmlReader
* bxc#42395: Build runs indefinitely and never finishes
* bxc#42408: WebClient.DownloadString returns 401 Unauthorized when using Basic authentication
* bxc#42410: String Interpolation available even when langversion < 6
* bxc#42413: Volatile fields dont enforce acquire - release semantics like Volatile.Read() and Volatile.Write()
* bxc#42584: InternalError / Crash when using System.Net.Http and PCL library
* bxc#42585: Switch fall-through not rejected
* bxc#42611: wrong compiler error when using IEnumerable.Sum
* bxc#42625: coop: crash with watchos system tests
* bxc#42688: Cant wait for more than 429496 ms (429s)
* bxc#42702: Unnecessary dependency checks
* bxc#42750: Deploying an iOS app to iPhone 6S crashes when a breakpoint is set
* bxc#42843: XmlSerializer does not deserialize UTC Time values on Xamarin.Android but works well on windows.
* bxc#42864: [Cycle 7] “System.Net.WebException: Error: NameResolutionFailure” on second web request to certain raw IP addresses with HttpClient
* bxc#42887: Encoding iso-8859-1 throws IndexOutOfRangeException for Unicode surrogate pairs
* bxc#43022: ZipArchive.Entries is not updated when ZipArchiveEntry is deleted
* bxc#43032: System.Uri cannot parse url with underscore at start
* bxc#43099: [watchOS] Cannot enter GC safe region if the thread is not attached
* bxc#43193: Keep CurrentCulture in async/await
* bxc#43265: Inconsistency in Compilation of Async Code Compared to MSFT Compilers
* bxc#43291: Runtime crash at reflection.c:mono_custom_attrs_construct_by_type while calling GetCustomAttributes for a proxy class
* bxc#43320: Thread aborts in the middle of .cctor and hell break loose
* bxc#43357: WCSessionReplyHandler crashes WatchKit app
* bxc#43400: “using static” dependent on compile order
* bxc#43471: pragma warning disable still shows warnings in “Errors” pad
* bxc#43512: TimeZoneInfo.ConvertTimeBySystemTimeZoneId ArgumentException
* bxc#43636: [Cycle 8] “Index was out of range. Must be non-negative and less than the size of the collection” in System.Collections.Generic.List1[T].set_Item() when attempting to compile certain C# code involving tasks, async/await, and try/catch/finally
* bxc#43695: Nuget resolves .netstandard <= 1.3 when Xamarin.IOS does not support it
* bxc#43696: Delegate caching can invoke unrelated implementation leading to strange results
* bxc#43718: mcs crashes when unable to resolve type inside lambda using the as operator
* bxc#43786: peverify is broken again
* bxc#43921: System.Threading.ThreadHelper.ThreadStart_Context tries to allocate, crashes
* bxc#44025: FTP download issue with IPv6
* bxc#44109: NetworkCredential does not convert SecureString
* bxc#44164: gosharp-regexp benchmark triggers unwinding crash when profiling
* bxc#44168: Can use non-accessible member with nameof
* bxc#44381: Debugger crash with domain unloading and VSTU
* bxc#44402: Array doesnt implement non-generic IEnumerable
* bxc#44406: Xamarin.Mac.Socket exception:An address incompatible with the requested protocol was used
* bxc#44413: HttpHeaders.TryAddWithoutValidation behaves differently from .NET
* bxc#44440: Attempting to JIT error in function with pointer arithmetic
* bxc#44549: Ide Shuts down: System.ArgumentException: Item has already been added. Key in dictionary: XamlG Key being added: XamlG
* bxc#44624: Connecting to SQL Server using IPv4 exception.
* bxc#44707: RemotingConfiguration.Configure() Throws RemotingException Because it Cannot Load machine.config
* bxc#44729: Type.GetType(“blah”,true,false) throws TypeLoadException without message
* bxc#44751: Incorrect code flow analysis with goto and out parameter causes CS0177
* bxc#44843: SqlCommand.ExecuteReaderAsync throws NotImplementedException
* bxc#44937: System.Diagnostics.StartProcess does not detect dotnetcore compiled assemblies as managed
* bxc#44978: HttpClientHandler.SendAsync should throw HttpRequestException for proxy auth failure
* bxc#44994: DeflateStream decompression is incomplete if reading byte-by-byte
* bxc#45129: Uri.IsWellFormedUriString returns incorrect result for relative uris beginning with slash
* bxc#45137: Seeing new AAPT0000 errors when building certain projects against master
* bxc#45270: Cannot add System.Reactive to watchOS Extension project
* bxc#45286: C# string interpolation line does not compile on OSX but does on MSBuild
* bxc#45774: Wrong scopes in .mdb in case of foreach loop
* bxc#45788: Marshaling a native NULL pointer to a managed array creates a new zero sized array
* bxc#46175: If the RSA will be used by multiple threads, it has a variety of exceptions.
* bxc#46190: Overload resolution fails in a case where methods use a named parameter in different positions
* bxc#46250: Type.GetType with throwOnError true doesnt throw for a generic instance type with too few generic arguments
* bxc#47205: Uri.TryCreate throws exception
* bxc#42414: Run path_helper in OSX postinstall script to make Mono commands available in same shell session
* bxc#42365: Mono 4.4.1 OSX package doesnt clean up old symlinks from /usr/local/bin
-------------------------------------------------------------------
Thu Nov 17 06:33:02 UTC 2016 - mailaender@opensuse.org

View File

@ -15,6 +15,7 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
%{!?ext_man: %define ext_man .gz}
%define llvm no
@ -25,22 +26,35 @@
%define boehm yes
%endif
%ifarch %ix86 x86_64
%define btls yes
%else
%define btls no
%endif
%ifarch %ix86 x86_64 armv7l armv7hl aarch64
%define roslyn yes
%else
%define roslyn no
%endif
Name: mono-core
Version: 4.6.2
Version: 5.0.0
Release: 0
Summary: Cross-platform, Open Source, .NET development framework
License: LGPL-2.1 and MIT and MS-PL
Group: Development/Languages/Mono
Url: http://www.mono-project.com
Source0: http://download.mono-project.com/sources/mono/mono-%{version}.7.tar.bz2
Source0: http://download.mono-project.com/sources/mono/mono-%{version}.100.tar.bz2
Source1: mono-core.rpmlintrc
Source2: gmcs
# ppc build segfault so exclude it
ExcludeArch: ppc
# PATCH-FIX-OPENSUSE remove checks for libmono in mono-find-provides and mono-find-requires scripts
Patch14: find-deps-fix.patch
# PATCH-FIX-OPENSUSE fix incorrect $mono_libdir substitution for libMonoPosixHelper.so library when native library dir (/usr/lib64 on x86_64) is different from mono lib dir (/usr/lib)
Patch15: mono-config-fix-monoposixhelper-libdir.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
BuildRequires: cmake
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
@ -160,8 +174,12 @@ Provides: mono(Mono.Configuration.Crypto) = 4.0.0.0
Requires: timezone
%define _use_internal_dependency_generator 0
%define __find_provides env sh -c 'filelist=($(cat)) && { printf "%s\\n" "${filelist[@]}" | /usr/lib/rpm/find-provides && printf "%s\\n" "${filelist[@]}" | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-provides ; } | sort | uniq'
%define __find_requires env sh -c 'filelist=($(cat)) && { printf "%s\\n" "${filelist[@]}" | /usr/lib/rpm/find-requires && printf "%s\\n" "${filelist[@]}" | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-requires ; } | sort | uniq'
# 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
%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 __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'
%description
The Mono Project is an open development initiative that is working to
@ -173,14 +191,35 @@ technologies that have been submitted to the ECMA for standardization.
%prep
%setup -q -n mono-%{version}
%patch14 -p1
%if %roslyn == no
%patch15 -p1
%endif
%build
NOCONFIGURE="yes" ./autogen.sh
# These are only needed if there are patches to the runtime
#rm -f libgc/libtool.m4
#autoreconf --force --install
#autoreconf --force --install libgc
# autogen.sh seems broken: it is not processing libgs subdirectory leaving old stuff there untouched.
# so, remove gnu-build-system files manually
find . \( \
-name "Makefile.in" \
-o -name "missing" \
-o -name "ltmain.sh" \
-o -name "install-sh" \
-o -name "depcomp" \
-o -name "configure" \
-o -name "compile" \
-o -name "config.guess" \
-o -name "config.sub" \
-o -name "config.h.in" \
-o -name "aclocal.m4" \
-o -name "test-driver" \
-o -name "libtool.m4" \
-o -name "ltoptions.m4" \
-o -name "ltsugar.m4" \
-o -name "ltversion.m4" \
-o -name "lt~obsolete.m4" \
\) -a -not -path "./external/*" \
-exec rm -v {} \;
# and recreate them with autoreconf
autoreconf -fvi
export CFLAGS=" %{optflags} -fno-strict-aliasing"
%ifarch armv7l armv7hl
export MONO_CPU_ARCH="armv7l-thumb"
@ -203,17 +242,22 @@ export PATH=/opt/novell/llvm-mono/bin:$PATH
%endif
%ifnarch %ix86 x86_64
--disable-system-aot \
%endif
%if %btls == yes
--enable-dynamic-btls \
%endif
%if %roslyn == no
--with-csc=mcs \
%endif
--with-ikvm=yes \
--with-moonlight=no
make
%install
%make_install
# Remove hardcoded lib directory from the config
sed -i s,%{_prefix}/lib/,,g %{buildroot}%{_sysconfdir}/mono/config
sed -i 's,\$mono_libdir/,,g' %{buildroot}%{_sysconfdir}/mono/config
# remove .la files (they are generally bad news)
rm -f %{buildroot}%{_libdir}/*.la
@ -236,8 +280,9 @@ rm -rf %{buildroot}%{_datadir}/libgc-mono
# remove stuff that we don't package
rm -f %{buildroot}%{_bindir}/cilc
rm -f %{buildroot}%{_mandir}/man1/cilc.1*
rm -f %{buildroot}%{_prefix}/lib/mono/*/browsercaps-updater.exe*
rm -f %{buildroot}%{_prefix}/lib/mono/*/culevel.exe*
rm -f %{buildroot}%{_mandir}/man1/mdb2ppdb.1*
rm -f %{buildroot}%{_prefix}/lib/mono/*/browsercaps-updater.*
rm -f %{buildroot}%{_prefix}/lib/mono/*/culevel.*
# brp-compress doesn't search _mandir
# so we cheat it
@ -260,6 +305,19 @@ rm -rf %{buildroot}%{_prefix}/lib/mono/xbuild/12.0/bin/Microsoft.Build.Utilities
# Fake the deprecated binary to build legacy packages.
install -D -m 0755 %{S:2} %{buildroot}%{_bindir}/gmcs
# remove roslyn components, if it is disabled from build.
# this trick is needed to fix build for some packages (gnome-keyring-sharp for example),
# that incorrectly detect CSC precense when it is actually not usable for current platform.
# mono still package roslyn components even if it is disabled from build
%if %roslyn == no
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/System.Collections.Immutable.dll*
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/System.Reflection.Metadata.dll*
rm -v %{buildroot}%{_prefix}/lib/mono/4.5/csc.*
rm -v %{buildroot}%{_bindir}/csc
%endif
%fdupes %{buildroot}%{_prefix}
%find_lang mcs
@ -315,6 +373,7 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
%{_bindir}/sn
%{_libdir}/libMonoPosixHelper.so*
%{_libdir}/libikvm-native.so
%{_mandir}/man1/cert-sync.1%ext_man
%{_mandir}/man1/certmgr.1%ext_man
%{_mandir}/man1/chktrust.1%ext_man
%{_mandir}/man1/crlupdate.1%ext_man
@ -355,10 +414,6 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
%{_prefix}/lib/mono/4.5/Mono.Parallel.dll
%{_prefix}/lib/mono/4.5/Mono.Posix.dll
%{_prefix}/lib/mono/4.5/Mono.Security.dll
%{_prefix}/lib/mono/4.5/Mono.Security.Providers.DotNet.dll
%{_prefix}/lib/mono/4.5/Mono.Security.Providers.NewSystemSource.dll
%{_prefix}/lib/mono/4.5/Mono.Security.Providers.NewTls.dll
%{_prefix}/lib/mono/4.5/Mono.Security.Providers.OldTls.dll
%{_prefix}/lib/mono/4.5/Mono.Simd.dll
%{_prefix}/lib/mono/4.5/Mono.Tasklets.dll
%{_prefix}/lib/mono/4.5/System.Configuration.dll
@ -405,10 +460,6 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
%{_prefix}/lib/mono/gac/Mono.Parallel
%{_prefix}/lib/mono/gac/Mono.Posix
%{_prefix}/lib/mono/gac/Mono.Security
%{_prefix}/lib/mono/gac/Mono.Security.Providers.DotNet
%{_prefix}/lib/mono/gac/Mono.Security.Providers.NewSystemSource
%{_prefix}/lib/mono/gac/Mono.Security.Providers.NewTls
%{_prefix}/lib/mono/gac/Mono.Security.Providers.OldTls
%{_prefix}/lib/mono/gac/Mono.Simd
%{_prefix}/lib/mono/gac/Mono.Tasklets
%{_prefix}/lib/mono/gac/System
@ -440,6 +491,32 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
%{_prefix}/lib/mono/gac/System.IO.Compression
%{_prefix}/lib/mono/gac/cscompmgd
%{_prefix}/lib/mono/mono-configuration-crypto
%if %btls == yes
%{_libdir}/libmono-btls-shared.so*
%{_prefix}/lib/mono/4.5/Mono.Btls.Interface.dll
%{_prefix}/lib/mono/gac/Mono.Btls.Interface
%endif
%if %roslyn == yes
%{_bindir}/csc
%{_prefix}/lib/mono/4.5/csc.*
%{_prefix}/lib/mono/4.5/System.Collections.Immutable.dll*
%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.dll*
%{_prefix}/lib/mono/4.5/Microsoft.CodeAnalysis.CSharp.dll*
%{_prefix}/lib/mono/4.5/System.Reflection.Metadata.dll*
%{_prefix}/lib/mono/4.5/al.pdb
%{_prefix}/lib/mono/4.5/cert-sync.pdb
%{_prefix}/lib/mono/4.5/certmgr.pdb
%{_prefix}/lib/mono/4.5/chktrust.pdb
%{_prefix}/lib/mono/4.5/crlupdate.pdb
%{_prefix}/lib/mono/4.5/csharp.pdb
%{_prefix}/lib/mono/4.5/gacutil.pdb
%{_prefix}/lib/mono/4.5/ikdasm.pdb
%{_prefix}/lib/mono/4.5/mcs.pdb
%{_prefix}/lib/mono/4.5/mozroots.pdb
%{_prefix}/lib/mono/4.5/setreg.pdb
%{_prefix}/lib/mono/4.5/sn.pdb
%{_prefix}/lib/mono/4.5/mscorlib.pdb
%endif
%post
cert-sync /etc/ssl/ca-bundle.pem
@ -710,6 +787,10 @@ Database connectivity for Mono.
%{_prefix}/lib/mono/gac/System.Runtime.Serialization
%{_prefix}/lib/mono/gac/System.Transactions
%{_prefix}/lib/mono/gac/WebMatrix.Data
%if %roslyn == yes
%{_prefix}/lib/mono/4.5/sqlmetal.pdb
%{_prefix}/lib/mono/4.5/sqlsharp.pdb
%endif
%package -n mono-winforms
Summary: Mono's Windows Forms implementation
@ -831,6 +912,11 @@ Extra packages.
%{_prefix}/lib/mono/gac/System.ServiceProcess
%{_prefix}/lib/mono/gac/System.Xaml
%{_prefix}/lib/mono/gac/mono-service
%if %roslyn == yes
%{_prefix}/lib/mono/4.5/installutil.pdb
%{_prefix}/lib/mono/4.5/mono-service.pdb
%{_prefix}/lib/mono/4.5/RabbitMQ.Client.Apigen.pdb
%endif
%package -n mono-data-sqlite
Summary: Database connectivity for Mono
@ -897,6 +983,9 @@ Mono implementation of WCF, Windows Communication Foundation
%{_prefix}/lib/mono/gac/System.ServiceModel.Routing
%{_prefix}/lib/mono/gac/System.ServiceModel.Web
%{_prefix}/lib/mono/gac/SMDiagnostics
%if %roslyn == yes
%{_prefix}/lib/mono/4.5/svcutil.pdb
%endif
%package -n mono-winfxcore
Summary: Mono implementation of core WinFX APIs
@ -1022,6 +1111,13 @@ Mono implementation of ASP.NET, Remoting and Web Services.
%{_prefix}/lib/mono/gac/System.Web.WebPages.Deployment
%{_prefix}/lib/mono/gac/System.Web.WebPages.Razor
%{_prefix}/lib/mono/gac/System.Web.WebPages
%if %roslyn == yes
%{_prefix}/lib/mono/4.5/disco.pdb
%{_prefix}/lib/mono/4.5/mconfig.pdb
%{_prefix}/lib/mono/4.5/soapsuds.pdb
%{_prefix}/lib/mono/4.5/wsdl.pdb
%{_prefix}/lib/mono/4.5/xsd.pdb
%endif
%package -n mono-mvc
Summary: Mono implementation of ASP
@ -1116,6 +1212,9 @@ NUnit brings xUnit to all .NET languages.
%{_prefix}/lib/mono/gac/nunit.framework.extensions
%{_prefix}/lib/mono/gac/nunit.mocks
%{_prefix}/lib/mono/gac/nunit.util
%if %roslyn == yes
%{_prefix}/lib/mono/4.5/nunit-console.pdb
%endif
%package -n mono-devel
Summary: Mono development tools
@ -1182,24 +1281,25 @@ Mono development tools.
%{_bindir}/mono-find-provides
%{_bindir}/mono-find-requires
%{_bindir}/mono-heapviz
%{_bindir}/mono-package-runtime
%{_bindir}/mono-shlib-cop
%{_bindir}/mono-symbolicate
%{_bindir}/mono-xmltool
%{_bindir}/monodis
%{_bindir}/monolinker
%{_bindir}/monograph
%{_bindir}/monop
%{_bindir}/monop2
%{_bindir}/mprof-report
%{_bindir}/pdb2mdb
%if %boehm == yes
%{_bindir}/pedump
%endif
%{_bindir}/permview
%{_bindir}/prj2make
%{_bindir}/resgen
%{_bindir}/resgen2
%{_bindir}/secutil
%{_bindir}/sgen
%{_bindir}/sgen-grep-binprot
%{_bindir}/signcode
%{_bindir}/xbuild
%dir %{_datadir}/mono-2.0
@ -1240,7 +1340,6 @@ Mono development tools.
%{_mandir}/man1/mprof-report.1%ext_man
%{_mandir}/man1/pdb2mdb.1%ext_man
%{_mandir}/man1/permview.1%ext_man
%{_mandir}/man1/prj2make.1%ext_man
%{_mandir}/man1/resgen.1%ext_man
%{_mandir}/man1/secutil.1%ext_man
%{_mandir}/man1/sgen.1%ext_man
@ -1248,6 +1347,11 @@ Mono development tools.
%{_mandir}/man1/xbuild.1%ext_man
%{_prefix}/lib/mono-source-libs
%{_prefix}/lib/mono/4.0
%{_prefix}/lib/mono/4.6.2-api
%{_prefix}/lib/mono/4.6.1-api
%{_prefix}/lib/mono/4.6-api
%{_prefix}/lib/mono/4.5.2-api
%{_prefix}/lib/mono/4.5.1-api
%{_prefix}/lib/mono/4.5-api
%{_prefix}/lib/mono/4.0-api
%{_prefix}/lib/mono/3.5-api
@ -1317,6 +1421,39 @@ Mono development tools.
%{_prefix}/lib/mono/xbuild-frameworks
%dir %{_libdir}/mono/
%{_libdir}/mono/lldb
%if %roslyn == yes
%{_prefix}/lib/mono/4.5/caspol.pdb
%{_prefix}/lib/mono/4.5/cccheck.pdb
%{_prefix}/lib/mono/4.5/ccrewrite.pdb
%{_prefix}/lib/mono/4.5/cert2spc.pdb
%{_prefix}/lib/mono/4.5/dtd2rng.pdb
%{_prefix}/lib/mono/4.5/dtd2xsd.pdb
%{_prefix}/lib/mono/4.5/genxs.pdb
%{_prefix}/lib/mono/4.5/httpcfg.pdb
%{_prefix}/lib/mono/4.5/ictool.pdb
%{_prefix}/lib/mono/4.5/ilasm.pdb
%{_prefix}/lib/mono/4.5/installvst.pdb
%{_prefix}/lib/mono/4.5/lc.pdb
%{_prefix}/lib/mono/4.5/linkeranalyzer.pdb
%{_prefix}/lib/mono/4.5/macpack.pdb
%{_prefix}/lib/mono/4.5/makecert.pdb
%{_prefix}/lib/mono/4.5/mdbrebase.pdb
%{_prefix}/lib/mono/4.5/mkbundle.pdb
%{_prefix}/lib/mono/4.5/mono-api-info.pdb
%{_prefix}/lib/mono/4.5/mono-api-html.pdb
%{_prefix}/lib/mono/4.5/mono-cil-strip.pdb
%{_prefix}/lib/mono/4.5/mono-shlib-cop.pdb
%{_prefix}/lib/mono/4.5/mono-xmltool.pdb
%{_prefix}/lib/mono/4.5/monop.pdb
%{_prefix}/lib/mono/4.5/pdb2mdb.pdb
%{_prefix}/lib/mono/4.5/permview.pdb
%{_prefix}/lib/mono/4.5/resgen.pdb
%{_prefix}/lib/mono/4.5/secutil.pdb
%{_prefix}/lib/mono/4.5/sgen.pdb
%{_prefix}/lib/mono/4.5/signcode.pdb
%{_prefix}/lib/mono/4.5/*symbolicate.pdb
%{_prefix}/lib/mono/4.5/xbuild.pdb
%endif
%package -n mono-reactive
Summary: Reactive Extensions
@ -1403,6 +1540,10 @@ Monodoc-core contains documentation tools for C#.
%{_prefix}/lib/mono/gac/monodoc
%{_prefix}/lib/mono/monodoc
%{_prefix}/lib/monodoc
%if %roslyn == yes
%{_prefix}/lib/mono/4.5/mdoc.pdb
%{_prefix}/lib/mono/4.5/mod.pdb
%endif
%package -n mono-complete
Summary: Install everything built from the mono source tree

View File

@ -0,0 +1,12 @@
diff -uprN mono-5.0.0.old/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/Csc.cs mono-5.0.0/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/Csc.cs
--- mono-5.0.0.old/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/Csc.cs 2017-05-03 18:45:38.000000000 +0300
+++ mono-5.0.0/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/Csc.cs 2017-05-05 05:05:48.901776264 +0300
@@ -219,7 +219,7 @@ namespace Microsoft.Build.Tasks {
protected override string ToolName {
get {
- return MSBuildUtils.RunningOnWindows ? "csc.bat" : "csc.exe";
+ return MSBuildUtils.RunningOnWindows ? "mcs.bat" : "mcs.exe";
}
}