File mono.spec of Package mono
%define with_sgen 1
%define use_roslyn 1
%define building_from_git 0
%define __majorver 5.18.1
%define __minorver 28
%define dist_version %{?centos_version}%{?rhel_version}
%{?_without_sgen: %{expand: %%global with_sgen 0}}
%if 0%{?centos_version} < 700 || 0%{?rhel_version} < 700
%define _target_cpu %{_build_cpu}
%endif
%if 0%{?rhel}%{?el6}%{?el7}
# to resolve: "ERROR: No build ID note found"
%undefine _missing_build_ids_terminate_build
%endif
# We need to fix _libexec dir to ${prefix}/lib even on 64bit archs. (pruiz)
# See: http://fedoraproject.org/wiki/User:Chkr/MonoMultiarchChanges
%define _libexecdir %{_prefix}/lib
Name: mono
#Version: 4.0.3.20
Version: %{__majorver}.%{__minorver}
Release: 0
Summary: An Open Source .NET runtime environment
Group: Development/Languages
License: MIT
URL: http://www.mono-project.com/Main_Page
%if 0%{building_from_git} > 0
Source0: mono-head.tar.gz
%else
Source0: http://origin-download.mono-project.com/sources/mono/mono-%{version}.tar.bz2
%endif
Source1: monodir.c
# This key was generated by Tom "spot" Callaway <tcallawa@redhat.com> on Dec 1, 2009
# by running the following command:
# sn -k mono.snk
# You should not regenerate this unless you have a really, really, really good reason.
Source2: mono.snk
#Source3: https://download.mono-project.com/monolite/monolite-linux-B886E13F-6276-4BE5-85F8-C6BF5EDBD200-latest.tar.gz
#Source4: Microsoft.Net.Compilers.3.3.1.zip
Source100: mono-2.8.2-SessionInProcHandler.cs
Source101: gnulib-common.m4
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if %{dist_version} < 700
BuildRequires: devtoolset-2-allinone
%else
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
BuildRequires: which
BuildRequires: make
BuildRequires: gettext
BuildRequires: fdupes
BuildRequires: gcc, gcc-c++
BuildRequires: libtool
BuildRequires: binutils >= 2.24
%endif
BuildRequires: cmake
BuildRequires: bison
BuildRequires: glib2-devel
BuildRequires: pkgconfig
BuildRequires: libicu-devel
BuildRequires: libgdiplus-devel >= 3.12
BuildRequires: zlib-devel
# Required by unit/integration tests..
BuildRequires: python
%ifarch ia64
BuildRequires: libunwind
BuildRequires: libunwind-devel
%endif
%if 0%{?fedora} || 0%{?rhel} || 0%{?centos}
BuildRequires: pkgconfig
BuildRequires: libX11-devel
%else
BuildRequires: pkg-config
BuildRequires: xorg-x11-libX11-devel
%endif
# Required for mono-libdir.patch
BuildRequires: automake libtool gettext-devel
BuildRequires: valgrind-devel
BuildRequires: curl, wget, which
BuildRequires: redhat-rpm-config
# Yes, mono actually depends on itself, because
# we deleted the bootstrapping binaries. If you
# need to bootstrap mono, comment out this BuildRequires
# and don't delete the binaries in %%prep.
#BuildRequires: mono-core
# JIT only availible on these:
ExclusiveArch: %ix86 x86_64 ia64 %{arm} sparcv9 alpha s390x ppc ppc64
#Patch0: provides-facades.patch
Patch1: mono-2.10-libdir.patch
Patch2: mono-1.2.3-use-monodir.patch
Patch3: mono-2.2-uselibdir.patch
Patch4: mono-2.0-monoservice.patch
Patch5: mono-2.10-metadata-makefile.patch
Patch12: mono-4.0.0-libgdiplusconfig.patch
Patch13: mono-4.2-fix-winforms-trayicon.patch
#Patch40: mono-5.8.0-find-provides.patch
# CRT0's patches and backports.
Patch100: mono-net_4_0-debug.patch
Patch101: mono-545578-fix.diff
#Patch101: mono-7408-77798d7ecb21541ff97f3e7730c11c620b8ce0b1.diff
#Patch102: mono-6602-80e74e79d896464abd0f2a4eab31ac511d5bddec.diff
#Patch103: mono-ea16844828fef565d0cad331f1febe6452ca68ac.diff
#Patch104: mono-03b7743af9c1635eb10b1b6934c9c6ba4a89ff19.diff
#Patch105: mono-8466-5ff22884f9578710417c0c3932915c38b2ae0153.diff
#Patch106: mono-8037-e3b9881e5707953bd37fb3ed0dbeab93e6603a5e.diff
#Patch107: mono-8232-aa63004a73f9775e975f8d67b56cfdbbab101a72.diff
#Patch108: mono-8283-8024c26bfebfa1d56c8586b920d7b13700218716.diff
#Patch109: mono-8334-d483378be2d33e332f89454b5d6ef8bacbeec22c.diff
#Patch110: mono-8384-eb440e5454af863ab976fc3314eda727efcb108b.diff
#Patch111: mono-8385-011417179a637c2eb668ff194e7669bb9ff1eeb2.diff
#Patch112: mono-8398-8cd773d85755b397c43e6e6a3d536bb07f036f59.diff
#Patch113: mono-5760-44fb821735e2636330aefd80602dd6cbf6e66524.diff
#Patch114: mono-8399-c94081e227618d45ce0c0b42ebe5fd2fb3ba24ae.diff
#Patch115: mono-8414-62c968fec22e1de53979952e17497477f3d04713.diff
#Patch116: mono-29f274c5d1acec1130683cbdd77daf309a21f909.diff
#Patch117: mono-dc70826f2a0c1a9b82a9a0b4247cd747ec08d645.diff
#Patch118: mono-3582-c95627ec7399fc3984ae1395d89e329a77df52b9.diff
Patch119: mono-browsercaps-fix.diff
#Patch120: mono-remap-SRS_v3_0-fix.diff
#Patch121: mono-syswebrt-fixes.diff
#Patch122: mono-8965-fix.diff
#Patch123: mono-syswebrt-fix2.diff
#Patch124: mono-3b058f06808d3caa8507a7e4cfff38b058642a8e.diff
#Patch125: mono-33432-7cd961939c9495362d619d8636366033253fc3ee.diff
# mono-3.0.12 patches
#Patch126: mono-ac8695db9fe1eeccf579964af5a4b8acd7deeceb.diff
#Patch127: mono-dataannotations-enhacements.diff
#Patch128: mono-fc4074b399431e9c24d91419281fe9fcec7c285c.diff
#Patch129: mono-85cb07992dcab999cd0503b5f82fe6f3462e1366.diff
# mono-3.2.3 patches
# mono-3.4.0 patches
Patch130: mono-3.4.0-140809.diff
# mono-4.0.X patches
#Patch140: mono-501f0aa.diff
# mono-4.2.1+ patches
#Patch151: mono-27432be3ec4c65ba618b18389561b57e2b2716cb.diff
#Patch153: mono-174c4317b1cf70bd25762dc1a816f348b6d7f2e7.diff
#Patch154: mono-20df1ab1ffbc1d937a8568ae80457669b740541c.diff
#Patch155: mono-a0d5b21a455f3d5b11076e3e8b907a6a234b5fc6.diff
#Patch156: mono-37f57b9c0dd535f66d91624365b911f9c8b07b54.diff
#Patch157: mono-ea09193eb876a2020cb3e0ae72138b5f73774c06.diff
#Patch158: mono-40705.diff
# mono-4.4.2+ patches
#Patch160: mono-d0fc1a66e21eddba20ade505d6880238a0253d9e.diff
#Patch161: mono-SessionState-Release.patch
Patch162: mono-fix-image-writer.diff
#Patch163: mono-8522.diff
# mono-5.10.1.47+ patches
#Patch170: mono-8090.diff
#Patch171: mono-8438.diff
#Patch172: mono-6034.diff
#Patch173: mono-7640.diff
#Patch174: mono-6746.diff
# mono-5.18.0+ patches
Patch180: mono-5.18.0-sharpziplib-parent-path-traversal.patch
Patch181: mono-19955-fix.patch
Patch182: mono-20059-rcvtimeo-V4.patch
Patch183: mono-19955-fix-plus.patch
Patch184: mono-1ef655bc0da2477e248492a93e636637f8223d03.diff
Patch185: mono-2d8839e704f8405becb3bc7f81ff8bc5ad897f7b.diff
Patch186: mono-dataflow-remap-fix.diff
Patch187: mono-12802.diff
# 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 msbuild_prefix %{buildroot}%{_prefix}/lib/mono/msbuild/Current/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}/vbc.exe" \\\
| grep -v "%{roslyn_prefix}/VBCSCompiler.exe" \\\
| grep -v "%{msbuild_prefix}/" \\\
| grep -v "%{buildroot}%{_prefix}/lib/mono/4.5/Facades" \\\
| cat -
%define _use_internal_dependency_generator 0
%if 0%{?fedora} || 0%{?rhel} || 0%{?centos}
%global __find_provides env sh -c 'filelist=($(cat)) && { \\\
%{filtered_filelist} | /usr/lib/rpm/redhat/find-provides && \\\
%{filtered_filelist} | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-provides; } | sort | uniq'
%global __find_requires env sh -c 'filelist=($(cat)) && { \\\
%{filtered_filelist} | /usr/lib/rpm/redhat/find-requires && \\\
%{filtered_filelist} | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-requires; } | sort | uniq | grep ^...'
%else
%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 | grep ^...'
%endif
%if 0%{use_roslyn}
%define csc roslyn
%define exedbg pdb
%define dlldbg pdb
%else
%define csc mcs
%define exedbg exe.mdb
%define dlldbg dll.mdb
%endif
%define monodir %{_libexecdir}/mono
%define _monogacdir %{monodir}/gac
%define gac_dll(dll) %{monodir}/gac/%{1} \
%{monodir}/?.?/%{1}.dll \
%{nil}
%define mono_bin(bin) %{_bindir}/%{1} \
%{monodir}/?.?/%{1}.exe \
%{monodir}/?.?/%{1}.%{exedbg} \
%{nil}
%description
The Mono runtime implements a JIT engine for the ECMA CLI
virtual machine (as well as a byte code interpreter, the
class loader, the garbage collector, threading system and
metadata access libraries.
%package core
Summary: The Mono CIL runtime, suitable for running .NET code
Group: Development/Languages
Requires: ca-certificates
Requires: libgdiplus%{?_isa} >= 3.12
Requires: mono-data = %{version}-%{release}
Requires: mono-wcf = %{version}-%{release}
Requires: mono-winforms = %{version}-%{release}
Provides: mono = %{version}
Provides: mono-cairo = %{version}
Provides: mono-drawing = %{version}
Provides: mono-ikvm = %{version}
Provides: mono-posix = %{version}
Provides: mono-xml-relaxng = %{version}
Provides: mono-ziplib = %{version}
Provides: mono(Commons.Xml.Relaxng) = 1.0.5000.0
Provides: mono(Commons.Xml.Relaxng) = 2.0.0.0
Provides: mono(CustomMarshalers) = 1.0.5000.0
Provides: mono(CustomMarshalers) = 2.0.0.0
Provides: mono(I18N) = 1.0.5000.0
Provides: mono(I18N) = 2.0.0.0
Provides: mono(I18N.West) = 1.0.5000.0
Provides: mono(I18N.West) = 2.0.0.0
Provides: mono(ICSharpCode.SharpZipLib) = 0.6.0.0
Provides: mono(ICSharpCode.SharpZipLib) = 2.6.0.0
Provides: mono(ICSharpCode.SharpZipLib) = 0.84.0.0
Provides: mono(ICSharpCode.SharpZipLib) = 2.84.0.0
Provides: mono(Mono.Cairo) = 1.0.5000.0
Provides: mono(Mono.Cairo) = 2.0.0.0
Provides: mono(Mono.CompilerServices.SymbolWriter) = 1.0.5000.0
Provides: mono(Mono.CompilerServices.SymbolWriter) = 2.0.0.0
Provides: mono(Mono.Posix) = 1.0.5000.0
Provides: mono(Mono.Posix) = 2.0.0.0
Provides: mono(Mono.Security) = 1.0.5000.0
Provides: mono(Mono.Security) = 2.0.0.0
Provides: mono(System) = 1.0.5000.0
Provides: mono(System) = 2.0.0.0
Provides: mono(System.Configuration) = 1.0.5000.0
Provides: mono(System.Configuration) = 2.0.0.0
Provides: mono(System.Security) = 1.0.5000.0
Provides: mono(System.Security) = 2.0.0.0
Provides: mono(System.Xml) = 1.0.5000.0
Provides: mono(System.Xml) = 2.0.0.0
Provides: mono(System.Diagnostics.Contracts) = 4.0.0.0
Provides: mono(System.Diagnostics.Debug) = 4.0.0.0
Provides: mono(System.Diagnostics.Tools) = 4.0.0.0
Provides: mono(System.Diagnostics.Tracing) = 4.0.0.0
Provides: mono(System.Collections) = 4.0.0.0
Provides: mono(System.Collections.Concurrent) = 4.0.0.0
Provides: mono(System.Runtime) = 4.0.0.0
Provides: mono(System.Runtime.Extensions) = 4.0.0.0
Provides: mono(System.Runtime.InteropServices) = 4.0.0.0
Provides: mono(System.Runtime.InteropServices.WindowsRuntime) = 4.0.0.0
Provides: mono(System.Runtime.Numerics) = 4.0.0.0
Provides: mono(System.Runtime.Serialization.Json) = 4.0.0.0
Provides: mono(System.Runtime.Serialization.Primitives) = 4.0.0.0
Provides: mono(System.Runtime.Serialization.Xml) = 4.0.0.0
Provides: mono(System.Reflection) = 4.0.0.0
Provides: mono(System.Reflection.Emit) = 4.0.0.0
Provides: mono(System.Reflection.Emit.ILGeneration) = 4.0.0.0
Provides: mono(System.Reflection.Emit.Lightweight) = 4.0.0.0
Provides: mono(System.Reflection.Extensions) = 4.0.0.0
Provides: mono(System.Reflection.Primitives) = 4.0.0.0
Provides: mono(System.ObjectModel) = 4.0.0.0
Provides: mono(System.Xml.ReaderWriter) = 4.0.0.0
Provides: mono(System.Xml.XDocument) = 4.0.0.0
Provides: mono(System.Xml.XmlSerializer) = 4.0.0.0
Provides: mono(System.ComponentModel) = 4.0.0.0
Provides: mono(System.ComponentModel.Annotations) = 4.0.0.0
Provides: mono(System.ComponentModel.EventBasedAsync) = 4.0.0.0
Provides: mono(System.Dynamic.Runtime) = 4.0.0.0
Provides: mono(System.Globalization) = 4.0.0.0
Provides: mono(System.IO) = 4.0.0.0
Provides: mono(System.Linq) = 4.0.0.0
Provides: mono(System.Linq.Expressions) = 4.0.0.0
Provides: mono(System.Linq.Parallel) = 4.0.0.0
Provides: mono(System.Linq.Queryable) = 4.0.0.0
Provides: mono(System.Net.NetworkInformation) = 4.0.0.0
Provides: mono(System.Net.Primitives) = 4.0.0.0
Provides: mono(System.Net.Requests) = 4.0.0.0
Provides: mono(System.Resources.ResourceManager) = 4.0.0.0
Provides: mono(System.Security.Principal) = 4.0.0.0
Provides: mono(System.ServiceModel.Http) = 4.0.0.0
Provides: mono(System.ServiceModel.Primitives) = 4.0.0.0
Provides: mono(System.ServiceModel.Security) = 4.0.0.0
Provides: mono(System.Text.Encoding) = 4.0.0.0
Provides: mono(System.Text.Encoding.Extensions) = 4.0.0.0
Provides: mono(System.Text.RegularExpressions) = 4.0.0.0
Provides: mono(System.Threading) = 4.0.0.0
Provides: mono(System.Threading.Tasks) = 4.0.0.0
Provides: mono(System.Threading.Tasks.Parallel) = 4.0.0.0
Provides: mono(System.Threading.Timer) = 4.0.0.0
Provides: mono(mscorlib) = 1.0.5000.0
Provides: mono(mscorlib) = 2.0.0.0
Provides: mono(mscorlib) = 4.0.0.0
Provides: mono(Mono.Configuration.Crypto) = 4.0.0.0
Obsoletes: mono-ikvm
Obsoletes: mono-4-preview < 2.10.0
Obsoletes: mono <= %{version}-%{release}
%ifarch x86_64
Conflicts: mono-core.(i386|i686)
%endif
%ifarch i386
Conflicts: mono-core.x86_64
%endif
%ifarch i686
Conflicts: mono-core.x86_64
%endif
%description core
This package contains the core of the Mono runtime including its
Virtual Machine, Just-in-time compiler, C# compiler, security
tools and libraries (corlib, XML, System.Security, ZipLib,
I18N, Cairo and Mono.*).
%package winfx
Summary: Mono implementation of core WinFX APIs
Group: Development/Languages
Requires: mono-core = %{version}-%{release}
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description winfx
Open source implementation of core WinFX APIs
%package mvc
Summary: Mono implementation of ASP.NET MVC
Group: Development/Languages
Requires: mono-core = %{version}-%{release}
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description mvc
This is the Mono implementation of ASP.NET MVC
%package mvc-devel
Summary: Development files for ASP.NET MVC
Group: Development/Languages
Requires: mono-core = %{version}-%{release}
Requires: mono-mvc = %{version}-%{release}
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description mvc-devel
This is the Mono implementation of ASP.NET MVC
%package devel
Summary: Development tools for Mono
Group: Development/Languages
Requires: mono-core%{_isa} = %{version}-%{release}
# Required because they are referenced by .pc files
#Requires: mono-data = %{version}
#Requires: mono-data-oracle = %{version}
#Requires: mono-extras = %{version}
#Requires: mono-web = %{version}
#Requires: mono-winforms = %{version}
Requires: pkgconfig
Requires: glib2-devel
Provides: mono-xbuild = %{version}
Provides: mono-roslyn = %{version}
Provides: mono(PEAPI) = 1.0.5000.0
Provides: mono(PEAPI) = 2.0.0.0
Provides: mono(resgen) = 1.0.5000.0
Provides: mono(resgen) = 2.0.0.0
%description devel
This package completes the Mono developer toolchain with the mono profiler,
assembler and other various tools.
%package nunit
Summary: NUnit Testing Framework
License: zlib with acknowledgement
Group: Development/Languages
Requires: mono-core = %{version}-%{release}
Requires: glib2-devel
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description nunit
NUnit is a unit-testing framework for all .Net languages. Initially
ported from JUnit, the current release, version 2.2, is the fourth
major release of this Unit based unit testing tool for Microsoft .NET.
It is written entirely in C# and has been completely redesigned to
take advantage of many .NET language features, for example
custom attributes and other reflection related capabilities. NUnit
brings xUnit to all .NET languages.
%package nunit-devel
Summary: pkgconfig for nunit
Group: Development/Libraries
Requires: mono-core = %{version}-%{release}, pkgconfig
Requires: mono-nunit = %{version}-%{release}
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description nunit-devel
Development files for nunit
%package locale-extras
Summary: Extra locale information for Mono
Group: Development/Languages
Requires: mono-core = %{version}-%{release}
Provides: mono(I18N.CJK) = 1.0.5000.0
Provides: mono(I18N.CJK) = 2.0.0.0
Provides: mono(I18N.MidEast) = 1.0.5000.0
Provides: mono(I18N.MidEast) = 2.0.0.0
Provides: mono(I18N.Other) = 1.0.5000.0
Provides: mono(I18N.Other) = 2.0.0.0
Provides: mono(I18N.Rare) = 1.0.5000.0
Provides: mono(I18N.Rare) = 2.0.0.0
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description locale-extras
This package contains assemblies to support I18N applications for
non-latin alphabets.
%package extras
Summary: Provides the infrastructure for running and building daemons and services with Mono as well as various stub assemblies
Group: Development/Languages
Requires: mono-core = %{version}-%{release}
Requires: mono-winforms = %{version}-%{release}
Provides: mono-ms-extras = %{version}
Provides: mono(Mono.Messaging) = 1.0.5000.0
Provides: mono(Mono.Messaging) = 2.0.0.0
Provides: mono(Mono.Messaging.RabbitMQ) = 1.0.5000.0
Provides: mono(Mono.Messaging.RabbitMQ) = 2.0.0.0
Provides: mono(RabbitMQ.Client) = 1.0.5000.0
Provides: mono(RabbitMQ.Client) = 2.0.0.0
Provides: mono(System.Configuration.Install) = 1.0.5000.0
Provides: mono(System.Configuration.Install) = 2.0.0.0
Provides: mono(System.Management) = 1.0.5000.0
Provides: mono(System.Management) = 2.0.0.0
Provides: mono(System.Messaging) = 1.0.5000.0
Provides: mono(System.Messaging) = 2.0.0.0
Provides: mono(System.ServiceProcess) = 1.0.5000.0
Provides: mono(System.ServiceProcess) = 2.0.0.0
Provides: mono(mono-service) = 1.0.5000.0
Provides: mono(mono-service) = 2.0.0.0
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description extras
This package provides the libary and application to run services
and daemons with Mono. It also includes stubs for the following
2.0 assemblies: Microsoft.Vsa,
System.Configuration.Install, System.Management, System.Messaging.
%package winforms
Summary: Windows Forms implementation for Mono
Group: Development/Languages
Requires: mono-core = %{version}-%{release}
Provides: mono-window-forms = %{version}
Provides: mono(Accessibility) = 1.0.5000.0
Provides: mono(Accessibility) = 2.0.0.0
Provides: mono(System.Design) = 1.0.5000.0
Provides: mono(System.Design) = 2.0.0.0
Provides: mono(System.Drawing) = 1.0.5000.0
Provides: mono(System.Drawing) = 2.0.0.0
Provides: mono(System.Drawing.Design) = 1.0.5000.0
Provides: mono(System.Drawing.Design) = 2.0.0.0
Provides: mono(System.Windows.Forms) = 1.0.5000.0
Provides: mono(System.Windows.Forms) = 2.0.0.0
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description winforms
This package provides a fully managed implementation of
System.Windows.Forms, the default graphical toolkit for .NET
applications.
%package wcf
Summary: Mono implementation of Windows Communication Foundation
Group: Development/Languages
Requires: mono-core = %{version}-%{release}
Requires: mono-web = %{version}-%{release}
Requires: mono-extras = %{version}-%{release}
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description wcf
This package provides an implementation of WCF, the Windows Communication
Foundation.
%package web
Summary: ASP.NET, Remoting, and Web Services for Mono
Group: Development/Languages
Requires: mono-core = %{version}-%{release}
Requires: mono-wcf = %{version}-%{release}
Requires: mono-data = %{version}-%{release}
Requires: mono-data-sqlite = %{version}-%{release}
Provides: mono-remoting = %{version}
Provides: mono-web-forms = %{version}
Provides: mono-web-services = %{version}
Provides: mono(Mono.Http) = 1.0.5000.0
Provides: mono(Mono.Http) = 2.0.0.0
Provides: mono(System.Runtime.Remoting) = 1.0.5000.0
Provides: mono(System.Runtime.Remoting) = 2.0.0.0
Provides: mono(System.Runtime.Serialization.Formatters.Soap) = 1.0.5000.0
Provides: mono(System.Runtime.Serialization.Formatters.Soap) = 2.0.0.0
Provides: mono(System.Web) = 1.0.5000.0
Provides: mono(System.Web) = 2.0.0.0
Provides: mono(System.Web.Razor) = 2.0.0.0
Provides: mono(System.Web.Services) = 1.0.5000.0
Provides: mono(System.Web.Services) = 2.0.0.0
Provides: mono(System.Web.WebPages.Deployment) = 2.1.0.0
Provides: mono(System.Web.WebPages.Razor) = 2.0.0.0
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description web
This package provides the ASP.NET libraries and runtime for
development of web application, web services and remoting support.
%package web-devel
Summary: Development files for system.web
Group: Development/Languages
Requires: mono-core = %{version}-%{release}
Requires: mono-web = %{version}-%{release} pkgconfig
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description web-devel
This package provides the .pc file for mono-web
%package data
Summary: Database connectivity for Mono
Group: Development/Languages
Requires: mono-core = %{version}-%{release}
Provides: mono-directory = %{version}
Provides: mono-ms-enterprise = %{version}
Provides: mono-novell-directory = %{version}
Provides: mono(Mono.Data.Tds) = 1.0.5000.0
Provides: mono(Mono.Data.Tds) = 2.0.0.0
Provides: mono(Novell.Directory.Ldap) = 1.0.5000.0
Provides: mono(Novell.Directory.Ldap) = 2.0.0.0
Provides: mono(System.Data) = 1.0.5000.0
Provides: mono(System.Data) = 2.0.0.0
Provides: mono(System.DirectoryServices) = 1.0.5000.0
Provides: mono(System.DirectoryServices) = 2.0.0.0
Provides: mono(System.EnterpriseServices) = 1.0.5000.0
Provides: mono(System.EnterpriseServices) = 2.0.0.0
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description data
This package provides a Mono assembly to facilitate data access
and manipulation with databases, LDAP compatible directory servers
and/or XML data exchange. Beyond the ADO.NET, Novell.LDAP and
System.DirectoryServices assemblies, it also includes a command
line sql application as well as the Microsoft SQL Server and ODBC
data providers.
%package data-sqlite
Summary: sqlite database connectivity for Mono
Group: Development/Languages
Requires: mono-core = %{version}-%{release}
Requires: mono-data = %{version}-%{release}
Requires: sqlite
Provides: mono(Mono.Data.Sqlite) = 1.0.5000.0
Provides: mono(Mono.Data.Sqlite) = 2.0.0.0
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description data-sqlite
This package contains the ADO.NET Data provider for the sqlite
database.
%package data-oracle
Summary: Oracle database connectivity for Mono
Group: Development/Languages
Requires: mono-core = %{version}-%{release}
Requires: mono-data = %{version}-%{release}
Provides: mono(System.Data.OracleClient) = 1.0.5000.0
Provides: mono(System.Data.OracleClient) = 2.0.0.0
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description data-oracle
This package contains the ADO.NET Data provider for the Oracle
database.
%package -n ibm-data-db2
Summary: IBM DB2 database connectivity for Mono
Group: Development/Languages
Requires: mono-core = %{version}-%{release}
Requires: mono-data = %{version}-%{release}
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description -n ibm-data-db2
This package contains the ADO.NET Data provider for the IBM DB2
Universal database.
%package -n monodoc
Summary: The mono documentation system
Group: Documentation
Requires: mono-core = %{version}-%{release}
Provides: monodoc-core = %{version}-%{release}
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description -n monodoc
monodoc is the documentation package for the mono .NET environment
%package -n monodoc-devel
Summary: .pc file for monodoc
Group: Documentation
Requires: monodoc = %{version}-%{release} pkgconfig
Requires: mono-core = %{version}-%{release}
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description -n monodoc-devel
Development file for monodoc
%package reactive
License: MIT License (or similar) ; Apache License 2.0
Summary: Reactive Extensions for Mono core libraries
Group: Development/Languages/Mono
Requires: mono-core = %{version}-%{release}
Provides: mono(System.Reactive.Interfaces) = 1.0.5000.0
Obsoletes: rx-core
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description reactive
The Mono Project is an open development initiative that is working to
develop an open source, Unix version of the .NET development platform.
Its objective is to enable Unix developers to build and deploy
cross-platform .NET applications. The project will implement various
technologies that have been submitted to the ECMA for standardization.
Reactive Extensions for Mono, core packages, which don't depend on
desktop-specific features.
%package reactive-winforms
License: MIT License (or similar) ; Apache License 2.0
Summary: Reactive Extensions for Mono desktop-specific libraries
Group: Development/Languages/Mono
Requires: mono-core = %{version}-%{release}
Requires: mono-reactive = %{version}-%{release}
Obsoletes: rx-desktop
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description reactive-winforms
The Mono Project is an open development initiative that is working to
develop an open source, Unix version of the .NET development platform.
Its objective is to enable Unix developers to build and deploy
cross-platform .NET applications. The project will implement various
technologies that have been submitted to the ECMA for standardization.
Reactive Extensions for Mono, desktop-specific packages (winforms,
windows threading).
%package reactive-devel
License: MIT License (or similar) ; Apache License 2.0
Summary: Development files for system.web
Group: Development/Languages
Requires: mono-core = %{version}-%{release}
Requires: mono-reactive = %{version}-%{release}
Requires: pkgconfig
%if 0%{?fedora} >= 12 || 0%{?rhel} > 5
BuildArch: noarch
%endif
%description reactive-devel
This package provides the .pc file for mono-rx
%prep
echo BUILDING FOR: %{_arch} / %{_target_cpu}
%if 0%{building_from_git} > 0
%setup -q -n mono.git
%else
%setup -q -n mono-%{version}
%endif
#%patch0 -p1
#sed -i -e 's!@LIBDIR@!%{_libdir}!' %{PATCH1}
#sed -i -e 's!@LIBDIR@!%{_libdir}!' %{PATCH5}
#%patch1 -p1 -b .libdir
#%patch5 -F 2 -p1 -b .metadata-makefile
#sed -i -e 's!%{_libdir}!@LIBDIR@!' %{PATCH1}
#sed -i -e 's!%{_libdir}!@LIBDIR@!' %{PATCH5}
%patch2 -p1 -b .usemonodir
%patch3 -p1 -b .uselibdir
%patch4 -p1 -b .monoservice -F 3
#%patch6 -F 1 -p1 -b .libgdiplus
#%patch7 -p1 -b .dllmap
%patch12 -p1 -b .gdiplusdllmap
%patch13 -p1
#%patch40 -p1 -b .find-provides
%if 1 > 0%{building_from_git}
#%patch100 -p1
#%patch101 -p1
#%patch102 -p1
#%patch103 -p1
#%patch104 -p1
#%patch105 -p1
#%patch106 -p1
#%patch107 -p1
#%patch108 -p1
#%patch109 -p1
#%patch110 -p1
#%patch111 -p1
#%patch112 -p1
#%patch113 -p1
#%patch114 -p1
#%patch115 -p1
#%patch116 -p1
#%patch117 -p1
#%patch118 -p1
#%patch119 -p1
#%patch120 -p1
#%patch121 -p1
#%patch122 -p1
#%patch123 -p1
#%patch124 -p1
#%patch125 -p1
#%patch126 -p1
#%patch127 -p1
#%patch128 -p1
#%patch129 -p1
#%patch130 -p1
#%patch140 -p1
#%patch151 -p1
#%patch153 -p1
#%patch154 -p1
#%patch155 -p1
#%patch156 -p1
#%patch157 -p1
#%patch158 -p1
#%patch160 -p1
#%patch161 -p1
%patch162 -p1
#%patch163 -p1
#%patch170 -p1
#%patch171 -p1 -F 3
#%patch172 -p1 -F 3
#%patch173 -p1 -F 3
#%patch174 -p1 -F 3
%patch180 -p1 -F 3
%patch181 -p3 -F 3
%patch182 -p0
%patch183 -p3 -F 3
%patch184 -p1 -F 3
%patch185 -p1 -F 3
%patch186 -p1 -F 3
%patch187 -p1
%endif
## Temporal woraround for: http://bugzilla.xamarin.com/show_bug.cgi?id=925
cp %{SOURCE100} mcs/class/System.Web/System.Web.SessionState_2.0/SessionInProcHandler.cs
cp %{SOURCE101} m4/
## mono 3.0.2+ requires valgrind 3.6.x, which is not available on CentOS 5.x
%if 0%{?centos_version} > 599 || 0%{?rhel_version} > 599
cp /usr/include/valgrind/valgrind.h mono/utils/valgrind.h
%endif
# Fix mono-service2 bug (pruiz)
#sed -i -e 's!mono-service2.exe!mono-service.exe!g' scripts/mono-service2
cp -f scripts/mono-service.in.monoservice scripts/mono-service.in
# Add undeclared Arg
#sed -i "61a #define ARG_MAX _POSIX_ARG_MAX" mono/io-layer/wapi_glob.h
# Fix location of libMonoPosixHelper, etc. (old way)
sed -i 's,@prefix@/lib,%{_libdir},g' data/config.in
# Remove hardcoded lib directory for libMonoPosixHelper.so from the config (new way)
sed -i 's|$mono_libdir/||g' data/config.in
%build
%ifarch ia64
export CFLAGS="-O2 -fno-strict-aliasing"
%endif
%ifarch i686
export CFLAGS="$(echo $RPM_OPT_FLAGS | sed -e 's/i386/i686/g') -fno-strict-aliasing"
export CXXFLAGS="$(echo $RPM_OPT_FLAGS |sed -e 's/i386/i686/g')"
%else
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%endif
%if %{dist_version} < 700
. /opt/rh/devtoolset-2/enable
%endif
gcc -o monodir %{SOURCE1} -DMONODIR=\"%{_libexecdir}/mono\"
%define configure_options \\\
--with-csc=%{csc} \\\
--disable-rpath \\\
--with-ikvm-native=yes --with-jit=yes --with-xen_opt=yes \\\
--with-moonlight=no --with-monotouch=no --with-mobile=no \\\
--with-libgdiplus=installed \\\
--with-sgen=%{?with_sgen:yes}%{!?with_sgen:no} --enable-parallel-mark \\\
--enable-boehm --with-libgc=included
%if 0%{?SOURCE4:1}
# HACK: Use Roslyn 3.3.1 instead of 2.8.2 in order to avoid
# missing references to System.Reflection.Metadata.dll v=1.4.3.0
pushd external/roslyn-binaries/Microsoft.Net.Compilers
unzip %{SOURCE4} -d Microsoft.Net.Compilers.3.3.1
popd
sed -i'' -e 's,Microsoft.Net.Compilers.2.8.2,Microsoft.Net.Compilers.3.3.1,g' configure configure.ac
%endif
%if 0%{?SOURCE3:1}
MONOLITEVER=$(echo "%{SOURCE3}" | sed -e 's,^.*monolite-linux-,,g' -e 's,-latest.*$,,g')
echo "==> $MONOLITEVER"
sed -i'' -e "s,^MONO_CORLIB_VERSION=.*,MONO_CORLIB_VERSION=$MONOLITEVER,g" configure configure.ac
%endif
%if 0%{?centos_version} > 599 || 0%{?rhel_version} > 599
%define _configure ./autogen.sh
%endif
#./autogen.sh
%configure %{configure_options}
# Avoid relocation issues on el5/x64
%if 0%{?centos_version} < 599
%ifarch x86_64
sed -i -e 's,mono_cross_helpers_run,//\0,g' mono/mini/mini.c
%endif
%endif
export echo=echo
#rm -f libtool && cp /usr/bin/libtool libtool
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
%if 0%{building_from_git} > 0
make get-monolite-latest
make %{?_smp_mflags} EXTERNAL_MCS=${PWD}/mcs/class/lib/monolite/gmcs.exe
%else
# Use bundled monolite from 5.8.1+ onwards..
%if 0%{?SOURCE3:1}
mkdir -p ${PWD}/mcs/class/lib
pushd ${PWD}/mcs/class/lib
rm -rf monolite-linux/*
tar -xvzf %{SOURCE3}
id=$(basename %{SOURCE3} |sed -re 's,^monolite-linux-,,g' -e 's,-latest.*$,,g')
mv monolite-linux-${id}-latest monolite-linux/${id}
popd
%endif
make %{?_smp_mflags}
%endif
%install
%{__rm} -rf %{buildroot}
make DESTDIR=%{buildroot} install
install monodir %{buildroot}%{_bindir}
# copy the mono.snk key into /etc/pki/mono
mkdir -p %{buildroot}%{_sysconfdir}/pki/mono
install -p -m0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/pki/mono/
%{__rm} -f %{buildroot}%{_libdir}/*.la
%{__rm} -f %{buildroot}%{_libdir}/*.a
# We put these inside rpm
#%{__rm} -f %{buildroot}%{_bindir}/mono-find-provides
#%{__rm} -f %{buildroot}%{_bindir}/mono-find-requires
# Remove win32 stuff
%{__rm} -rf %{buildroot}%{monodir}/gac/Mono.Security.Win32
%{__rm} -rf %{buildroot}%{monodir}/?.?/Mono.Security.Win32.dll
%{__rm} -rf %{buildroot}%{monodir}/?.?-api/Mono.Security.Win32.dll
# This was removed upstream:
%{__rm} %{buildroot}%{_datadir}/libgc-mono/README*
%{__rm} %{buildroot}%{_datadir}/libgc-mono/barrett_diagram
%{__rm} %{buildroot}%{_datadir}/libgc-mono/*.html
%{__rm} %{buildroot}%{_datadir}/libgc-mono/gc.man
%{__rm} -f %{buildroot}%{_libexecdir}/mono/?.?/mscorlib.dll.so
%{__rm} -f %{buildroot}%{_libexecdir}/mono/?.?/mcs.exe.so
%{__rm} -rf %{buildroot}%{monodir}/xbuild/Microsoft/Silverlight
#%{__rm} -rf %{buildroot}%{_bindir}/mono-configuration-crypto
#%{__rm} -rf %{buildroot}%{_mandir}/man?/mono-configuration-crypto*
# Remove stuff not packaged..
#%{__rm} -f %{buildroot}%{_prefix}/lib/mono/*/culevel.exe*
%{__rm} -rf %{buildroot}%{monodir}/?.?-api/SystemWebTestShim.dll*
# Npgsql is no longer included with mono..
%{__rm} -rf %{buildroot}%{monodir}/?.?/Npgsql.dll
%{__rm} -rf %{buildroot}%{monodir}/?.?-api/Npgsql.dll
# Remove unneded/unwanted VisualBasic stuff..
%{__rm} -rf %{buildroot}%{monodir}/?.?/Microsoft.VisualBasic.dll
%{__rm} -rf %{buildroot}%{monodir}/?.?-api/Microsoft.VisualBasic.dll
%{__rm} -rf %{buildroot}%{monodir}/xbuild/Microsoft/Portable/v?.?/Microsoft.Portable.VisualBasic.targets
# remove msbuild / microsoft binary files
#%{__rm} -rf %{buildroot}%{monodir}/msbuild
# Remove unneded xbuild file
%{__rm} -f %{buildroot}%{monodir}/xbuild/deniedAssembliesList.txt
# Remove non-needed 4.0 legacy symlinks
%{__rm} -rf %{buildroot}%{monodir}/4.0
# Remove 'default interface methods' csc preview
%{__rm} -rf %{buildroot}%{_bindir}/csc-dim
%{__rm} -rf %{buildroot}%{monodir}/4.5/dim/*
# Fix non-executable-in-bin
chmod +x %{buildroot}%{_bindir}/mono-gdb.py
chmod +x %{buildroot}%{_bindir}/mono-sgen-gdb.py
%find_lang mcs
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post core
/sbin/ldconfig
cert-sync /etc/pki/tls/certs/ca-bundle.crt
%post devel -p /sbin/ldconfig
%postun devel -p /sbin/ldconfig
%clean
%{__rm} -rf %{buildroot}
%files core -f mcs.lang
%defattr(-,root,root,-)
%doc COPYING.LIB NEWS README.md
%{_bindir}/mono
%{_bindir}/mono-boehm
%{_bindir}/monodir
%{_bindir}/mono-test-install
%{_bindir}/mono-sgen
%{_bindir}/gacutil2
%{_bindir}/mono-heapviz
%{_bindir}/mprof-report
%{_bindir}/dmcs
%{_bindir}/csc
#%{_bindir}/csc-dim
%{_bindir}/csi
%{_bindir}/vbc
%{_bindir}/mono-configuration-crypto
%mono_bin mcs
%mono_bin ccrewrite
%mono_bin csharp
%mono_bin chktrust
%mono_bin gacutil
%mono_bin lc
%mono_bin mozroots
%mono_bin pdb2mdb
%mono_bin setreg
%mono_bin sn
%mono_bin cccheck
%mono_bin crlupdate
%mono_bin mdbrebase
%mono_bin ikdasm
%mono_bin certmgr
%mono_bin cert-sync
%{_mandir}/man1/ccrewrite.1.gz
%{_mandir}/man1/certmgr.1.gz
%{_mandir}/man1/chktrust.1.gz
%{_mandir}/man1/gacutil.1.gz
%{_mandir}/man1/mcs.1.gz
%{_mandir}/man1/mono.1.gz
%{_mandir}/man1/mozroots.1.gz
%{_mandir}/man1/setreg.1.gz
%{_mandir}/man1/sn.1.gz
%{_mandir}/man5/mono-config.5.gz
%{_mandir}/man1/csharp.1.gz
%{_mandir}/man1/pdb2mdb.1.gz
%{_mandir}/man1/lc.1.gz
%{_mandir}/man1/mprof-report.1.gz
%{_mandir}/man1/cccheck.1.gz
%{_mandir}/man1/crlupdate.1.gz
%{_mandir}/man1/cert-sync.1.gz
%dir %{monodir}
%dir %{monodir}/gac
%dir %{monodir}/?.?
%dir %{monodir}/?.?/Facades
%dir %{_sysconfdir}/mono
%dir %{_sysconfdir}/mono/?.?
%dir %{_sysconfdir}/mono/mconfig
%config (noreplace) %{_sysconfdir}/mono/config
%config (noreplace) %{_sysconfdir}/mono/?.?/machine.config
%config (noreplace) %{_sysconfdir}/mono/?.?/settings.map
%{monodir}/?.?/mscorlib.dll
%{monodir}/?.?/mscorlib.%{dlldbg}
%{monodir}/?.?/csc.exe
%{monodir}/?.?/csc.exe.config
%{monodir}/?.?/csc.exe.so
%{monodir}/?.?/csc.rsp
%{monodir}/?.?/csi.exe
%{monodir}/?.?/csi.exe.config
%{monodir}/?.?/csi.rsp
%{monodir}/?.?/vbc.exe
%{monodir}/?.?/vbc.exe.config
%{monodir}/?.?/vbc.rsp
%{monodir}/?.?/VBCSCompiler.exe*
%{monodir}/?.?/Microsoft.CodeAnalysis.*
%{monodir}/?.?/System.Collections.Immutable.*
%{monodir}/?.?/System.Reflection.Metadata.dll*
%{monodir}/?.?/mono-api-diff.*
#%{monodir}/?.?/dim/*
%{monodir}/?.?/Facades/System*
%{monodir}/?.?/Facades/Microsoft*
%{monodir}/?.?/Facades/netstandard*
%{_libdir}/libmono*-2.0.so.*
%{_libdir}/libmono-profiler-*.so.*
%{_libdir}/libMonoPosixHelper.so
%{_libdir}/libmono-system-native.so*
%{_libdir}/libmono-btls-shared.so*
%{_libexecdir}/mono-source-libs/
%gac_dll System
%gac_dll System.Configuration
%gac_dll System.Core
%gac_dll System.Drawing
%gac_dll System.Deployment
%gac_dll System.Security
%gac_dll System.Xml
%gac_dll System.Net
%gac_dll System.Net.Http
%gac_dll System.Net.Http.WebRequest
%gac_dll System.Xml.Linq
# Fedora & Suse include Sys.CM.DA into mono-web
# but it seems wrong IMHO, it belongs to core
%gac_dll System.ComponentModel.Composition
%gac_dll System.ComponentModel.DataAnnotations
%gac_dll System.Numerics
%gac_dll System.Runtime.Caching
%gac_dll System.Threading.Tasks.Dataflow
%gac_dll System.Xaml
%gac_dll System.Dynamic
%gac_dll System.Json
%gac_dll System.Json.Microsoft
%gac_dll Mono.Management
%gac_dll Mono.Posix
%gac_dll Mono.Security
%gac_dll Mono.Simd
%gac_dll Mono.Cairo
%gac_dll Mono.CompilerServices.SymbolWriter
%gac_dll Mono.CSharp
%gac_dll Mono.CodeContracts
%gac_dll Mono.Tasklets
%gac_dll Mono.Debugger.Soft
%gac_dll Mono.Parallel
%gac_dll I18N
%gac_dll I18N.West
%gac_dll cscompmgd
%gac_dll Microsoft.VisualC
%gac_dll Mono.Btls.Interface
%gac_dll Commons.Xml.Relaxng
%gac_dll ICSharpCode.SharpZipLib
%gac_dll Microsoft.CSharp
%gac_dll CustomMarshalers
%gac_dll System.Windows
%gac_dll System.IO.Compression
%gac_dll System.IO.Compression.FileSystem
%gac_dll System.Xml.Serialization
%gac_dll Mono.Profiler.Log
%gac_dll System.Web.Mobile
%gac_dll System.Web.RegularExpressions
%gac_dll System.Workflow.Activities
%gac_dll System.Workflow.ComponentModel
%gac_dll System.Workflow.Runtime
%gac_dll System.Numerics.Vectors
%gac_dll System.Reflection.Context
%{monodir}/gac/Mono.Cecil
%{monodir}/mono-configuration-crypto/4.5/mono-config*
%{monodir}/mono-configuration-crypto/4.5/Mono.Configuration.Crypto.*
%files devel
%defattr(-,root,root,-)
%mono_bin al
%mono_bin caspol
%mono_bin cert2spc
%mono_bin dtd2rng
%mono_bin dtd2xsd
%mono_bin ilasm
%mono_bin installvst
%mono_bin xbuild
%mono_bin genxs
%mono_bin macpack
%mono_bin mkbundle
%mono_bin makecert
%mono_bin mono-cil-strip
%mono_bin monolinker
%mono_bin mono-shlib-cop
%mono_bin mono-xmltool
%mono_bin monop
%mono_bin permview
%mono_bin resgen
%mono_bin sgen
%mono_bin secutil
%mono_bin signcode
%mono_bin mono-api-html
%mono_bin mono-api-info
%mono_bin illinkanalyzer
%{_bindir}/pedump
%{_bindir}/al2
%{_bindir}/monodis
%{_bindir}/monop2
%{_bindir}/peverify
#{_bindir}/prj2make
%{_bindir}/resgen2
%{_bindir}/mono-find-provides
%{_bindir}/mono-find-requires
%{_bindir}/mono-symbolicate
%{_bindir}/mono-package-runtime
%{_bindir}/sgen-grep-binprot
%{_bindir}/monograph
%{_bindir}/mono-gdb.py*
%{_bindir}/mono-sgen-gdb.py*
%{_mandir}/man1/resgen.1.gz
%{_mandir}/man1/al.1.gz
%{_mandir}/man1/cert2spc.1.gz
%{_mandir}/man1/cilc.1.gz
%{_mandir}/man1/dtd2xsd.1.gz
%{_mandir}/man1/genxs.1.gz
%{_mandir}/man1/ilasm.1.gz
%{_mandir}/man1/macpack.1.gz
%{_mandir}/man1/makecert.1.gz
%{_mandir}/man1/mkbundle.1.gz
%{_mandir}/man1/mono-cil-strip.1.gz
%{_mandir}/man1/monodis.1.gz
%{_mandir}/man1/mono-profilers.1.gz
%{_mandir}/man1/illinkanalyzer.1.gz
%{_datadir}/mono-2.0/mono/cil/cil-opcodes.xml
%{_datadir}/mono-2.0/mono/eglib/eglib-config.h
%{_datadir}/mono-2.0/mono/profiler/mono-profiler-coverage.suppression
%{_mandir}/man1/monolinker.1.gz
%{_mandir}/man1/mono-shlib-cop.1.gz
%{_mandir}/man1/mono-xmltool.1.gz
%{_mandir}/man1/monop.1.gz
%{_mandir}/man1/permview.1.gz
%{_mandir}/man1/secutil.1.gz
%{_mandir}/man1/sgen.1.gz
%{_mandir}/man1/signcode.1.gz
%{_mandir}/man1/xbuild.1.gz
%{_mandir}/man1/mono-api-info.1.gz
%{_mandir}/man1/mono-configuration-crypto.1.gz
%{_mandir}/man1/mono-symbolicate.1.gz
%{_sysconfdir}/pki/mono/
%gac_dll PEAPI
%gac_dll Microsoft.Build
%gac_dll Microsoft.Build.Engine
%gac_dll Microsoft.Build.Framework
%gac_dll Microsoft.Build.Tasks.v4.0
%gac_dll Microsoft.Build.Utilities.v4.0
%gac_dll Mono.XBuild.Tasks
%{_monogacdir}/Microsoft.Build.Tasks.Core
%{_monogacdir}/Microsoft.Build.Utilities.Core
%{_monogacdir}/Microsoft.Build.Tasks.v12.0
%{_monogacdir}/Microsoft.Build.Utilities.v12.0
%gac_dll SMDiagnostics
%{monodir}/4.?/mono-shlib-cop.exe.config
%{monodir}/4.?/browsercaps-updater*
%{monodir}/?.?/xbuild.exe.config
%{monodir}/?.?/xbuild.rsp
%{monodir}/?.?/culevel*
%{monodir}/?.?/ictool*
%{monodir}/?.?/installutil*
%{monodir}/?.?/mono-symbolicate*
%{monodir}/?.?/Microsoft.Build.xsd
%{monodir}/?.?/Microsoft.*.targets
%{monodir}/?.?/Microsoft.Common.tasks
%{monodir}/?.?/MSBuild
%{monodir}/?.?-api/
%{monodir}/?.?.?-api/
%{monodir}/xbuild/14.0/Microsoft.Common.props
%{monodir}/xbuild/??.?/Microsoft.Common.targets/ImportAfter/Microsoft.NuGet.ImportAfter.targets
%{monodir}/xbuild/Current/Microsoft.Common.targets/ImportAfter/Microsoft.NuGet.ImportAfter.targets
%{monodir}/xbuild/??.?/Imports/Microsoft.Common.props/ImportBefore/Microsoft.NuGet.ImportBefore.props
%{monodir}/xbuild/Current/Imports/Microsoft.Common.props/ImportBefore/Microsoft.NuGet.ImportBefore.props
%{monodir}/xbuild/Microsoft/Portable/Microsoft.Portable.Core.props
%{monodir}/xbuild/Microsoft/Portable/Microsoft.Portable.Core.targets
%{monodir}/xbuild/Microsoft/Portable/v?.?/Microsoft.Portable.CSharp.targets
%{monodir}/xbuild/Microsoft/Portable/v?.?/Microsoft.Portable.Common.targets
%{monodir}/xbuild/Microsoft/NuGet/Microsoft.NuGet.Build.Tasks.dll
%{monodir}/xbuild/Microsoft/NuGet/Microsoft.NuGet.Build.Tasks.%{dlldbg}
%{monodir}/xbuild/Microsoft/NuGet/Microsoft.NuGet.props
%{monodir}/xbuild/Microsoft/NuGet/Microsoft.NuGet.targets
%{monodir}/xbuild/??.?/bin/xbuild.exe
%{monodir}/xbuild/??.?/bin/xbuild.exe.config
%{monodir}/xbuild/??.?/bin/xbuild.%{exedbg}
%{monodir}/xbuild/??.?/bin/xbuild.rsp
%{monodir}/xbuild/??.?/bin/Mono.XBuild.Tasks.dll
%{monodir}/xbuild/??.?/bin/Microsoft.Build.Engine.dll
%{monodir}/xbuild/??.?/bin/Microsoft.Build.Framework.dll
%{monodir}/xbuild/??.?/bin/Microsoft.Build.Tasks.*.dll
%{monodir}/xbuild/??.?/bin/Microsoft.Build.Utilities.*.dll
%{monodir}/xbuild/??.?/bin/Microsoft.Build.dll
%{monodir}/xbuild/??.?/bin/Microsoft.Build.xsd
%{monodir}/xbuild/??.?/bin/Microsoft.CSharp.targets
%{monodir}/xbuild/??.?/bin/Microsoft.Common.targets
%{monodir}/xbuild/??.?/bin/Microsoft.Common.tasks
%{monodir}/xbuild/??.?/bin/Microsoft.VisualBasic.targets
%{monodir}/xbuild/??.?/bin/MSBuild/Microsoft.Build.CommonTypes.xsd
%{monodir}/xbuild/??.?/bin/MSBuild/Microsoft.Build.Core.xsd
%{monodir}/msbuild
%{_libdir}/libMonoSupportW.so
%{_libdir}/libikvm-native.so
%{_libdir}/libmono-profiler-*.so
%{_libdir}/pkgconfig/dotnet.pc
%{_libdir}/pkgconfig/mono-cairo.pc
%{_libdir}/pkgconfig/mono.pc
%{_libdir}/pkgconfig/monosgen-2.pc
%{_libdir}/pkgconfig/cecil.pc
%{_libdir}/pkgconfig/dotnet35.pc
%{_libdir}/pkgconfig/mono-lineeditor.pc
%{_libdir}/pkgconfig/mono-options.pc
%{_libdir}/pkgconfig/mono-2.pc
%{_libdir}/pkgconfig/xbuild12.pc
%{_includedir}/mono-2.0/mono/jit/jit.h
%{_includedir}/mono-2.0/mono/metadata/*.h
%{_includedir}/mono-2.0/mono/utils/*.h
%{_includedir}/mono-2.0/mono/cil/opcode.def
%{_libdir}/libmono*-2.0.so
%{_libexecdir}/mono/xbuild-frameworks
%{_libdir}/mono/lldb
%files nunit
%defattr(-,root,root,-)
%mono_bin nunit-console
%{_bindir}/nunit-console2
%{_bindir}/nunit-console4
%{_prefix}/lib/mono/?.?/nunit-console.exe.config
%gac_dll nunit.core
%gac_dll nunit.framework
%gac_dll nunit.util
%gac_dll nunit.mocks
%gac_dll nunit-console-runner
%gac_dll nunit.core.extensions
%gac_dll nunit.core.interfaces
%gac_dll nunit.framework.extensions
%files nunit-devel
%defattr(-,root,root,-)
%{_libdir}/pkgconfig/mono-nunit.pc
%files locale-extras
%defattr(-,root,root,-)
%gac_dll I18N.MidEast
%gac_dll I18N.Rare
%gac_dll I18N.CJK
%gac_dll I18N.Other
%files extras
%defattr(-,root,root,-)
%{_bindir}/mono-service2
%mono_bin mono-service
%{monodir}/gac/mono-service
%gac_dll System.Configuration.Install
%gac_dll System.Management
%gac_dll System.Messaging
%gac_dll System.ServiceProcess
%gac_dll Mono.Messaging.RabbitMQ
%gac_dll Mono.Messaging
%gac_dll RabbitMQ.Client
%{monodir}/?.?/RabbitMQ.Client.Apigen*
%{_mandir}/man1/mono-service.1.gz
%files wcf
%defattr(-, root, root, -)
%gac_dll System.IdentityModel
%gac_dll System.IdentityModel.Selectors
%gac_dll System.ServiceModel
%gac_dll System.ServiceModel.Web
%gac_dll System.ServiceModel.Discovery
%gac_dll System.ServiceModel.Routing
%gac_dll System.ServiceModel.Activation
%gac_dll System.ServiceModel.Internals
%gac_dll System.Runtime.DurableInstancing
%{_libdir}/pkgconfig/wcf.pc
%files web
%defattr(-,root,root,-)
%config (noreplace) %{_sysconfdir}/mono/?.?/web.config
%config (noreplace) %{_sysconfdir}/mono/?.?/Browsers/Compat.browser
%config (noreplace) %{_sysconfdir}/mono/?.?/DefaultWsdlHelpGenerator.aspx
%config (noreplace) %{_sysconfdir}/mono/browscap.ini
%config (noreplace) %{_sysconfdir}/mono/mconfig/config.xml
%mono_bin disco
%mono_bin httpcfg
%mono_bin mconfig
%mono_bin soapsuds
%mono_bin svcutil
%mono_bin wsdl
%{_bindir}/wsdl2
%mono_bin xsd
%gac_dll System.Runtime.Remoting
%gac_dll System.Runtime.Serialization.Formatters.Soap
%gac_dll System.Net.Http.Formatting
%gac_dll System.Web
%gac_dll System.Web.Abstractions
%gac_dll System.Web.DynamicData
%gac_dll System.Web.Routing
%gac_dll System.Web.Services
%gac_dll System.Web.ApplicationServices
%gac_dll System.Web.Razor
%gac_dll System.Web.Http
%gac_dll System.Web.Http.WebHost
%gac_dll System.Web.Http.SelfHost
%gac_dll System.Web.WebPages
%gac_dll System.Web.WebPages.Razor
%gac_dll System.Web.WebPages.Deployment
%gac_dll System.Web.Extensions
%gac_dll System.Web.Extensions.Design
%gac_dll Microsoft.Web.Infrastructure
%gac_dll Mono.Http
%{_mandir}/man1/disco.1.gz
%{_mandir}/man1/httpcfg.1.gz
%{_mandir}/man1/mconfig.1.gz
%{_mandir}/man1/soapsuds.1.gz
%{_mandir}/man1/wsdl.1.gz
%{_mandir}/man1/xsd.1.gz
%files web-devel
%defattr(-,root,root,-)
%{_libdir}/pkgconfig/aspnetwebstack.pc
%{monodir}/xbuild/Microsoft/VisualStudio/v9.0/WebApplications/Microsoft.WebApplication.targets
%{monodir}/xbuild/Microsoft/VisualStudio/v10.0/WebApplications/Microsoft.WebApplication.targets
%{monodir}/xbuild/Microsoft/VisualStudio/v11.0/WebApplications/Microsoft.WebApplication.targets
%{monodir}/xbuild/Microsoft/VisualStudio/v12.0/WebApplications/Microsoft.WebApplication.targets
%{monodir}/xbuild/Microsoft/VisualStudio/v14.0/WebApplications/Microsoft.WebApplication.targets
%{monodir}/xbuild/Microsoft/VisualStudio/v15.0/WebApplications/Microsoft.WebApplication.targets
%{monodir}/xbuild/Microsoft/VisualStudio/v16.0/WebApplications/Microsoft.WebApplication.targets
%files winforms
%defattr(-,root,root,-)
%gac_dll Accessibility
%gac_dll Mono.WebBrowser
%gac_dll System.Design
%gac_dll System.Drawing.Design
%gac_dll System.Windows.Forms
%gac_dll System.Windows.Forms.DataVisualization
%files mvc
%defattr(-, root, root,-)
%gac_dll System.Web.Mvc
%files mvc-devel
%defattr (-,root,root,-)
%{_libdir}/pkgconfig/system.web.extensions.design_1.0.pc
%{_libdir}/pkgconfig/system.web.extensions_1.0.pc
%{_libdir}/pkgconfig/system.web.mvc.pc
%{_libdir}/pkgconfig/system.web.mvc2.pc
%{_libdir}/pkgconfig/system.web.mvc3.pc
%files winfx
%defattr(-, root, root)
%gac_dll WindowsBase
%files data
%defattr(-,root,root,-)
%mono_bin sqlsharp
%mono_bin sqlmetal
%{monodir}/4.?/sqlmetal.exe.config
%gac_dll System.Data
%gac_dll System.Data.Entity
%gac_dll System.Data.DataSetExtensions
%gac_dll System.Data.Linq
%gac_dll System.Data.Services
%gac_dll System.Data.Services.Client
%gac_dll System.DirectoryServices
%gac_dll System.DirectoryServices.Protocols
%gac_dll System.EnterpriseServices
%gac_dll System.Runtime.Serialization
%gac_dll System.Transactions
%gac_dll Mono.Data.Tds
%gac_dll Novell.Directory.Ldap
%gac_dll WebMatrix.Data
%{_mandir}/man1/sqlsharp.1.gz
%files data-sqlite
%defattr(-,root,root,-)
%gac_dll Mono.Data.Sqlite
%files data-oracle
%defattr(-,root,root,-)
%gac_dll System.Data.OracleClient
%files -n ibm-data-db2
%defattr(-,root,root,-)
%gac_dll IBM.Data.DB2
%files -n monodoc
%defattr(-, root, root)
%mono_bin mdoc
%mono_bin mod
#%{_bindir}/mod
%{_bindir}/mdoc-*
%{_bindir}/mdass*
%{_bindir}/mdval*
%{_bindir}/monodoc*
%{_mandir}/man1/md*
%{_mandir}/man1/monodoc*
%{_mandir}/man5/mdoc*
%{monodir}/gac/monodoc
%{_libexecdir}/monodoc/*
%{monodir}/monodoc/monodoc.dll
%files -n monodoc-devel
%defattr (-, root, root)
%{_libdir}/pkgconfig/monodoc.pc
%files reactive
%defattr(-, root, root)
%gac_dll System.Reactive.Core
%gac_dll System.Reactive.Debugger
%gac_dll System.Reactive.Experimental
%gac_dll System.Reactive.Interfaces
%gac_dll System.Reactive.Linq
%gac_dll System.Reactive.PlatformServices
%gac_dll System.Reactive.Providers
%gac_dll System.Reactive.Runtime.Remoting
%gac_dll System.Reactive.Observable.Aliases
%files reactive-winforms
%defattr(-, root, root)
%gac_dll System.Reactive.Windows.Forms
%gac_dll System.Reactive.Windows.Threading
%files reactive-devel
%defattr(-, root, root)
%_libdir/pkgconfig/reactive.pc
%changelog
* Thu Mar 08 2012 Pablo Ruiz <pruiz@crt0.net> - 2.10.5-4crt0
- Added mono-0523d7c671c5f739c1337bd4ae941176348ecb45.diff
- Added mono-0491a2cd5445fc6944fad20e01d8a49984e17e66.diff (Xamarin #3805)
- Added mono-02b1ec7da97f60b3b25304c24aef280d8f6975b7.diff (Xamarin #3805)
- Added mono-70c64f12c3b351847a1c810ff940cccd0623224d.diff (Xamarin #3805)
* Tue Sep 20 2011 Pablo Ruiz <pruiz@crt0.net> - 2.10.5-2crt0
- Added WoR for: http://bugzilla.xamarin.com/show_bug.cgi?id=925
* Fri Sep 16 2011 Pablo Ruiz <pruiz@crt0.net> - 2.10.5-1crt0
- Update to 2.10.5
- Added bugfix 50c4a1968fe06eafab017f244f1afad9adffb65f from git's trunk.
* Sun Aug 28 2011 Christian Krause <chkr@fedoraproject.org> - 2.10.5-1
- Update to 2.10.5
* Fri Jul 29 2011 Pablo Ruiz <pruiz@crt0.net> 2.10.2-1crt0
- Updated to 2.10.2
* Tue Apr 26 2011 Christian Krause <chkr@fedoraproject.org> - 2.10.2-1
- Update to 2.10.2
* Thu Apr 21 2011 Pablo Ruiz <pruiz@crt0.net> 2.8.2-6
- Added mono-verifier-fix.diff
* Tue Apr 19 2011 Dan HorĂ¡k <dan[at]danny.cz> 2.10.1-6
- fix non-x86 builds
* Sun Apr 03 2011 Christian Krause <chkr@fedoraproject.org> - 2.10.1-5
- Correctly obsolete mono-4-preview in mono-core
* Wed Mar 30 2011 Christian Krause <chkr@fedoraproject.org> - 2.10.1-4
- More fixes to avoid -devel dependency (BZ 671917)
* Sun Mar 27 2011 Christian Krause <chkr@fedoraproject.org> - 2.10.1-3
- Add deleted changelog entry
- Fix ExclusiveArch entry for arm (see git commit bbed3987249c)
* Sun Mar 27 2011 Christian Krause <chkr@fedoraproject.org> - 2.10.1-2
- Move sources into lookaside cache
- Merge mono-4 into mono-core and appropriate sub-packages
- Ensure that the symbolic links and the actual libraries in the GAC are
always in the same sub-package
- Move xbuild into -devel sub-package (BZ 671917)