Gentoo Archives: gentoo-commits

From: Mikhail Pukhlikov <cynede@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/mono/
Date: Mon, 03 Aug 2020 12:34:30
Message-Id: 1596458055.aca29550542f438e3a1029125d3473582e106fb5.cynede@gentoo
1 commit: aca29550542f438e3a1029125d3473582e106fb5
2 Author: Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org>
3 AuthorDate: Mon Aug 3 12:33:58 2020 +0000
4 Commit: Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org>
5 CommitDate: Mon Aug 3 12:34:15 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aca29550
7
8 dev-lang/mono: new version: 6.10.0.104
9
10 Package-Manager: Portage-3.0.1, Repoman-2.3.23
11 Signed-off-by: Mikhail Pukhlikov <cynede <AT> gentoo.org>
12
13 dev-lang/mono/Manifest | 1 +
14 dev-lang/mono/mono-6.10.0.104.ebuild | 105 +++++++++++++++++++++++++++++++++++
15 2 files changed, 106 insertions(+)
16
17 diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest
18 index 4cb35e69183..5263681050b 100644
19 --- a/dev-lang/mono/Manifest
20 +++ b/dev-lang/mono/Manifest
21 @@ -1 +1,2 @@
22 +DIST mono-6.10.0.104.tar.xz 292616252 BLAKE2B 705fb45ab280eae0e66b4c0fa0fc0e3ee87ed47164dd5bfa2f11115c30fb7b788bd9b25bfe7d820db88178bf0863b1cc984def94fe291c9924b311454735deed SHA512 73b853e9fc9af2e1bf5e45f7accb8893dd7e48f9723f74b03d99ea11cf565e2c5bb2d6ae4c81c7e7be0cdfa489016da909ed7b12808c8f84d9d25e33e1cb9874
23 DIST mono-6.6.0.161.tar.xz 241179396 BLAKE2B 88cb0599cd5698500431dc8a78fa3b44a148bdc11d3067e950f0019c6bbeff9ebf2142e90f3b1023721c982fc4a59605ee969d84ee2137f968dee66b1ea0b55c SHA512 0b0c72daef9e1c10c0d566292997d4a923766390793ec1196a063b885e853b47a12503238632879cf7397f03b34909137e24c53db9300a4f209164e973284186
24
25 diff --git a/dev-lang/mono/mono-6.10.0.104.ebuild b/dev-lang/mono/mono-6.10.0.104.ebuild
26 new file mode 100644
27 index 00000000000..817de94a28c
28 --- /dev/null
29 +++ b/dev-lang/mono/mono-6.10.0.104.ebuild
30 @@ -0,0 +1,105 @@
31 +# Copyright 1999-2020 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=6
35 +
36 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux"
37 +
38 +SLOT="0"
39 +
40 +IUSE="nls minimal pax_kernel xen doc"
41 +
42 +inherit autotools eutils linux-info mono-env flag-o-matic pax-utils multilib-minimal
43 +
44 +DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
45 +HOMEPAGE="https://mono-project.com"
46 +LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL"
47 +
48 +SRC_URI="https://download.mono-project.com/sources/mono/${P}.tar.xz"
49 +
50 +#Note: mono works incorrect with older versions of libgdiplus
51 +#details on dotnet overlay issue: https://github.com/gentoo/dotnet/issues/429
52 +COMMONDEPEND="
53 + !minimal? ( >=dev-dotnet/libgdiplus-6.0.2 )
54 + ia64? ( sys-libs/libunwind )
55 + nls? ( sys-devel/gettext )
56 +"
57 +RDEPEND="${COMMONDEPEND}"
58 +DEPEND="${COMMONDEPEND}
59 + sys-devel/bc
60 + virtual/yacc
61 + pax_kernel? ( sys-apps/elfix )
62 + dev-util/cmake
63 +"
64 +
65 +PATCHES=(
66 + "${FILESDIR}"/mono-5.12-try-catch.patch
67 +)
68 +
69 +pkg_pretend() {
70 + linux-info_pkg_setup
71 + if use kernel_linux; then
72 + if linux_config_exists; then
73 + linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel"
74 + else
75 + # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686
76 + ewarn "kernel config not found"
77 + ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
78 + ewarn "See https://bugs.gentoo.org/261869 for more info."
79 + fi
80 + fi
81 +}
82 +
83 +pkg_setup() {
84 + mono-env_pkg_setup
85 +}
86 +
87 +src_prepare() {
88 + # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't
89 + # get killed in the build proces when MPROTECT is enable. #286280
90 + # RANDMMAP kill the build proces to #347365
91 + # use paxmark.sh to get PT/XT logic #532244
92 + if use pax_kernel ; then
93 + ewarn "We are disabling MPROTECT on the mono binary."
94 +
95 + # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9
96 + sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in"
97 + fi
98 +
99 + # mono build system can fail otherwise
100 + strip-flags
101 +
102 + default
103 +
104 + # PATCHES contains configure.ac patch
105 + eautoreconf
106 + multilib_copy_sources
107 +}
108 +
109 +multilib_src_configure() {
110 + local myeconfargs=(
111 + $(use_with xen xen_opt)
112 + --without-ikvm-native
113 + --disable-dtrace
114 + --enable-system-aot
115 + $(use_with doc mcs-docs)
116 + $(use_enable nls)
117 + )
118 +
119 + econf "${myeconfargs[@]}"
120 +}
121 +
122 +multilib_src_test() {
123 + cd mcs/tests || die
124 + emake check
125 +}
126 +
127 +multilib_src_install() {
128 + default_src_install
129 +
130 + # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora
131 + # mono.spec and http://www.mail-archive.com/mono-devel-list@××××××××××××.com/msg24870.html
132 + # for reference.
133 + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die
134 + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die
135 +}