Gentoo Archives: gentoo-commits

From: Mikhail Pukhlikov <cynede@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/dotnet:master commit in: dev-lang/mono/
Date: Mon, 26 Mar 2018 06:35:20
Message-Id: 1522003646.2ea538a5d9d5e84f6fbefae49785ddb196768c37.cynede@gentoo
1 commit: 2ea538a5d9d5e84f6fbefae49785ddb196768c37
2 Author: grbd <garlicbready <AT> googlemail <DOT> com>
3 AuthorDate: Sun Mar 25 18:47:26 2018 +0000
4 Commit: Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org>
5 CommitDate: Sun Mar 25 18:47:26 2018 +0000
6 URL: https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=2ea538a5
7
8 Added latest mono releases
9
10 dev-lang/mono/mono-5.10.0.160.ebuild | 110 +++++++++++++++++++++++++++++++++++
11 dev-lang/mono/mono-5.10.0.179.ebuild | 110 +++++++++++++++++++++++++++++++++++
12 2 files changed, 220 insertions(+)
13
14 diff --git a/dev-lang/mono/mono-5.10.0.160.ebuild b/dev-lang/mono/mono-5.10.0.160.ebuild
15 new file mode 100644
16 index 0000000..f25dd8d
17 --- /dev/null
18 +++ b/dev-lang/mono/mono-5.10.0.160.ebuild
19 @@ -0,0 +1,110 @@
20 +# Copyright 1999-2017 Gentoo Foundation
21 +# Distributed under the terms of the GNU General Public License v2
22 +
23 +EAPI=6
24 +
25 +inherit autotools eutils linux-info mono-env flag-o-matic pax-utils versionator multilib-minimal
26 +
27 +DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
28 +HOMEPAGE="http://www.mono-project.com/Main_Page"
29 +SRC_URI="http://download.mono-project.com/sources/${PN}/${P}.tar.bz2"
30 +
31 +LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL"
32 +SLOT="0"
33 +
34 +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~arm64"
35 +
36 +IUSE="nls minimal pax_kernel xen doc"
37 +
38 +COMMONDEPEND="
39 + !minimal? ( >=dev-dotnet/libgdiplus-2.10 )
40 + ia64? ( sys-libs/libunwind )
41 + nls? ( sys-devel/gettext )
42 +"
43 +RDEPEND="${COMMONDEPEND}
44 + || ( www-client/links www-client/lynx )
45 +"
46 +DEPEND="${COMMONDEPEND}
47 + sys-devel/bc
48 + virtual/yacc
49 + pax_kernel? ( sys-apps/elfix )
50 + dev-util/cmake
51 + !dev-lang/mono-basic
52 +"
53 +
54 +PATCHES=(
55 + "${FILESDIR}"/${PN}-5.0.1.1-x86_32.patch
56 +)
57 +
58 +#S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)"
59 +
60 +pkg_pretend() {
61 + linux-info_pkg_setup
62 + if use kernel_linux; then
63 + if linux_config_exists; then
64 + linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel"
65 + else
66 + # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686
67 + ewarn "kernel config not found"
68 + ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
69 + ewarn "See https://bugs.gentoo.org/261869 for more info."
70 + fi
71 + fi
72 +}
73 +
74 +pkg_setup() {
75 + mono-env_pkg_setup
76 +}
77 +
78 +src_prepare() {
79 + # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't
80 + # get killed in the build proces when MPROTECT is enable. #286280
81 + # RANDMMAP kill the build proces to #347365
82 + # use paxmark.sh to get PT/XT logic #532244
83 + if use pax_kernel ; then
84 + ewarn "We are disabling MPROTECT on the mono binary."
85 +
86 + # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9
87 + sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in"
88 + fi
89 +
90 + # mono build system can fail otherwise
91 + strip-flags
92 +
93 + #TODO: resolve problem with newer binutils
94 + #bug: https://bugs.gentoo.org/show_bug.cgi?id=600664
95 + #append-flags -fPIC
96 +
97 + default
98 + # PATCHES contains configure.ac patch
99 + eautoreconf
100 + multilib_copy_sources
101 +}
102 +
103 +multilib_src_configure() {
104 + local myeconfargs=(
105 + --disable-silent-rules
106 + $(use_with xen xen_opt)
107 + --without-ikvm-native
108 + --disable-dtrace
109 + $(use_with doc mcs-docs)
110 + $(use_enable nls)
111 + )
112 +
113 + econf "${myeconfargs[@]}"
114 +}
115 +
116 +multilib_src_test() {
117 + cd mcs/tests || die
118 + emake check
119 +}
120 +
121 +multilib_src_install() {
122 + default_src_install
123 +
124 + # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora
125 + # mono.spec and http://www.mail-archive.com/mono-devel-list@××××××××××××.com/msg24870.html
126 + # for reference.
127 + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die
128 + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die
129 +}
130
131 diff --git a/dev-lang/mono/mono-5.10.0.179.ebuild b/dev-lang/mono/mono-5.10.0.179.ebuild
132 new file mode 100644
133 index 0000000..f25dd8d
134 --- /dev/null
135 +++ b/dev-lang/mono/mono-5.10.0.179.ebuild
136 @@ -0,0 +1,110 @@
137 +# Copyright 1999-2017 Gentoo Foundation
138 +# Distributed under the terms of the GNU General Public License v2
139 +
140 +EAPI=6
141 +
142 +inherit autotools eutils linux-info mono-env flag-o-matic pax-utils versionator multilib-minimal
143 +
144 +DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
145 +HOMEPAGE="http://www.mono-project.com/Main_Page"
146 +SRC_URI="http://download.mono-project.com/sources/${PN}/${P}.tar.bz2"
147 +
148 +LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL"
149 +SLOT="0"
150 +
151 +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~arm64"
152 +
153 +IUSE="nls minimal pax_kernel xen doc"
154 +
155 +COMMONDEPEND="
156 + !minimal? ( >=dev-dotnet/libgdiplus-2.10 )
157 + ia64? ( sys-libs/libunwind )
158 + nls? ( sys-devel/gettext )
159 +"
160 +RDEPEND="${COMMONDEPEND}
161 + || ( www-client/links www-client/lynx )
162 +"
163 +DEPEND="${COMMONDEPEND}
164 + sys-devel/bc
165 + virtual/yacc
166 + pax_kernel? ( sys-apps/elfix )
167 + dev-util/cmake
168 + !dev-lang/mono-basic
169 +"
170 +
171 +PATCHES=(
172 + "${FILESDIR}"/${PN}-5.0.1.1-x86_32.patch
173 +)
174 +
175 +#S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)"
176 +
177 +pkg_pretend() {
178 + linux-info_pkg_setup
179 + if use kernel_linux; then
180 + if linux_config_exists; then
181 + linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel"
182 + else
183 + # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686
184 + ewarn "kernel config not found"
185 + ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
186 + ewarn "See https://bugs.gentoo.org/261869 for more info."
187 + fi
188 + fi
189 +}
190 +
191 +pkg_setup() {
192 + mono-env_pkg_setup
193 +}
194 +
195 +src_prepare() {
196 + # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't
197 + # get killed in the build proces when MPROTECT is enable. #286280
198 + # RANDMMAP kill the build proces to #347365
199 + # use paxmark.sh to get PT/XT logic #532244
200 + if use pax_kernel ; then
201 + ewarn "We are disabling MPROTECT on the mono binary."
202 +
203 + # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9
204 + sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in"
205 + fi
206 +
207 + # mono build system can fail otherwise
208 + strip-flags
209 +
210 + #TODO: resolve problem with newer binutils
211 + #bug: https://bugs.gentoo.org/show_bug.cgi?id=600664
212 + #append-flags -fPIC
213 +
214 + default
215 + # PATCHES contains configure.ac patch
216 + eautoreconf
217 + multilib_copy_sources
218 +}
219 +
220 +multilib_src_configure() {
221 + local myeconfargs=(
222 + --disable-silent-rules
223 + $(use_with xen xen_opt)
224 + --without-ikvm-native
225 + --disable-dtrace
226 + $(use_with doc mcs-docs)
227 + $(use_enable nls)
228 + )
229 +
230 + econf "${myeconfargs[@]}"
231 +}
232 +
233 +multilib_src_test() {
234 + cd mcs/tests || die
235 + emake check
236 +}
237 +
238 +multilib_src_install() {
239 + default_src_install
240 +
241 + # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora
242 + # mono.spec and http://www.mail-archive.com/mono-devel-list@××××××××××××.com/msg24870.html
243 + # for reference.
244 + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die
245 + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die
246 +}