1 |
commit: 366b8cc77dc32ef44909748af4f00b3d8067992f |
2 |
Author: Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Nov 15 14:17:03 2017 +0000 |
4 |
Commit: Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Nov 15 14:17:03 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=366b8cc7 |
7 |
|
8 |
mono 5.8.0.22 (experimental stuff) |
9 |
|
10 |
dev-lang/mono/mono-5.8.0.22.ebuild | 110 +++++++++++++++++++++++++++++++++++++ |
11 |
1 file changed, 110 insertions(+) |
12 |
|
13 |
diff --git a/dev-lang/mono/mono-5.8.0.22.ebuild b/dev-lang/mono/mono-5.8.0.22.ebuild |
14 |
new file mode 100644 |
15 |
index 0000000..2640c83 |
16 |
--- /dev/null |
17 |
+++ b/dev-lang/mono/mono-5.8.0.22.ebuild |
18 |
@@ -0,0 +1,110 @@ |
19 |
+# Copyright 1999-2017 Gentoo Foundation |
20 |
+# Distributed under the terms of the GNU General Public License v2 |
21 |
+ |
22 |
+EAPI=6 |
23 |
+ |
24 |
+inherit autotools eutils linux-info mono-env flag-o-matic pax-utils versionator multilib-minimal |
25 |
+ |
26 |
+DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter" |
27 |
+HOMEPAGE="http://www.mono-project.com/Main_Page" |
28 |
+SRC_URI="http://download.mono-project.com/sources/${PN}/${P}.tar.bz2" |
29 |
+ |
30 |
+LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL" |
31 |
+SLOT="0" |
32 |
+ |
33 |
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux" |
34 |
+ |
35 |
+IUSE="nls minimal pax_kernel xen doc" |
36 |
+ |
37 |
+COMMONDEPEND=" |
38 |
+ !minimal? ( >=dev-dotnet/libgdiplus-2.10 ) |
39 |
+ ia64? ( sys-libs/libunwind ) |
40 |
+ nls? ( sys-devel/gettext ) |
41 |
+" |
42 |
+RDEPEND="${COMMONDEPEND} |
43 |
+ || ( www-client/links www-client/lynx ) |
44 |
+" |
45 |
+DEPEND="${COMMONDEPEND} |
46 |
+ sys-devel/bc |
47 |
+ virtual/yacc |
48 |
+ pax_kernel? ( sys-apps/elfix ) |
49 |
+ dev-util/cmake |
50 |
+ !dev-lang/mono-basic |
51 |
+" |
52 |
+ |
53 |
+PATCHES=( |
54 |
+ "${FILESDIR}"/${PN}-5.0.1.1-x86_32.patch |
55 |
+) |
56 |
+ |
57 |
+#S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)" |
58 |
+ |
59 |
+pkg_pretend() { |
60 |
+ linux-info_pkg_setup |
61 |
+ if use kernel_linux; then |
62 |
+ if linux_config_exists; then |
63 |
+ linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel" |
64 |
+ else |
65 |
+ # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686 |
66 |
+ ewarn "kernel config not found" |
67 |
+ ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling." |
68 |
+ ewarn "See http://bugs.gentoo.org/261869 for more info." |
69 |
+ fi |
70 |
+ fi |
71 |
+} |
72 |
+ |
73 |
+pkg_setup() { |
74 |
+ mono-env_pkg_setup |
75 |
+} |
76 |
+ |
77 |
+src_prepare() { |
78 |
+ # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't |
79 |
+ # get killed in the build proces when MPROTECT is enable. #286280 |
80 |
+ # RANDMMAP kill the build proces to #347365 |
81 |
+ # use paxmark.sh to get PT/XT logic #532244 |
82 |
+ if use pax_kernel ; then |
83 |
+ ewarn "We are disabling MPROTECT on the mono binary." |
84 |
+ |
85 |
+ # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9 |
86 |
+ sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in" |
87 |
+ fi |
88 |
+ |
89 |
+ # mono build system can fail otherwise |
90 |
+ strip-flags |
91 |
+ |
92 |
+ #TODO: resolve problem with newer binutils |
93 |
+ #bug: https://bugs.gentoo.org/show_bug.cgi?id=600664 |
94 |
+ #append-flags -fPIC |
95 |
+ |
96 |
+ default |
97 |
+ # PATCHES contains configure.ac patch |
98 |
+ eautoreconf |
99 |
+ multilib_copy_sources |
100 |
+} |
101 |
+ |
102 |
+multilib_src_configure() { |
103 |
+ local myeconfargs=( |
104 |
+ --disable-silent-rules |
105 |
+ $(use_with xen xen_opt) |
106 |
+ --without-ikvm-native |
107 |
+ --disable-dtrace |
108 |
+ $(use_with doc mcs-docs) |
109 |
+ $(use_enable nls) |
110 |
+ ) |
111 |
+ |
112 |
+ econf "${myeconfargs[@]}" |
113 |
+} |
114 |
+ |
115 |
+multilib_src_test() { |
116 |
+ cd mcs/tests || die |
117 |
+ emake check |
118 |
+} |
119 |
+ |
120 |
+multilib_src_install() { |
121 |
+ default_src_install |
122 |
+ |
123 |
+ # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora |
124 |
+ # mono.spec and http://www.mail-archive.com/mono-devel-list@××××××××××××.com/msg24870.html |
125 |
+ # for reference. |
126 |
+ rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die |
127 |
+ rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die |
128 |
+} |