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/[email protected]/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
+}