summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Johanson <latexer@gentoo.org>2005-04-14 23:34:13 +0000
committerPeter Johanson <latexer@gentoo.org>2005-04-14 23:34:13 +0000
commitacb37c4fb1ddf77232010caa090b19b0bc6bc5cb (patch)
tree271409184f42fbce4165e982ff5cfb54c6ca6c7f /dev-lang
parentbumped to nvu-1.0PR (diff)
downloadgentoo-2-acb37c4fb1ddf77232010caa090b19b0bc6bc5cb.tar.gz
gentoo-2-acb37c4fb1ddf77232010caa090b19b0bc6bc5cb.tar.bz2
gentoo-2-acb37c4fb1ddf77232010caa090b19b0bc6bc5cb.zip
Add a fix for amd64 as exposed by muine. See bug #88041.
(Portage version: 2.0.51.19)
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/mono/ChangeLog8
-rw-r--r--dev-lang/mono/Manifest3
-rw-r--r--dev-lang/mono/files/digest-mono-1.1.6-r11
-rw-r--r--dev-lang/mono/files/mono-1.1.6-r42300.diff36
-rw-r--r--dev-lang/mono/mono-1.1.6-r1.ebuild95
5 files changed, 142 insertions, 1 deletions
diff --git a/dev-lang/mono/ChangeLog b/dev-lang/mono/ChangeLog
index fc91c3aed78c..14d4981c7515 100644
--- a/dev-lang/mono/ChangeLog
+++ b/dev-lang/mono/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-lang/mono
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/ChangeLog,v 1.40 2005/04/08 00:08:09 latexer Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/ChangeLog,v 1.41 2005/04/14 23:34:13 latexer Exp $
+
+*mono-1.1.6-r1 (14 Apr 2005)
+
+ 14 Apr 2005; Peter Johanson <latexer@gentoo.org>
+ +files/mono-1.1.6-r42300.diff, +mono-1.1.6-r1.ebuild:
+ Add a fix for amd64 as exposed by muine. See bug #88041.
08 Apr 2005; Peter Johanson <latexer@gentoo.org> mono-1.1.4.ebuild,
mono-1.1.5-r1.ebuild, mono-1.1.6.ebuild:
diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest
index 21caec253b79..163e4c465deb 100644
--- a/dev-lang/mono/Manifest
+++ b/dev-lang/mono/Manifest
@@ -1,3 +1,4 @@
+MD5 5d9e60cb8f499fd83b9726d209ebf598 mono-1.1.6-r1.ebuild 2381
MD5 51e2165635b98c419673d07414036bf9 mono-1.1.5-r1.ebuild 2341
MD5 c69ad4a401355c5a7f29cb0f2de55ae2 mono-1.0.5-r5.ebuild 3931
MD5 e4d80474cce3145601e84a16325b3aaa mono-1.0.6.ebuild 3908
@@ -14,6 +15,8 @@ MD5 a2335e2cc129b74366a752d90d30ef05 files/digest-mono-1.1.6 64
MD5 ca0f98ff16ba20d2ff9af83580ad0db8 files/mono-1.1.5-r42108.diff 496
MD5 9e2e1b58a310e4236f757e683b71c879 files/digest-mono-1.0.5-r5 127
MD5 c9963606d2ccf69b09fdd7b4fc247d78 files/digest-mono-1.1.5-r1 64
+MD5 a2335e2cc129b74366a752d90d30ef05 files/digest-mono-1.1.6-r1 64
MD5 48284ee0228c56980a839fb245258db7 files/mcs-1.0.5-pathfix.diff 628
MD5 08f6767a7160565ad6796eee60e412cb files/mono-1.1.5-r42122.diff 1037
MD5 046e84a24a93a7c5c1b6a6c4e8cf3fed files/mono-1.1.5-icu-linking.diff 468
+MD5 b891d116e888db40b523dfa97fad8018 files/mono-1.1.6-r42300.diff 1572
diff --git a/dev-lang/mono/files/digest-mono-1.1.6-r1 b/dev-lang/mono/files/digest-mono-1.1.6-r1
new file mode 100644
index 000000000000..d5d81037e76d
--- /dev/null
+++ b/dev-lang/mono/files/digest-mono-1.1.6-r1
@@ -0,0 +1 @@
+MD5 d5097b149effa0b248a4398fe630bd30 mono-1.1.6.tar.gz 13752717
diff --git a/dev-lang/mono/files/mono-1.1.6-r42300.diff b/dev-lang/mono/files/mono-1.1.6-r42300.diff
new file mode 100644
index 000000000000..8688bb0fb8ac
--- /dev/null
+++ b/dev-lang/mono/files/mono-1.1.6-r42300.diff
@@ -0,0 +1,36 @@
+diff -aur mono-1.1.6-orig/mono/mini/cpu-amd64.md mono-1.1.6/mono/mini/cpu-amd64.md
+--- mono-1.1.6-orig/mono/mini/cpu-amd64.md 2005-03-30 16:26:18.000000000 -0500
++++ mono-1.1.6/mono/mini/cpu-amd64.md 2005-04-11 23:12:10.000000000 -0400
+@@ -289,8 +289,8 @@
+ storei4_membase_imm: dest:b len:13
+ storei4_membase_reg: dest:b src1:i len:9
+ storei8_membase_imm: dest:b len:18
+-storer4_membase_reg: dest:b src1:f len:14
+-storer8_membase_reg: dest:b src1:f len:9
++storer4_membase_reg: dest:b src1:f len:15
++storer8_membase_reg: dest:b src1:f len:10
+ load_membase: dest:i src1:b len:15
+ loadi1_membase: dest:i src1:b len:9
+ loadu1_membase: dest:i src1:b len:9
+diff -aur mono-1.1.6-orig/mono/mini/mini-amd64.c mono-1.1.6/mono/mini/mini-amd64.c
+--- mono-1.1.6-orig/mono/mini/mini-amd64.c 2005-03-30 16:26:18.000000000 -0500
++++ mono-1.1.6/mono/mini/mini-amd64.c 2005-04-11 23:12:10.000000000 -0400
+@@ -5383,11 +5383,13 @@
+ patch_info->type = MONO_PATCH_INFO_INTERNAL_METHOD;
+ patch_info->ip.i = code - cfg->native_code;
+
+- if (mono_compile_aot)
++ if (mono_compile_aot) {
+ amd64_mov_reg_membase (code, GP_SCRATCH_REG, AMD64_RIP, 0, 8);
+- else
+- amd64_set_reg_template (code, GP_SCRATCH_REG);
+- amd64_call_reg (code, GP_SCRATCH_REG);
++ amd64_call_reg (code, GP_SCRATCH_REG);
++ } else {
++ /* The callee is in memory allocated using the code manager */
++ amd64_call_code (code, 0);
++ }
+
+ amd64_mov_reg_imm (buf, AMD64_RSI, (code - cfg->native_code) - throw_ip);
+ while (buf < buf2)
+Only in mono-1.1.6/mono/mini: mini-amd64.c.orig
diff --git a/dev-lang/mono/mono-1.1.6-r1.ebuild b/dev-lang/mono/mono-1.1.6-r1.ebuild
new file mode 100644
index 000000000000..6cd80b8d966c
--- /dev/null
+++ b/dev-lang/mono/mono-1.1.6-r1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/mono-1.1.6-r1.ebuild,v 1.1 2005/04/14 23:34:13 latexer Exp $
+
+inherit eutils mono flag-o-matic
+
+DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
+HOMEPAGE="http://www.go-mono.com/"
+SRC_URI="http://www.go-mono.com/archive/${PV}/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 LGPL-2 X11)"
+SLOT="0"
+KEYWORDS="~x86 ~ppc ~amd64"
+IUSE="nptl icu"
+
+DEPEND="virtual/libc
+ >=dev-libs/glib-2.0
+ !<dev-dotnet/pnet-0.6.12
+ nptl? ( >=sys-devel/gcc-3.3.5-r1 )
+ icu? ( >=dev-libs/icu-2.6.2 )
+ ppc? (
+ >=sys-devel/gcc-3.2.3-r4
+ >=sys-libs/glibc-2.3.3_pre20040420
+ )"
+RDEPEND="${DEPEND}
+ >=dev-dotnet/libgdiplus-1.1.4
+ dev-util/pkgconfig
+ dev-libs/libxml2"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ sed -i "s: -fexceptions::" ${S}/libgc/configure.host || die
+
+ # Fix munging of Unix paths
+ epatch ${FILESDIR}/${PN}-1.1.5-pathfix.diff || die
+
+ # Fix for linking to ICU
+ epatch ${FILESDIR}/${PN}-1.1.5-icu-linking.diff || die
+
+ # fix from SVN.
+ epatch ${FILESDIR}/${PN}-1.1.5-r42108.diff || die
+
+ # Fix amd64 bug #88041
+ epatch ${FILESDIR}/${PN}-1.1.6-r42300.diff || die
+
+ # Ugly sed to replace windows path with *nix equivalent
+ for file in $(find ${S}/mcs/nunit20 -name AssemblyInfo.cs)
+ do
+ sed -i "s:\.\.\\\\\\\\:../:g" "${file}"
+ done
+
+ # Fix MONO_CFG_DIR for signing
+ sed -i \
+ "s:^\t\(MONO_PATH.*)\):\tMONO_CFG_DIR='${D}/etc/' \1:" \
+ ${S}/mcs/build/library.make || die
+
+ libtoolize --copy --force || die "libtoolize failed"
+ aclocal || die "aclocal failed"
+ autoconf || die "autoconf failed"
+ automake || die "automake failed"
+}
+
+src_compile() {
+ strip-flags
+ local myconf="--with-preview=yes"
+
+ if use nptl && have_NPTL
+ then
+ myconf="${myconf} --with-tls=__thread"
+ else
+ myconf="${myconf} --with-tls=pthread"
+ fi
+
+ econf ${myconf} $(use_with icu) || die
+ emake -j1 || die "MONO compilation failure"
+}
+
+
+src_install() {
+ make DESTDIR=${D} install || die
+
+ # Fix incorrect path to makecert EXE file
+ sed -i "s:makecert.exe:MakeCert.exe:" ${D}/usr/bin/makecert || die
+
+ # monoresgen script is broken. It should be symlink to /usr/bin/resgen
+ rm ${D}/usr/bin/monoresgen || die
+ dosym /usr/bin/resgen /usr/bin/monoresgen
+
+ dodoc AUTHORS ChangeLog NEWS README
+ docinto docs
+ dodoc docs/*
+ docinto libgc
+ dodoc libgc/ChangeLog
+}