commit:     fd66d2443a28cec81ad498ab5caa9e3188e4f783
Author:     Heather <Heather <AT> live <DOT> ru>
AuthorDate: Sat Aug  1 14:24:29 2015 +0000
Commit:     Heather Cynede <cynede <AT> gentoo <DOT> org>
CommitDate: Sat Aug  1 14:24:29 2015 +0000
URL:        https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=fd66d244

port mono improvements from pr #88 to mono 4.0.3.13

 dev-lang/mono/mono-4.0.3.13.ebuild | 106 +++++++------------------------------
 1 file 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
-}

Reply via email to