SHA256
1
0
forked from pool/mono-core

Accepting request 494748 from home:Warhammer40k:Mono:Factory

Update to Mono 5.0 stable.

OBS-URL: https://build.opensuse.org/request/show/494748
OBS-URL: https://build.opensuse.org/package/show/Mono:Factory/mono-core?expand=0&rev=182
This commit is contained in:
Ismail Dönmez 2017-05-16 09:00:28 +00:00 committed by Git OBS Bridge
parent b3d453261b
commit 5d120fa586
5 changed files with 176 additions and 15 deletions

View File

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

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,3 +1,17 @@
-------------------------------------------------------------------
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

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
@ -31,21 +32,28 @@
%define btls no
%endif
%ifarch %ix86 x86_64 ppc64le armv7l armv7hl aarch64
%define roslyn yes
%else
%define roslyn no
%endif
Name: mono-core
Version: 4.8.1
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}.0.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 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
@ -166,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
@ -179,13 +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"
@ -211,6 +245,9 @@ export PATH=/opt/novell/llvm-mono/bin:$PATH
%endif
%if %btls == yes
--enable-dynamic-btls \
%endif
%if %roslyn == no
--with-csc=mcs \
%endif
--with-ikvm=yes \
--with-moonlight=no
@ -243,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
@ -267,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
@ -445,6 +496,27 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
%{_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
@ -715,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
@ -836,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
@ -902,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
@ -1027,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
@ -1121,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
@ -1246,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
@ -1254,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
@ -1323,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
@ -1409,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";
}
}