public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/mono/files/, dev-lang/mono/
@ 2015-08-12 14:00 Heather Cynede
  0 siblings, 0 replies; 8+ messages in thread
From: Heather Cynede @ 2015-08-12 14:00 UTC (permalink / raw
  To: gentoo-commits

commit:     8f5667689e69837a94170aa003a3bfbc3ea207c7
Author:     Heather Cynede <cynede <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 12 13:56:06 2015 +0000
Commit:     Heather Cynede <cynede <AT> gentoo <DOT> org>
CommitDate: Wed Aug 12 13:58:41 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f566768

dev-lang/mono bump to 4.0.3.20

Package-Manager: portage-2.2.20.1

 dev-lang/mono/Manifest                             |   4 +-
 .../files/add_missing_vb_portable_targets.patch    |  20 ++
 dev-lang/mono/files/mono-3.2.1-mdoc-fix.patch      |  12 +
 ...mono-4.0.2.5-fix-decimal-ms-on-big-endian.patch |  22 ++
 ...ix-mono-dis-makefile-am-when-without-sgen.patch |  15 ++
 .../files/mono-4.0.2.5-fix-ppc-atomic-add-i4.patch |  79 ++++++
 dev-lang/mono/files/systemweb3.patch               |  22 ++
 dev-lang/mono/mono-2.10.9-r2.ebuild                | 265 ---------------------
 dev-lang/mono/mono-3.0.7.ebuild                    | 100 --------
 .../{mono-3.2.8.ebuild => mono-4.0.3.20.ebuild}    |  73 +++---
 10 files changed, 199 insertions(+), 413 deletions(-)

diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest
index 89fd30f..af6730b 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 0000000..ece90a5
--- /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 0000000..b8fcea9
--- /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 0000000..c6349fe
--- /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 0000000..bbf4c6f
--- /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 0000000..fd5de72
--- /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 0000000..5ccb63a
--- /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 1990c36..0000000
--- 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 9735a81..0000000
--- 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
similarity index 52%
rename from dev-lang/mono/mono-3.2.8.ebuild
rename to dev-lang/mono/mono-4.0.3.20.ebuild
index ec4e9e8..526b34b 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
-}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/mono/files/, dev-lang/mono/
@ 2015-12-10  8:07 Heather Cynede
  0 siblings, 0 replies; 8+ messages in thread
From: Heather Cynede @ 2015-12-10  8:07 UTC (permalink / raw
  To: gentoo-commits

commit:     228994031585879b17b90ac6659e5cb80214d088
Author:     Heather Cynede <cynede <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 10 08:04:32 2015 +0000
Commit:     Heather Cynede <cynede <AT> gentoo <DOT> org>
CommitDate: Thu Dec 10 08:04:32 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22899403

dev-lang/mono: bump to 4.2.1.124, patch for bug 36724

Package-Manager: portage-2.2.26

 dev-lang/mono/Manifest                     |   1 +
 dev-lang/mono/files/fix-for-bug36724.patch |  13 ++++
 dev-lang/mono/mono-4.2.1.124.ebuild        | 115 +++++++++++++++++++++++++++++
 3 files changed, 129 insertions(+)

diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest
index 6c6134e..9953b28 100644
--- a/dev-lang/mono/Manifest
+++ b/dev-lang/mono/Manifest
@@ -3,3 +3,4 @@ DIST mono-3.12.1.tar.bz2 73487974 SHA256 5d8cf153af2948c06bc9fbf5088f6834868e4db
 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
+DIST mono-4.2.1.124.tar.bz2 96235544 SHA256 6098476ce5c74685b23e7a96be8fe28a27db4167375fee103a275820054d647c SHA512 56515fdd0ad047756804f2440c302e93f2eaec42dc462680035d0f9c4ea2c3974572b926a468629a49743837beeb8286ff0058392b45a89e9b1fb3ba5299fb8b WHIRLPOOL fe8c6c365d4ab91a1812c7b79a9d0b176eb42aa6515fe486e6de71199be7eaa52dbfd0dad6c31df78bd1a33847dbc45caa4b3928853810e5d354aed16ef6ca13

diff --git a/dev-lang/mono/files/fix-for-bug36724.patch b/dev-lang/mono/files/fix-for-bug36724.patch
new file mode 100644
index 0000000..187b4ba
--- /dev/null
+++ b/dev-lang/mono/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/mono-4.2.1.124.ebuild b/dev-lang/mono/mono-4.2.1.124.ebuild
new file mode 100644
index 0000000..83b5c4b
--- /dev/null
+++ b/dev-lang/mono/mono-4.2.1.124.ebuild
@@ -0,0 +1,115 @@
+# 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"
+
+	epatch "${FILESDIR}/systemweb3.patch"
+	epatch "${FILESDIR}/fix-for-GitExtensions-issue-2710.patch"
+	epatch "${FILESDIR}/fix-for-bug36724.patch"
+
+	autotools-utils_src_prepare
+}
+
+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
+}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/mono/files/, dev-lang/mono/
@ 2016-11-30 22:58 Sergei Trofimovich
  0 siblings, 0 replies; 8+ messages in thread
From: Sergei Trofimovich @ 2016-11-30 22:58 UTC (permalink / raw
  To: gentoo-commits

commit:     b435de6c181413d73aa1e94f4f9de76e9adaaeee
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 30 22:53:25 2016 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Wed Nov 30 22:53:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b435de6c

dev-lang/mono: fix makedev() declaration on glibc-2.24

Package-Manager: portage-2.3.2

 dev-lang/mono/files/mono-4.8.0.371-makedev.patch | 34 ++++++++++++++++++++++++
 dev-lang/mono/mono-4.8.0.371.ebuild              |  6 ++++-
 2 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/dev-lang/mono/files/mono-4.8.0.371-makedev.patch b/dev-lang/mono/files/mono-4.8.0.371-makedev.patch
new file mode 100644
index 00000000..7a4a44b
--- /dev/null
+++ b/dev-lang/mono/files/mono-4.8.0.371-makedev.patch
@@ -0,0 +1,34 @@
+https://bugs.gentoo.org/575232
+diff --git a/configure.ac b/configure.ac
+index fa5977b..2832c69 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -416,6 +416,10 @@ AC_HEADER_STDC
+ AC_LIBTOOL_WIN32_DLL
+ # This causes monodis to not link correctly
+ #AC_DISABLE_FAST_INSTALL
++
++#lookup makedev() header
++AC_HEADER_MAJOR
++
+ AM_PROG_LIBTOOL
+ # Use dolt (http://dolt.freedesktop.org/) instead of libtool for building.
+ DOLT
+diff --git a/mono/io-layer/processes.c b/mono/io-layer/processes.c
+index 53c271a..7ff8d03 100644
+--- a/mono/io-layer/processes.c
++++ b/mono/io-layer/processes.c
+@@ -45,6 +45,13 @@
+ #include <utime.h>
+ #endif
+ 
++/* makedev() macro */
++#ifdef MAJOR_IN_MKDEV
++#include <sys/mkdev.h>
++#elif defined MAJOR_IN_SYSMACROS
++#include <sys/sysmacros.h>
++#endif
++
+ /* sys/resource.h (for rusage) is required when using osx 10.3 (but not 10.4) */
+ #ifdef __APPLE__
+ #include <TargetConditionals.h>

diff --git a/dev-lang/mono/mono-4.8.0.371.ebuild b/dev-lang/mono/mono-4.8.0.371.ebuild
index fa00af0..4a4e512 100644
--- a/dev-lang/mono/mono-4.8.0.371.ebuild
+++ b/dev-lang/mono/mono-4.8.0.371.ebuild
@@ -4,7 +4,7 @@
 
 EAPI=6
 
-inherit eutils linux-info mono-env flag-o-matic pax-utils versionator multilib-minimal
+inherit autotools eutils linux-info mono-env flag-o-matic pax-utils versionator multilib-minimal
 
 DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
 HOMEPAGE="http://www.mono-project.com/Main_Page"
@@ -33,6 +33,8 @@ DEPEND="${COMMONDEPEND}
 	!dev-lang/mono-basic
 "
 
+PATCHES=("${FILESDIR}"/${PN}-4.8.0.371-makedev.patch)
+
 S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)"
 
 pkg_pretend() {
@@ -73,6 +75,8 @@ src_prepare() {
 	#append-flags -fPIC
 
 	default
+	# PATCHES contains configure.ac patch
+	eautoreconf
 	multilib_copy_sources
 }
 


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/mono/files/, dev-lang/mono/
@ 2016-12-01 22:05 Sergei Trofimovich
  0 siblings, 0 replies; 8+ messages in thread
From: Sergei Trofimovich @ 2016-12-01 22:05 UTC (permalink / raw
  To: gentoo-commits

commit:     7a0e31adf6af28adf3c8709e542ecf7039cb5942
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Thu Dec  1 21:53:42 2016 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Thu Dec  1 22:05:20 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a0e31ad

dev-lang/mono: fix ABI_X86=32 build case for amd64 host, bug #600664

The patch passes flags to adjust target ABI
of a multiarch assembler and linker.

Reported-by: Ivan Dorna
Reported-by: Toralf Förster
Bug: https://github.com/gentoo/dotnet/issues/270
Bug: https://bugs.gentoo.org/600664

Package-Manager: portage-2.3.2

 dev-lang/mono/files/mono-4.8.0.371-x86_32.patch | 27 +++++++++++++++++++++++++
 dev-lang/mono/mono-4.8.0.371.ebuild             |  5 ++++-
 2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/dev-lang/mono/files/mono-4.8.0.371-x86_32.patch b/dev-lang/mono/files/mono-4.8.0.371-x86_32.patch
new file mode 100644
index 00000000..063ea63
--- /dev/null
+++ b/dev-lang/mono/files/mono-4.8.0.371-x86_32.patch
@@ -0,0 +1,27 @@
+Native toolchain can default to different ABI (amd64 in bug case).
+Set target to i386.
+https://bugs.gentoo.org/600664
+diff --git a/mono/mini/aot-compiler.c b/mono/mini/aot-compiler.c
+index a1c359f..beaaf76 100644
+--- a/mono/mini/aot-compiler.c
++++ b/mono/mini/aot-compiler.c
+@@ -9842,7 +9842,9 @@ compile_asm (MonoAotCompile *acfg)
+ 	const char *tool_prefix = acfg->aot_opts.tool_prefix ? acfg->aot_opts.tool_prefix : "";
+ 	char *ld_flags = acfg->aot_opts.ld_flags ? acfg->aot_opts.ld_flags : g_strdup("");
+ 
+-#if defined(TARGET_AMD64) && !defined(TARGET_MACH)
++#if defined(TARGET_X86) && !defined(TARGET_MACH)
++#define AS_OPTIONS "--32"
++#elif defined(TARGET_AMD64) && !defined(TARGET_MACH)
+ #define AS_OPTIONS "--64"
+ #elif defined(TARGET_POWERPC64)
+ #define AS_OPTIONS "-a64 -mppc64"
+@@ -9886,6 +9888,8 @@ compile_asm (MonoAotCompile *acfg)
+ #define LD_OPTIONS "--shared"
+ #elif defined(TARGET_POWERPC64)
+ #define LD_OPTIONS "-m elf64ppc"
++#elif defined(TARGET_X86)
++#define LD_OPTIONS "-m elf_i386"
+ #endif
+ 
+ #ifndef LD_OPTIONS

diff --git a/dev-lang/mono/mono-4.8.0.371.ebuild b/dev-lang/mono/mono-4.8.0.371.ebuild
index 4a4e512..1995170 100644
--- a/dev-lang/mono/mono-4.8.0.371.ebuild
+++ b/dev-lang/mono/mono-4.8.0.371.ebuild
@@ -33,7 +33,10 @@ DEPEND="${COMMONDEPEND}
 	!dev-lang/mono-basic
 "
 
-PATCHES=("${FILESDIR}"/${PN}-4.8.0.371-makedev.patch)
+PATCHES=(
+	"${FILESDIR}"/${PN}-4.8.0.371-makedev.patch
+	"${FILESDIR}"/${PN}-4.8.0.371-x86_32.patch
+)
 
 S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)"
 


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/mono/files/, dev-lang/mono/
@ 2018-03-30 17:26 Sergei Trofimovich
  0 siblings, 0 replies; 8+ messages in thread
From: Sergei Trofimovich @ 2018-03-30 17:26 UTC (permalink / raw
  To: gentoo-commits

commit:     5127c755e4cb6a810f81eb38777e1d7917695f9c
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 30 17:25:39 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Fri Mar 30 17:26:42 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5127c755

dev-lang/mono: fix 32-bit build on amd64, bug #600664

It's a backport of https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a0e31adf6af28adf3c8709e542ecf7039cb5942

Reported-by: Toralf Förster
Fixed-by: Eric Hermes
Closes: https://bugs.gentoo.org/600664
Package-Manager: Portage-2.3.26, Repoman-2.3.7

 dev-lang/mono/files/mono-4.4.1.0-x86_32.patch | 20 ++++++++++++++++++++
 dev-lang/mono/mono-4.4.1.0.ebuild             |  4 +++-
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/dev-lang/mono/files/mono-4.4.1.0-x86_32.patch b/dev-lang/mono/files/mono-4.4.1.0-x86_32.patch
new file mode 100644
index 00000000000..751c057e6ce
--- /dev/null
+++ b/dev-lang/mono/files/mono-4.4.1.0-x86_32.patch
@@ -0,0 +1,20 @@
+Native toolchain can default to different ABI (amd64 in bug case).
+Set target to i386.
+https://bugs.gentoo.org/600664
+diff -Naur a/mono/mini/aot-compiler.c b/mono/mini/aot-compiler.c
+--- a/mono/mini/aot-compiler.c	2016-06-22 04:31:58.000000000 -0500
++++ b/mono/mini/aot-compiler.c	2017-12-08 14:25:35.338251941 -0600
+@@ -9438,7 +9438,12 @@
+ 	const char *tool_prefix = acfg->aot_opts.tool_prefix ? acfg->aot_opts.tool_prefix : "";
+ 	char *ld_flags = acfg->aot_opts.ld_flags ? acfg->aot_opts.ld_flags : g_strdup("");
+ 
+-#if defined(TARGET_AMD64) && !defined(TARGET_MACH)
++#if defined(TARGET_X86)
++#define LD_OPTIONS "-m elf_i386"
++#if !defined(TARGET_MACH)
++#define AS_OPTIONS "--32"
++#endif
++#elif defined(TARGET_AMD64) && !defined(TARGET_MACH)
+ #define AS_OPTIONS "--64"
+ #elif defined(TARGET_POWERPC64)
+ #define AS_OPTIONS "-a64 -mppc64"

diff --git a/dev-lang/mono/mono-4.4.1.0.ebuild b/dev-lang/mono/mono-4.4.1.0.ebuild
index 328ec068472..397235e7db5 100644
--- a/dev-lang/mono/mono-4.4.1.0.ebuild
+++ b/dev-lang/mono/mono-4.4.1.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -79,6 +79,8 @@ src_prepare() {
 	#epatch "${FILESDIR}/fix-for-GitExtensions-issue-2710-another-resolution.patch"
 	#epatch "${FILESDIR}/fix-for-bug36724.patch"
 
+	epatch "${FILESDIR}/${P}-x86_32.patch"
+
 	default
 	#eapply_user
 	multilib_copy_sources


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/mono/files/, dev-lang/mono/
@ 2018-06-26 14:30 Mikhail Pukhlikov
  0 siblings, 0 replies; 8+ messages in thread
From: Mikhail Pukhlikov @ 2018-06-26 14:30 UTC (permalink / raw
  To: gentoo-commits

commit:     13bcf3202dce3f2945ff0aa9b42c5e22219a0c88
Author:     Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 26 14:24:10 2018 +0000
Commit:     Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org>
CommitDate: Tue Jun 26 14:30:32 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13bcf320

dev-lang/mono: bump to 5.12.0.226

 dev-lang/mono/Manifest                        |   1 +
 dev-lang/mono/files/mono-5.12-try-catch.patch |  31 ++++++++
 dev-lang/mono/mono-5.12.0.226.ebuild          | 109 ++++++++++++++++++++++++++
 3 files changed, 141 insertions(+)

diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest
index 5ad04430475..f951e468665 100644
--- a/dev-lang/mono/Manifest
+++ b/dev-lang/mono/Manifest
@@ -3,4 +3,5 @@ DIST mono-4.6.1.5.tar.bz2 83174665 BLAKE2B ce4586af882c6592d1615156d009e496b8405
 DIST mono-4.8.0.425.tar.bz2 87955541 BLAKE2B dd3c7d26d9818c0512ddbbea6c0980ce5411904c93d5aff8aef581016268594ea1a887dc51332afc225db25d735ef3ef379a5f7b72acd95892e9efe399fb9df9 SHA512 7bab64adbebc277d3fc10301fa6af6cd64ea0836e2d74dfdd9b59684d9402689f9a4e397f3d36f519c7a892c14dcf8f8867d40a5119891874dfd10f9bbce2ac4
 DIST mono-4.8.0.495.tar.bz2 87540431 BLAKE2B c067054c27e61fbd46cae962876afdf65fa4660db41482a7931436009d986ffd25cd9120f9d61f1db5e16b95423fb6cb81abf6be8eada408a9ed2e812f112e6d SHA512 0052b7b04ae25e7cb5970d742369b74c83a10c6c82da591e8d26ad9e13e8b2590a1cde27ca99e43aebc622c7a2a590b9e6c7ce519ac4185b0b6cf7134527cc9d
 DIST mono-4.8.0.524.tar.bz2 87392723 BLAKE2B ac17c3da6d6c08c4cb72c4fa300ded92625bd8c14c1e45ea9539efa42c8d085759f7bb298fe5df57bd41f18abf83f293d26a9e6272944933fcff0a3c16a7e4f3 SHA512 eb77b768a4a26e6a2a872f4845769cdc83f01af3377ecd6d932437d2a1b54bfd1ce727563906146195a54997b4b624fb75449a6f0bcfe818cbc4e6544841bf2b
+DIST mono-5.12.0.226.tar.bz2 213373240 BLAKE2B 6aa8d9962aa51d6a7f8f6106835cef6a4eb626d7af56a09ca185736db2535dbaffd5d97d5d0eef39001b11d41d868706be4788496c8d0036bdbad24c5f6fcc46 SHA512 f4ab3066c9a3545ace0c4af50ddbe58cf5d9ffe4895cc546669f329b91988fcfebab91a070ea46b27536040823a3bbc1bd7e5552a49769988e8271d52662c583
 DIST mono-5.4.1.6.tar.bz2 204934321 BLAKE2B 7aa3450a9bc4033f8084c4271b215af636e0df72d6349c97e0acd110d91e276d22b735d19bac2fb1e995ec34fa9e041831358a01d5c098b9c5e8b567d98350fe SHA512 d3618e9f127bc95b15feba5bf73317574872208770d83b8b545a9888df81a629e6fb14160db8a38526ffeb005f682e8dd9b8ced84bdb0cbb36dc9e7b28c240a4

diff --git a/dev-lang/mono/files/mono-5.12-try-catch.patch b/dev-lang/mono/files/mono-5.12-try-catch.patch
new file mode 100644
index 00000000000..051c72be685
--- /dev/null
+++ b/dev-lang/mono/files/mono-5.12-try-catch.patch
@@ -0,0 +1,31 @@
+diff -ur mono-5.9.0.398/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs mono-patched-5.9.0.398/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs
+--- mono-5.9.0.398/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs	2017-11-17 18:12:57.000000000 +0300
++++ mono-patched-5.9.0.398/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs	2017-12-06 06:24:45.067519852 +0300
+@@ -2810,14 +2810,21 @@
+ 
+ 		internal override object ClipboardRetrieve(IntPtr handle, int type, XplatUI.ClipboardToObject converter)
+ 		{
+-			XConvertSelection(DisplayHandle, handle, (IntPtr)type, (IntPtr)type, FosterParent, IntPtr.Zero);
++			try
++			{
++				XConvertSelection(DisplayHandle, handle, (IntPtr)type, (IntPtr)type, FosterParent, IntPtr.Zero);
+ 
+-			Clipboard.Retrieving = true;
+-			while (Clipboard.Retrieving) {
+-				UpdateMessageQueue(null, false);
+-			}
++				Clipboard.Retrieving = true;
++				while (Clipboard.Retrieving) {
++					UpdateMessageQueue(null, false);
++				}
+ 
+-			return Clipboard.Item;
++				return Clipboard.Item;
++			}
++			catch (Exception ex)
++			{
++				return null;
++			}
+ 		}
+ 
+ 		internal override void ClipboardStore (IntPtr handle, object obj, int type, XplatUI.ObjectToClipboard converter, bool copy)

diff --git a/dev-lang/mono/mono-5.12.0.226.ebuild b/dev-lang/mono/mono-5.12.0.226.ebuild
new file mode 100644
index 00000000000..bdaa577ec62
--- /dev/null
+++ b/dev-lang/mono/mono-5.12.0.226.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~arm64"
+RESTRICT="mirror"
+SLOT="0"
+
+IUSE="nls minimal pax_kernel xen doc"
+
+inherit autotools eutils linux-info mono-env flag-o-matic pax-utils multilib-minimal
+
+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"
+
+SRC_URI="http://download.mono-project.com/sources/mono/${P}.tar.bz2"
+
+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-util/cmake
+	!dev-lang/mono-basic
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-5.0.1.1-x86_32.patch
+	"${FILESDIR}"/mono-5.12-try-catch.patch
+)
+
+pkg_pretend() {
+	linux-info_pkg_setup
+	if use kernel_linux; then
+		if linux_config_exists; then
+			linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel"
+		else
+			# https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686
+			ewarn "kernel config not found"
+			ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
+			ewarn "See https://bugs.gentoo.org/261869 for more info."
+		fi
+	fi
+}
+
+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
+
+	#TODO: resolve problem with newer binutils
+	#bug: https://bugs.gentoo.org/show_bug.cgi?id=600664
+	#append-flags -fPIC
+
+	default
+	# PATCHES contains configure.ac patch
+	eautoreconf
+	multilib_copy_sources
+}
+
+multilib_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)
+	)
+
+	econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+	cd mcs/tests || die
+	emake check
+}
+
+multilib_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
+}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/mono/files/, dev-lang/mono/
@ 2022-01-13  1:42 Sam James
  0 siblings, 0 replies; 8+ messages in thread
From: Sam James @ 2022-01-13  1:42 UTC (permalink / raw
  To: gentoo-commits

commit:     be02856a46e00bbb861fd3c651cac42c2b7697d0
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 13 01:41:45 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jan 13 01:42:08 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=be02856a

dev-lang/mono: fix automagic ccache usage

This is for users to enable, not for build systems to do it based
on whether ccache is installed (which leads to sandbox issues anyway).

Closes: https://bugs.gentoo.org/830562
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../mono-6.12.0.122-disable-automagic-ccache.patch | 22 ++++++++++++++++++++++
 dev-lang/mono/mono-6.12.0.122.ebuild               |  3 ++-
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/dev-lang/mono/files/mono-6.12.0.122-disable-automagic-ccache.patch b/dev-lang/mono/files/mono-6.12.0.122-disable-automagic-ccache.patch
new file mode 100644
index 000000000000..b92592f6ea32
--- /dev/null
+++ b/dev-lang/mono/files/mono-6.12.0.122-disable-automagic-ccache.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/831079
+--- a/mono/btls/CMakeLists.txt
++++ b/mono/btls/CMakeLists.txt
+@@ -12,11 +12,6 @@ endif()
+ enable_language(C)
+ enable_language(CXX)
+ 
+-find_program(CCACHE_PROGRAM ccache)
+-if(CCACHE_PROGRAM)
+-    set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
+-endif()
+-
+ if (MSVC OR CYGWIN)
+ 	set(BTLS_HOST_WIN32 1)
+ endif ()
+@@ -129,4 +124,4 @@ endif ()
+ 
+ if (CYGWIN)
+ 	target_link_libraries (mono-btls-shared wsock32 ws2_32)
+-endif ()
+\ No newline at end of file
++endif ()

diff --git a/dev-lang/mono/mono-6.12.0.122.ebuild b/dev-lang/mono/mono-6.12.0.122.ebuild
index 449d4aebe3b2..97ee904ee535 100644
--- a/dev-lang/mono/mono-6.12.0.122.ebuild
+++ b/dev-lang/mono/mono-6.12.0.122.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -36,6 +36,7 @@ BDEPEND="
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-5.12-try-catch.patch
+	"${FILESDIR}"/${PN}-6.12.0.122-disable-automagic-ccache.patch
 )
 
 pkg_pretend() {


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/mono/files/, dev-lang/mono/
@ 2023-12-09 18:11 Sam James
  0 siblings, 0 replies; 8+ messages in thread
From: Sam James @ 2023-12-09 18:11 UTC (permalink / raw
  To: gentoo-commits

commit:     6b4bcffa3bccaf8ba8c99c65bd9dbd1f445b196d
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  9 15:27:04 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec  9 18:05:59 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b4bcffa

dev-lang/mono: fix modern C issue in configure

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../mono/files/mono-6.12.0.199-configure-c99.patch |  51 ++++++++
 dev-lang/mono/mono-6.12.0.199-r2.ebuild            | 130 +++++++++++++++++++++
 2 files changed, 181 insertions(+)

diff --git a/dev-lang/mono/files/mono-6.12.0.199-configure-c99.patch b/dev-lang/mono/files/mono-6.12.0.199-configure-c99.patch
new file mode 100644
index 000000000000..3018dbe8339c
--- /dev/null
+++ b/dev-lang/mono/files/mono-6.12.0.199-configure-c99.patch
@@ -0,0 +1,51 @@
+https://github.com/mono/mono/pull/21730
+
+From 90315aa24569d13da93230ac2d3e5ec3c96f35b4 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Sat, 9 Dec 2023 00:06:09 +0100
+Subject: [PATCH] configure: Fix type errors in __thread test
+
+The thread start routine must return void *, and int and void *
+are distinct types.  Compilers increasingly issue errors instead
+of warnings for such type errors, and this causes the configure
+probe to fail unconditionally, even if the system supports
+__thread variables.
+---
+ configure.ac | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index dbc4904d9b2e4..7518439118e37 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2831,14 +2831,16 @@ if test x$host_win32 = xno; then
+ 			__thread int i;
+ 			static int res1, res2;
+ 
+-			void thread_main (void *arg)
++			void *thread_main (void *parg)
+ 			{
++				int arg = *(int *)parg;
+ 				i = arg;
+ 				sleep (1);
+ 				if (arg == 1)
+ 					res1 = (i == arg);
+ 				else
+ 					res2 = (i == arg);
++				return NULL;
+ 			}
+ 
+ 			int main () {
+@@ -2846,8 +2848,10 @@ if test x$host_win32 = xno; then
+ 
+ 				i = 5;
+ 
+-				pthread_create (&t1, NULL, thread_main, 1);
+-				pthread_create (&t2, NULL, thread_main, 2);
++				int one = 1;
++				pthread_create (&t1, NULL, thread_main, &one);
++				int two = 2;
++				pthread_create (&t2, NULL, thread_main, &two);
+ 
+ 				pthread_join (t1, NULL);
+ 				pthread_join (t2, NULL);

diff --git a/dev-lang/mono/mono-6.12.0.199-r2.ebuild b/dev-lang/mono/mono-6.12.0.199-r2.ebuild
new file mode 100644
index 000000000000..f18742acabed
--- /dev/null
+++ b/dev-lang/mono/mono-6.12.0.199-r2.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CHECKREQS_DISK_BUILD="4500M"
+inherit autotools check-reqs flag-o-matic linux-info mono-env pax-utils multilib-minimal
+
+DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
+HOMEPAGE="https://mono-project.com"
+SRC_URI="https://download.mono-project.com/sources/mono/${P}.tar.xz"
+
+LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 -riscv ~x86 ~amd64-linux"
+IUSE="doc minimal nls pax-kernel selinux xen"
+
+# Note: mono works incorrect with older versions of libgdiplus
+# Details on dotnet overlay issue: https://github.com/gentoo/dotnet/issues/429
+DEPEND="
+	app-crypt/mit-krb5[${MULTILIB_USEDEP}]
+	sys-libs/zlib[${MULTILIB_USEDEP}]
+	ia64? ( sys-libs/libunwind )
+	!minimal? ( >=dev-dotnet/libgdiplus-6.0.2 )
+	nls? ( sys-devel/gettext )
+"
+RDEPEND="
+	${DEPEND}
+	app-misc/ca-certificates
+	selinux? ( sec-policy/selinux-mono )
+"
+# CMake is used for bundled deps
+BDEPEND="
+	dev-util/cmake
+	sys-devel/bc
+	app-alternatives/yacc
+	pax-kernel? ( sys-apps/elfix )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-5.12-try-catch.patch
+	"${FILESDIR}"/${PN}-6.12.0.122-disable-automagic-ccache.patch
+	"${FILESDIR}"/${PN}-6.12.0.199-configure-c99.patch
+)
+
+pkg_pretend() {
+	linux-info_pkg_setup
+
+	if use kernel_linux ; then
+		if linux_config_exists ; then
+			linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel"
+		else
+			# https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686
+			ewarn "kernel config not found"
+			ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
+			ewarn "See https://bugs.gentoo.org/261869 for more info."
+		fi
+	fi
+
+	# bug #687892
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	mono-env_pkg_setup
+	check-reqs_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 enabled, bug #286280
+	# RANDMMAP kills the build process too, bug #347365
+	# We use paxmark.sh to get PT/XT logic, bug #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
+
+	default
+
+	# PATCHES contains configure.ac patch
+	eautoreconf
+	multilib_copy_sources
+}
+
+multilib_src_configure() {
+	# Many, many unsafe warnings. Miscompiled with -O3 too: bug #915985.
+	append-flags -O2 -fno-strict-aliasing
+	filter-lto
+
+	local myeconfargs=(
+		$(use_with xen xen_opt)
+		--without-ikvm-native
+		--disable-dtrace
+		--enable-system-aot
+		$(multilib_native_use_with doc mcs-docs)
+		$(use_enable nls)
+	)
+
+	# Workaround(?) for bug #779025
+	# May be able to do a real fix by adjusting path used?
+	if multilib_is_native_abi ; then
+		myeconfargs+=( --enable-system-aot )
+	else
+		myeconfargs+=( --disable-system-aot )
+	fi
+
+	econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+	emake -C mcs/tests check
+}
+
+multilib_src_install() {
+	default
+
+	# 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
+}
+
+pkg_postinst() {
+	# bug #762265
+	cert-sync "${EROOT}"/etc/ssl/certs/ca-certificates.crt
+}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-12-09 18:11 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-10  8:07 [gentoo-commits] repo/gentoo:master commit in: dev-lang/mono/files/, dev-lang/mono/ Heather Cynede
  -- strict thread matches above, loose matches on Subject: below --
2023-12-09 18:11 Sam James
2022-01-13  1:42 Sam James
2018-06-26 14:30 Mikhail Pukhlikov
2018-03-30 17:26 Sergei Trofimovich
2016-12-01 22:05 Sergei Trofimovich
2016-11-30 22:58 Sergei Trofimovich
2015-08-12 14:00 Heather Cynede

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox