logo

overlay

My own overlay for experimentations, use with caution, no support is provided git clone https://hacktivis.me/git/overlay.git
commit: 36db11fd2b8d607a55cd5d4904591796baa34be1
parent 2ab12bb94ba62aead58567f4dc21227a22e75949
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Sat, 10 Apr 2021 03:19:26 +0200

dev-lang/mono: Superseeded by gentoo

Diffstat:

Ddev-lang/mono/Manifest1-
Ddev-lang/mono/files/mono-5.0.1.1-x86_32.patch21---------------------
Ddev-lang/mono/files/mono-5.12-try-catch.patch31-------------------------------
Ddev-lang/mono/metadata.xml12------------
Ddev-lang/mono/mono-6.4.0.198.ebuild106-------------------------------------------------------------------------------
5 files changed, 0 insertions(+), 171 deletions(-)

diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest @@ -1 +0,0 @@ -DIST mono-6.4.0.198.tar.xz 230056560 BLAKE2B 725ac790e235569837052e54f2cfa603ea8212e956f11ac8a5feb692bc41ed7e5de37c90a150e95624e41763e7b85496090a426e0dccb378dbb6836e6bf73a6f SHA512 2804f1a2e10de683230fc77684b9f795259e4d494e819afd3c9cf247bed20cac2b7f80612eccc8af619158d077447989784e9f2e56fc741bf601894b1969600d diff --git a/dev-lang/mono/files/mono-5.0.1.1-x86_32.patch b/dev-lang/mono/files/mono-5.0.1.1-x86_32.patch @@ -1,21 +0,0 @@ -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 0656a57..690c96b 100644 ---- a/mono/mini/aot-compiler.c -+++ b/mono/mini/aot-compiler.c -@@ -9926,4 +9926,6 @@ compile_asm (MonoAotCompile *acfg) - #ifdef TARGET_WIN32_MSVC - #define AS_OPTIONS "-c -x assembler" -+#elif defined(TARGET_X86) && !defined(TARGET_MACH) -+#define AS_OPTIONS "--32" - #elif defined(TARGET_AMD64) && !defined(TARGET_MACH) - #define AS_OPTIONS "--64" -@@ -9981,4 +9983,6 @@ compile_asm (MonoAotCompile *acfg) - #elif defined(TARGET_POWERPC64) - #define LD_OPTIONS "-m elf64ppc" -+#elif defined(TARGET_X86) -+#define LD_OPTIONS "-m elf_i386" - #endif - diff --git a/dev-lang/mono/files/mono-5.12-try-catch.patch b/dev-lang/mono/files/mono-5.12-try-catch.patch @@ -1,31 +0,0 @@ -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/metadata.xml b/dev-lang/mono/metadata.xml @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>contact@hacktivis.me</email> - <name>Haelwenn (lanodan) Monnier</name> - </maintainer> - <use> - <flag name="pax_kernel">Enable if the user plans to run the package under a pax enabled hardened kernel</flag> - <flag name="xen">Make mono generate code that is considerably faster on xen VMs but slightly slower on for normal systems.</flag> - </use> -</pkgmetadata> diff --git a/dev-lang/mono/mono-6.4.0.198.ebuild b/dev-lang/mono/mono-6.4.0.198.ebuild @@ -1,106 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux" - -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="https://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.xz" - -#Note: mono works incorrect with older versions of libgdiplus -#details on dotnet overlay issue: https://github.com/gentoo/dotnet/issues/429 -COMMONDEPEND=" - !minimal? ( >=dev-dotnet/libgdiplus-5.6.1 ) - ia64? ( sys-libs/libunwind ) - nls? ( sys-devel/gettext ) -" -RDEPEND="${COMMONDEPEND}" -DEPEND="${COMMONDEPEND} - sys-devel/bc - virtual/yacc - pax_kernel? ( sys-apps/elfix ) - dev-util/cmake -" - -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 - - 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 -}