* [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