commit:     a72ff4da91225f1a0281332fc157b39ced22e9ba
Author:     Heather Cynede <cynede <AT> gentoo <DOT> org>
AuthorDate: Wed Dec  9 08:44:30 2015 +0000
Commit:     Heather Cynede <cynede <AT> gentoo <DOT> org>
CommitDate: Wed Dec  9 08:44:30 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a72ff4da

dev-lang/mono: bump to 4.2.1.102, fix GitExtensions issue

Package-Manager: portage-2.2.26

 dev-lang/mono/Manifest                             |   1 +
 .../files/fix-for-GitExtensions-issue-2710.patch   |  28 +++++
 dev-lang/mono/mono-4.2.1.102.ebuild                | 114 +++++++++++++++++++++
 3 files changed, 143 insertions(+)

diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest
index 8f07bd3..6c6134e 100644
--- a/dev-lang/mono/Manifest
+++ b/dev-lang/mono/Manifest
@@ -2,3 +2,4 @@ DIST mono-2.10.9.tar.bz2 34038017 SHA256 
541038cd4edd4a1c485638d49697d45015ef748
 DIST mono-3.12.1.tar.bz2 73487974 SHA256 
5d8cf153af2948c06bc9fbf5088f6834868e4db8e5f41c7cff76da173732b60d SHA512 
7ff87d95c347186347dc7a9ffb767112717de2b808f8f1b612c56c9eb70fdcc0c8f586989be44444509a2768e71854d8195567196c992cc2c5b184ecbe5ac190
 WHIRLPOOL 
fe3a6cdb8bf4602ad1d1e43099b2a552005c315a232a7d2bddf0081a68e882228712af5301f18d3a890f454041c4a34d6f0926aaba34401ecfa702eecd9415c8
 DIST mono-4.0.3.20.tar.bz2 95987018 SHA256 
976c0be3ab9b66361f48e8133c60b1b2942b88c44a7a11a19cd98f5ff64313fc SHA512 
bbf65abb4d91aa65fd467a59dcc7c290f779ab9f8df9d82b56957893556ad8d13dc3cc85f3128145e0dd15aaa8b0ea872c4b66af4fd211243d368514f10a07cd
 WHIRLPOOL 
9e7730c234dbf34a81637789a3ffee4ce37a1eaef6748f28a79875411d3c1d97cfbdce6146abfa7dde245e821fe52b2766bb7240637a8b8272788dffc5fd21ae
 DIST mono-4.0.5.1.tar.bz2 96533206 SHA256 
c2f42944dded3196c6449f90e79990f1951070a361a0dcc2350fc56e945bc229 SHA512 
c0783f7b2e344ca00ea354d2723821636a2594345f7e1fd93bf84e9ba1b5501848d4f49b1538279aac9f6f333d296394322e08a9749fe2208340104aa594cd09
 WHIRLPOOL 
ae9b0758c019003fc9ecdbd051974d547c59c24a4505e71c1fc7db8095bc98cdb486405e2ba1794bfb34ecc6bebeb8b5165a97ba8f596897887eb7f2da806b89
+DIST mono-4.2.1.102.tar.bz2 96228604 SHA256 
b7b461fe04375f621d88166ba8c6f1cb33c439fd3e17136460f7d087a51ed792 SHA512 
ffc6bee387b5e46a22e74600a5e5c0c7953b63b4d2392586a7cce9e1d0f6eeaa81ba5b6abaf911870913e3749ff577474931a2c1ce16cab9a41a3b3dd745638e
 WHIRLPOOL 
eb605bbdfd411e181706ff3728cd1690385e1e899a11a41872bc015eca2d5ee1c3f46b24d7c3956eb0818aa0a3944d533f6f531ed8815c7b0988f130b592feb1

diff --git a/dev-lang/mono/files/fix-for-GitExtensions-issue-2710.patch 
b/dev-lang/mono/files/fix-for-GitExtensions-issue-2710.patch
new file mode 100644
index 0000000..3d60923
--- /dev/null
+++ b/dev-lang/mono/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/mono-4.2.1.102.ebuild 
b/dev-lang/mono/mono-4.2.1.102.ebuild
new file mode 100644
index 0000000..d17c6a6
--- /dev/null
+++ b/dev-lang/mono/mono-4.2.1.102.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+AUTOTOOLS_PRUNE_LIBTOOL_FILES="all"
+AUTOTOOLS_AUTORECONF=1
+
+inherit eutils linux-info mono-env flag-o-matic pax-utils autotools-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() {
+       # 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 MPROTEC is enable. #286280
+       # RANDMMAP kill the build proces to #347365
+       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\paxctl-ng -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
+       epatch "${FILESDIR}/add_missing_vb_portable_targets.patch"
+
+       # Fix build when sgen disabled
+       # https://bugzilla.xamarin.com/show_bug.cgi?id=32015
+       epatch 
"${FILESDIR}/${PN}-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.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"
+
+       autotools-utils_src_prepare
+
+       epatch "${FILESDIR}/systemweb3.patch"
+       epatch "${FILESDIR}/fix-for-GitExtensions-issue-2710.patch"
+}
+
+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)
+       )
+
+       autotools-utils_src_configure
+}
+
+src_compile() {
+       autotools-utils_src_compile
+}
+
+src_test() {
+       cd mcs/tests || die
+       emake check
+}
+
+src_install() {
+       autotools-utils_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
+}

Reply via email to