summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeather Cynede <cynede@gentoo.org>2015-08-12 17:56:06 +0400
committerHeather Cynede <cynede@gentoo.org>2015-08-12 17:58:41 +0400
commit8f5667689e69837a94170aa003a3bfbc3ea207c7 (patch)
tree2d6c59343029cedbe4d1b80f7ff676e70ba1842c /dev-lang
parentsys-libs/ncurses: fix header mismatch with multilib installs #557360 (diff)
downloadgentoo-8f5667689e69837a94170aa003a3bfbc3ea207c7.tar.gz
gentoo-8f5667689e69837a94170aa003a3bfbc3ea207c7.tar.bz2
gentoo-8f5667689e69837a94170aa003a3bfbc3ea207c7.zip
dev-lang/mono bump to 4.0.3.20
Package-Manager: portage-2.2.20.1
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/mono/Manifest4
-rw-r--r--dev-lang/mono/files/add_missing_vb_portable_targets.patch20
-rw-r--r--dev-lang/mono/files/mono-3.2.1-mdoc-fix.patch12
-rw-r--r--dev-lang/mono/files/mono-4.0.2.5-fix-decimal-ms-on-big-endian.patch22
-rw-r--r--dev-lang/mono/files/mono-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.patch15
-rw-r--r--dev-lang/mono/files/mono-4.0.2.5-fix-ppc-atomic-add-i4.patch79
-rw-r--r--dev-lang/mono/files/systemweb3.patch22
-rw-r--r--dev-lang/mono/mono-2.10.9-r2.ebuild265
-rw-r--r--dev-lang/mono/mono-3.0.7.ebuild100
-rw-r--r--dev-lang/mono/mono-4.0.3.20.ebuild (renamed from dev-lang/mono/mono-3.2.8.ebuild)73
10 files changed, 199 insertions, 413 deletions
diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest
index 89fd30f3002c..af6730b7468a 100644
--- a/dev-lang/mono/Manifest
+++ b/dev-lang/mono/Manifest
@@ -1,5 +1,3 @@
-DIST mono-2.10.9.tar.bz2 34038017 SHA256 541038cd4edd4a1c485638d49697d45015ef7483bcb21bb6165e4d7eb770c9a5 SHA512 426881873e7f9aaf01e1306bed7b3ac220082ca40dce91fa4f4f331944e8d91453b3cdcc4918882ab039ed694ae8819eeb787edf6a2ad42cc661614076725c01 WHIRLPOOL 93f54fbbf032fb60467fd4317630588d349c3dfb50158bad478bd3e2650fd3e8f12d45be372873b57626d4ac48f798646c3650590bbf731dc2f005ee618b8548
-DIST mono-3.0.7.tar.bz2 81538605 SHA256 89357e58a1b5cb6ff3116d4ce8227dee61b1c0cb494fa2844da5b1fc55fb890b SHA512 b1cb57a38c22d9186fcc1cfbd344e05e24edc5d56391238311ac6b2841a4f971a32f46c3e064760045e8352140a7c4fe785a6108d945371af9de3730e186fbdd WHIRLPOOL 19f451194361d0f0fa3c403310c63cd2f444a2132693fc4b127311a57d0a1df18f917d4c373b8f8f9fbf217d5c6d85f3092ac75d6aede285ed80d3bb2b07f758
DIST mono-3.12.1.tar.bz2 73487974 SHA256 5d8cf153af2948c06bc9fbf5088f6834868e4db8e5f41c7cff76da173732b60d SHA512 7ff87d95c347186347dc7a9ffb767112717de2b808f8f1b612c56c9eb70fdcc0c8f586989be44444509a2768e71854d8195567196c992cc2c5b184ecbe5ac190 WHIRLPOOL fe3a6cdb8bf4602ad1d1e43099b2a552005c315a232a7d2bddf0081a68e882228712af5301f18d3a890f454041c4a34d6f0926aaba34401ecfa702eecd9415c8
DIST mono-3.2.3.tar.bz2 81810387 SHA256 b8c2f97d6a5232dbf5a8180e5c38d4722b81af748893649d7d9e82c5cf8ef41a SHA512 a40a03d09ce07d7f8c25ef872835f6f29458e02aa386e4097b2cffd918d3bece1205bb42beb51a1384eba884e4c6f9b6505421babf337ec64f670c7f90c6262d WHIRLPOOL 9781dd387ce57a54ae84c91b6bfc346c4607daa3738746db0f41515dfc6c0b271b6e7d2ec828f75dc6953d15fd965cd3ef1d88fe5925c6dc8019cc9d188d6982
-DIST mono-3.2.8.tar.bz2 77515552 SHA256 fdb48cad26149288dcb99a3d9b4ec89735706000242c50bdc21ce657af201a40 SHA512 822e9064b7f5897f960e3fbe9de5db31ac1825ecb6edb2b5b49d92fc658fe3ac2580458ecb26b6da7b6135e86a39d7376b8c0eb52d8c3298292a4dae7983f329 WHIRLPOOL 21e22fe0204ae9263f10fa5379d7c884519bb5cddf6f780f5ba6615db25954b1ea8ef1746ee8db738f7d461e93626656525da5cc6221061e8a53bdd0d0c5f62c
+DIST mono-4.0.3.20.tar.bz2 95987018 SHA256 976c0be3ab9b66361f48e8133c60b1b2942b88c44a7a11a19cd98f5ff64313fc SHA512 bbf65abb4d91aa65fd467a59dcc7c290f779ab9f8df9d82b56957893556ad8d13dc3cc85f3128145e0dd15aaa8b0ea872c4b66af4fd211243d368514f10a07cd WHIRLPOOL 9e7730c234dbf34a81637789a3ffee4ce37a1eaef6748f28a79875411d3c1d97cfbdce6146abfa7dde245e821fe52b2766bb7240637a8b8272788dffc5fd21ae
diff --git a/dev-lang/mono/files/add_missing_vb_portable_targets.patch b/dev-lang/mono/files/add_missing_vb_portable_targets.patch
new file mode 100644
index 000000000000..ece90a587713
--- /dev/null
+++ b/dev-lang/mono/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/mono-3.2.1-mdoc-fix.patch b/dev-lang/mono/files/mono-3.2.1-mdoc-fix.patch
new file mode 100644
index 000000000000..b8fcea967892
--- /dev/null
+++ b/dev-lang/mono/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/mono-4.0.2.5-fix-decimal-ms-on-big-endian.patch b/dev-lang/mono/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/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/mono-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.patch b/dev-lang/mono/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/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/mono-4.0.2.5-fix-ppc-atomic-add-i4.patch b/dev-lang/mono/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/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/systemweb3.patch b/dev-lang/mono/files/systemweb3.patch
new file mode 100644
index 000000000000..5ccb63a87869
--- /dev/null
+++ b/dev-lang/mono/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-2.10.9-r2.ebuild b/dev-lang/mono/mono-2.10.9-r2.ebuild
deleted file mode 100644
index 1990c36cb9d9..000000000000
--- a/dev-lang/mono/mono-2.10.9-r2.ebuild
+++ /dev/null
@@ -1,265 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="4"
-
-inherit linux-info mono eutils flag-o-matic multilib go-mono pax-utils
-
-DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
-HOMEPAGE="http://www.mono-project.com/Main_Page"
-
-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"
-
-IUSE="minimal pax_kernel xen"
-
-#Bash requirement is for += operator
-COMMONDEPEND="!dev-util/monodoc
- !minimal? ( =dev-dotnet/libgdiplus-${GO_MONO_REL_PV}* )
- ia64? ( sys-libs/libunwind )"
-RDEPEND="${COMMONDEPEND}
- || ( www-client/links www-client/lynx )"
-
-DEPEND="${COMMONDEPEND}
- sys-devel/bc
- virtual/yacc
- >=app-shells/bash-3.2
- pax_kernel? ( sys-apps/elfix )"
-
-MAKEOPTS="${MAKEOPTS} -j1"
-
-RESTRICT="test"
-
-pkg_setup() {
- if use kernel_linux
- then
- get_version
- if linux_config_exists
- then
- if linux_chkconfig_present SYSVIPC
- then
- einfo "CONFIG_SYSVIPC is set, looking good."
- else
- eerror "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
- eerror "See http://bugs.gentoo.org/261869 for more info."
- eerror "Please set CONFIG_SYSVIPC in your kernel .config if build fails."
- fi
- else
- ewarn "Was unable to determine your kernel .config"
- ewarn "Please note that if CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
- ewarn "See http://bugs.gentoo.org/261869 for more info."
- fi
- fi
- PATCHES=( "${FILESDIR}/${PN}-2.10.2-threads-access.patch"
- "${FILESDIR}/${PN}-2.10.9-CVE-2012-3382.patch"
- "${FILESDIR}/${PN}-2.10.9-CVE-2012-3543.patch"
- "${FILESDIR}/${PN}-2.10.9-CVE-2012-3543_2.patch" )
-}
-
-src_prepare() {
- go-mono_src_prepare
-
- # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it doesn't
- # get killed in the build process when MPROTECT is enabled. #286280
- # RANDMMAP kills the build process to #347365
- if use pax_kernel ; then
- ewarn "We are disabling MPROTECT on the mono binary."
- sed '/exec "/ i\paxctl-ng -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in"
- fi
-}
-
-src_configure() {
- # mono's build system is finiky, strip the flags
- strip-flags
-
- # Remove this at your own peril. Mono will barf in unexpected ways.
- append-flags -fno-strict-aliasing
-
- # NOTE: We need the static libs for now so mono-debugger works.
- # See http://bugs.gentoo.org/show_bug.cgi?id=256264 for details
- #
- # --without-moonlight since www-plugins/moonlight is not the only one
- # using mono: https://bugzilla.novell.com/show_bug.cgi?id=641005#c3
- #
- # --with-profile4 needs to be always enabled since it's used by default
- # and, otherwise, problems like bug #340641 appear.
- #
- # sgen fails on ppc, bug #359515
-
- local myconf=""
- use ppc && myconf="${myconf} --with-sgen=no"
- go-mono_src_configure \
- --enable-static \
- --disable-quiet-build \
- --without-moonlight \
- --with-libgdiplus=$(use minimal && printf "no" || printf "installed" ) \
- $(use_with xen xen_opt) \
- --without-ikvm-native \
- --with-jit \
- --disable-dtrace \
- --with-profile4 \
- ${myconf}
-}
-
-src_test() {
- echo ">>> Test phase [check]: ${CATEGORY}/${PF}"
-
- export MONO_REGISTRY_PATH="${T}/registry"
- export XDG_DATA_HOME="${T}/data"
- export MONO_SHARED_DIR="${T}/shared"
- export XDG_CONFIG_HOME="${T}/config"
- export HOME="${T}/home"
-
- emake -j1 check
-}
-
-src_install() {
- go-mono_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/$(get_libdir)/mono/2.0/mscorlib.dll.so
- rm -f "${ED}"/usr/$(get_libdir)/mono/2.0/mcs.exe.so
-}
-
-#THINK!!!! Before touching postrm and postinst
-#Reference phase order:
-#pkg_preinst
-#pkg_prerm
-#pkg_postrm
-#pkg_postinst
-
-pkg_preinst() {
- local symlink
- local NUNIT_DIR="/usr/$(get_libdir)/mono/nunit"
- local pv_atom
- if [[ "$(readlink "${ROOT}"/${NUNIT_DIR})" == *"mono-nunit"* ]]
- then
- for pv_atom in 2.2{,-r1,-r2,-r3,-r4} '2.4_pre*' '2.4_rc*' 2.4
- do
- if has_version "=dev-lang/mono-${pv_atom}"
- then
- einfo "If you just received a file collision warning message,"
- einfo "be advised that this is a known problem, which will now be fixed:"
- ebegin "Found broken symlinks created by $(best_version dev-lang/mono), fixing"
- for symlink in \
- "${ROOT}/${NUNIT_DIR}" \
- "${ROOT}/usr/$(get_libdir)/pkgconfig/nunit.pc" \
- "${ROOT}/usr/bin/nunit-console" \
- "${ROOT}/usr/bin/nunit-console2"
- do
- if [[ -L "${symlink}" ]]
- then
- rm -f "${symlink}" &> /dev/null
- fi
- done
- eend 0
- break
- fi
- done
- fi
-}
-
-#pkg_postinst() {
-# elog "PLEASE TAKE NOTE!"
-# elog ""
-# elog "Some of the namespaces supported by Mono require extra packages to be installed."
-# elog "Below is a list of namespaces and the corresponding package you must install:"
-# elog ""
-# elog ">=x11-libs/cairo-1.6.4"
-# elog " Mono.Cairo"
-# elog "Also read:"
-# elog "http://www.mono-project.com/Mono.Cairo"
-# elog ""
-# elog ">=dev-db/firebird-2.0.4.13130.1"
-# elog " FirebirdSql.Data.Firebird"
-# elog "Also read:"
-# elog "http://www.mono-project.com/Firebird_Interbase"
-# elog ""
-# elog "dev-db/sqlite:3"
-# elog " Mono.Data.Sqlite"
-# elog "Also read:"
-# elog "http://www.mono-project.com/SQLite"
-# elog ""
-# elog ">=dev-db/oracle-instantclient-basic-10.2"
-# elog " System.Data.OracleClient"
-# elog "Also read:"
-# elog "http://www.mono-project.com/Oracle"
-# elog ""
-# elog "Mono also has support for packages that are not included in portage:"
-# elog ""
-# elog "No ebuild available:"
-# elog " IBM.Data.DB2"
-# elog "Also read: http://www.mono-project.com/IBM_DB2"
-# elog ""
-# elog "No ebuild needed:"
-# elog " Mono.Data.SybaseClient"
-# elog "Also read: http://www.mono-project.com/Sybase"
-#}
-
-# NOTICE: THE COPYRIGHT FILES IN THE TARBALL ARE UNCLEAR!
-# WHENEVER YOU THINK SOMETHING IS GPL-2+, IT'S ONLY GPL-2
-# UNLESS MIGUEL DE ICAZA HIMSELF SAYS OTHERWISE.
-
-# mono
-# The code we use is LGPL, but contributions must be made under the MIT/X11
-# license, so Novell can serve its paying customers. Exception is mono/man.
-# LICENSE="LGPL-2.1"
-
- # mono/man
- # LICENSE="MIT"
-
-# mcs/mcs
-# mcs/gmcs
-# LICENSE="GPL-2 MIT"
-
-# tests
-# LICENSE="MIT"
-
-# mcs/class
-# Except the listed exceptions:
-# LICENSE="MIT"
-
- # mcs/class/ByteFX.Data
- # mcs/class/Npgsql
- # LICENSE="LGPL-2.1"
-
- # mcs/class/FirebirdSql.Data.Firebird
- # LICENSE="IDPL"
-
- # mcs/class/ICSharpCode.SharpZipLib
- # LICENSE="GPL-2-with-linking-exception"
-
- # mcs/class/MicrosoftAjaxLibrary
- # LICENSE="Ms-Pl"
-
- # mcs/class/Microsoft.JScript/Microsoft.JScript/TokenStream.cs
- # mcs/class/Microsoft.JScript/Microsoft.JScript/Token.cs
- # mcs/class/Microsoft.JScript/Microsoft.JScript/Parser.cs
- # mcs/class/Microsoft.JScript/Microsoft.JScript/Decompiler.cs
- # LICENSE="|| ( NPL-1.1 GPL-2 )"
-
-# mcs/jay
-# LICENSE="BSD-4"
-
-# mcs/tools
-# Except the listed exceptions:
-# LICENSE="MIT"
-
- # mcs/tools/mdoc/Mono.Documentation/monodocs2html.cs
- # LICENSE="GPL-2"
-
- # mcs/tools/sqlsharp/SqlSharpCli.cs
- # LICENSE="GPL-2"
-
- # mcs/tools/csharp/repl.cs
- # LICENSE="|| ( MIT GPL-2 )"
-
- # mcs/tools/mono-win32-setup.nsi
- # LICENSE="GPL-2"
-
-# samples
-# LICENSE="MIT"
diff --git a/dev-lang/mono/mono-3.0.7.ebuild b/dev-lang/mono/mono-3.0.7.ebuild
deleted file mode 100644
index 9735a81edff4..000000000000
--- a/dev-lang/mono/mono-3.0.7.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-AUTOTOOLS_PRUNE_LIBTOOL_FILES="all"
-
-inherit linux-info mono-env flag-o-matic pax-utils autotools-utils
-
-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="minimal pax_kernel xen doc"
-
-COMMONDEPEND="
- !dev-util/monodoc
- !minimal? ( >=dev-dotnet/libgdiplus-2.10 )
- ia64? ( sys-libs/libunwind )
-"
-RDEPEND="${COMMONDEPEND}
- || ( www-client/links www-client/lynx )
-"
-DEPEND="${COMMONDEPEND}
- sys-devel/bc
- virtual/yacc
- pax_kernel? ( sys-apps/paxctl )
-"
-
-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 -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."
- sed '/exec/ i\paxctl -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in
- fi
-
- # mono build system can fail otherwise
- strip-flags
-
- # Remove this at your own peril. Mono will barf in unexpected ways.
- append-flags -fno-strict-aliasing
-
- autotools-utils_src_prepare
-}
-
-src_configure() {
- # NOTE: We need the static libs for now so mono-debugger works.
- # See http://bugs.gentoo.org/show_bug.cgi?id=256264 for details
- #
- # --without-moonlight since www-plugins/moonlight is not the only one
- # using mono: https://bugzilla.novell.com/show_bug.cgi?id=641005#c3
- #
- # --with-profile4 needs to be always enabled since it's used by default
- # and, otherwise, problems like bug #340641 appear.
- #
- # sgen fails on ppc, bug #359515
- local myeconfargs=(
- --enable-system-aot=yes
- --enable-static
- --disable-quiet-build
- --without-moonlight
- --with-libgdiplus=$(use minimal && printf "no" || printf "installed" )
- $(use_with xen xen_opt)
- --without-ikvm-native
- --with-jit
- --disable-dtrace
- --with-profile4
- --with-sgen=$(use ppc && printf "no" || printf "yes" )
- $(use_with doc mcs-docs)
- )
-
- autotools-utils_src_configure
-}
-
-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
- rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so
-}
diff --git a/dev-lang/mono/mono-3.2.8.ebuild b/dev-lang/mono/mono-4.0.3.20.ebuild
index ec4e9e89cf01..526b34b1b9c1 100644
--- a/dev-lang/mono/mono-3.2.8.ebuild
+++ b/dev-lang/mono/mono-4.0.3.20.ebuild
@@ -1,11 +1,12 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI="5"
+EAPI=5
AUTOTOOLS_PRUNE_LIBTOOL_FILES="all"
+AUTOTOOLS_AUTORECONF=1
-inherit eutils linux-info mono-env flag-o-matic pax-utils autotools-utils
+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"
@@ -16,12 +17,11 @@ SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux"
-IUSE="nls minimal pax_kernel xen doc debug"
+IUSE="nls minimal pax_kernel xen doc"
COMMONDEPEND="
- !dev-util/monodoc
!minimal? ( >=dev-dotnet/libgdiplus-2.10 )
- ia64? ( sys-libs/libunwind )
+ ia64? ( sys-libs/libunwind )
nls? ( sys-devel/gettext )
"
RDEPEND="${COMMONDEPEND}
@@ -33,10 +33,13 @@ DEPEND="${COMMONDEPEND}
pax_kernel? ( sys-apps/elfix )
"
+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"
+ CONFIG_CHECK="SYSVIPC"
use kernel_linux && check_extra_config
}
@@ -59,41 +62,34 @@ src_prepare() {
# mono build system can fail otherwise
strip-flags
- # Remove this at your own peril. Mono will barf in unexpected ways.
- append-flags -fno-strict-aliasing
+ # Fix VB targets
+ # http://osdir.com/ml/general/2015-05/msg20808.html
+ epatch "${FILESDIR}/add_missing_vb_portable_targets.patch"
+
+ # Fix build on big-endian machines
+ # https://bugzilla.xamarin.com/show_bug.cgi?id=31779
+ epatch "${FILESDIR}/${PN}-4.0.2.5-fix-decimal-ms-on-big-endian.patch"
- # Bug #504108, dlls/test-883.il unexisting; TODO: Figure out how to make it.
- epatch "${FILESDIR}"/${P}-disable-missing-test.patch
- rm mcs/tests/test-883{,-lib}.cs|| die
+ # 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"
}
src_configure() {
- # NOTE: We need the static libs for now so mono-debugger works.
- # See http://bugs.gentoo.org/show_bug.cgi?id=256264 for details
- #
- # --without-moonlight since www-plugins/moonlight is not the only one
- # using mono: https://bugzilla.novell.com/show_bug.cgi?id=641005#c3
- #
- # --with-profile4 needs to be always enabled since it's used by default
- # and, otherwise, problems like bug #340641 appear.
- #
- # sgen fails on ppc, bug #359515
local myeconfargs=(
- --enable-system-aot=yes
- --enable-static
- --disable-quiet-build
- --without-moonlight
- --with-libgdiplus=$(usex minimal no installed)
+ --disable-silent-rules
$(use_with xen xen_opt)
--without-ikvm-native
- --with-jit
--disable-dtrace
- --with-profile4
- --with-sgen=$(usex ppc no yes)
$(use_with doc mcs-docs)
- $(use_enable debug)
$(use_enable nls)
)
@@ -101,23 +97,10 @@ src_configure() {
}
src_compile() {
- nonfatal autotools-utils_src_compile || {
- eqawarn "maintainer of this ebuild has no idea why it fails. If you happen to know how to fix it - please let me know"
- autotools-utils_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
-}