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 |
-} |