aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeather <Heather@live.ru>2015-08-01 18:24:29 +0400
committerHeather <Heather@live.ru>2015-08-01 18:24:29 +0400
commitfd66d2443a28cec81ad498ab5caa9e3188e4f783 (patch)
tree36524aa74788c5f32018df9f175c127ec3450088 /dev-lang/mono
parentMerge pull request #88 from macro187/mono-4.0.2.5 (diff)
downloaddotnet-fd66d2443a28cec81ad498ab5caa9e3188e4f783.tar.gz
dotnet-fd66d2443a28cec81ad498ab5caa9e3188e4f783.tar.bz2
dotnet-fd66d2443a28cec81ad498ab5caa9e3188e4f783.zip
port mono improvements from pr #88 to mono 4.0.3.13
Diffstat (limited to 'dev-lang/mono')
-rw-r--r--dev-lang/mono/mono-4.0.3.13.ebuild106
1 files changed, 19 insertions, 87 deletions
diff --git a/dev-lang/mono/mono-4.0.3.13.ebuild b/dev-lang/mono/mono-4.0.3.13.ebuild
index 67f224e..e182449 100644
--- a/dev-lang/mono/mono-4.0.3.13.ebuild
+++ b/dev-lang/mono/mono-4.0.3.13.ebuild
@@ -4,8 +4,9 @@
EAPI=5
AUTOTOOLS_PRUNE_LIBTOOL_FILES="all"
+AUTOTOOLS_AUTORECONF=1
-inherit eutils linux-info mono-env flag-o-matic pax-utils autotools-utils
+inherit eutils linux-info mono-env flag-o-matic pax-utils autotools-utils versionator
DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
HOMEPAGE="http://www.mono-project.com/Main_Page"
@@ -16,12 +17,11 @@ SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux"
-#IUSE="nls minimal pax_kernel xen doc debug sgen llvm"
-IUSE="nls minimal pax_kernel xen doc debug sgen"
+IUSE="nls minimal pax_kernel xen doc"
COMMONDEPEND="
!minimal? ( >=dev-dotnet/libgdiplus-2.10 )
- ia64? ( sys-libs/libunwind )
+ ia64? ( sys-libs/libunwind )
nls? ( sys-devel/gettext )
"
RDEPEND="${COMMONDEPEND}
@@ -34,7 +34,8 @@ DEPEND="${COMMONDEPEND}
"
MAKEOPTS="${MAKEOPTS} -j1" #nowarn
-S="${WORKDIR}/${PN}-4.0.3"
+
+S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)"
pkg_pretend() {
# If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling.
@@ -59,113 +60,44 @@ src_prepare() {
sed '/exec "/ i\paxctl-ng -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in"
fi
- # strip-flags and append-flags are from
- # https://devmanual.gentoo.org/eclass-reference/flag-o-matic.eclass/index.html
- # (common functions to manipulate and query toolchain flags)
-
# mono build system can fail otherwise
strip-flags
- # Remove this at your own peril. Mono will barf in unexpected ways.
- append-flags -fno-strict-aliasing
-
- #fix vb targets http://osdir.com/ml/general/2015-05/msg20808.html
+ # Fix VB targets
+ # http://osdir.com/ml/general/2015-05/msg20808.html
epatch "${FILESDIR}/add_missing_vb_portable_targets.patch"
+ # Fix build on big-endian machines
+ # https://bugzilla.xamarin.com/show_bug.cgi?id=31779
+ epatch "${FILESDIR}/${PN}-4.0.2.5-fix-decimal-ms-on-big-endian.patch"
+
+ # Fix build when sgen disabled
+ # https://bugzilla.xamarin.com/show_bug.cgi?id=32015
+ epatch "${FILESDIR}/${PN}-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.patch"
+
autotools-utils_src_prepare
+
epatch "${FILESDIR}/systemweb3.patch"
}
src_configure() {
- # Very handy to specify ./configure argument without modifying .ebuild:
- # EXTRA_ECONF="--enable-foo ......" emerge package
- # see also
- # https://devmanual.gentoo.org/ebuild-writing/functions/src_configure/configuring/index.html
- # https://devmanual.gentoo.org/eclass-reference/autotools.eclass/
-
- # NOTE: We need the static libs for now so mono-debugger works.
- # See http://bugs.gentoo.org/show_bug.cgi?id=256264 for details
- #
- # --without-moonlight since www-plugins/moonlight is not the only one
- # using mono: https://bugzilla.novell.com/show_bug.cgi?id=641005#c3
- #
- # --with-profile4 needs to be always enabled since it's used by default
- # and, otherwise, problems like bug #340641 appear.
- #
- # sgen fails on ppc, bug #359515
local myeconfargs=(
- --enable-system-aot=yes
- --enable-static
- --disable-quiet-build
- --without-moonlight
- --with-libgdiplus=$(usex minimal no installed)
+ --disable-silent-rules
$(use_with xen xen_opt)
--without-ikvm-native
- --with-jit
--disable-dtrace
- --with-profile4
- --with-sgen=$(usex ppc no yes)
$(use_with doc mcs-docs)
- $(use_enable debug)
$(use_enable nls)
)
-# # "included" is default option - https://github.com/mono/mono#configuration-options
-# if use boehm-gc; then
-# myeconfargs+=(
-# --with-gc=included
-# )
-# fi
-
-# this will lead to error
-# make[3]: *** No rule to make target '../../mono/metadata/libmonoruntime-static.a', needed by 'monodis'. Stop.
-# if ! use sgen; then
-# myeconfargs+=(
-# --with-sgen=no
-# )
-# fi
-
-# if use llvm; then
-# myeconfargs+=(
-# --enable-llvm
-# --enable-loadedllvm
-# )
-# fi
-
- elog "myeconfargs=${myeconfargs}"
autotools-utils_src_configure
-
- # FIX for uncompilable 3.4.0 sources
- FF="${WORKDIR}/mono-3.4.0/mcs/tools/xbuild/targets/Microsoft.Portable.Common.targets"
- rm -f $FF
- touch $FF
- echo '<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">' >> $FF
- echo ' <Import Project="..\\Microsoft.Portable.Core.props" />' >> $FF
- echo ' <Import Project="..\\Microsoft.Portable.Core.targets" />' >> $FF
- echo '</Project>' >> $FF
}
src_compile() {
- nonfatal autotools-utils_src_compile || {
- eqawarn "maintainer of this ebuild has no idea why it fails. If you happen to know how to fix it - please let me know"
- autotools-utils_src_compile
- }
+ autotools-utils_src_compile
}
src_test() {
cd mcs/tests || die
emake check
}
-
-src_install() {
- autotools-utils_src_install
-
- elog "Rewriting symlink"
- # you have mono-boehm and mono-sgen executables
- # mono is just a symlink to mono-sgen
- if use sgen; then
- dosym mono-sgen /usr/bin/mono
- else
- dosym mono-boehm /usr/bin/mono
- fi
-}