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: Sat, 01 Aug 2015 14:26:11
Message-Id: 1438439069.fd66d2443a28cec81ad498ab5caa9e3188e4f783.cynede@gentoo
1 commit: fd66d2443a28cec81ad498ab5caa9e3188e4f783
2 Author: Heather <Heather <AT> live <DOT> ru>
3 AuthorDate: Sat Aug 1 14:24:29 2015 +0000
4 Commit: Heather Cynede <cynede <AT> gentoo <DOT> org>
5 CommitDate: Sat Aug 1 14:24:29 2015 +0000
6 URL: https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=fd66d244
7
8 port mono improvements from pr #88 to mono 4.0.3.13
9
10 dev-lang/mono/mono-4.0.3.13.ebuild | 106 +++++++------------------------------
11 1 file changed, 19 insertions(+), 87 deletions(-)
12
13 diff --git a/dev-lang/mono/mono-4.0.3.13.ebuild b/dev-lang/mono/mono-4.0.3.13.ebuild
14 index 67f224e..e182449 100644
15 --- a/dev-lang/mono/mono-4.0.3.13.ebuild
16 +++ b/dev-lang/mono/mono-4.0.3.13.ebuild
17 @@ -4,8 +4,9 @@
18
19 EAPI=5
20 AUTOTOOLS_PRUNE_LIBTOOL_FILES="all"
21 +AUTOTOOLS_AUTORECONF=1
22
23 -inherit eutils linux-info mono-env flag-o-matic pax-utils autotools-utils
24 +inherit eutils linux-info mono-env flag-o-matic pax-utils autotools-utils versionator
25
26 DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
27 HOMEPAGE="http://www.mono-project.com/Main_Page"
28 @@ -16,12 +17,11 @@ SLOT="0"
29
30 KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux"
31
32 -#IUSE="nls minimal pax_kernel xen doc debug sgen llvm"
33 -IUSE="nls minimal pax_kernel xen doc debug sgen"
34 +IUSE="nls minimal pax_kernel xen doc"
35
36 COMMONDEPEND="
37 !minimal? ( >=dev-dotnet/libgdiplus-2.10 )
38 - ia64? ( sys-libs/libunwind )
39 + ia64? ( sys-libs/libunwind )
40 nls? ( sys-devel/gettext )
41 "
42 RDEPEND="${COMMONDEPEND}
43 @@ -34,7 +34,8 @@ DEPEND="${COMMONDEPEND}
44 "
45
46 MAKEOPTS="${MAKEOPTS} -j1" #nowarn
47 -S="${WORKDIR}/${PN}-4.0.3"
48 +
49 +S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)"
50
51 pkg_pretend() {
52 # If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling.
53 @@ -59,113 +60,44 @@ src_prepare() {
54 sed '/exec "/ i\paxctl-ng -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in"
55 fi
56
57 - # strip-flags and append-flags are from
58 - # https://devmanual.gentoo.org/eclass-reference/flag-o-matic.eclass/index.html
59 - # (common functions to manipulate and query toolchain flags)
60 -
61 # mono build system can fail otherwise
62 strip-flags
63
64 - # Remove this at your own peril. Mono will barf in unexpected ways.
65 - append-flags -fno-strict-aliasing
66 -
67 - #fix vb targets http://osdir.com/ml/general/2015-05/msg20808.html
68 + # Fix VB targets
69 + # http://osdir.com/ml/general/2015-05/msg20808.html
70 epatch "${FILESDIR}/add_missing_vb_portable_targets.patch"
71
72 + # Fix build on big-endian machines
73 + # https://bugzilla.xamarin.com/show_bug.cgi?id=31779
74 + epatch "${FILESDIR}/${PN}-4.0.2.5-fix-decimal-ms-on-big-endian.patch"
75 +
76 + # Fix build when sgen disabled
77 + # https://bugzilla.xamarin.com/show_bug.cgi?id=32015
78 + epatch "${FILESDIR}/${PN}-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.patch"
79 +
80 autotools-utils_src_prepare
81 +
82 epatch "${FILESDIR}/systemweb3.patch"
83 }
84
85 src_configure() {
86 - # Very handy to specify ./configure argument without modifying .ebuild:
87 - # EXTRA_ECONF="--enable-foo ......" emerge package
88 - # see also
89 - # https://devmanual.gentoo.org/ebuild-writing/functions/src_configure/configuring/index.html
90 - # https://devmanual.gentoo.org/eclass-reference/autotools.eclass/
91 -
92 - # NOTE: We need the static libs for now so mono-debugger works.
93 - # See http://bugs.gentoo.org/show_bug.cgi?id=256264 for details
94 - #
95 - # --without-moonlight since www-plugins/moonlight is not the only one
96 - # using mono: https://bugzilla.novell.com/show_bug.cgi?id=641005#c3
97 - #
98 - # --with-profile4 needs to be always enabled since it's used by default
99 - # and, otherwise, problems like bug #340641 appear.
100 - #
101 - # sgen fails on ppc, bug #359515
102 local myeconfargs=(
103 - --enable-system-aot=yes
104 - --enable-static
105 - --disable-quiet-build
106 - --without-moonlight
107 - --with-libgdiplus=$(usex minimal no installed)
108 + --disable-silent-rules
109 $(use_with xen xen_opt)
110 --without-ikvm-native
111 - --with-jit
112 --disable-dtrace
113 - --with-profile4
114 - --with-sgen=$(usex ppc no yes)
115 $(use_with doc mcs-docs)
116 - $(use_enable debug)
117 $(use_enable nls)
118 )
119
120 -# # "included" is default option - https://github.com/mono/mono#configuration-options
121 -# if use boehm-gc; then
122 -# myeconfargs+=(
123 -# --with-gc=included
124 -# )
125 -# fi
126 -
127 -# this will lead to error
128 -# make[3]: *** No rule to make target '../../mono/metadata/libmonoruntime-static.a', needed by 'monodis'. Stop.
129 -# if ! use sgen; then
130 -# myeconfargs+=(
131 -# --with-sgen=no
132 -# )
133 -# fi
134 -
135 -# if use llvm; then
136 -# myeconfargs+=(
137 -# --enable-llvm
138 -# --enable-loadedllvm
139 -# )
140 -# fi
141 -
142 - elog "myeconfargs=${myeconfargs}"
143 autotools-utils_src_configure
144 -
145 - # FIX for uncompilable 3.4.0 sources
146 - FF="${WORKDIR}/mono-3.4.0/mcs/tools/xbuild/targets/Microsoft.Portable.Common.targets"
147 - rm -f $FF
148 - touch $FF
149 - echo '<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">' >> $FF
150 - echo ' <Import Project="..\\Microsoft.Portable.Core.props" />' >> $FF
151 - echo ' <Import Project="..\\Microsoft.Portable.Core.targets" />' >> $FF
152 - echo '</Project>' >> $FF
153 }
154
155 src_compile() {
156 - nonfatal autotools-utils_src_compile || {
157 - eqawarn "maintainer of this ebuild has no idea why it fails. If you happen to know how to fix it - please let me know"
158 - autotools-utils_src_compile
159 - }
160 + autotools-utils_src_compile
161 }
162
163 src_test() {
164 cd mcs/tests || die
165 emake check
166 }
167 -
168 -src_install() {
169 - autotools-utils_src_install
170 -
171 - elog "Rewriting symlink"
172 - # you have mono-boehm and mono-sgen executables
173 - # mono is just a symlink to mono-sgen
174 - if use sgen; then
175 - dosym mono-sgen /usr/bin/mono
176 - else
177 - dosym mono-boehm /usr/bin/mono
178 - fi
179 -}