diff options
author | Heather Cynede <cynede@gentoo.org> | 2016-04-06 13:37:32 +0400 |
---|---|---|
committer | Heather Cynede <cynede@gentoo.org> | 2016-04-06 13:39:12 +0400 |
commit | 01db1fd33d509b11a3063208e78976f505c4c5b0 (patch) | |
tree | aaae04f654de331845fadb5d0bf4d91245699d92 /dev-lang/mono | |
parent | gnome-extra/gnome-commander: version bump to 1.4.8 (diff) | |
download | gentoo-01db1fd33d509b11a3063208e78976f505c4c5b0.tar.gz gentoo-01db1fd33d509b11a3063208e78976f505c4c5b0.tar.bz2 gentoo-01db1fd33d509b11a3063208e78976f505c4c5b0.zip |
dev-lang/mono: bump to 4.4.0.40
Package-Manager: portage-2.2.28
Diffstat (limited to 'dev-lang/mono')
11 files changed, 380 insertions, 0 deletions
diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest index 75d2aea542a9..f2311659ed34 100644 --- a/dev-lang/mono/Manifest +++ b/dev-lang/mono/Manifest @@ -5,3 +5,4 @@ DIST mono-4.2.1.124.tar.bz2 96235544 SHA256 6098476ce5c74685b23e7a96be8fe28a27db DIST mono-4.2.2.10.tar.bz2 96232441 SHA256 c772db0be6f108e6832103675c41a3b31439e0203e77a9b321e48ac3bbb9fd25 SHA512 a50082a872e5866d264c1627477accd28539274af1488d0ad92e9fb0d4da56fe35fbe25f57062d7d570a527b9dd6df0d44c586633210c2c7a1fd34ae537bfc62 WHIRLPOOL 40c050a12ccd62ee3ae38ad74d3f0034e341a2d2d4936ff3a73610b265fe946df75741496d655b88e7bc61022d90cae174fc10ada07e93193337dd753b7939f6 DIST mono-4.2.2.30.tar.bz2 78365827 SHA256 57858cd033be9915d7abdc5158c1faae8fa05757c3b7117cab3d703aa696c56b SHA512 5aa93b362da84970310cc35bf02300718a20d2b508c263f45224d89f7aee84ead90c6fd7230ee2f17a2c02d480e3a8f7d2c9308cec0062a8f4c107f674a7c752 WHIRLPOOL fed4edbc5a724777bfe32edd4493c95904983e295c5c093f36231dfcdd9466daa8a21ed79c2686f8f0c6c5bbef8dafd88e82b3131e69e2d31e99fdc36de5aaf5 DIST mono-4.2.3.4.tar.bz2 79614085 SHA256 4703d390416a6e9977585f13711f59a6d54431086c2dbacee49888dcc31937be SHA512 6c7f0dbd6b9efa0481d72c68c7b4ea54cfda0a99c250040c696c7705f70c957c2c26e83221cd1272b159733bdad4e447675b79df68205a09c8d178d570629275 WHIRLPOOL 3acb7deac7c1047230d1940b2d2419d792703d5b65aac1c3baf441618c81de27eb4db66a717d91cc7bd22ae96d433e91832e1db517383e0b94467b1eb1aede84 +DIST mono-4.4.0.40.tar.bz2 84877673 SHA256 803cd367562affb4150783e0b7dc7986f633ebcb61e6d733650a8485385e0fff SHA512 e9d2386a27316e5da03ac4943b60b436d51343a9bf04b924becd3c141726580fe74df373ade7b1061eaaab6c91a39a595aa95b84f132567f80af9a91da99eaf7 WHIRLPOOL 76e5545d8ffff92e1271b63c86ab0d703afaf9cf5685e4f8a9801700c84106037fcc34e1a9c91bce319779dc753a149162db212924996df2e843014fd1ad35ea diff --git a/dev-lang/mono/files/files/add_missing_vb_portable_targets.patch b/dev-lang/mono/files/files/add_missing_vb_portable_targets.patch new file mode 100644 index 000000000000..ece90a587713 --- /dev/null +++ b/dev-lang/mono/files/files/add_missing_vb_portable_targets.patch @@ -0,0 +1,20 @@ +Index: mcs/tools/xbuild/targets/Microsoft.Portable.VisualBasic_4.0.targets +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ mcs/tools/xbuild/targets/Microsoft.Portable.VisualBasic_4.0.targets 2015-05-15 15:55:12.074775985 +0100 +@@ -0,0 +1,5 @@ ++<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> ++ <Import Project="..\Microsoft.Portable.Core.props" /> ++ <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> ++ <Import Project="..\Microsoft.Portable.Core.targets" /> ++</Project> +Index: mcs/tools/xbuild/targets/Microsoft.Portable.VisualBasic_4.5.targets +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ mcs/tools/xbuild/targets/Microsoft.Portable.VisualBasic_4.5.targets 2015-05-15 15:55:19.194775876 +0100 +@@ -0,0 +1,5 @@ ++<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> ++ <Import Project="..\Microsoft.Portable.Core.props" /> ++ <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> ++ <Import Project="..\Microsoft.Portable.Core.targets" /> ++</Project> diff --git a/dev-lang/mono/files/files/fix-for-GitExtensions-issue-2710-another-resolution.patch b/dev-lang/mono/files/files/fix-for-GitExtensions-issue-2710-another-resolution.patch new file mode 100644 index 000000000000..b306b697c09d --- /dev/null +++ b/dev-lang/mono/files/files/fix-for-GitExtensions-issue-2710-another-resolution.patch @@ -0,0 +1,48 @@ +diff --git a/mcs/class/System/System.Configuration/CustomizableFileSettingsProvider.cs b/mcs/class/System/System.Configuration/CustomizableFileSettingsProvider.cs +index 4b69010..1bb6195 100644 +--- a/mcs/class/System/System.Configuration/CustomizableFileSettingsProvider.cs ++++ b/mcs/class/System/System.Configuration/CustomizableFileSettingsProvider.cs +@@ -578,6 +578,34 @@ namespace System.Configuration + private ExeConfigurationFileMap exeMapPrev = null; + private SettingsPropertyValueCollection values = null; + ++ /// <remarks> ++ /// Hack to remove the XmlDeclaration that the XmlSerializer adds. ++ /// <br /> ++ /// see <a href="https://github.com/mono/mono/pull/2273">Issue 2273</a> for details ++ /// </remarks> ++ private string StripXmlHeader(string serializedValue) ++ { ++ if (serializedValue == null) ++ { ++ return string.Empty; ++ } ++ ++ XmlDocument doc = new XmlDocument(); ++ XmlElement valueXml = doc.CreateElement("value"); ++ valueXml.InnerXml = serializedValue; ++ ++ foreach (XmlNode child in valueXml.ChildNodes) { ++ if (child.NodeType == XmlNodeType.XmlDeclaration) { ++ valueXml.RemoveChild(child); ++ break; ++ } ++ } ++ ++ // InnerXml will give you well-formed XML that you could save as a separate document, and ++ // InnerText will immediately give you a pure-text representation of this inner XML. ++ return valueXml.InnerXml; ++ } ++ + private void SaveProperties (ExeConfigurationFileMap exeMap, SettingsPropertyValueCollection collection, ConfigurationUserLevel level, SettingsContext context, bool checkUserLevel) + { + Configuration config = ConfigurationManager.OpenMappedExeConfiguration (exeMap, level); +@@ -623,7 +651,7 @@ namespace System.Configuration + element.Value.ValueXml = new XmlDocument ().CreateElement ("value"); + switch (value.Property.SerializeAs) { + case SettingsSerializeAs.Xml: +- element.Value.ValueXml.InnerXml = (value.SerializedValue as string) ?? string.Empty; ++ element.Value.ValueXml.InnerXml = StripXmlHeader(value.SerializedValue as string); + break; + case SettingsSerializeAs.String: + element.Value.ValueXml.InnerText = value.SerializedValue as string; diff --git a/dev-lang/mono/files/files/fix-for-GitExtensions-issue-2710.patch b/dev-lang/mono/files/files/fix-for-GitExtensions-issue-2710.patch new file mode 100644 index 000000000000..3d60923d9714 --- /dev/null +++ b/dev-lang/mono/files/files/fix-for-GitExtensions-issue-2710.patch @@ -0,0 +1,28 @@ +diff --git a/mcs/class/System/System.Configuration/SettingsPropertyValue.cs b/mcs/class/System/System.Configuration/SettingsPropertyValue.cs +index 9bf62c0..9f026461 100644 +--- a/mcs/class/System/System.Configuration/SettingsPropertyValue.cs ++++ b/mcs/class/System/System.Configuration/SettingsPropertyValue.cs +@@ -118,11 +118,18 @@ namespace System.Configuration + #if (XML_DEP) + case SettingsSerializeAs.Xml: + if (propertyValue != null) { +- XmlSerializer serializer = new XmlSerializer (propertyValue.GetType ()); +- StringWriter w = new StringWriter(CultureInfo.InvariantCulture); +- +- serializer.Serialize (w, propertyValue); +- serializedValue = w.ToString(); ++ using (StringWriter w = new StringWriter(CultureInfo.InvariantCulture)) ++ { ++ var xmlSettings = new XmlWriterSettings(); ++ xmlSettings.OmitXmlDeclaration = true; ++ using (var writer = XmlWriter.Create(w, xmlSettings)) ++ { ++ XmlSerializer serializer = new XmlSerializer(propertyValue.GetType ()); ++ var emptyNamespaces = new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty }); ++ serializer.Serialize(writer, propertyValue, emptyNamespaces); ++ } // writer.Flush happens here ++ serializedValue = w.ToString(); ++ } + } + else + serializedValue = null; diff --git a/dev-lang/mono/files/files/fix-for-bug36724.patch b/dev-lang/mono/files/files/fix-for-bug36724.patch new file mode 100644 index 000000000000..187b4babed20 --- /dev/null +++ b/dev-lang/mono/files/files/fix-for-bug36724.patch @@ -0,0 +1,13 @@ +diff --git a/mcs/class/System.Web/System.Web.Util/UrlUtils.cs b/mcs/class/System.Web/System.Web.Util/UrlUtils.cs +index 4f07e83..e229a91 100644 +--- a/mcs/class/System.Web/System.Web.Util/UrlUtils.cs ++++ b/mcs/class/System.Web/System.Web.Util/UrlUtils.cs +@@ -54,7 +54,7 @@ namespace System.Web.Util { + if (path.StartsWith (appvpath)) + path = path.Substring (appvpath.Length); + +- if (path [0] == '/') ++ if (path.StartsWith("/")) + path = path.Length > 1 ? path.Substring (1) : ""; + + return Canonic (appvpath + "(" + id + ")/" + path); diff --git a/dev-lang/mono/files/files/mono-3.2.1-mdoc-fix.patch b/dev-lang/mono/files/files/mono-3.2.1-mdoc-fix.patch new file mode 100644 index 000000000000..b8fcea967892 --- /dev/null +++ b/dev-lang/mono/files/files/mono-3.2.1-mdoc-fix.patch @@ -0,0 +1,12 @@ +diff -Naur mono-3.2.1.orig/mcs/tools/mdoc/Resources/monodoc-ecma.xsd mono-3.2.1/mcs/tools/mdoc/Resources/monodoc-ecma.xsd +--- mono-3.2.1.orig/mcs/tools/mdoc/Resources/monodoc-ecma.xsd 2013-08-26 09:33:59.410610438 +0200 ++++ mono-3.2.1/mcs/tools/mdoc/Resources/monodoc-ecma.xsd 2013-08-26 09:34:54.057804438 +0200 +@@ -351,7 +351,7 @@ + <xs:element name="format"> + <xs:complexType> + <xs:sequence> +- <xs:any minOccurs="0" processContents="lax" /> ++ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" /> + </xs:sequence> + <xs:attribute ref="type" /> + </xs:complexType> diff --git a/dev-lang/mono/files/files/mono-4.0.2.5-fix-decimal-ms-on-big-endian.patch b/dev-lang/mono/files/files/mono-4.0.2.5-fix-decimal-ms-on-big-endian.patch new file mode 100644 index 000000000000..c6349fe3828a --- /dev/null +++ b/dev-lang/mono/files/files/mono-4.0.2.5-fix-decimal-ms-on-big-endian.patch @@ -0,0 +1,22 @@ +diff -up mono/metadata/decimal-ms.c.than +mono/metadata/decimal-ms.c +--- mono/metadata/decimal-ms.c.than 2015-07-06 08:21:27.524461795 +-0400 ++++ mono/metadata/decimal-ms.c 2015-07-06 08:30:26.954461795 +-0400 +@@ -55,8 +55,13 @@ static const uint32_t ten_to_ten_div_4 = + #define DECIMAL_LO32(dec) ((dec).v.v.Lo32) + #define DECIMAL_MID32(dec) ((dec).v.v.Mid32) + #define DECIMAL_HI32(dec) ((dec).Hi32) +-#define DECIMAL_LO64_GET(dec) ((dec).v.Lo64) +-#define DECIMAL_LO64_SET(dec,value) {(dec).v.Lo64 = value; } ++#if G_BYTE_ORDER != G_LITTLE_ENDIAN ++# define DECIMAL_LO64_GET(dec) (((uint64_t)((dec).v.v.Mid32) << 32) | (dec).v.v.Lo32) ++# define DECIMAL_LO64_SET(dec,value) {(dec).v.v.Lo32 = (value); (dec).v.v.Mid32 = ((value) >> 32); } ++#else ++# define DECIMAL_LO64_GET(dec) ((dec).v.Lo64) ++# define DECIMAL_LO64_SET(dec,value) {(dec).v.Lo64 = value; } ++#endif + + #define DECIMAL_SETZERO(dec) {DECIMAL_LO32(dec) = 0; DECIMAL_MID32(dec) = 0; DECIMAL_HI32(dec) = 0; DECIMAL_SIGNSCALE(dec) = 0;} + #define COPYDEC(dest, src) {DECIMAL_SIGNSCALE(dest) = DECIMAL_SIGNSCALE(src); DECIMAL_HI32(dest) = DECIMAL_HI32(src); \ diff --git a/dev-lang/mono/files/files/mono-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.patch b/dev-lang/mono/files/files/mono-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.patch new file mode 100644 index 000000000000..bbf4c6fd72e3 --- /dev/null +++ b/dev-lang/mono/files/files/mono-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.patch @@ -0,0 +1,15 @@ +=================================================================== +RCS file: mono/dis/RCS/Makefile.am,v +retrieving revision 1.1 +diff -up -r1.1 mono/dis/Makefile.am +--- mono/dis/Makefile.am 2015/05/08 15:00:22 1.1 ++++ mono/dis/Makefile.am 2015/07/14 11:20:29 +@@ -7,7 +7,7 @@ endif + if SUPPORT_SGEN + metadata_lib=$(top_builddir)/mono/metadata/libmonoruntimesgen-static.la + else +-metadata_lib=$(top_builddir)/mono/metadata/libmonoruntime-static.a ++metadata_lib=$(top_builddir)/mono/metadata/libmonoruntime-static.la + gc_lib=$(LIBGC_STATIC_LIBS) + endif + diff --git a/dev-lang/mono/files/files/mono-4.0.2.5-fix-ppc-atomic-add-i4.patch b/dev-lang/mono/files/files/mono-4.0.2.5-fix-ppc-atomic-add-i4.patch new file mode 100644 index 000000000000..fd5de72b136f --- /dev/null +++ b/dev-lang/mono/files/files/mono-4.0.2.5-fix-ppc-atomic-add-i4.patch @@ -0,0 +1,79 @@ +From f967c79926900343f399c75624deedaba460e544 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= <alexrp@xamarin.com> +Date: Mon, 3 Aug 2015 17:32:07 +0200 +Subject: [PATCH 1/2] [ppc] Instruction length of atomic_add_i4 is 28. + +--- + mono/mini/cpu-ppc.md | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mono/mini/cpu-ppc.md b/mono/mini/cpu-ppc.md +index ba2ec60..e6baf91 100644 +--- a/mono/mini/cpu-ppc.md ++++ b/mono/mini/cpu-ppc.md +@@ -314,5 +314,5 @@ vcall2_membase: src1:b len:16 clob:c + + jump_table: dest:i len:8 + +-atomic_add_i4: src1:b src2:i dest:i len:20 ++atomic_add_i4: src1:b src2:i dest:i len:28 + atomic_cas_i4: src1:b src2:i src3:i dest:i len:38 + +From 8f379f0c8f98493180b508b9e68b9aa76c0c5bdf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= <alexrp@xamarin.com> +Date: Mon, 3 Aug 2015 17:32:31 +0200 +Subject: [PATCH 2/2] [ppc] Fix atomic_add_i4 support for 32-bit PPC. + +--- + mono/mini/mini-ppc.c | 31 ++++++++++++++++--------------- + 1 file changed, 16 insertions(+), 15 deletions(-) + +diff --git a/mono/mini/mini-ppc.c b/mono/mini/mini-ppc.c +index 758a63f..06528bd 100644 +--- a/mono/mini/mini-ppc.c ++++ b/mono/mini/mini-ppc.c +@@ -4420,6 +4420,22 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb) + else + ppc_mr (code, ins->dreg, ins->sreg1); + break; ++#else ++ case OP_ICONV_TO_R4: ++ case OP_ICONV_TO_R8: { ++ if (cpu_hw_caps & PPC_ISA_64) { ++ ppc_srawi(code, ppc_r0, ins->sreg1, 31); ++ ppc_stw (code, ppc_r0, -8, ppc_r1); ++ ppc_stw (code, ins->sreg1, -4, ppc_r1); ++ ppc_lfd (code, ins->dreg, -8, ppc_r1); ++ ppc_fcfid (code, ins->dreg, ins->dreg); ++ if (ins->opcode == OP_ICONV_TO_R4) ++ ppc_frsp (code, ins->dreg, ins->dreg); ++ } ++ break; ++ } ++#endif ++ + case OP_ATOMIC_ADD_I4: + CASE_PPC64 (OP_ATOMIC_ADD_I8) { + int location = ins->inst_basereg; +@@ -4453,21 +4469,6 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb) + ppc_mr (code, ins->dreg, ppc_r0); + break; + } +-#else +- case OP_ICONV_TO_R4: +- case OP_ICONV_TO_R8: { +- if (cpu_hw_caps & PPC_ISA_64) { +- ppc_srawi(code, ppc_r0, ins->sreg1, 31); +- ppc_stw (code, ppc_r0, -8, ppc_r1); +- ppc_stw (code, ins->sreg1, -4, ppc_r1); +- ppc_lfd (code, ins->dreg, -8, ppc_r1); +- ppc_fcfid (code, ins->dreg, ins->dreg); +- if (ins->opcode == OP_ICONV_TO_R4) +- ppc_frsp (code, ins->dreg, ins->dreg); +- } +- break; +- } +-#endif + case OP_ATOMIC_CAS_I4: + CASE_PPC64 (OP_ATOMIC_CAS_I8) { + int location = ins->sreg1; diff --git a/dev-lang/mono/files/files/systemweb3.patch b/dev-lang/mono/files/files/systemweb3.patch new file mode 100644 index 000000000000..5ccb63a87869 --- /dev/null +++ b/dev-lang/mono/files/files/systemweb3.patch @@ -0,0 +1,22 @@ +--- a/mcs/class/System.Web.Routing/System.Web.Routing/RouteBase.cs 2015-05-08 18:00:15.000000000 +0300 ++++ b/mcs/class/System.Web.Routing/System.Web.Routing/RouteBase.cs 2015-07-20 14:13:09.215784924 +0300 +@@ -41,5 +41,19 @@ + { + public abstract RouteData GetRouteData (HttpContextBase httpContext); + public abstract VirtualPathData GetVirtualPath (RequestContext requestContext, RouteValueDictionary values); ++ ++ // Default needs to be true to avoid breaking change ++ private bool _routeExistingFiles = true; ++ public bool RouteExistingFiles ++ { ++ get ++ { ++ return _routeExistingFiles; ++ } ++ set ++ { ++ _routeExistingFiles = value; ++ } ++ } + } + } diff --git a/dev-lang/mono/mono-4.4.0.40.ebuild b/dev-lang/mono/mono-4.4.0.40.ebuild new file mode 100644 index 000000000000..be546cf6bda9 --- /dev/null +++ b/dev-lang/mono/mono-4.4.0.40.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 +AUTOTOOLS_PRUNE_LIBTOOL_FILES="all" +AUTOTOOLS_AUTORECONF=1 + +inherit eutils linux-info mono-env flag-o-matic pax-utils versionator + +DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter" +HOMEPAGE="http://www.mono-project.com/Main_Page" +SRC_URI="http://download.mono-project.com/sources/${PN}/${P}.tar.bz2" + +LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL" +SLOT="0" + +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux" + +IUSE="nls minimal pax_kernel xen doc" + +COMMONDEPEND=" + !minimal? ( >=dev-dotnet/libgdiplus-2.10 ) + ia64? ( sys-libs/libunwind ) + nls? ( sys-devel/gettext ) +" +RDEPEND="${COMMONDEPEND} + || ( www-client/links www-client/lynx ) +" +DEPEND="${COMMONDEPEND} + sys-devel/bc + virtual/yacc + pax_kernel? ( sys-apps/elfix ) + !dev-lang/mono-basic +" + +MAKEOPTS="${MAKEOPTS} -j1" #nowarn +S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)" + +pkg_pretend() { + # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686 + # If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling. + # See http://bugs.gentoo.org/261869 for more info." + CONFIG_CHECK="SYSVIPC" + use kernel_linux && check_extra_config +} + +pkg_setup() { + linux-info_pkg_setup + mono-env_pkg_setup +} + +src_prepare() { + # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't + # get killed in the build proces when MPROTECT is enable. #286280 + # RANDMMAP kill the build proces to #347365 + # use paxmark.sh to get PT/XT logic #532244 + if use pax_kernel ; then + ewarn "We are disabling MPROTECT on the mono binary." + + # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9 + sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in" + fi + + # mono build system can fail otherwise + strip-flags + + # Fix VB targets + # http://osdir.com/ml/general/2015-05/msg20808.html + #eapply "${FILESDIR}/add_missing_vb_portable_targets.patch" + + # Fix build when sgen disabled + # https://bugzilla.xamarin.com/show_bug.cgi?id=32015 + #eapply "${FILESDIR}/${PN}-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.patch" + + # TODO: update patch + # Fix atomic_add_i4 support for 32-bit ppc + # https://github.com/mono/mono/compare/f967c79926900343f399c75624deedaba460e544^...8f379f0c8f98493180b508b9e68b9aa76c0c5bdf + #epatch "${FILESDIR}/${PN}-4.0.2.5-fix-ppc-atomic-add-i4.patch" + + # TODO: update patch + #epatch "${FILESDIR}/systemweb3.patch" + #epatch "${FILESDIR}/fix-for-GitExtensions-issue-2710-another-resolution.patch" + #epatch "${FILESDIR}/fix-for-bug36724.patch" + + default_src_prepare + #eapply_user +} + +src_configure() { + local myeconfargs=( + --disable-silent-rules + $(use_with xen xen_opt) + --without-ikvm-native + --disable-dtrace + $(use_with doc mcs-docs) + $(use_enable nls) + ) + + default_src_configure +} + +src_compile() { + default_src_compile +} + +src_test() { + cd mcs/tests || die + emake check +} + +src_install() { + default_src_install + + # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora + # mono.spec and http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg24870.html + # for reference. + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die +} |