Gentoo Archives: gentoo-commits

From: Heather Cynede <cynede@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/dotnet:master commit in: dev-lang/mono/
Date: Wed, 26 Feb 2014 10:30:47
Message-Id: 1393410910.1fc628e3b2e95157522e241db6e742fd9ddcde35.cynede@gentoo
1 commit: 1fc628e3b2e95157522e241db6e742fd9ddcde35
2 Author: Heather <Heather <AT> live <DOT> ru>
3 AuthorDate: Wed Feb 26 10:35:10 2014 +0000
4 Commit: Heather Cynede <cynede <AT> gentoo <DOT> org>
5 CommitDate: Wed Feb 26 10:35:10 2014 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/dotnet.git;a=commit;h=1fc628e3
7
8 mono 3.2.8
9
10 ---
11 dev-lang/mono/mono-3.2.8.ebuild | 119 ++++++++++++++++++++++++++++++++++++++++
12 1 file changed, 119 insertions(+)
13
14 diff --git a/dev-lang/mono/mono-3.2.8.ebuild b/dev-lang/mono/mono-3.2.8.ebuild
15 new file mode 100644
16 index 0000000..f07a605
17 --- /dev/null
18 +++ b/dev-lang/mono/mono-3.2.8.ebuild
19 @@ -0,0 +1,119 @@
20 +# Copyright 1999-2014 Gentoo Foundation
21 +# Distributed under the terms of the GNU General Public License v2
22 +# $Header: $
23 +
24 +EAPI="5"
25 +AUTOTOOLS_PRUNE_LIBTOOL_FILES="all"
26 +
27 +inherit eutils linux-info mono-env flag-o-matic pax-utils autotools-utils
28 +
29 +DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
30 +HOMEPAGE="http://www.mono-project.com/Main_Page"
31 +SRC_URI="http://download.mono-project.com/sources/${PN}/${P}.tar.bz2"
32 +
33 +LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL"
34 +SLOT="0"
35 +
36 +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux"
37 +
38 +IUSE="nls minimal pax_kernel xen doc debug"
39 +
40 +COMMONDEPEND="
41 + !dev-util/monodoc
42 + !minimal? ( >=dev-dotnet/libgdiplus-2.10 )
43 + ia64? ( sys-libs/libunwind )
44 + nls? ( sys-devel/gettext )
45 +"
46 +RDEPEND="${COMMONDEPEND}
47 + || ( www-client/links www-client/lynx )
48 +"
49 +DEPEND="${COMMONDEPEND}
50 + sys-devel/bc
51 + virtual/yacc
52 + pax_kernel? ( sys-apps/elfix )
53 +"
54 +
55 +pkg_pretend() {
56 + # If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling.
57 + # See http://bugs.gentoo.org/261869 for more info."
58 + CONFIG_CHECK="SYSVIPC"
59 + use kernel_linux && check_extra_config
60 +}
61 +
62 +pkg_setup() {
63 + linux-info_pkg_setup
64 + mono-env_pkg_setup
65 +}
66 +
67 +src_prepare() {
68 + # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't
69 + # get killed in the build proces when MPROTEC is enable. #286280
70 + # RANDMMAP kill the build proces to #347365
71 + if use pax_kernel ; then
72 + ewarn "We are disabling MPROTECT on the mono binary."
73 +
74 + # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9
75 + sed '/exec "/ i\paxctl-ng -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in"
76 + fi
77 +
78 + # mono build system can fail otherwise
79 + strip-flags
80 +
81 + # Remove this at your own peril. Mono will barf in unexpected ways.
82 + append-flags -fno-strict-aliasing
83 +
84 + autotools-utils_src_prepare
85 +}
86 +
87 +src_configure() {
88 + # NOTE: We need the static libs for now so mono-debugger works.
89 + # See http://bugs.gentoo.org/show_bug.cgi?id=256264 for details
90 + #
91 + # --without-moonlight since www-plugins/moonlight is not the only one
92 + # using mono: https://bugzilla.novell.com/show_bug.cgi?id=641005#c3
93 + #
94 + # --with-profile4 needs to be always enabled since it's used by default
95 + # and, otherwise, problems like bug #340641 appear.
96 + #
97 + # sgen fails on ppc, bug #359515
98 + local myeconfargs=(
99 + --enable-system-aot=yes
100 + --enable-static
101 + --disable-quiet-build
102 + --without-moonlight
103 + --with-libgdiplus=$(usex minimal no installed)
104 + $(use_with xen xen_opt)
105 + --without-ikvm-native
106 + --with-jit
107 + --disable-dtrace
108 + --with-profile4
109 + --with-sgen=$(usex ppc no yes)
110 + $(use_with doc mcs-docs)
111 + $(use_enable debug)
112 + $(use_enable nls)
113 + )
114 +
115 + autotools-utils_src_configure
116 +}
117 +
118 +src_compile() {
119 + nonfatal autotools-utils_src_compile || {
120 + eqawarn "maintainer of this ebuild has no idea why it fails. If you happen to know how to fix it - please let me know"
121 + autotools-utils_src_compile
122 + }
123 +}
124 +
125 +src_test() {
126 + cd mcs/tests || die
127 + emake check
128 +}
129 +
130 +src_install() {
131 + autotools-utils_src_install
132 +
133 + # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora
134 + # mono.spec and http://www.mail-archive.com/mono-devel-list@××××××××××××.com/msg24870.html
135 + # for reference.
136 + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die
137 + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die
138 +}